DSP的Baud Rate 、Baud Clock以及UART Input Clock之间的关系
UART的时钟发生器概念示意图:
DSP的时钟发生器接收一个外部的时钟源信号,并且产生一个可以使用编程来定义的UART输入时钟。
(可定义的UART输入时钟有20MHz、40MHz、60MHz、80MHz、100MHz、120MHz、140MHz)
UART拥有一个可编程的波特率发生器,该发生器将一个输入时钟除以一个1~2^16-1之间的数(该数成为分频数,即divisor)用以产生一个波特时钟(baud clock,BCLK)。
波特时钟(baud clock)是波特率的16倍,即是说,没接收或发送一个bit时,该数据维持16个波特时钟周期(Baud clock cycle,BCLK cycle)。
分频数divisor的计算公式为:
分频数(divisor)为16bit,分别存在两个称为DLM和DLL的分频数锁存寄存器中。其中DLM中存储divisor的高8位,DLL中存储divisor的低8位。
Data Bit、Baud clock以及UART input clock的关系如下图所示: