• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      淺談一種基于FPGA的雙冗余422串口通信方法及實現(xiàn)

      2020-10-09 11:13:30孫廣海
      科學(xué)與信息化 2020年27期
      關(guān)鍵詞:正確性實時性

      孫廣海

      摘 要 對于任何設(shè)備而言,無不重視對外交互接口的時效性和正確性。如何在有限的資源條件下保證通信的實時性和正確性成了通信設(shè)計的關(guān)注重點。本文介紹了一種基于FPGA實現(xiàn)雙冗余422串口通信方法。

      關(guān)鍵詞 FPGA;雙冗余;實時性;正確性

      1技術(shù)領(lǐng)域

      本方法涉及電子對抗領(lǐng)域,尤其是電子對抗中與外部接口通信處理,具體而言涉及一種基于FPGA的雙冗余422串口通信方法設(shè)計。

      本方法提供一種基于FPGA的雙冗余RS422通信方法及實現(xiàn),該方法采用FPGA實現(xiàn)了雙路RS422串口通信的冗余備份,同時解決了每路RS422串口通信的主/從應(yīng)答機制,提高了通信的實時性,同時降低了應(yīng)用層任務(wù)處理資源的消耗[1]。

      2背景技術(shù)

      在現(xiàn)代電子對抗中,無論對于哪種系統(tǒng)設(shè)備而言,與外部接口通信都是關(guān)鍵環(huán)節(jié)。接收外部命令消息,上報自身設(shè)備信息都必須依賴于外部接口,所以外部接口通信尤其要保證穩(wěn)定、高效。隨著近年來電子技術(shù)的發(fā)展,雷達體制和信號形式變得越來越復(fù)雜而多樣,戰(zhàn)場空間電磁密度不斷提升。各型設(shè)備上報的信息越來越復(fù)雜,數(shù)據(jù)量越來越大,對外部接口設(shè)計的實時性要求越來越高。而由于受限與平臺總線形式和外部接口通信協(xié)議,通信方法設(shè)計難度隨之提升,且重要性不言而喻。下面介紹某型平臺上某型設(shè)備對外通信方法設(shè)計。

      該型直升機機上配置的是RS422總線,機上綜合任務(wù)系統(tǒng)與某型設(shè)備系統(tǒng)(以下簡稱設(shè)備系統(tǒng))通過兩路RS422實現(xiàn)通信,兩路RS422為雙冗余關(guān)系。為實現(xiàn)每路RS422通信的可靠性,定義通信協(xié)議為點對點的主/從應(yīng)答式全雙工422通信(傳輸周期50ms),綜合任務(wù)系統(tǒng)為主端,設(shè)備系統(tǒng)為從端。主端主動發(fā)送通信消息,從端在接收到主端發(fā)送的消息時,按照消息塊號判斷主端發(fā)送報文的正確性,正確則發(fā)送自身需上報的消息,主端接收到從端發(fā)送的消息報文時,根據(jù)從端發(fā)送的消息塊號判斷從端發(fā)送報文的正確性,正確則發(fā)送下一包報文,否則,重新發(fā)送當前報文。

      若在設(shè)備系統(tǒng)軟件應(yīng)用層實現(xiàn)如此通信機制,則對設(shè)備系統(tǒng)處理資源提出很大需求,最主要是CPU的占用率,占用大量CPU時間資源來處理422消息接收和422消息發(fā)送,由于其他任務(wù)運行優(yōu)先級低于接口通信任務(wù),導(dǎo)致其他任務(wù)無法搶占CPU運行時間,導(dǎo)致信息上報不及時。同時,由于CPU資源被占,導(dǎo)致通信接口接收消息和發(fā)送消息處理不及時,影響接口通信的實時性和準確性,接口通信低效。

      為解決接口通信任務(wù)處理低效、實時性差的問題,我們采用FPGA來實現(xiàn)雙冗余和主/從應(yīng)答通信機制的處理,釋放設(shè)備系統(tǒng)CPU資源用于其他數(shù)據(jù)處理。

      現(xiàn)有的接口通信任務(wù)處理是在應(yīng)用層運行兩個通信接收處理任務(wù),每個接收任務(wù)處理一路RS422數(shù)據(jù),兩個任務(wù)同時接收對應(yīng)RS422鏈路數(shù)據(jù),根據(jù)鏈路狀態(tài),判別雙冗余特性,決定數(shù)據(jù)主路和輔路,主路實時接收422鏈路發(fā)送的字節(jié)數(shù)據(jù),接收完整一個數(shù)據(jù)報文后,進行校驗和消息塊號的合法性判斷,數(shù)據(jù)判斷正確后發(fā)送給數(shù)據(jù)處理任務(wù)進行數(shù)據(jù)處理;輔路實時接收422鏈路數(shù)據(jù),并判斷數(shù)據(jù)類型是否為首次握手報文,若為首次握手報文則發(fā)送給應(yīng)用層數(shù)據(jù)處理任務(wù)處理,否則拋棄當前數(shù)據(jù)報文。當主路通信故障時,則處理輔路報文數(shù)據(jù),當主路恢復(fù)正常通信后,再恢復(fù)主路數(shù)據(jù)處理。同時應(yīng)用層運行一個數(shù)據(jù)發(fā)送任務(wù),將待發(fā)送的數(shù)據(jù)緩存在FIFO中,數(shù)據(jù)接收任務(wù)接收到一個正確的通信報文后,將消息塊號傳遞給發(fā)送任務(wù),發(fā)送任務(wù)根據(jù)當前消息塊號將需發(fā)送的數(shù)據(jù)報文發(fā)送給綜合任務(wù)系統(tǒng),實現(xiàn)通信機制的主/從應(yīng)答。數(shù)據(jù)發(fā)送任務(wù)將數(shù)據(jù)同時發(fā)送給兩路RS422,數(shù)據(jù)保持一致。

      上述通信方法是基于應(yīng)用層任務(wù)的處理方法,能實現(xiàn)雙冗余422主/從應(yīng)答式通信,但在實際設(shè)備使用中主要存在以下問題:

      (1)要處理兩路422接口數(shù)據(jù)接收和一路數(shù)據(jù)發(fā)送,需運行兩個數(shù)據(jù)接收任務(wù)和一個數(shù)據(jù)處理任務(wù),增加了任務(wù)數(shù)量,增加了任務(wù)調(diào)度時間消耗;

      (2)由于雙冗余特性,兩個接收任務(wù)必須實時接收數(shù)據(jù)處理,但只處理主路數(shù)據(jù),主路通信故障時,才處理輔路數(shù)據(jù),導(dǎo)致任務(wù)運行低效;

      (3)由于通信機制發(fā)送周期為50ms,當無應(yīng)用數(shù)據(jù)發(fā)送時,發(fā)送的是純通信包,用以保證通信鏈路的正常,兩個數(shù)據(jù)接收任務(wù)周期性讀取數(shù)據(jù),應(yīng)用層回復(fù)純通信包,任務(wù)運行效率較低;

      (4)由于兩個數(shù)據(jù)接收任務(wù)是通過CPU時間搶占式調(diào)度,兩者任務(wù)不能同時運行,影響的數(shù)據(jù)接收處理的實時性;

      (5)由于數(shù)據(jù)接收任務(wù)和發(fā)送任務(wù)優(yōu)先級較其他任務(wù)優(yōu)先級高,尤其是信號處理任務(wù),導(dǎo)致其他任務(wù)搶占不到CPU運行資源或運行資源不足,導(dǎo)致信號處理無法完成,影響設(shè)備告警或偵察。

      綜上所述,對應(yīng)用層任務(wù)處理雙冗余422主/從應(yīng)答式通信方法進行工程優(yōu)化改進并實現(xiàn),是設(shè)備適應(yīng)平臺總線形式和通信機制的迫切需要,它的實現(xiàn)可以提高對外通信的效率和實時性,同時提高了應(yīng)用層任務(wù)資源使用率[2]。

      3方法內(nèi)容

      本方法目的在于提供一種基于FPGA的雙冗余422通信方法及實現(xiàn),通過FPGA的并行處理,實現(xiàn)雙冗余422的同步判斷,實現(xiàn)通信的實時性;同時根據(jù)接收到的消息塊號將需要發(fā)送的消息報文發(fā)送給綜合任務(wù)系統(tǒng),實現(xiàn)了每路422通信的主/從應(yīng)答;在FPGA層實現(xiàn)純通信報文的回復(fù),只將應(yīng)用消息發(fā)送給應(yīng)用層,保證了通信傳輸?shù)母咝浴?/p>

      本方法的另一目的在于降低了應(yīng)用層任務(wù)數(shù)量,同時去除了應(yīng)用層中運行優(yōu)先級高且高頻率重復(fù)運行的任務(wù),降低了CPU的使用負荷,提高了信號處理效率。

      為達成上述目的,本方法所采用的技術(shù)方案如下:

      建立兩個獨立的接收FIFO,實時接收兩路422串口數(shù)據(jù);

      建立一個發(fā)送FIFO,用于存放應(yīng)用層需發(fā)送的消息數(shù)據(jù);

      建立一個RAM,用于存放接收消息中消息塊號,默認初始化為0;

      設(shè)定主路和輔路標記,實時接收兩路數(shù)據(jù),優(yōu)先處理主路數(shù)據(jù),同時判斷輔路數(shù)據(jù)是否為“首次握手”命令,若為“首次握手”命令,則將消息報文發(fā)送給應(yīng)用層,否則拋棄當前報文;

      實時判斷兩路422通信狀態(tài),當任意一路連續(xù)5個周期內(nèi)未接收到數(shù)據(jù)時,則判斷該鏈路通信故障,并將故障信息發(fā)送給應(yīng)用層,當一路通信故障時,調(diào)用另一路的數(shù)據(jù);

      判斷接收數(shù)據(jù)長度,校驗和消息塊號,若報文正確,則將消息塊號放入RAM中;

      判斷報文類型,若為純通信包,則判斷發(fā)送FIFO中是否為空,若為空,則讀取RAM中消息塊號,發(fā)送純通信包給綜合任務(wù)系統(tǒng),若不為空,則讀取發(fā)送FIFO中的一個報文消息和RAM中消息塊號,發(fā)送給綜合任務(wù)系統(tǒng);

      若接收報文為應(yīng)用消息,則將應(yīng)用消息發(fā)送給應(yīng)用層;

      接收應(yīng)用層發(fā)送的上報數(shù)據(jù),放入發(fā)送FIFO緩存中;

      進一步的實施例中,所述的“首次握手”命令在FPGA層做一級判斷,當兩條鏈路同時收到“首次握手”命令時,只發(fā)送一次“首次握手”命令給應(yīng)用層[3]。

      4具體實施方式

      為了更了解本方法的技術(shù)內(nèi)容,特舉具體實施例說明如下。

      第一步為鏈路狀態(tài)判斷流程,其實現(xiàn)包括以下步驟:

      (1)設(shè)計兩個FIFO存儲器,用以存儲兩路422鏈路發(fā)送的數(shù)據(jù);

      (2)設(shè)計一個RAM存儲器,用于存儲接收消息的消息塊號,Ram存儲器設(shè)置為連續(xù)讀寫模式;

      (3)每50ms檢查FIFO存儲器中是否有數(shù)據(jù),若有數(shù)據(jù),則讀取相應(yīng)數(shù)據(jù)進行后續(xù)數(shù)據(jù)處理,若沒有數(shù)據(jù),則統(tǒng)計周期次數(shù),若連續(xù)5個周期FIFO中無數(shù)據(jù),則將故障信息上報應(yīng)用層。

      第二步為雙冗余判別流程,其實現(xiàn)包括以下步驟:

      (1)檢查FIFO1中是否有數(shù)據(jù),若有數(shù)據(jù),則判斷FIFO2中數(shù)據(jù)類型;

      (2)若FIFO2中數(shù)據(jù)類型為“首次握手”,則判斷FIFO1中數(shù)據(jù)類型,若FIFO1中數(shù)據(jù)為“首次握手”,則處理FIFO1中數(shù)據(jù);

      (3)若FIFO1中數(shù)據(jù)類型不是“首次握手”,則優(yōu)先處理FIFO2中數(shù)據(jù),再處理FIFO1中數(shù)據(jù);

      (4)若步驟b中FIFO2中數(shù)據(jù)類型不是“首次握手”,則處理FIFO1中數(shù)據(jù);

      (5)若步驟a中FIFO1中無數(shù)據(jù),則處理FIFO2中數(shù)據(jù)。

      第三步為主/從應(yīng)答機制判斷,其實現(xiàn)包括以下步驟:

      (1)判斷FIFO中處理數(shù)據(jù)的長度、消息頭、檢驗和等是否正確,若不正確,則拋棄當前報文;

      (2)若步驟a中FIFO中數(shù)據(jù)正確,則判斷報文中消息塊號與Ram中消息塊號是否連續(xù),若不連續(xù),則拋棄當前報文;

      (3)若步驟b中消息塊號連續(xù),則對報文數(shù)據(jù)進行處理。

      5驗證說明

      經(jīng)驗證:該方法實現(xiàn)了雙冗余主/從應(yīng)答式通信;解決了系統(tǒng)軟件處理時間和處理資源不足的問題;同時保證了數(shù)據(jù)傳輸時的可靠性與實時性。

      參考文獻

      [1] 徐光輝,程東旭,黃如,等.基于FPGA的嵌入式開發(fā)及應(yīng)用[M].北京:電子工業(yè)出版社,2006:109.

      [2] 巫忠躍,岳青,王奧.基于FPGA的短波通信信道多徑效應(yīng)模擬[J].通信技術(shù),2019(11):2808-2812.

      [3] 趙龍,汪弈舟,黃明.可見光通信系統(tǒng)設(shè)計與實現(xiàn)—基于FPGA全數(shù)字控制[J].工業(yè)技術(shù)創(chuàng)新,2019(6):38-42.

      猜你喜歡
      正確性實時性
      基于規(guī)則實時性的端云動態(tài)分配方法研究
      一種基于系統(tǒng)穩(wěn)定性和正確性的定位導(dǎo)航方法研究
      基于虛擬局域網(wǎng)的智能變電站通信網(wǎng)絡(luò)實時性仿真
      航空電子AFDX與AVB傳輸實時性抗干擾對比
      淺談如何提高水質(zhì)檢測結(jié)果準確性
      雙口RAM讀寫正確性自動測試的有限狀態(tài)機控制器設(shè)計方法
      一種車載Profibus總線系統(tǒng)的實時性分析
      實現(xiàn)FPGA與PC的串行通信
      启东市| 安阳市| 新闻| 海原县| 泽州县| 东丽区| 湖北省| 阿合奇县| 新乐市| 织金县| 阿合奇县| 巴南区| 星座| 榆中县| 墨竹工卡县| 沈阳市| 浮梁县| 韶山市| 萍乡市| 延长县| 昌吉市| 阳曲县| 滨海县| 花莲县| 开远市| 汨罗市| 大新县| 张家港市| 临城县| 绥棱县| 抚远县| 台南市| 临清市| 保山市| 安平县| 三河市| 丰城市| 昔阳县| 江达县| 泉州市| 岐山县|