第7章-SCI串行通信接口0320课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第7章-SCI串行通信接口0320课件.pptx》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SCI 串行 通信 接口 0320 课件
- 资源描述:
-
1、1串行通信接口SCI7.2 SCI7.2 SCI模块功能模块功能7.3 SCI7.3 SCI工作原理工作原理7.4 SCI7.4 SCI寄存器寄存器7.1 SCI7.1 SCI模块特点模块特点7.5 SCI7.5 SCI波特率计算波特率计算7.6 SCI7.6 SCI发送数据和接收数据机制发送数据和接收数据机制7.7 SCI7.7 SCI多处理器通信多处理器通信7.8 SCI7.8 SCI发送与接收数据应用实例发送与接收数据应用实例27.1 SCI模块特点u 串行通信接口(串行通信接口(SCISerial Communication Interface)u F2812F2812包含包含两个两个
2、SCISCI接口,记做接口,记做SCIASCIA和和SCIBSCIBu SCI SCI是一种是一种异步异步串行通信接口,即通常所说的串行通信接口,即通常所说的UARTUARTu SCI SCI可工作于可工作于半双工半双工或或全双工全双工模式(模式(RS-485RS-485/RS-422/RS-422)3SCI通信接口的主要特征通信接口的主要特征:(1)包含两个外部引脚)包含两个外部引脚SCITXD为为SCI发送输出引脚,发送输出引脚,SCIRXD为为SCI接收输接收输入引脚。两个引脚为多功能复用引脚,如果不使用入引脚。两个引脚为多功能复用引脚,如果不使用SCI,这两个引脚可以用作通用数字输入输
3、出这两个引脚可以用作通用数字输入输出GPIO。(2)波特率可以编程达到不同速率。通过使用)波特率可以编程达到不同速率。通过使用16位的位的波特率选择寄存器能够设置不同的波特率。波特率选择寄存器能够设置不同的波特率。7.1 SCI模块特点4(3)数据格式是)数据格式是1个起始位。可编程个起始位。可编程18位的数据字位的数据字长度,可选择的长度,可选择的奇奇/偶校验位偶校验位模式或无校验位,模式或无校验位,1个或个或2个停止位。个停止位。(4)为保证数据的完整性,)为保证数据的完整性,SCI模块对接收到的数据模块对接收到的数据可以进行可以进行间断、奇偶、超时和帧错误检测间断、奇偶、超时和帧错误检测
4、。有四个错。有四个错误检测标志位:即奇偶错误、超时错误、帧错误或间误检测标志位:即奇偶错误、超时错误、帧错误或间断检测。断检测。(5)多处理器通信具有两种模式:)多处理器通信具有两种模式:空闲线模式和地址空闲线模式和地址位模式。位模式。7.1 SCI模块特点57.1 SCI模块特点(6)具有全双工和半双工通信。)具有全双工和半双工通信。(7)具有双缓冲接收和发送功能。接收数据缓)具有双缓冲接收和发送功能。接收数据缓冲寄存器为冲寄存器为SCIRXBUF,发送数据缓冲寄存器,发送数据缓冲寄存器为为SCITXBUF。(8)发送和接收可以采用)发送和接收可以采用中断和查询中断和查询两种方式两种方式实现
5、。实现。(9)有)有独立独立的发送和中断使能控制位。的发送和中断使能控制位。6(10)使用标准非归)使用标准非归0 NRZ(standard non-return-to-zero)数据格式进行通信。由于)数据格式进行通信。由于RS232是负逻辑,是负逻辑,没有没有0电平。所以是非归电平。所以是非归0 NRZ。(11)SCI-A模块具有模块具有13个控制寄存器。个控制寄存器。增强功能:增强功能:(1)具有自动波特率检测硬件逻辑。)具有自动波特率检测硬件逻辑。(2)接收器和发送器各具有一个)接收器和发送器各具有一个16级深度的级深度的FIFO。7.1 SCI模块特点7SCI与CPU的接口897.2
6、 SCI模块功能图图7-2中中SCI模块可以工作在全双工模式,主要部件有:模块可以工作在全双工模式,主要部件有:(1)发送器和它的主要寄存器(图中上半部)发送器和它的主要寄存器(图中上半部)nSCITXBUF是发送数据缓冲寄存器。是发送数据缓冲寄存器。n包括由包括由CPU加载的、要发送出去的数据。加载的、要发送出去的数据。nTXSHF寄存器是发送移位寄存器。寄存器是发送移位寄存器。n接收来自发送数据缓冲寄存器接收来自发送数据缓冲寄存器SCITXBUF的数据,并的数据,并逐位将数据移到逐位将数据移到SCI发送引脚发送引脚SCITXD。10(2)接收器和它的主要寄存器(图中下半部)接收器和它的主要
7、寄存器(图中下半部)nRXSHF寄存器是接收移位寄存器。逐位接收来自寄存器是接收移位寄存器。逐位接收来自SCI接收接收引脚引脚SCIRXD的数据并移入。的数据并移入。nSCIRXBUF是接收数据缓冲寄存器。是接收数据缓冲寄存器。n包含包含CPU要读的数据。来自远端处理器的数据加载到接收要读的数据。来自远端处理器的数据加载到接收移位寄存器移位寄存器RXSHF中,然后进入接收数据缓冲寄存器中,然后进入接收数据缓冲寄存器SCIRXBUF中。中。(3)可编程的波特率发生器。)可编程的波特率发生器。(4)数据存储器映射的控制和状态寄存器。)数据存储器映射的控制和状态寄存器。(5)SCI发送器和接收器可以
8、独立工作,也可以同时工作。发送器和接收器可以独立工作,也可以同时工作。SCI-A 寄存器寄存器AddressRegisterName0 x007050SCICCRSCI-A 通信控制寄存器0 x007051SCICTL1SCI-A 控制寄存器10 x007052SCIHBAUDSCI-A 波特率寄存器,高位0 x007053SCILBAUDSCI-A 波特率寄存器,低位0 x007054SCICTL2SCI-A 控制寄存器20 x007055SCIRXSTSCI-A 接收状态寄存器0 x007056SCIRXEMUSCI-A 接收仿真数据寄存器0 x007057SCIRXBUFSCI-A 接收
9、数据寄存器0 x007059SCITXBUFSCI-A 发送数据寄存器0 x00705ASCIFFTXSCI-A FIFO 发送寄存器0 x00705BSCIFFRXSCI-A FIFO 接收寄存器0 x00705CSCIFFCTSCI-A FIFO 控制寄存器0 x00705FSCIPRISCI-A 优先级控制寄存器12SCI-A寄存器7.3 SCI 工作原理工作原理SCITXBUFTXSHFSCI Device#1SCIRXDSCITXDSCITXDSCIRXDSCI Device#28SCIRXBUFRXSHF8SCITXBUFTXSHF8SCIRXBUFRXSHF8全双工全双工RX F
10、IFO_0RX FIFO_15RX FIFO_0RX FIFO_15TX FIFO_0TX FIFO_15TX FIFO_0TX FIFO_1514SCI模块发送和接收数据的工作原理模块发送和接收数据的工作原理SCI的工作原理的工作原理nSCI可以工作可以工作于全双工模式于全双工模式,因为,因为它有独立的数据发送器它有独立的数据发送器和数据接收器和数据接收器,能够,能够保证保证SCI既能够同时进行,也能够独既能够同时进行,也能够独立进行发送和接收的操作。立进行发送和接收的操作。n SCI发送数据的过程发送数据的过程:n在在FIFO功能使能的情况下,首先,发送数据缓冲寄存器功能使能的情况下,首先
11、,发送数据缓冲寄存器SCITXBUF获取获取由由CPU加载的需要发送的数据,然后加载的需要发送的数据,然后SCITXBUF将数据传输给发送移位寄存器将数据传输给发送移位寄存器TXSHF,如果,如果SCI的发送功能使能,的发送功能使能,TXSHF将将接收到的数据逐位逐接收到的数据逐位逐位地位地移移到到SCITXD引脚上。引脚上。15SCI的工作原理的工作原理nSCI接收数据的过程接收数据的过程:n接收接收移位寄存器移位寄存器RXSHF逐位逐逐位逐位地接收位地接收来自于来自于SCIRXD引脚的数据,如果引脚的数据,如果SCI的接收功能使能,的接收功能使能,RXSHF将这些数据传输给接收缓冲寄存器将
12、这些数据传输给接收缓冲寄存器SCIRXBUF,CPU就能从就能从SCIRXBUF读取外部发送来的数据。读取外部发送来的数据。n如果如果FIFO功能使功能使能,能,SCIRXBUF将将数据加载到数据加载到RX FIFO的队列中,的队列中,CPU再从再从FIFO的的队列中读取队列中读取数据。数据。16177.3.2 数据接收与发送过程数据接收与发送过程数据接收数据接收数据发送数据发送SCIRXDRXSHFSCIRXBUFCPUSCITXDTXSHFSCITXBUFCPU18一数据接收过程一数据接收过程7.3.2 数据接收与发送过程数据接收与发送过程191执行指令使能执行指令使能SCI数据接收,置接
13、收器使能位数据接收,置接收器使能位RXENA1(SCICTL1.0)。)。SciaRegs.SCICTL1.bit.RXENA=1,即即RXENA(SCICTL1.0)变为高,使能接收器接收数据。)变为高,使能接收器接收数据。SCICTL1.0是是SCI控制寄存器控制寄存器SCICTL1的的D0位。位。2数据到达数据到达SCI接收数据引脚接收数据引脚SCIRXD后,检测起始位。后,检测起始位。7.3.2 数据接收与发送过程数据接收与发送过程207.3.2 数据接收与发送过程数据接收与发送过程3数据从接收移位寄存器数据从接收移位寄存器RXSHF中移位到接收数据缓冲中移位到接收数据缓冲寄存器寄存器
14、SCIRXBUF时,产生一个中断申请。时,产生一个中断申请。n接收器准备好标志位接收器准备好标志位RXRDY(SCIRXST.6)从)从0变为变为1。表明已经接收到一个新的字符。表明已经接收到一个新的字符。n此时如果接收缓冲寄存器中断使能,即此时如果接收缓冲寄存器中断使能,即RX/BK INT ENA(SCICTL2.1)已经置)已经置1,则产生一个接收中断,则产生一个接收中断RXINT请求。请求。4CPU读取读取SCI接收数据缓冲寄存器接收数据缓冲寄存器SCIRXBUF中的数中的数据后,接收器准备好标志位据后,接收器准备好标志位RXRDY自动被清零自动被清零。217.3.2 数据接收与发送过
15、程数据接收与发送过程5下一个数据到达下一个数据到达SCI接收数据引脚接收数据引脚SCIRXD时,再次时,再次检测到起始位。检测到起始位。6若使接收器使能位若使接收器使能位RXENA(SCICTL1.0)为低电平,)为低电平,禁止接收器接收数据。此时禁止接收器接收数据。此时SCI接收数据引脚接收数据引脚SCIRXD上的数据继续移入接收移位寄存器上的数据继续移入接收移位寄存器RXSHF中,但接收移中,但接收移位寄存器位寄存器RXSHF中的数据不会装载到接收数据缓冲寄存中的数据不会装载到接收数据缓冲寄存器器SCIRXBUF中。中。227.3.2 数据接收与发送过程数据接收与发送过程二二 数据发送过程
16、数据发送过程237.3.2 数据接收与发送过程数据接收与发送过程图图7-8中表明了发送信号时序是地址位模式。每个字符有中表明了发送信号时序是地址位模式。每个字符有3位位数据。数据。1.使能使能SCI发送器使能位发送器使能位TXENA1(SCICTL1.1);执行指令执行指令 SciaRegs.SCICTL1.bit.TXENA=1,使能发送器,使能发送器发送数据。发送数据。SCICTL1.1是是SCI控制寄存器控制寄存器SCICTL1的的D1位。位。2.执行指令发送数据执行指令发送数据 SciaRegs.SCITXBUF=0 x10CPU写数据到写数据到SCI发送数据缓冲寄存器发送数据缓冲寄存
17、器SCITXBUF中,使得中,使得发送器不为空,发送缓冲寄存器准备好标志发送器不为空,发送缓冲寄存器准备好标志TXRDY(SCICTL2.7)由)由1变为变为0。247.3.2 数据接收与发送过程数据接收与发送过程3.SCI将发送数据缓冲寄存器将发送数据缓冲寄存器SCITXBUF中的数据装载中的数据装载到发送移位寄存器到发送移位寄存器TXSHF后,发送缓冲寄存器准备好标后,发送缓冲寄存器准备好标志志TXRDY由由0变为变为1,此时可以发送下一个字符。如果发,此时可以发送下一个字符。如果发送缓冲寄存器中断使能位送缓冲寄存器中断使能位TX INT ENA(SCICTL2.0)已经置已经置1,则产生
18、一个,则产生一个发送中断请求发送中断请求。4.发送缓冲寄存器准备好标志发送缓冲寄存器准备好标志TXRDY由由0变为变为1后,后,CPU可以写第二个字符到可以写第二个字符到SCI发送数据缓冲寄存器发送数据缓冲寄存器SCITXBUF中,一旦第二个字符写入到发送数据缓冲寄存器中,一旦第二个字符写入到发送数据缓冲寄存器SCITXBUF后,后,TXRDY由由1变为变为0。257.3.2 数据接收与发送过程数据接收与发送过程5.第一个字符通过发送移位寄存器第一个字符通过发送移位寄存器TXSHF从低位到从低位到高位传送到发送引脚高位传送到发送引脚SCITXD进行发送完毕后,第二进行发送完毕后,第二个字符开始
19、移入到发送移位寄存器个字符开始移入到发送移位寄存器TXSHF中。中。6.如果使发送器使能位如果使发送器使能位TXENA(SCICTL1.1)为低)为低电平,在电平,在SCI结束当前字符的发送后,将禁止发送器结束当前字符的发送后,将禁止发送器发送数据。发送数据。7.第二个字符发送完成后,发送器变空,准备发送第二个字符发送完成后,发送器变空,准备发送下一个字符。下一个字符。267.3.2 数据接收与发送过程数据接收与发送过程n图图7-8中发送缓冲寄存器准备好标志中发送缓冲寄存器准备好标志TXRDY(SCICTL2.7)判断发送数据缓冲寄存器)判断发送数据缓冲寄存器SCITXBUF是否为空,如果是否
20、为空,如果TXRDY=1,表示发送数据缓冲寄存,表示发送数据缓冲寄存器器SCITXBUF中的值进入发送移位寄存器中的值进入发送移位寄存器TXSHF中。中。n发送器空标志位发送器空标志位TX EMPTY(SCICTL2.6)判断一)判断一个数据是否被传送完毕。个数据是否被传送完毕。TX EMPTY=1表示发送移位表示发送移位寄存器寄存器TXSHF中为空,数据发送完成。中为空,数据发送完成。277.3.3 SCI数据帧格式数据帧格式1.空闲线模式空闲线模式用于正常的非多处理器通信用于正常的非多处理器通信n空闲线模式格式是起始位、数据位、奇偶校验位和空闲线模式格式是起始位、数据位、奇偶校验位和停止位
21、。数据位中是先传送低位停止位。数据位中是先传送低位LSB,再传送高位,再传送高位MSB。用于非多处理器通信。用于非多处理器通信。282.地址位模式地址位模式常用于多处理器模式常用于多处理器模式用一个用一个附加的地址位附加的地址位来标志这一帧数据是地址还是数据。来标志这一帧数据是地址还是数据。7.3.3 SCI数据帧格式数据帧格式29SCI的接收和发送都采用非归零的接收和发送都采用非归零NRZ(non-return-to-zero)数据格式,包括:)数据格式,包括:(1)1个起始位;个起始位;(2)18位数据位;位数据位;(3)1个奇个奇/偶校验位或无奇偶校验位或无奇/偶校验位;偶校验位;(4)
22、1个或个或2个停止位;个停止位;(5)区别数据和地址的)区别数据和地址的附加位附加位(仅在地址位模式存在)。(仅在地址位模式存在)。n数据的基本单元为字符,有数据的基本单元为字符,有18位长。每个数据字符包位长。每个数据字符包含含1个起始位,个起始位,1或或2位停止位,可选择的奇偶校验位以及位停止位,可选择的奇偶校验位以及地址位。通过地址位。通过SCI通信控制寄存器通信控制寄存器SCICCR的配置编程实的配置编程实现现SCI通信的数据格式。通信的数据格式。7.3.3 SCI数据帧格式数据帧格式307.4 SCI寄存器SCI通信控制寄存器通信控制寄存器SCICCR(SCI Communicati
23、on Control Register)如图)如图7-11所示。所示。数据格式通过数据格式通过SCI通信控制寄存器通信控制寄存器SCICCR进行设置。进行设置。设置数据长度、是否使能奇偶校验,校验方式是奇校验设置数据长度、是否使能奇偶校验,校验方式是奇校验还是偶校验以及停止位设置。还是偶校验以及停止位设置。317.4 SCI寄存器寄存器u 7 7:STOP STOP BITSBITS:指定:指定发送的停止位发送的停止位个数,个数,0 01 1个停止位,个停止位,1 12 2个停止位个停止位;u 6:EVEN/ODD EVEN/ODD PARITYPARITY:奇偶校验选择,:奇偶校验选择,0
24、0奇校验,奇校验,1 1偶校验;偶校验;u 5 5:PARITY PARITY ENALBEENALBE:校验使能,:校验使能,0 0禁止奇偶校验,禁止奇偶校验,1 1允许奇偶校验;允许奇偶校验;u 4 4:LOOPBACK LOOPBACK ENAENA:环路测试模式使能,:环路测试模式使能,1 1TxTx数据数据内部送内部送RxRx,0 0禁止禁止u3 3:ADDRADDR/IDLE MODEIDLE MODE:多处理器模式选择多处理器模式选择,0 0空闲线模式,空闲线模式,1 1地址位模式地址位模式u 20:20:SCICHAR20SCICHAR20:数据长度选择,:数据长度选择,1 1
25、8 8位数据(位数据(000000111111)。)。SCISCI通信通信控制寄存器控制寄存器书书P275SCI的数据格式的数据格式使用使用SCICCR进行数据格式编程进行数据格式编程 SciaRegs.SCICCR.bit.SCICHAR=7;/选择数据长度,为选择数据长度,为8个数据位个数据位 SciaRegs.SCICCR.bit.PARITYENA=1;/奇偶校验使能奇偶校验使能 SciaRegs.SCICCR.bit.PARITY=0;/0奇校验,奇校验,1偶校验偶校验 SciaRegs.SCICCR.bit.STOPBITS=0;/选择停止位,有选择停止位,有1个停止位,个停止位,
展开阅读全文