通用异步收发器UART-学习笔记

《嵌入式linux应用程序开发完全手册》学习笔记...

觉得还是先了解相关的原理后在深入了解代码比较好哈...

UART原理:

通用异步收发器简称UART,它用来传输串行数据。发送数据时,CPU将并行数据写入UART,UART按照一定的格式在一根电线上串行发出;接收数据时,UART检测另一根电线上的信号,将串行数据放在缓冲区中,CPU即可通过UART获得这些数据。UART以全双工方式传输数据,最简单的连接方式只有三根线:TxD用于发送数据,RxD用于接收数据,Gnd用于给双方提供参考电平。


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

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

数据传输流程:

1)通常情况下数据线处于“空闲”状态(1状态)。

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

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

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

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



上面介绍了数据在线路当中的传输过程,那么UART的特性是怎么样的呢?

S3C2440有三个独立的通道,每个通道都可以工作于中断模式或者DMA模式。UART由波特率发生器、发送器、接收器和控制器组成。


S3C2440 UART的每个通道都有64个字节的发送FIFO和64字节的接收FIFO。发送数据时,CPU先将数据写入发送FIFO中,然后UART会自动将FIFO的数据复制到“发送移位寄存器(Transmit Shifter)”中,发送移位寄存器将数据一位一位地发送到TxDn数据线上(根据设定的格式,插入开始位,校验位和停止位)。接收数据时,“接收移位器(Receive Shifter)”将RxDn数据线上的数据一位一位接收进来,然后复制到接收FIFO找那个,CPU即可从中读取数据。

S3C2440 UART的使用

在使用UART之前需要设置波特率、传输格式(数据位、校验位、停止位、是否使用流量控制);对于S3C2440还要选择

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值