999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FPGA和BU?65170的1553B遠程終端設(shè)計與實現(xiàn)

2013-04-12 00:00:00史林鋒王斌永何志平陳凱
現(xiàn)代電子技術(shù) 2013年14期

摘要: 為了滿足載荷與衛(wèi)星進行可靠通信的目的,設(shè)計并實現(xiàn)了基于FPGA和BU?65170協(xié)議芯片的1553B遠程終端。自行設(shè)計了用于控制BU?65170的主控制狀態(tài)機,采用16位零等待緩沖接口模式,使用單消息和雙緩沖模式進行消息傳輸。創(chuàng)新性地引入RS 422總線與1553B總線進行通信,方便測試過程,結(jié)果直觀可見。采用專用測試板卡Alta ECD54?1553對系統(tǒng)進行測試,獲得預(yù)期的可靠結(jié)果。FPGA取代傳統(tǒng)CPU來控制1553B通信并集成數(shù)據(jù)傳輸功能,采用Verilog HDL硬件描述語言有利于軟件移植,縮短研發(fā)周期,提高系統(tǒng)可靠性。

關(guān)鍵詞: 1553B; FPGA; BU?65170; RS 422

中圖分類號: TN911?34 文獻標(biāo)識碼: A 文章編號: 1004?373X(2013)14?0065?05

Design and realization of 1553B remote terminal based on FPGA and BU?65170

SHI Lin?feng, WANG Bin?yong, HE Zhi?ping, CHEN Kai

(Shanghai Institute of Technical Physics, Chinese Academy of Sciences, Shanghai 200083, China)

Abstract: In order to realize reliable communication between payload and satellite platform, a 1553B remote terminal was designed based on FPGA and BU?65170. A FSM was designed to control BU?65170. The 16?bit zero latency buffering interface mode and single message/double buffering mode are adopted to transmite messages. RS?422 is used to communicate with 1553B for the convenient testing. In the test, an exclusive testing card Alta ECD54?1553 was employed, and a correct result was obtained. All of the control and data processing functions are centralized in FPGA instead of CPU. Verilog HDL is used for software transportation, RD cycle reduction and reliability improvement.

Keywords: 1553B; FPGA; BU?65170; RS?422

1 1553B概述

MIL?STD?1553B是美國于20世紀(jì)70年提出的一種用于戰(zhàn)機的時分控制/命令響應(yīng)式總線[1]。1553B的網(wǎng)絡(luò)拓撲結(jié)構(gòu)如圖1所示,它最多可以掛載32個終端,所有消息共享一條線路,通過采用冗余設(shè)計,另一條線路始終處于熱備份狀態(tài),大大提高了可靠性。其字長20 b,數(shù)據(jù)有效長度16 b,最大信息量長度為32個字,傳輸速度為1 Mb/s,傳輸方式為半雙工方式,采用曼徹斯特Ⅱ型碼。1553B的3種終端類型為:

(1)總線控制器(Bus Controller),總線系統(tǒng)中惟一被安排為執(zhí)行建立和啟動數(shù)據(jù)傳輸任務(wù)的終端。

(2)遠程終端(Remote Terminal),子系統(tǒng)到總線的接口,在BC的控制下實現(xiàn)命令、數(shù)據(jù)的接收和發(fā)送。

(3)總線監(jiān)視器(Bus Monitor),能記錄總線上的所有數(shù)據(jù),方便備份和查錯,但不參與總線通信[2]。

圖1 1553B網(wǎng)絡(luò)拓撲結(jié)構(gòu)

由于1553B具有可靠性高、實時性好、擴展方便等優(yōu)點,被廣泛應(yīng)用于飛機、導(dǎo)彈、衛(wèi)星、艦艇等航空航天和兵器領(lǐng)域[3]。目前,航天系統(tǒng)大多采用DDC公司的BU?61580/BU?65170協(xié)議芯片來實現(xiàn)1553B通信[4]。BU?61580是一款多協(xié)議集成接口芯片,由兩個低功耗雙端收發(fā)器、協(xié)議邏輯、存儲器管理邏輯、處理器接口邏輯及4K×16 B內(nèi)置共享靜態(tài)RAM以及直接面向主處理器的緩存接口組成,能完全實現(xiàn)1553B標(biāo)準(zhǔn)所規(guī)定的所有信息傳輸方式。BU?61580和BU?65170的區(qū)別在于前者集成了BC/RT/BM功能,后者只能實現(xiàn)RT功能[5]。在此研制的某型號項目作為一個子系統(tǒng),只要求實現(xiàn)RT功能。因此,選用了BU?65170作為1553B協(xié)議芯片。

