当前位置:
文档之家› 第13章 串行通信接口模块(SCI)
第13章 串行通信接口模块(SCI)
13.3 SCI的增强功能
13.3.1 SCI的16级FIFO缓冲
复位:上电复位时,工作在标准SCI模式,禁止FIFO功能。 FIFO的寄存器SCIFFTX、SCIFFRX和SCIFFCT都被禁止。
标准SCI :标准F24x SCI模式,TXINT/RXINT中断作为 SCI的中断源。
FIFO使能:通过将SCIFFTX寄存器中的SIFFEN位置1, 使能FIFO模式。
5
异步通信:收发双方的时钟不是同一个时钟,是由双方各自 的时钟实现数据的发送和接收。但要求双方使用同一标称频 率,允许有一定偏差。 异步通信的同步方法:要正确传输字符,准确读取每一位是 必须用各自的时钟同步的,为克服不同时钟的偏差,每个字 符都有一个起始位进行同步。 典型的异步串行通信接口:RS-232、RS-422/485、USB等
CPU SCIRXBUF RXSHF SCIRXD 地址位模式
15
每个字符6个数据位
通信过程中的发送器信号
1)TXENA=1(SCICTL1.D1),使能发送器发送数据;
3个数据位
地址位模式
2)程序写数据到SCITXBUF寄存器,此时发送器不为空,TXRDY变低; 3)SCI发送数据到移位寄存器TXSHF后,产生中断请求,同时TXRDY变高; 4)TXRDY变高后,程序写第二个字符到SCITXBUF,随后TXRDY又变低; 5)发送完第一个字符,开始将第二个字符移位到寄存器TXSHF; 6)TXENA=0,禁止发送数据,SCI继续完成当前字符的发送; 7)第二个字符发送完成后,发送器变空,TXEMPTY=1。
RS-232接口电路
RS-232C标准
计算机远程通信
DTE(Data Terminal Equipment)数据终端 DCE(Data Communications Equipment)数据通信装置
机械连接:25针,9针 电气方面:采用负逻辑电平:-5V~-15V +5V~+15V 规定为逻辑 “1” 规定为逻辑 “0”
LSPCLK (BRR + 1) x 8
,
BRR = 1 to 65535
SCI baud rate =
LSPCLK 16
,
BRR = 0
21
SCI的波特率计算
Baud-Select MSbyte Register (SCIHBAUD) – 0x007052
7 BAUD15 (MSB) 6 BAUD14 5 BAUD13 4 BAUD12 3 BAUD11 2 BAUD10 1 BAUD9 0 BAUD8
第13章 串行通信接口(SCI)
13.1 SCI接口特点 13.2 SCI数据格式
13.3 SCI增强功能
13.4 SCI接口应用 13.5 接收发送数据
1
计算机通信概述
计算机间或计算机与外部设备间交换信息,称为计算机通信。
计算机通信方式:1)串行通信;2)并行通信。 并行通信:各位数据都是并行传输的,它以字节(或字)为 单位与I/O设备或被控对象进行数据交换。一般包括8条数据 线,几条控制线和状态线。例如XINTF、并行打印机接口等。 特点:传输速度快;硬件开销大;只适合近距离传输。 串行通信:在一条传输线上一位一位地传送二进制信息。每 一个数据位占用一固定的时间长度。 特点:具有传输线少,成本低等优点,适合远距离传输;缺 点是速度慢。
9
SCI与CPU间的接口
CPU
两个外 部引脚
SCI模块
13个控制 寄存器 3.3V TTL 电平
只能以 16位方 式访问
10
13.2 SCI的数据格式
SCI通信中,带有格式信息的数据字符称作一帧, 数 据格式包括: 一个开始位
1~8个数据位(通常为8位)
一个奇/偶校验位或无奇偶校验位
错误标志位不能被直接清除,只能通过软件复位或系统复位来清除。
20
SCI的波特率计算
波特率:串行通信过程每秒钟传送的二进制脉冲数目,单
位: bit/s (位/秒) 串行时钟SCICLK由低速外设时钟LSPCLK和波特率选择寄 存器确定;
SCI使用16位波特率选择寄存器,可以设定为64K种波特率;
1~2个停止位 区分地址和数据的附加位(仅地址位模式时存在)
与RS232 格式兼容
12
SCI数据格式的配置
SCIA的通信控制寄存器
STOP BITS:指定发送时停止位个数,0-1个停止位,1-2个停止位; EVEN/ODD PARITY:奇偶校验选择, 0-奇校验, 1-偶校验; PARITY ENALBE:校验使能, 0-禁止奇偶校验,1-允许奇偶校验; LOOPBACK ENA:环路测试模式使能,1-TX数据内部送Rx,0-禁止 ADDR/IDLE MODE:多处理器模式选择,0-空闲线模式,1-地址位模式 SCICHAR2~0:数据长度选择,1~8位数据(000-111)。
13
SCI通信格式
1) 4个SCICLK周期的连续低电平表示有效的起始位; 2) 接收器收到1个起始位后开始接收数据; 3) 每个串行数据位占用8个SCICLK时钟周期;
4) 在随后的各位中进行三次采样(4、5、6)确定该位电平;
5)串口两端的接收/发送器分别使用各自的时钟(异步方式)。
14
通信过程中的接收器信号
SCI是一种异步串行通信接口,即通常所说的UART
SCI支持16级接收和发送FIFO,有助于减少CPU的开销 如果不使用FIFO时,SCI接收器和发送器采用两级缓冲方式 SCI可工作于半双工或全双工模式(RS485/422) 两种多处理器通信模式:空闲线与地址位多处理器模式
为保证数据的完整性,SCI模块对接收到的数据可以进行间 断、奇偶、超限和帧错误检测。
SCI的中断(续)
1、发送器中断:
1)置位TX INT ENA(SCICTL2.0);
2)只要SCITXBUF中数据传送到TXSHF中,就会产生发送器中断; 3)该操作将TXRDY置位(SCICTL2.7),表示CPU可以继续写 数据。 2、接收器/间断中断: 如果置位RX/BK INT ENA (SCICTL2.1), 则下列条件之一产生接 收器中断: 1)SCI接收到一个完整的帧,并将RXSHF中的数据送SCIRXBUF, 就会产生接收器中断,同时将RXRDY置位(SCICTL2.6);
CPU SCITXBUF TXSHF SCITXD
16
CPU SCITXBUF TXSHF SCITXD
CPU SCIRXBUF RXSHF SCIRXD
发送
接收
SCI通信过程可以使用中断方式或查询方式控制接收器和发送
SCI的中断
器的工作;
错误中断)
共3个中断源,发送器1个,接收器2个(接收/间断公用、接收
Baud-Select LSbyte Register (SCILBAUD) – 0x007053
7 BAUD7 6 BAUD6 5 BAUD5 4 BAUD4 3 BAUD3 2 BAUD2 1 BAUD1 0 BAUD0 (LSB)
SCI的波特率和PC串口的波特率有误差,通常波特率越高,误差越大。
6
计算机通信接口
7
F2812 SCI 通信模块
TX FIFO_0
全双工
TX FIFO_0
TX FIFO_15
TX FIFO_15
SCITXBUF
8 SCITXD SCITXD
SCITXBUF
8
TXSHF
TXSHF
RXSHF
8
SCIRXD
SCIRXD
RXSHF
8
SCIRXBUF
RX FIFO_0
SCIRXBUF
源
ห้องสมุดไป่ตู้
0 1 0 1 0 1 1 0
D0
D7
0 1 0 1 0 目的 1 1 0
01101010
源
8T
目的
T
并行通信
串行通信
串行通信技术分类
1 . 全双工方式、半双工方式和单工方式(数 据传送方向不同)
串行通信技术分类
2. 同步通信、异步通信(收发双方是否使用同一时 钟)
同步通信:发送器和接收器通常使用同一时钟源来同步。方法 是在发送器发送数据时同时包含了时钟信号,接收器利用该 时钟信号进行接收。 下一章介绍SPI,是一种同步串口。
30
RS-232接口的硬件连接
RS232的信号定义: TXD/RXD : 是一对数据线,TXD称发送数据输出,RXD称接收数据输入,当 两台计算机以全双工方式直接通信时,双方的这两根线应交叉连接。 GND: 所有的信号都要通过信号地线构成回路。
1)置RXENA=1(SCICTL1.D0),使能接收器接收数据; 2)数据到达SCIRXD引脚后,检测起始位(SCI自动实现); 3)数据从RXSHF寄存器移位到接收缓冲寄存器(SCIRXBUF), 产生一个中断请求,同时接收器数据准备好标志RXRDY=1; 4)用户程序读取SCIRXBUF寄存器,标志位RXRDY自动清零; 5)数据的下一个字符到达SCIRXD引脚,检测到起始位; 6)RXENA=0,禁止接收数据。继续向RXSHF装载数据,但不送入SCIRXBUF。
RX FIFO_0
RX FIFO_15
RX FIFO_15
SCI Device #1
SCI Device #2
13.1 SCI接口的特点
串行通信接口(SCI-Serial Communication Interface) F2812包含两个SCI接口,记做SCIA和SCIB
2)间断检测条件发生(在一个缺少的停止位后,SCIRX保持10 周期的低电平)。该操作将BRKDT置位,并产生中断。