《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > LED顯示屏二次開發接口的設計方案
LED顯示屏二次開發接口的設計方案
摘要: 針對LED顯示屏工程應用中對二次開發接口的需求,提出了一種二次開發接口的方法,歸納為通信通道、節目和命令三類接口,并介紹其基本的功能。據此方案,可在工程應用中簡單、快速地實現二次開發,完成系統集成。
Abstract:
Key words :

引言

在LED 顯示屏工程應用中,有單塊顯示屏項目,但更多的是多塊顯示屏項目。對于單塊顯示屏,直接使用廠商配置的控制軟件就滿足要求了;但對于多塊顯示屏,尤其是系統集成項目,廠商配置的控制軟件就很難滿足要求。這是因為,首先,廠商配置的控制軟件一般只實現通用的功能,對個性化的功能很難滿足要求,例如集成項目需要與后臺數據庫進行連接,實現實時信息發布,一般控制軟件很難提供此項功能;其次,對于集成項目而言,顯示屏信息發布僅是其中一個組成部分,需要統一的控制和界面風格;再次,在一個大的集成項目中,可能有多家廠商中標,或工程實現多年后更換或添加其它廠商的產品,而不同廠商的實現技術可能有所差異。

因此,為了滿足LED 顯示屏在工程中的應用,廠商一般都要提供二次開發接口,供系統集成商進行二次開發,完成系統集成。經過市場調研,現在LED 顯示屏二次開發接口良莠不齊,沒有統一的標準,有的太簡單,很難滿足工程應用,而有的又太復雜,造成系統集成周期長、代價大。因此,經過研究,本文提出一種新的LED 二次開發接口的設計方法,讓用戶簡單、快速地實現系統集成,同時減少二次開發時間和代價。

1 主要功能需求分析和模型構建

在工程應用中,LED 顯示屏主要用來發布信息,尤其是根據后臺數據庫的變化,實時更新信息。

典型的應用是火車站,實時更新車次、軟/ 硬座票、臥鋪票、發車時間等票務信息,以及到站車次、晚點車次等到站信息,除此之外,還有臨時通知、車次變更、廣告、候車室位置等等。

在火車站綜合信息管理系統中,相對于整個系統而言,LED 顯示屏信息發布只是其中一部分,但LED 顯示屏種類、通信類型、分布位置卻可能很復雜,如圖1 所示。按照顯示屏的大小、掛放的位置、顯示的內容和作用,可以將顯示屏分為總引導信息屏、候車信息屏、分區屏、檢票屏、通道顯示屏、站臺屏和出站口信息屏等。在通信方面,根據硬件條件、位置等,一般使用串口、網絡等。串口又分為RS485 和RS232,其中一個RS485 連接多個顯示屏,一個RS232 連接一個顯示屏;網絡又分有線網絡、無線網絡和GPRS 等。

圖1 LED 顯示屏典型系統集成圖

圖1  LED顯示屏典型系統集成圖

經過綜合分析,系統涉及顯示屏的功能有:

(1)發布信息、更新信息、廣告和導向信息;(2)控制顯示屏,如重啟、定時開關屏,設置參數等;(3)監控顯示屏,顯示連接狀態、更新時間等。

其工作過程是:

(1)連接顯示屏;(2)發布信息、下載節目到顯示屏顯示;(3)控制和監控顯示屏;(4)結束操作后斷開連接。

其實,系統調用顯示屏功能并不復雜,主要難點在于:

(1)如何實現多種硬件連接方式統一,包括串口、網絡;(2)如何組織多種信息顯示對象,包括文字、圖片、動畫、時鐘等;(3)如何根據LED 顯示屏的控制要求,提供基本的控制命令,適應多種系統集成方式,包括C/S、B/S 以及分布式、分層控制等。

 

為了解決這些難點,并達到通用、簡單、容易集成的目的,經過研究,本文構建的LED 二次開發接口的模型如圖2 所示,主要功能和流程如下:

