LPC932内部低功耗振荡器的UART自动校准技术

需积分: 10 1 下载量 191 浏览量 更新于2024-11-08 收藏 204KB PDF 举报
"该文档主要介绍了LPC932单片机中定时UART的内部低功耗振荡器(WDT)的自动校准过程,旨在确保UART波特率的精度,适用于需要精确时间基准的场景。" 在微控制器设计中,低功耗振荡器是一个关键组件,尤其在电池供电或手持设备中。LPC932单片机使用内部的看门狗定时器(WDT)作为时钟源,以降低功耗并减少对外部元件的依赖。尽管WDT振荡器的初始精度较低,但在特定应用中,如UART通信,需要高精度的时间基准,因此需要进行校准。 UART(通用异步收发传输器)通常依赖于精确的时钟来设定波特率,即数据传输速率。LPC932的内部波特率发生器(BRG)可以通过调整BRG0和BRG1寄存器的系数来划分系统时钟(CCLK),从而生成所需的波特率。为了校准WDT,首先需要测量其实际频率。这可以通过观察WDT定时器的溢出来实现,因为溢出会产生中断并更新计数器。 为了提高精确度,可以通过将0写入WDT的重载寄存器来设置最高的溢出频率,通常每80微秒发生一次溢出。测量WDT的计数值,并将其除以4,可以得到最接近的波特率系数,从而消除最低有效位(LSB)的误差。例如,若CCLK为400kHz,目标波特率为9600bps,理论系数为42,实际测量的系数应为4倍,即168,对应13.44ms的周期。 LPC932在上电时默认使用内部RC振荡器,其频率有±2.5%的温度容差,但在室温下,容差可以小于±0.8%。RC振荡器的频率为7.373MHz,每个周期内定时器增加1。通过这样的频率测量和计算,可以精确校准WDT,确保UART的波特率偏差在±2.5%以内。 校准完成后,校准值会被写入EEPROM,后续使用时直接读取这些值即可。这一校准过程不仅适用于UART,还可以应用于其他需要精确时间基准的系统功能。 LPC932的内部低功耗振荡器自动校准技术是一种有效的优化手段,可以提高在电池供电和手持设备中UART通信的可靠性与效率,减少对外部组件的依赖,同时降低功耗。