摘 要: 本文讨论了UART的软件实现方法,介绍了Holtek单片机在工业应用中用软件构成UART的接口电路。
关键词: UART;接**术;软件外设
在各种MCU应用系统中,经常需要与其他的设备或系统进行数据通讯,UART是比较常用的一种通讯模式。当应用系统要求多路UART,或者基于性能、成本综合考虑选用了不带UART的MCU时,我们可以考虑用软件构建UART以实现系统的数据通讯要求。
有人对软件UART工作效率和可靠性持否定态度。事实上系统要求的各项功能的实现是采用软件还是硬件,通常要综合考虑系统要求、可支配资源、成本。最后的结果总是在考虑上述因素之后的一个折衷。如果系统本身实时性要求不是很高,而MCU的其他资源又允许的话,完全可以以软件的方式构造合乎使用要求的软件UART。
图1复费率电表中的485接口电路
UART
串行数据通讯时,数据按位传送,任何时候线上仅有一位数据。因此收、发双方必须同步,以从二进制位流中正确地读出每一位数据。异步串行通讯中,收、发方的同步不采用时钟线来进行,而是由通讯双方约定一个波特率,每一个传送单元通过一个“起始位”来同步。当接收方监测到一个有效起始位,便按照约定的波特率的一个倍频(例如16倍频)对数据进行采样接收。由于每一个传送单元的位数较少(通常不超过11位),而接收采样的频率要高于通讯波特率,即使收发双方的时基存在一定误差,仍然可以保证准确的通讯。