我现在正在使用DAC3482芯片,想请教一下其内部的FIFO作用是什么?
FIFO读写指针分别由DATACLK和DACCLK(或其分频)来驱动,用于“缓冲”的作用,我有两种理解:
1.只能缓冲读写指针驱动时钟的相位误差,这时候如果要保证FIFO读写指针不冲突,最后读写指针的驱动时钟应该完全一致,允许有一定的相位差。
如果是这种情况,那么在使用DAC3482内部PLL产生DACCLK,并且因为芯片版本问题无法确定PLL是否锁住(详见寄存器5号)的情况下,一旦FIFO读写指针冲突,就找不到问题的原因了。
2.能够缓冲读写指针驱动时钟的频率误差,即在读写指针驱动时钟速率不同的情况下,能够判断出“写满”或者“读空”,的情况,据此中断读时钟或者写时钟,从而避免FIFO冲突,使DAC3482能够在读写指针驱动时钟频率不同的情况下正常工作,如果是这样,请问要如何实现?
请大家解答一下,谢谢!