第14章 串行通信接口SCI

合集下载

串行通信接口SCI

串行通信接口SCI

串行通信分为同步通信和异步通信。

串行通信接口都具有发送引脚TXD和接收引脚RXD,它们是TTL平电。

如果要利用这两个引脚与外界实行异步通信,必须将TTL电平转化为RS-232电平。

SCI是一种全双工异步串行通信接口,主要用于MCU与其他计算机或设备之间的通信,几个独立的MCU也能通过SCI实现串行通信,形成网络。

从编程角度看,先设定好波特率,通信格式,是否校验,是否允许中断等。

接着发送数据时,先检查相应的标志位是否允许发送数据,如果可以,则把数据放入SCI数据寄存器即可,剩下的工作芯片自动完成:将数据从SCI数据寄存器送到发送移位寄存器,硬件驱动将发送移位寄存器里的数据按规定发送到发送引脚TXD,供对方接收。

接收时,数据逐位从接收引脚RXD进入到接收移位寄存器,当收到一个完整字节时,芯片会自动将数据送到SCI数据寄存器,并置相应的标志位,我们就可以根据标志位的情况来读取数据了。

SCIBDH:TNP[1:0]:发送窄脉冲位。

此位的设定与SCI传送的脉冲对应关系如下表:SCIBDL:SBR[12:0]:波特率设定位当IREN=0时,SCI波特率=SCI总线时钟/(16*SBR[12:0])当IREN=1时,SCI波特率=SCI总线时钟/(32*SBR[12:1])SCICR1:控制寄存器1(当AMAP=0时有效)LOOPS:循环模式选择位。

LOOPS=0时,为正常模式。

LOOPS=1时,为自发自收模式,在此模式下,RXD引脚与SCI内部断开,内部发送数据直接作为接收的输入,用于测试。

接收器的输入由RSRC位决定。

SCISWAI:当SCISWAI=0时,SCI可以在等待模式下工作。

当SCISWAI=1时,SCI 不可以在等待模式下工作。

RSRC:当LOOPS=1时,RSRC位决定接收移位寄存器接收数据的来源。

RSRC=1,RXD引脚与SCI模块断开,SCI用TXD引脚来发送及接收。

RSRC=0时,发送器的输出作为接收器的输入。

DSP课件-SCI串行通信接口

DSP课件-SCI串行通信接口
6)TXENA=0,禁止发送数据,SCI继续完成当前字符的发送; 7)第二个字符发送完成后,发送器变空,TXEMPTY=1。
CPU
SCITXBUF
TXSHF
SCITXD
13
SCI的中断
SCI通信过程可以使用中断方式或查询方式控制接收器和发送器的工作; 发送器和接收器有独立的中断使能位(TX INT ENA、RX/BK INT、RX ERR). 当中断被屏蔽时,但标志位仍然有效,可以反映发送和接收状态; 发送器有一个SCITXBUF空标志(TXRDY=1),接收器有3个中断标志:
22
地址位多处理器模式 地址位多处理器协议中,每帧的最后一个数据位后有一个附加的地址位;
数据块的第一帧的地址位设置为1,其余帧的地址位为0; 数据传输与数据块间的空闲周期无关。
ADDR/I多处理器模式
数据块发送:
TXWAKE=1发送地址 TXWAKE=0发送数据
1)接收器数据准备好(RXRDY=1); 2)接收器错误标志位(RX ERROR=1); 3)如果SCIRXD引脚连续保持至少10个低电平,则产生一个间断条件 ( BRKDT =1)。
1、发送器中断:
1)置位TX INT ENA(SCICTL2.0); 2)只要SCITXBUF中数据传送到TXSHF中,就会产生发送器中断; 3)该操作将TXRDY置位(SCICTL2.7),表示CPU可以继续写数据。
1166
中断方式
中断方式:通过中断进行控制SCI的发送和接收数据,必 须使能外设中断、PIE中断和CPU中断。SCIA的发送和接收 中断对应CPU中断的INT9。TXRDY是发送中断标志位,置1 时产生发送中断事件,则响应SCI的发送中断函数。同样, 当接收中断标志位RXRDY置1时,产生接收中断事件,则响 应SCI的接收中断函数。

