双向透明串口扩展技术在嵌入式系统中的实现
嵌入式多参数监护仪系统中一般包括多个独立的硬件采集模块,每个硬件采集模块分别完成对人体的心电、呼吸率、体温、血压和血氧饱和度等生理参数的采集,并通过其串口接收HOST端的控制信息,定时向HOST端发送采集数据。
本嵌入式多参数监护仪HOST端使用AT91RM9200处理器,该处理器具有4个通用同步/异步接收/发送器(USART),其中一个是DEBUG串口,但它们都是分时复用的[1]。为了使HOST端更好地与各采集模块进行通信,必须解决其串口扩展的问题。
目前比较通用的串口扩展方案主要有2种。一种通过硬件实现,使用多串口ARM/MCU或专用串口扩展芯片,可供选择的串口扩展芯片有TI公司开发的 16C55X系列串口扩展芯片和国腾公司开发的GM812X系列串口扩展芯片等。TI公司的16C55X系列芯片通过并行口扩展串行口,功能比较强大、通信速度高,但控制复杂,同时价格较高,主要应用于PC机串口扩展。另一种串口扩展方案通过软件实现,但用软件模拟串口存在缺点:(1)采样次数低,一般只能做到2次/bit,这样,数据的正确性就难以保证;(2)不能实现高波特率通信,软件模拟串口一般不能实现高于4 800 b/s的波特率[2-3]。
不管是采用硬件还是软件方案,大多数串口扩展产品几乎都是单向传输,不够透明化[4-7]。本文根据参与的多参数监护仪项目的需要,提出一种双向透明的串口扩展设计方案,并通过了实验验证。
1硬件设计
1.1串口扩展模块拓扑图
在设计中,串口扩展模块可以外接4个用户设备,每个用户设备都可以在与HOST端进行双向数据传输,采用分时复用技术,即在任一时刻,最多仅有一个串口与HOST端连接,串口扩展模块负责4个通道的切换/选择。双方通过硬件和软件机制进行仲裁。如图1所示。
评论