e-works数字化企业网  »  文章频道  »  产品创新数字化(PLM)  »  EDA

基于CPLD的多路数据采集系统的设计

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

    0  引言

    数据采集系统具有极强的通用性, 可广泛应用于军事、工业生产、科学研究和日常生活中。随着计算机的普及, 数据采集系统在日常生活中的应用越来越显着。

    由于基于DSP 芯片的高速电子器件成本和制作工艺,以及高密集的技术含量, 使得高速数据采集卡的价格昂贵。而复杂可编程逻辑器件( CPLD) 能够将大量的逻辑功能集成于一个单片集成电路中, 以其时钟频率高,内部延时小, 速度快, 效率高, 组成形式灵活等特点在高速数据采集方面有着单片机和DSP 无法比拟的优势。

    1  设计思路

    该系统由数据输入单元、数据处理单元、数据输出单元三大部分组成。其中数据输入单元是由状态机控制ADC0809 实现。输人信号可以是各种形式, 它可以是语音信号、调制后的电话信号、编码的数字信号、压缩的图像信号, 也可以是各种传感器输出的信号。A/ D能将模拟信号变换成数字信号, 但必须满足香农采样定理, 也就是为了保证不丢失信息的所有信息, 采样频率必须高于输入信号最高频率的2 倍。A/ D 变换后得到的数字信号输人到CPLD 芯片; 再由CPLD 芯片对该数字信号进行各种数字信号算法的处理。经过处理后的数字信号再经过数/ 模转换器ADC0832 将其输出。

    2  系统各部分的功能及实现

    2.1  数据输入电路

    数据输入电路主要是由状态机控制ADC0809 实现。其中START 为转换控制信号, 高电平有效;ALE 是3 位通道选择地址( ADDC, ADDB, ADDA ) 信号的锁存信号, 高电平有效; EOC 是转换情况状态信号( 类似于AD574 的STA TU S) , 当启动转换约100 s后, EOC 产生一个高电平, 以示转换结束, 转换期间一直处于低电平。一旦ST ART 有效后, 状态信号EOC即变为低电平, 表示进入转化状态。转换结束后, EOC将变为高电平。OE 为数据输出允许信号, 当OE 为高电平时, 则控制打开三态缓冲器, 把转换好的8 位数据结果输至数据总线。其工作时序如图1 所示。
 

图1 ADC0809 工作时序图

    图1 ADC0809 工作时序图

    对ADC0809 的工作过程分析可知:其工作处于6 个状态。在状态St1 中, ALE 高电平将ADC0809 的8 路采样输入通道地址存入ADC0809 地址锁存器中。在状态St3 中需要对ADC0809 工作状态信号EOC 进行循环检测, 如果为低电平, 表示转换没有结束, 仍需要停留在St3 状态中等待, 直到EOC 变成高电平后才说明转换结束, 在下一时钟脉冲到来时转向状态St4。在状态St4, 由状态机向ADC0809 发出转换好的8 位数据输出命令, 这一状态周期同时可作为数据输出稳定周期, 以便能在下一状态中向锁存器中锁入可靠的数据。

    在状态St5, 由状态机向CPLD 中的锁存信号( LOCK的上升沿) , 将ADC0809 输出的数据进行锁存。其采样控制状态图如图2 所示。
 

图2 ADC0809 采样控制状态图

    图2 ADC0809 采样控制状态图

    2.2  数据处理电路

    数据处理电路通过VHDL 程序实现, 该电路的主要功能是对外部输入信号进行循环检测, 当k1 为1时, 该器件处于数据采集和处理模式。这里的数据处理就是对其输入的数字信号进行扩大2 倍或缩小到原来的1/ 2, 其中fun 用来选择输入方式。在采集数据的时候还可以选择所采数据是ADC0809 中的哪一路, 并完成在七段数码器上显示。其原理如图3 所示。
 

图3 数据处理原理图

    图3 数据处理原理图

    2.3  数据输出电路

    数据输出电路由数/ 模转换器DAC0832 实现,ADC0832 为8 位分辨率A/ D 转换芯片, 其内部电源输入与参考电压的复用, 使得芯片的模拟电压输入在0~5 V之间。D/ A 转换结果采用电流形式输出。应得到相应的模拟电压信号, 所以通过一个高输入阻抗的线性运算放大器实现。其连线如图4 所示。
 

图4 DAC0832 连线图

    图4 DAC0832 连线图

    3  电路的VHDL描述

    数据采集控制电路、数据处理电路均是使用硬件描述语言VHDL ( Very High Speed Integr ated Circuit Hardw are Description Languag e) 设计而成。例如:数据采集控制模块设计如下:

   

    VHDL 语言具有多层次的电路设计描述功能, 既可描述系统级电路, 也可以描述门级电路; 描述方式既可以采用行为描述、寄存器传输描述或者结构描述, 也可以采用三者的混合描述方式。VHDL 语言的强大描述能力还体现在它具有丰富的数据类型, 采用VHDL语言描述硬件电路时, 设计人员并不需要首先考虑选择进行设计的器件。这样做的好处是可以使设计人员集中精力进行电路设计的优化, 而不需要考虑其他的问题。当硬件电路的设计描述完成以后, VHDL 语言允许采用多种不同的器件结构来实现 。

    4  系统的波形仿真

    在数据处理电路中, 当gate= ‘1’ , 整个器件处于数据采集及处理模式, 选择不同的工作方式, 即fun 值, 可实现不同的数据处理, 当do 为0 时, 其波形仿真如图5所示。从仿真波形中可以看出输入数据等于输出数据,在通过输出运放, 使输出值增大2 倍, 从而使输出数据为输入数据的2 倍。
 

图5  数据处理的仿真波形

    图5  数据处理的仿真波形

    在数据处理电路中, 当gate= ‘0’ , 整个器件处于循环检测的模式, 当输入数据超出预设值时就进行报警,即alm= %1 , 当无输入值大于预设值时, 就进行循环检测。其波形仿真如图6 所示。
 

图6  循环检测模式仿真波形

    图6  循环检测模式仿真波形

    5  结 语

    设计了基于CPLD 的多路异步数据采集系统, 系统中使用状态机控制数据的采集, 使用ADC0832 进行数/ 模转换。同时利用CPLD 强大的数字处理功能和高密集成的特点, 降低了硬件的成本, 简化了电路设计,并配合软件增加了系统的灵活性和可扩充性, 具有很好的经济效益和社会效益。

责任编辑:周雪花
本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。
e-works
官方微信
掌上
信息化
编辑推荐
新闻推荐
博客推荐
视频推荐