GPRS在生理数据远程传输中的应用研究
E5112一端通过RS-232接口与G18连接,另一端通过并口与上位机相连。E5112提供透明通道和非透明通道两种工作模式。在透明通道模式下,E5112对
单片机发出的数据不进行处理直接将数据发送到G18,收到的数据也原封不动地传递给单片机。在这个模式下,短消息和语音功能可以由用户自己通过AT命令来实现。在非透明通道模式下,单片机通过串口采用帧格式与E5112通信。
E5112帧格式以十六进制数7E开始,然后是类型、长度、数据三个字段,最后以十六进制数7E结束。类型字段表示本帧的类型。E5112共有输入和输出两大类型。输入帧有读网关IP地址帧、设置服务器端口帧、设置ISP电话号码和用户名用户密码帧、设置SOCKET插口帧、发送TCP数据帧、发送UDP数据帧、读源IP地址帧等共13种。输出帧有物理层失败帧、PPP协商失败帧、PPP协商成功帧、SOCKET关闭帧、接收SOCKET数据帧、接收源IP地址帧等共16种。长度字符存有类型、长度、数据三个字段的长度(字节数)。数据字段只有当有数据发送和接收时才存在。类型、长度、数据三个字段中如含有十六进制数7E,则必须进行转义处理。
由于E5112能进行TCP/IP协议和AT命令集的处理,所以编程者完全不需了解TCP/IP协议和AT命令集,只需向E5112发送符合 帧格式的字符串,或接收E5112发出的帧,即可实现GPRS数据通信。
(3)单片机、E5112、G18之间的连接
E5112的接口是5V逻辑,而G18是3V逻辑,两者要连接起来使用必须要进行电平转换G18的RS-232接口输入针(TXD、DTR、RTS)具有5V的容限,最大可接收5.5V的电压,所以E5112的这三个输出脚可直接连接至G18相应引脚。G18的输出最大值不能达到E5112的输入容限,应进行电平转换,我们采用漏极开路的驱动芯片74LVC07完成这一功能。图2为某一路信号进行电平转换的电路,74LVC07电源为3V,所以可以接收3V输入;而输出端经一上拉电阻连至5V,所以输出被上拉至5V。
由于上位机只提供并口与上位机连接,所以在单片机与E5112之间插入一个串并转换芯片16C550,进行串行和并行数据的转换单片机、E5112之间的连接见图3。
(4)心率采集
心率采集采用了从心电信号中提取的方法。采集得到的心电信号放大后,经心率检测电路转化与心电R波同步的脉冲,再由单片机计时测量其频率,求倒数可得心率值。心率数据经单片机测量完成后,存储在单片机的存储器中,需要时经串行口发送,进行无线传输。
(5)单片机采用了AT89C51,单片机的软件采用C语言编制。心率脉冲连接至0号外部中断引脚(INT0),定时器0设为连续计时。每当INT0产生中断,即将定时器0数值记录下来,减去上次的记录值,计算心率数值。
单片机串行口设为方式1,波特率为9600bps,1位停止位,无奇偶校验。上电后,首先向E5112(通过16C550串并转换)发送设置ISP电话号码、用户名及用户密码帧,其中ISP电话号码必须为“*99#”,用户名和用户密码可以任意设置,但不能为空。成功后,再向E5112发送拨号指令,等待应答帧,当接收到PPP协议成功帧,则拨号成功,否则需继续拨号直至成功为止(拨号成功后,网络连接就一直建立,有数据发送时即可即时发送,不需要拨号)。然后,向E5112发送SOCKET设置帧,设置本地、远端的IP地址和端口,如成功,则点和点通信环境已建立,调用发送TCP数据帧和发送UDP数据帧就可以发送心率数据了,其中心率数据置于TCP和UDP数据帧的数据字段中。
(6)接收端编程
在接收端的计算机上,主要应用VB的一个Winsock控件来实现接收发送的生理参数。利用WinSock控件可以与远程计算机建立连接,并通过UDP或者TCP协议进行数据交换。这两种协议都可以用来创建客户与服务器应用程序。
《GPRS在生理数据远程传输中的应用研究(第2页)》