在高速数据采集系统中,AD芯片的工作速度通常是很高的,可以达到几兆甚至几十兆,而微控制器MCU的工作速度相对较低,并且其往往具有多个任务,所以不能采用AD转换一次MCU读取一次数据的工作方式。因此,需要在AD芯片与MCU之间加入数据缓冲器,以便临时存储AD转换的数据,当数据量到达一定深度后,再由MCU一并取走。数据缓冲器可以有多种选择,例如RAM、SRAM等等,而FIFO(First In First Out)存储器凭借其操作简单、可靠性好等特点,被广泛的应用于数据采集系统中,成为了连接MCU与AD芯片的桥梁。
为了使MCU、AD芯片以及高速FIFO存储器能够协调工作,就需要设计好这三者之间的接口电路。本文正是针对这个问题,选用CPLD实现了三者之间的接口电路。
2.芯片介绍
2.1 模数转换芯片ADS8323
ADS8323是TI公司近年推出的一款高性能模数转换芯片,其主要特点如下:
(1)高速高精度:16位的AD芯片,其最高采样速率可达500kSPS;
(2)低功耗:当处于500kSPS的采样率时,其功耗也只有85mW;
(3)并行接口设计:它可以一次性将16位采样结果输出,也可8位分两次输出。
ADS8323需要外接时钟信号,时钟频率范围从25kHZ(1.25kSPS)到10MHZ(500kSPS),其内部的所有动作均与时钟信号同步。工作过程如下:将/CONVST置成低,即可启动转换;在转换过程中,BUSY始终为高;当转换结果被锁存在输出寄存器之后,BUSY变低,此时便可通过将/RD和/CS信号置低读取转换结果。其时序如图1所示。
2.2 高速FIFO——CY7C4231
FIFO芯片是一种具有存储功能的逻辑芯片,它具有两个特点:数据进出有序,输出输入口独立。其内部的读指针和写指针按照先进先出的原则实现数据的存入和读取。
CY7C4231是CYPRESS公司推出了一款高速FIFO芯片。芯片的存储空间是2K×9 bit,读写时间最小是10ns。其主要的控制管脚功能如表1所示。
3.接口电路的CPLD实现
通过上面的介绍,可以大致归纳出接口电路需要实现的主要功能如下:
(1)将A/D转换结果存入FIFO,包括AD芯片的转换过程控制和FIFO的写入过程控制;
(2)MCU读取FIFO中数据,包括FIFO的状态查询或着中断请求、FIFO的读出过程控制。
CPLD由于其速度快、体积小、功耗低、编程灵活、可反复修改逻辑等特点,受到了越来越多的关注。而利用EDA工具进行设计、综合和验证,加速了设计过程,降低了开发风险,缩短了开发周期,提高了效率。本文采用了Altera公司的QuartusII作为设计工具,以EPM7128系列的CPLD芯片实现了上述的接口电路。其总体设计如图2所示。
其中,地址译码模块负责对MCU的地址总线进行译码,产生地址选通信号;控制信号模块负责产生一些总的控制信号,如系统启动信号CtrlBegin、整个电路的复位信号reset等等;FIFO状态查询模块负责向MCU提供当前FIFO的状态特征,以便查询,如半满、半空、全满、全空等状态;中断申请模块可根据FIFO的状态自动产生中断请求信号。AD转换控制与FIFO写控制模块、FIFO读控制模块是整个接口电路的核心单元,下面分别加以介绍。
3.1 AD转换控制与FIFO写控制模块
根据ADS8323与FIFO的使用说明,该模块的工作过程如下:在系统启动信号CtrlBegin有效之后,启动AD转换信号(/CONVST置低);在转换过程中,将数据缓冲区(由CPLD内部实现的一个16Bit的存储器)中的前一次转换结果写入FIFO中,具体来说,首先使低8位数据使能信号LowOE置高,低8位数据被放到数据总线上,然后产生低8位FIFO的写时钟信号FIFO1_WCLK,这样转换结果的低8位就被存入低8位FIFO中,按同样的过程再把转换结果的高8位存入高8位FIFO中;在转换结束后(BUSY为低),将AD的读使能信号/RD置低,于是本次AD的转换结果被写入数据缓冲区;完成一次操作之后,再启动AD转换信号,开始下一次转换过程,周而复始,直到系统启动信号CtrlBegin无效。
该模块可由状态机加以实现。在设计中,我们采用Verilog HDL语言编写,其仿真波形如图3所示。
3.2 FIFO读控制模块
当FIFO中的数据达到一定深度之后,MCU就需要通过该模块向FIFO读取数据。该模块主要产生四个信号,即低8位FIFO的RCLK和OE(定义为RCLK1和OE1)、高8位FIFO的RCLK和OE(定义为RCLK2和OE2)。以往的设计方案是采用两个独立的读地址分别作为RCLK和OE,这种方式虽然操作简单,但需要两个读周期才能完成一次读操作,这样大大降低了工作效率。本文采用一个读地址作为OE信号,再利用对OE的延时信号作为RCLK信号,这样只要RCLK信号的产生介于两次OE之间,就能实现用一个读周期完成一次读操作,这样便大大提高了MCU的工作效率。延时模块由Verilog HDL语言实现,其代码如下:
仿真波形如图4所示。
4.结束语
本文采用CPLD实现了AD芯片、高速FIFO存储器以及MCU之间的接口电路。实验表明,该电路工作稳定可靠,且通用性强,易于移植到其它数据采集系统中。同时,QuartusII等嵌入式技术的使用,简化了开发流程,提高了设计效率。目前,该电路已成功应用于某数据采集系统中。
参考文献:
[1] 夏宇闻.Verilog数字系统设计教程[M].北京:北京航空航天大学出版社.
[2] 王金明,杨吉斌.数字系统设计与Verilog HDL[M].北京:电子工业出版社.
[3] 周佩玲,吴耿锋,万炳奎.16位微型计算机原理、接口及其应用[M].合肥:中国科学技术大学出版社.
[4] 陈志斌,卓家靖.基于单片机和CPLD的嵌入式脉冲发生器设计[J].微计算机信息,2005,2:107-108.
本文创新点
(1)以CPLD作为逻辑控制核心单元,实现AD芯片与高速FIFO之间的接口电路。
(2)该接口电路具有通用性,只要稍作修改,就能移植到其它AD芯片与高速FIFO的接口设计中。因此,可以广泛应用于数据采集系统中。
(3)采用全新的开发工具——QuartusII作为开发环境,简化了开发流程。
上一篇:RS485串行总线可靠性的研究
下一篇:微波pin二极管电阻与温度的关系
推荐阅读最新更新时间:2023-10-17 15:44
Vishay线上图书馆
- 选型-汽车级表面贴装和通孔超快整流器
- 你知道吗?DC-LINK电容在高湿条件下具有高度稳定性
- microBUCK和microBRICK直流/直流稳压器解决方案
- SOP-4小型封装光伏MOSFET驱动器VOMDA1271
- 使用薄膜、大功率、背接触式电阻的优势
- SQJQ140E车规级N沟道40V MOSFET
- MathWorks 和 NXP 合作推出用于电池管理系统的 Model-Based Design Toolbox
- 意法半导体先进的电隔离栅极驱动器 STGAP3S为 IGBT 和 SiC MOSFET 提供灵活的保护功能
- 全新无隔膜固态锂电池技术问世:正负极距离小于0.000001米
- 东芝推出具有低导通电阻和高可靠性的适用于车载牵引逆变器的最新款1200 V SiC MOSFET
- 【“源”察秋毫系列】 下一代半导体氧化镓器件光电探测器应用与测试
- 采用自主设计封装,绝缘电阻显著提高!ROHM开发出更高电压xEV系统的SiC肖特基势垒二极管
- 艾迈斯欧司朗发布OSCONIQ® C 3030 LED:打造未来户外及体育场照明新标杆
- 氮化镓取代碳化硅?PI颠覆式1700V InnoMux2先来打个样
- 从隔离到三代半:一文看懂纳芯微的栅极驱动IC
- 力源&安森美有奖直播:RSL15 - 安森美更高效更智能更安全的 BLE 5.2 蓝牙芯片
- 了解Keithley 4200-SCS参数分析仪,下载技术文章,抽奖赢礼!
- 现场抽取PS5等诸多好礼 SiFive RISC-V 中国技术论坛 上海、北京、深圳 3场线下活动邀您出席!
- 有奖活动|TE无线连接,释放物联网无限潜能!
- TE有奖活动|当代物联网智能天线设计趋势
- 初识易电源——聊聊你眼中的易电源!
- EE团--TI 原装DK-LM3S9B96开发板 348元(包邮)!
- 答题赢好礼|平稳控制与位置服务中至关重要的 ADI MEMS IMU
- 极简主义,足不出户,看东芝在线展会,安心答题送好礼!
- 网友票选TI课程热榜出炉 学习推荐有礼!