国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于FPGA的MIL-STD-1553B總線控制器的設(shè)計(jì)

2012-04-29 04:27:38李鵬鄭賓
電腦知識(shí)與技術(shù) 2012年1期
關(guān)鍵詞:曼徹斯特時(shí)鐘總線

李鵬 鄭賓

摘要:在深入理解MIL-STD-1553B總線協(xié)議的基礎(chǔ)上,設(shè)計(jì)了一種基于FPGA技術(shù)的總線控制器BC模塊。采用自頂向下的方法使用VHDL語(yǔ)言書(shū)寫(xiě)總線控制器程序代碼,通過(guò)FPGA平臺(tái)對(duì)發(fā)送器進(jìn)行了測(cè)試;結(jié)果表明,接收器的邏輯功能達(dá)到了設(shè)計(jì)要求,時(shí)序指標(biāo)完全符合協(xié)議規(guī)范,實(shí)現(xiàn)了總線控制器的功能。

關(guān)鍵詞:MIL_1553B;FPGA;總線控制器

中圖分類(lèi)號(hào):TP336文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2012)01-0207-04

Design of BC Module for MIL-STD-1553B Based on FPGA

LI Peng,ZHENG Bin

(North University of China,Taiyuan 030051, China)

Abstract: This thesis proposed a design of the BC(bus controller ) module for MIL-STD-1553B on the base of deeply understand the mechanism of MIL-STD-1553B.The BC designed with the top-down method based on FPGA , It had been proved effective on the FP? GA. The result indicated that the design had met the timing requirements of the bus standard.

Key words: MIL_1553B; FPGA; bus controller

MIL-STD-1553B是美國(guó)軍方在20世紀(jì)80年代為軍用飛機(jī)、車(chē)輛等制定的一種軍用總線標(biāo)準(zhǔn),現(xiàn)已經(jīng)廣泛運(yùn)用與各種軍用、民用飛機(jī)以及船舶車(chē)輛等領(lǐng)域。

由于其高速、高可靠性、實(shí)時(shí)性等特點(diǎn),已經(jīng)被國(guó)際社會(huì)認(rèn)可,發(fā)展成為了國(guó)際公認(rèn)的數(shù)據(jù)總線標(biāo)準(zhǔn)[1]。總線處理器是1553B總線系統(tǒng)的最關(guān)鍵的組成部分,而總線控制器BC作為總線系統(tǒng)的核心,就成為設(shè)計(jì)1553B數(shù)據(jù)總線的重點(diǎn)。

1553B是一種時(shí)分制指令/響應(yīng)式多路傳輸數(shù)據(jù)總線,包括串行傳輸電纜、總線控制器BC、遠(yuǎn)程終端RT、總線監(jiān)控器MT??偩€上的所有消息傳輸都由總線控制器(BC)發(fā)起,遠(yuǎn)程終端(RT)對(duì)發(fā)出的指令應(yīng)給予回答(響應(yīng))并執(zhí)行相關(guān)操作。一個(gè)通信總線上最多可以掛32個(gè)遠(yuǎn)程終端,傳輸介質(zhì)采用屏蔽雙絞線,對(duì)噪聲等干擾有很好的抑制能力。1553B總線的數(shù)據(jù)傳輸率為1 Mb/s,在一次消息傳輸中最多可以傳送32個(gè)字,所有單次傳輸?shù)臅r(shí)間較短,具有很好的實(shí)時(shí)性[2]。

國(guó)內(nèi)應(yīng)用1553B總線協(xié)議的通信模塊的解決方案多采取基于進(jìn)口1553B總線協(xié)議芯片來(lái)開(kāi)展相關(guān)設(shè)計(jì),如UT公司的UTl553B協(xié)議芯片、DDC公司的高級(jí)協(xié)議處理芯片BU-61580等,雖然這些芯片能夠完成協(xié)議功能,但價(jià)格昂貴、靈活性差,這些弱點(diǎn)在一定程度上限制了設(shè)計(jì)能力。隨著1553B總線得在各個(gè)領(lǐng)域的廣泛應(yīng)用,為了滿(mǎn)足低成本,高靈活性的要求,提出一種新的基于FPGA技術(shù)來(lái)實(shí)現(xiàn)的1553B數(shù)據(jù)總線控制器的方法。

