EDN China > 设计实例 > 医疗电子 > 个人健康保健设备 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

双向透明串口扩展技术在嵌入式系统中的实现

21ic 东南大学 徐明 堵国樑?? 2010年03月24日 ?? 收藏0

  嵌入式多参数监护仪系统中一般包括多个独立的硬件采集模块,每个硬件采集模块分别完成对人体的心电、呼吸率、体温、血压和血氧饱和度等生理参数的采集,并通过其串口接收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所示。

串口扩展模块拓扑图

  1.2硬件设计方案

  串口扩展模块主要由2部分组成:单片机AT89C2051及模拟开关CD4052、双4通道模拟开关。

  串口扩展模块拓扑结构图如图2所示,其中虚线框内为串口扩展模块的主要部分。

串口扩展模块拓扑结构图

  2 通信协议设计

  2.1数据由用户设备发送到HOST端

  由于各模块是分时复用的,为了避免用户设备之间发生竞争,需要AT89C2051对4个用户设备通道进行仲裁,本文采用以下方案。

  4个用户设备各用一根I/O口线分别与AT89C2051的P1.0~P1.3引脚相连,同时还与一个4输入或非门相连,将某根或某几根I/O口线置高电平并经过该4输入或非门来触发中断,通知AT89C2051有用户设备请求向HOST终端发送数据,同时AT89C2051进行用户设备号查询。AT89C2051收到请求信号后,首先判断 HOST端与其他用户设备之间的数据发送是否结束,若结束,则根据仲裁机制通过与各用户设备相连的P1.4~P1.7引脚置高给出应答响应信号,同时 AT89C2051根据中断查询到的用户设备号对P3.4和P3.5引脚进行设置来控制CD4052模拟开关选通对应通道,用户设备收到应答响应信号后就开始发送数据;若未结束,则屏蔽此次中断,直到数据发送结束才开中断。用户设备数据发送结束时则将通过一个4输入或非门来触发中断,通知AT89C2051此次数据发送结束。在响应数据发送请求时会涉及到多个用户设备请求,从而需要AT89C2051进行仲裁。仲裁机制如下:心电和血氧模块是50 ms定时发送数据,而血压模块需要HOST端发来启动测量命令后才向HOST端发送血压数据,因此需要将血压模块发送数据的请求设置为较高优先级,才能保证血压数据正确及时地发送到HOST端,而心电和血氧模块设置为低优先级轮流发送。


上一页12下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

串口扩展? 嵌入式? 监护仪?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