基于PC/104模块的多串口通信扩展设计与工程实现
2005年2月A
摘要:应用PC/104模块486DX和EMM-8M-XT实现多串口通信。扩展后,10个串口可以同时进行全双工通信。结合工程实例,给出系统结构、软硬件设计方法以及多串口通信在DOS平台上的典型应用。
关键词:多串口扩展;软硬件设计;工程实现
2004年12月31日收到修改稿。
引言
串行通信方式具有使用方便、传输可靠、信号线数量少等优点,因而倍受青睐。
基于PC/104模块的嵌入式系统,串行通信是常用的通信方式之一。通过串行数据端口,可以实现PC/104与PC机以及PC/104模块之间的通信。无人机飞控系统是一个典型的多外设平台,因此工程设计中必须解决多串行口数据通信问题,完成数据采集或信号传输。在其它工程应用中,研究多串口数据通信也尤其重要。应用PC/104模块在嵌入式系统中扩展8个以上的串行端口,并同时进行双工数据通信是本文要重点讨论。
系统结构及硬件设计
随着技术的进步,PC/104结构的嵌入式模块可以根据实际的要求通过简单的搭积木的方法进行系统扩展,其丰富的功能模块为设计人员带来了诸多方便。在无人机飞行控制系统中,部分传感器、测控终端、任务设备通常采用串行数据接口。本文将结合某型无人机飞控系统开发平台,介绍应用486DX和EMM-8M-XT嵌入式模块,实现多串口数据通信扩展设计的方法和工程应用情况。
某型无人机飞控系统结构如图1所示。实际使用中,CPU板和串口板通过PC104总线栈接,根据使用需要还外扩了AD/DA、DIO等其它功能模块。本文仅对与串口相关的模块进行介绍。系统CPU板自带两个串行口(P9~P10),外扩的串口板提供8个串行口(P1~P8),分别完成不同的数据通信功能。各口具体功能及通信模式见表1。
表1 串口工作模式及功能
串口号
工作模式
功 能
P1、P2
RS422
与测控设备数据通信用
P3
RS422
接收GPS信息,发送初始信息
P4
RS485
采集航向角数据
P5
RS485
采集高度、空速数据
P6~P8
RS422
与3台任务设备进行数据通信
P9
RS232
CPU板电子盘程序更新用
P10
RS232
飞控系统监测、航路装定
图1 系统结构框图
486DX模块
486DX是一种高度集成、具有自栈结构、与IBM-PC/AT兼容的PC/104 CPU模块。采用增强型的80486嵌入式中央处理器INTEL DX4作为核心元件,工作频率33~133MHz,4~16M字节的在板DRAM。
486DX模块在板包含了与PC/AT兼容的DMA控制器、8259类型的中断控制器及定时器,带扩展的工业标准ROM-BIOS及键盘喇叭接口。在板的外部接口包括一个PC/AT兼容的标准双向并行口、两个16550兼容的RS232串行通讯接口、一个用外接后备电池支持实时时钟,应用EEPROM存储BIOS参数设置,省去了大多数硬件配置跳线。该板功耗极低,典型值为2.8W,外部电源要求为+5V,可以宽温工作。
本文设计的系统主要应用该模块的两个串行端口,端口1(P9)用于实现模块电子盘上用户程序的在线改写,端口2(P10)主要用于飞控系统参数的实时监测和航路装定。考虑到实际设计的系统中串口设备多,需要外扩串口模块实现多串口通信。这里选用DIAMOND公司的EMM-8M-XT串口通信模块来实现。
EMM-8M-XT模块扩展设计
EMM-8M-XT串口通信模块,在板集成了两个单元高性能的16C554控制芯片(相当于8个16C550),可以达到更高的通讯速率而无需占用过多的CPU资源,模块的主要特点如下:
评论