微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 民机驾驶舱人为因素生理体征数据采集系统设计

民机驾驶舱人为因素生理体征数据采集系统设计

时间:06-26 来源:电子技术应用 点击:

3 软件设计

系统有三部分共五个处理器:采集模块的ARM7处理器、CC2430发送节点和接收节点的8051单片机、接收模块的ARM9以及服务器的CPU。

采集模块通过接收传感器对AD的原始数据进行计算和整理,按照一定的数据通信协议通过UART口传递到CC2430发送节点进行缓存,再组包通过Zigbee网络以无线网络数据协议发送到接收模块的接收节点,进行二次缓存。接收模块的ARM也是通过UART和CC2430接收节点按照相互的通信协议进行通信取得这些数据,经过进一步的融合和过滤,最终通过TCP/IP协议发送到远程服务器进行显示、存储、分析等。

由此可见,贯穿于整个系统软件的是各个模块接口间的数据协议,通过一种有效和风格统一的协议,能大大提高数据通信的效率。

3.1 采集模块程序

接收模块通过电极片和导联得到模拟数据,并经过放大电路、AD和传感器等得到量化并具有一定意义的数字信号。ARM7将这些数字信号进行计算预处理,对数据进行简单的组包,以适应UART口的传输。这些数据包括7通道ECG心电数据、1通道心率数据、1通道RESP呼吸率、2通道体温数据。共有3种数据包:心电数据、体温和呼吸率数据、导联连接和系统状态数据。平均每个数据包为8 B,数据率为16 384 b/s,实时不间断地输出。这样的数据率可以保证每秒有224组左右心电数据、20~30组体温数据和状态数据。ARM7和CC2430之间UART的波特率设置为8 400 b/s,已满足数据带宽,包括数据传输延时和处理延时。

为保证传感器数据的实时性和完整性,ARM7输出的数据一般带有一定的冗余,所以CC2430接收到数据后要进行数据融合以降低数据量。由于人体体温、心率数据短期变化不明显,所以可以降低实时性,因此该类型数据一次发送周期内只需传输一组即可。而每组7通道心电数据中,3个通道可以通过其他4通道数值计算得出,因此只需保留4通道数值即可。

采集模块的CC2430充当Zigbee终端设备,因此初始化时,应该根据接收模块的Zigbee协调器所定期发出的同步命令进行注册,接入Zigbee星型无线传感器网络,然后等待接收端协调器发出的体征数据发送命令。当命令传送时,立刻将缓存中的数据通过Zigbee无线传感器网络发送到接收模块的CC2430节点。

在Zigbee的帧格式中,体征数据包含在MAC协议数据单元中,而MAC协议数据单元又由MAC头、MAC有效负荷、MAC尾组成,最大长度为127 B,如果使用长地址,MAC头和MAC尾要占掉25 B,而短地址只需要9 B。在本系统中,考虑到体征数据的数据量较大,而节点数较少,所以应该采取短地址以增加通信效率,因此每次传输体征数据118 B,所以发送时需要进行分帧。

3.2 接收端CC2430程序

接收端的CC2430模块作为Zigbee的协调器,即星型网络的中心,与生理体征采集模块的CC2430类似,主要完成UART通信和Zigbee通信两项任务。

接收端CC2430初始化时建立一个Zigbee网络,并且定期搜寻是否有新接入的Zigbee终端设备,若有则通知其注册。考虑到数据量,终端设备节点的上限为4个。以轮询的方式向已注册的节点终端发送传输命令,得到各个节点所连接的生理体征采集模块的数据,并写入缓存,同时打上时间戳,完成一次接收周期。

另外,CC2430以中断方式接收ARM端UART传来的命令,并且将缓存数据通过UART返回给ARM系统。

3.3 ARM系统板程序

ARM系统板的软件架构以Linux为主,主要分成内核层、中间层以及应用层。

内核层包括设备驱动、内核API以及简单的文件系统;中间层包括一些图形和网络通信的开源库,如QT和JRTPLib等;应用层运行核心的数据处理程序。

ARM系统数据处理程序通过基于TCP/IP协议的以太网接收远程服务器的命令,对ARM接收端的CC2430发出指令,以控制和接收体征数据采集模块通过Zigbee无线传感网络发送的生理体征数据,并且对数据做进一步的融合和筛选,降低数据流量,加强针对性,按照数据协议加包加尾,发送到远程服务器。ARM系统需要定期与CC2430进行时间校对,以确保CC2430在接收数据时打的时间戳尽可能保持时间同步。

另外,ARM系统还可以提供一个简单的用户界面,显示这些体征数据波形和数值,并且接收用户的指令,从而使ARM即使和远程服务器没有相连的情况,也可以脱离服务器进行简单的交互。

3.4 远程服务器数据处理程序

由于本系统中远程服务器的功能主要是采集,所以数据处理在于简单的统计分析,设计数据库存储功能,并且为上层应用模块提供处理接口,同时设计用户界面显示结果和接收用户输入的指令。

远程服务器的核心是网络编程,通过基于TCP/IP的数据通信协议控制ARM完成最终的体征数据采集传输,并且将这些数据在界面上画图显示波形,同时将数据存入数据库,并提供数据处理和分析的底层接口。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top