本站小編為你精心準(zhǔn)備了編碼器接口設(shè)計(jì)論文參考范文,愿這些范文能點(diǎn)燃您思維的火花,激發(fā)您的寫作靈感。歡迎深入閱讀并收藏。
1曼徹斯特編解碼器模塊設(shè)計(jì)
1.11553B總線數(shù)據(jù)格式信號(hào)編解碼的設(shè)計(jì)方案由總線傳輸層特性決定,1553B消息字格式和曼徹斯特碼型如圖2所示。1553B總線以字為單位進(jìn)行數(shù)據(jù)傳輸,每個(gè)字包含20位,其中前3位為同步頭,后17位為數(shù)據(jù)位和奇偶校驗(yàn)位,如圖2(a)所示??偩€數(shù)據(jù)傳輸速率為1Mb/s,采用曼徹斯特Ⅱ雙相碼編碼方式,每位數(shù)據(jù)中間均有一個(gè)跳變沿,由正到負(fù)的跳變表示邏輯‘1’,由負(fù)到正的跳變表示邏輯‘0’,其碼型對(duì)應(yīng)關(guān)系如圖2(b)所示。
1.2編碼器設(shè)計(jì)編碼器的設(shè)計(jì)相對(duì)簡(jiǎn)單,主要完成對(duì)待發(fā)送消息字的曼徹斯特編碼,并將其并串轉(zhuǎn)換后輸出。由于曼徹斯特碼每位數(shù)據(jù)中間均有跳變,故發(fā)送時(shí)需將每一位分割成兩位,分別發(fā)送。其工作過程為:(1)同步頭編碼,若為數(shù)據(jù)字同步頭,則編碼為“111000”(由高位到低位,下同),若為狀態(tài)字或命令字同步頭,則編碼為“000111”;(2)數(shù)據(jù)和奇偶校驗(yàn)位編碼,若為‘0’,則編碼為“10”,若為‘1’,則編碼為“01”;(3)按由低到高的順序?qū)⒕幋a后的40位數(shù)據(jù)串行輸出。FPGA采用16MHz主時(shí)鐘,由于編碼后每位數(shù)據(jù)對(duì)應(yīng)0.5μs,故將主時(shí)鐘分頻后產(chǎn)生2MHz時(shí)鐘來控制編碼器發(fā)送40位數(shù)據(jù),每個(gè)時(shí)鐘沿發(fā)送一位,正好滿足1553B總線1Mb/s的速率要求[5]。
1.3解碼器設(shè)計(jì)解碼器主要完成消息字的解碼,并將其串并轉(zhuǎn)換后輸出,其工作過程為:(1)檢測(cè)到總線上有效電平,解碼器開始工作;(2)同步頭解碼,檢測(cè)到指令字和狀態(tài)字同步頭用“011”表示,檢測(cè)到數(shù)據(jù)字同步頭用“100”表示;(3)16位數(shù)據(jù)位和1位奇偶校驗(yàn)位解碼;(4)將解碼后的消息字(20位)并行輸出。同步頭和數(shù)據(jù)位檢測(cè)示意如圖3所示。由1553B協(xié)議可知,同步頭包含三個(gè)位時(shí),在1.5個(gè)位時(shí)處有跳變。如圖3(a)所示,同步頭到來后,解碼器連續(xù)采集48個(gè)數(shù),理論上,采用16MHz時(shí)鐘,如果檢測(cè)到24個(gè)‘0’和24個(gè)‘1’,則表示收到有效同步頭,但考慮到信號(hào)上升時(shí)間及下降時(shí)間等因素,實(shí)際若檢測(cè)到22個(gè)或者23個(gè)‘0’和‘1’,就可以判定同步頭有效,進(jìn)行下一步數(shù)據(jù)的接收。數(shù)據(jù)位包含一個(gè)位時(shí),在0.5個(gè)位時(shí)處有跳變。如圖3(b)所示,在每個(gè)數(shù)據(jù)中間部位,若前一時(shí)鐘采樣到‘0’,后一時(shí)鐘采樣到‘1’,則表示當(dāng)前數(shù)據(jù)位為‘0’,反之則是‘1’。另外,如果采到的數(shù)沒有跳變,為全‘0’或者全‘1’,則產(chǎn)生錯(cuò)誤標(biāo)志,通知協(xié)議處理邏輯或子系統(tǒng)進(jìn)行相應(yīng)的錯(cuò)誤處理。
2協(xié)議處理模塊設(shè)計(jì)
2.1協(xié)議處理模塊響應(yīng)流程協(xié)議處理模塊實(shí)現(xiàn)BC,RT,MT三種總線終端的協(xié)議處理,在FPGA模塊設(shè)計(jì)之前,根據(jù)1553B協(xié)議對(duì)協(xié)議處理模塊三種工作模式下的響應(yīng)流程分別進(jìn)行分析設(shè)計(jì)。
2.1.1BC模式[6]BC(總線控制器)是1553B總線的核心,總線上任何類型的數(shù)據(jù)交換都由它發(fā)起。BC模式下接口響應(yīng)流程設(shè)計(jì)如圖4所示。MIL⁃STD⁃1553B協(xié)議規(guī)定的總線指令可分發(fā)送指令、接收指令和方式指令三種,共能實(shí)現(xiàn)四種類型的功能:RT到BC的數(shù)據(jù)傳輸、BC到RT的數(shù)據(jù)傳輸、RT到RT的數(shù)據(jù)傳輸和總線管理。根據(jù)圖4,BC模式下接口主要工作過程為:(1)根據(jù)外部系統(tǒng)需求發(fā)送相應(yīng)命令字,發(fā)起總線傳輸;(2)根據(jù)指令類型的不同,進(jìn)入不同響應(yīng)流程,主要包括數(shù)據(jù)字發(fā)送、數(shù)據(jù)字接收和狀態(tài)字接收等;(3)消息完成后進(jìn)行消息結(jié)束處理,主要包括消息結(jié)束標(biāo)志的產(chǎn)生,差錯(cuò)處理,以及根據(jù)收到的RT狀態(tài)字判斷總線終端狀態(tài)等。需要注意的是,BC如果在規(guī)定的時(shí)間內(nèi)沒有收到RT狀態(tài)回復(fù),則需重新發(fā)送命令字進(jìn)行重試(Retry)。
2.1.2RT模式[7]RT(遠(yuǎn)程終端)是1553B總線上的指令/響應(yīng)型終端,它響應(yīng)BC發(fā)送的指令,按要求接收或發(fā)送數(shù)據(jù),在規(guī)定時(shí)間內(nèi)回送狀態(tài)字,并服從BC的總線管理。RT模式下接口響應(yīng)流程設(shè)計(jì)如圖5所示。根據(jù)圖5,RT模式下接口主要工作過程為:(1)收到命令字后進(jìn)行指令分析,根據(jù)指令類型進(jìn)入相應(yīng)的響應(yīng)流程;(2)按照流程進(jìn)行數(shù)據(jù)字接收、發(fā)送,并回復(fù)狀態(tài)字;(3)消息完成后進(jìn)行消息結(jié)束處理,主要包括消息結(jié)束標(biāo)志的產(chǎn)生,差錯(cuò)處理,以及特殊方式指令下方式標(biāo)志的產(chǎn)生等。
2.1.3MT模式MT(總線監(jiān)控器)是總線上的監(jiān)聽單元,它監(jiān)控總線上的信息傳輸,完成對(duì)總線的上原始數(shù)據(jù)的記錄,但它本身不參與總線的通信。MT模式接口的功能較為簡(jiǎn)單,主要進(jìn)行指令字、狀態(tài)字和數(shù)據(jù)字的接收并將其寫入相應(yīng)緩存中,方便以后提取分析,可通過BC模式或RT模式下接口相應(yīng)的子模塊實(shí)現(xiàn)。
2.2協(xié)議處理模塊FPGA總體設(shè)計(jì)根據(jù)以上三種模式下接口響應(yīng)流程的分析,對(duì)協(xié)議處理模塊各FPGA子功能模塊進(jìn)行了劃分[8],總體設(shè)計(jì)框圖如圖6所示。協(xié)議處理模塊主要由數(shù)據(jù)接收部分、數(shù)據(jù)發(fā)送部分和數(shù)據(jù)緩存部分組成,此外還包括超時(shí)檢測(cè)、地址譯碼及讀寫控制、中斷管理等輔助部分。由于三種模式下某些功能重復(fù),為了提高FPGA資源利用率,設(shè)計(jì)時(shí)充分考慮了相應(yīng)模塊的模式復(fù)用,整個(gè)協(xié)議處理邏輯可在外部模式選擇信號(hào)的控制下工作在BC,RT和MT模式。16MHz的全局時(shí)鐘通過時(shí)鐘管理模塊為各FPGA功能模塊提供工作時(shí)鐘,各模塊間通過一定的握手信號(hào)互聯(lián),保證協(xié)議處理邏輯有序工作。整個(gè)協(xié)議處理模塊的基本工作原理如下:按照1553B協(xié)議規(guī)范,通過接收器接收總線上的數(shù)據(jù)并存入緩存,通過發(fā)送器取出緩存中的數(shù)據(jù)并發(fā)送到總線上,同時(shí)不斷以中斷和握手信號(hào)與外部系統(tǒng)進(jìn)行通信,通知外部系統(tǒng)向緩存中寫入待發(fā)送數(shù)據(jù)或從緩存中讀取已接收數(shù)據(jù),并共同完成差錯(cuò)處理和協(xié)議邏輯的管理[9]。
3設(shè)計(jì)仿真與驗(yàn)證
根據(jù)設(shè)計(jì)方案,編寫了重要模塊的FPGA代碼,模擬實(shí)現(xiàn)BC功能和RT功能,采用Active⁃HDL軟件仿真,其中BC向RT的數(shù)據(jù)傳輸仿真結(jié)果如圖7所示。仿真通過后,在Virtex⁃5FPGA[10]平臺(tái)上對(duì)設(shè)計(jì)進(jìn)行了驗(yàn)證,如圖8所示。將BC功能模塊和RT功能模塊的代碼經(jīng)ISE綜合、布局布線后分別下載到兩塊開發(fā)板中實(shí)現(xiàn),開發(fā)板通過串口與PC機(jī)通信。PC機(jī)將指令和數(shù)據(jù)寫入FPGA相應(yīng)寄存器中,BC和RT在PC機(jī)指令的控制下進(jìn)行1553B協(xié)議通信。驗(yàn)證過程中通過示波器查看模擬總線的波形,并通過ChipScope觀察和比對(duì)協(xié)議收發(fā)數(shù)據(jù)。同時(shí),為提高接口性能,用光纖代替?zhèn)鹘y(tǒng)電纜傳輸介質(zhì),采用8B/10B編解碼代替曼徹斯特編解碼,并利用FP⁃GA內(nèi)嵌RocketIO內(nèi)核,進(jìn)行了傳統(tǒng)1553協(xié)議數(shù)據(jù)的光纖傳輸[11],傳輸過程數(shù)據(jù)比對(duì)ChipScope采樣如圖10所示。驗(yàn)證結(jié)果表明,BC和RT功能模塊能夠正常按照1553B協(xié)議進(jìn)行數(shù)據(jù)的發(fā)送和接收,完成基本1553B協(xié)議的處理,實(shí)現(xiàn)1553B協(xié)議數(shù)據(jù)的1Mb/s電纜傳輸和3Gb/s以上光纖傳輸,數(shù)據(jù)比對(duì)無誤,說明該接口設(shè)計(jì)方案實(shí)際可行,具備開發(fā)應(yīng)用價(jià)值,同時(shí)也為光纖1553接口的設(shè)計(jì)提供了一定參考價(jià)值。
4結(jié)語
本文提出一種基于FPGA的1553B總線接口方案,該接口采用模塊化和通用性設(shè)計(jì),能夠工作在BC,RT和MT三種模式,實(shí)現(xiàn)曼徹斯特編解碼,并完成1553B協(xié)議的處理。編寫VHDL代碼對(duì)設(shè)計(jì)方案進(jìn)行了仿真和驗(yàn)證,證明了其可行性,同時(shí)對(duì)光纖1553接口的設(shè)計(jì)進(jìn)行了探索性研究。目前,1553B接口芯片主要依賴進(jìn)口,若能積極開展該方面的研究,開發(fā)出具有自主知識(shí)產(chǎn)權(quán)的通用IP核,對(duì)于擺脫國外限制,降低成本,提升我國在該領(lǐng)域的自主競(jìng)爭(zhēng)力具有重要意義,其應(yīng)用前景非常廣泛。本文創(chuàng)新點(diǎn):將FPGA技術(shù)應(yīng)用于1553B總線接口,縮短了設(shè)計(jì)周期,降低了設(shè)計(jì)成本,同時(shí),系統(tǒng)的集成度提高,擴(kuò)展性增強(qiáng),設(shè)計(jì)靈活性也大大提高。
作者:泮朋軍朱浩文單位:上海航天電子技術(shù)研究所