一般采用CPU來控制BU?65170實現(xiàn)1553B通信,然而CPU只能順序地執(zhí)行命令,系統(tǒng)硬件不擴展的情況下,難以實現(xiàn)更加復(fù)雜的數(shù)據(jù)處理和控制。隨著航天載荷小型化的要求,數(shù)據(jù)的運算處理,系統(tǒng)的運行控制及通信,更多地采用FPGA實現(xiàn),這樣就可以把所有功能集成在一片F(xiàn)PGA芯片中,還能實現(xiàn)代碼的重復(fù)利用,提高研發(fā)效率。本文采用Xilinx xc6slx75 控制BU?65170實現(xiàn)1553B通信,同時因工程項目需要又用FPGA實現(xiàn)了RS 422通信,這樣不僅方便測試,使結(jié)果直觀可見,還使整個系統(tǒng)事實上成為了1553B總線和RS 422總線適配器。只要稍稍修改代碼,就可以在保留數(shù)據(jù)處理的功能下將系統(tǒng)移植應(yīng)用到采用其他通信方式(如RS 232,LVDS等)的子系統(tǒng)上。

2 硬件設(shè)計

BU?65170共有70個信號管腳,其中主要的控制信號如表1所示。

表1 BU?65170主要控制信號

Xilinx的Spartan?6系列xc6slx75芯片擁有74 637個邏輯單元,11 662個可配置邏輯模塊,280個I/O口以及18 KB的Block RAM模塊,同時擁有豐富的時鐘管理模塊(CMT)、集成存儲器控制模塊等,數(shù)據(jù)速率[6]高達800 Mb/s。采用XCF32P Flash芯片作為FPGA的PROM,使用MASTER配置模式,這樣在每次上電時程序都會寫入到FPGA中。由于FPGA的I/O口是3.3 V邏輯,而BU?65170是+5 V邏輯,所以需要采用電平轉(zhuǎn)換芯片74LVX3245進行FPGA和BU?65170之間的邏輯電平轉(zhuǎn)換。系統(tǒng)的硬件連接如圖2所示。

BU?65170有4種接口模式可以選擇,采用16位零等待模式。在此模式下,F(xiàn)PGA接收到BU?65170的READYn信號為低電平后,表示D15?D00上已經(jīng)呈現(xiàn)讀取的數(shù)據(jù),或者D15?D00上的數(shù)據(jù)已經(jīng)寫入存儲器或寄存器。BU?65170各信號配置如表2所示。

表2 BU?65170各信號配置

分別采用DS26LV32AW和DS26LV31W芯片作為RS 422差分接收器和驅(qū)動器,UART設(shè)計將在邏輯設(shè)計中詳細介紹。

3 邏輯設(shè)計

使用Verilog HDL進行編程[7],在FPGA中實現(xiàn)所需的功能。邏輯總體框圖如圖3所示,下面分別對各個模塊進行詳細介紹。

圖3 FPGA邏輯框圖

3.1 讀/寫模塊

根據(jù)芯片手冊給出的CPU讀寫時序圖編寫程序,在FPGA中實現(xiàn)對BU?65170寄存器和內(nèi)部RAM進行讀寫的模塊。讀寫模塊的仿真時序圖如圖4和圖5所示。

圖4 讀操作時序仿真圖

圖5 寫操作時序仿真圖

在讀寫過程中,信號BU_RD_WR為‘1’時表示對BU?65170進行讀操作,為‘0’時為寫操作;信號BU_MEM_REG為‘1’時表示對內(nèi)部RAM進行讀/寫,為‘0’時表示對寄存器進行讀/寫。在零等待模式中,信號BU_STRBD和BU_SELECT(可與BU_STRBD綁定,所以沒有給出)控制著讀/寫操作的開始。

