基于FIFO存储器实现高速AD转换器与ARM处理器的接口设计

出处:电子工程网 发布于:2019-11-06 14:11:02

在高频超声波数据采集系统中,很多高速A/D转换器往往不能直接与处理器相连接,这时就需要使用FIFO在处理器与A/D转换器之间架一座桥梁,FIFO的先入先出特性可以方便缓存大量的数据块。在基于ARM的超声波测厚系统中,所用为1 MHz以上的高频超声波探头,测量数据经A/D转换后频率与ARM处理器的数据接收能力不匹配,因此需在A/D与ARM处理之间连接一个FIFO来解决以上问题。该设计选用AD公司的A/D芯片AD9283,FIFO选用Cyperss公司的CY7C4261,两者的采样频率都是100 MHz。ARM采用Samsung公司的S3C2410处理器。三者都具有很强的外部接口能力,方便构成无缝连接,硬件接口电路简单,调试方便。
  1 芯片选型
  1.1 S3C2410处理器
  S3C2410处理器是Samsung公司基于ARM公司的ARM920T处理器核,采用0.18μm制造工艺的32位微控制器。该处理器拥有:独立的16 KB指令Cache和16 KB数据CACHE,MMU,支持TFT的LCD控制器,NAND闪存控制器,3路UART,4路DMA,4路带PWM的Timer,I/O口,RTC,8路10位ADC,Touch Screen接口,I2C-BUS接口,IIS-BUS接口,2个USB主机,1个USB设备,SD主机和MMC接口,2路SPI。S3C2410是16/32位RISC体系结构处理器,使用ARM920T CPU核的强大指令集,处理器可运行在203 MHz。
  1.2 AD9283高速模数转换器
  在超声波无损检测系统中,超声波探头的频率一般是2~10 MHz。取探头频率为5 MHz,根据采样定理,采样频率是探头频率的5~8倍,因此A/D芯片选用AD公司的AD9283,它的采样速率达100 MHz,可以满足系统要求。
  1.3 FIFO存储器CY7C4261
  FIFO存储器作为A/D与ARM之间的桥梁,其参数指标直接影响数据的采集速度。首先,FIFO存储器的读/写速度要足够快,为方便调试,能和A/D器件的速度相一致;其次,FIFO存储器的存储容量要适宜,如果容量过大会造成资源浪费,如果容量过小会造成溢出或者数据采集速度过慢。
  常用被测物厚度为10 mm,当信号长度取前8个波峰,整个系统工作在极限频率100 MHz的情况下,有如下计算:
  采样次数=采样速率×时间
  =采样速率×(2×厚度×8/超声波速度)
  =100×2×0.01×8/5 900
  =2 712次
  即需要将近3 KB的缓存。该超声波测厚系统需测量厚度50 mm的物体,故需要容量15 K×8 B的FIFO。因此FIFO的深度要大于15 KB;宽度大于A/D的位数,即大于8位;工作速率100 MHz,与A/D采样速率相一致。该设计选用CY公司的FIFO存储器CY7C4261,其采样速率达100 MHz,与AD9283采样速率相同;容量为16 KB×9 B,可以满足数据量要求。
  2 接口设计
  AD9283是8位模/数转换器,CY7C4261是9位FIFO,S3C2410的数据总线是32位。CY7C4261只需接S3C2410的低8位DO~D7。由于FIFO的先入先出结构,系统中不需要任何地址线的参与,大大简化了电路。A/D采样所得数据要实时送入FIFO,两者的写时钟频率必须一样,且AD9283和CY7C4261的时钟输入都是10 ns,操作起来统一方便。74ALS08是四-二输入与门,把ARM的脉宽调制波输出口中的TOUTl(GPBl),TOUT2(GPB2)配置为通用输出口,对74ALS08的通断进行控制,从而对A/D和FIFO的写时钟进行控制。S3C2410的CLKOUTO与CY7C4261的RCLK相连为FIFO提供读时钟。CY7C4261的全满标志位FF与S3C2410的外部中断EINTl相连用以触发外部中断。S3C2410的nRSTOUTl与CY7C4261的RS相连用以复位FIFO。接口框图如图1所示。
  

  3 时序设计
  通过两个与门分别对A/D和FIFO的写时钟进行控制。因为AD9283从模拟输入开始到该次转换的数据出现在输出口上需要4个时钟周期,并且在高速度采样时导线的延时效果会非常明显,若把A/D和FIFO的时钟连在一起,很可能过多地采到无效数据。分开控制以后,通过软件延时,可以方便地分别对A/D和FIFO的时钟进行控制。调试起来相当方便,力图把采到无效数据的位数减至。AD9283的工作时序如图2所示,CY7C4621写时序图如图3所示。
 

  采样时。通过程序使能TOUTl,TOUT2输出为1。此时采样时钟脉冲与TOUTl,TOUT2相与后被分别送入AD9283的时钟输入ENCODE和CY7C4621的写时钟输入WCLK。此时A/D开始工作,A/D将转换数据送至自己的输出口D0~D7。当写使能WEN1为低、WEN2为高的时候,A/D输出口上的数据在WCLK的上升沿被依次写入FIFO。A/D和FIFO每来脉冲,便完成模/数转换并把数据顺序存入FIFO。CY7C4261的数据储存容量是16 KB,在完成了1 6 KB次转换之后,CY7C426l将不能再存入新的数据,此时存储器满标志FF输出低电平(在未满时输出高电平)。把此信号接到S3C2410的外部中断EINTl上,利用它由高到低的变化产生中断,以表明一组数据采集完成。
  在中断中,ARM首先迅速关闭采样脉冲信号(使TOUTl和TOUT2)的输出为0,停止A/D和FIFO的工作。ARM外部时钟信号CLKOUTO与FIFO的读输入RCLK接在一起,ARM每执行I/O读操作,cLKOUT0便向RCLK发出一脉冲。把FIFO读使WEN1能和WEN2置为低,同时连续执行16 K次I/O读操作,数据便依次从CY7C4261送入S3C2410系统,整个数据采集工作就此完成。在进行每数据的采集前,将CY7C4261先复位,把S3C24-10的nRSTOUTl配置为通用输出口,给CY7C4261的RS引脚输入一个不小于10 ns的低脉冲,即在ARM的nRSTOUTl引脚输出一个低脉冲。这样可以更充分地保证FIFO的读、写指针的稳定。
  4 数据采集流程
  超声波测厚系统数据采集工作流程主要包括ARM初始化、输入激励脉冲、使能外部中断、时钟送入A/D、FIFO、等待中断。停止A/D及FIFO,ARM读数据,复位FIFO。流程图如图4所示。
   5 结语
  通过实际设计在基于ARM的超声波无损检测系统中,采用FIFO可以使高速A/D与ARM处理器之间得到很好的无缝连接,解决两者之间不匹配的问题。通过软件设置,可以灵活调整A/D,FIFO及ARM的操作时序,调试简便,保证了数据采集的安全可靠。该接口电路简单,灵活高效,具有很高的应用价值。
关键词:存储器ARM处理器

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

相关技术资料
广告
上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!