資源描述:
《VisionShow,版本LED顯示屏,異步控制卡通訊協(xié)議.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、LED顯示屏異步控制卡通訊協(xié)議一.協(xié)議概述本協(xié)議協(xié)議采用鏈路層和傳輸層和節(jié)目應(yīng)用層三層協(xié)議模式。鏈路層協(xié)議將傳輸層協(xié)議進(jìn)行封裝打包,包括添加起始符,添加結(jié)束符,計(jì)算并添加CRC校驗(yàn)(校驗(yàn)算法見附錄),對數(shù)據(jù)段進(jìn)行關(guān)鍵字符轉(zhuǎn)義。傳輸層協(xié)議是用于發(fā)送控制命令,或者節(jié)目數(shù)據(jù)拆分組包的協(xié)議。對于控制命令,一條控制命令形成一個(gè)傳輸層的數(shù)據(jù)包;對于節(jié)目數(shù)據(jù),一次節(jié)目數(shù)據(jù)的發(fā)送,對應(yīng)多個(gè)傳輸層數(shù)據(jù)包(起始包,數(shù)據(jù)包,數(shù)據(jù)包,……,數(shù)據(jù)包,結(jié)束包;一個(gè)起始包,多個(gè)數(shù)據(jù)包,一個(gè)結(jié)束包)。節(jié)目應(yīng)用層協(xié)議,是播放節(jié)目的數(shù)據(jù),包括節(jié)目屬性頭部,頁面,內(nèi)碼文字,數(shù)字時(shí)鐘,圖像等元素的協(xié)議定義
2、。二.鏈路層協(xié)議1.鏈路層協(xié)議定義編號(hào)名稱長度(字節(jié))描述1起始符(0x55)1鏈路層數(shù)據(jù)包的起始符2數(shù)據(jù)段N鏈路層數(shù)據(jù)包的數(shù)據(jù)段3結(jié)束符(0xAA)1鏈路層數(shù)據(jù)包的結(jié)束符2.數(shù)據(jù)段協(xié)議描述數(shù)據(jù)段數(shù)據(jù)是由應(yīng)用層形成的數(shù)據(jù)轉(zhuǎn)換形成的,其轉(zhuǎn)換過程如下:1)應(yīng)用層數(shù)據(jù)+CRC校驗(yàn)(2字節(jié))2)對數(shù)據(jù)(包括CRC校驗(yàn)值)進(jìn)行轉(zhuǎn)義,替換掉數(shù)據(jù)中的關(guān)鍵字符。0x55替換為0xBB0x560xAA替換為0xBB0xAB0xBB替換為0xBB0xBC一.控制命令協(xié)議(傳輸層)1.協(xié)議結(jié)構(gòu)說明?PC到控制卡名稱數(shù)據(jù)長度取值說明Command26:校正控制卡時(shí)間9:讀取電源狀態(tài)10:設(shè)
3、置電源狀態(tài)11:讀取亮度12:設(shè)置亮度命令代碼srcAddr10源地址dstAddr1目標(biāo)地址(控制卡地址)SerialNo4電源,亮度值DataN附加數(shù)據(jù),根據(jù)命令代碼不同,定義不同//C語言代碼宏定義和數(shù)據(jù)結(jié)構(gòu)定義#definePKC_SET_TIME6#definePKC_GET_POWER9#definePKC_SET_POWER10#definePKC_GET_BRIGHT11#definePKC_SET_BRIGHT12typedefstructPKG_HEADER{WORDCommand;BYTEsrcAddr;BYTEdstAddr;DWORDSer
4、ialNo;//DWORD型數(shù)據(jù)包號(hào)使系統(tǒng)可傳輸4G數(shù)據(jù)}TPKG_Header,*PPKG_Header;?控制卡到PC名稱數(shù)據(jù)長度取值說明Command23:應(yīng)答標(biāo)識(shí)應(yīng)答代碼,固定值srcAddr1源地址(控制卡地址)dstAddr10目標(biāo)地址SerialNo4包序列號(hào),或者電源和亮度值SrcCommand2命令代碼(從PC發(fā)來的協(xié)議中取得)Result2命令執(zhí)行結(jié)果//C語言代碼宏定義和數(shù)據(jù)結(jié)構(gòu)定義#definePKC_RESPOND3typedefstructPKG_RESPOND{TPKG_HeaderHeader;WORDCommand;WORDResu
5、lt;}TPKG_Respond,*PPKG_Respond;1.校正控制卡時(shí)間?PC到控制卡項(xiàng)目成員取值說明Command6SerialNo0Data要校正的時(shí)間值采用如下時(shí)間值結(jié)構(gòu)typedefstructSYSTEMTIME{WORDyear;WORDmonth;WORDweek;WORDday;WORDhour;WORDminute;WORDsecond;WORDmsecond;}TSystemTime,*PSystemTime;?控制卡到PC項(xiàng)目成員取值說明Command6SerialNo0SrcCommand6Result11.讀取電源狀態(tài)?PC到控制卡
6、項(xiàng)目成員取值說明Command9SerialNo0Data無沒有附加數(shù)據(jù)?控制卡到PC項(xiàng)目成員取值說明Command3SerialNo=0電源關(guān)閉=1電源開啟返回的電源狀態(tài)SrcCommand9Result12.設(shè)置電源狀態(tài)?PC到控制卡項(xiàng)目成員取值說明Command10SerialNo=0電源關(guān)閉=1電源開啟要設(shè)置的電源狀態(tài)Data無沒有附加數(shù)據(jù)?控制卡到PC項(xiàng)目成員取值說明Command3SerialNo=0電源關(guān)閉=1電源開啟返回的電源狀態(tài)SrcCommand10Result13.讀取亮度?PC到控制卡項(xiàng)目成員取值說明Command11SerialNo0Dat
7、a無沒有附加數(shù)據(jù)?控制卡到PC項(xiàng)目成員取值說明Command3SerialNo0到7返回的亮度值SrcCommand11Result11.設(shè)置亮度?PC到控制卡項(xiàng)目成員取值說明Command12SerialNo0到7要設(shè)置的亮度值Data無沒有附加數(shù)據(jù)?控制卡到PC項(xiàng)目成員取值說明Command3SerialNo0到7返回的亮度值SrcCommand12Result1節(jié)目數(shù)據(jù)拆分組包協(xié)議(傳輸層)1.拆分組包發(fā)送節(jié)目數(shù)據(jù)時(shí),節(jié)目數(shù)據(jù)要按照每包512字節(jié)的長度進(jìn)行拆分組包發(fā)送。例如節(jié)目數(shù)據(jù)長度為1200字節(jié)時(shí),則會(huì)拆成3包,分別為512字節(jié),512字節(jié),176字節(jié)