历史上的今天
返回首页

历史上的今天

今天是:2025年04月06日(星期日)

2020年04月06日 | UART协议介绍及编程

2020-04-06 来源:eefocus

原理说明:


通用异步收发器简称为UART,即“Universal Asynchronous Receiver/Transmitter”,它用来传输串行数据;发送数据时,CPU将并行数据写入UART,UART按照一定的格式在一根电线上串行发出。接收数据时,UART检测另一根电线上的信号,将串行收集的数据放在缓冲区中,CPU即可读取UART获得的数据。UART以全双工的方式传输数据,最精简的连线方式只有3根电线,TxD用于发送数据,RxD用于接收数据。Gnd用于给双方提供参考电平。连线如下图所示。

UART使用标准的TTL/CMOS逻辑电平来表示数据,高电平表示1,低电平表示0。为了增强数据的抗干扰能力、提供传输长度,通常将TTL/CMOS逻辑电平转换为RS-232逻辑电平,3~12V表示0,-3~-12表示1。


TxD、RxD数据线以“位”为最小单位传输数据。帧由具有完整意义的、不可分割的若干位组成,它包含开始位、数据位、校验位和停止位。发送数据之前,UART之间要约定好数据的传输速率(即每位所占用的时间,其倒数称为波特率)、数据的传输格式(即有多少个数据位、是否使用校验位、是奇校验还是偶校验、有多少个停止位)。


数据传输流程如下:


(1)平时数据线处于“空闲”状态(1状态)。


(2)当要发送数据时,UART改变TxD数据线的状态并维持1位的时间,这样接收方检测到开始位后,在等待1.5位的时间就开始一位一位地检测数据线的状态得到所传输的数据。


(3)UART以帧中可以有5、6、7或8位的数据,发送方一位一位地改变数据线的状态将它们发送出去,首先发送最低位。


(4)如果使用校验功能,UART在发送完数据位后,还要发送1个校验位。有两个校验方式,奇校验和偶校验,数据位连同校验位中,“1”的数目等于奇数或偶数。


(5)最后,发送停止位,数据线恢复到“空闲”状态(1状态)。停止位的长度有3中,1位、1.5位和2位。


下图演示了UART使用7个数据位、偶校验、2个停止位的格式传输发送字符“A”时,TTL/CMOS逻辑电平对应的波形。

S3C2440的UART特性:


S3C2440中UART功能相似,有3个独立通道,每个通道都可以工作于中断模式或DMA模式,即UART可以发出中断或DMA请求以便在UART和CPU间传输数据。UART由波特率发生器、发送器、接收器和控制逻辑组成。


使用系统时钟时,S3C2440的UART波特率可以达到115.2Kbit/s;如果使用UEXTCLK引脚提供的外部时钟,则可以达到更高的波特率。波特率可以通过编程进行控制。


S3C2440的UART的FIFO深度为64,。发送数据时,CPU先将数据写入发送FIFO中,然后UART会自动将FIFO中的数据复制到“发送移位器”中,发送移位器将数据一位一位地发送到TxD数据线上。接收数据时,“接收移位器”将RxD数据线上的数据一位一位接收过来,然后复制到接收FIFO中,CPU即可从中读取数据。


S3C2440的UART的每个通道支持的停止位有1位、2位,数据位有5、6、7或8位,支持校验功能,另外还有红外发送/接收功能。


S3C2440的UART结构如下图所示。

UART的使用:


在使用UART之前需要设置波特率、传输格式;对于S3C2440,还要选择所涉及管教为UART功能、选择UART通道的工作模式为中断模式还是DMA模式。设置好之后,往某个寄存器写入数据即可发送,读取某个寄存器即可得到接收到的数据。可以通过查询状态寄存器或设置中断来获知数据是否已经发送完毕、是否已经接收到数据。

推荐阅读

史海拾趣

ATM [Advanced Technical Materials]公司的发展小趣事

在20世纪初期,电子技术和机械自动化的发展为ATM的出现奠定了基础。1939年,美国的Luther Simjian提出了ATM的设计雏形,并成功说服一家公司制作了样板试验产品。然而,由于当时的技术限制和公众接受度不高,这些早期ATM并未得到广泛应用。

常州星海电子(Starsea)公司的发展小趣事

