FPGA串口(verilof实现),有波特率了,还需要时钟吗?
波特率说白了就是针对串口的时钟分频吧那么我们把系统时钟分频成对应的波特率后,为什么还要在接收和发送模块给clk呢,直接用clk_bps就好了啊。求解释...
波特率说白了就是针对串口的时钟分频吧
那么我们把系统时钟分频成对应的波特率后,为什么还要在接收和发送模块给clk呢,直接用clk_bps就好了啊。
求解释 展开
那么我们把系统时钟分频成对应的波特率后,为什么还要在接收和发送模块给clk呢,直接用clk_bps就好了啊。
求解释 展开
2个回答
展开全部
波特率是数据位的发送频率,但发送一个数据位并不是一个简单动作,还要分成好多步骤才能完成,同时我们希望发送的这个数据位,是在波特率时钟周期的中间而不是靠边上的时刻,所以通常还有一个高于波特率时钟的信号作为整个电路的时钟信号,这个时钟信号的频率一般是波特率时钟的16倍频。
追问
我的意思是,能不能接收端用16倍频,有信号转为正常波特率;发送端正常波特率。从而不需要用系统的clk
追答
你为什么对系统时钟这么纠结呢?就像一只手表,“只需要时针和分针,不需要秒针”、或者“只要秒针,不需要分针、时针”等等。
关于接收端和发送端的问题,通常都是双向通信,因此,一个通信接口,既要设计发送功能、也要设计接收功能。所以即使按照你的设想,仍然同时需要设计16倍频时钟和波特率时钟两个时钟信号,而且这也没有什么难的,只需要多设计一个分频器而已。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询