TMS320x280x串行通讯接口(SCI)手册

TMS320x280x串行通讯接口(SCI)手册

TMS320x280x, 2801x, 2804x Serial Communications Interface (SCI) Reference Guide.pdf串行通讯接口(SCI)两线异步串行接口,即UART。

支持半双工和全双工通讯。

发送或接收完成通过中断驱动或查询状态标志实现。

波特率自适应。

包含两个SCI模块:SCI-A、SCI-B。

Character——Frame中的数据位Frame——起始位+数据位+(地址位)+校验位+停止位Block——若干Frame多处理器通讯:同一时刻只能有一个处理器作为数据发送者占用串行总线。

在Block中包含一个Address字节,接收者通过鉴别该字节判断是否与自己通讯,如果不符,则后续字节不会触发中断。

直至下一Address字节到来(触发中断),方再次判断。

通过置位SLEEP可以实现只有Address字节可触发中断,当中断处理程序判别出符合的Address字节后,需手动复位SLEEP,以允许后续数据字节触发中断。

idle-line多处理器通讯机制以10位或更多位高电平作为idle time。

idle time用以区分Block。

Block内首个Frame是address。

实现步骤:1)idle time唤醒SCI模块;2)处理器将识别下一个SCI中断;3)中断处理程序对收到的address和程序预知的地址进行比较;4)如果比较结果一致,中断服务程序应使SLEEP复位,并且接收剩余的数据Frame;如果不一致,则SLEEP保持置位。

idle time的生成方法:1)制造延时。

2)将TXWAKE置位,再向SCITXBUF写入一个字节,将发送长度为11位的idle time。

address bit多处理器通讯机制每一Frame额外包含一个address位。

Block内首个Frame 的address位为1,其余Frame的address位为0。

实现步骤:1)将TXWAKE置位,向SCITXBUF写入地址字节;2)TXWAKE复位以发送剩余非地址Frame。

DSP课件-SCI串行通信接口

DSP课件-SCI串行通信接口

8255A
打印机插座
CPU
PA0~7
PC7 PC2

DATA0~7
STB BUSY 地
8255A并行打印机接口电路框图
3
串行通信概述
串行通信:通信线上既传输数据信息,也传输联络信息,因 此收发双方就必须要有通信协议。特点是串行传输成本低, 适用于远距离通信,但传输速度低。 串行通信分类:1)同步通信;2)异步通信。
同步通信:发送器和接收器通常使用同一时钟源来同步。方法是在发送器 发送数据时同时包含了时钟信号,接收器利用该时钟信号进行接收。 异步通信:收发双方的时钟不是同一个时钟,是由双方各自的时钟实现数 据的发送和接收。但要求双方使用同一标称频率,允许有一定偏差。 同步方法:要正确传输字符,准确读取每一位是必须用各自的时钟同步的, 为克服不同时钟的偏差,每个字符都有一个起始位进行同步。
发送过程:在FIFO功能使能的情况下,缓冲寄存器SCITXBUF从TX FIFO中获 取要发送的数据,然后将数据传输给发送移位寄存器TXSHF,若SCI的发送功 能使能,将接收到的数据逐位的移到SCITXD引脚上。
8
SCI的数据格式
SCI的数据格式包括: 一个开始位 1~8个数据位(通常为8位) 一个奇/偶校验位或无奇偶校验位 1~2个停止位 区分地址和数据的附加位(仅地址位模式时存在)
CPU SCIRXBUF
每个字符6个数据位
RXSHF
SCIRXD
地址位模式
12
通信过程中的发送器信号 3个数据位
地址位模式
1)TXENA=1(SCICTL1.D1),使能发送器发送数据; 2)程序写数据到SCITXBUF寄存器,此时发送器不为空,TXRDY变低; 3)SCI发送数据到移位寄存器TXSHF后,产生中断请求,同时TXRDY变高; 4)TXRDY变高后,程序写第二个字符到SCITXBUF,随后TXRDY又变低; 5)发送完第一个字符,开始将第二个字符移位到寄存器TXSHF;

