劉晨暉,任勇峰*,李輝景,王廣才
(1.中北大學,電子測試技術國家重點實驗室,儀器科學與動態測試教育部重點實驗室,太原030051;2.北京導航技術控制股份有限公司,北京100176)
基于FPGA的多接口PCM傳輸系統的設計*
劉晨暉1,任勇峰1*,李輝景1,王廣才2
(1.中北大學,電子測試技術國家重點實驗室,儀器科學與動態測試教育部重點實驗室,太原030051;2.北京導航技術控制股份有限公司,北京100176)
遙測系統中,為解決PCM傳輸系統單一接口通用性不強、應用條件局限的問題,設計了一種以FPGA為控制核心的多接口數據傳輸系統,該系統通過RS422接口發送幀同步信號和移位脈沖信號并接收PCM碼,以USB串行接口和PCI并行接口與上位機進行通信,讀取PCM數據并分析。設計中PCI接口采用單次訪問結合突發訪問的數據傳輸模式,USB采用具有完整協議的FT245。長期試驗證明:該系統工作穩定可靠,數據傳輸無誤,通用性強,滿足設計要求。
遙測系統;多接口;PCM傳輸;PCI;USB
遙測系統設計中,脈沖編碼調制(PCM)的遙測系統由于其自身的各種優點而得到廣泛應用,然而由于遙測信息傳輸距離較短,易受干擾,所以將遙測數據轉化為一種更為可靠的傳輸信號將是一種較好的解決方法。RS422作為一種廣泛使用的傳輸協議,其可靠性經過大量的實際驗證,是極好的替代方式[1-2]。讀取數據并分析的接口設計中,為增強本系統的通用性,集成了一個串行接口和一個并行接口。現在一般的PC機中都包含2個以上的PCI插槽,而且對于時下流行的PCI-E總線接口,更改相應的接口插槽標準,便能在PCI-E總線接口上使用。其對PCI總線接口的兼容使得基于PCI總線結構的設備在以后若干年依然能持續使用。由于USB接口占用資源少,易于開發和集成的優點,串行接口選用了USB接口,兩種典型的串并接口,使得本系統的適應性和靈活性更強,更易于移植和改進。
本傳輸系統通過上位機下發指令監測兩個接口是否正常通信,然后控制RS422接口進行PCM碼接收,并選擇其中一個接口把數據回讀到上位機進行分析。系統總體設計如圖1所示。

圖1 系統總體設計框圖
本系統主要實現3個功能:(1)通過RS422接口給PCM信號源發送幀同步信號和移位脈沖信號;(2)通過RS422接收PCM碼;(3)通過PCI或者USB與FPGA通信,并將數據回讀給上位機,并對數據進行分析。RS422以差動形式進行信息的發生和接收,不需要以往所采用的數據地線,通過兩對雙絞線可以全雙工工作收發互不影響,同時采用雙端線傳送信號,具有很強的抗干擾能力[3];并行接口總線采用PCI總線,以其獨立于CPU、即插即用、數據傳輸率高、功耗低等諸多特點而受到廣泛使用,PCI總線芯片PCI9054技術成熟,使用便利,與其配合的基于即插即用思想的WDM式驅動程序,在使用Driverstudio開發工具時也非常方便,且傳輸速率較快,可達132 Mbit/s,滿足各項參數設計要求,適用于本系統的開發設計[4];USB芯片采用FT245RL,FT245RL是具有完整USB協議的芯片,數據傳輸速率可達1Mbyte/s,而USB接口本身體積小,便于攜帶,便于集成到系統模塊中使用,傳輸性能穩定可靠,在數據傳輸中扮演著重要的角色。
2.1RS422接口電路設計
RS422總線的4線接口采用了單獨的發送和接收通道,因此不必考慮每條走線的數據方向,各裝置之間的信號交換均可以按照硬件方式(一對單獨的雙絞線),發送通道采用ER26C31S芯片,其配置電路如圖2(b),接收通道采用ER26C32S芯片,配置電路如圖2(a),發送和接收通道相互獨立,具有很強的抗干擾特性。由于ER26C32S輸出的是TTL電平,所以要將輸出的4路電平經74LVC4245A電平轉換芯片將TTL電平轉換為CMOS電平以后與FPGA進行通信,配置電路如圖2(c)。
2.2PCI接口電路設計
PCI接口選用PLX公司的PCI9054芯片,PCI9054的本地總線端共有3種不同的本地總線接口類型,分別為,M模式、C模式、J模式,分別適合于不同的本地總線邏輯控制端。C模式數據線與地址線分開使用,適合有本地端主設備的情形。而本采集系統的PCI采集板卡具有本地邏輯控制主設備,則使用C模式。PCI9054支持握手信號控制、中斷產生控制,握手信號實現控制信號觸發相應的功能控制,而中斷信號產生控制則很好的切合了計算機內部的各模塊的管理控制[5]。這樣可以實現采集板卡與上位機的有效通信,而不會額外占用電腦的CPU等資源。圖3為PCI9054進行目標設備I/O讀寫時的結構圖,3(a)為讀結構圖,3(b)為寫結構圖。每個圖中的左半部分為PCI9054與PCI局部總線的交互,右半部分為PCI9054與FPGA之間的交互,右半部分包含的控制線、地址線及數據線就是進行I/O操作時需要在FPGA內進行的接口設計[6]。

