串行通信接口模块SCI

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
典型的异步串行通信接口:RS-232、RS-422/485、USB等
6
计算机通信接口
7
F2812 SCI 通信模块
TX FIFO_0
TX FIFO_15
SCITXBUF
8
TXSHF
全双工
SCITXD
SCITXD
TX FIFO_0
TX FIFO_15
SCITXBUF
8
TXSHF
RXSHF
8
SCIRXBUF
16
CPU SCITXBUF
TXSHF SCITXD
发送
CPU SCIRXBUF
RXSHF SCIRXD
接收
SCI的中断
SCI通信过程可以使用中断方式或查询方式控制接收器和发送 器的工作;
共3个中断源,发送器1个,接收器2个(接收/间断公用、接收 错误中断)
发送器和接收器有独立的中断使能位(TX INT ENA、RX/BK INT、 RX ERR). 当中断被屏蔽时,但标志位仍然有效,可以反映发送 和接收状态;
机械连接:25针,9针 电气方面:采用负逻辑电平:-5V~-15V
+5V~+15V
规定为逻辑 “1” 规定为逻辑 “0”
30
RS-232接口的硬件连接
RS232的信号定义: TXD/RXD : 是一对数据线,TXD称发送数据输出,RXD称接收数据输入,当 两台计算机以全双工方式直接通信时,双方的这两根线应交叉连接。 GND: 所有的信号都要通过信号地线构成回路。
2)只要SCITXBUF中数据传送到TXSHF中,就会产生发送器中断;
3)该操作将TXRDY置位(SCICTL2.7),表示CPU可以继续写 数据。
2、接收器/间断中断:
如果置位RX/BK INT ENA (SCICTL2.1), 则下列条件之一产生接 收器中断:
1)SCI接收到一个完整的帧,并将RXSHF中的数据送SCIRXBUF, 就会产生接收器中断,同时将RXRDY置位(SCICTL2.6);
13.3.1 SCI的16级FIFO缓冲
复位:上电复位时,工作在标准SCI模式,禁止FIFO功能。 FIFO的寄存器SCIFFTX、SCIFFRX和SCIFFCT都被禁止。
标准SCI :标准F24x SCI模式,TXINT/RXINT中断作为 SCI的中断源。
FIFO使能:通过将SCIFFTX寄存器中的SIFFEN位置1, 使能FIFO模式。
错误标志位不能被直接清除,只能通过软件复位或系统复位来清除。
20
SCI的波特率计算
波特率:串行通信过程每秒钟传送的二进制脉冲数目,单 位: bit/s (位/秒) 串行时钟SCICLK由低速外设时钟LSPCLK和波特率选择寄 存器确定; SCI使用16位波特率选择寄存器,可以设定为64K种波特率;
串行通信:在一条传输线上一位一位地传送二进制信息。每 一个数据位占用一固定的时间长度。 特点:具有传输线少,成本低等优点,适合远距离传输;缺 点是速度慢。
0 1 0 1 源0 1 1 0
D0
0
1
0
1 0 目的
1
1
D7
0
T
并行通信
01101010

