DSP6678串口(UART)使用学习

1.时钟设置
处理器从外部输入获取时钟源,首先UART通过DLH和DLL寄存器编程设置自己的时钟频率。
UART包含一个可编程波特发生器,它接收一个输入时钟,并将其除以1和(2 ^16 - 1)之间的除数,生成波特时钟(BCLK)。这个除数需要在两个8位寄存器的(DLH和DLL)字段设置,也称为除数锁存器,保存这个16位除数。DLH保存除数的最高有效位,DLL保存除数的最低有效位.这些编辑器锁存器必须在UART初始化期间加载.

UART根据过采样模式对每一位数据进行读取,需要操作的是MDR寄存器中的OSM_SEL位
有两种过采样模式,一种是16倍过采样,一种是32倍过采样,采样模式的选择根据下图中对MDR寄存器中的OSM_SEL位进行设置.
DSP6678串口(UART)使用学习_第1张图片

传输数据、BCLK和UART输入时钟之间的关系如下图所示。注意图中的时序关系,每个bit持续16个BCLK周期。这是在16过采样模式的情况下。对于16个过采样模式,每个比特的采样周期持续16个BCLK周期,当接收时,UART在第8个周期对该比特位采样,如下图所示:
DSP6678串口(UART)使用学习_第2张图片

你可能感兴趣的:(学习,单片机,嵌入式硬件)