串行接口教程串行通讯的概念

串行接口教程串行通讯的概念
RS-232C的接口信号 ---TxD RxD
(2)数据发送与接收线: 发送数据(Transmitted data-TxD)——通过TxD终端将串行数据发送到MODEM,(DTE→DCE)。 接收数据(Received data-RxD)——通过RxD线终端接收从MODEM发来的串行数据,(DCE→DTE)。 (3)地线 有两根线SG、PG——信号地和保护地信号线,无方向。
奇偶校验
奇校验:所有传送的数位(含字符的各数位和校验位)中,“1”的个数为奇数,如: 1 0110,0101 0 0110,0001 偶校验:所有传送的数位(含字符的各数位和校验位)中,“1”的个数为偶数,如: 1 0100,0101 0 0100,0001
1.电气特性
EIA-RS-232C对电器特性、逻辑电平和各种信号线功能都作了规定。 在TxD和RxD上:逻辑1(MARK) =-3V~-15V 逻辑0(SPACE)=+3~+15V 在RTS、CTS、DSR、DTR和DCD等控制线上: 信号有效(接通,ON状态,正电压)=+3V~+15V 信号无效(断开,OFF状态,负电压) = -3V~-15V
TTLRS232转换芯片
连接器的机械特性
串口通信基本接线方法
9针串口(DB9)
25针串口(DB25)
针号
功能说明
缩写
针号
功能说明
缩写
1
数据载波检测
DCD
8
数据载波检测
DCD
2
接收数据
RXD
3
接收数据
RXD
3
发送数据
TXD
2
发送数据
TXD
4
数据终端准备
DTR

SCI

SCI

SCI(serial communication interface)串行通信接口SCI 是一个双线的异步接口,即具有接受和发送两根信号线的异步接口,一般可以看着UART(通用异步接收/发送装置),SCI可以工作在查询和中断的方式实例:设计时使用MAX3232芯片将SCI 设计成串口RS232,那么X2812就可以和其他使用RS232接口的设备进行通信,当然也可设计成其他电平形式的串口,如RS485。

2812具有2个相同的SCI 模块,SCIA,SCIB 。

每个模块都有一个接收器和发送器,发送器和接收器都具有一个16级深度的FIFO 队列。

它们都自己独立的使能位和中断位。

工作模式:一.SCI 模块的特点1. 有两个引脚,发送SCITXD 和接收SCIRXD ,分别对应FPIOF 模块的第4位和第5位。

在编程初始化时,需要将GPIOFMUX 寄存器的第4位和第5位置1,否则这两个引脚就是通用数字I/O 口。

2. 外部晶振通过PLL 模块倍频之后产生了CPU 的系统时钟SYSCLKOUT ,经低速时钟预定标器之后输出低速外设时钟LSPCLK 提供给SCI 模块,要保证SCI 正常运行,系统控制模块必须使能SCI 时钟,只有使能了,LSPCLK 才能供给SCI 。

也就是在系统初始化函数中需要将外设时钟控制寄存器PCLKCR 的SCIAENCLK 位置1.3. SCI 具有4种错误检测标志:极性错误,超时错误,帧错误,间断检测A A ABB B单工,A 只发,B 只接半双工,A,B 都可发,同一时刻只能接收或发送全双工,任何时刻,都可发4.具有双缓冲接收和发送功能,接收缓冲寄存器位SCIRXBUF,发送缓冲寄存器为SCITXBUF。

独立的发送器和接收器使得SCI可以工作于半双工或全双工5.可以产生两个中断:SCIRXINT和SCITXINT,即接收中断和发送中断,SCI模块具有独立的发送中断使能位和接收中断使能位,发送和接收可以通过中断方式实现,也可以查询中断方式是实现6.在多处理器模式下,SCI模块具有两种唤醒方式:空闲线方式和地址位方式。

串口通信(SCI)

