嵌入式Linux应用开发完全手册(四)UART

本文详细介绍了通用异步收发器UART的工作原理,2440芯片的UART特性,包括3个通道、中断/DMA模式以及收发过程。还讲解了UART在2440上的使用,包括波特率设置、传输格式、管脚配置等,并提供了UART操作实例,如初始化、发送和接收字符的函数。
摘要由CSDN通过智能技术生成

11. 通用异步收发器 UART

11.1 UART原理,部件使用方法

11.1.1UART原理

UART是Universal Asynchronous Receiver Transmitter的缩写,即通用异步收发器
UART用来传输串行数据:
- 发送时,CPU将并行数据写入UART,UART按照一定格式在一根电线上串行发出
- 接收时,UART检测另一根电线上的信号,收集串行数据存放在缓冲区,供CPU读取

连线图

图中收发各有一条线,有的设备比如SIM卡,只有一条线,收发共用。
- 2条线可以实现全双工
- 1条线可以实现半双工

电平逻辑

  • TTL/CMOS
    • 5V,3.3V,2.5V/1.8V 表示1
    • 0V,表示0
  • RS-232
    • 3~12V 表示1
    • -3~-12V表示0

传输结构

  • 位,最小单元
  • 帧,不可分割的若干位
    • 开始位
    • 数据位
    • 校验位(可选)
    • 停止位

波特率
每一位所需时间的倒数,即每秒可以传输的位数。

波形
Markdown
上图是一个7位数据位的帧波形。

  • 空闲状态,高电平
  • 拉低1位,表示帧开始
  • 然后按照次序,按照约定的每帧数据位数,传输数据
  • 数据位全部传输完成后,传输校验位,校验方式提前约定,可以是奇校验,也可以是偶校验
  • 下一位是停止位,拉高电平
  • 停止位长度可以设置,1,1.5,2,为了保护各个帧,防止错乱

11.1.2 2440的UART

3个通道

  • UART0
  • UART1
  • UART2

工作模式

  • 中断模式
  • DMA模式

收发过程
发数据

  • 2440的UART由深度64的FIFO控制
  • CPU写入数据到FIFO
  • UART将FIFO的数据复制到“发送移位寄存器”Transmit Shifter
  • Shifter将数据发送的TxDn数据线上

收数据

  • 数据线RxDn上的数据进入接收移位器,Receive Shifter
  • Shifter复制数据到FIFO中
  • CPU从FIFO中读取数据
    Markdown

11.1.3 2440的UART使用

使用前的设置

  • 波特率
  • 传输格式
    • 数据位宽度
    • 是否使用校验位
    • 奇校验还是偶校验
    • 多少个停止位
    • 是否使用流量控制
    • 设置管脚
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值