黃齊校 蘇志偉 韋英妹
(1.廣西廣播電視技術(shù)中心;2.廣西廣播電視無線傳播樞紐臺;3.廣西廣播電視技術(shù)中心南寧分中心)
隨著計算機技術(shù)的應(yīng)用,廣播電視發(fā)射機原來越多的采用單片機嵌入式系統(tǒng)進行控制及運行狀態(tài)的監(jiān)測。在嵌入式系統(tǒng)應(yīng)用中,與PC機通信最常用的方式有基于TCP/IP網(wǎng)絡(luò)通信和基于EIA RS232或RS485的串口通信。所以設(shè)計能夠同時滿足這兩種通信方式的協(xié)議是十分必要的。
不同通信方式的特點,對通信協(xié)議結(jié)構(gòu)設(shè)計有著不同的需求。常用的通信協(xié)議格式有以下三種,如表1所示。
從表1對比可以看出,通信協(xié)議格式的靈活性和復(fù)雜度是互相矛盾的。
發(fā)射機的控制一般采用嵌入式結(jié)構(gòu),內(nèi)存和運算性能都有限,因此首選采用固定二進制格式。并且可以從以下幾個原則對協(xié)議的結(jié)構(gòu)進行設(shè)計。
協(xié)議結(jié)構(gòu)簡單,保證可以在性能相對低的嵌入式系統(tǒng)中實現(xiàn),并且提高軟件的可靠性。
預(yù)留部分空白占位字符,或者預(yù)留識別碼等方式。保證將來增加功能仍能使用。
從協(xié)議的長度考慮,數(shù)據(jù)幀太長編碼和解碼困難,容易干擾。數(shù)據(jù)幀太短編碼效率低。
統(tǒng)一的幀結(jié)構(gòu),通過不同的功能碼區(qū)分命令類型。同時將同類型數(shù)據(jù)放置在儀器,可充分利用編譯器的優(yōu)化功能進行程序的優(yōu)化。
減少復(fù)雜的算法,特別是校驗字符,可采用校驗和代替復(fù)雜的CRC校驗,可以減輕運算復(fù)雜度。
考慮嵌入式硬件特性,設(shè)計幀結(jié)構(gòu)。如采用DMA方式收發(fā)數(shù)據(jù),需要協(xié)議設(shè)計成固定長度。
根據(jù)第上述設(shè)計原則,提出了一種廣播電視發(fā)射機通信協(xié)議的設(shè)計方案。
表1 三種常用通信協(xié)議格式
表2
表3 下行幀項目取值范圍
下行幀是從PC向發(fā)射機發(fā)送的命令幀。在該幀結(jié)構(gòu)中,包含了命令類型,設(shè)備類型,設(shè)備地址碼,命令功能碼,命令參數(shù)和校驗。(表2)
幀內(nèi)命令碼、功能碼和參數(shù)的取值范圍如表3。
上行幀是從發(fā)射機返回給PC的返回數(shù)據(jù)。返回幀包含幀頭和幀體兩部分。
返回幀頭結(jié)構(gòu)為:
項目 命令類型 設(shè)備類型 地址碼 功能碼 長度類型 BYTE BYTE BYTE BYTE UINT16
幀體包含了具體的數(shù)據(jù)內(nèi)容:
項目 版本號1版本號2參數(shù)1 參數(shù)2…… 參數(shù)n校驗類型 BYTE BYTE - - - - BYTE
針對不同命令的返回幀返回的幀體內(nèi)部參數(shù)不同。由具體設(shè)備而定。
本文簡要描述了采用嵌入式系統(tǒng)控制架構(gòu)的廣播電視發(fā)射機在通信協(xié)議設(shè)計時需要注意的一些原則,并根據(jù)這些原則提出了一種通信協(xié)議的設(shè)計案例,以此說明這些原則在實際發(fā)射機通信協(xié)議設(shè)計時的可操作性。為同類設(shè)備進行通信協(xié)議設(shè)計時,提供參考。