我有一个fpga,它以4.8kbps的比特率接收串行数据。
现在我不确定我的fpga应该以什么时钟频率运行才能正确处理数据。
时钟速度是否只需最低4800 Hz?
发布于 2018-09-04 15:09:41
反之亦然:您首先必须确定需要多少个时钟周期来处理一个单输入“滴答”。如果一个周期足以完成您的处理,那么4800 Hz可能就可以了。
但是如果你需要两个周期,那么你可能会用双倍的速度。
这是一个非常通用的答案,但您的问题也是非常通用的,所以这可能是您在不增加输入的情况下所能希望的最好结果。
发布于 2018-09-06 04:49:18
时钟速度是否只需最低4800 Hz?
理论:是的,实用:不。
理论上。
您可以使用4800 Hz时钟接收4800 Hz信号,但前提是时钟必须是准确的正确频率。( 4800赫兹会有偏差,没有时钟是完美的)。为此,你需要一些像PLL这样的东西,它在测量反馈环路中查看信号en,使时钟保持同步。
很实用。
例如,使用1 1MHz时钟和使用过采样要容易得多。即使这样,您也会遇到与专用时钟相同的问题:您需要知道位边界在哪里。同样,需要某种时钟锁定或边沿识别机制。事实上,你必须构建一个等同于PLL的东西,但是你可以使用寄存器和计数器来完成所有的工作。
当以1 1MHz的速度运行时(这对于FPGA来说是非常慢的),您有足够的时钟周期来处理数据。
这两种方法都取决于您所使用的协议,而您没有提到。它们仅适用于某些类型的信号/串行协议。例如,如果信号在许多时钟周期内为低或高,这将导致任一种方法的问题。
https://stackoverflow.com/questions/52158627
复制相似问题