完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
引言
随着LED 技术的发展与提高,大型LED 显示屏已广泛应用于各类公共场所,用于显示文字、图形、视频图像等多媒体信息。在城市信息现代化建设中,LED 显示屏成为现代信息传播的重要媒体之一。随着户外LED 屏数量的剧增和使用范围的扩大,对LED 显示屏的管理与控制提出了新的要求。 1 系统工作原理 本系统主要由上位机和下位机组成。上位机为安装有LED 屏管理软件而且能连接Internet 或GPRS 网络的设备,例如PC、移动设备等。下位机为以AVR 单片机控制模块为主的LED 屏无线控制器。系统拓扑结构如图1 所示。 系统主要利用GPRS 模块作为无线Modem, 实现了LED 显示屏无线控制器(作为客户端)拨号上网,与Internet 网络上的上位机(作为服务端)进行TCP 无线通信,实现数据传输,完成对LED 屏的无线数据更新。 2 下位机硬件设计 如图2 所示,LED 屏无线控制器主要由四部分组成: 电源模块、GPRS 模块、AVR 单片机控制模块、LED显示屏。 2.1 AVR 单片机控制模块 为了保证通信数据的实时性和效率, 又能兼顾驱动LED 显示屏, 所以本模块采用的MCU 是拥有双串口的ATMEL 公司的ATmega 162.它是一款基于AVRRISC 的低功耗CMOS 的8 位单片机,其稳定性、可靠性非常高, 能适应各种环境, 适用于各种不同的无线LED 显示屏使用环境。 本模块主要处理GPRS 模块接收到的信息, 并将接收到的屏显信息传送给LED 屏,同时通过串口发出AT 指令监视GPRS 模块是否有新消息。一旦有,立刻进入串口中断,对数据进行处理。在TCP/IP 协议下,数据采用十六进制的方式传输,不需要进行汉字解码,大大简化了系统外围电路的设计。 2.2 GPRS 模块电路 GPRS 模块采用了SIMCOM 公司的SIM300.该模块体积小巧,性能突出,可广泛应用于无线语音传输、车载系统、远程抄表、安全监控、遥控遥测、手持设备等领域。 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-删除; 数据内容:需要显示信息内容; 校验和: 全部数据累加校验和; 根据无线LED 显示屏控制器实际运用需要,制定了发送、删除、显示、连接、断开指令等。这些指令的代码和主要作用如表2 所示。 表2 通信指令表 上位机软件通过Internet 网络将数据发送到无线LED 显示屏控制器后,LED 显示屏控制器需要对收到的数据进行处理。根据指令的不同,可以控制LED 显示屏的显示内容及显示模式(例如上移、下移、左移、右移、静止、闪烁、删除等)。 4 软件设计 本系统的软件设计包括两部分: 上位机软件和AVR 单片机的控制程序。上位机软件完成与GPRS 模块的通信, 控制LED 显示屏上显示的数据信息;AVR单片机的控制软件主要完成系统初始化,GPRS 网络连接,接收上位机发送的信息,分析接收信息内容,完成指令, 并按需将发布信息转换为点阵信息, 送到LED显示屏进行显示。 4.1 AVR 单片机的控制程序 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 --发送成功 4.2 上位机软件 本系统的上位机软件主要采用VC 设计一个通信界面,实现与LED 远程控制器通信。用户界面部分采用MFC 框架基于Dialog 实现。在利用Visual C++进行通过TCP/IP 协议网络传输数据开发时, 采用IOCP 框架来实现Windows Socket 的完成端口模型。 IOCP 即I/O 完成端口(I/O Completion Port),是一个异步I/O 的API,它可以高效地将I/O 事件通知给应用程序。一个套接字在被创建后,与一个完成端口进行关联。当一个事件发生的时候,此完成端口就将***作系统加入一个队列中, 然后应用程序可以对核心层进行查询以得到此完成端口。当某项I/O 操作一旦完成, 某个可以对该操作结果进行处理的工作线程就会收到一则通知。在此应用程序中创建一定数量的工作线程来处理重叠I/O 请求的通知。 IOCP 框架的启动流程如图6 所示。 IOCP 框架的实现步骤如下: (1)初始化Winsock 工作环境,并创建完成端口,创建完成端口线程,建立一个监听套接字,使套接字与完成端口关联起来; (2)监听套接字开始工作,当监听套接字接收到客户端TCP 的连接请求时,IOCP 会获取并处理该消息,创建对应的Socket 对象进行接收处理,完成连接工作; (3)当客户端完成TCP 连接后,可以开始数据通信,由I/O 线程来负责分发I/O 请求,通过线程池来分配逻辑处理环境; (4)在接收数据后,将微软提供的一个I/O 数据结构(WSAOVERLAPPED)进行扩展,完成协议解析和数据处理。 此外,这里的线程池只是一个管理队列,用于处理线程资源的管理, 用最少的线程完成最大业务逻辑的处理。真正执行的线程函数也不完成详细的业务处理,仅仅完成对I/O 请求的再调用,而由虚函数实现I/O 请求的再处理。 为了提高软件的友好性, 框架采用Windows 的消息机制,与UI 进行交互,通过窗口消息将框架的相关信息传递给UI 窗口。因此在框架中保留了一个指针成员, 并在需要的时候通过该指针调用消息响应函数向窗口发送消息,UI 根据消息反映框架的运行信息。 5 结语 根据近年来GSM/GPRS 数据通信技术等发展的趋势,本文提出了基于GPRS 网络的、使用低成本SIM300模块的无线LED 屏控制器的设计方案, 该系统利用TCP/IP 协议实现了基于GPRS 网络的无线数据的传送。上位机将文字或图片信息数据通过GPRS 网络传输到远程LED 屏终端, 也可以接收客户端发送的数据,再根据数据的内容相应地完成各种命令,控制LED屏显示相应的信息。该系统设计经测试取得了良好的效果。 |
|
|
|
只有小组成员才能发言,加入小组>>
791 浏览 0 评论
1151 浏览 1 评论
2527 浏览 5 评论
2860 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2710 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1070浏览 3评论
193浏览 2评论
455浏览 2评论
368浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
453浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 01:00 , Processed in 1.157972 second(s), Total 78, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号