基于FPGA的智能變送器的設(shè)計與實現(xiàn)
3 系統(tǒng)軟件設(shè)計與仿真
該系統(tǒng)以XILINX公司的XC3S4005PQ208C作為中央處理器,整個系統(tǒng)主要包括初始狀態(tài)(Initialization)、數(shù)據(jù)采集狀態(tài)(Data_Sample)、數(shù)據(jù)處理狀態(tài)(Data_Processing)、以太網(wǎng)傳輸狀態(tài)(Enet_Transfers)、CAN總線傳輸狀態(tài)(CAN_Transfers)、和模擬輸出狀態(tài)(Analog_ Transfers)等6種狀態(tài),因此,可以利用有限狀態(tài)機(jī)的設(shè)計方案來實現(xiàn)。其狀態(tài)轉(zhuǎn)換圖如圖4所示,通過開發(fā)工具ISE10.1對各個模塊的VHDL源程序及頂層電路進(jìn)行編譯、邏輯綜合,電路的糾錯、驗證、自動布局布線及仿真等各種測試,最終將設(shè)計編譯的數(shù)據(jù)下載到芯片中即可。
初始狀態(tài):實現(xiàn)系統(tǒng)初始化;數(shù)據(jù)采集狀態(tài):完成數(shù)據(jù)采集過程;數(shù)據(jù)處理狀態(tài):對采集的信號進(jìn)行一系列的濾波處理,非線性校正等;以太網(wǎng)傳輸狀態(tài),CAN總線傳輸狀態(tài):根據(jù)實際需要將信號數(shù)字輸出;模擬輸出狀態(tài):進(jìn)行數(shù)模轉(zhuǎn)換,輸出標(biāo)準(zhǔn)的電壓電流信號。
3.1 數(shù)據(jù)采集的FPGA設(shè)計
數(shù)據(jù)采集是工業(yè)測量和控制系統(tǒng)中的重要部分,它是測控現(xiàn)場的模擬信號源與上位機(jī)之間的接口,其任務(wù)是采集現(xiàn)場連續(xù)變化的被測信號。對數(shù)字系統(tǒng)來說,數(shù)據(jù)采集主要由傳感器放大電路和A/D轉(zhuǎn)換電路構(gòu)成,由硬件電路可見,系統(tǒng)通過AD7264模/數(shù)轉(zhuǎn)換器來實現(xiàn)模/數(shù)轉(zhuǎn)換。AD7264內(nèi)含6個寄存器,分別是A/D轉(zhuǎn)換器的結(jié)果寄存器、控制寄存器、A/D轉(zhuǎn)換器A和B的內(nèi)部失調(diào)寄存器、A/D轉(zhuǎn)換器A和B通道的外部增益寄存器。由于XC3S4005PQ208C和AD7264都兼容SPI接口,兩者的編程只需按照時序圖進(jìn)行即可。AD7264與FPGA的接口主要包括PD0數(shù)據(jù)輸入選擇端:DoutA(DoutB)兩路數(shù)據(jù)輸出端;OUTa(OUTb)兩路數(shù)據(jù)輸入端;CoutA(CoutB、CoutC、CoutD)比較器輸出;G3(G2、G1、G0)四路增益控制輸入信號。增益由控制寄存器的低四位控制;ADSCLK時鐘信號;ADCS片選信號,低電平有效。AD7264工作頻率為20 MHz,在CS下降沿,跟蹤保持器處于保持模式。此時,采樣、轉(zhuǎn)換同時被初始化模擬輸入。這需要至少19個SCLK周期。第19個SCLK的下降沿到來時。AD7262恢復(fù)至跟蹤模式,并設(shè)置DOUTA、DOUTB為使能。數(shù)據(jù)流由14位組成,MSB在前。圖5為AD7264讀寄存器時序仿真圖。
評論