文档介绍:第10章: 串行通信接口模块(SCI)
串行通信接口概述
多处理器异步通信模式串行外设接口操作
串行通信接口控制寄存器
串行通信接口概述
SCI接口模块实现与其它外设之间的异步串行数据通信。波特率可编程。
SCI的发送器与接收器都是双缓冲的。各自有工作使能和中断控制。可工作于全双工模式。
串行通信接口概述
SCI模块的特性:
两个I/O引脚:SCIRXD与SCITXD
一个16位的波特率选择寄存器可编程,可得到65536种的不同速率
1-8位的可编程数据位。
长度为1位或2位的可编程停止位。
内部产生的串行时钟。
四个错误的检测标志:奇偶性错误、超限错误、帧错误、间断检测
两种唤醒多处理器模式:空闲线唤醒、位寻址唤醒
半双工或全双工。
双缓冲接收和发送功能。
发送和接收操作均可通过中断或查询进行。
非归零格式(NRZ)。
串行通信接口概述
SCI模块主要部件:
(1)发送器-TX
SCITXBUF-发送数据缓冲寄存器,存发送数据。
TXSHF-发送移位寄存器,每次1位送到SCITXD引脚
(2)接收器-RX
RXSHF-接收移位寄存器,每次1位将SCIRXD引脚上的数据移入。
SCIRXBUF-接收数据缓冲寄存器,存RXSHF接收到数据。
(3)一个可编程的波特率发生器。
串行通信接口概述
(4)控制和状态寄存器(映射在数据存储器区)
地址
寄存器
名称
7050h
R
SCI通信控制寄存器
7051h
SCICTRL1
SCI控制寄存器1
7052h
SCIBAUD
波特率选择寄存器高8位
7053h
SCIBAUD
波特率选择寄存器低8位
7054h
SCICTRL2
SCI控制寄存器2
7055h
SCIRXST
SCI接收器状态寄存器
7056h
SCIRXEMU
SCI仿真数据缓冲寄存器
7057h
SCIRXBUF
SCI接收器数据缓冲寄存器
7059h
SCITXBUF
SCI发送数据缓冲寄存器
705Fh
SCIPRI
SCI优先级控制寄存器
多处理器(多机)异步通信模式
SCI提供了与许多外设的UART通信模式。异步模式需要两条线与标准设备接口,如使用RS-232C格式的终端和打印机等。
SCI有两种多处理器协议:
(1)空闲线路多处理器模式。
(2)地址位多处理器模式。
这些协议允许在多个处理器之间进行有效的数据传输。
多处理器(多机)异步通信模式
1、可编程的数据格式
串行通信接口可的数据无论是接收还是发送都采用NRZ(非归零)格式,NRZ包括以下组成部分:
1个起始位
1-8个数据位.
1个或无奇偶校验位
1-2个停止位
1个从数据中识别地址的附加位(仅用于地址模式)
多处理器(多机)异步通信模式
基本单位为一个字符,其长度为1-8位。
数据的每个字符格式化为1个起始位,1-2个停止位和可选的奇偶校验位和地址位,。
注意:带有格式化信息数据的一个字符称为一个字符帧。
SCI数据单位基本格式
多处理器(多机)异步通信模式
为了对数据格式化进行编程,要使用SCI通信控制寄存器(R)。用于对数据格式进行编程的位如下表所示。
位
功能
-0
选择字符长度(1-8位)
是否选择奇偶校验功能
选择奇偶校验,1-偶,0-奇
停止位的个数,1-1个,0-2个
多处理器(多机)异步通信模式
2、SCI多处理器通信
多处理器通信中一条串行线上只能有一个信息源。
地址字节
信息源发送的数据块的第一个字节为一地址字节,它被所有的接收器读取,但只有地址正确的接收器才能被紧随地址字节后面的数据字节中断,地址不正确的接收器不被中断,直到下一个地址字节。