在長STRBD模式下SELECT和STRBD同時為低電平的第2個CLK上升沿,內(nèi)部鎖存MEM_REG和RD_WR信號;短STRBD模式下STRBD上升沿內(nèi)部鎖存MEM_REG和RD_WR信號。考慮到容易滿足時序要求,采用長STRBD模式。當(dāng)BU?65170鎖存住MEM_REG或RD_WR信號后,BU_READY會出現(xiàn)一個上升沿,緊接著當(dāng)BU_READY出現(xiàn)下降沿時,表示BU?65170內(nèi)部傳送周期已經(jīng)結(jié)束。

在16位零等待模式下,寫一個內(nèi)部存儲單元或寄存器時,只需執(zhí)行一次寫操作,使該字的地址和數(shù)據(jù)呈現(xiàn)在地址總線和數(shù)據(jù)總線上即可。而讀一個內(nèi)部存儲單元或寄存器時,需要進行兩次讀操作。第一次讀時,要讀單元的地址和位置出現(xiàn)在A13?A00和MEM_REG上,這個周期獨處的數(shù)據(jù)應(yīng)忽略掉;第二次讀時,相應(yīng)的數(shù)據(jù)會出現(xiàn)在數(shù)據(jù)總線上。

因此,如果FPGA要執(zhí)行一個多字讀操作,地址總是早于對應(yīng)的讀出數(shù)據(jù),在同一個周期上,地址總線上出現(xiàn)下一個字的地址,數(shù)據(jù)總線上出現(xiàn)前一個字的讀出數(shù)據(jù)。

3.2 配置模塊

BU?65170有17個寄存器,通過配置這些寄存器來選擇工作模式和具體功能。選擇增強模式、增強中斷使能模式,使能RT子地址控制字中斷,服務(wù)請求自動清除。初始化流程如圖6所示,寄存器詳細配置如表3所示,具體子地址設(shè)置如表4所示。

3.3 時鐘模塊

使用40 MHz的外部晶振作為FPGA的時鐘輸入,然后用FPGA自帶DCM模塊分頻得到16 MHz主時鐘[8],作為其余模塊的全局時鐘,仿真和實際波形測試表明全局時鐘穩(wěn)定性良好,滿足系統(tǒng)要求。

圖6 初始化流程

表3 寄存器配置

表4 子地址設(shè)置

3.4 RS 422控制及UART模塊

RS 422模塊實現(xiàn)了RS 422通信功能,一方面滿足了工程要求;另一方面也使調(diào)試1553B系統(tǒng)變得方便明了,因為1553B發(fā)送過來的數(shù)據(jù)可以立即通過RS 422轉(zhuǎn)RS 232接口顯示在PC機上,同理,可以通過PC機發(fā)送數(shù)據(jù)到1553B的總線控制器。1553B總線接收數(shù)據(jù)的過程如下:RS 422端口發(fā)送數(shù)據(jù)到FPGA,將數(shù)據(jù)緩存在FIFO中,RT接收到發(fā)送命令后,F(xiàn)PGA把FIFO中的數(shù)據(jù)寫入RT相應(yīng)的發(fā)送子地址,最后再由RT發(fā)送給BC。類似地,1553B總線發(fā)送數(shù)據(jù)的過程如下:RT接收到接收命令后,F(xiàn)PGA立刻把數(shù)據(jù)從相應(yīng)子地址讀出,并傳送給RS 422模塊,再通過UART將數(shù)據(jù)發(fā)出。

UART采用10位異步通信方式,即1個起始位,8個數(shù)據(jù)位,1個停止位,如圖7所示,波特率為9 600 b/s。RS 422控制模塊內(nèi)部包含一個分頻模塊,將產(chǎn)生RS 422接口定義中的收發(fā)所需的波特率。通過對于系統(tǒng)時鐘的分頻,產(chǎn)生波特率為9 600 b/s和153 600的信號[9]。

圖7 RS 422數(shù)據(jù)格式

接收狀態(tài)機見圖8。當(dāng)檢測到起始位時,首先檢驗起始位是否正確,如果正確,立即采樣數(shù)據(jù)位,否則就返回空閑狀態(tài)。當(dāng)采樣計數(shù)器計到8后判斷下一位是否為停止位,若不是,則丟棄數(shù)據(jù)并進入空閑狀態(tài);若是,則把數(shù)據(jù)存入寄存器后進入空閑狀態(tài),結(jié)束一次成功的接收。為了提高正確率,還采用三模冗余算法。UART發(fā)送過程與接收類似,在收到發(fā)送信號后將需要發(fā)送的數(shù)據(jù)存入緩存,在使能有效和緩存不空的情況下開始傳輸。此時指針開始計數(shù),首先發(fā)送起始位‘0’,接著一次發(fā)送8 b數(shù)據(jù),最后發(fā)送停止位‘1’,結(jié)束一次發(fā)送過程。

