當(dāng)前位置:首頁 > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀]摘要 RS422A、RS485等異步串行通訊技術(shù)廣泛應(yīng)用于機(jī)載計算機(jī)實時控制系統(tǒng),提高了飛機(jī)的可維護(hù)性和可擴(kuò)展性。為使其穩(wěn)定工作,不僅需要可靠硬件平臺,還需嚴(yán)密的軟件算法°文中描述了某機(jī)載計算機(jī)為實現(xiàn)與多個設(shè)備

摘要 RS422A、RS485等異步串行通訊技術(shù)廣泛應(yīng)用于機(jī)載計算機(jī)實時控制系統(tǒng),提高了飛機(jī)的可維護(hù)性和可擴(kuò)展性。為使其穩(wěn)定工作,不僅需要可靠硬件平臺,還需嚴(yán)密的軟件算法°文中描述了某機(jī)載計算機(jī)為實現(xiàn)與多個設(shè)備進(jìn)行實時異步串行通訊,設(shè)計了統(tǒng)一的硬件平臺,并根據(jù)每個設(shè)備不同的通訊協(xié)議,給出了不同的軟件算法,重點闡述了軟件設(shè)計及原理。根據(jù)該原理研制的產(chǎn)品已經(jīng)過試驗、聯(lián)試和用戶使用,證明其工作可靠、性能良好。
關(guān)鍵詞 RS422A;RS485;通訊軟件設(shè)計

1 RS422A標(biāo)準(zhǔn)
   
RS422A是一種在工程中廣泛使用的接口標(biāo)準(zhǔn),其采用差分傳輸方式,也稱為“平衡傳輸”,標(biāo)準(zhǔn)全稱是“平衡電壓數(shù)字接口電路的電氣特性”。可見RS422A定義的是接口電路的電氣特性,而對數(shù)據(jù)格式未作定義。RS422A是全雙工通信,通信的雙方均含有一個發(fā)送、接收驅(qū)動器。其中接收驅(qū)動器的兩個平衡線連接端點定義為A和B,發(fā)送驅(qū)動器的兩個平衡線連接端點定義為Y和Z,通常使用平衡雙絞線將一端的Y和A、Z和B相連。通常發(fā)送驅(qū)動器端Y、Z之間的正電平在2~6 V,代表正邏輯,負(fù)電平在-6~-2 V,代表負(fù)邏輯。在接收端,當(dāng)A、B之間有>+ 200 mV的電平時,輸出正邏輯電平<-200 mV時,輸出負(fù)邏輯電平。RS422A最大傳輸距離為4 000英尺(約1 219 m),最大傳輸速率為10 Mbit· s-1。其中平衡雙絞線的長度與傳輸速率成反比,在100 kbit·s-1速率下,才可達(dá)到最大傳輸距離。只有在較短的距離下才能獲得最高速率傳輸。一般100 m長的雙絞線可獲取的最大傳輸速率為1Mbit·s-1。

2 硬件設(shè)計
   
對于RS422A、RS485等異步串行通訊的硬件設(shè)計,主要有兩種方式。
    (1)采用協(xié)議芯片加接口驅(qū)動芯片的方式。該方式技術(shù)較成熟,但使用的元器件較多,占用印制板的板面較大。
    (2)采用SOC的方式,將協(xié)議芯片的邏輯功能在可編程邏輯器件FPGA中編程實現(xiàn)。該方式使用的元器件較少,但在FPGA中寫出較完善的協(xié)議邏輯的難度較大。
    本工程中采用第一種方式,用協(xié)議芯片16C552或16C554加接口驅(qū)動芯片進(jìn)行通訊。并設(shè)計回繞自測試電路。采用16C552芯片實現(xiàn)全雙工收發(fā)RS-422器功能,RS-422驅(qū)動電路由DS26LS31MJ(4路RS-422發(fā)送器)、DS26LS32MJ(4路RS-422接收器)、終端匹配電路和保護(hù)電路組成。

3 軟件設(shè)計
3.1 通訊協(xié)議的定義
   
