电能质量监测系统信号采集模块控制器IP核设计

时间:2015-03-10来源:网络

  顶层文件的Verilog描述如下:

  

 

  如图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的运算资源。经过仿真和下载到开发板验证,该设计能满足高速交变电压信号采集的高精度和高实时性的要求。

1 2

关键词: FPGA 信号采集

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版