新聞中心

        EEPW首頁 > 光電顯示 > 設計應用 > SIM300實現無線LED顯示屏控制系統

        SIM300實現無線LED顯示屏控制系統

        作者: 時間:2012-03-21 來源:網絡 收藏

          引言

          針對目前LED 點陣顯示屏的廣泛應用以及GPRS 網絡全國覆蓋的優勢, 提出基于GPRS技術的無線LED 顯示屏方案。詳細介紹的系統結構、軟硬件設計過程和通信協議的制定。此設計在多LED 顯示屏組網控制,而LED 屏又分布范圍較廣時優勢較明顯,可以拓寬LED 顯示屏的應用領域,具有一定的應用價值。

          1 系統工作原理

          本系統主要由上位機和下位機組成。上位機為安裝有LED 屏管理軟件而且能連接Internet 或GPRS 網絡的設備,例如PC、移動設備等。下位機為以AVR 單片機控制模塊為主的LED 屏無線控制器。系統拓撲結構如圖1 所示。

          

        LED顯示屏無線控制系統拓撲結構

          系統主要利用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 公司的.該模塊體積小巧,性能突出,可廣泛應用于無線語音傳輸、車載系統、遠程抄表、安全監控、遙控遙測、手持設備等領域。

           模塊具有功能完備的系統接口,在內部集成了TCP/IP 協議棧,擴展了TCP/IP AT 指令,可以通過串口對其提供的AT 指令進行交互操作。這樣可以降低開發難度,易于實現數據傳輸,而且成本較低,系統的可擴展性好。

           需要外接SIM 卡卡座,其串口與單片機的串口相連,將GPRS 模塊接收到的信息傳送給單片機,然后進行數據處理。而AVR 單片機則控制SIM300 模塊的開關,AVR 單片機與SIM300 模塊的連接示意圖如圖3 所示。

          

        SIM300實現無線LED顯示屏控制系統

          2.3 LED 屏驅動電路

          本系統的LED 條屏采用比較經典的74HC595 作為點陣輸出的列驅動,采用ULN2803 作為行驅動。此方案的驅動電路設計軟硬件設計簡單,而且功耗低、驅動能力強、占用的I/O 口線較少,是一種造價低廉、應用靈活的設計方案。

          3 通信協議設計

          由于本系統采用了GPRS 網絡的通信模式, 所以上位機設置一個LED 控制器管理平臺來管理所有的LED 控制器。這個LED 控制器管理平臺(即"上位機軟件")通過TCP/IP 協議與LED 屏無線控制器進行通信,而且可以同時控制多臺。上位機軟件與LED 屏無線控制器之間采用GPRS 方式進行連接, 它們之間的連接關系如圖4 所示。

          

        上位機軟件與LED屏控制器的連接關系

          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 網絡連接,接收上位機發送的信息,分析接收信息內容,完成指令, 并按需將發布信息轉換為點陣信息, 送到進行顯示。

          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 所示。

          

        SIM300實現無線LED顯示屏控制系統

          IOCP 框架的實現步驟如下:

          (1)初始化Winsock 工作環境,并創建完成端口,創建完成端口線程,建立一個監聽套接字,使套接字與完成端口關聯起來;


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 屯门区| 崇州市| 石林| 靖江市| 清水县| 连州市| 太谷县| 阳西县| 临泉县| 南木林县| 平和县| 隆回县| 吐鲁番市| 苏尼特左旗| 盱眙县| 鹰潭市| 内乡县| 巩义市| 平乐县| 洪湖市| 朝阳市| 固安县| 米脂县| 汉川市| 沁水县| 司法| 永兴县| 南昌县| 福建省| 西城区| 资兴市| 盐山县| 长顺县| 泰安市| 图木舒克市| 晴隆县| 深州市| 宿松县| 北海市| 呈贡县| 林芝县|