0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

利用FPGA和ADS8364实现数据采集控制器IP核设计

电子设计 作者:电子设计 2018-10-07 10:58 次阅读

随着可编程逻辑器件的不断进步和发展,FPGA嵌入式系统中发挥着越来越重要的作用。本文介绍的在电能质量监测系统中信号采集模块控制器的IP核,是采用硬件描述语言来实现的。首先它是以ADS8364芯片为控制对象,结合实际电路,将6通道同步采样的16位数据存储到FIFO控制器。当FIFO控制器存储一个周期的数据后,产生一个中断信号,由PowerPC对其进行高速读取。这样能够减轻CPU的负担,不需要频繁地对6通道的采样数据进行读取,节省了CPU运算资源。

1 ADS8364芯片的原理与具体应用

A/D转换芯片ADS8364是TI公司推出的专为高速同步数据采集系统设计的高速度、低功耗、6通道(三相电压、三相电流)同步采样的16位A/D转换芯片。采用模拟和数字分别供电,在模拟输入端,有模拟参考电压输入、输出引脚和信号六通道正反相输入引脚;在数字端,主要包括控制ADS8364的读/写、复位、片选引脚和转换结果输出总线。

ADS8364芯片的转换过程为:当ADS8364的HOLDX保持至少20 ns的低电平时,转换开始。当转换结果被存入输出寄存器后,引脚EOC的输出将保持半个时钟周期的低电平,以提示数据分析处理器进行转换结果的接收,处理器通过置RD和CS为低电平可使数据通过并行输出总线读出。在转换数据的接收过程中,ADS8364芯片各引脚工作的时序达到协调一致,才能保证监测设备良好工作,具体时序安排如图1所示。

利用FPGA和ADS8364实现数据采集控制器IP核设计

ADS8364芯片的数据输出方式分别由BYTE、ADD与地址线A2、A1、A0组合控制,转换结果的读取方式由电能质量监测系统中采用的数据分析处理器决定,一般可取直接读取、循环读取和FIFO方式的任何一种。根据BYTE为0或者为1可确定每次读取时得到的数据位数,根据ADD为0或者为1可确定第一次读取的是通道地址信息还是通道A/D转换结果。在实际应用中,我们结合了ADS8364模数转换器中的6个16位ADC可以成对同步工作的能力,3 个保持信号(HOLDA、HOLDB、HOLDC)可以同时被选通,其转换结果将保存在6个寄存器中。对于每一个读操作,ADS8364均输出16位数据,最高位为符号位。根据图2所示的ADS8364循环读取方式工作时序,需设置BYTE为0,A2、A1、A0分别为1、1、0。

利用FPGA和ADS8364实现数据采集控制器IP核设计

2.3 A/D转换芯片控制模块及顶层文件的设计

控制器模块的设计:

①根据ADS8364的工作原理:HOLDX保持至少20ns的低电平,转换开始,所以控制器需根据时序要求产生HOLD周期信号。

②转换结束后根据EOC的响应状态,需要置RD和CS为低电平,使数据通过并行输出总线读出。下面是根据EOC的状态改变RD值的Verilog描述:

根据图1的工作时序和图2的循环读取方式以及对数据采集频率(12.8 kHz)的要求,对芯片相应的引脚进行控制,并和FIFO进行连接使采集的数据能够按照循环方式写入FIFO。采用Verilog硬件描述语言实现上述功能,并建立顶层文件正确连接各个功能模块。

顶层文件的Verilog描述如下:

如图3所示,时钟分频部分的输出与FIFO的数据写入时钟、AD_Ctrl的时钟和A/D转换芯片的时钟相连接。AD_Ctrl部分主要对ADS8364 芯片进行控制,其中输出RD也连接到FIFO的写使能端,对FIFO的数据写入进行控制。FIFO的读时钟接到系统时钟,读使能由CPU控制。当FIFO 写入一个周期的数据后,由prog_full产生中断信号,CPU响应并对FIFO进行读取。

利用FPGA和ADS8364实现数据采集控制器IP核设计

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所示。

利用FPGA和ADS8364实现数据采集控制器IP核设计

其中文件夹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所列。

利用FPGA和ADS8364实现数据采集控制器IP核设计

利用FPGA和ADS8364实现数据采集控制器IP核设计


根据需要修改user_logic.v(或user—logic.vhd),向其中添加端口声明与逻辑设计:

利用FPGA和ADS8364实现数据采集控制器IP核设计

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1602

    文章

    21320

    浏览量

    593155
  • 控制器
    +关注

    关注

    112

    文章

    15223

    浏览量

    171156
  • IP
    IP
    +关注

    关注

    5

    文章

    1404

    浏览量

    148272