1系統(tǒng)的總體設(shè)計(jì)方案

本文采用ALTERA公司的cycloneII系列FPGA芯片作為協(xié)議處理核心器件。1553B總線接口的每一種類(lèi)型的終端的設(shè)計(jì)都包括模擬收發(fā)器、總線接口模塊、總控制模塊、處理機(jī)接口模塊四部分,都需要完成字處理和消息處理,而B(niǎo)C是線上唯一被安排為執(zhí)行建立和啟動(dòng)數(shù)據(jù)傳輸任務(wù)的終端,被指派啟動(dòng)數(shù)據(jù)總線信息傳輸任務(wù)的終端。針對(duì)BC功能,其FP? GA部分的邏輯結(jié)構(gòu)如圖1所示。BC功能模塊主要包括:數(shù)字收發(fā)器、命令字發(fā)送器、地址控制器、數(shù)據(jù)譯碼器、數(shù)據(jù)發(fā)送控制器、檢錯(cuò)控制器和存儲(chǔ)模塊組成。

1.1數(shù)字收發(fā)器

數(shù)字收發(fā)器主要由數(shù)字發(fā)送模塊、數(shù)字接收模塊和發(fā)送超時(shí)檢測(cè)模塊成。

數(shù)字發(fā)送器模塊在BC模式下的主要功能是從子系統(tǒng)接口單元接收16位的1553B數(shù)據(jù)(指令字和狀態(tài)字),并以1Mbps曼徹斯特II編碼串行數(shù)據(jù)發(fā)送到模擬發(fā)送器進(jìn)而傳輸?shù)?553B總線上。該部分即為曼徹斯特碼編碼,它是將單極性不歸零碼(NRZ)轉(zhuǎn)換為單極性的曼徹斯特碼,而且實(shí)現(xiàn)對(duì)同步頭的編碼,以及奇偶位的產(chǎn)生,并對(duì)數(shù)據(jù)進(jìn)行并/串轉(zhuǎn)換[3]。其工作狀態(tài)圖如圖2所示。當(dāng)系統(tǒng)接收到發(fā)送數(shù)據(jù)的指令時(shí),系統(tǒng)首先判斷要發(fā)送的數(shù)據(jù)類(lèi)型,并產(chǎn)生相應(yīng)的同步頭,同時(shí),將要發(fā)送的16位數(shù)據(jù)進(jìn)行并串轉(zhuǎn)換,并產(chǎn)生相應(yīng)的校驗(yàn)位數(shù)據(jù)。最后將同步字、數(shù)據(jù)字校驗(yàn)位按照1553B的標(biāo)準(zhǔn)格式進(jìn)行曼徹斯特碼編碼。

由曼徹斯特II編碼的特性可知,每位數(shù)據(jù)0或者1都編碼為2位,而1553B總線的傳輸速率為1Mbit/s,即每個(gè)位的寬度為1ms,所以脈沖寬度最小為500ns,所以發(fā)送單元所需要的最小時(shí)鐘頻率為2MHZ。針對(duì)不同的時(shí)鐘源可通過(guò)分頻電路實(shí)現(xiàn)2MHz。編碼器的輸入時(shí)鐘mclk為2MHZ,選取它的發(fā)送時(shí)鐘為2MHZ,同步字頭產(chǎn)生完成,則發(fā)出控制信號(hào)開(kāi)始移位,對(duì)16位數(shù)據(jù)進(jìn)行并/串轉(zhuǎn)換換,位時(shí)鐘是同步頭生成時(shí)用的時(shí)鐘兩分頻產(chǎn)生。由于發(fā)送單元采用的時(shí)鐘是周期為500ns,即每位為500ns。同步頭的長(zhǎng)度為3000 ns,所以同步頭要用6位來(lái)表示,每位數(shù)據(jù)采用兩位,奇偶校驗(yàn)位采用兩位,所以整個(gè)1553B總線數(shù)據(jù)要用40位表示。

