第6章 嵌入式系统总线接口
与CPU内 核相连
APB 接口
《嵌入式系统设计》
——Uart行控制寄存器
UTXHn
TxD0
Shifter
ULCONn URXHn
UTRSTATn
RxD0
Shifter
UFCNn
位 功能
7 保留
6 红外/正常模式选择
字长:这些位控制数据长度。
00:5位字符长度; 10:7位字符长度;
[5 : 3]
奇偶校验模式选 择
6.1.1 串行接口基本原理与结构 1.串行通信概述
《嵌入式系统设计》
常用的数据通信方式有并行通信和串行通信 两种。当两台数字设备之间传输距离较远时, 数据往往以串行方式传输。串行通信具有传输 线少、成本低等优点,特别适合远距离传送。
① 串行数据通信模式 串行数据通信模式有单工通信、半双工通信
和全双工通信3种基本的通信模式。
第6章 嵌入式系统总线接口
《嵌入式系统设计》
嵌入式系统设计
—基于ARM9微处理器S3C2410A
第6章 嵌入式系统总线接口
第6章 嵌入式系统总线接口
6.1 串行(Uart)接口
《嵌入式系统设计》
➢ 掌握ARM的Uart工作原理
➢ 掌握Uart寄存器配置方法
➢ 学习编程实现ARM的UART通讯
第6章 嵌入式系统总线接口
称之为波特。异步通信的波特率的数值通常为:150、300、 600、1200、2400、4800、9600、115200、14400、 28800等,数值成倍数变化。
● 校验位 在一个有8位的字节(byte)中,其中必有奇数个或偶数个的
“1”状态位。
第6章 嵌入式系统总线接口
《嵌入式系统设计》
异步串行通信中的字符传送格式
➢ 串口收发数据
《嵌入式系统设计》
发送:将待发送数据写入UTXH0寄存器,然后通过 读取UTRSTAT0寄存器的值判断数据是否发送完成;
接收:通过读取UTRSTAT0寄存器的值判断是否接 收到数据,如果接收到数据,则可以从URXH0寄存 器中读出数据。
描述 描述
复位值 未定义
复位值 未定义
第6章 嵌入式系统总线接口
UART相关寄存器描述
《嵌入式系统设计》
——Uart波特率系数寄存器
与CPU内 核相连
UCONn
UBRDIVn
APB 接口
UTXHn
TxD0
Shifter
ULCONn URXHn
UTRSTATn
RxD0
Shifter
UFCNn
名称
UBRDIV[15 :0]
RxD0
SUh0iRfteSrR
UFCONn
位 功能
2 发送器空状态位
1 发送缓冲器空状态位
0 接收缓冲器状态位
发送缓冲器空状态位:
0:未空; 1:空
第6章 嵌入式系统总线接口
UART相关寄存器描述
与CPU内 核相连
UCONn
UBRDIVn
APB 接口
《嵌入式系统设计》
——Uart状态寄存器
UTXHn
Shifter
UFCNn
位 功能
7 保留
6 红外/正常模式选择
[5 : 3]
奇偶校验模式选 择
2 停止位
[1 :0] 字长
停止位:控制每帧数据包含的停止位个数。
0:1个停止位;
1:2个停止位;
第6章 嵌入式系统总线接口
UART相关寄存器描述
UCONn UBRDIVn
与CPU内 核相连
APB 接口
《嵌入式系统设计》
第6章 嵌入式系统总线接口
UART内部结构示意图-以Uart0为例
中断使能及 模式选择
《嵌入式系统设计》
波特率设置
与CPU内 核相连
UCONn
UBRDIVn
APB 接口
UTXHn
TxD0
Shifter
ULCONn URXHn
UTRSTATn
RxD0
Shifter
UUFFCCONNnn
FIFO控制
UART格式设置
第6章 嵌入式系统总线接口
UART相关寄存器描述
与CPU内 核相连
UCONn
UBRDIVn
APB 接口
《嵌入式系统设计》
——Uart状态寄存器
UTXHn
TxD0
Shifter
ULCONn UUR0XRHBnR
UTRSTATn
RxD0
SUh0iRfteSrR
UFCONn
位 功能
2 发送器空状态位
1 发送缓冲器空状态位
CPU内核通过APB接口对UART的寄存器进行读写访问
2.发送数据的通道
第6章 嵌入式系统总线接口
UART内部结构示意图
《嵌入式系统设计》
与CPU内 核相连
UCONn
UBRDIVn
APB 接口
UTXHn
TxD0
Shifter
ULCONn UUR0XRHBnR
UTRSTATn
RxD0
SUh0iRfteSrR
RS232标准包括一个主通道和一个辅助通道,在 多数情况下主要使用主通道,即RXD、TXD、 GND信号;
第6章 嵌入式系统总线接口
《嵌入式系统设计》
DB-2பைடு நூலகம்/DB-9引脚定义
第6章 嵌入式系统总线接口
《嵌入式系统设计》
RS-232C接口通信的两种基本连接方式
第6章 嵌入式系统总线接口
3.电平转换
TTL电平:S3C2410A使用TTL电平
《嵌入式系统设计》
RS232电平:双极性信号逻辑电平, 它是一套负逻辑定义 ➢ -3V到-25V之间的电平表示逻辑“1” ➢ +3V到+25V之间的电平表示逻辑“0”
电平转换电路:常用专门的RS-232接口芯片,如 SP3232、SP3220等,在TTL电平和RS-232电平之间实现 相互转换。
第6章 嵌入式系统总线接口
《嵌入式系统设计》
② 异步串行通信方式
● 字符的格式 每个字符传送时,必须前面加一个起始位,后面加上1、1.5
或2位停止位。例如ASCII码传送时,一帧数据的组成是:前面 1个起始位,接着7位ASCII编码,再接着一位奇偶校验位,最 后一位停止位,共10位。
● 波特率 传送数据位的速率称为波特率,用位/秒(bit/s)来表示,
UFCONn
接收缓存 接收移位寄存器
3.接收数据的通道
第6章 嵌入式系统总线接口
UART内部结构示意图
中断标志
《嵌入式系统设计》
与CPU内 核相连
UCONn
UBRDIVn
APB 接口
UTXHn
TxD0
Shifter
ULCONn UUR0XRHBnR
UTRSTATn
RxD0
SUh0iRfteSrR
UFCONn
TxD0
Shifter
ULCONn UUR0XRHBnR
UTRSTATn
RxD0
SUh0iRfteSrR
UFCONn
位 功能
2 发送器空状态位
1 发送缓冲器空状态位
0 接收缓冲器状态位
接收缓冲器空状态位:
0:空; 1:有数据
第6章 嵌入式系统总线接口
《嵌入式系统设计》
第6章 嵌入式系统总线接口
UART相关寄存器描述
描述 波特率系数寄存寄存器:决定串行发送接收时钟率
复位值 未定义
第6章 嵌入式系统总线接口
《嵌入式系统设计》
波特率计算
通过设置UCONn寄存器选择UART时钟是由 S3C2410A的系统时钟(PCLK)产生还是由外部UART 设备的时钟(UCLK)产生。
波特率的大小可以通过设置波特率寄存器(UBRDIVn) 控制,使用PCLK时的计算公式如下:
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
接收数据缓冲寄存器,保存接收数据
0 接收缓冲器状态位
发送器空状态位: 0:发送器未空
1:发送器、发送缓冲器均空。
第6章 嵌入式系统总线接口
UART相关寄存器描述
与CPU内 核相连
UCONn
UBRDIVn
APB 接口
《嵌入式系统设计》
——Uart状态寄存器
UTXHn
TxD0
Shifter
ULCONn UUR0XRHBnR
UTRSTATn
开始前,线路处于空闲状态,连续多个“1”; 开始时,先发一个“0”作为起始位; 然后是二进制数据和奇偶校验位(可选); 最后是一个及一个以上的“1”作为停止位;
第6章 嵌入式系统总线接口
2.RS232概述
《嵌入式系统设计》
RS232-C是美国电子工业协会(EIA)制定的串行通 讯标准;