高速a/d采集技术已在许多领域得到愈来愈广泛的应用,本文将详细论述采用cpld技术来实现120mhz高速a/d采集卡的设计方法,该采集卡具有包括负延迟触发在内的多种触发方式,采用cpld复杂可编程逻辑器件(又称fpga)epm7128sqc100-7和ad公司的高速模数转换器(a/d)ad9054bst-135来实现。
1 芯片介绍
1.1 epm7128sqc100-7简介
epm7128sqc100-7内含128个宏单元(或2500个可用门),其引脚到引脚的最短传输延时为7ns,采用单+5v电源供电,可通过 jtag接口实现在线编程,并带有可供84个用户使用的i/o脚(其中4个为专用输入脚)。该器件采用pqfp-100封装。其中tdi、tdo、 tms、tclk脚为编程脚;gclk、goe、gclear、redin脚为专用输入脚;vccint、vccio脚接+5v电源;gnd脚接地; i/o为用户可编程输入输出脚。在i/o脚作输出使用时,可由用户设定为0,1和z三种状态。
1.2 ad9054bst-135简介
ad9054bst-135是一种低价位135msps的8位a/d转换器,其模拟输入电压峰峰值为1v,且内置2.5v参考电压,采用+5v单电源供电,并可与ttl电平接口,具有单8位或双8位a/d转换结果输出模式,采用tqfp-44脚封装形式,其内部结构如图1所示,各管脚的定义如下:
使用时,如将接地,则ad9054工作于双8路数据输出模式。上电后,da7~da0及db7~db0均以二分之一的encode频率(即120mhz/2)输出a/d 转换结果,因此从da7~da0及db7~db0读取的a/d转换结果,无法知晓da口与db口的数据所对应的采样点在时序上的先后。这样,需要加一个数据同步脉冲ds信号,并让ds正脉冲的后沿后的4个时钟周期上的da口与db口同步有效,即在ds后沿的第2n+1与2n+3个encode上升沿期间输出第k点采样值的转换结果;在ds后沿后第2n+2与2n+4个encode上升沿期间输出第k+1点采样值的转换结果(注:n≥1,k≥0,k=0对应的采样值为ds下降沿后encode第一次上升沿时刻所对应的采样输入值)。因此,在施加ds信号后就可以得知任一时刻a口数据与b口数据所对应的采样点在时间上的先后顺序,以便读取有用的a/d转换数据。
2 系统设计原理
图2是基于cpld的高速 a/d采集卡的系统设计原理框图。图中,89c51送往epm7128s的控制信号包括一个a/d启动信号sad、一个读sram信号rrd和一个地址加一控制脉冲aclk。而epm7128s送往ad9054的信号为一个ds同步信号,送往89c51的信号为转换结束信号(接int0)和超前触发地址串行输出信号sadr。
epm7128s送往61128-15sram的信号包括读信号rd、写信号we、数据信号dina0~7和dinb0~7以及地址信号adr0~16。其中两片sram的地址信号共用。为了节省epm7128s的i/o口线,可将61128-15的片选线接地。
qa信号为外触发a/d转换控制信号。
在本文所介绍的a/d数据采集卡中,负延迟触发存贮深度为2k字节。上电复位后, 89c51向epm7128s发一个a/d启动信号时,epm7128s也会发一个ds同步脉冲给ad9054,在四个时钟后,epm7128s输出we 信号有效,同时将ad9054输出的双8位数据信号以60mhz的频率经锁存处理后送往sram,每锁存ad9054数据一次(2字节)将地址 adr0~13加1。当地址为3ff时(即1k),清地址计数器以使其为零。此后,地址计数器仍以60mhz的频率加1计数,而锁存器仍以60mhz的频率锁存双8位数据并写入sram。当地址为3ff时再一次清零,在外触发信号qa到来之前,cpld就这样控制着整个电路以使其在2k字节存贮深度内作超前循环采集。当某一时刻的qa信号到来时,cpld首先将此时的地址信号的前10位adr0~9锁存,随后将地址计数器置为400h,而后地址计数器仍以 60mhz的频率加1计数,而锁存器也以60mhz的频率锁存双8位数据并写入sram。当地址计数器为1ffffh(即128k)时,地址计数器停止计数,锁存器停止锁存数据并对外输出高阻态,cpld向89c51送出转换结束信号adend,并置we信号无效。
当89c51收到adend中断信号后,就可以读取sram中的a/d数据以及cpld中的超前地址adr0~9。首先89c51将送出一个rrd信号给 epm7128s,epm7128s收到rrd信号后立即置rd信号有效,同时将地址计数器清零。此时,两片sram均输出地址为0的单元的数据,同时由 cpld的sadr线输出负延迟触发地址adr0~9中的adr0位。89c51则可通过p0和p2口由dina和dinb分别读取sram中的数据,并通过p1口由sadr读地址adr0位。此后89c51便向epm7128s发出一个地址加一脉冲aclk,epm7128s在收到这个aclk脉冲后使 adr0~13加1,同时cpld由sadr线输出负延迟触发地址adr0~9中的adr1位。这样,89c51便可通过不断地发aclk脉冲来使p0、 p2口的dina和dinb分别读取sram中的数据,并通过p1口来由sadr读负延迟触发地址adr0~9。
3 cpld部分的设计
由于epm7128sqc100的内部逻辑电路是整个系统设计的关键,因此,了解epm7128sqc100的内图2基于cpld的高速a/d采集卡统框图基于复杂可编程逻辑器件(cpld)的120mhz高速a/d采集卡的设计部结构十分重要。图3是其内部结构原理框图。
图3中有三个574锁存器,其作用是将ad9054输出的在时序上未对齐的da、db两组数据变为时序上对齐的两组数据dina、dinb,图4是其对齐操作时序图。
将120mhz信号二分频后所得到的60mhz信号可作为整个逻辑电路的工作频率。工作时,同步控制电路首先将外输入信号与内部60mhz信号同步,然后送往各单元电路。地址计数器的工作情况有两种:一是进行a/d采集时以60mhz频率计数,二是89c51读数时以aclk脉冲频率计数。rd、we发生电路的作用是当89c51发sad信号时,电路输出we信号有效,rd信号无效;而当89c51发rrd信号时,电路输出rd信号有效,we信号无效。 ds信号发生电路的作用是在收到89c51的sad信号时发送一个ds正脉冲。
10位移位寄存器的作用是当外触发信号qa到达时将地址计数器中的adr0~9锁存,当收到rrd信号后,系统每接收一个aclk脉冲便将寄存器移位输出一次,顺序是低位在前。
4 单片机的软件设计
单片机的软件设计主要是负责把各种控制信号和数据送给cpld,并把采集到的数据通过接口送到上位机或其它设备。本卡中的接口有串口和并口两种类型。对cpld的操作的软件流程框图如图5所示。
由于采用了负延迟触发,所以由sram所读取的256k字节并不是按时间的先后顺序存放的,因此必须进行重新排序整理。
5 注意事项
在利用本文的设计方法进行120mhz a/d设计时应注意以下几点:
(1)应选用高速器件。
(2)电路中的器件布局要合理,高频信号线应尽量的短。
(3)进行时序分析时应充分考虑器件延时,必要时应考虑长线传输延时,这也是高频信号线应尽量短些的原因之一。
(4)尽量采用同步设计。也就是说整个电路要尽最大可能按某一高频时钟同步工作。本电路的同步时钟为60mhz。
(5)电路内部要尽量滤去毛刺。特别是触发器、计数器的时钟信号、清零信号和置位信号,更应如此。
惯性测量单元的原理是什么,它有哪些应用场景
华为麒麟980将引领手机全面进入智慧时代!
从逆变器售后看光伏系统常见问题—系统安装类
400V和800V电动汽车电池高密度功率转换的挑战
采用海思Hi3512处理器和GPS数据无损压缩技术实现车载移动终端设计
基于EPM7128SQC100和AD9054BST实现120MHz高速A/D采集卡的设计
如何彻底毁掉移动硬盘数据文件
iPhone 13最新曝光:相比iPhone 12系列将会有真正的大改动
全球5G智能手机销量增至2.5亿部,中国和美国是最大的两个5G国家
iOS11系统怎么样?苹果正式发布iOS11:老iPhone的悲剧
LED植物生长灯已重新上架销售
2018年中国智能音箱的市场规模将持续增长,预计将达到588万台
风雨同舟,银联宝开关电源芯片TB6818陪着你!
等离子显示器术语大全
极海半导体:技术打底,助力完善MCU开发生态
异形深孔电解加工工艺的关键工序和难点挑战
电瓶里面“烂了”是怎么回事儿?
Steam趁黑色星期五开启秋季特卖 VR游戏折扣幅度惊人
决定汽车行业未来走势的传感器技术
思必驰助力360硬件发布会,为智能车载增加助力