CPLD控制ADC0809实现多路数据采集

AD技术

10人已加入

描述

随着数字化生活的到来,数据采集系统在日常生活中的应用越来越显着。模拟信号和数字信号之间的转换已成为计算机控制系统中不可缺少的环节。较传统数据采集系统以可编程逻辑器件实现的数据采集系统具有时钟频率高、内部延时小、速度快、效率高、组成形式灵活等特点。

数据采集系统具有极强的通用性,可广泛应用于军事、工业生产、科学研究和日常生活中。随着计算机的普及数据采集系统在日常生活中的应用越来越显着。由于基于DSP芯片的高速电子器件成本和制作工艺以及高密集的技术含量,使得高速数据采集卡的价格昂贵。而复杂可编程逻辑器件(CPLD)能够将大量的逻辑功能集成于一个单片集成电路中,以其时钟频率高、内部延时小、速度快、效率高、组成形式灵活等特点在高速数据采集方面有着单片机和DSP无法比拟的优势。

本文为大家介绍CPLD控制ADC0809实现多路数据采集。

系统的构架及工作原理

采用一片CPLD作为逻辑控制单元。CPLD负责采用通道的巡回、工作时钟的产生和ADC0809的数据采集。A/D转换器采用的是ADC0809,ADC0809是CMOS单片型逐次逼近式A/D转换器,它具有转换速度快、分辨率高、功耗低以及价格便宜等优点,被广泛地应用与微电脑的接口设计上。它有8个模拟量输入通道IN[0..7],芯片内由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。

ADC0809通过ALE,START,EOC,OE,Da-ta[0..7],ADDA,ADDB,ADDC,CLK信号与CPLD相连。如图1所示。

cpld

其中:ALE:为地址锁存允许输入线,高电平有效。当ALE为高电平时,地址锁存与译码器ADDA、ADDB、ADDC三条地址线的地址信号进行锁存,经译码后被选中的通道模拟量进转换器进行转换。ADDA、ADDB和ADDB为地址输入线,用于选通IN0-IN7上的一路模拟输入量。

START:启动A/D转换控制引脚,电平下降沿有效。Data[0..7]:AD转换数据输出。

OE:数据输出使能控制端,高电平有效有效时,数据输出三态门被打开,转换好的数据量被送到Data[0..7]引脚上;无效时,Data[0..7]脚悬空。

CLK:ADC工作时钟输入引脚,时钟频率范围10KHz~1280KHz,本系统设置为500KHz。

EOC:ADC转换结束状态信号,低电平指示正在转换,持续时间为A/D结束时间,有低电平转换为高电平时指示转换结束。此信号供CPLD查询。

系统的模块设计

ADC0809采样控制模块

ADC0809采样控制采用摩尔状态机控制进行模/数转换,根据图2所示的AD的工作时序图,将采样控制过程分成7个状态:

cpld

初始化状态:ADC0809采样控制信号初始化,各个采样控制状态信号置零。

地址锁存状态:有ALE的上升沿将ADC0809的8路采样输入通道的地址所入ADC0809地址锁车器中。

启动8位转换器:将ADC0809的启动信号START开启。

等待转换:检测转换结束状态信号EOC信号。

输出有效状态:允许8位的并行数据输出。

输出锁存数据:开启数据锁存信号LOCK。这样就可以用另一个进程来检测锁存信号LOCK,在它的上升沿来时,将转换好的数据锁存并存储。

返回初始状态

时钟发生模块

本系统所用的是一个20MHz的晶振,因为ADC0809的工作频率是500KHz,另外,在切换采用通道时需要一个40KHz扫描地址信号。因此,需要将20MHz信号分频,产生500KHz和40KHz信号。

采样通道的控制

在AD采样控制模块中,用一个进程来检测时钟频率为40KHz的时钟信号,在该时钟周期内必须保证一次采样的完成。当该信号的上升沿到了时,切换采样通道,依次的对八个通道进行巡回扫描。

CPLD软件设计

CPLD程序编写在QUARTUS8.0软件环境下用VHDL编写,主要有分频模块和用摩尔状态机控制ADC0809模块。仿真用QUARTUS8.0自带的仿真工具,仿真结果如图3、4所示:

cpld

从仿真结果可以看出符合我们的设计要求。

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分