在电子行业,技术创新是企业持续发展的关键。常州星海电子一直致力于技术的研发和创新。近年来,公司成功取得了一项名为“一种高反压二极管”的专利,通过采用先进的生产工艺和设计,实现了产品性能的优化和成本的降低。这一创新不仅提升了公司的市场竞争力,也为整个电子行业的发展注入了新的活力。

Anderson Power Products公司的发展小趣事

在电子行业,技术创新是企业持续发展的关键。常州星海电子一直致力于技术的研发和创新。近年来,公司成功取得了一项名为“一种高反压二极管”的专利,通过采用先进的生产工艺和设计,实现了产品性能的优化和成本的降低。这一创新不仅提升了公司的市场竞争力,也为整个电子行业的发展注入了新的活力。

台湾凌通(Generalplus)公司的发展小趣事
检查控制电路中的其他元件(如继电器、晶体管等)是否工作正常,有无损坏或接触不良的情况。
Ava Electronics Corp公司的发展小趣事

随着市场的不断发展,AVA电子意识到只有不断创新才能在竞争中保持领先。于是,公司加大了在研发方面的投入,引进了一批高素质的研发人才,并与多所高校和研究机构建立了合作关系。经过数年的努力,AVA电子成功研发出了一系列具有自主知识产权的电子产品,这些产品在性能、稳定性和用户体验等方面都达到了行业领先水平。这些创新产品的推出,不仅提升了公司的市场地位,也为公司带来了可观的利润。

Gore公司的发展小趣事
在大功率电机驱动系统中,三电平直流变换器能够提供足够的功率和精确的电压控制,满足电机的运行需求。

问答坊 | AI 解惑

用电阻做功率模拟

请教各位,我现在测一块散热板的散热效率,打算用铜壳线绕电阻做一个30W的发热源,电阻型号有以下几款 220Ω/5W;500Ω/8W;输入电压在60V左右,请问应该怎样排列电阻效果才好?谢谢!…

查看全部问答>

闪电击中世界最高建筑哈利法塔

上面这张令人震惊的照片展示了世界最高建筑哈利法塔遭闪电击中时的场面。 照片的拍摄者是一位23岁名叫穆罕默德·哈姆丹的学生,来自巴基斯坦,目前在阿联酋攻读建筑工程学。当时,迪拜正遭受暴风雨的袭击。雷电中,高达828米的哈利法塔在紫色的 ...…

查看全部问答>

今天参加mcu day赠送的一款开发板

参加TI mcu Day时,送的开发板,据说可以当做jtag仿真器使用,双重功能!!!…

查看全部问答>

U盘多盘符的问题

我在一个嵌入式系统中,主机在GET MAX LUN我已经返回01,但是主机并未显示2个盘符.仅仅出现了一个盘符 还需要做哪方面的工作…

查看全部问答>

关于桥式整流

这是在空闲之际模拟的几张桥式整流和接电容的图片,希望能对大家有点用处。    大家注意看波形随着电容的变化而变化。…

查看全部问答>

hmc5883的程序有人做过么?我的程序哪里出问题了?本人菜鸟,见笑了。

调了好几个小时了,就是不知道问题在哪里,请高手们指点。 测量先不说,就是怎么读寄存器都没弄清。 看了中文的pdf了,但是还是没搞懂,先看看我的程序吧。 程序部分(已近将无关部分删除): uchar code table[]=\"0123456789\"; //////////// ...…

查看全部问答>

有谁用了ADS8332,求程序!

最近用到团购买回来的ADS8332,但是调试了两天没成功,求助各位!谢谢!…

查看全部问答>

debug正常,51运算错误

已经用其他程序试验过了,不是xdata的问题,xdata里的数据能正常使用。我在用51做一个32点的fft。 部分代码如下: #include #include #define  uchar  unsigned  char #define  uint unsigned int ...…

查看全部问答>

谁用单片机驱动过PS2的数字小键盘?

我在网上买了一块PS2的数字小键盘,就是传统台式机键盘最右边的数字键部分。 学习了一下PS2及扫描编码相关内容,看懂了程序,但是,由于小键盘只有部分按键,有的键还是不能读取。 0—9数字键是可以输入的,小键盘的enter也能读取,但+、-、*、/ ...…

查看全部问答>