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