20位待發(fā)送的數(shù)據(jù)(曼徹斯特Ⅱ型編碼),前3位為同步頭。由于同步頭是無(wú)效的曼徹斯特編碼,應(yīng)特殊處理。為了在檢測(cè)到編碼允許后,正確的產(chǎn)生同步頭,需要利用輸入信號(hào)Commd/Data。這個(gè)信號(hào)既充當(dāng)編碼允許信號(hào),又指示需要編碼同步頭的類(lèi)型。Commd/Data=1表示要產(chǎn)生的是命令字或狀態(tài)字的同步頭。根據(jù)1553B協(xié)議的說(shuō)明,也就是需要產(chǎn)生3位高電平緊跟3位低電平的6位無(wú)效碼。Commd/Data=0表示要產(chǎn)生的是數(shù)據(jù)字的同步頭。也就是需要產(chǎn)生3位低電平然后3位低電平的6位無(wú)效碼。

if (mclkevent and mclk=1) then

if(Commd/Data=1) then

sync_bits(5 downto 0)<="000111";--產(chǎn)生命令同步頭elsif(Commd/Data=0) then

sync_bits(5 downto 0)<="111000";--產(chǎn)生數(shù)據(jù)同步頭end if; end if;數(shù)據(jù)的第4位到第19位是數(shù)據(jù)位,根據(jù)曼徹斯特碼的編碼格式,對(duì)每1比特位,通過(guò)并置其自身的取反,剛好達(dá)到曼徹斯特II型碼對(duì)邏輯0和邏輯1的定義,從而實(shí)現(xiàn)編碼。

數(shù)據(jù)的第20位是奇偶校驗(yàn)位,1553B采用的是奇校驗(yàn)。因此對(duì)16位的數(shù)據(jù)按位異或剛好就是偶校驗(yàn),再取反就得到了奇校驗(yàn)位。

1.2數(shù)字接收器

數(shù)字接收器的主要功能就是對(duì)接收到的數(shù)據(jù)進(jìn)行曼徹斯特解碼,將單極性的曼徹斯特碼轉(zhuǎn)換為單極性的不歸零碼(NRZ),同時(shí)完成出同步時(shí)鐘的提取,同步頭檢出,數(shù)據(jù)檢出,曼徹斯特II碼錯(cuò)誤檢出,奇偶檢測(cè),位/字計(jì)數(shù)以及數(shù)據(jù)的串/并轉(zhuǎn)換功能。

接收單元的時(shí)間基準(zhǔn)是2MHZ的輸入,根據(jù)標(biāo)準(zhǔn),同步頭只可能有兩種01和10。按照標(biāo)準(zhǔn),誤差范圍為月150ns,同步頭的前半部分脈沖寬度是1500ns士15n0s。如圖3所示,用2MHZ的頻率來(lái)采樣計(jì)數(shù)的話,如果計(jì)數(shù)器的計(jì)數(shù)為3時(shí)就認(rèn)為是收到了同步頭的前半部分,否則,接收單元就繼續(xù)檢測(cè)同步頭。同步頭后半部分脈沖寬度為1500ns,如果計(jì)數(shù)器的計(jì)數(shù)為3時(shí)就認(rèn)為是收到了同步頭的后半部分。當(dāng)接收器檢測(cè)到有效同步頭以后,啟動(dòng)數(shù)字鎖相環(huán),提取出同步時(shí)鐘。同理,將曼徹斯特解碼后的16位NRZ數(shù)據(jù)檢出。

曼徹斯特II碼的特性是在每位數(shù)據(jù)脈沖的中間時(shí)刻都有一個(gè)電壓跳變,所以對(duì)數(shù)據(jù)的譯碼可以從跳變沿可分為前后兩部分,前后兩半部分可能的長(zhǎng)度都是500士15Ons和1000士15Ons,只要在該范圍內(nèi)就可認(rèn)為收到了一位數(shù)據(jù),在跳變沿的后半部分把位取反就是該位數(shù)據(jù)的值。

1.3命令發(fā)生器

BC是啟動(dòng)數(shù)據(jù)傳輸任務(wù)的終端。當(dāng)工作在BC方式時(shí),命令字/狀態(tài)字譯碼及發(fā)送命令字控制模塊只是完成對(duì)于BC自身需要發(fā)送的命令字和接收到RT返回的狀態(tài)字進(jìn)行譯碼以及RT返回的數(shù)據(jù)字接收,發(fā)出相應(yīng)的地址、RAM的讀寫(xiě)控制和讀寫(xiě)地址等控制信號(hào)。該模塊的邏輯結(jié)構(gòu)如圖4所示。