RS422A標(biāo)準(zhǔn)只對接口的電氣特性做出規(guī)定而不涉及協(xié)議,因此可定義自身的高層通信協(xié)議。在本設(shè)計方案中,在底層以Byte為單位通信,采用UART字的格式。在上層協(xié)議中采用數(shù)據(jù)包為單位通信。
    通信協(xié)議中主要規(guī)定:(1)通訊雙方的傳送控制方式,即主從命令響應(yīng)方式或周期通訊方式等。(2)通訊周期。(3)通訊速率,即波特率。(4)通訊字格式。通訊的最小信息單位是UART字,每個UART字由11位二進(jìn)制數(shù)組成,如圖1所示。


    第1位:起始位(邏輯“0”狀態(tài)為有效);第2~9位:信息位;第10位:奇偶校驗位(約定為偶校驗);第11位:停止位(邏輯“1”狀態(tài)為有效)。每個UART字按低位到高位的先后順序串行傳送。對于16位二進(jìn)制數(shù)據(jù)分成兩個UART字,按由低到高的先后順序傳送。(5)通訊包格式。通訊傳送的基本單位是通訊包,通訊包由包頭、包狀態(tài)、數(shù)據(jù)字和包尾組成,最后的包尾是校驗和字,其結(jié)構(gòu)如圖2所示。


    校驗和字為通訊包中除校驗和字外所有字累加和的補(bǔ)碼。校驗和校驗正確的依據(jù)為接收到的UART字塊中所有字的累加和等于0。
    包頭通常規(guī)定為0xAA55或0x55AA,與數(shù)據(jù)字相同的概率較小。包頭一旦與數(shù)據(jù)字相同,則可能誤認(rèn)為該數(shù)據(jù)字為包頭,從而組包錯誤。
    通訊協(xié)議應(yīng)規(guī)定每個數(shù)據(jù)字中每一位的定義。若通訊協(xié)議中存在多種包長或多種數(shù)據(jù)包定義,則應(yīng)在包狀態(tài)中說明該包的包長或包序號,由包序號可明確該包數(shù)據(jù)的詳細(xì)定義。
3.2 接收數(shù)據(jù)
   
首先,需確定接收數(shù)據(jù)的方式,即選擇查詢接收或是中斷接收。嵌入式實時控制系統(tǒng)應(yīng)盡量減少中斷的使用,在查詢接收可滿足通訊要求,且不影響實時性的情況下,盡量采用查詢的方式接收數(shù)據(jù)。
    若通訊協(xié)議規(guī)定,要接收的數(shù)據(jù)包的長度小于或等于硬件接收FIFO緩沖區(qū)的長度,且兩包數(shù)據(jù)間的間隔時間大于或等于最小查詢周期,則可采用查詢的方式接收數(shù)據(jù)。否則需采用中斷的方式接收,才能保證數(shù)據(jù)不丟失。
    采用查詢的方式接收數(shù)據(jù)時,以最小周期進(jìn)行反復(fù)查詢,若硬件接收FIFO緩沖區(qū)中有數(shù)據(jù)則收入軟件中設(shè)定的容量較大的先入先出隊列緩沖區(qū)。
    采用中斷的方式接收數(shù)據(jù)時,硬件接收FIFO緩沖區(qū)中有數(shù)據(jù)則會引發(fā)中斷,中斷服務(wù)程序中將硬件接收FIFO緩沖區(qū)中有數(shù)據(jù)則收入軟件中設(shè)定的容量較大的先入先出隊列緩沖區(qū)。
    而后,再以通訊協(xié)議規(guī)定的接收數(shù)據(jù)周期,從軟件隊列緩沖區(qū)中取數(shù)、找包頭、按包長組包、算校驗和。當(dāng)未收到完整數(shù)據(jù)包或校驗和錯時,進(jìn)行錯誤計數(shù)。


    上述分兩步接收數(shù)據(jù)的流程示意如圖3所示。以該方式,可無需消耗多余的時間,并確保數(shù)據(jù)不丟失。
3.3 發(fā)送數(shù)據(jù)
   