(1)調用通信控制接口,根據不同的通信方式分別創建其通信通道,完成LED 顯示屏連接;(2)調用節目制作接口,創建節目、添加節目對象,生成節目數據,然后使用命令接口發送節目到顯示屏,完成信息發布;(3)調用命令接口,進行顯示屏重啟、開/ 關屏、設置亮度、更新時間、讀取顯示屏時間等操作,完成顯示屏的控制、監控工作;(4)退出系統時,關閉通信通道,釋放資源,結束二次開發接口的調用操作。

圖2 LED二次開發接口模型

2 關鍵功能的設計和實現

2.1 通信協議設計

LED 顯示屏二次開發接口設計的首要工作是定義控制端與LED 顯示屏之間的通信協議。為了實現簡便并對用戶透明,這里所有通信方式皆采用同一協議,每一個命令都成對出現,對應命令和返回命令,如表1 和表2 所示。

表1 命令格式

表1 命令格式

表2 返回命令格式

表2 返回命令格式

各參數說明:

(1)命令類型:標注命令類型ID,如通信握手命令、文件傳輸以及其它控制指令等;

(2)命令號:如果某一類型命令有多個,不同的命令號表示該類不同的命令;

(3)目標ID:指顯示屏ID,默認值為0x01;

(4)源ID:指控制端ID,默認為0x00;

(5)長度:指具體命令實際數據長度;

(6)數據:具體命令的數據或返回結果;

(7)校驗和:除校驗和外所有該協議數據的校驗和數據,一般使用算術和即可。

命令傳輸邏輯如下:

(1)發送方在發送具體的命令之前,先發送一個通信握手命令:

控制源端- - - - - - - - - - 發送通信握手命令- - - - - - - - - - 》 顯示屏控制源端《- - - - - - - - - - 返回通信握手命令- - - - - - - - - - 顯示屏

控制源端收到結果正確,則表示顯示屏已經做好接收數據準備,可以開始發送具體命令。如果收不到顯示屏的任何返回,需要檢查物理鏈路是否正常,串口的波特率設置是否正常等。

(2) 發送方把具體命令數據按前面的格式進行打包發送到顯示屏,顯示屏在收到數據包后會對數據進行校驗檢查。如果校驗失敗,則請求重發。

(3)發送方的命令成功發送到顯示屏后,顯示屏按協議包格式把控制卡執行的結果反饋到發送方。如果校驗失敗,請求顯示屏重發執行結果數據;否則發送結束結果給顯示屏,結束命令過程。

(4) 如果(2)中指令是文件傳輸指令,則重復(2)、(3),直到文件傳輸結束。

在通信過程中,發送方要強制結束發送過程,可以發送通信握手命令或強制中止通信進行強制終止。

2.2 通信通道接口

在對LED 顯示屏進行通信之前,必須先建立通信通道,而退出系統時,則釋放通信通道資源。通信通道接口包括:

(1)打開通信通道

函數格式:DWORD COMM_Open (constPDeviceParam pDevParam, DWORD dwNotify,DWORD dwWindws , DWORD dwMsg);

參數說明:

① pDevParam:表示指定設備的參數,例如串口的波特率、串口號,以及網絡本地IP 地址、端口號等參數;② dwNotify:表示當LED 顯示屏有返回值時是否通知,0 代表不通知,1 表示通知;③ dwWindws :表示消息通知的窗體句柄;④ dwMsg:用戶定義的消息號。

返回值:

① 0:表示創建失敗;② 其它值:表示設備通道值。

功能描述:

該函數用來建立一個通信通道,函數運行一次即建立一個通道,建立成功就返回一個DWORD值,代表一個設備的句柄,用于區分不同的通道。該值供其它接口函數使用,以便對不同的顯示屏進行控制。

物理上支持串口通道、網絡通道,對于串口,設置串口號、波特率、接收/ 發送緩沖區,然后打開串口;對于網絡,設置本地IP、端口號、接收/ 發送緩沖區,然后打開網口。這里需要特別強調的是,網絡采用UDP 方式,這主要是為了:

① 在協議實現上與串口統一;② 只需一次創建;③ 提高網絡通信握手連接。

因篇幅原因,以下函數將只列出函數格式和功能說明。

(2)關閉通信通道

函數格式:DWORD COMM_Close (DWORDdwDev/* 通信設備通道*/);

該函數關閉已打開的通信通道(dwDev),釋放通信通道資源,一般在退出系統前使用。

