3 系统软件设计
由于μC/OS-Ⅱ操作系统是源代码公开的、共享的并且可移植性、可裁减性非常好,通过信号、邮箱及队列能够很好的实现任务问的实时通讯、系统同步及多任务间的管理和调度,所以这里选用μC/OS-Ⅱ嵌入式实时操作系统作为平台。
首先进行μC/OS-II的移植,对μC/OS-II的移植实际上就是重写或修改与处理器有关的代码。主要是编写OS_CPU.H,OS_CPU_ A.S,OS_CPU_C.C这3个文件。在完成μC/OS-Ⅱ代码移植后,把TCP/IP协议栈加载到该系统中,即完成程序运行平台的搭建工作。
该系统设计的主程序主要通过3个任务来实现,即在主函数main()中先利用OSInit()初始化μC/OS-Ⅱ操作系统,给应用程序中用到的消息队列、信号量等清零,然后利用OSTaskCreateExt()创建第一个任务task0,通过OSStart()启动操作系统的多任务调度机制,开始运行该系统的主要应用程序。
3个任务中,设置任务task0的优先级最高,任务task2的优先级最低。任务task0主要负责接收数据,调用RTL8019AS的驱动函数Rec_Packet()接收远端计算机的连接请求(本地设置为服务器端)。若有请求帧,则设置消息队列RecTcpQFlag,然后删除任务本身;若没有请求帧,则持续利用Rec_Packet()接收数据,直到接收到连接请求。task0的流程图如图4所示。
该系统设计的监护模块与医院内心电监护中心的心电实时监控服务器都工作于客户/服务器模式下。在工作状态下,心电数据接收转发器客户端应用程序,首先初始化以太网接口,然后主动与医院内心电实时监控服务器建立连接;连接成功后,进入工作状态,不断接收心电数据,并通过已建立的连接将数据发送到心电实时监控服务器。
4 结论
由于采用嵌入式Internet技术,利用以太网传输被监护病人心电数据,理论上整个系统中被监护病人的个数无限制,只要网络的带宽和服务器的处理能力足够强,就可以任意扩展。被监护病人既可位于医院的病房,也可位于家庭、办公室,只要该处有宽带网接入端口即可。因此.该系统将大大增强和扩展医院的医疗服务能力,同时也使更多的病人得到低成本和周到的心电监护服务,具有很高的推广价值和显著的社会经济效益。