国产adc芯片 adc芯片

跨时钟域处理是设计中无法避免的问题,而如何处理好跨时钟域之间的信号,对于很多IC设计新手应该是属于必修课。在本文中,主要介绍3种跨时钟域处理的方法,这3种方法可以说是最常用且最实用的方法,学会这3招后...

跨时钟域处理是设计中无法避免的问题,而如何处理好跨时钟域之间的信号,对于很多IC设计新手应该是属于必修课。

在本文中,主要介绍3种跨时钟域处理的方法,这3种方法可以说是最常用且最实用的方法,学会这3招后,对于相关的跨时钟域处理便可以手到擒来。

本文介绍的3种方法依次为:

打两拍;

异步双口RAM;

格雷码转换。

第一种方法:打两拍

国产adc芯片 adc芯片

大家应该很清楚,处理跨时钟域的信号可以是多bit或者是单bit。而打两拍的方式一般见于处理单bit信号。

打两拍的方式,说白了,其实就是定义两个寄存器,对输入的信号进行延拍。

而至于到底打几拍,两拍,3拍,还是3.5拍(3个寄存器+1个latch)。完全取决于时钟的频率和信号本事的翻转率。而量化的标准就是MTBF值。一般要求一个芯片的chip-MTBF大约在5年或者更多的10年左右。

第二种方法:异步双口RAM

对于多bit的数据,我们可以举这样的一个例子。假设我们现在有一个信号采集平台,ADC芯片提供源同步时钟100MHz,ADC芯片输出的数据在100MHz的上升沿变化,而芯片内部需要使用60MHz的时钟来处理ADC采集到的数据(多bit数据)。

在这种类似的场景中,我们就可以使用异步双口ram来做跨时钟域处理。先利用ADC芯片提供的时钟100MHz将ADC输出的数据写入异步双口RAM,然后使用60MHz的时钟从RAM中读出数据。

ADC提供的时钟是100MHz,而处理ADC数据的时钟是60MHz,运用异步双口RAM就可以很轻松的处理这个跨时钟域的问题。

国产adc芯片 adc芯片

当然,在能使用异步双口RAM的场景中,也可以是用异步双口FIFO来达到同样的目的。

第三种方法:格雷码转换

我们依然继续使用介绍第二种方法中用到的ADC例子,将ADC采样的数据写入RAM时,需要产生RAM的写地址,但我们读出RAM中的数据时,肯定不是芯片一上电就直接读取,而是要等RAM中有ADC的数据之后才去读RAM。这就需要对RAM的写地址进行判断,当写地址大于某个值之后再去读取RAM。

对于这种情景,RAM的写地址是100MHz时钟产生的,却需要用到60MHz的时钟去判断这个读地址,使用格雷码转换无疑是最好的方法。

先将由ADC时钟产生的写地址转成格雷码,然后再将格雷码写地址进行打两拍操作,再将打两拍之后的格雷码写地址恢复成10进制。

这样,就可以使用60MHz的时钟来进行判断RAM的写地址了。

对于介绍的这三种方法,大家可能对于前两种方法更熟悉一些,但第三种方法在工作中也会用到。掌握这三种方法,基本上对于跨时钟域处理的问题就可以说是完全吃透了。 (部分内容来自网络)

上一篇:水母的生长过程 水母的生长过程视频
下一篇:新闻30分央视网 新闻周刊央视网

为您推荐

发表评论