基于AVR的无线LED屏控制系统设计
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-删除;
数据内容:需要显示信息内容;
校验和: 全部数据累加校验和;
根据无线LED 显示屏控制器实际运用需要,制定了发送、删除、显示、连接、断开指令等。这些指令的代码和主要作用如表2 所示。
表2 通信指令表
上位机软件通过Internet 网络将数据发送到无线LED 显示屏控制器后,LED 显示屏控制器需要对收到的数据进行处理。根据指令的不同,可以控制LED 显示屏的显示内容及显示模式(例如上移、下移、左移、右移、静止、闪烁、删除等)。
4 、软件设计
本系统的软件设计包括两部分: 上位机软件和AVR单片机的控制程序。上位机软件完成与GPRS 模块的通信, 控制LED 显示屏上显示的数据信息;AVR单片机的控制软件主要完成系统初始化,GPRS 网络连接,接收上位机发送的信息,分析接收信息内容,完成指令, 并按需将发布信息转换为点阵信息, 送到LED显示屏进行显示。
4.1AVR单片机的控制程序
AVR 单片机的控制程序主要完成以下功能:连接GPRS 网络、数据传输、控制LED 屏显示。
(1)初始化系统及SIM300 模块,连接GPRS 网络;(2)依照显示屏控制器与上位机的通信协议,与上位机通信握手,接收指令,解析指令,并将显示数据等信息存储与处理;(3)通过串口驱动LED 屏,进行信息的显示等。
下面简单介绍SIM300 模块与上位机实现TCP/IP无线通信流程。
AT+CGDCONT=1,"IP","CMNET" --注册中国移动网络
OK
AT+CGCLASS? --显示GPRS 信息移动的类型
+CGCLASS: "B"
OK
AT+CGATT? --GPRS 服务附加/分离
+CGATT: 1
OK
AT+CGACT=1,1 --环境激活
OK
AT +CIPSTART = "TCP","202.196.87.7","2020" -- 启动
TCP 连接(上位机IP 地址及端口号)
OK
CONNECT OK --连接成功
AT+CIPSEND --通过TCP 发送数据
> HELLO
SEND OK --发送成功
陀螺仪相关文章:陀螺仪原理
评论