我有一个fpga,它以4.8 kbps的比特率接收串行数据。
现在,我不确定我的fpga应该以什么时钟频率运行才能正确处理数据。
时钟速度是否仅需要最低4800 Hz?
答案 0 :(得分:1)
相反:您首先必须确定处理单个输入“滴答”所需的时钟周期。如果一个周期足以完成您的处理,那么4800 Hz可能就可以了。
但是,如果您需要两个循环,则速度可能会提高一倍。
这是一个很普通的答案,但是您的问题也很普通,因此这可能是您不希望增加输入就可以期望的最好的结果。
答案 1 :(得分:0)
时钟速度是否仅需要最低4800 Hz?
理论上:是,实用上:否。
理论上。
您可以使用4800Hz时钟接收4800 Hz信号,但前提是该时钟为精确正确的频率。 (4800 Hz会偏离,没有时钟是完美的)。为此,您需要类似PLL的器件,它位于测量反馈环路中,以查看信号并保持时钟同步。
实用。
使用起来更容易1MHz的FPGA时钟并使用过采样。即使那样,您也有与专用时钟相同的问题:您需要知道位边界在哪里。再次需要某种时钟锁定或边缘识别机制。实际上,您必须构建等效于PLL的结构,但是您可以使用寄存器和计数器来完成所有工作。
当以1MHz的频率运行时(对于FPGA来说这是非常慢的),您将有足够的时钟周期来处理数据。
这两种方法都取决于您使用的协议,而您没有提到。它们仅适用于某些类型的信号/串行协议。例如,如果信号在多个时钟周期内处于低电平或高电平,则可能会导致这两种方法出现问题。