DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 124|回复: 0
打印 上一主题 下一主题

基于AD7892SQ和CPLD的数据采集系统的设计

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-17 15:13:05 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
引 言

??????? 本系统以AD7892SQ和CPLD(复杂可编程逻辑器件)为核心设计了一个多路信号采集电路,包括模拟多路复用、集成放大、A/D转换,CPLD控制等。采用硬件描述语言Verilog HDL编程,通过采用CPLD使数据采集的实时性得到提高。
??????? 1 硬件设计

??????? 针对多路信号的采集,本系统采用4/8通道ADG508A模拟多路复用器对检测的信号进行选择,CMOS高速放大器LF156对选中的信号进行放大,AD7892SQ实现信号的A/D转换,CPLD完成控制功能。电路如图1所示。
?


            


            


??????? AD7892SQ是美国AD公司生产的LC2MOS型单电源12位A/D转换器,可并行或串行输出。

??????? AD7892SQ A/D转换器具有如下特点:单电源工作(+5 V或+10 V);内部含有采样保持放大器;具有高速的串行和并行接口。

??????? AD7892SQ控制字的功能如下:

??????? a)MODE:输入控制字,低电平时为串行输出,高电平时为并行输出,本系统为并行输出;

??????? b)STANDbY:输入控制字,低电平时为睡眠状态(功耗5 mW),高电平时正常工作,一般应用时接高电平;

??????? c)CONVST:启动转换输入端,当此脚由低变高时,使采样保持器保持开始转换,应加一个大于25 ns的负脉冲来启动转换;

??????? d)EOC:转换结束信号,转换结束时,此脚输出100 ns的低电平脉冲;

??????? e)CS:片选,低电平有效;

??????? f)RD:低电平有效,与CS配合读,使数据输出。

??????? MODE脚接高电平时,AD7892SQ为并行输出,时序如图2所示。
?


            


            


??????? 在EOC下降沿时间内开始采样,就是转换一结束就开始下次采样,采样时间fACQ应大于等于200 ns或400 ns,转换结束后(即E0C的下降沿),当CS和RD有效时,经过t6=40 ns的时间,就可以在Db0-Db11上获得转换之后的12位数据,CS和一般的片选信号相同,可以一直有效,外加RD的时间T5也应大于35 ns。CONVST信号t1应大于35 ns,在上升沿时采样保持器处于保持状态,开始A/D转换,转换所需的时间tCONV为1.47μs或1.6μs,转换结束后,EOC脚输出的t2为大于等于60 ns的负脉冲用来进行中断或数据锁存。由此得出下次采样和本次的输出可以同时进行,因此最小的一次采样转换输出的时间为1.47+0.2=1.67μs(600 kSPS(千次采样每秒)),最大1.6+0.4=2 μs(即5 00 kSPS),图2中的t9大于等于200 ns,t7近似为5 ns,t3、t4、t8可为0,(此时t9=tACQ)。
??????? 2 程序设计
??????? 2.1 系统介绍

??????? 系统中的CPLD是结构比较复杂的可编程逻辑器件,硬件描述语言设计的控制程序写入CPLD内即可实现其功能。系统采集的数据常常放在数据缓存器中,数据缓存区要求既要有与A/D转换芯片的接口,又要有与系统DSP的接口,以提高数据吞吐率,本系统选用FIF0(先进先出),并且FIF0具有不需要地址寻址的优点[1]。
??????? 2.2 系统的软件描述

??????? 本系统采用Verilog HDL语言进行描述。VerilogHDL被近90%的半导体公司使用,成为一种强大的设计工具。其优点是[2]:

??????? a)Verilog HDL是一种通用的硬件描述语言,易学易用;

??????? b)Verilog HDL允许在同一个电路模型内进行不同抽象层次的描述,设计者可以从开关、门、RTL或者行为等各个层次对电路模型进行定义;

??????? c)绝大多数流行的综合工具都支持VerilogHDL,这是Verilog HDL成为设计者的首选语言的重要原因之一;

??????? d)所有的制造厂商都提供用于Verilog HDL综合之后的逻辑仿真的元件库,因此使用Verilog HDL进行设计,即可在更广泛的范围内选择委托制造的厂商;
e)PLI(编程语言接口)是Verilog HDL语言最重要的特性之一,它使得设计者可以通过自己编写C代码来访问Verilog HDL内部的数据结构。
??????? 2.3 AD7892SQ描述

??????? 描述AD7892SQ模块,可以把模块用于采集系统的仿真,以验证FSM(有限状态机)设计的正确性。该模块主要有4个输入信号和1个输出信号,与芯片的控制信号一致。程序如下:
AD7892SQ仿真波形见图3。



?


            


            


??????? 2.4 FSM描述


?
??????? FSM为异步工作。当convst有效时停留在convst_ad状态,且rd和cs都为1,convst为0且处于clock的上升沿时FSM会处于4个状态中的一个状态。图4为FSM仿真波形。
?


            


            


??????? 2.5 FIFO描述



??????? FIFO为同步工作。当reset有效且处于clock的上升沿时,dout为O;reset为1且处于clock上升沿时,read和write组合的4种情况分别对应各自的工作状态。图5为FIFO仿真波形。
?


            


            


??????? 3 结束语

??????? Verilog HDL硬件描述语言已越来越广泛地应用于EDA(电子设计自动化)领域,多数EDA设计工程师都用它进行ASIC(专用集成电路)设计和CPLD/FPCA开发。用高级语言进行电路设计,能够灵活地修改参数,而且极大地提高了电路设计的通用性和可移植性。最后需要指出的是,采用IP核的方法设计电路,不但可以单独使用,而且可以嵌入到ASIC或CPLD/FPGA的电路设计中,同时缩短了产品的开发周期,应大力推广。
                          
                       
                          
                               
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-7-24 02:37 , 耗时 0.083672 秒, 19 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表