圖8 UART接收狀態(tài)機

3.5 主控制器

FPGA中控制與BU?65170通信的主控制狀態(tài)機如圖9所示。初始化完成后程序進入等待狀態(tài)。此時如果收到中斷信號(INT=0),則首先讀取中斷寄存器,判斷是否為消息結(jié)束中斷(EOM),如果不是,進入錯誤狀態(tài),等待BC對RT進行檢查或重啟RT;如果是消息結(jié)束中斷,則繼續(xù)讀取上一個命令字,若是發(fā)送命令,則從FIFO中讀取28 B的狀態(tài)信息數(shù)據(jù),接著向相應(yīng)的發(fā)送子地址數(shù)據(jù)塊填寫數(shù)據(jù),在RT收到下一個發(fā)送命令后,BC從相應(yīng)子地址讀取上一條數(shù)據(jù),這與對BU?65170進行讀操作的原理相似。如果上一個命令字是接收命令,則讀取相應(yīng)子地址對應(yīng)的數(shù)據(jù)塊,然后讀取具體命令內(nèi)容,再根據(jù)命令進行相應(yīng)的處理,最后回到等待狀態(tài)。

接收子地址1工作在雙緩沖模式,用于接收BC發(fā)送的廣播時間碼,加載到每一條從RT發(fā)送到BC的狀態(tài)信息的頭部。雙緩沖模式可以使FPGA訪問指定子地址剛接收到的消息,RT將接收的數(shù)據(jù)字交替存儲到數(shù)據(jù)塊0和數(shù)據(jù)塊1中。當(dāng)FPGA需要訪問接收子地址1內(nèi)的消息時,首先將其改成單消息模式,讀取數(shù)據(jù)塊地址,并將其bit5的值取反得到“非活躍”數(shù)據(jù)塊的地址,讀取其上的最新時間碼后再將接收子地址1改為雙緩沖模式。

圖9 主控制狀態(tài)機

4 測 試

選用Alta公司的ECD54?1553多功能板卡(能模擬BC\RT\BM)作為BC,與設(shè)計的RT搭成一個測試系統(tǒng),如圖10所示。

圖10 測試系統(tǒng)

首先在ECD54?1553的控制界面中設(shè)置RT地址為21,然后根據(jù)在FPGA邏輯中設(shè)定的RT子地址及傳輸數(shù)據(jù)量進行相應(yīng)的設(shè)置,再開啟總線監(jiān)控(BM)功能[10],測試RT→BC的過程如圖11所示。設(shè)置RT地址為21、發(fā)送子地址為6、數(shù)據(jù)量為32個字(2 B標(biāo)志位+28 B數(shù)據(jù)+2 B保留位);通過串口調(diào)試助手從PC機向RS 422發(fā)送28 B數(shù)據(jù);經(jīng)過FPGA處理后傳送給1553B總線控制器,BM顯示總線控制器正確收到從RS 422發(fā)來的數(shù)據(jù)。測試BC→RT的過程如圖12所示。

設(shè)置RT地址為21、接收子地址為4、數(shù)據(jù)量為2個字;由BC發(fā)送2個字的數(shù)據(jù)12FE 42DF;串口調(diào)試助手顯示RS 422正確接收到BC發(fā)送過來的數(shù)據(jù)。示波器測得的實際曼徹斯特Ⅱ型碼波形如圖13,圖14所示。

圖13 RT→BC示波器實測圖

圖14 BC→RT示波器實測圖

測試結(jié)果表明RT能正確、穩(wěn)定地跟BC進行通信,達到工程項目所需的要求。

5 結(jié) 語

本文設(shè)計了基于FPGA和BU?65170的1553B遠程終端,實現(xiàn)1553B通信。詳細介紹了硬件連接、BU?65170芯片配置、FPGA邏輯模塊、UART設(shè)計、測試過程和結(jié)果。通過引入RS 422接口,更加直觀地觀測到1553B通信過程,易于調(diào)試。采用FPGA的最大優(yōu)點是能迅速移植代碼,縮減研發(fā)周期。隨著技術(shù)的發(fā)展,對數(shù)據(jù)傳輸和處理提出了更高的要求,未來可以把控制其他子系統(tǒng)的模塊和數(shù)據(jù)處理功能集成在一塊FPGA芯片中,提高集成性,便于開發(fā)和維護。

