下篇:基于FIFO实现超声测厚系统 - 时序设计
扫描二维码
随时随地手机看文章
上篇文章中,小编对基于FIFO实现超声测厚系统的硬件选择和接口设计有所介绍。在这篇文章中,我们接着来看该系统的时序设计。
一、时序设计的实质是什么
时序设计的实质是满足每一个触发器的建立时间、保持时间的要求。
时序设计是电路设计中的一个关键环节,其核心目标在于确保电路中的触发器能够在正确的时间点接收和保持数据。这包括两个方面:建立时间和保持时间。建立时间是指触发器能够正确接收数据的最早时间,而保持时间则是指触发器能够保持数据的稳定状态的最短时间。时序设计的实质就在于通过合理的电路设计和优化,确保所有触发器都能满足这些时间要求,从而保证电路的整体性能和可靠性。
建立时间:这是触发器能够开始接受数据的最早时间点。如果信号在建立时间之前到达,那么触发器可能无法正确地识别和处理这个信号。
保持时间:这是触发器能够保持数据的稳定状态的最短时间。如果信号在保持时间结束后才到达,那么触发器可能无法正确地锁定这个信号,从而导致数据错误。
时序收敛是时序设计过程中的一个重要概念,它指的是通过一系列的设计和优化措施,使得电路的时序要求得到满足,即所有触发器的建立时间和保持时间要求都得到满足。这个过程需要对设计的电路有深入的理解和熟悉,以确保数据能够在正确的时间到达并被正确地处理。
二、时序设计
通过两个与门分别对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的读、写指针的稳定。
以上便是小编此次想要和大家共同分享的内容,如果你对本文内容感到满意,不妨持续关注我们网站哟。最后,十分感谢大家的阅读,have a nice day!