發(fā)送數(shù)據(jù)作為主動的行為,盡量不使用中斷。當(dāng)需發(fā)送的數(shù)據(jù)包長度小于或等于硬件發(fā)送FIFO緩沖區(qū)時,可直接發(fā)送。當(dāng)需發(fā)送的數(shù)據(jù)包長度大于硬件發(fā)送FIFO緩沖區(qū)時,可分為多次發(fā)送。軟件將要發(fā)送的數(shù)據(jù)組織好后存入容量較大的先入先出隊列緩沖區(qū)。再以軟件運(yùn)行的最小周期,將隊列緩沖區(qū)中的數(shù)據(jù)分批裝入硬件發(fā)送FIFO緩沖區(qū)進(jìn)行發(fā)送。

4 數(shù)據(jù)組包的算法
   
以通訊協(xié)議規(guī)定的接收數(shù)據(jù)周期,從軟件隊列緩沖區(qū)中取數(shù),進(jìn)行數(shù)據(jù)組包的算法是較為重要的,其保證了軟件采信數(shù)據(jù)的有效性和完整性。并和通訊協(xié)議密切相關(guān)。包長固定時的流程如圖4所示,其主要步驟如下:


    (1)確認(rèn)要接收的通道號是否合法。
    (2)在軟件隊列緩沖區(qū)中,當(dāng)剩余字節(jié)數(shù)大于等于包長時,才有可能取得新的一包完整數(shù)據(jù)。剩余字節(jié)數(shù)小于包長則認(rèn)為無新的一包完整數(shù)據(jù),等到下個周期再組包接收。
    (3)在剩余字節(jié)數(shù)大于等于包長的條件下,按照通訊協(xié)議中規(guī)定的包頭,從隊列中依次查找,非包頭則拋掉,直至找到包頭。
    (4)以包頭為起始,按包長取出一包數(shù)據(jù),計算校驗和。若校驗和正確則得到一包有效數(shù)據(jù)。
    (5)軟件隊列緩沖區(qū)中若還有足夠數(shù)據(jù),則繼續(xù)查找包頭并組包,若有新的一包有效數(shù)據(jù)則采用最新數(shù)據(jù),防止數(shù)據(jù)積壓。
    用該算法,當(dāng)有錯誤數(shù)據(jù)出現(xiàn)時,可檢查出錯誤并丟棄出錯的數(shù)據(jù)包,找出下一包正確的數(shù)據(jù)。不會因一包數(shù)據(jù)出錯而影響后續(xù)多包數(shù)據(jù)。
    要接收的數(shù)據(jù)包長變化時,通訊協(xié)議需規(guī)定,根據(jù)包頭后的包狀態(tài)字明確該包數(shù)據(jù)的包長。先假定當(dāng)前要接收的是最短包,以緩沖區(qū)中剩余字節(jié)數(shù)大于或等于最短包長,作為找包頭的前提條件。找到包頭后,根據(jù)包狀態(tài)字確定該包包長,若緩沖區(qū)中剩余字節(jié)數(shù)小于該包包長,則認(rèn)為數(shù)據(jù)未完成接收,將包頭和包狀態(tài)字仍留存在緩沖區(qū)中,等待下個周期補(bǔ)充新數(shù)據(jù)后再進(jìn)行組包接收。包長變化時接收數(shù)據(jù)組包的流程較復(fù)雜,如圖5所示。



5 結(jié)束語
   
文中設(shè)計的算法充分考慮了傳輸過程可能出現(xiàn)的各種情況,分兩步完成數(shù)據(jù)接收,小周期或中斷僅進(jìn)行硬件緩沖區(qū)的接收,滿足實時性要求且保證數(shù)據(jù)不會因未及時接收而丟失;大周期進(jìn)行數(shù)據(jù)組包,并以最快捷的方式找到有效數(shù)據(jù)包。系統(tǒng)與12個設(shè)備進(jìn)行RS422A或RS485通訊,經(jīng)驗證,文中設(shè)計的算法綜合機(jī)載計算機(jī)實時控制系統(tǒng)的實時性和可靠性要求。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