串口通信(SCI)

串口通信(SCI)名词解释:IR: InfraRed(红外)LSB: Least Significant Bit (最低有效位)MSB: Most Significant Bit(最高有效位)特征:八个中断标志位:(1)、传送区为空(2)、传送完成(3)、接收区已满(4)、空闲接收输入(5)、接收器超出(6)、噪音错误(7)、架构错误(8)、奇偶校验错误(9)、接收唤醒(10)、发送冲突(11)、SCI寄存器:注意:SCIBDH、SCIBDL、SCICR1这3个寄存器只能在SCISR2的AMAP=0时才能进入而SCIASR1、SCIACR1、SCIACR2这3个寄存器则只能在SCISR 的AMAP=1时才能进入1、SCI Baud Rate Registers (SCIBDH, SCIBDL)在AMAP=0的时候可写在AMAP=0的情况下,如果只有SCIBDH被写入,读取SCIBDH 不会返回当前值,直到SCIBDL也被写入(在写入SCIBDH之后) 注意:这两个寄存器只有在AMAP=0的情况下才能在memory map下可见IREN:0红外调制/解调不使能;1红外调制解调使能TNP[1:0]:此位控制是否使能narrow pluse(不知道是什么)SBR[12:0]:SCI 波特率设置位。

当IREN=0时,SCI baud rate = SCI bus clock / (16 x SBR[12:0])当IREN= 1时,SCI baud rate = SCI bus clock / (32 x SBR[12:1])注意:波特率发生器在reset之后被禁止且直至TE、RE位被置一。

而且,波特率发生器在(SBR[12:0]=0和IREN=0)||(SBR[12:0]=0和IREN=1)的情况下被禁止。

注意:只写入SCIBDH不写入SCIBDL是无效的,因为在未写入SCIBDL之前写入SCIBDH,会将SCIBDH的值放入一个短暂储存的空间。

串行通信接口模块(SCI)概要

串行通信接口模块(SCI)概要
中的剩余的数据;否则,SLEEP位依旧置位,直 到下一个地址块开始才接收并产生中断。
电气工程学院
Electrical Engineering Institute of NEDU
2020年1月29日星期三
12.2.2 SCI的多处理器通信
1.空闲线多处理器模式(ADDR/IDLE MODE=0)
数据块被块间的时间间隔分开,该时间间隔 比块中的数据帧之间的时间间隔要长,一帧后的 空闲时间(10个或更多个高电平位)表明了一个 新块的开始。如下页图所示:
Electrical Engineering Institute of NEDU
TXD RXD
从机n
2020年1月29日星期三
12.2.1串行通信接口可编程的数据格式 串行通信接口的NRZ数据格式包括:
一个起始位; 1~8个数据位; 一个奇/偶校验位 或 无奇/偶校验位; 1~2个停止位; 一个用于区分数据和地址的额外位。
BRR=24000000/(9600*8)–1=311.5
取138H 所以波特率选择寄存器设置为 SCIHBUAD=01H,SCILBAUD=38H
电气工程学院
Electrical Engineering Institute of NEDU
2020年1月29日星期三
12.3串行通信接口控制寄存器
第十二章 串行通信接口模块(SCI) Serial Communication Interface
电气工程学院
Electrical Engineering Institute of NEDU
2020年1月29日星期三
12.1串行通信接口概述
SCI模块支持异步通信;
SCI接收器和发送器是双缓冲的,各自有独立 的使能位和中断标志位。可以独立工作,或全 双工方式工作;

串行口SCI