(3)強制中止通信

函數格式:DWORD COMM_Break (DWORDdwDev);

該函數中止當前通信通道(dwDev)的通信。

(4)通信握手

函數格式:DWORD COMM_Link (DWORD dwDev/* 通信設備通道*/,

BYte byDstNo/* 目標顯示屏ID*/,

char *chHost/* 網絡地址,串口時無效*/,

WORD wPort/* 網絡端口號,串口時無效*/

);

該函數查詢顯示屏是否能夠通信,可在通信之前或監控LED 顯示屏時使用。

2.3 節目接口

LED 顯示屏顯示的信息其實是一個個的節目文件,一般先在上位機控制系統中生成,然后發送到顯示屏上顯示。在設計節目接口時,可能因節目結構不同,細節上有些差別,本文根據如圖3 所示的樹形節目結構設計一種節目接口。

(1)節目初始化。

函數格式:

DWORD Program_Init (DWORD dwProgramType/* 節目類型*/,

DWORD dwScreenType/* 顯示屏類型*/,

DWORD dwWidth/* 節目寬度*/,

DWORD dwHeight/* 節目高度*/

);

該函數用于在計算機內存開辟一塊內存空間,或釋放上一次節目占用的資源,為節目生成做準備。

(2)添加區域

函數格式:

DWORD Program_AddArea (DWORD dwAreaType/* 區域類型*/,

LPRECT rect/* 顯示區域*/,

DWORD &dwAreaNO/* 區域號*/

);

在顯示屏頁面上,根據節目的要求,需要劃分不同的區域,設置其起點和寬高。可使用該函數在當前顯示頁面上創建一個個的區域,以放置具體的顯示對象,例如內碼文字、時鐘等。

(3)添加各種對象。

在頁面的區域上,可添加單行文字、多行文字、內碼文字、圖片、視頻動畫、WORD 文檔、Flash 動畫、表格、數字時鐘、模擬時鐘、倒計時等各種顯示對象,在實現時,每一種對象對應一個函數。這里列出常用的添加圖片的函數:

函數格式:

DWORD Program_AddPicture(DWORD dwAreaNO/* 區域號*/,

HDC dc/* 圖形dc*/,

DWORD dwWidth/* 圖片寬*/,

DWORD dwHeight/* 圖片高*/,

LPRECT rect/* 顯示區域*/,

DWORD dwAction/* 特效號*/,

DWORD dwExitAction/* 退出特效號*/,

DWORD dwSpeed/* 顯示速度*/,

DWORD dwTimecount/* 顯示時間*/,

DWORD dwTransparent/* 透明與否*/);

該函數在指定區域上添加一個圖片,顯示內容來自于dc.

(4)節目數據生成。

函數格式:DWORD Program_MakeData()。

該函數生成節目數據, 以便使用LEDControl_SendToScreen 函數發送到不同的顯示屏。

2.4 命令接口

命令接口主要為控制、監控和發送節目數據而設計,例如,火車站或街頭的廣告屏,在夜間人少時,廣告效果不明顯,同時也為了省電,可在指定夜間時間點關閉顯示屏,然后到早晨指定時間點自動打開顯示屏。經過總結,命令接口的命令包括:

(1)重啟命令。

函數格式:DWORD LEDControl_Reboot(DWORD dwDev, BYTE byDstNo, char *chHost,WORD wPort);

該函數用來重啟指定的LED 顯示屏。

(2)電源控制。

函數格式:DWORD LEDControl_SetPower(DWORD dwDev, BYTE byDstNo, char chHost,WORD wPort, DWORD dwPower/* 開或關標識*/);

該函數打開或關閉顯示屏。

(3)顯示屏亮度調節。

函數格式:DWORD LEDControl_SetBrightness(DWORD dwDev, BYTE byDstNo, char *chHost,WORD wPort, BYTE byBrightness/* 亮度*/);

該函數用于調節顯示屏亮度。

(4)校時。

函數格式:DWORD LEDControl_AdjustTime(DWORD dwDev, BYTE byDstNo, char *chHost,WORD wPort);

該函數用于計算機時鐘校正顯示屏時鐘。