圖2 RS422接口配置電路

圖3 PCI9054目標設備I/O讀寫結構圖
2.3USB接口電路設計
普通的USB接口雖然通信速度快,但接口電路復雜,且底層驅動程序不易編寫.為了保證接口的數據傳輸速率,并能避免常規USB接口設計的復雜性,選擇了FTDI公司的FT245RL USB接口芯片。FT245RL是與并行FIFO雙向數據傳輸的USB獨立芯片,是完整的USB協議處理芯片,不需具體的USB固件編程,可以實現USB和FIFO并行接口之間的數據雙向轉換。它128B的FIFO發送緩沖區和256 byte的FIFO接收緩沖器能夠實現高數據吞吐量,且操作電流低,功耗低[7]。FT245提供了VCP 和D2XX兩種驅動程序,設計選用D2XX作為USB接口的設備驅動程序,編寫程序時,只需要調用FTD2XX.DLL中的函數即可實現對FT245的讀寫。FT245RL通過8 bit并行數據口AD[7:0]和4個讀寫狀態,控制口RXF、TXE、RD、WR與微控制器進行數據傳輸,硬件電路設計如圖4所示,為了防止信號受到干擾,在USBDM和USBDP接口加一個EMC元件TDK的共模電感(共模濾波器)ACM-2012-900。

圖4 USB接口電路
控制單元FPGA以XILINX公司的ISE13.2作為開發環境,使用VHDL語言進行編寫,可開發性高。FPGA與PCI9054端的接口通信功能為:上位機控制字下傳(PCI至本地端)、采集器中斷申請上傳、采集器的采集數據上傳(本地端至PCI端)。其中上位機控制字下傳與采集數據上傳均是采用DMA數據傳輸方式。DMA數據傳輸控制,是在驅動程序中通過設置PCI9054與DMA數據傳輸相關的寄存器實現的。FPGA與PCI9054的通信的VH?DL程序流程圖如圖5(a)所示。