串行口SCI
Page 1
串行通信接口SCI 串行通信接口
SCI同步方式: 同步方式: 同步方式 以数据格式以及发收双方时钟相同设置进行同步。 以数据格式以及发收双方时钟相同设置进行同步。 主从机具有相同时钟周期(波特率) 主从机具有相同时钟周期(波特率)在特定数据格式下收发 数据可以同步(起始位 数据位 校验位+停止位 空闲位) 数据位+校验位 停止位+空闲位 数据可以同步(起始位+数据位 校验位 停止位 空闲位) SCI异步通信可使用半双工或全双工模式通信。在这种 异步通信可使用半双工或全双工模式通信。 异步通信可使用半双工或全双工模式通信 模式下,一个帧包括 个起始位 个起始位、 个数据位 个数据位、 个 模式下,一个帧包括1个起始位、1-8个数据位、1个 可选的奇偶校验位以及1-2个停止位。每个数据占 可选的奇偶校验位以及 个停止位。每个数据占8 个停止位 个SCICLK周期。 周期。 周期
Page 15
识别地址
处理器根据多处理器的模式来识别一个地址字节,例如: 处理器根据多处理器的模式来识别一个地址字节,例如: • 空闲线模式在地址字节前留有一段静空间。数据块之间 空闲线模式在地址字节前留有一段静空间。 个或10个以上连续空闲位 是10个或 个以上连续空闲位,同一帧数据字符间空闲 个或 个以上连续空闲位, 位应小于10个 该模式没有一个附加的地址/数据位, 位应小于 个。该模式没有一个附加的地址/数据位,在 处理包含多于10个字节的数据块的情况下,其效率比地址 处理包含多于 个字节的数据块的情况下, 个字节的数据块的情况下 位模式更高。 位模式更高。 • 地址位模式为每个字节增加一个附加位 地址位 来 地址位模式为每个字节增加一个附加位(地址位 地址位)来 从数据中识别地址。该模式在处理多个小数据块时 从数据中识别地址。 更有效。 更有效。

串行通信接口SCI与串行外设接口SPI

串行通信接口SCI与串行外设接口SPI

MC68HC908GP32
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
0.1μ +5V
PLL滤波 10K 0.47μ 0.01μ
复位电3;5V
232电平
OUT IN
0.1μ +5V
TTL电平
OUT IN
10K
移位寄存器
SPI全双工主-从连接
8.5.2 SPI的寄存器
MC68HC908GP32的SPI模块有3个寄存器,它们对应的存储器 地址为$0010~$0012 。
(1)SPI数据寄存器(SPI Data Register,SPDR)
SPDR的地址是$0012。写入时,为要发送的8位数据,记为: T7~T0;读出时,为接收的8位数据,记为:R7~R0。它们的特点 与SCI数据寄存器相似。在实际内部结构上,SPDR由两个独立的数 据寄存器组成,即只能写入的发送数据寄存器和只能读出的接收数据 寄存器,它们共用一个地址。
STA SCC1
;设置允许SCI,正常码输出、8位数据、无校验
第三步:写控制字到SCI控制寄存器2(SCC2)。
LDA #%00001100
STA SCC2
;设置允许发送、允许接收,查询方式收发
(2)发送一个数据与接收一个数据
发送数据是通过判断状态寄存器SCS1的第7位(SCTE)进行 的,而接收数据是通过判断状态寄存器SCS1的第5位(SCRF)进
BRCLR 5,SCS1,* ;SCS1.5=0? 为0则等待
LDA SCDR
;SCS1.5=1,可以取出数据
返回
8.4 串行通信编程实例
8.4.1 08汇编语言串行通信子程序

串行通信接口(SCI)

串行通信接口(SCI)

