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

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

3天内不再提示

基于FPGA的ADS8341控制器设计

电子工程师 来源:未知 作者:李倩 2018-10-26 14:50 次阅读

0 引言

在现代电子技术应用领域,A/D转换器模拟信号转换数字信号的中介,数据采集系统中,一般由单片机或其他微控制器高精度A/D转换器进行控制,通常采用软件模拟A/D转换器时序的方法,增加了CPU的负担,降低了CPU的工作效率,现场可编程门阵列FPGA(Field Programmable GateArray)的高集成度和高速特性,使之相对于单片机和微控制器更适合用于高速A/D器件的采样控制。

另外,在电磁干扰较大的环境中,单片机会出现程序跑飞的问题,在利用看门狗复位的过程中,对采集的数据流而言,会存在数据的丢失问题。相对的,触发沿或电平控制的FPGA,通过设计可靠的驱动,系统采集数据更为可靠。 本文是以一个3通道低频小型数据记录仪为研究背景,设计了以Actel公司FPGA为控制器的系统,对串行输出A/D转换器ADS8341进行控制,提高了系统集成度和稳定性。

1 ADS8341功能介绍

ADS8341是Burr Brown公司推出的一款低功耗,高性能的4通道,16位A/D转换器,其串行接口降低了系统开发的成本,SSOP-16的小体积封装适合微型设备使用。1.1 ADS8341的功能CH0~CH3:4个通道为模拟输入端,可以设置为单通道输入方式,也可以构成CH0-CH1,CH2-CH3,两组差分输入。

ADS8341的控制字为8位,S为起始标志位,A2,A1,A0控制通道选择,可以提供单通道或差分输入方式不同通道选择。*****高电平为单通道输入方式,PD1,PD0为电源控制模式位,若为“11”,电源始终处于开启模式。ADS8341转换的基本时序如图1所示。

由图1可以看出,ADS8341完成一次转换需要24个DCLK时钟,其中在前8个时钟的上升沿,DIN控制字输入,控制字输入完成后,在DCLK的上升沿时刻,BUSY信号输出一个高电平,在这个时钟的下降沿,转换数据按位输出。经过一次完整的转换后,在第25个时钟上升沿,DIN可以再次输入控制字高位,保证了当DCLK外部时钟取得最高频率2.4 MHz时,A/D转换器的频率达到最高100 ksa/s。

2 基于FPGA的ADS8341控制器设计

本记录仪系统记录采集信号的频率范围500Hz以下,在系统实际应用中,对被测信号采用过采样方式,采样频率为被采集信号频率的5~10倍。系统采用A/D转换器3通道快速循环采样,近似实现了通道同步采样,是一种准同步采样的方式。经过72个DCLK周期,实现了CH0~CH2通道的顺序切换,当A/D转换器以最大采样频率100 ksa/s工作时,记录仪系统采样的频率相当于单通道频率的1/3,通道1与通道3之间同步误差最大为48clk,如图2所示,最小误差时间约为

系统采用了基于FLASH架构的Actel公司ProASIC3系列A3P100,使用Libero集成开发环境,FPGA的A/D控制模块主要包含以下功能:

●时钟控制器 记录仪系统FPGA的外部时钟频率为48 MPa,对系统时钟20分频得到时钟DCLK即可提供A/D转换器的最大工作时钟。另外通过逻辑控制,时钟控制器提供几个低于2.4 MHz的时钟频率,系统可以选择更低的采样频率。

●不等占空比时钟 本系统设计A/D控制模块中引入clk_div时钟信号,占空比为2:3,做为din的控制电平,当clk_div信号为低电平时,din输出数据,clk _div信号为高电平,din为低电平。clk_div撑(.duty_factor(duty_factorl),counter_top(counterl)).div_clkl(.reset(clk1_reset),.clk_in(clk_in1),clk_out(clk_out1));//任意占空比分频时钟模块调用

●控制字状态机 记录仪上电以后的工作状态为3个通道循环采样,控制字状态发生器循环生成chO=“1001_1111”,ch1=“101_1111”,ch2=“1010_111 1”,并将控制字转换成串行数据从din引脚输出,实现A/D转换器通道切换。

●控制字并行转串行模块 控制字chO,ch1,ch2需要转化成串行数据,通过din输入至AD,控制通道选择,循环输入控制字则循环选择3通道。将状态控制字ch0、ch1、ch2传输至寄存器,在DCLK时钟下降沿,提取第7位(高位),此时数据比较稳定,然后寄存器向左位移。在DCLK时钟上升沿传输至AD,实现控制目的。

●信号采集模块A/D转换器采集数据串行输入FPGA后,转换成并行数据,传输至系统的数据总线。根据A/D转换器采样的基本时序可知,在dout引脚串行输出数据时,din引脚应保持低电平,为了3个采样通道近似同步数据采集,在经过24个DCLK时钟周期,对一个通道数据采集转换输出完成后,要在DCLK的第25个时钟的上升沿,进入第二个通道的采集和转换。最终实现记录仪在72个DCLK时钟周期的状态循环时序是A/D模块控制的关键。

3 计算机仿真分析与系统实现