參考文獻

[1] Department of Defense. Military standard aircraft internal time division command/response multiplex data bus [S]. US: Department of Defense, 1978.

[2] DDC. MIL?STD?1553 designer’s guide [S]. US: DDC, 1998.

[3] 張豫榕.1553B總線原理及其應(yīng)用[J].現(xiàn)代電子工程,2004(7):9?11.

[4] 李娜,李占明,劉防動.基于BU?61580設(shè)計的1553B總線板卡[J].電子科技,2011,24(5):59?61.

[5] DDC. ACE/Mini?ACE series BC/RT/MT advanced communicationengine integrated 1553 terminal user’s guide [S]. New York:Data Device Corp, 1999.

[6] Xilinx. Spartan?6 Family overview [R]. US: Xilinx, 2011.

[7] 夏宇聞.Verilog 數(shù)字系統(tǒng)設(shè)計教程[M].北京:北京航空航天大學(xué)出版社,2003.

[8] Xilinx. Spartan?6 FPGA clocking resources [R]. US: Xilinx, 2012.

[9] 孟志華.利用FPGA實現(xiàn)UART的設(shè)計[J].電子工程師,2007(4):14?16.

[10] Alta Data Technologies LLC. AltaView software user’s manual [M]. [S.l.]: Alta Data Technologies LLC, 2011.

主站蜘蛛池模板: 在线观看精品国产入口| 亚洲男人的天堂久久香蕉网| 91视频区| 日本一区中文字幕最新在线| 一级毛片无毒不卡直接观看| 日本欧美成人免费| 狠狠躁天天躁夜夜躁婷婷| 亚洲国产日韩欧美在线| 国产免费精彩视频| 波多野结衣亚洲一区| 狠狠色噜噜狠狠狠狠色综合久 | 园内精品自拍视频在线播放| 97人妻精品专区久久久久| 88国产经典欧美一区二区三区| 久久狠狠色噜噜狠狠狠狠97视色 | 无码AV动漫| 国产精品中文免费福利| 国产精品亚洲欧美日韩久久| 亚洲系列中文字幕一区二区| 无码福利日韩神码福利片| igao国产精品| 东京热av无码电影一区二区| 久久免费视频播放| 无遮挡国产高潮视频免费观看| 久久久久中文字幕精品视频| 国产成人做受免费视频| 欧美色香蕉| 日韩欧美国产另类| 欧美在线三级| 乱码国产乱码精品精在线播放| 国产最新无码专区在线| 任我操在线视频| 国产第一福利影院| 久久亚洲高清国产| 无码中文字幕乱码免费2| 国产精品精品视频| 免费a级毛片视频| 国产91无码福利在线| 亚洲中文字幕日产无码2021| 亚洲人成人无码www| 97国产成人无码精品久久久| 好紧好深好大乳无码中文字幕| 亚洲高清无在码在线无弹窗| 性69交片免费看| 在线播放国产一区| 国产91在线|日本| av在线手机播放| 日本a级免费| 天天激情综合| 自拍欧美亚洲| 99草精品视频| 啪啪免费视频一区二区| 日本高清在线看免费观看| 国产精品亚洲αv天堂无码| 少妇人妻无码首页| 国产一区在线视频观看| 亚洲天堂在线免费| 中文字幕在线不卡视频| 九色在线视频导航91| 久久91精品牛牛| 亚洲美女一区| 最新国产你懂的在线网址| 欧美成人手机在线观看网址| 久久亚洲国产最新网站| 日韩av手机在线| 国产视频自拍一区| 人妻91无码色偷偷色噜噜噜| 欧美一级一级做性视频| 国产18在线播放| 69视频国产| 精品一区二区无码av| 国产伦片中文免费观看| 国产亚洲精品97在线观看| 在线高清亚洲精品二区| 国产又大又粗又猛又爽的视频| 亚洲国产一区在线观看| 香蕉精品在线| 激情亚洲天堂| 亚洲AV无码乱码在线观看代蜜桃| 粉嫩国产白浆在线观看| 激情综合激情| 亚洲成年网站在线观看|