SCI的特性: (1)两个I/O引脚:SCIRXD与SCITXD (2)一个16位的波特率选择寄存器可编程,可得到
65536种的不同速率。
(3)1~8位的可编程数据位。 (4)长度为1位或2位的可编程停止位。 (5)内部产生的串行时钟。 (6)四个错误的检测标志:
奇偶性错误、超限错误、帧错误、间断检测 (7)两种唤醒多处理器模式:
}
void main(void)
{ SCSR1=81FE; WDCR=0x6f; Sci_init();
//系统初始化,40MHz //关闭WD //SCI初始化
while (1)
{
while((SCIRXST&0x40) != 1) {;}//RXRDY=1表示接收到 数据
RecieveChar=SCIRXBUF; SCITXBUF = RecieveChar;
SCICTRL1 SCI控制寄存器1
SCIHBAUD 波特率选择寄存器高8位
SCILBAUD 波特率选择寄存器低8位
SCICTRL2 SCI控制寄存器2
SCIRXST SCI接收器状态寄存器
SCIRXEMU SCI仿真数据缓冲寄存器
SCIRXBUF SCI接收器数据缓冲寄存器
SCITXBUF SCI发送数据缓冲寄存器
5. 空闲线多处理器模式
• 数据块与数据块之间通过较长的空闲时间分开,而且这个 空闲时间比数据块内部帧与帧之间的空闲时间长得多。
• 空闲线协议通过在某一帧之后使用10位或更多的空闲时间 来指示一个新数据块的开始。
空闲线多处理器模式的数据格式
6. 地址位多处理器模式
• 帧信息的最后一个数据位后紧跟着一个称之为地址位 的附加位。
SCI优先级控制寄存器(SCIPRI)

串行通信接口模块(SCI).

串行通信接口模块(SCI).
电气工程学院
Electrical Engineering Institute of NEDU
3. 4.
5.
2018年7月31日星期二
12.1串行通信接口概述 全双工模式下SCI的主要部件
1.
2. 3. 4.
一个发送器(TX)及和它相关的主要寄存器; 一个接收器(RX)及和它相关的主要寄存器; 一个可编程的波特率发生器; 控制和状态寄存器。
电气工程学院
Electrical Engineering Institute of NEDU
2018年7月31日星期二
12.2.2 SCI的多处理器通信
地址字节的识别 空闲线模式在地址字节前留有一定长度的 空闲空间, 这种模式对于大数据块传输更有效。 地址位模式在每帧中加入额外地址/数据位, 这种模式对于小数据块传输更有效。
第十二章 串行通信接口模块(SCI) Serial Communication Interface
电气工程学院
Electrical Engineering Institute of NEDU
2018年7月31日星期二
12.1串行通信接口概述

SCI模块支持异步通信; SCI接收器和发送器是双缓冲的,各自有独立 的使能位和中断标志位。可以独立工作,或全 双工方式工作; SCI对接收到的数据进行间断检测,奇偶校验, 越限和帧出错的检查; 数据传输速度可编程为65535种方式;
电气工程学院
Electrical Engineering Institute of NEDU

2018年7月31日星期二
12.2.2 SCI的多处理器通信
空闲线模式下有两种方法可传送块的开始信号
1.
在前一块的最后一帧的数据传送与新块的地址 帧传送之间留出10位或更多位的空闲时间。 首 先 将 发 送 唤 醒 位 TXWAKE 置 1 , 然 后 再 向 SCITXBUF 写入任意一个数据,这样可以在数 据线上产生11位的空闲时间。

dsp-串行通信接口sci

dsp-串行通信接口sci

SCI:DSP和计算机之间进行数据传输查询和中断的方式来实现sci接收和发送数据两个Sci模块(16级深度的FIFO队列)单工、半双工、全双工SCITXD 发送引脚SCIRXD 接收引脚其为复用引脚,分别对应GPIOF模块的第四位和第五位,编程时需把GPIOFMUX 模块第四位和第五位置1,否则这两个引脚就是通用的数字I/O口。

SCI模块具有四种错误检测标识,分别为极性错误,超时错误,帧错误,间断检测。

接收中断,发送中断Sci的寄存器是8位的__SHF 移位寄存器每次移入一位__BUF 缓冲寄存器SCITXBUF→TXSHF→SCITXDSCIRXBUF存放cpu要读的数据,从其他处理器传过来的数据逐位移入寄存器RXSHF 装满时→RXSHF 从SCIRXD移入数据一个可编程的波特率发生器发送和接收数据的原理Scictl1的位RXENA为1即使能了SCI的接收操作如果使能了sci的FIFO功能,则RXSHF会将数据直接加载到接收队列中,CPU再从队列读取,这时简化了CPU的开销,提高了效率。

FIFO模式下,直接从从指令中进行操作。

NRZ(反向不归零制)指数字数据传输的一种形式,用数字0和1表示二进位的低和高状态通过特特殊的和持续的直流(DC)电压传输。

在正逻辑NRZ 中,低位状态用更大的负的或更小的正的电压表示,高位状态用较小的负的或较大的正的电压表示。

例子如下:逻辑0=+0.5 伏特逻辑1=+5.0 伏特逻辑0=-3.0 伏特逻辑1=0.0 伏特在负逻辑NRZ 中,低位状态用更大正的或更小的负的电压表示,高位状态用较小的正的或较大的负的电压表示。

例子如下:逻辑0=+5.0 伏特逻辑1=+0.5 伏特逻辑0=0.0 伏特逻辑1=-3.0 伏特当逻辑状态之一可能被零电压表示的时候,一些人对这个模型的名字前面为什么要加上"非" 感到奇怪。

和归零制的定义比较之后答案就变得很明显。

也可参看双极发信号,单极发信号,和RZ。

异步接收器传输总线(UART)、串行通信接口(SCI)和通用串行总线

异步接收器传输总线(UART)、串行通信接口(SCI)和通用串行总线

异步接收器传输总线(UART)、串行通信接口(SCI)和通用串行总线异步接收器传输总线(UART)、串行通信接口(SCI)和通用串行总线(USB)等,这些总线在速度、物理接口要求和通信方法学上都有所不同。

本文详细介绍了嵌入式系统设计的串行总线、驱动器和物理接口的特性,并为总线最优选择提供性能比较和选择建议。

由于在消费类电子产品、计算机外设、汽车和工业应用中增加了嵌入式功能,对低成本、高速和高可靠通信介质的要求也不断增长以满足这些应用,其结果是越来越多的处理器和控制器用不同类型的总线集成在一起,实现与PC软件、开发系统(如仿真器)或网络中的其它设备进行通信。

目前流行的通信一般采用串行或并行模式,而串行模式应用更广泛。

微处理器中常用的集成串行总线是通用异步接收器传输总线、串行通信接口、同步外设接口(SPI)、内部集成电路(I2C)和通用串行总线,以及车用串行总线,包括控制器区域网(CAN)和本地互连网(LIN)。

这些总线在速度、物理接口要求和通信方法学上都有所不同。

本文将对嵌入式系统设计的串行总线、驱动器和物理接口这些要求提供一个总体介绍,为选择最优总线提供指导并给出一个比较图表(表1)。

为了说明方便起见,本文的阐述是基于微处理器的设计。

串行与并行相比串行相比于并行的主要优点是要求的线数较少。

例如,用在汽车工业中的LIN串行总线只需要一根线来与从属器件进行通信,Dallas公司的1-Wire总线只使用一根线来输送信号和电源。

较少的线意味着所需要的控制器引脚较少。

集成在一个微控制器中的并行总线一般需要8条或更多的线,线数的多少取决于设计中地址和数据的宽度,所以集成一个并行总线的芯片至少需要8个引脚来与外部器件接口,这增加了芯片的总体尺寸。

相反地,使用串行总线可以将同样的芯片集成在一个较小的封装中。

另外,在PCB板设计中并行总线需要更多的线来与其它外设接口,使PCB 板面积更大、更复杂,从而增加了硬件成本。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

空闲线模式下SCI一帧的数据格式
SCI的数据帧包括: 1个起始位、1~8个数据位、1个可选的奇偶校验位和1或2个停止位。
SCI异步通信格式
SCI通信的波特率


波特率就是指设备每秒所能发送的二进制数据 的位数。 X281X的每个SCI模块都具有2个8位的波特率 寄存器,SCIHBAUD和SCILBAUD,通过编程, 可以实现达到64K种不同的速率。
TXFFIL
TXFFIENA
1
TXINT
SCI多处理器通信模式

多处理器通信,顾名思义,就是多个处理器之间进行数据通信。 一个简单的多处理器通信拓扑示意图如下图所示。在图中,处理 器A、B、C、D之间都可以实现通信,图中的实线表示处理器A和 处理器B、C、D之间的通信。在同一个时刻,处理器A只能和处理 器B、C、D之中的一个实现数据传输。当处理器A给处理器B、C、 D中的某一个处理器发送数据时,A-B、A-C、A-D这3条通路上都 会出现相同的数据,那如何来确保这些数据被正确的处理器接收 呢?
地址位多处理器通信模式
空闲线多处理通信模式
串行通信的三种方式

根据数据的传送方向,串行通信可以分 为单工、半双工和全双工三种
SCI模块的特点
SCI模块信号总结
信号分类 信号名称 说明 SCIRXD SCI异步串口接收数据
外部信号 SCITXD
SCI异步串口发送数据
LSPCLK 控制信号
低速外设预定标时钟
RXINT
SCI接收中断
中断信号 TXINT
SCI发送中断
SCI模块的工作原理
1.1个发送器及其相关寄存器 SCITXBUF:发送数据缓冲寄存器,存放由CPU装载的需要发送的数据; TXSHF:发送移位寄存器,从SCITXBUF寄存器接收数据,然后将数据逐位逐位 移到SCITXD引脚上,每次移1位数据。 2.1个接收器及其相关寄存器 RXSHF:接收移位寄存器,从SCIRXD引脚移入数据,每次移1位数据。 SCIRXBUF:接收数据缓冲寄存器,存放CPU要读取的数据。从其他处理器传输 过来的数据逐位逐位的移入寄存器RXSHF,当装满RXSHF的时候,将数据装入 接收数据缓冲寄存器SXIRXBUF和接收仿真缓冲寄存器SCIRXEMU中。
2400
1952
0x7A
0
2400
0
4800
976
0x3D
0
4798-0.049600487
0x01
0xE7
9606
-0.06
19200
243
0
0xF3
19211
0.06
38400
121
0
0x79
38422
0.06
SCI模块的中断
SCI模块的中断
工作模式 SCI中断源 中断标志位 中断使能位 SCIFFENA 中断线 接收完成 RXRDY RX/BKINTENA 0 RXINT
1 BRR 65535 时的情况,
当BRR=0时,SCI模块通信的波特率为:
SCI Asynchronous Baud
LSPCLK 16
LSPCLK=37.5MHz时,SCI常见波特率所对应的波特率寄存器的值
BRR(十进制) 误差(%)
理想波特率
SCIHBAUD
SCILBAUD
精确波特率
SCI通信的波特率
SCI模块通信波特率与波特率选择寄存器之间的关系如下所示:
BRR
LSPCLK 1 SCI Asynchronous Baud*8
其中,BRR为SCI波特率选择寄存器中的值,从十进制转换成16进制后, 其高8位赋值给SCIHBAUD,低8位赋值给SCILBAUD。
需要提醒的是,上式所示的波特率公式仅仅适用于
3.1个可编程的波特率发生器。
4. 数据存储器映射的控制和状态寄存器。
SCI模块的工作原理
SCI通信的数据格式

X281X的SCI模块使用的是NRZ数据格式, 其包括了: (1)1个起始位; (2)1~8个数据位; (3)1个奇/偶/非极性位; (4)1~2个结束位; (5)在多处理器通信时的地址位模式下, 有1个用于区别数据或者地址的特殊位。
接收错误 标准SCI模式
RXERR
RXERRINTENA
0
RXINT
接收间断
BRKDT
RX/BKINTENA
0
RXINT
发送完成
TXRDY
TXINTENA
0
TXINT
接收错误和接收间断
RXERR
RXERRINTENA
1
RXINT
FIFO模式
FIFO接收中断
RXFFIL
RXFFIENA
1
RXINT
FIFO发送中断
第14章 串行通信接口SCI
14.1 串行通信接口SCI



SCI是Serial Communication Interface的 简称,即串行通信接口。 SCI是一个双线的异步串口,换句话说, 是具有接收和发送两根信号线的异步串 口,一般可以看作是UART(通用异步接 收/发送装置)。 X281X的内部具有两个相同的SCI模块, SCIA和SCIB。
相关文档
最新文档