×
嵌入式 > 集成电路 > 详情

基于国产CPU的嵌入式医疗电子无线网络设计(二)

发布时间:2020-05-25 发布时间:
|

3 软件和硬件设计

  3. 1 硬件结构

  图1 中的硬件主要包括CK610 开发板.CC2591和

  CK610 为杭州中天微系统有限公司生产的CPU,主要特性有: 八级流水线; 双发射超标量流水线技术,提升性能近50%; 非阻塞指令发射。投机执行和按序退休; 返回地址预测( 4 – entry returnstack) ; 哈佛结构数据/指令Cache 和SPM,大小可配置; 数据Cache Write – back /Write – through 动态可配置; 内部双通用数据总线; AHB /AXI 总线接口,和可扩展的协处理器接口。

  CC2520 为TI 公司生产的一款低功耗射频芯片,主要特性有: 发射功率可达到5dBm; 数据传输速率最大可达250kbps; 工作在2. 4GHz ISM 频段;4 – 线SPI; 6 个可配置

  CC2591 为TI 公司生产的一款高性能低成本前端,适用于如ZigBee 网络等2. 4GHz 无线系统,可以改善RF 性能。

  CC2520 与CC2591 结合使用可以使得输出功率范围扩大到- 24dBm ~ 22dBm,接收灵敏度增加到- 90dBm,传输距离可达到几百米甚至上千米。

  3. 2 网络系统架构

  为了实现在第3 节中定义的网络协议,需要在Linux 之上编写一个应用程序,该程序需要实现网络协议中的规则。除此以外,还需要根据协议,选择合适的路由,该程序称为路由协议程序。此外,为了使IPV6 运行在CC2520 射频芯片上,移植了6LoWPAN协议到Linux 系统中,大大减小了包头的字节,减少了能量消耗。

  在用户应用程序中,当有数据要发送时,Linux内核会查找内核路由表,找到下一跳的地址,然后将数据交给相应的设备以发送数据。系统所用的网络设备是CC2520 射频芯片,但是Linux 并没用为CC2520 开发对应的网络驱动,因此可以虚拟一个网络设备tun,将网络层传过来的数据都交给tun,读取tun 接口便能够得到要发送的网络数据。射频适配层得到该数据之后,经过适配层6LoWPAN 协议的压缩之后,然后再通过SPI 操作CC2520 芯片发送数据。对应从底层来的数据,其处理过程跟上述方式类似。

  3. 3 射频适配程序的设计

  当内核有数据要发送之时,要使用正确的方法驱动CC2520 芯片无线发送出去,负责这部分内容的程序称为射频适配程序。

  在实现过程中,使用CC2520 芯片作为无线网络收发设备。在Linux 内核中,并无CC2520 作为网络设备的驱动。为了实现使用CC2520 收发数据的功能,可以建立一个虚拟网络设备tun.字符设备tun 是内核空间和用户空间的数据接口,内核将数据包发送到虚拟网络设备上,数据包会被保存到设备的队列中,此时用户空间可以通过打开字符设备tun 并调用read 函数读取其中的数据,此时数据传递到了用户空间,程序可以对这些数据进行处理。

  同样,用户空间程序可以通过write 函数将收到的数据包交给内核。这样就可以在上层有数据来的时候先经过6LoWPAN 的处理压缩,再通过驱动CC2520发送数据,在CC2520 收到数据的时候,将数据经过6LoWPAN 还原之后交给Linux 内核,实现无线收发数据包的功能。

  4 系统测试

  整个系统的工作流程为: 医疗板首先采集医疗检验结果,将其传递给CK610 开发板,开发板通过操作CC2520 进行无线发送。而当CC2520 接收到数据时,通过读取CC2520 SO 管脚获得收到的数据,通过UART 输出给PC,PC 运行C#编写的图形界面将检验结果显示出来,如图2 所示。

  

  5 结束语

  本文主要提出了一种基于国产CPU 的SOC 医疗电子无线网络的路由协议以及整个平台的软件架构和射频适配程序,并实现了医疗电子板的点对点无线通信,实验结果证明,系统运行正常,达到预期效果。在后期工作中,将加入更多节点来验证系统性能.

 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
分析怎样提高LED照明的可靠性