(5)節目發送接口。

函數格式:DWORD LEDControl_SendToScreen(DWORD dwDev, BYTE byDstNo, char *chHost,WORD wPort);

該函數將Program_MakeData 生成的節目數據發送到顯示屏,最后返回狀態值,表示成功、失敗及其它狀態,用戶根據狀態再進行相應的處理。

(6)局部更新節目接口。

函數格式:DWORDLEDControl_UpdateCodeText (DWORD dwDev,BYTE byDstNo, char *chHost, WORD wPort,char *chCodeText/* 字符串緩沖區*/, int iLen/*字符串長度*/);

該函數用來更新顯示屏局部內容。對于一些信息發布,一般只需要更新局部的內容,例如車站大廳信息發布,顯示屏劃分很多的區域,有數字時鐘、模擬時鐘、圖片、動畫和文字等不同的區域,一般往往只更新文字部分內容,即可達到信息發布的目的,同時不用生成節目,節省了時間和提高了效率。

3 二次開發接口的應用

二次開發接口一般都是以動態鏈接庫的形式提供給用戶,并提供主流開發語言的接口和例程,例如VC、C#、DELphi 和VB 等。一般的調用流程是:

(1)載入動態鏈接庫;(2)建立通信通道;(3)進行顯示屏控制、監控操作;(4)進行節目制做、發送和更新;(5)關閉通信通道;(6)釋放動態鏈接庫,完成二次開發接口的調用。

4 結論

