当前位置:首页 > 技术学院 > 技术前线

UART,即通用异步接收器/发送器,是最常用的设备间通信协议之一,正确配置后,UART可以配合许多不同类型的涉及发送和接收串行数据的串行协议工作。在串行通信中,数据通过单条线路或导线逐位传输。在双向通信中,我们使用两根导线来进行连续的串行数据传输。根据应用和系统要求,串行通信需要的电路和导线较少,可降低实现成本。

本文将UART用作硬件通信协议应遵循的标准步骤进行说明,讨论使用UART的基本原则,重点是数据包传输、标准帧协议和定制帧协议;定制帧协议将是安全合规性方面的增值特性,尤其是在代码开发期间。在产品开发过程中,本文还将分享一些基本步骤,以检查数据表的实际使用,目标是帮助更好地理解和遵循UART标准,以便最大程度地发挥其能力和应用优势,特别是在开发新产品时。

通信协议

通信协议在组织设备之间的通信时扮演着重要角色。它基于系统要求而以不同方式进行设计。此类协议具有特定的规则,为实现成功通信,不同设备都遵循该规则。

根据定义,UART是一种硬件通信协议,以可配置的速度使用异步串行通信。异步意味着没有时钟信号来同步从发送设备进入接收端的输出位。

嵌入式系统、微控制器和计算机大多将UART作为设备间硬件通信协议的一种形式。在可用通信协议中,UART的发送和接收端仅使用两条线。尽管它是一种广泛使用的硬件通信方法,但它并非在所有时候都是完全优化的。在微控制器内部使用UART模块时,通常会忽略帧协议的适当实现。

UART(Universal Asynchronous Receiver/Transmitter,通用异步收发器)是一种常用的串行通信协议,广泛应用于单片机或各种嵌入式设备之间的通信。本文将详细介绍UART通信的基本原理、工作模式、波特率计算以及常见使用方式,帮助有一定单片机开发能力的人群更好地理解和应用UART通信。

一、UART通信的异步通信机制

UART通信是一种异步串行通信方式,其基本原理是通过数据线上传输二进制数据位。UART通信系统主要由发送端和接收端两部分组成,它们之间通过数据线进行数据传输。发送端将待发送的数据转换为并行信号,然后通过驱动电路将并行信号转换为串行信号,并通过发送电路将串行信号发送到数据线上。接收端则通过接收电路将数据线上的信号还原为并行信号,再通过解码电路将并行信号转换为原始数据位。

UART通信采用异步通信方式,即发送端和接收端之间通过数据线进行数据传输。在异步通信中,发送端和接收端不需要同时处于激活状态,而是通过起始位和停止位来标识数据帧的开始和结束。具体来说,当发送端产生起始位后,发送一个数据位;然后等待接收端的起始位,如果接收到起始位,则继续发送下一个数据位;如果没有接收到起始位,则认为数据帧传输失败。同样,当接收端产生停止位后,发送一个校验位;然后等待发送端的停止位,如果接收到停止位,则认为数据帧传输成功。

二、UART的波特率

波特率表示单位时间内通过线路传输的二进制数据的位数,通常用bps(bits per second)表示。例如,如果波特率为9600bps,则每秒钟可以传输9600个比特位的数据。

串口传输数据的波特率是单片机的时钟系统来产生的,因此它和单片机的系统时钟存在算式关系。

波特率= (16 * 时钟频率) / (32 * 采样时间) + (1 * 时钟频率) / (32 * 采样时间) - (1 * 时钟频率) / (64 * 采样时间)

其中,采样时间指从上一次起始位到本次起始位之间的时间间隔。例如,如果采样时间为10ns,则波特率为9600bps。

常见的波特率有2400、4800、9600、19200、38400、57600、115200……它们都可是2400的整数倍,因此不同的波特率可以通过分频器来产生。现在的单片机虽然都有着不同的频率,常见的有32MHz、48MHz和144MHz,通常它们都会有一个外部系统时钟为单片机的外围设备提供基础时钟频率(如1MHz),UART产生波特率也是从该时钟产生时钟信号。

需要注意的是,在实际使用中,时钟频率可能会受到一些因素的影响,如晶振漂移、电源噪声等。因此,为了保证数据传输的正确性和可靠性,建议在设计UART通信系统时使用外部晶振或时钟发生器,并对其进行校准和补偿。

三、停止位和奇偶校验

在UART异步通信中,停止位用于表示数据帧的结束。停止位可以是1个或2个比特位。当停止位为1个比特位时,每个数据字节的后面都添加一个额外的时间间隔,以补偿时钟抖动和其他因素引起的误差。例如,如果波特率为9600bps,则每个字节的时间间隔为4ms,因此每个停止位的时间间隔为4ms / 8 = 0.5ms。

当停止位为2个比特位时,每个数据字节的后面都添加两个额外的时间间隔,即每个字节的时间间隔为4ms / (8 + 4) = 0.3125ms。这种模式适用于需要更高精度的数据传输场景。

奇偶校验是一种常用的错误检测方法,可以检测数据传输过程中的错误和丢失。在UART通信中,可以通过设置奇偶校验位来提高数据传输的正确性和可靠性。

需要注意的是,奇偶校验位只能检测数据传输过程中的错误和丢失,而不能保证数据的完整性和正确性。因此,在使用UART通信时,还需要采取其他措施来确保数据传输的正确性和可靠性。

四、UART的轮询收发和中断收发

前面我们讲过,UART通信就是把一个字节的数据拆分成若干bit位,然后一个bit一个bit的发送。当一个字节的数据被送进UART发送器后,这个字节被转换成bit位,UART发送这个字节后还要产生停止位,此时UART发送器已经空闲,可以继续发送下一个字节。通常UART发送器发送完一个字节后会产生一个空闲状态,轮询式发送就是等待这个空闲状态并发送下一个字节。UART接收也是如此,UART接收器收完一个字节并收到停止位信号时,就会向单片机的UART数据寄存器保存刚收到的数据,并产生一个收到标志位,轮询该标志位就可以接收到该字节数据。

但是在单片机系统中经常不止UART收发应用,这时就要用到中断收发。通常单片机的UART收发都有RX收到中断和TX完毕中断。中断发送时,UART发送器是空闲状态,此时往发送器里面写入第一个字节,该字节传输完毕后产生TX完毕中断,在TX完毕中断的服务函数中再填入后续字节并产生下一个中断,最后直到把需要传输的字节都传完为止。中断接收时,UART接收器收到字节后会产生RX收到中断,在RX收到中断服务函数中读取收到的字节,每次中断时都读取收到的字节。

五、带数据缓存的UART收发

在很多单片机系统中,都会提供UART Read和UART Write这样的接口函数。一些高级的单片机甚至还有UART Read Callback和UART Write Callback这样的回调函数来收发数据。通常很多单片机的数据处理能力相对UART通信来说要快得多,因此像采用上述接口函数的单片机系统都使用了数据缓存来辅助UART收发。常见的UART收发方式有这几种:

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