第6章 嵌入式系统总线接口
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
0 接收缓冲器状态位
发送器空状态位: 0:发送器未空
1:发送器、发送缓冲器均空。
第6章 嵌入式系统总线接口
UART相关寄存器描述
与CPU内 核相连
UCONn
UBRDIVn
APB 接口
《嵌入式系统设计》
——Uart状态寄存器
UTXHn
TxD0
Shifter
ULCONn UUR0XRHBnR
UTRSTATn
UBRDIVn = (int)(PCLK/(bps x 16) ) -1 使用UCLK时的计算公式如下:
UBRDIVn = (int)(UCLK/(bps x 16) ) -1
其中PCLK 是系统时钟频率,UCLK是UART设备时钟。 使用PCLK,在40MHz的情况下,当波特率取115200
时 UBRDIVn = (int)(40000000/ (115200 x 16))–1= 20
6.1.1 串行接口基本原理与结构 1.串行通信概述
《嵌入式系统设计》
常用的数据通信方式有并行通信和串行通信 两种。当两台数字设备之间传输距离较远时, 数据往往以串行方式传输。串行通信具有传输 线少、成本低等优点,特别适合远距离传送。
① 串行数据通信模式 串行数据通信模式有单工通信、半双工通信
和全双工通信3种基本的通信模式。
称之为波特。异步通信的波特率的数值通常为:150、300、 600、1200、2400、4800、9600、115200、14400、 28800等,数值成倍数变化。
● 校验位 在一个有8位的字节(byte)中,其中必有奇数个或偶数个的
“1”状态位。
第6章 嵌入式系统总线接口
《嵌入式系统设计》
异步串行通信中的字符传送格式
UTRSTATn
RxD0
Shifter
UFCNn
位 功能
10
9
波特率时 发送中断请 钟选择 求类型选择
8
接收中断 请求类型
选择
7
Rx超时中 断使能控制
6
接收错误 状态中断 使能控制
5
回送模 式选择
4 保留
[3:2]
发送模式 选择
[1 :0]
接收模式 选择
波特率时钟选择:0:使用PCLK 1:使用Uclk
开始前,线路处于空闲状态,连续多个“1”; 开始时,先发一个“0”作为起始位; 然后是二进制数据和奇偶校验位(可选); 最后是一个及一个以上的“1”作为停止位;
第6章 嵌入式系统总线接口
2.RS232概述
《嵌入式系统设计》
RS232-C是美国电子工业协会(EIA)制定的串行通 讯标准;
RS232是一个全双工的通讯标准,它可以同时进 行数据接收和发送的工作;
1.在使用UART之前需要设置的寄存器
第6章 嵌入式系统总线接口
UART内部结构示意图
《嵌入式系统设计》
发送缓存 发送移位寄存器
与CPU内 核相连
UCONn
UBRDIVn
APB 接口
UUTTXXHHnn
TxD0
Shifter
ULCONn URXHn
UTRSTATn
RxD0
Shifter
UFCONn
第6章 嵌入式系统总线接口
2.UART工作过程(以UART0为 例)
《嵌入式系统设计》
➢ 串口初始化 首先要设置相应I/O为TXD0、RXD0功能引脚;
然后通过ULCON0寄存器来设置串口数据格式;
然后通过UCON0寄存器来设置串口工作模式;
最后通过UBRDIV0来设置通讯波特率;
第6章 嵌入式系统总线接口
Shifter
UFCNn
位 功能
7 保留
6 红外/正常模式选择
[5 : 3]
奇偶校验模式选 择
2 停止位
[1 :0] 字长
停止位:控制每帧数据包含的停止位个数。
0:1个停止位;
1:2个停止位;
第6章 嵌入式系统总线接口
UART相关寄存器描述
UCONn UBRDIVn
与CPU内 核相连
APB 接口
《嵌入式系统设计》
——Uart行控制寄存器
UTXHn
TxD0
Shifter
ULCONn URXHn
UTRSTATn
RxD0
Shifter
UFCNn
位 功能
7 保留
6 红外/正常模式选择
[5 : 3]
奇偶校验 模式选择
2 停止位
[1 :0] 字长
奇偶选择:设置奇偶校验类型。 0XX:无奇偶校验; 100:奇校验; 110:强制奇偶校验/校验1; 111:强制奇偶校验/校验0;
第6章 嵌入式系统总线接口
UART相关寄存器描述
与CPU内 核相连
UCONn
UBRDIVn
APB 接口
ቤተ መጻሕፍቲ ባይዱ《嵌入式系统设计》
——Uart状态寄存器
UTXHn
TxD0
Shifter
ULCONn UUR0XRHBnR
UTRSTATn
RxD0
SUh0iRfteSrR
UFCONn
位 功能
2 发送器空状态位
1 发送缓冲器空状态位
TTL电平:S3C2410A使用TTL电平
《嵌入式系统设计》
RS232电平:双极性信号逻辑电平, 它是一套负逻辑定义 ➢ -3V到-25V之间的电平表示逻辑“1” ➢ +3V到+25V之间的电平表示逻辑“0”
电平转换电路:常用专门的RS-232接口芯片,如 SP3232、SP3220等,在TTL电平和RS-232电平之间实现 相互转换。
RS232标准包括一个主通道和一个辅助通道,在 多数情况下主要使用主通道,即RXD、TXD、 GND信号;
第6章 嵌入式系统总线接口
《嵌入式系统设计》
DB-25/DB-9引脚定义
第6章 嵌入式系统总线接口
《嵌入式系统设计》
RS-232C接口通信的两种基本连接方式
第6章 嵌入式系统总线接口
3.电平转换
第6章 嵌入式系统总线接口
《嵌入式系统设计》
➢ 每个UART包含:
波特率发生器、接收器、发送器和控制单元 波特率发生器以PCLK或UCLK为时钟源 发送器和接收器各包含1个16 字节的FIFO和移位寄存
器 当发送数据的时候,数据可以先写到FIFO然后拷贝到
发送移位寄存器,然后从数据输出端口(TxDn)依次 被移位输出 被接收的数据也同样可以从接收端口(RxDn)移位输 入到移位寄存器,然后拷贝到FIFO中
➢ 串口收发数据
《嵌入式系统设计》
发送:将待发送数据写入UTXH0寄存器,然后通过 读取UTRSTAT0寄存器的值判断数据是否发送完成;
接收:通过读取UTRSTAT0寄存器的值判断是否接 收到数据,如果接收到数据,则可以从URXH0寄存 器中读出数据。
第6章 嵌入式系统总线接口
UART内部结构示意图-以Uart0为例
中断使能及 模式选择
《嵌入式系统设计》
波特率设置
与CPU内 核相连
UCONn
UBRDIVn
APB 接口
UTXHn
TxD0
Shifter
ULCONn URXHn
UTRSTATn
RxD0
Shifter
UUFFCCONNnn
FIFO控制
UART格式设置
停止位 奇偶 (1~2位) 校验位
数据(5~8位)
起始位
1 1 P D7 D6 D5 D4 D3 D2 D1 D0 0
ULCON寄存器:
位 功能
7 保留
6 红外/正常模式选择
[5 : 3]
奇偶校验模式 选择
2 停止位
[1 :0] 字长
第6章 嵌入式系统总线接口
UART0相关寄存器描述
UCONn UBRDIVn
UART0 当前状态
4.通信过程中可能影响的标志位
第6章 嵌入式系统总线接口
UART相关寄存器描述
UCONn UBRDIVn
与CPU内 核相连
APB 接口
《嵌入式系统设计》
——Uart行控制寄存器
UTXHn
TxD0
Shifter
ULCONn URXHn
UTRSTATn
RxD0
Shifter
UFCNn
UFCONn
接收缓存 接收移位寄存器
3.接收数据的通道
第6章 嵌入式系统总线接口
UART内部结构示意图
中断标志
《嵌入式系统设计》
与CPU内 核相连
UCONn
UBRDIVn
APB 接口
UTXHn
TxD0
Shifter
ULCONn UUR0XRHBnR
UTRSTATn
RxD0
SUh0iRfteSrR
UFCONn
描述 波特率系数寄存寄存器:决定串行发送接收时钟率
复位值 未定义
第6章 嵌入式系统总线接口
《嵌入式系统设计》
波特率计算
通过设置UCONn寄存器选择UART时钟是由 S3C2410A的系统时钟(PCLK)产生还是由外部UART 设备的时钟(UCLK)产生。
波特率的大小可以通过设置波特率寄存器(UBRDIVn) 控制,使用PCLK时的计算公式如下:
描述 描述
复位值 未定义
复位值 未定义
第6章 嵌入式系统总线接口
UART相关寄存器描述
《嵌入式系统设计》
——Uart波特率系数寄存器
与CPU内 核相连
UCONn
UBRDIVn
APB 接口
UTXHn
TxD0
Shifter
ULCONn URXHn
UTRSTATn
RxD0
Shifter
UFCNn
名称
UBRDIV[15 :0]
TxD0
Shifter
ULCONn UUR0XRHBnR
UTRSTATn
RxD0
SUh0iRfteSrR
UFCONn
位 功能
2 发送器空状态位
1 发送缓冲器空状态位
0 接收缓冲器状态位
接收缓冲器空状态位:
0:空; 1:有数据
第6章 嵌入式系统总线接口
《嵌入式系统设计》
第6章 嵌入式系统总线接口
UART相关寄存器描述
2 停止位
[1 :0] 字长
01:6位字符长度; 11:8位字符长度;
第6章 嵌入式系统总线接口
UART0相关寄存器描述
UCONn UBRDIVn
与CPU内 核相连
APB 接口
《嵌入式系统设计》
——Uart行控制寄存器
UTXHn
TxD0
Shifter
ULCONn URXHn
UTRSTATn
RxD0
与CPU内 核相连
UCONn
UBRDIVn
APB 接口
《嵌入式系统设计》
——发送/接收数据缓冲寄存器
UUTTXXHHnn
TxD0
Shifter
ULCONn UURRXXHHnn
UTRSTATn
RxD0
Shifter
UFCONn
UTXHn 7:0
发送数据缓冲寄存器,保存发送数据
URXHn 7:0
接收数据缓冲寄存器,保存接收数据
与CPU内 核相连
APB 接口
《嵌入式系统设计》
——Uart行控制寄存器
UTXHn
TxD0
Shifter
ULCONn URXHn
UTRSTATn
RxD0
Shifter
UFCNn
位 功能
7 保留
6 红外/正常模式选择
字长:这些位控制数据长度。
00:5位字符长度; 10:7位字符长度;
[5 : 3]
奇偶校验模式选 择
CPU内核通过APB接口对UART的寄存器进行读写访问
2.发送数据的通道
第6章 嵌入式系统总线接口
UART内部结构示意图
《嵌入式系统设计》
与CPU内 核相连
UCONn
UBRDIVn
APB 接口
UTXHn
TxD0
Shifter
ULCONn UUR0XRHBnR
UTRSTATn
RxD0
SUh0iRfteSrR
第6章 嵌入式系统总线接口
《嵌入式系统设计》
② 异步串行通信方式
● 字符的格式 每个字符传送时,必须前面加一个起始位,后面加上1、1.5
或2位停止位。例如ASCII码传送时,一帧数据的组成是:前面 1个起始位,接着7位ASCII编码,再接着一位奇偶校验位,最 后一位停止位,共10位。
● 波特率 传送数据位的速率称为波特率,用位/秒(bit/s)来表示,
第6章 嵌入式系统总线接口
《嵌入式系统设计》
第6章 嵌入式系统总线接口
6.1.2 S3C2410A的UART
《嵌入式系统设计》
1.S3C2410A的UART结 构
➢ S3C2410 的UART(通用异步串行口)有三个 独立的异步串行I/O 端口:UART0、UART1、 UART2
➢ UART支持的最高波特率达230.4kbps
第6章 嵌入式系统总线接口
《嵌入式系统设计》
嵌入式系统设计
—基于ARM9微处理器S3C2410A
第6章 嵌入式系统总线接口
第6章 嵌入式系统总线接口
6.1 串行(Uart)接口
《嵌入式系统设计》
➢ 掌握ARM的Uart工作原理
➢ 掌握Uart寄存器配置方法
➢ 学习编程实现ARM的UART通讯
第6章 嵌入式系统总线接口
101:偶校验;
第6章 嵌入式系统总线接口
《嵌入式系统设计》
UART线控寄存器(ULCONn)的位功能
第6章 嵌入式系统总线接口
UART相关寄存器描述
UCONn UBRDIVn
与CPU内 核相连
APB 接口
《嵌入式系统设计》
——Uart控制寄存器
UTXHn
TxD0
Shifter
ULCONn URXHn
RxD0
SUh0iRfteSrR
UFCONn
位 功能
2 发送器空状态位
1 发送缓冲器空状态位
0 接收缓冲器状态位
发送缓冲器空状态位:
0:未空; 1:空
第6章 嵌入式系统总线接口
UART相关寄存器描述
与CPU内 核相连
UCONn
UBRDIVn
APB 接口
《嵌入式系统设计》
——Uart状态寄存器
UTXHn