圖4邏輯結(jié)構(gòu)

1.4地址控制器

地址控制器根據(jù)不同BC模式,得出不同模式的RAM讀寫(xiě)地址信號(hào),地址控制模塊包括地址變換和地址選擇兩部分。其邏輯圖如圖5示。地址變換部分接收來(lái)自發(fā)送命令字模塊的地址加載信號(hào)、數(shù)據(jù)字計(jì)數(shù)值,以及來(lái)自數(shù)字收發(fā)器的rxrdy、txrdy信號(hào)進(jìn)行地址信號(hào)的變換。地址選擇部分根據(jù)來(lái)自發(fā)送命令字模塊的地址選擇信號(hào)確定當(dāng)前是BC輸入的RAM的有效地址是讀地址還是寫(xiě)地址。當(dāng)SEL為01時(shí),BC接收來(lái)自RT的數(shù)據(jù)字存入RAM中即表示寫(xiě)地址有效;10時(shí)BC從RAM中取出數(shù)據(jù)字向發(fā)送給RT,即表示讀地址有效。

圖5邏輯圖

1.5檢錯(cuò)控制器

在該總線接口設(shè)計(jì)過(guò)程中要保證電路可靠的工作,錯(cuò)誤檢測(cè)是一個(gè)至關(guān)重要的部分。在本次設(shè)計(jì)中主要從軟件上進(jìn)行可靠性設(shè)計(jì),采用奇偶校驗(yàn)的方法對(duì)接收的數(shù)據(jù)進(jìn)行編碼檢錯(cuò),同時(shí)包括系統(tǒng)的時(shí)間范圍要求如消息間隔和RT響應(yīng)時(shí)間等,以及對(duì)消息進(jìn)行字計(jì)數(shù)檢測(cè)等,這樣可以在增加少量硬件的基礎(chǔ)上迅速地完成檢錯(cuò)任務(wù)。

該模塊主要由字計(jì)數(shù)部分和RT響應(yīng)時(shí)間檢測(cè)部分組成。字計(jì)數(shù)部分負(fù)責(zé)對(duì)發(fā)送/接收的數(shù)據(jù)進(jìn)行字計(jì)數(shù),并與相應(yīng)的指令/狀態(tài)中的字?jǐn)?shù)比較,判斷出數(shù)據(jù)字?jǐn)?shù)是否正確。RT響應(yīng)時(shí)間檢測(cè)主要負(fù)責(zé)檢測(cè)從BC發(fā)送命令到RT反饋?lái)憫?yīng)之間的時(shí)間差,與正常的響應(yīng)時(shí)間范圍比較[4]。

1.6狀態(tài)字譯碼控制器

當(dāng)BC接收到RT發(fā)送的狀態(tài)數(shù)據(jù)的時(shí)候,需要從該數(shù)據(jù)中將遠(yuǎn)程終端地址字段、消息差錯(cuò)位、測(cè)試手段位、服務(wù)請(qǐng)求位、奇偶校驗(yàn)位等狀態(tài)信息檢出。

1.7雙口RAM

雙口RAM是整個(gè)總線控制模塊的存儲(chǔ)空間,他是總線模塊和上位機(jī)PC間通信的媒介。該存儲(chǔ)器由調(diào)用FPGA內(nèi)部的LPM功能塊LPMRAM函數(shù)來(lái)實(shí)現(xiàn)。

2設(shè)計(jì)總結(jié)

按照系統(tǒng)的總體設(shè)計(jì)方案,采用自頂向下的設(shè)計(jì)方法,設(shè)計(jì)了各個(gè)功能模塊,各模塊之間利用信號(hào)傳遞信息,邏輯關(guān)系清楚,便于調(diào)試和修改。同時(shí)各復(fù)用單元可以直接調(diào)用,節(jié)省了系統(tǒng)的開(kāi)發(fā)時(shí)間和系統(tǒng)資源。

3程序仿真

