資源描述:
《VisionShow,版本LED顯示屏,異步控制卡通訊協(xié)議》由會員上傳分享,免費在線閱讀,更多相關內容在工程資料-天天文庫。
1、LED顯示屏異步控制卡通訊協(xié)議協(xié)議概述本協(xié)議協(xié)議采用鏈路層和傳輸層和節(jié)目應用層三層協(xié)議模式。鏈路層協(xié)議將傳輸層協(xié)議進行封裝打包,包括添加起始符,添加結朿符,計算并添加CRC校驗(校驗算法見附錄),對數(shù)據(jù)段進行關鍵字符轉義。傳輸層協(xié)議是川于發(fā)送控制命令,或者節(jié)目數(shù)據(jù)拆分組包的協(xié)議。對于控制命令,一條控制命令形成一個傳輸層的數(shù)據(jù)包;對于節(jié)目數(shù)據(jù),一次節(jié)目數(shù)據(jù)的發(fā)送,対應多個傳輸層數(shù)據(jù)包(起始包,數(shù)據(jù)包,數(shù)據(jù)包,數(shù)據(jù)包,結束包;一個起始包,多個數(shù)據(jù)包,一個結束包)。節(jié)「I應川層協(xié)議,是播放節(jié)目的數(shù)據(jù),包括節(jié)「I屬性頭部,頁面,內碼文字,數(shù)字時鐘,圖像等元索的協(xié)議定義。二.鏈路層協(xié)議
2、L鏈路層協(xié)議定義編號名稱長度(字節(jié))描述1起始符(0x55)1鏈路層數(shù)據(jù)包的起始符2數(shù)據(jù)段N鏈路層數(shù)據(jù)包的數(shù)據(jù)段3結束符(OxAA)1鏈路層數(shù)據(jù)包的結束符2.數(shù)據(jù)段協(xié)議描述數(shù)據(jù)段數(shù)據(jù)是由應用層形成的數(shù)據(jù)轉換形成的,其轉換過程如21)應用層數(shù)據(jù)+CRC校驗(2字節(jié))2)對數(shù)據(jù)(包JSCRC校驗值)進行轉義,替換掉數(shù)據(jù)中的關鍵字符。0x55替換為OxBB0x56OxAA替換為OxBBOxABOxBB替換為OxBBOxBC三?控制命令協(xié)議(傳輸層)1.協(xié)議結構說明>PC到控制卡名稱數(shù)據(jù)長度取值說明Command26:校止控制卡時間9:讀取電源狀態(tài)10:設置電源狀態(tài)11:讀取亮度12
3、:設置亮度命令代碼srcAddr10源地址dstAddr1「1標地址(控制卡地址)SerialNo4電源,亮度值DataN附加數(shù)據(jù),根據(jù)命令代碼不同,定義不同//C語言代碼龍定義和數(shù)據(jù)結構定義#detinePKC.SET.TIME6#deflnePKC_GET_POWER9#definePKC_SET_POWER10#definePKC_GET_BRIGHT11#definePKC_SET_BRIGHT12typcdcfstructPKG_HEADER{WORDCommand;BYTEsrcAddr;BYTEdstAddr;DWORDSerialNo;//DWORD型數(shù)據(jù)包號
4、使系統(tǒng)叮傳輸4G數(shù)據(jù)
5、TPKG_Header,*PPKG_Header;>控制卡到PC名稱數(shù)據(jù)長度取值說明Command23:應答標識應答代碼,固定值srcAddr1源地址(控制卡地址)dstAddr10目標地址SerialNo4包序列號,或者電源和亮度值SrcCommand2命令代碼(從PC發(fā)來的協(xié)議中取得)Result2命令執(zhí)行結果〃c語言代碼宏定義和數(shù)據(jù)結構定義#dcfincPKC_RESPOND3typcdcfstructPKG_RESPOND{TPKG_HeaderHeader;WORDCommand;WORDResult;)TPKG_Respond,*PPKG_R
6、espond;2.校正控制卡時間>pc到控制卡項目成員取值說明Command6SerialNo0Data要校正的時間值采用如下吋間值結構typedefstructSYSTEMTIME{WORDyear;WORDmonth;WORDweek;WORDday;WORDhour;WORDminute;WORDsecond;WORDmsecond;JTSystemTime,*PSystemTime;>控制卡到PC項目成員取值說明Command6SerialNo0SrcCommand6Result13?讀取電源狀態(tài)>pc到控制卡項bl成員取值說明Command9SerialNo0Dat
7、a無沒有附加數(shù)據(jù)>控制卡到PC項目成員取值說明Command3SerialNo=0電源關閉=1電源開啟返冋的電源狀態(tài)SrcCommand9Result14.設置電源狀態(tài)>pc到控制卡項目成員取值說明Command10SerialNo=0電源關閉=1電源開啟要設置的電源狀態(tài)Data無沒有附加數(shù)據(jù)>控制卡到PC項H成員取值說明Command3SerialNo=0電源關閉=1電源開啟返回的電源狀態(tài)SrcCommand10Result15.讀取亮度>pc到控制卡項目成員取值說明Command11SerialNo0Data無沒有附加數(shù)據(jù)>控制卡到PC項目成員取值說明Command3Se
8、rialNo0到7返冋的亮度值SrcCommand11Result14.設置亮度>pc到控制卡項bl成員取值說明Command12SerialNo0到7要設置的亮度值Data無沒有附加數(shù)據(jù)>控制卡到PC項目成員取值說明Command3SerialNo0到7返冋的亮度值SrcCommand12Result11.拆分組包E1發(fā)送節(jié)目數(shù)據(jù)時,節(jié)目數(shù)據(jù)要按照每包512字節(jié)的長度進行拆分紐包發(fā)送。例如節(jié)目數(shù)據(jù)長度為1200字節(jié)時,則會拆成3包,分別為512字節(jié),512字節(jié),176字節(jié)。那么,實際發(fā)送過程為2.協(xié)議