5)SCI串行通信接口
- 格式:ppt
- 大小:981.50 KB
- 文档页数:38
串行通信分为同步通信和异步通信。
串行通信接口都具有发送引脚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时,发送器的输出作为接收器的输入。
sci串口通信原理SCI(Serial Communication Interface,串行通信接口)是一种广泛应用于嵌入式系统和电子设备中的串行通信协议。
SCI通常指的是UART(Universal Asynchronous Receiver/Transmitter,通用异步收发传输器)的一种实现方式。
在SCI通信原理中,数据以串行的方式通过一根或多根信号线进行发送和接收。
基本的通信参数包括波特率(bits per second, bps)、数据位数、停止位数和校验类型等。
1. 波特率:指每秒钟传输的比特数,是通信双方必须同步的一个重要参数。
2. 数据格式:1)数据位数(Data Bits):通常为5、6、7或8位。
2)停止位(Stop Bits):通常为1或2位,用于表示一个字符数据包的结束。
3)校验位(Parity Bit):奇偶校验,可选无校验、奇校验或偶校验,用于检测数据传输过程中可能出现的错误。
3. 通信过程:1)发送端将并行数据转换为串行数据,并按照设定的波特率和格式输出。
2)接收端则按照相同的参数设置解码接收到的串行数据,还原成并行数据。
4. 控制信号:1)RTS (Request to Send) 和CTS (Clear to Send) 用于硬件握手,确保双方都准备好进行通信。
2)DTR (Data Terminal Ready) 和DSR (Data Set Ready) 另一对硬件握手信号,用于设备之间表明就绪状态。
3)TXD (Transmit Data) 是发送数据的信号线,RXD (Receive Data) 是接收数据的信号线。
4)其他可能还包括中断请求线(如IRQ)等。
在嵌入式系统中,例如使用TMS320F28xx系列DSP芯片时,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串行通信一.实验目的1.了解串行通讯的基本原理;2. 掌握SCI接口通信的工作原理和典型编程方法。
二.实验设备1.PC机一台,操作系统为WindowsXP (或Windows98、Windows2000),安装了ccs3.1;2.TI 2000系列的TMS320F2812 eZdsp开发板一块;3.扩展实验箱一台。
三.实验原理1.串行通信接口(SCI)是采用双线制通信的异步串行通信接口(UART)。
SCI模块采用标准非归零(NRZ)数据格式,能够实现多CPU之间或同其他具有兼容数据格式SCI端口的外设进行数据通信。
SCI的接收器和发送器都支持16级接受和发送FIFO,有着各自独立的中断和使能位,可以独立地操作实现半双工通信,或者同时操作实现全双工通信。
为保证数据完整,SCI模块对接受的数据进行间断、极性、超限和帧错误的检测。
为减少软件的负担,SCI采用硬件对通信数据进行极性和数据格式检测。
通过对16位的波特率控制寄存器进行编程,配置不同的SCI通信速率。
SCI与CPU的的接口结构如图5.1。
图5.1 SCI与CPU接口结构图2.SCI接口特点:2个外部引脚:SCITXD为SCI数据发送引脚;SCIRXD为SCI数据接收引脚。
两个引脚为多功能复用引脚,如果不使用可以作为通用数字量I/O。
●可编程通信速率,可以设置64K种通信速率。
●数据格式:1个启动位;1-8个可编程数据字长度;可选择奇校验、偶校验或无校验位模式;1或2位的停止位。
●4种错误检测标志位:奇偶错误、超时错误、帧错误和间断错误。
●2种唤醒多处理器方式:空闲线唤醒(Idle-line)和地址位唤醒(Address Bit)。
●全双工或半双工通信模式。
●双缓冲接收和发送功能。
●发送和接收可以采用中断和状态查询2种方式。
图5.2 SCI通信模块接口框图●独立的发送和接收中断使能控制。
●NRZ(非归零)通信格式。
●13个SCI模块控制寄存器,起始地址为7050H。
sci串口通信原理-回复SCI(串行通信接口)是一种常见的串口通信协议,被广泛应用于各种电子设备中。
在本文中,我们将一步一步回答关于SCI串口通信原理的问题,包括它的工作原理、常见的应用场景以及一些技术细节。
首先,让我们来了解SCI串口通信的工作原理。
SCI是一种串行通信接口,它通过使用单一的线路来传输数据。
这条线路被分为两个方向,一个用于传输数据(TX),一个用于接收数据(RX)。
通过在这两个方向上的电位变化,可以实现数据的传输。
SCI串口通信一般使用异步传输模式,即数据按照一个位一个位地传输,每个位之间使用起始位和停止位进行分隔。
在SCI串口通信中,每个数据位通常是8位或9位。
其中,8个数据位中的7个用于传输数据的真正内容,而最高位为校验位。
校验位有助于检测数据传输错误,提高数据传输的可靠性。
在接收端,接收器会比对接收到的校验位和传输过程中计算得到的校验位,以检测并纠正任何可能的错误。
除了数据位外,SCI串口通信还使用两个控制信号:RTS(请求发送)和CTS(清除发送)。
RTS信号由发送端控制,用于请求发送数据。
而CTS 信号由接收端控制,用于指示接收端是否准备好接收数据。
这两个控制信号的使用可以有效地控制数据的传输速率,避免数据传输丢失或溢出的情况发生。
SCI串口通信可以应用于多种场景中。
例如,它常用于个人电脑与其他外部设备之间的通信,如打印机、调制解调器、数码相机等。
此外,它还可以用于嵌入式系统中,如工业自动化、机器人控制、仪器仪表等。
由于SCI串口通信具有简单、可靠、成本低廉等特点,因此在各种场景下都有广泛的应用。
在SCI串口通信中,还有一些技术细节需要考虑。
首先是波特率的选择,波特率表示数据传输速度,常用的波特率有9600、19200、38400等。
选择合适的波特率能够平衡数据传输速度和系统资源的利用率。
其次是数据格式的设置,包括数据位数、校验位和停止位。
不同的应用场景可能需要不同的数据格式设置,需要根据具体需求进行调整。
sci串行通信接口工作原理
SCI(Serial Communication Interface)是一种串行通信接口,用于在数字系统中进行串行数据传输。
SCI通常包括发送和接收端,通过串行方式传递数据,它在嵌入式系统和通信领域中被广泛使用。
以下是SCI串行通信接口的基本工作原理:
1.帧结构:SCI通信以帧为单位,每一帧包含了一定数量的比特,通常包括起始位、数据位、奇偶校验位(可选)、停止位等。
这种帧结构有助于接收端正确解析和识别数据。
2.波特率设置:波特率是SCI通信的速率,表示每秒传输的比特数。
在SCI通信中,发送端和接收端必须配置相同的波特率,以确保数据的正确传输。
3.起始位和停止位:为了使接收端能够准确识别帧的起始和结束,通常在每帧的开始设置一个起始位,结束时设置一个或多个停止位。
4.数据传输:数据以二进制形式传输,由发送端按照事先定义好的帧结构进行发送。
接收端在正确配置的情况下,能够识别并解析这些帧,将二进制数据还原为原始数据。
5.同步机制:为确保数据的同步传输,通常在帧的开始设置一个起始位,作为同步信号,帮助接收端正确解析后续的数据。
6.协议选择:在SCI通信中,数据的传输可以使用不同的协议,例如异步传输和同步传输。
异步通信不需要与时钟同步,而同步通信则需要与外部时钟同步。
总体而言,SCI串行通信接口通过在帧中使用起始位、数据位、停止位等结构,按照事先定义好的协议传输数据。
这种方式具有灵活性和可靠性,适用于许多嵌入式系统和通信场景。