亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于FPGA的多通道HB6096航空總線接口設計

        2012-08-08 09:58:06
        電訊技術 2012年12期
        關鍵詞:狀態(tài)機指針內核

        劉 江

        (中國西南電子技術研究所,成都 610036)

        1 引 言

        HB6096航空總線是我國在國外ARINC429航空總線基礎上發(fā)布的國內航空電子設備總線傳輸協(xié)議,其數據傳輸方式及傳輸電平與ARINC429基本相同,是一種單向點對多廣播模式高速差分信號[1]。

        國內傳統(tǒng)HB6096總線接口設計主要依靠國外ARINC429專用集成電路實現。這些專用集成電路不僅面臨國外技術封鎖,還存在接口單一、集成度低的問題。隨著我國航空工業(yè)的發(fā)展,越來越多的機載設備掛接在系統(tǒng)總線上,這時候傳統(tǒng)的HB6096接口設計方案已不能滿足小型化、高集成度及國產化設計需求。

        為提高硬件集成度,本文立足于國產化設計思路,依據HB6096總線傳輸標準,根據設計需求,基于FPGA實現了多通道HB6096航空總線接口設計,并給出了總體設計方案、硬件、軟件詳細設計方法及測試結果。

        2 HB6096總線簡介

        HB6096總線協(xié)議標準是我國航空工業(yè)部在1986年發(fā)布的SZ-01數字信息傳輸系統(tǒng)。協(xié)議要求每傳輸完成一個32位的數字字之后,以傳輸周期間至少5位的時間間隔為基準,緊跟該字間隔后要發(fā)送的第一位的起點即為新字的起點[2],而ARINC429則要求4位的時間間隔[3]??偩€數據傳輸依靠兩根差分信號線完成,速率分為高速工作狀態(tài)(位速度100×103bit/s)及低速工作狀態(tài)(位速度12~14.5×103bit/s),并且要求高速率和低速率信息不在同一傳輸總線上傳輸。

        HB6096總線調制方式采用雙極性歸零制的三態(tài)碼調制方式,即調制信號由“高”、“零”和“低”狀態(tài)組成的三電平狀態(tài)調制。A、B端總線電平狀態(tài)及轉換為TTL電平后對應的邏輯狀態(tài)關系如圖1所示。

        圖1 HB6096總線傳輸電平及數據轉換關系Fig.1 The voltage of HB6096 bus and data conversion

        3 設計需求

        要求總線接口模塊能接收、發(fā)送多路HB6096總線數據,接口模塊通過設備內并行總線實現通信。

        (1)HB6096總線要求

        1)8路HB6096總線接收接口;

        2)5路HB6096總線輸出接口;

        3)傳輸速率:100 kbit/s或12.5 kbit/s;

        4)緩存要求:每個HB6096總線通道(接收或發(fā)送)緩存不小于1 024 byte。

        (2)設備內自定義總線接口

        1)16位數據總線;

        2)16位地址總線;

        3)讀 、寫 、片選 、中斷 、復位信號 。

        4 總體設計

        因HB6096傳輸電平與ARINC429基本相同,國內傳統(tǒng)的HB6096多通道總線接口設計大多借用ARINC429設計方案,即采用處理器加進口協(xié)議芯片,如文獻[4]采用CPLD和DSP相結合的方式,提出了一種2片DEI1016芯片并行工作的方案并實現。兩芯片共構成2收4發(fā)6路429通道,采用中斷方式并行高速運行;或如文獻[5]基于SOPC技術,以NiosII軟核處理器為系統(tǒng)核心,并配合ARINC429通信協(xié)議芯片HS3282和HS3182實現對429總線數據的收發(fā)。

        本設計方案立足國產化設計,由FPGA完成HB6096協(xié)議解析,每個總線通道(接收或發(fā)送)緩存均由FPGA內部RAM生成,每個通道設計一個狀態(tài)機進行獨立管理,由控制內核完成與設備內并行總線的數據訪問,即基于FPGA實現多通道HB6096航空總線數據收發(fā)。

        5 硬件設計

        硬件主要由電源、時鐘、調試接口、FPGA、電平轉換電路、隔離驅動電路等組成,硬件原理框圖如圖2所示。

        圖2 硬件原理框圖Fig.2 Schematic block diagram of hardware

        硬件核心FPGA采用ACTEL公司的A3P1000。設計要求8個接收通道,5個發(fā)送通道,每個通道緩存要求1 024 byte,一共需用(8+5)×1 024=104 kbit。A3P1000內部 RAM 資源是144 kbit,滿足設計需求。

        外圍方案是:隔離驅動采用164245系列芯片完成TTL到LVTTL電平的轉換與隔離;接收通道的電平轉換芯片采用HOLT公司的HI-8588,發(fā)送通道的電平轉換芯片采用HOLT公司的HI-8585;系統(tǒng)時鐘50MHz;電源使用+5 V、+12 V、-12 V電壓滿足HB6096電平轉換芯片的使用。

        6 軟件設計

        6.1 設計方案

        HB6096數據是32位串行數據,設備內部數據總線為16位并行數據,需要將HB6096串行數據拆分為兩包16位的并行數據。接收通道采用16位寬度、512位深度的DPRAM,發(fā)送通道采用32位寬度、256位深度FIFO。每個接收通道分配一個DPRAM,每個發(fā)送通道分配一個FIFO緩存,各個通道相互獨立,由狀態(tài)機負責運行工作。當外部CPU需要對模塊進行數據讀出、寫入時由控制內核完成相關地址映射、寄存器讀寫工作。

        整個軟件的功能結構框圖如圖3所示。

        圖3 軟件功能結構框圖Fig.3 Block diagram of software configuration

        軟件語言采用VHDL,編譯環(huán)境采用ACTEL公司產品適用的Libero9.1版本。

        6.2 接收通道設計

        6.2.1 32位串并轉換器

        根據圖1所示雙極性歸零碼的特性,32位串并轉換器采用A與B異或作為數據采集的觸發(fā)信號。外部CPU根據系統(tǒng)實際使用情況,通過模塊間自定義總線配置速率寄存器,設置分頻器參數,生成相應10 MHz或1.25 MHz的采樣時鐘,以100倍的采樣速率對A端和B端的信號同時進行采集。數據采集分為兩次校驗:單bit采集數據必須滿足A和B的異或關系,即A為邏輯“1”時B必須為邏輯“0”,B為邏輯“1”時A必須為邏輯“0”;32 bit數據采集完成后再進行奇偶數據校驗,校驗不通過的數據直接拋棄。兩次校驗通過后按照相應協(xié)議格式對32 bit的并行數據進行轉換,轉換完成后將32 bit數據送入鎖存器,置相關標志位,并做好下一包總線數據采集準備。

        6.2.2 DPRAM寫狀態(tài)機

        DPRAM寫狀態(tài)機的流程如圖4所示。

        圖4 DPRAM寫狀態(tài)機流程圖Fig.4 The flow chart of state machine for writing DPRAM

        圖4說明如下:

        STEP0:等待;

        STEP1:置 CS、WR 有效,將低 16位數據送DPRAM,將虛擬地址+地址指針值送DPRAM;

        STEP2:置 CS、WR 無效;

        STEP3:置 CS、WR 有效,將高 16位數據送DPRAM,將虛擬地址+地址指針+1值送DPRAM;

        STEP4:置 CS、WR 無效;

        STEP5:地址指針累加。

        在串并轉換成功標位RX_SIGN置有效后,啟動數據拆分及DPRAM寫狀態(tài)機。將32位并行數據從鎖存讀出并拆分為 2包16位的并行數據。根據DPRAM的寫數據時序,將虛擬的片選、寫等控制信號置有效,然后按照先寫低位,再寫高位的方式,通過分配的虛擬地址,分兩次將一包HB6096數據寫入DPRAM雙口。每寫入一組16 bit的數據后,地址指針自動加1,確保數據能夠進行累進存儲,每寫完一包HB6096數據地址指針實際累積加2。當存儲到第512個數據(實際上是第256個HB6096數據)時,將地址指針自動清零。第513個數據來后,將原來存儲的第1包數據進行覆蓋存儲。

        6.2.3 DPRAM存儲

        根據產品設計要求,結合FPGA的RAM資源,在數據量不大的情況下,我們采用DPRAM環(huán)形存儲的方式,即當存儲BUFFER裝滿之后,重復寫入該段存儲空間,覆蓋之前的數據。DPRAM環(huán)形存儲器結構如圖5所示。

        圖5 DPR AM環(huán)形存儲器結構Fig.5 Architecture of circular DPRAM

        圖5說明如下:

        (1)每個通道配置DPRAM環(huán)形存儲器1 kbyte,寬度為16位,深度512位;

        (2)每一包HB6096數據先寫16 bit低位,再寫16 bit高位;

        (3)每寫入一包HB6096數據,接收器地址指針自動加2;

        (4)當存儲第256包HB6096數據后,地址指針清零;

        (5)當存儲第257包HB6096數據時,該包數據將覆蓋之前接收到的第一包數據。

        拋棄傳統(tǒng)外部掛接雙口芯片而在FPGA內部開辟DPRAM的優(yōu)點是:節(jié)約印制板空間,節(jié)約成本,抗干擾能力強,存儲速度快,最重要的是可以實現多通道數據獨立并行處理。每個通道設計一個狀態(tài)機進行獨立管理,將數據寫入對應通道的DPRAM,完全實現多通道的并行運行。此種方案比外掛一個DPRAM芯片然后再依靠處理器或控制內核去管理各個通道,依次逐個寫入各個通道接收數據要合理有效得多,也避免了各通道滿負荷運行時的數據堵塞。這也是本方案的創(chuàng)新之處。

        6.3 控制內核設計

        控制內核是整個總線接口模塊的數據傳輸、協(xié)調控制單元,整個控制內核主要分為寄存器配置、總線接收地址指針讀取、總線數據接收讀取、總線數據發(fā)送寫入。

        控制內核通過對各個接收通道、發(fā)送通道統(tǒng)一進行地址編碼分配、接口映射,可實現與外部處理器進行總線訪問。上電后,外部處理器先配置各個接收、發(fā)送通道的HB6096總線傳輸速率。當接收通道收到數據后,對應接收通道地址指針轉動??刂苾群丝上駽PU處理器發(fā)送中斷信號,也可以由CPU處理器以主動方式查詢各個接收通道的地址指針值。當CPU發(fā)現接收地址指針偏移后,計算偏移量,得出接收到了多少包總線數據,然后將該段數據讀出。當需要發(fā)送數據時,CPU通過控制內核先查詢該通道的FIFO存儲器是否已經存滿。若可以繼續(xù)寫入數據,則通過控制內核的發(fā)送通道地址映射,將發(fā)送數據寫入對應FIFO。

        6.4 發(fā)送通道設計

        由于發(fā)送數據是外部處理器為主動模式,每一包HB6096數據均依照對應發(fā)送通道進行發(fā)送,因此只需要對每一個發(fā)送通道的地址進行標記。每次往該通道發(fā)送數據,只需往該通道的地址寫入數據就可以。因此,發(fā)送緩存采用基于PIPELINE管道結構的FIFO緩存更合理。

        6.4.1 寫FIFO狀態(tài)機

        根據設計要求,采用 32×256的 FIFO滿足1 kbyte要求。詳細設計如下:以發(fā)送1通道為例,設置TX1-ADDR地址為發(fā)送1通道的數據位低位,TX1-ADDR+1為數據位高位地址。CPU寫入數據時,先寫入低16位數據到寄存器,再寫入高16位數據送入寄存器,同時給出該通道數據已組合好的標志位CPU-WR1。利用此標志位,產生符合FIFO時序的寫信號,將32位HB6096數據一次寫入FIFO。

        其他發(fā)送通道類似。

        6.4.2 讀FIFO狀態(tài)機

        讀FIFO狀態(tài)機采用FIFO緩存在存入數據后狀態(tài)標志位的跳變信號作為啟動信號,再根據FIFO的讀時序,產生相應的片選、讀信號,將數據讀出。讀FIFO狀態(tài)機需要注意的是,狀態(tài)機在讀數前,需要先檢查32位并串轉換器的忙標志位信號。如果并串轉換器處于忙狀態(tài),說明上一包HB6096數據還沒有發(fā)送完成,需要等待;如果已經轉換完成,證明上一包數據已發(fā)送,才可以讀取下一包數據。

        6.4.3 32位并串轉換器

        32位并行數據從FIFO中讀出來后,利用發(fā)送控制寄存器,將發(fā)送數據的傳輸速率以及發(fā)送數據的奇、偶校驗方式信息傳遞給32位并串轉換器。轉換器根據寄存器配置信息選擇分頻時鐘及數據校驗方式,然后對32位并口數據按照100 kHz或12.5 kHz時鐘,結合協(xié)議要求進行格式轉換及編碼工作。編碼工作開始后置忙標志位,表明轉換器正處于發(fā)送工作狀態(tài),禁止再從FIFO讀數,防止數據丟失。直到32位數據已轉換完成,并按照HB6096總線要求設置5個比特位的時間間隔后,再將忙標志位置為無效,啟動讀FIFO狀態(tài)機讀出下一包數據。

        7 測試驗證

        采用旋極公司Arinc429接口板及ArincTools通信測試軟件,結合CPU處理器TORNADO軟件,分別對本模塊的發(fā)送和接收通道進行測試。

        測試發(fā)送性能時,ArincTools軟件處于接收狀態(tài),利用測試程序使5個發(fā)送通道全部打開,每個通道同時發(fā)送100萬包HB6096數據,通信速率100 kbit/s。檢測結果顯示本模塊所有發(fā)送通道均無數據錯誤或丟失。發(fā)送通道測試結果如圖6所示。

        圖6 發(fā)送通道測試結果Fig.6 The test result of sending channels

        測試接收性能時,ArincTools軟件處于發(fā)送狀態(tài),8個發(fā)送通道全部打開,每個通道同時發(fā)送100萬包HB6096數據,通信速率100 kbit/s。檢測結果顯示本模塊所有接收通道均無數據錯誤或丟失。接收通道測試結果如圖7所示。

        圖7 接收通道測試結果Fig.7 The test result of receiving channels

        8 結束語

        本文從工程應用角度,基于FPGA設計了8路HB6096總線接收及5路HB6096總線輸出的總線接口,硬件資源開銷小,系統(tǒng)滿足設計需求,軟件設計構架合理。目前該設計已成功應用于某機型HB6096航空總線接口模塊,經模擬測試及高低溫等各項環(huán)境試驗條件驗證,模塊時序工作正常,穩(wěn)定可靠。

        此設計方案摒棄了傳統(tǒng)HB6096總線數據處理依賴國外進口ARINC429總線集成協(xié)議芯片辦法,實現了國產化設計;摒棄了采用ARINC429集成芯片只能單、雙路收發(fā)的局限性,實現了多通道的數據收發(fā);每個通道配置獨立的緩存,實現了多通道的獨立并行運轉,節(jié)約資源,高效穩(wěn)定;采用CPU主動查詢方式讀取接收數據,保證了多路總線數據的穩(wěn)定接收,避免了可能出現的掉數問題。該設計思路還可拓展應用于國內1553B等航空總線多通道接口國產化設計。

        [1] 張楨,孫沛.基于FPGA的ARINC429總線通訊板設計[J].航空計算技術,2010,40(4):112-115.ZHANG Zhen,SU N Pei.Design of Multi-channel ARINC 429 Communication Board Based on FPGA[J].Aeronautical Computing Technique,2010,40(4):112-115.(in Chinese)

        [2] HB6096-86SZ-01,數字信息傳輸系統(tǒng)[S].HB6096-86SZ-01,Digital information transfer system for the standards of aeronautic industry department of the prc[S].(in Chinese)

        [3] ARINC specification 429P3-19,mark 33 digital information transfer system(dits)-part 3-file data transfer techniques[S].

        [4] 宋桂華,趙偉,劉建業(yè).多路ARINC429數據傳輸的設計與實現[J].微處理機,2009,30(3):116-118.SONG Gui-hua,ZHAO Wei,LIU Jian-ye.Design and Realization of Multi-channel ARINC 429 Data Transmission Technique[J].Microprocessors,2009,30(3):116-118.(in Chinese)

        [5] 陳東,韓治中,梁勇.基于 SOPC的ARINC429總線接口設計[J].工業(yè)儀表與自動化裝置,2010(1):30-33.CHEN Dong,HAN Zhi-zhong,LIANG Yong.The design of ARINC429 data bus interface based on SOPC[J].Industrial Instrumentation&Automation,2010(1):30-33.(in Chinese)

        猜你喜歡
        狀態(tài)機指針內核
        萬物皆可IP的時代,我們當夯實的IP內核是什么?
        現代裝飾(2022年4期)2022-08-31 01:41:24
        強化『高新』內核 打造農業(yè)『硅谷』
        基于有限狀態(tài)機的交會對接飛行任務規(guī)劃方法
        偷指針的人
        娃娃畫報(2019年5期)2019-06-17 16:58:10
        基于嵌入式Linux內核的自恢復設計
        Linux內核mmap保護機制研究
        為什么表的指針都按照順時針方向轉動
        基于改進Hough變換和BP網絡的指針儀表識別
        電測與儀表(2015年5期)2015-04-09 11:30:42
        ARM Cortex—MO/MO+單片機的指針變量替換方法
        FPGA設計中狀態(tài)機安全性研究
        黑龍江科學(2011年2期)2011-03-14 00:39:36
        国产av一区二区三区传媒| 丝袜美腿亚洲综合玉足| 久久午夜一区二区三区| 亚洲精品有码日本久久久| 色欲av伊人久久大香线蕉影院| 性色av浪潮av色欲av| 国产剧情国产精品一区| 国产免费午夜福利蜜芽无码| 亚洲粉嫩视频在线观看| 国产av自拍视频在线观看| 亚洲一区久久蜜臀av| 国产毛女同一区二区三区| 又色又爽又黄高潮的免费视频| 欧美性开放bbw| 拍摄av现场失控高潮数次| 日韩国产精品一本一区馆/在线| 熟妇人妻丰满少妇一区| 亚洲国产高清一区av| 成人性生交大片免费入口| 久久不见久久见免费影院国语| 日韩精品一区二区亚洲av| 精品一区二区三区影片| 国产高清在线精品一区不卡| 亚洲av熟女少妇久久| 午夜福利一区二区三区在线观看| 日本夜爽爽一区二区三区| 国产在线白浆一区二区三区在线| 久久久大少妇免费高潮特黄| 亚洲av色在线播放一区| 亚洲线精品一区二区三区| 色先锋av资源中文字幕| 亚洲 日韩 在线精品| 日韩av他人妻中文字幕| 国产熟女一区二区三区不卡| 巨人精品福利官方导航| 丝袜足控一区二区三区 | 亚洲av中文无码乱人伦在线咪咕| 国产精品成人久久一区二区| 久久一区二区三区少妇人妻| 高潮内射双龙视频| 亚洲免费人成在线视频观看|