SIM300 模块具有功能完备的系统接口,在内部集成了TCP/IP 协议栈,扩展了TCP/IP AT 指令,可以通过串口对其提供的AT 指令进行交互操作。这样可以降低开发难度,易于实现数据传输,而且成本较低,系统的可扩展性好。
SIM300 需要外接SIM 卡卡座,其串口与单片机的串口相连,将GPRS 模块接收到的信息传送给单片机,然后进行数据处理。而AVR 单片机则控制SIM300 模块的开关,AVR 单片机与SIM300 模块的连接示意图如图3 所示。
2.3 LED 屏驱动电路
本系统的LED 条屏采用比较经典的74HC595 作为点阵输出的列驱动,采用ULN2803 作为行驱动。此方案的驱动电路设计软硬件设计简单,而且功耗低、驱动能力强、占用的I/O 口线较少,是一种造价低廉、应用灵活的设计方案。
3、 通信协议设计
由于本系统采用了GPRS 网络的通信模式, 所以上位机设置一个LED 控制器管理平台来管理所有的LED 控制器。这个LED 控制器管理平台(即“上位机软件”)通过TCP/IP 协议与LED 屏无线控制器进行通信,而且可以同时控制多台。上位机软件与LED 屏无线控制器之间采用GPRS 方式进行连接, 它们之间的连接关系如图4 所示。
LED 屏无线控制器是客户端, 其数据的收发通过上位机软件控制。当LED 屏控制器上电运行后,会主动向上位机软件建立连接并握手,登录成功后,上位机软件与LED 控制器才能进行数据传输。
上位机软件与各LED 屏无线控制器之间通信协议是以TCP 协议为基础协议, 并自定义了一个STCP协议层用于封装PDU(数据单元)数据层协议。STCP 协议层只为PDU 的承载框架, 提供安全可靠的传输过程。通信网络层结构图如图5 所示。
图5 通信网络层结构图
在自定义的STCP 通信协议中,制定了一系列管理无线LED 显示屏控制器的通信指令,主要为上位机软件的编程提供具体的通信结构和规范。通信包格式如表1所示:
表1 通信包格式
注:
完整数据长度: 整型字节(4 个字节长度),整个通信包的长度;
命令字: 根据无线LED 显示屏控制器通信指令表,见表2;
显式控制字: 0-无;1-上移;2-下移;3-左移;4-右移;5-静止;6-闪烁;7-删除;