基于Spantan FPGA的多路數(shù)字量采集模塊設(shè)計
1 引言
本文引用地址:http://m.butianyuan.cn/article/150924.htm測控系統(tǒng)常常需要處理所采集到的各種數(shù)字量信號。通常測控系統(tǒng)采用通用MCU完成系統(tǒng)任務(wù)。但當系統(tǒng)中采集信號量較多時,僅依靠MCU則難以完成系統(tǒng)任務(wù)。針對這一問題,提出一種基于FPGA技術(shù)的多路數(shù)字量采集模塊。利用FPGA的I/O端口數(shù)多且可編程設(shè)置的特點,配以VHDL編寫的FPGA內(nèi)部邏輯,實現(xiàn)采集多路數(shù)字量信號。
2.1 功能要求
該數(shù)字量采集模塊主要功能是采集輸入的36路數(shù)字及脈沖信號,并將編幀后的信號數(shù)據(jù)上傳給上位機,上位機經(jīng)解包處理后顯示信號相應的狀態(tài)進行判斷。
根據(jù)設(shè)計要求,所測量的36路數(shù)字信號中,有15路正脈沖信號。它們均由一個同步脈沖信號觸發(fā),因此需要測量這些正脈沖的寬度和相對于同步信號脈沖的延時。
要求采集步長不能大于10 ns,即采集頻率高于100 MHz。而其他數(shù)字信號需要顯示高低電平狀態(tài),其中一路信號是固定頻率信號,需測量其頻率值。上位機要求顯示所采集信號的狀態(tài)。
2.2 模塊原理框圖
FPGA內(nèi)部邏輯功能強大,外圍電路設(shè)計基于簡單、可靠的原則。該模塊由FIFO、USB2.0單片機、光電隔離器等部分組成。36路數(shù)字信號經(jīng)光電隔離器進入FPGA主控單元,以供采集;FPGA處理采集到的信號,轉(zhuǎn)換成數(shù)據(jù)進行編幀,然后寫入FIFO。USB單片機提取FIFO中的數(shù)據(jù),通過USB電纜傳送給上位機,上位機將傳送來的數(shù)據(jù)解幀,然后顯示所有信號狀態(tài)。模塊通過電源接口向各個部分供電。其原理框圖如圖1所示。
3 模塊電路設(shè)計
3.1 FPGA配置電路
FPGA是采用XILINX公司的Spantan-II系列XC2S100E,該系列器件的內(nèi)核采用2.5 V供電,工作頻率高達200 MHz;I/O端口供電電壓為3.3 V,可承受5 V的輸入高電平。Spartan-II系列的FPGA具有豐富的I/O端口資源。其I/O端口輸出緩沖器接收高達24 mA源出電流和48 mA灌入電流。
由于FPGA基于RAM工藝技術(shù),掉電后不能保存信息,因此需要一個外置存儲器來保存信息。采用一次可編程的PROM(高有效或低有效)XCF01SV020,其復位引腳的極性可編程設(shè)置,供電電壓為3.3 V。XCF01SVO20的DONE、INIT、CCLK信號來自于FPGA XC2S100E。系統(tǒng)上電后,首先FPGA初始化,INIT、DONE置低。INIT置低后復位PROM,此時由于PROM的CE為低,因此選取PROM,從而可將數(shù)據(jù)流從DATA引腳輸入到FPGA的DIN引腳。配置完成后,F(xiàn)PGA將DONE接高,PROM處于低功耗的待機模式,并將DATA引腳置為高阻態(tài)。圖2為FPGA配置電路圖。
3.2 光電隔離電路
采用高速光電耦合器HCPL-2631,其開關(guān)頻率高達10 MHz,而輸人數(shù)字信號頻率為120 kHz,完全滿足要求。由于光電耦合器件以光為媒介傳輸信息,可使輸入輸出隔離,由于光電耦合器的輸入回路為發(fā)光二極管,其輸入阻抗很小,而干擾源的內(nèi)阻較大,根據(jù)分壓原理可知,饋送到光電耦合器輸入端的噪聲干擾電壓變得很小,從而能有效抑制尖峰脈沖及各種噪聲干擾,具有較強的抗干擾性能;另外由于光電隔離器的兩端采用不同的接地方式,因此數(shù)字信號地和模塊地被完全隔離。圖3為光電隔離電路圖。
3.3 FIFO電路
FIFO電路采用IDT公司的IDT72V17190器件,該器件采用3.3 V電壓供電,16位64 KB容量的FIFO,工作時鐘高達100 MHz。如圖4所示,F(xiàn)IFO的數(shù)據(jù)輸入D0~D15及PAF、WCLK、WEN均與FPGA相連。數(shù)據(jù)輸出Q0~Q15及REN、RCLK、OE、EF、MRS、HF、FF均與USB2.0單片機相連。讀FIFO狀態(tài)時,USB2.0單片機給出FIFO復位信號MRS和使能信號OE,然后判斷FIFO的狀態(tài)信號EF(空)和HF(半滿)。當FIFO半滿且非空,即EF為高,HF為低時,給出FIFO讀使能信號REN和讀時鐘RCLK,從FIFO中讀出數(shù)據(jù);寫FIFO時,F(xiàn)PGA判斷FIFO的PAF(幾乎滿)信號,如果該信號無效,則給出寫使能WEN和寫時鐘WCLK,將數(shù)據(jù)寫入FIFO。
評論