收藏 人收藏

    评论

    相关推荐

    请问ADS8364通过XINTF与2812连接后的转换结果存在2812的哪个地址里面?

    你好,最近开始接触ADS8364,有一个地方不太明白:ADS8364通过XINTF与2812连接后,ADS8364的转换结果存在2812的哪个地址里面?也就是说在EOC置0,触发了2812的外部中断后,在中断程序中到哪里读取采样
    发表于 05-23 10:00

    调试ADS8364采集电压数据DSP得到的数据不对

    最近在调试ADS8364采集电压数据,信号调理将电压调理到0-2.1V的正弦波,在调试过程中发现,DSP(F2812)中断接收到的数据都是0x7FFF或者都是些很小的
    发表于 05-24 09:28

    基于FPGA数据采集控制器IP的设计方案和实现方法研究

    此提供了新的解决方案。IP(IP Core)是具有特定电路功能的硬件描述语言程序,可较方便地进行修改和定制,以提高设计效率[3]。本文研究了基于FPGA
    发表于 07-09 07:23

    ads8364中文资料

    ADS8364 是16 位并行输出, 六通道同时采样模数转换器。它的片选( CS ) ,输入时钟(CLK) ,并行数据输出( [0: 15]) ,以及灵活的控制信号。这些特性使得ADS8364
    发表于 04-08 11:04 105次下载

    ADS8364的原理及应用

    ADS8364是一种六通道16位并行输出同步采样250kHz模数转换器.它带有片选、输入时钟、并行数据输出以及灵活的控制信号.因而可以直接与MSP430xlxx系列微控制器进行连接.文
    发表于 04-24 17:38 45次下载

    ADS8364/ADS8365M EVM的用户指南

    ADS8364/AD
    发表于 06-01 11:14 13次下载

    基于ADS8364和ARM7单片机的导航姿态角采集系统设计

    摘要:介绍了一种由ADS8364与LPC2000系列单片机构成的数据采集系统.对ADS8364的工作原理进行了介绍,并给出了其与LPC2292单片机之间的引脚连接图,重点阐述了如何采集
    发表于 09-19 21:40 30次下载

    ADS8364与TMS320F2812的接口设计

    ADS8364与TMS320F2812的接口设计 ADS8364是美国德州仪器公司(TI)的一款六通道、16位并行输出、同步采样的模数转换器。该芯片提供了一个灵活的高速并行
    发表于 05-20 16:27 3028次阅读
    <b class='flag-5'>ADS8364</b>与TMS320F2812的接口设计

    基于ADS8364数据采集系统设计

    基于ADS8364数据采集系统设计 开发了基于DSP和ADS8364数据采集处理系统。该系统主要由信号调理模块、A/D转换模块、DSP处理器模块、CPLD逻辑
    发表于 09-19 09:30 1517次阅读
    基于<b class='flag-5'>ADS8364</b>的<b class='flag-5'>数据采集</b>系统设计

    基于ADS8364数据采集系统设计

    基于ADS8364数据采集系统设计实时数据采集与处理技术在许多领域得到广泛应用。在图像处理、瞬态信号检测、软件无线电、雷达信号分
    发表于 10-25 15:27 1653次阅读
    基于<b class='flag-5'>ADS8364</b>的<b class='flag-5'>数据采集</b>系统设计

    USB的高精度多通道数据采集卡设计

    USB的高精度多通道数据采集卡设计 摘要:详细叙述了用USB控制器CY7C68013与A/D转换器ADS8364,构成高精度多路同步数据采集卡的过程,并给出了相应的前端电路和
    发表于 04-13 13:28 1585次阅读
    USB的高精度多通道<b class='flag-5'>数据采集</b>卡设计

    六通道同步采样AD芯片ADS8364数据采集中的应用

    摘要:介绍了高精度六通道同步采样A/D芯片ADS8364的主要功能与特点,并结合高速浮点数字信号处理器(DSP)TMS320C6713与ALTERA公司的CPLDEPM7128在系统中的使用方法,介绍ADS8364在微惯性航姿系统中完成
    发表于 02-28 16:44 140次下载

    高精度AD芯片ADS8364在瞄准信息数据采集中的应用_王瑞鹏

    高精度AD芯片ADS8364在瞄准信息数据采集中的应用_王瑞鹏
    发表于 03-19 11:30 5次下载

    DSP与ADS8364的高速数据采集处理系统设计分析

    数据采集处理系统采用CPLD控制ADS8364完成数据的A/D转换,转换后的数据预先存储到FIFO中,再经DSP进行前端的数字信号处理后,
    发表于 10-23 11:02 0次下载
    DSP与<b class='flag-5'>ADS8364</b>的高速<b class='flag-5'>数据采集</b>处理系统设计分析

    DSP和ADS8364的高速数据采集处理系统解析

    随着现代科学技术的发展和计算机技术的普及,高速数据采集系统已应用于越来越多的场合,如通信、雷达、生物医学、机器人、语音和图像处理等领域。本文介绍的数据采集处理系统采用CPLD控制ADS8364
    发表于 10-29 10:45 0次下载
    DSP和<b class='flag-5'>ADS8364</b>的高速<b class='flag-5'>数据采集</b>处理系统解析