基于FPGA的通用網絡下載器硬件設計
摘要 網絡下載器作為航天計算機地面檢測系統(tǒng)的重要組成部分,發(fā)揮著重要的作用。文中主要介紹了網絡下栽器的總體設計思路,給出了硬件模塊的設計原理圖。并在PCB設計中,對于LVDS接口、高速總線以及疊層的設計中給出了應用參考,保證了系統(tǒng)硬件的可靠性,且在實際應用中取得了穩(wěn)定的性能表現(xiàn)。
本文引用地址:http://www.ex-cimer.com/article/201610/308500.htm隨著航天技術的發(fā)展,地面檢測設備作為大系統(tǒng)的重要組成部分,發(fā)揮著重要作用。通用下載器作為測試指令和測試數(shù)據上傳下發(fā)的重要通道,其可靠性和穩(wěn)定性備受關注,本文介紹了通用下載器的總體設計思路,給出了原理圖和PCB的設計參考,同時在實際測試中驗證了該設計的可靠性和穩(wěn)定性。
1 系統(tǒng)概述
該設備主要完成的功能是將70 Mbit的數(shù)據包通過網口分包發(fā)送給接收設備,并發(fā)送控制數(shù)據給接收設備,從而接收來自接收設備的狀態(tài)數(shù)據。
整個設備主要由ARM芯片和FPGA芯片組成,ARM芯片采用三星2440,FPGA選用Xilinx的Xilinx Spartan6系列FPGA,型號為XC6SLX45F484,將FPGA掛在ARM的RAM接口下,其接口帶寬可達133 M/5x4 Byte=106 MByte,通過100 Mbit·s-1以太網網卡與PC上位機通信,通過LVDS接口來完成與下位機的數(shù)據和控制信息交互。
FPGA通過一個FIFO接收ARM發(fā)送的數(shù)據,寫使能信號(fifo_wren)由ARM發(fā)送的片選信號(nce)和寫使能(nwe)控制,當?shù)刂沸盘枮?,nce和nwe同時有效時,F(xiàn)IFO被寫入數(shù)據(16位寬)。FIFO讀使能由FIFO空信號(fifo_empt_w)控制,當FIFO有數(shù)據寫入時,F(xiàn)IFO空信號(fifo_empt_w)由低變高,觸發(fā)讀使能,數(shù)據被讀出,并經LVDS后進入下位機。
FPGA通過另一個FIFO接收下位機發(fā)送的數(shù)據,寫使能信號(lvds_en_in)由下位機控制,使能信號為高后,下位機提供寫時鐘(lv_clk_in_ wire),數(shù)據(8位寬)被寫入FIFO。FIFO讀使能(fifo_rden)由ARM發(fā)送的片選信號(nce)和寫使能信號(noe)控制,當FIFO有數(shù)據寫入時,F(xiàn)IFO空信號(fifo_r_empt_w)由低變高,ARM檢測到此信號后使能nce和noe,并給出讀時鐘,F(xiàn)IFO數(shù)據被讀出。
ARM通過100 MBIT網口接收上位機發(fā)送的TCP/IP數(shù)據包,ARM將其解包使數(shù)據內容通過ARM的RAM口發(fā)送給FPGA,而FPGA將數(shù)據包通過LVDS接口發(fā)送給接收設備。
下載器通過LVDS口接收來自接收設備發(fā)送的狀態(tài)數(shù)據包并緩存至FIFO中,接收完一幀后給ARM發(fā)送中斷信號,ARM接收到中斷信號通過RAM接口讀取FPGA FIFO中的狀態(tài)數(shù)據包并打包成TCP/IP數(shù)據包并通過100 Mbit網口發(fā)送給上位機。
2 原理圖設計
2.1 電源設計
系統(tǒng)采用5 V直流供電,F(xiàn)PGA需要1.2 V的核心電壓,2.5 V的VCCAUX電壓,3.3 V的bank電壓,RAM板與LVDS接口芯片sn551vds31/32均使用3.3 V電壓供電,同時保證各個電壓等級互不影響,采用5 V直接產生1.2 V,2.5 V和3.3 V電壓的方式,其中FPGA的1.2 V核心電壓采用開關電源LM2852,保證供電電壓的精度,提高了電源效率,2.5 V和3.3 V電流預估較大,為滿足系統(tǒng)長時間工作的散熱,使用TI的電源模塊pth04070。
2.2 網絡接口設計
網絡接口使用DM9000芯片以及網絡接口芯片HR911103A組成,DM9000是一個全集成、功能強、性價比高的快速以太網MAC層控制器。其帶有一個通用處理器接口、EEPROM接口、10/100 PHY和16 kB的SRAM(其中13 kB用來接收FIFO,3 kB用來發(fā)送FIFO)。電源模塊采用單一電源,可分別兼容3.3 V和5 V的IO接口電平。設計采用3.3 V電源供電,保證了系統(tǒng)的穩(wěn)定性,100 m網口雙向通信帶寬為50 Mbit·s-1(6 MByte /s)。DM9000和2440連接了16條數(shù)據線,1條地址線,唯一地址線用于判斷數(shù)據線傳輸?shù)氖堑刂坊蚴菙?shù)據,所以這16條數(shù)據線為數(shù)據和地址復用,如圖4所示。
2.3 LVDS接口設計
LVDS:Low Voltage Differential Signaling,低電壓差分信號。LVDS傳輸支持速率一般在155 Mbit·s-1以上。LVDS是一種低擺幅的差分信號技術,其使得信號能在差分PCB線對或平衡電纜上以幾百Mbit·s-1的速率傳輸,其低壓幅和低電流驅動輸出實現(xiàn)了低噪聲和低功耗。 IEEE在兩個標準中對LVDS信號進行了定義。ANSI/TIA/EIA-644中,推薦最大速率為655 Mbit·s-1。設計采用了LVDS接口發(fā)送芯片sn551vds 31和接收芯片sn55lvds32,其中發(fā)送部分采用50 Ω的串聯(lián)匹配,電阻精度選擇為1%,保證終端匹配電阻的精度。
3 PCB設計
系統(tǒng)PCB設計需注意疊層設計,ARM和FPGA間高速總線的設計以及LVDS總線的阻抗匹配及信號約束問題。
根據TI的參考手冊,通常的疊層結構為LVDS信號層、電源層(分割成LVDS電平電源和TTL電平電源)、地層(分割成LVDS電平地和TTL電平地)和TTL信號層,如圖7所示。
但在實際設計中,由于疊層的設計,不可能單獨列出較多層,對于TTL和LVDS信號的地層也無需進行分割,因其會破壞地層的完整性,在確保完整地的情況下,可對其他地層TTL和LVDS信號分割。總之,在保證地層完整的情況下,使LVDS信號和TTL信號盡量分離,最好是在不同的層進行布線。在本PCB板的設計中,使用6層疊層結構:TOP-GND1-INNER-POWER-GND2-BOTTOM,其中TOP和BOTTOM層走LVDS信號,INNER和GND2走LVTTL信號,這樣既保持了信號的分層,也保持了完整的信號回流路徑。
LVDS信號頻率可達600 MHz以上,所以差分線要求嚴格等長,差分對內最好不超過10 mil(0.254mm),若頻率低于600 MHz,該約束值可適當放寬,但上限不能超過75 mil。不同LVDS對間的布線最大差值不超過200 mil。文中在Cadence16.3的約束設置中,具體設置如下。
差分阻抗的不匹配會產生反射,有10%的阻抗不匹配便會產生5%的反射,所以需根據不同的情況進行不同的匹配控制。LVDS信號的差分特性阻抗為100 Ω,對于LVDS信號發(fā)射端(TX),采用差分對各自串聯(lián)精度為1%的50 Ω電阻進行匹配,這樣既保持了信號傳輸?shù)墓β室螅譂M足了阻抗控制的要求。
4 實測結果
下載器性能實測時,將LVDS接口接收和發(fā)送部分回環(huán)連接,可使用網絡調試助手發(fā)送55 AA組成的1 032 Byte的數(shù)據包,測試下載器的功能。結果如圖10所示,從圖中可看到,下載器穩(wěn)定的收發(fā)數(shù)據。
5 結束語
設計的網絡下載器將FPGA在信號處理中的優(yōu)勢和ARM芯片在網絡通信中的優(yōu)勢相結合,在PCB設計中對于LVDS接口的阻抗、高速線時序以及疊層進行了設計,較好地保證了系統(tǒng)硬件的可靠性,并在實際使用中達到了良好的效果。
評論