预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共24页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第9章串行通信接口(SCI) SCI接口模块:实现与其它外设之间的异步串行数据通信。波特率可编程。 SCI的发送器与接收器都是双缓冲的。各自有工作使能和中断控制。可工作于全双工模式。 9.1概述 9.1.1串行通信接口的物理描述 内部结构如图所示。 (1)两个I/O引脚:SCIRXD与SCITXD (2)一个16位的波特率选择寄存器可编程,可得到65536种的不同速率。(3)1-8位的可编程数据位。 (4)长度为1位或2位的可编程停止位。 (5)内部产生的串行时钟。 (6)四个错误的检测标志: 奇偶性错误、超限错误、帧错误、间断检测 (7)两种唤醒多处理器模式: 空闲线唤醒、位寻址唤醒 (8)半双工或全双工。 (9)双缓冲接收和发送功能。 (10)发送和接收操作均可通过中断或查询进行。 (11)非归零格式(NRZ)。9.1.2SCI模块的结构 模块主要包括以下部件: (1)发送器-TX SCITXBUF-发送数据缓冲寄存器,存发送数 据。 TXSHF-发送移位寄存器,每次1位送到 SCITXD引脚。 (2)接收器-RX RXSHF-接收移位寄存器,每次1位将 SCIRXD引脚上的数据移入。 SCIRXBUF-接收数据缓冲寄存器,存 RXSHF 接收到数据。 (3)一个可编程的波特率发生器。(4)控制和状态寄存器(映射在数据存储器区)。 9.1.3SCI模块的寄存器地址 地址寄存器名称 7050hSCICCRSCI通信控制寄存器 7051hSCICTRL1SCI控制寄存器1 7052hSCIBAUD波特率选择寄存器高8位 7053hSCIBAUD波特率选择寄存器低8位 7054hSCICTRL2SCI控制寄存器2 7055hSCIRXSTSCI接收器状态寄存器 7056hSCIRXEMUSCI仿真数据缓冲寄存器 7057hSCIRXBUFSCI接收器数据缓冲寄存器 7059hSCITXBUFSCI发送数据缓冲寄存器 705FhSCIPRISCI优先级控制寄存器9.1.4多机异步通信模式 SCI提供了与许多外设的UART通信模式。异 步模式需要两条线与标准设备接口,如 使用RS-232C格式的终端和打印机等。 SCI有两种多处理器协议: (1)空闲线路多处理器模式。 (2)地址位多处理器模式。 这些协议允许在多个处理器之间进行有 效的数据传输。9.2可编程的数据格式 串行通信接口可的数据无论是接收还是发送都采用 NRZ(非归零)格式,NRZ包括以下组成部分: •1个起始位 •1-8个数据位. •1个或无奇偶校验位 •1-2个停止位 •1个从数据中识别地址的附加位(仅用于地址模式)基本单位为一个字符,其长度为1-8位。 数据的每个字符格式化为1个起始位,1-2个停止位 和可选的奇偶校验位和地址位,如图所示。 注意:带有格式化信息数据的一个字符称为一个字符帧为了对数据格式化进行编程,要使用SCI通信控制寄存器(SCICCR)。用于对数据格式进行编程的位如表所示。 表对数据格式进行编程的位 位 功能 SCICCR.2-0选择字符长度(1-8位) SCICCR.5 是否选择奇偶校验功能 SCICCR.6 选择奇偶校验,1-偶,0-奇 SCICCR.7 停止位的个数,1-1个,0-2 个9.3SCI多处理器通信 多处理器通信中一条串行线上只能有一个信息源。 地址字节 信息源发送的数据块的第一个字节为一地址字节,它被所有的接收器读取,但只有地址正确的接收器才能被紧随地址字节后面的数据字节中断,地址不正确的接收器不被中断,直到下一个地址字节。 SLEEP位 串行线路上的所有处理器将它们的串行通信接口的SLEEP位(SClCTL1.2)设置为1,仅在检测到 地址字节时才被中断。当一个处理器读 取到的一个数据块地址与本器件地址相 一致时,用户程序必须清除SLEEP位来 确保串行通信接口在收到每个数据字节 时产生一个中断。 尽管当SLEEP位为1时,接收器仍能工作, 但它不会使RXRDY、RXINT或任何接收 错误状态位设置为1,除非检测到地址字 节,且接收到的帧的地址位是1。 SLEEP位必须由用户软件改变。识别地址字节 处理器根据多处理器的模式来识别一个地址字节,例如: •空闲线模式在地址字节前留有一段静空间。该模式没有一个附加的地址/数据位,在处理包含多于10个字节的数据块的情况下,其效率比地址位模式更高。 •地址位模式为每个字节增加一个附加位(地址位)来从数据中识别地址。该模式在处理多个小数据块时更有效。与空闲线模式不一样,因为它在数据块之间不需要等待。但在大数据块传输中效率不如空闲线模式。 控制SCITx和Rx特性 多处理器的模式可通过ADDR/IDLEMODE位(SCICCR.3)来设置。 两种模式都使用TXW