基于PowerPC内核MPC565的多串口通信扩展设计
摘要:本文设计了一种基于PowerPC嵌入式内核MPC565和串口模块EMM-8M-XT的多串口通信系统,给出了系统总体的硬件架构和软件设计流程,详述了串口卡跳线及寄存器的设置方法,实现了8个RS232/422/485工作模式可任意配置的全双工通信串口。MPC565通过PC/104总线对串口卡进行读写控制,体积小,使用方便。经大量长时间的通信测试和考机验证,串口系统工作稳定,实时性好,抗干扰性强,在不同应用环境中采用特定通信模式能有效保证信息交换的可靠性,适用于具有多路串行数据传输需求的复杂控制场合。
关键词:PowerPC;嵌入式系统;多串口通信;PC/104总线
在一些复杂的控制领域中,控制计算机往往需要与多个终端进行信息的交互通信。但由于工程现场环境的限制和应用设备的日渐增多,近距离集中式的通信管理已不再具有普遍适用性。
随着远程集散控制理念的出现,串行数据通信因其结构简单、设计方便、价格低廉、占用资源少、传输距离远等优势而得到了广泛普及。而近年来串口通信正朝着带宽、速度、稳定性逐渐增加的方向发展,利用多个串口进行信号采集或数据传输为多设备分布式布局提供了可能。但一般的处理器板卡只有一至两个RS232串口,难以满足控制系统对串口数量和数据传输过程中抗干扰性能的要求,因此需要对串口进行扩展设计。
传统的串口扩展设计多以微控制器与串口芯片在板集成的方式实现,需单独设计其控制电路和外围接口电路,周期较长,灵活性低,且稳定性和抗干扰性仍有待验证。MPC565与EMM串口卡技术相对更加成熟,各性能指标已经过长期的实践验证,同样具有的PC/104总线结构使其能够以简单的插拔方式实现串口功能的扩展,使用灵活、方便。因此本文结合以PowerPC嵌入式处理器MPC565为核心的飞控计算机开发平台,介绍一种多串口通信在实际工程应用中的扩展方法。利用MPC565与EMM-8M-XT组成串口扩展系统,通过简单的搭积木方式实现8个通信方式可配置的串口扩展。
1 系统硬件结构设计
本文涉及的内容已成功应用于某型无人机飞控系统的预研开发。众所周知,无人机飞行控制系统是个典型的多输入、多输出系统,其多外设平台大多采用分布式布局,串行通信逐渐成为了各传感器及任务设备与飞控计算机内核之间的主要通信方式,高质量的数据传输尤其重要。
本文中飞控计算机内核采用具有PC/104结构的MPC565板卡。PowerPC系列的MPC565处理器具有较高的硬件稳定性和抗干扰性,工作频率可达50 MHz以上,在无操作系统的情况下也能可靠、灵活的直接操作硬件,运算处理能力强大,可靠性高,工作温度范围-40℃~+85℃,同时应用PC/104总线结构还可以外接串口、A/D、D/A、I/O等功能组件,为其提供了方便的资源扩展能力,且有利于功能的模块化集成。
MPC565可通过简单的插拔方式与同样具有PC/104结构的EMM-8M-XT实现串口功能的扩展。EMM-8M-XT串口板提供8个通信模式可配置的串行接口,分别连接磁罗盘、大气机、GPS、惯导等设备,完成不同的任务功能。扩展串口通信后飞控系统结构如图1所示。
![](../img/eep/emb/emb-46892he2cbybs2az.jpg)
本文应用的MPC565板卡设有3个RS232通信串口,主要用于程序装订和飞控参数的测试,因此需额外的串口模块来满足飞控计算机的基本功能。这里选用DIAMOND公司的EMM-8M-XT串口模块实现串口功能的扩展。
EMM-8M-XT串口模块集成了两个高性能的16C654控制芯片,8个独立的串口通道各有64字节的接收缓冲器和发送缓冲器,自动软硬件流程控制,最高配置波特率可达1.5 Mb/s,有10个不同的中断优先级可选。每个通道的状态可以通过CPU的操作读取寄存器。三态输出为双向数据总线和控制总线提供TTL驱动能力、优先级中断系统控制、可编程的串行接口特性。串口基地址、中断号和通信模式(RS232/422/485可选)亦可通过硬件跳线灵活配置,如图2和图3所示。
![](../img/eep/emb/emb-468931zjgqde5h12.jpg)
为防止与其他PC/104结构的板卡冲突,在这里把串口板的基地址设为200H,port1~port8共用3号中断。基地址跳线J9的A、B、C、D定义如图4所示,“In”表示放置跳线,“Out”表示不放置跳线。每个串行口的基地址和中断号信息均保存在EEPROM中,上电后板卡从中读取这些数据,自动完成基地址和中断号的初始配置。
![](../img/eep/emb/emb-46894qemfezrckew.jpg)
2 应用软件设计
应用软件采用C语言编程,可读性好,主要分为串口板初始化软件和串口中断服务软件。EMM-8M-XT的8个串口相对独立。除共用中断级外,MPC565可对每个串口的特性进行单独控制,因此波特率、数据格式、缓冲区深度等需通过初始化软件依次设置。8串口初始化流程和中断处理流程如图5所示。
![](../img/eep/emb/emb-46895qoup0etfva4.jpg)
用中断方式实现芯片功能
PowerPC 嵌入式系统 多串口通信 PC 104总线 相关文章:
- 基于PowerPC和嵌入式Linux的VPN网关设计(11-01)
- μC/OS的任务调度实现方法及其在PowerPC上的优化(10-29)
- 基于PowerPC和Linux的VPN网关设计(01-14)
- uCOS-II优先级任务调度在PowerPC上的移植和优化(08-15)
- 全新EDK8.1简化嵌入式设计(06-04)
- ARM DSP X86 POWERPC MIPS FPGA简介(11-11)