黃齊校 蘇志偉 韋英妹
(1.廣西廣播電視技術中心;2.廣西廣播電視無線傳播樞紐臺;3.廣西廣播電視技術中心南寧分中心)
隨著計算機技術的應用,廣播電視發射機原來越多的采用單片機嵌入式系統進行控制及運行狀態的監測。在嵌入式系統應用中,與PC機通信最常用的方式有基于TCP/IP網絡通信和基于EIA RS232或RS485的串口通信。所以設計能夠同時滿足這兩種通信方式的協議是十分必要的。
不同通信方式的特點,對通信協議結構設計有著不同的需求。常用的通信協議格式有以下三種,如表1所示。
從表1對比可以看出,通信協議格式的靈活性和復雜度是互相矛盾的。
發射機的控制一般采用嵌入式結構,內存和運算性能都有限,因此首選采用固定二進制格式。并且可以從以下幾個原則對協議的結構進行設計。
協議結構簡單,保證可以在性能相對低的嵌入式系統中實現,并且提高軟件的可靠性。
預留部分空白占位字符,或者預留識別碼等方式。保證將來增加功能仍能使用。
從協議的長度考慮,數據幀太長編碼和解碼困難,容易干擾。數據幀太短編碼效率低。
統一的幀結構,通過不同的功能碼區分命令類型。同時將同類型數據放置在儀器,可充分利用編譯器的優化功能進行程序的優化。
減少復雜的算法,特別是校驗字符,可采用校驗和代替復雜的CRC校驗,可以減輕運算復雜度。
考慮嵌入式硬件特性,設計幀結構。如采用DMA方式收發數據,需要協議設計成固定長度。
根據第上述設計原則,提出了一種廣播電視發射機通信協議的設計方案。

表1 三種常用通信協議格式

表2

表3 下行幀項目取值范圍
下行幀是從PC向發射機發送的命令幀。在該幀結構中,包含了命令類型,設備類型,設備地址碼,命令功能碼,命令參數和校驗。(表2)
幀內命令碼、功能碼和參數的取值范圍如表3。
上行幀是從發射機返回給PC的返回數據。返回幀包含幀頭和幀體兩部分。
返回幀頭結構為:

項目 命令類型 設備類型 地址碼 功能碼 長度類型 BYTE BYTE BYTE BYTE UINT16
幀體包含了具體的數據內容:

項目 版本號1版本號2參數1 參數2…… 參數n校驗類型 BYTE BYTE - - - - BYTE
針對不同命令的返回幀返回的幀體內部參數不同。由具體設備而定。
本文簡要描述了采用嵌入式系統控制架構的廣播電視發射機在通信協議設計時需要注意的一些原則,并根據這些原則提出了一種通信協議的設計案例,以此說明這些原則在實際發射機通信協議設計時的可操作性。為同類設備進行通信協議設計時,提供參考。