基于GPRS的远程心电实时监护仪软件系统
时间:01-13
来源:互联网
点击:
,Flash文件系统会有纠错操作,最简单的纠错码可以把非连续的单个位错误改正。而对于当前处理器上的内存映射模型,纠错码的引入将大大降低运行效率,因此不做纠错处理。
(1) FlashPageRead():首先锁存起始操作字节的行列地址,送入Read指令,随后的每个读操作时序把当前字节读出,当前地址指针加1并把数据存储到读操作缓冲区中,同时调用函数时须给出读出字节的总数。
Flash的写操作,又称为对Flash的编程,即把数据存储到Flash存储单元中。存储单元事先必须已擦除(Erase)过才能写入数据。写操作耗时为几百微秒,擦除操作耗时最多为几毫秒,在数量级上已大大超过了RAM的写操作。利用内存映射模型操作Flash的难点在于合理调度使Flash存储单个字节的耗时与处理器的指令周期相匹配。每次写操作要尽可能多地写入数据,一般每页(512B)写入一次。写操作与擦除操作可能产生坏块,因此须通知主程序是否产生坏块。
(2) FlashProgram():首先锁存写入数据起始字节的行列地址,随后按照函数调用时给定的写入数据总数,每个写操作时序向Flash寄存器存储一个字节的数据。当寄存器满,送入Program操作指令即可把寄存器中的数据存储进入物理存储单元中。
(3) FlashECGDMap():根据分区内页索引和坏块列表检索出实际的操作页地址。首先把分区内页地址换算为理想实际地址,即不考虑坏块,然后检索坏块列表及剔除无效地址并给出实际操作地址。
(4) FlashStoreECGData():在数据分区中存储心电数据,首先检查Flash是否处于繁忙状态,若空闲则立即占用Flash,把采样数据导入Flash写缓冲。如果写缓冲达到存储操作条件,则调用FlashECGDMap()获取实际的操作地址并检查是否Flash的该操作块需要擦除。若需要擦除,则调用FlashErase()函数,擦除状况检查完毕即调用FlashProgram()保存数据。若所有操作完毕,则释放Flash的控制权。
(5) FlashLoadECGData():从数据分区中读取一定字节数的心电数据。首先需要在Flash空闲状态下获取Flash的控制权,随后利用FlashECGDMap()获取实际操作地址并判断是否出现跨页读操作。如果不需跨页,则调用FlashPageRead(),读出相应数据到读缓冲即可;若跨页,则分别在两页分两次读取规定字节个数的连续心电数据。
3.2 GPRS网络接口设计
硬件平台的通信模块是Wavecom公司的2406B。GPRS又称无线分组服务,用于在GSM网络上传输数据。在进行GPRS数据发送的同时,短消息和语音服务不会被禁止,但GPRS数据服务和GSM服务不能同时进行。2406B模块的GPRS上行速率可以达到10kbps,通过设置数据发送串口的波特率为9 600bps,可使数据进出流量匹配。
3.2.1 2406B模块初始化
首先设置2406B中两个串口的波特率、绑定的数据类型及模块时钟。串口1绑定GPRS数据,串口2绑定GSM数据。串口1的波特率设置为9 600即可使网络与接口速率匹配;串口2返回模块控制字,设置为19 200的波特率即可与处理器运行速度匹配。同时还要为模块设置当前时间。AT指令见表1中“AT指令序列1”。
其次通过AT指令连接GPRS网络和服务器。AT指令见表1中“AT指令序列2”。
模块的OpenAT程序实现了TCP/IP协议,同时把汉字字模加入模块。指令序列2 中的AT指令按照顺序设置成功后即建立TCP/IP连接,模块即进入数据模式。此时通过串口送入的所有数据全部作为网络数据送交网络,送入即Ctrl-C(0x03)将断开TCP连接,若要向服务器发送0x03,须发送数据对,此时保持网络并向服务器发送0x03。
3.2.2 网络模型及接口函数
数据传输过程分为注册阶段和数据发送阶段。
在注册阶段,监护仪向服务器发送注册认证数据报。内容包括设备序列号(Machine ID)、数据格式(FMT)、采样频率、采样位数、采样环境工频频率、AD转换高低电压和直流偏置、数据压缩方法以及采样起始时间。服务器收到注册数据后进行身份验证,验证通过则发送回应消息,即为服务接纳的时间和联系人列表。监护仪收到回应消息即进入数据发送阶段。
数据发送阶段,监护仪向服务器发送实时心电数据。数据发送策略有两种:注重“实时性”的发送策略,定义当前采样点至其前1分钟的心电数据为“实时心电数据”,享有发送的优先权,“补发数据”在“实时心电数据”发送完毕以后发送;注重“连续性”的发送策略,以保持数据完整性为目标,“补发数据”享有数据发送优先权,服务器申请的数据会被优先发送。数据发送阶段病人及设备的各种异常状况定义为“报警消息”发送给服务器。
网络状态转换图如图3,由此设计的网络接口函数为:(1)TransData():负责发送实时数据、补发数据和发送报警消息,其中报警消息具有最高优先级,连续性的发送策略补发数据优先级高于实时数据,实时性的发送策略发送优先级与连续性策略相反;(2)ECGRegister():负责建立与服务器之间的ECG连接,函数定时发送注册信息包和完成注册过程确认。
(1) FlashPageRead():首先锁存起始操作字节的行列地址,送入Read指令,随后的每个读操作时序把当前字节读出,当前地址指针加1并把数据存储到读操作缓冲区中,同时调用函数时须给出读出字节的总数。
Flash的写操作,又称为对Flash的编程,即把数据存储到Flash存储单元中。存储单元事先必须已擦除(Erase)过才能写入数据。写操作耗时为几百微秒,擦除操作耗时最多为几毫秒,在数量级上已大大超过了RAM的写操作。利用内存映射模型操作Flash的难点在于合理调度使Flash存储单个字节的耗时与处理器的指令周期相匹配。每次写操作要尽可能多地写入数据,一般每页(512B)写入一次。写操作与擦除操作可能产生坏块,因此须通知主程序是否产生坏块。
(2) FlashProgram():首先锁存写入数据起始字节的行列地址,随后按照函数调用时给定的写入数据总数,每个写操作时序向Flash寄存器存储一个字节的数据。当寄存器满,送入Program操作指令即可把寄存器中的数据存储进入物理存储单元中。
(3) FlashECGDMap():根据分区内页索引和坏块列表检索出实际的操作页地址。首先把分区内页地址换算为理想实际地址,即不考虑坏块,然后检索坏块列表及剔除无效地址并给出实际操作地址。
(4) FlashStoreECGData():在数据分区中存储心电数据,首先检查Flash是否处于繁忙状态,若空闲则立即占用Flash,把采样数据导入Flash写缓冲。如果写缓冲达到存储操作条件,则调用FlashECGDMap()获取实际的操作地址并检查是否Flash的该操作块需要擦除。若需要擦除,则调用FlashErase()函数,擦除状况检查完毕即调用FlashProgram()保存数据。若所有操作完毕,则释放Flash的控制权。
(5) FlashLoadECGData():从数据分区中读取一定字节数的心电数据。首先需要在Flash空闲状态下获取Flash的控制权,随后利用FlashECGDMap()获取实际操作地址并判断是否出现跨页读操作。如果不需跨页,则调用FlashPageRead(),读出相应数据到读缓冲即可;若跨页,则分别在两页分两次读取规定字节个数的连续心电数据。
3.2 GPRS网络接口设计
硬件平台的通信模块是Wavecom公司的2406B。GPRS又称无线分组服务,用于在GSM网络上传输数据。在进行GPRS数据发送的同时,短消息和语音服务不会被禁止,但GPRS数据服务和GSM服务不能同时进行。2406B模块的GPRS上行速率可以达到10kbps,通过设置数据发送串口的波特率为9 600bps,可使数据进出流量匹配。
3.2.1 2406B模块初始化
首先设置2406B中两个串口的波特率、绑定的数据类型及模块时钟。串口1绑定GPRS数据,串口2绑定GSM数据。串口1的波特率设置为9 600即可使网络与接口速率匹配;串口2返回模块控制字,设置为19 200的波特率即可与处理器运行速度匹配。同时还要为模块设置当前时间。AT指令见表1中“AT指令序列1”。
其次通过AT指令连接GPRS网络和服务器。AT指令见表1中“AT指令序列2”。
模块的OpenAT程序实现了TCP/IP协议,同时把汉字字模加入模块。指令序列2 中的AT指令按照顺序设置成功后即建立TCP/IP连接,模块即进入数据模式。此时通过串口送入的所有数据全部作为网络数据送交网络,送入即Ctrl-C(0x03)将断开TCP连接,若要向服务器发送0x03,须发送数据对,此时保持网络并向服务器发送0x03。
3.2.2 网络模型及接口函数
数据传输过程分为注册阶段和数据发送阶段。
在注册阶段,监护仪向服务器发送注册认证数据报。内容包括设备序列号(Machine ID)、数据格式(FMT)、采样频率、采样位数、采样环境工频频率、AD转换高低电压和直流偏置、数据压缩方法以及采样起始时间。服务器收到注册数据后进行身份验证,验证通过则发送回应消息,即为服务接纳的时间和联系人列表。监护仪收到回应消息即进入数据发送阶段。
数据发送阶段,监护仪向服务器发送实时心电数据。数据发送策略有两种:注重“实时性”的发送策略,定义当前采样点至其前1分钟的心电数据为“实时心电数据”,享有发送的优先权,“补发数据”在“实时心电数据”发送完毕以后发送;注重“连续性”的发送策略,以保持数据完整性为目标,“补发数据”享有数据发送优先权,服务器申请的数据会被优先发送。数据发送阶段病人及设备的各种异常状况定义为“报警消息”发送给服务器。
网络状态转换图如图3,由此设计的网络接口函数为:(1)TransData():负责发送实时数据、补发数据和发送报警消息,其中报警消息具有最高优先级,连续性的发送策略补发数据优先级高于实时数据,实时性的发送策略发送优先级与连续性策略相反;(2)ECGRegister():负责建立与服务器之间的ECG连接,函数定时发送注册信息包和完成注册过程确认。
监护仪 单片机 电源模块 LCD PIC ADC 电压 相关文章:
- 基于MSP430的便携式医疗监护系统的设计(06-12)
- 虚拟心电监护系统软件设计(10-27)
- 采用 MAXQ2010的低功耗医学数据记录仪的设计(03-08)
- 新型便携式心电监测仪的软硬件设计(03-08)
- 医疗系统中的USB隔离解决方案(03-25)
- 基于ARM9的无线多床位心电监护仪的设计(04-09)