8T
目的
串行通信
串行通信技术分类
1 . 全双工方式、半双工方式和单工方式(数 据传送方向不同)
其余为联络(握手信号)信号线.
PC机1
RXD 2 TXD 3 GND 5 DCD 1 DTR 4 DSR 6 RTS 7 CTS 8
4)TXRDY变高后,程序写第二个字符到SCITXBUF,随后TXRDY又变低; 5)发送完第一个字符,开始将第二个字符移位到寄存器TXSHF;
6)TXENA=0,禁止发送数据,SCI继续完成当前字符的发送;
7)第二个字符发送完成后,发送器变空,TXEMPTY=1。
CPU
SCITXBUF
TXSHF
SCITXD
CPU SCIRXBUF
每个字符6个数据位
RXSHF
SCIRXD
地址位模式
15
通信过程中的发送器信号
3个数据位
地址位模式
1)TXENA=1(SCICTL1.D1),使能发送器发送数据;
2)程序写数据到SCITXBUF寄存器,此时发送器不为空,TXRDY变低;
3)SCI发送数据到移位寄存器TXSHF后,产生中断请求,同时TXRDY变高;
SCITXBUF
8
TXSHF
RXSHF
8
SCIRXBUF
RX FIFO_0
SCIRXD
RX FIFO_15
SCI Device #1
SCIRXD
RXSHF
8
SCIRXBUF
RX FIFO_0
RX FIFO_15
SCI Device #2
13.3.2 SCI自动波特率检测
自动检测SCI通信的波特率,并刷新BSR寄存器。 通常两个CPU的波特率是确定的,SCI的自动波特率功能一
Baud-Select LSbyte Register (SCILBAUD) – 0x007053
7
6
5
4
3
2
1
0
BAUD7 BAUD6 BAUD5 BAUD4 BAUD3 BAUD2 BAUD1 BAUD0 (LSB)
SCI的波特率和PC串口的波特率有误差,通常波特率越高,误差越大。
13.3 SCI的增强功能
SCI baud rate =
LSPCLK
, BRR = 1 to 65535
(BRR + 1) x 8
LSPCLK 16
, BRR = 0
21
SCI的波特率计算
Baud-Select MSbyte Register (SCIHBAUD) – 0x007052
7பைடு நூலகம்
6
5
4
3
2
1
0
BAUD15 BAUD14 BAUD13 BAUD12 BAUD11 BAUD10 BAUD9 BAUD8 (MSB)
28
13.4 SCI接口应用
13.4.1 硬件设计 标准串行总线接口
RS-232标准 半双工RS485通信 全双工RS422通信 RS-232与RS485的电平比较 RS-232接口电路
RS-232C标准
计算机远程通信
DTE(Data Terminal Equipment)数据终端 DCE(Data Communications Equipment)数据通信装置
与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)。
般不用。
27
13.3.3 SCI多处理器通信
在同一条串行连线上,多处理器通信模式允许一个处理器 (主机)向串行线上其它处理器(从机)发送数据。 一条串行线上每刻只能有一个节点发送数据(发送使能控 制),但可以多个节点同时接收数据。 根据地址信息识别方法的不同,多处理器通信方式分为空 闲线模式和地址位模式。
13.3.1 SCI的16级FIFO缓冲
缓冲:
标准SCI模式下:发送只有发送缓冲器SCITXBUF,接 收只有接收缓冲器SCIRXBUF。
FIFO模式下:发送和接收缓冲器增加了2个16级的 FIFO,发送FIFO寄存器是8位宽,接收FIFO寄存器是 10位宽。
标准SCI的一个字的发送缓冲器SCITXBUF作为发送 FIFO和移位寄存器TXSHF间的缓冲器。只有移位寄存 器的最后一位被移出后, SCITXBUF才从发送FIFO加 载CPU写好的需要发送的数据。
2)间断检测条件发生(在一个缺少的停止位后,SCIRX保持10 周期的低电平)。该操作将BRKDT置位,并产生中断。
19
SCI的中断(续)
3、 在接收器错误中断服务子程序中,可以检测错误条件: 1)FE:当检测不到一个期望的停止位时,帧错误标志置位; 2)OE:在前一个字符被CPU读取前,有新的字符送到 SCIRXBUF中时,置位超时错误标志,此时前一个字符被覆盖; 3)PE:当接受字符中1的个数和它的奇偶校验位之间不匹配时 (含地址位),且校验模式被使能时,奇偶校验错误标志置位。
第13章 串行通信接口(SCI)
13.1 SCI接口特点 13.2 SCI数据格式 13.3 SCI增强功能 13.4 SCI接口应用 13.5 接收发送数据
1
计算机通信概述
计算机间或计算机与外部设备间交换信息,称为计算机通信。
计算机通信方式:1)串行通信;2)并行通信。
并行通信:各位数据都是并行传输的,它以字节(或字)为 单位与I/O设备或被控对象进行数据交换。一般包括8条数据 线,几条控制线和状态线。例如XINTF、并行打印机接口等。 特点:传输速度快;硬件开销大;只适合近距离传输。
13
SCI通信格式
1) 4个SCICLK周期的连续低电平表示有效的起始位; 2) 接收器收到1个起始位后开始接收数据; 3) 每个串行数据位占用8个SCICLK时钟周期; 4) 在随后的各位中进行三次采样(4、5、6)确定该位电平; 5)串口两端的接收/发送器分别使用各自的时钟(异步方式)。
14
通信过程中的接收器信号
RX FIFO_0
SCIRXD
RX FIFO_15
SCI Device #1
SCIRXD
RXSHF
8
SCIRXBUF
RX FIFO_0
RX FIFO_15
SCI Device #2
13.1 SCI接口的特点
串行通信接口(SCI-Serial Communication Interface) F2812包含两个SCI接口,记做SCIA和SCIB SCI是一种异步串行通信接口,即通常所说的UART SCI支持16级接收和发送FIFO,有助于减少CPU的开销 如果不使用FIFO时,SCI接收器和发送器采用两级缓冲方式 SCI可工作于半双工或全双工模式(RS485/422) 两种多处理器通信模式:空闲线与地址位多处理器模式 为保证数据的完整性,SCI模块对接收到的数据可以进行间 断、奇偶、超限和帧错误检测。
1)置RXENA=1(SCICTL1.D0),使能接收器接收数据; 2)数据到达SCIRXD引脚后,检测起始位(SCI自动实现); 3)数据从RXSHF寄存器移位到接收缓冲寄存器(SCIRXBUF),
产生一个中断请求,同时接收器数据准备好标志RXRDY=1; 4)用户程序读取SCIRXBUF寄存器,标志位RXRDY自动清零; 5)数据的下一个字符到达SCIRXD引脚,检测到起始位; 6)RXENA=0,禁止接收数据。继续向RXSHF装载数据,但不送入SCIRXBUF。
串行通信技术分类
2. 同步通信、异步通信(收发双方是否使用同一时 钟)
同步通信:发送器和接收器通常使用同一时钟源来同步。方法 是在发送器发送数据时同时包含了时钟信号,接收器利用该 时钟信号进行接收。 下一章介绍SPI,是一种同步串口。
5
异步通信:收发双方的时钟不是同一个时钟,是由双方各自 的时钟实现数据的发送和接收。但要求双方使用同一标称频 率,允许有一定偏差。 异步通信的同步方法:要正确传输字符,准确读取每一位是 必须用各自的时钟同步的,为克服不同时钟的偏差,每个字 符都有一个起始位进行同步。
FIFO模式下,SCITXBUF将不被使用,发送移位寄存 器TXSHF将直接从FIFO加载需要发送的数据,而且加 载数据的速度可编程。
F2812 SCI 通信模块
TX FIFO_0
TX FIFO_15
SCITXBUF
8
TXSHF
全双工
SCITXD
SCITXD
TX FIFO_0
TX FIFO_15
发送器有一个SCITXBUF空标志(TXRDY=1),接收器有3个中 断标志:
1)接收器数据准备好(RXRDY=1);
2)接收器错误标志位(RX ERROR=1);
3)如果SCIRXD引脚连续保持至少10个低电平,则产生一个间
断条件( BRKDT =1)。
18
SCI的中断(续)
1、发送器中断:
1)置位TX INT ENA(SCICTL2.0);
9
SCI与CPU间的接口
CPU
两个外 部引脚
SCI模块
3.3V TTL 电平
13个控制 寄存器
只能以 16位方 式访问
10
13.2 SCI的数据格式
SCI通信中,带有格式信息的数据字符称作一帧, 数 据格式包括:
一个开始位 1~8个数据位(通常为8位) 一个奇/偶校验位或无奇偶校验位 1~2个停止位 区分地址和数据的附加位(仅地址位模式时存在)
相关文档
最新文档