圖5 PCI接口和USB接口的VHDL流程圖
FPGA與FT245RL通信實現的功能主要是下發指令和回傳數據:上位機下發命令字,FT245RL通過RXF、WR信號的控制,將串行命令字通過內部的SIE轉換成8位并行數據寫到FT245RL的發送緩沖區,發送給FPGA,由FPGA根據指令執行相關操作;FPGA采集到PCM數據后,先將數據寫到FT245RL接收緩沖區,然后通過SIE將并行數據轉換為串行差分信號上傳給上位機,這個過程通過TXE、RD兩個信號來控制[8]。FT245RL的工作方式是單工,因此需要通過一個三態門來控制雙向端口的輸入與輸出,即OE為1時,雙向端口只能作為輸入端口,接收指令;OE為0時,雙向端口只能作為輸出端口,回傳數據給上位機。FT245的讀寫程序流程圖如圖5(b)所示。此外,主程序中還包括信號RS422發送和接收模塊、消抖模塊、數據采集模塊等。
本文設計的多接口PCM數據傳輸系統,目的是將RS422接口接收的PCM碼通過USB接口或者PCI接口上傳給上位機,并對數據進行分析。在調試過程中,為了測試相關功能我們做了一塊模擬PCM信號源的發射系統,信號源接收移位脈沖和幀同步信號,發送由設計人員自定的數據格式。在本系統接收數據并上傳給上位機后用UltraEdit打開并對數據分析,經過長期試驗證明,本系統讀取數據穩定可靠,沒有丟幀及誤碼現象,滿足了設計要求。數據格式如圖6所示。
航天系統中遙測數據的采集與分析是必不可少的環節,本系統實現了PCM采集與上傳分析的硬件設計,并通過ISE進行了軟件設計,實現了多接口數據傳輸的邏輯時序控制,系統同時集成了PCI并行接口和USB串行接口,并通過RS422接口進行PCM通信,使得本系統的通用性更強,應用范圍得到進一步拓展。
[1]肖揚彪.基于FPGA的PCM遙測采編器的設計與實現[D].南昌:南昌大學,2013.
[2]馬睿,張會新,翟成瑞.一種新型遙測模擬測試系統的設計與實現[J].電子器件,2015,38(1):160-165.
[3]彭濤,劉亞斌.高速并行遙測數據轉RS422長線傳輸的設計[J].電子設計工程,2013,21(22):49-51.
[4]董海蘭,康懷祺,鐘午.基于FPGA的多接口高速PCI傳輸系統設計[J].火控雷達技術,2012,41(4):43-47.
[5]張丹紅,張孝勇,劉文,等.基于PCI9054的數據通信接口卡設計[J].武漢理工大學學報,2013,35(3):49-54
[6]張會新,陳嫣然,鄭燕露.基于PCI9054的通信卡設計[J].電視技術,2012,36(5):33-34.
[7]張會新,凌偉,馬志剛,等.一種新型GPS實時定位系統的設計[J].電子器件,2014,37(6):1204-1208.
[8]刁兆奎,張鵬飛,熊繼軍,等.基于FT245BM的數據采集系統設計[J].測試技術學報,2011,25(2):163-167.

劉晨暉(1991-),男,漢族,現為中北大學在讀碩士研究生,研究方向為動態測試技術;

任勇峰(1968-),男,漢族,教授,博士生導師,主要研究方向為微電路系統,動態測試技術與儀器。
Multi-Interface PCM Transmission System Design Based on FPGA*
LIU Chenhui1,REN Yongfeng1*,LI Huijing1,WANG Guangcai2
(1.North University of China,National Key Laboratory For Electronic Measurement Technology,Key Laboratory of Instrumentation Science&Dynamic Measurement,Ministry of Education,Taiyuan 030051,China;2.North Navigation Control Technology Co.Ltd,Beijing 100176,China)
In telemetry systems,in order to solve the problems that single-interface test system is not universal,and the application conditions are limited comparatively,a multi-interface data transmission system using FPGA as control core was designed.The system transmits frame synchronization signals and the shift pulse signals through the RS422 interface meanwhile receiving PCM code,communicates with the host computer by serial inter?face USB and parallel interface PCI,and then read PCM data and analysis.PCI interface using a single access combined with burst access data transfer mode,USB interface adopts the FT245 with integrated agreement.The long-term tests prove that the system work stably and transmitted reliably with good genarality,which meets the re?quirements of design.
telemetry systems;multi-interface;PCM transmission;PCI;USB
TP274.2
A
1005-9490(2016)02-0324-05
EEACC:6210J;7210B10.3969/j.issn.1005-9490.2016.02.016
項目來源:國家杰出青年科學基金項目(51425505)
2015-06-07修改日期:2015-07-10