電能質量監測系統信號采集模塊控制器IP核設計
頂層文件的Verilog描述如下:
本文引用地址:http://www.j9360.com/article/270754.htm

如圖3所示,時鐘分頻部分的輸出與FIFO的數據寫入時鐘、AD_Ctrl的時鐘和A/D轉換芯片的時鐘相連接。AD_Ctrl部分主要對ADS8364 芯片進行控制,其中輸出RD也連接到FIFO的寫使能端,對FIFO的數據寫入進行控制。FIFO的讀時鐘接到系統時鐘,讀使能由CPU控制。當FIFO 寫入一個周期的數據后,由prog_full產生中斷信號,CPU響應并對FIFO進行讀取。

2.4 仿 真
對頂層文件進行綜合,并在Mode-lsim中對其進行仿真。數據采集控制器的仿真結果如圖4所示。當holdx_n為低電平時,啟動A/D轉換,完成后根據EOC_n的低電平信號產生6個RD_n的低電平信號,循環讀取數據。當FIFO存儲了一個周期的數據后,CPU置FIFO的讀使能端口為高電平,對 FIFO中的數據進行高速讀取。若FIFO中數據為空,empty為高電平。

3 使用Xilinx嵌入式開發工具EDK設計IP核
嵌入式開發軟件EDK為設計人員提供了自動化設計向導—— Base System Builder(BSB),可以指引工程師快速完成整個設計過程。使用BSB創建工程,在創建完成之后使用EDK自帶的CIP(Create and Import Peripheral Wizard)添加用戶自定義IP核,生成的用戶IP核保存在EDK工程目錄下的pcore文件夾。用戶IP核目錄如圖5所示。

其中文件夾data用于存放用戶IP的配置文件,如.prj文件、.mpd文件和.pao文件等;文件夾hdl用于存放用戶IP的HDL代碼,即.v或者.vhd文件;而devl(simmodels)文件夾中的工程可以使用戶在ISE平臺對工程進行設計、綜合與仿真,如果設計需要加入網表,可以放在 netlist文件夾。CIP在建立用戶IP核時,使用了一種專用接口規范(IPIF)。IPIF是一個驗證并優化的高度參數化的定制接口,它提供了一個簡化的總線協議IPIC(IP Intercon-nect),操作這個總線與直接操作PLB及OPB這些總線相比要簡單很多。通過IPIF模塊,對其進行參數化定制來滿足設計需求,將降低設計與測試的工作量。
將設計的Verilog文件復制到IP核目錄下相對應的hdl文件夾下,啟動ISE開發平臺并打開devl文件夾中的工程文件,在 Sources for Implementation中顯示的結構如圖6所示。圖中,adsfifo.vhd是IPIC的描述文件,user-logic.v(或 user_logic.vhd)可以實現用戶IP核功能設計。需要在adsfifo.vhd中加入必要的端口聲明與邏輯設計,使PLB控制器與用戶IP設計端口進行相應的連接。設計完成后在ISE平臺中對該IP核進行綜合并仿真。綜合后查看FPGA器件的資源使用情況,如表1所列。


根據需要修改user_logic.v(或user—logic.vhd),向其中添加端口聲明與邏輯設計:

注意:在綜合后需要使用EDK中的CIP工具重新導入用戶IP核,在導入的過程中要指定MPD配置文件和XST project file(*.pfj)文件,這樣CIP可以自動加入相關聯的.v或.vhd文件。導入完成后在EDK的IPCatalog的Project Local pcores分類中可以看到用戶IP核,可以向EDK工程中加入該IP核,并設置其Bus Inter-face、Port和Addresses后生成位流文件,下載到開發板進行調試。
4 總結
利用FPGA和ADS8364設計的數據采集的IP核,其接口簡單,采集精度高,可同時采集多路信號,而且能減輕FPGA嵌入式系統中CPU的負擔,節省CPU的運算資源。經過仿真和下載到開發板驗證,該設計能滿足高速交變電壓信號采集的高精度和高實時性的要求。
模數轉換器相關文章:模數轉換器工作原理
評論