本文針對LED 顯示屏工程應用中對二次開發接口的需求,提出了一種LED 顯示屏二次開發接口的方法,將二次開發接口總結為通信通道、節目和命令三種接口,并在網絡先鋒控制卡系列產品中應用。實踐證明,該方法可讓用戶在系統集成中,簡單、快速地實現其二次開發功能,同時降低系統集成的周期和代價。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产精品s色| 国内一区二区在线视频观看| 性xx色xx综合久久久xx| 99re66热这里只有精品4| 欧美在线网址| 亚洲欧美在线免费观看| 亚洲深夜影院| 一本色道久久综合狠狠躁篇怎么玩 | 午夜在线成人av| 在线一区二区日韩| 99re热这里只有精品视频 | 亚洲国产一区在线| 欧美在现视频| 欧美在线地址| 欧美在线观看一区| 亚洲天堂成人在线视频| 在线亚洲电影| 亚洲视频1区| 亚洲一区二区免费视频| 亚洲一区二区3| 亚洲淫片在线视频| 亚洲在线不卡| 亚洲欧美一区二区三区极速播放 | 午夜在线电影亚洲一区| 亚洲欧美自拍偷拍| 亚洲在线成人| 先锋影音国产精品| 欧美在线免费观看视频| 欧美在线播放一区| 久久国产主播| 裸体歌舞表演一区二区| 免播放器亚洲一区| 欧美成人国产一区二区| 欧美激情精品久久久久久变态| 欧美激情亚洲自拍| 一区二区三区视频在线观看| 亚洲一区二区三区在线看 | 午夜视频一区在线观看| 久久精品视频免费播放| 久久噜噜噜精品国产亚洲综合| 蜜月aⅴ免费一区二区三区 | 亚洲国产欧美一区二区三区同亚洲| 最新中文字幕一区二区三区| 亚洲精品社区| 亚洲免费影视| 久久国内精品自在自线400部| 亚洲激情校园春色| 一区二区激情小说| 亚洲欧美中文日韩v在线观看| 久久久亚洲国产美女国产盗摄| 欧美a级片一区| 欧美视频在线免费看| 国产精品你懂的| 国产综合久久久久影院| 亚洲丰满在线| 在线视频一区观看| 久久大香伊蕉在人线观看热2| 日韩视频一区二区| 性欧美办公室18xxxxhd| 久久一区视频| 欧美日韩在线播放一区二区| 欧美激情精品久久久久久蜜臀| 欧美午夜精品电影| 激情成人亚洲| 99v久久综合狠狠综合久久| 亚洲摸下面视频| 最新成人在线| 午夜天堂精品久久久久| 美女精品自拍一二三四| 欧美三日本三级三级在线播放| 国产午夜精品视频免费不卡69堂| 亚洲电影免费观看高清| 在线亚洲欧美| 亚洲精品国产精品乱码不99| 亚洲欧美在线aaa| 欧美成人有码| 国产麻豆综合| 亚洲精品一区二区在线| 久久精品久久99精品久久| 一区二区三区视频在线观看| 久久国产精品一区二区| 欧美日韩在线观看一区二区三区| 精品成人国产在线观看男人呻吟| aaa亚洲精品一二三区| 久久精品首页| 亚洲免费小视频| 欧美精品一区二区三区在线看午夜| 国产日本欧美一区二区三区| 亚洲精品在线视频观看| 久久精品一区二区三区不卡牛牛| 亚洲欧美另类中文字幕| 欧美成人激情在线| 国产精品中文在线| 99re6热在线精品视频播放速度| 久久精品国产免费观看| 午夜国产精品影院在线观看| 欧美激情视频一区二区三区不卡| 国产日韩欧美成人| 亚洲视频www| 一区二区免费在线视频| 女女同性精品视频| 国产亚洲亚洲| 中文亚洲欧美| 国产精品99久久久久久久女警| 欧美/亚洲一区| 好看不卡的中文字幕| 亚洲综合丁香| 亚洲自拍高清| 欧美日韩中文| 亚洲精品免费在线播放| 亚洲激情亚洲| 蜜桃久久av一区| 激情国产一区| 亚洲高清激情| 久久综合色一综合色88| 国产综合网站| 久久狠狠婷婷| 久久综合免费视频影院| 影音国产精品| 亚洲国产高清一区| 久久综合伊人77777麻豆| 狠狠干综合网| 久久激情中文| 免费欧美日韩| 亚洲人线精品午夜| 一本色道精品久久一区二区三区| 欧美精品一二三| 99riav久久精品riav| 亚洲自拍偷拍视频| 国产精品久久久久久久久久免费 | 免费精品99久久国产综合精品| 国产一区二区三区不卡在线观看| 亚洲免费在线观看| 亚洲日本中文字幕| 免费影视亚洲| 在线看国产一区| 亚洲精选中文字幕| 欧美电影免费观看大全| 一区在线观看视频| 亚洲第一黄色网| 欧美国产视频一区二区| 亚洲国产高清aⅴ视频| 久久精品欧洲| 久久伊人精品天天| 国产欧美精品va在线观看| 欧美亚洲综合久久| 欧美在线首页| 国产私拍一区| 久久大逼视频| 久久成人18免费观看| 黄色成人在线网址| 久久精品三级| 久久中文字幕一区二区三区| 国内精品模特av私拍在线观看| 欧美在线欧美在线| 久久精品久久99精品久久| 国产亚洲精品7777| 欧美一区高清| 久久综合久久久| 一本一本久久a久久精品牛牛影视| 亚洲手机在线| 国产精品麻豆va在线播放| 亚洲性感美女99在线| 中文亚洲字幕| 国产精品国产三级欧美二区| 亚洲小说欧美另类社区| 久久精品国产一区二区三| 国产精品一区二区三区久久| 亚洲第一精品夜夜躁人人爽| 美日韩精品视频| 亚洲精品孕妇| 亚洲小视频在线| 欧美视频一区二区三区四区| 欧美一级黄色录像| 久久躁日日躁aaaaxxxx| 亚洲国产精品视频一区| 一本色道婷婷久久欧美| 国产日韩欧美制服另类| 亚洲高清影视| 另类欧美日韩国产在线| 极品日韩久久| 一本久道综合久久精品| 国产精品久久久久久久久借妻| 午夜在线a亚洲v天堂网2018| 欧美伦理影院| 亚洲午夜电影在线观看| 久久久xxx| 亚洲国产精品久久人人爱蜜臀 | 国产精品手机视频| 久久国内精品自在自线400部| 欧美激情视频在线播放| 亚洲精品自在久久| 久久免费99精品久久久久久| 亚洲精品一区二区三区福利| 欧美一区二区视频免费观看| 极品日韩av| 欧美一区二视频在线免费观看| 在线观看日韩| 亚洲在线免费观看| 国内自拍视频一区二区三区|