·上一文章:YB4365/YB4345数字光标直读示波器的设计与实现
·下一文章:照相手机闪光灯驱动方案
UART 数据用 10,922 波特或 8,192 波特的 UART 接收。由于 UART 在传输中间点对数据进行采样以补偿抖动,因此该点已经被选择为接收 UART 的采样点。在没有行抖动的理想情况下,10,922 波特 UART 对第三数据位的开始两次读数都会是错误的而8,192 波特的UART 由于会完全遗漏第三位,很快就将出错。由于低功耗应用的理想时钟是低功耗实时时钟模式,这使得在低功耗环境中处理很困难。解决这一问题的最好办法就是将 µC 与调制技术结合使用,用 32kHz 振荡器提供非常精确的 2,400 波特,并完全能支持9,600 波特(参见图 3)。
图 3:在 9600 波特传输时采用时钟调制的 32Khz 驱动 UART
通过混合两个时钟除数解决错误,总体积累的错误消失,数据接收正确。这种方法对于9,600 波特或以下的 UART 通信很有效。对于高速通信,几个 µC 监视 UART Rx 行的边缘跃迁并触发 ISR 启动内部高速振荡器,驱动 CPU 并处理中断。这使 µC UART 能够接收高速数据,而不必在 UART 空闲期间保持一个启动的高速时钟。如果使用外部振荡器或内部振荡器频率太低,则由于启动高速振荡器需要一定的时间,第一次传输将失效。为克服这一限制和效率损失,设计人员应该考虑使用能够唤醒并及时从 32kHz 或停机模式激活的处理器,从正在传输的 UART 恢复首次传输的数据。例如,系统时钟需要在 25µs 内启动,才能拾取起始位的中间点,从而正确接收 19,200 位的传输。