找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] 基于AD7892SQ和CPLD的数据采集系统的设计

[复制链接]
admin 发表于 2013-3-21 06:40:54 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
        引 言

         本系统以AD7892SQ和(复杂可编程逻辑器件)为核心设计了一个多路信号采集电路,包括模拟多路复用、集成放大、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所示。
    20121107053356228932676.jpg
           在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内部的数据结构。

         描述AD7892SQ模块,可以把模块用于采集系统的仿真,以验证FSM(有限状态机)设计的正确性。该模块主要有4个输入信号和1个输出信号,与芯片的控制信号一致。程序如下:
         AD7892SQ仿真波形见图3。
    20121107053356260182677.jpg
    20121107053356291432678.jpg
   
           2.4 FSM描述
    20121107053356322682679.jpg
           FSM为异步工作。当convst有效时停留在convst_ad状态,且rd和cs都为1,convst为0且处于clock的上升沿时FSM会处于4个状态中的一个状态。图4为FSM仿真波形。
    20121107053356369552680.jpg
           2.5 FIFO描述
    20121107053356416432681.jpg
           FIFO为同步工作。当reset有效且处于clock的上升沿时,dout为O;reset为1且处于clock上升沿时,read和write组合的4种情况分别对应各自的工作状态。图5为FIFO仿真波形。
    20121107053356447682682.jpg
           3 结束语

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

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-23 04:19 , Processed in 0.057431 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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