系统FPGA使用Actel公司基于FLASH结构单元的芯片,进一步的降低了系统的功耗,缩小了系统的体积,Actel FPGA的集成开发环境Libero集成了仿真工具modelsim。以AD最高采样频率为例试验,仿真时序波形如图4。

A/D控制模块中,在“clk_div”高电平时,实现寄存器“shuru”至寄存器“A”的数据传递,在“clk_div”低电平实现并行数据到串行数据的转换,并通过“din"输出,图4中显示了“din"输出引脚3个控制字状态的变化。 示波器显示din引脚控制字串行输出三组控制字的循环变化,如图5。

4 结论

系统运用FPGA电平控制多通道A/D转换器不同通道的选通,相比较单片机而言,更为稳定可靠,采集数据流完整,使用基于FLASH架构的Actel公司FPGA进一步降低了微型数据记录仪系统的功耗,同时提高了系统在电磁干扰较强环境的稳定性。

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

    关注

    182

    文章

    16544

    浏览量

    244673
  • FPGA
    +关注

    关注

    1602

    文章

    21307

    浏览量

    593114
  • 转换器
    +关注

    关注

    27

    文章

    8200

    浏览量

    141723

原文标题:串行AD与FPGA在微型数据记录仪中的应用

文章出处:【微信号:FPGAer_Club,微信公众号:FPGAer俱乐部】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    FPGA实现的SATA控制器

    FPGA实现的SATA控制器FPGA实现的SATA控制器
    发表于 08-11 18:08

    FPGA控制ADS822和DAC900

    有高手会FPGA控制ADS822和DAC900吗?我将信号由信号发生输入ADS822模块,由DAC900模块输出波形在示波器上显示,可是波
    发表于 08-31 15:34

    FPGA干货分享三】基于FPGA的LBS控制器设计

    个高效、可靠的LBS控制器来实现FPGA和PEX8311的通信。如图1所示。本系统的控制的核心是LBS控制器,该控制器是通过
    发表于 01-29 14:09

    请问谁用ADS8341的spi做过实验吗?

    请问谁用ADS8341的spi做过实验?
    发表于 04-11 05:07

    ADS8341.pdf

    The ADS8341 is a 4-channel, 16-bit sampling Analog-to-Digital (A/D) converter with a synchronous
    发表于 04-08 11:09 29次下载

    ADS8341中文资料pdf

    ADS8341是一种比较新的逐次逼近式A/D转换器 由于其分辨率比较高可用在要求精度较高 结构简单的嵌入式系统中 本文详细介绍了的ADS8341的结构 功能 并以51 单片机为例 给出了
    发表于 04-08 11:10 120次下载

    ADS8341应用及源程序

    ADS83411 特性2.7V~5V 单电压供电4通道单独输入或2 通道差动输入大于100KHz的转换速率86dB信噪比SPI 串行接口SSOP-16 封装 ADS8341是16位A/D转换器 分辨率为216
    发表于 04-08 11:11 135次下载

    ADS7846 触摸屏控制器的工作原理

    各种类型的触摸屏均有其相应的控制器,如:ADS7846是四线式触摸屏的控制器,而ADS7845 是五线式触摸屏的控制器
    发表于 06-15 08:12 2897次阅读

    基于Altera FPGA的彩屏控制器的设计和实现

    本设计基于FPGA的彩色触摸屏控制器能够实现颜色深度为24 bit,分辨率为480×272的TFT-LCD控制ADS7843芯片的时序控制
    发表于 01-07 11:08 2760次阅读
    基于Altera <b class='flag-5'>FPGA</b>的彩屏<b class='flag-5'>控制器</b>的设计和实现

    基于FPGA的多轴控制器设计

    介绍了一种基于FPGA的多轴控制器控制器主要由ARM7(LPC2214)和FPGA(EP2C5T144C8)及其外围电路组成,用于同时控制
    发表于 04-27 16:23 82次下载
    基于<b class='flag-5'>FPGA</b>的多轴<b class='flag-5'>控制器</b>设计

    基于FPGA的LED屏控制器设计

    基于FPGA的LED屏控制器设计基于FPGA的LED屏控制器设计
    发表于 06-21 17:56 58次下载

    基于FPGAADS1256芯片控制器设计

    DSP(数字信号处理器)、ASIC(专用集成电路)和FPGA(现场可编程门阵列)三种不同方式完成。[2]采用FPGA的方式适合与对速率要求较高的可编程环境,本设计使用Xilinx公司Spartan3E的FPGA通过对TI的
    发表于 12-21 09:47 4891次阅读
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>ADS</b>1256芯片<b class='flag-5'>控制器</b>设计

    实现SPI通信的几种方法详解

    在本文中外部时钟模式工作,即ND的移位时钟由PIC16F73提供,外部时钟控制A/D转换过程和输入时钟。当ADS8341接收完控制字节的最后一位紧接着的一个时钟周期过后BUSY脚就会被ADS8
    发表于 03-19 13:01 3w次阅读
    实现SPI通信的几种方法详解

    触摸屏控制器ADS7846的原理及应用

    触摸屏控制器ADS7846的原理及应用说明。
    发表于 04-14 10:14 12次下载

    触摸屏控制器ADS7846的中文资料

    触摸屏控制器ADS7846的中文资料分享。
    发表于 04-14 14:18 22次下载