為了驗(yàn)證設(shè)計(jì)的正確性,利用Altera的開(kāi)發(fā)軟件Quartus9.0對(duì)程序進(jìn)行仿真。

如圖6所示,當(dāng)commd信號(hào)為低時(shí),BC端從RAM端口發(fā)送0X5A5A的數(shù)據(jù),經(jīng)過(guò)BC模塊轉(zhuǎn)換后的1553B數(shù)據(jù)如tx所示。當(dāng)數(shù)據(jù)發(fā)送完成以后,發(fā)送準(zhǔn)備信號(hào)txrdy置1,準(zhǔn)備發(fā)送下一個(gè)數(shù)據(jù)。

圖6 BC模塊發(fā)送數(shù)據(jù)仿真圖

圖7為BC模塊接收數(shù)據(jù)的仿真圖,當(dāng)讀數(shù)據(jù)信號(hào)read置高電平時(shí),接收器從rx口接收5A5A的串行信號(hào),并經(jīng)過(guò)串并轉(zhuǎn)換從dataout口的并行數(shù)據(jù)。當(dāng)一個(gè)完整的數(shù)據(jù)接收完成后,接收準(zhǔn)備信號(hào)rxrdy信號(hào)置1,準(zhǔn)備接收下一個(gè)數(shù)據(jù)。

圖7 BC模塊接收數(shù)據(jù)仿真圖

由此可見(jiàn)設(shè)計(jì)的各項(xiàng)功能工作正常,能滿(mǎn)足1553B的總線接口電路的設(shè)計(jì)要求。

4結(jié)論

MIL_STD_1553B總線的應(yīng)用領(lǐng)域非常廣泛,利用FPGA實(shí)現(xiàn)其功能在降低應(yīng)用成本的同時(shí),更方便了系統(tǒng)調(diào)試。同時(shí),由于1553B總線的復(fù)雜性,基于FPGA的總線控制模塊設(shè)計(jì)難免會(huì)存在一些漏洞,因此逐漸完善1553B總線的功能成為了FPGA技術(shù)的一個(gè)總要的研究方向。

參考文獻(xiàn):

[1]申志永. MIL-STD-1553B總線接收器IP核設(shè)計(jì)[J].電子測(cè)量技術(shù),2011(5).

[2]中國(guó)航空工業(yè)總公司.GJB 289A-97數(shù)字式時(shí)分制指令/響應(yīng)型多路傳輸數(shù)據(jù)總線[S].中華人民共和國(guó)國(guó)家軍用標(biāo)準(zhǔn),1993.

[3]周密.1553B總線協(xié)議IP核設(shè)計(jì)與實(shí)現(xiàn)[J].電子器件,2007(1).

[4]郭澤仁.1553B總線系統(tǒng)優(yōu)化及可靠性設(shè)計(jì)[J].山東理工大學(xué)學(xué)報(bào),2008(1).

猜你喜歡
曼徹斯特時(shí)鐘總線
別樣的“時(shí)鐘”
觀電影《海邊的曼徹斯特》
古代的時(shí)鐘
觀電影《海邊的曼徹斯特》
基于PCI Express總線的xHC與FPGA的直接通信
機(jī)載飛控1553B總線轉(zhuǎn)以太網(wǎng)總線設(shè)計(jì)
有趣的時(shí)鐘
時(shí)鐘會(huì)開(kāi)“花”
多通道ARINC429總線檢查儀
基于EtherCAT總線的ROV控制系統(tǒng)設(shè)計(jì)
河南科技(2014年16期)2014-02-27 14:13:22
铜川市| 高台县| 阿克陶县| 安泽县| 大厂| 清原| 宾阳县| 平泉县| 兰考县| 平陆县| 临安市| 嘉禾县| 右玉县| 会昌县| 神木县| 微博| 镇沅| 佛坪县| 曲松县| 朔州市| 张家口市| 苏尼特左旗| 西峡县| 仁寿县| 新平| 万山特区| 格尔木市| 南充市| 于都县| 荃湾区| 新余市| 温泉县| 平原县| 葫芦岛市| 峨眉山市| 建始县| 囊谦县| 乌兰浩特市| 衡阳县| 喜德县| 华宁县|