基于C8051F02X的无线数据传输系统
2.3 MC35i模块
MC35i是西门子公司的第一款GPRS模块,它不仅支持GPRS技术,还具有TC35i的全部功能:可以在GSM网上进行数据、语音、短消息以及传真的服务;采用标准的工业接口,易于集成。MC35i支持GSM900和GSMl800双频网络,内置SlM卡阅读器以及支持即插即用的特性,可以把它作为通用的双频带模块,用来简单、快速地传送数据。
MC35i有40个引脚,通过一个零阻力插座(Zero Insertion Force,ZIF)连接器引出。这40个引脚可以划分为五类,即电源、数据输入/输出、SIM卡、音频接口和控制。其中第18,19引脚分别作为输入/输出引脚与C8051F020的串口1相连;C8051F020通过向MC35i的第18引脚发送AT命令控制数据传输,同时根据第19引脚的返回数据来判断是否有新短信并读取短信内容。第15引脚为点火线IGT(Ignition),是控制引脚,与C8051F020的P1.5引脚相连;当MC35i通电后必须给IGT一个大于100 ms的低电平,模块才启动。
3 系统的软件设计
本设计分为主机和从机两个部分,主机部分主要是实现对数据发送时间以及数据采集器参数的控制,从机部分主要是实现数据的接收和发送。
3.1 通信协议的设置
主机与从机之间要实现相互通信,首先必须规定用以传输数据的协议。一般来说,主机发送命令和配置信息给从机,而从机则向主机发送反馈信息。
本系统主要实现的是主机对从机数据发送时间的控制,当主机响应时钟芯片DSl2887的中断请求进入INTO中断服务程序时,主机向从机发送一个字符‘s’,从机接收到该指令后就开始发送数据。同时数据收发模块与接收终端之间同样需要通信协议以保证传输的可靠性。当接收终端在一定的时间内(比如5 min)没有收到数据时,向数据收发模块发送一条内容为‘N’的短信息,示意重发数据。数据收发模块收到短信息后,提取短信息内容并判断是否为‘N’,是则重发数据。从机与数据采集器之间的通信也规定了相应的协议,每一组数据前都有相应的起始位和长度位,从机通过判断每一组数据的起始位和长度位以保证数据接收的正确性。
3.2 主机部分的软件设计
在主机部分,关键点在于如何对时钟芯片进行初始化。初始化过程中,关闭周期性中断和时钟更新结束中断,而将时间性中断设为每整点一次,每次产生中断后,读取小时值,判断是否能被8整除,如能整除,说明该时刻为O:00,8:00或16:00,则向从机发送控制信息‘S’,通知数据收发模块发送数据。主机的INTO中断服务程序流程图如图3所示。
3.3 从机部分的软件设计
在从机部分,通过串口0接收数据采集器的数据并不断刷新,当从机接收到主机发送的指令‘S’时,通过串口1发送相应的AT指令给GPRS模块,将当前数据以短信息的形式发送到远程终端。由于GPRS只能发送字符数据,如果发送的数据大于127将发送失败,所以将每个数据都转换为相应的字符发送,比如十六进制数9F,就转换为字符9和F再发送,终端接收到以后如需要可再转换为十六进制数9F。
从机要实现的另一项功能是数据重发,该功能是在串口1中断服务程序中实现的。因此从机程序中有串口0、串口1、SPIO三个中断服务程序,其中串口O中断的优先级别最高,其次是SPIO中断,串口1中断优先级别最低。而串口0中断几乎是在不停地发生着,因此必须将串口1中断和SPIO中断的中断优先级设置位置1(默认为0),使CPU优先响应串口1中断和SPIO中断,否则串口1中断和SPIO中断的中断请求几乎得不到响应。
串口0中断服务程序流程图如图4所示。
4 结 语
本系统采用工业级芯片C8051F02X系列单片机结合GSM网络实现数据的无线传输,系统稳定、可靠性高,在很多应用领域,比如水文监测、地质勘探等,都可以使用本系统通过无线传输手段完成远程数据采集和对采集数据的实时传输。
- 基于RF微功率芯片的测温系统设计(08-25)
- IA4420在无线数据传输中的应用(08-21)
- C8051F 30x单片机低成本射频读卡器方案(01-17)
- 基于移动数据的LED显示屏设计与仿真(02-04)
- 基于单片机低功耗主动式RFID标签设计(03-10)
- 基于AVR单片机的125 kHz简易RFID阅读器设计(03-30)