PTR2000可直接与单片机的串口TXD、RXD相连接。PTR2000无线MODEM的DO和DI引脚分别连接单片机串口的RXD和TXD,这样单片机就可以和无线数据传输模块进行串行通信。PTR2000的PWR脚和单片机的P1.0脚相连,以便对无线数据传输模块的电源进行管理,TXEN与单片机的P1.1脚连接,控制PTR2000无线收发模块的收发状态转换。上位机通过PTR2000与单片机进行实时通讯。由于上位机串口通常采用RS-232 电平,而单片机串口使用的是TTL电平,故PTR2000与上位机连接时必须将TTL电平转换成RS-232电平,系统采用MAXM公司的MAX232芯片进行转换。上位机用串口的RTS与PTR2000的TXEN连接来控制PTR2000无线收发模块的收发状态转换。
2 系统软件设计
系统软件采用模块化设计,主程序首先对各接口芯片进行初始化,然后分别调用各个子程序模块以进入各个数据采集子系统,并将采集到的数据存储在32K字节的串行E2PROM AT24C256中,以备控制中心查询,同时将对应的数据在液晶显示器上显示。如果系统接收到上位机的数据上传命令,就将存储在E2PROM中的数据通过 PTR2000发送给PC机。系统主程序流程如图7所示。
串口通信程序中双方通信协议是至关重要的,这关系到无线数据传输的可靠性,本系统约定双方的通信协议格式如下:串行通信使用单片机的内部定时器/计数器1 作为波特率发生器,本系统波特率设定为4800 bit/s;帧格式为1位起始位,8位数据位,1位停止位,无奇偶校验;通信采用中断方式;上位机采用COM 1通信。在设计时,数据传输通道也采用光电隔离来提高系统的抗干扰能力,并且采用了CRC校验以确保数据传输的准确。单片机系统初始化时,将单片机的 P1.1脚设置为低电平,这就可使得在默认状态下,PTR2000处于接收状态,以便时刻监听上位机的数据上传命令。当接收到上位机的命令后,中断服务程序将数据从单片机数据缓冲区取出,同时将模块的接收状态切换为发射状态,转换过程所需时间约5ms,然后将这些数据以FSK的调制形式发射出去, PTR2000模块随后恢复为接收状态。从单片机系统发射的数据经上位机系统中的PTR2000接收,由RS232接口进行电平转换,送进上位机,上位机对数据进行分析和处理后,向单片机系统发送一个确认数据包,以确认单片机系统数据包的正确性。上位机接收完数据后,它的PTR2000模块又恢复为常发射状态。如果数据在传输的过程中有数据丢失,上位机将要求单片机系统重新发送数据,直到数据全部正确为止,串行中断服务程序如图8所示。
3 结束语
本文利用8位单片机设计的通用数据采集系统,可以作为工业现场的远程监控终端来使用,也可以方便的设计成便携式智能数据采集和通讯仪表,由于数据传输采用了无线方式,使其能够非常广泛的应用于工业上需要数据采集的场合,具有比较高的实际应用价值。