版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第15讲 281x串行通信接口SCI,15.1 SCI概述,SCI是Serial Communication Interface的简称,即串行通信接口。 SCI是一个双线的异步串口,换句话说,是具有接收和发送两根信号线的异步串口,一般可以看作是UART(Universal Asynchronous Receiver/Transmitter,通用异步接收/发送装置)。 X281X的内部具有两个相同的SCI模块,SCIA和SCIB,281x 串行通信接口SCI,15.1 SCI概述,在控制系统中,串行通讯是各控制单元或上、下位机之间实现数据共享的重要途径,SCI模块与CPU模块关系示意图,281x
2、 串行通信接口SCI,SCI模块相关信号,数据存储器映射的控制和状态寄存器,SCI信号描述,281x 串行通信接口SCI,15.2 SCI模块特点,两个外部引脚: SCITXD:SCI 输出引脚。 SCIRXD:SCI 输入引脚。 如果不用 SCI 功能时,这两个引脚可以设置成通用I/O。 64K 种可编程的通讯速率。 数据格式: 一位起始位; 18 位数据长度位,可编程; 可以选择奇校验、偶校验或者无校验; 一位或两位停止位。 四种错误检测标志:奇偶校验错误、超时错误、帧错误和间断检测错误,281x 串行通信接口SCI,SCI模块特点,两种多处理器唤醒模式:空闲线模式和地址位模式。 全/半双
3、工通讯模式。 双缓冲接收和发送功能。 发送和接收可以采用中断或状态标志位查询两种方式。 独立的发送和接收中断使能位(BRKDT 除外)。 起始地址从 7050H 开始的13 个SCI 模块控制寄存器。 SCI 模块的所有控制寄存器都是8 位的,对这些寄存器的操作仅对低8 位(07)有效;对高8 位(815)读操作返回零,写操作无效。 增强的功能包括:自动波特率检测和16 级发送/接收FIFO,281x 串行通信接口SCI,15.3 SCI模块结构,一个发送器(TX)及其主要的寄存器; SCITXBUF:发送数据缓冲寄存器,存放要发送的数据(由CPU 加载)。 TXSHF:发送移位寄存器,从SC
4、ITXBUF 接收数据再将数据移位送到SCITXD 引脚上,每次移动一位。 一个接收器(RX)及其主要的寄存器: RXSHF:接收移位寄存器,从SCIRXD 引脚接收数据并移位存储,每次移动一位。 SCIRXBUF:接收数据缓冲寄存器,存放CPU 要读取的数据。来自远程处理器的数据先被移位存放在 RXSHF 中,再载入SCIRXBUF 和SCIRCEMU 中。 一个可编程的波特率发生器。 映射于数据存储器空间的控制和状态寄存器。 SCI 模块的发送器和接收器可以单独工作,也可以同时工作,281x 串行通信接口SCI,SCI模块的工作原理,281x 串行通信接口SCI,发送,接收,281x 串行
5、通信接口SCI,SCI Pin Connections,Transmitter-data buffer register,Transmitter shift register,SCI Device #1,SCIRXD,SCITXD,SCITXD,SCIRXD,SCI Device #2,8,Receiver-data buffer register,Receiver shift register,8,Transmitter-data buffer register,Transmitter shift register,8,Receiver-data buffer register,Receiv
6、er shift register,8,Full Duplex Shown,281x 串行通信接口SCI,15.4 SCI多处理器通信,SCI 模块有两种多处理器通讯协议:空闲线多处理器模式和地址位多处理器模式。 SCI 模块提供通用异步接收/发送(UART)通讯模式,可以方便地和很多常用外设接口。 异步通讯模式需要两根信号线就可以和很多使用RS-232-C 格式的标准设备(例如终端或打印机)接口; SCI 模块的发送和接收数据都采用NRZ(非归零)格式: 一个起始位; 18 个数据位; 一个奇/偶校验位或者没有校验位; 一个或两个停止位。 这样带有格式信息的一个数据字符称为一帧,它的基本结构
7、如下图,281x 串行通信接口SCI,SCI-A Programmable Data Format,Start,LSB,2,3,4,5,7,MSB,Parity,Stop 1,Addr/ Data,6,This bit present only in Address-bit mode,Stop 2,NRZ (nonreturn to zero) format,Start Bit,LSB of Data,Majority Vote,Falling Edge Detected,SCIRXD,SCICLK (Internal,123456781234567812,SCICLK periods per
8、 data bit,SCI异步通信模式,多数表决,281x 串行通信接口SCI,SCI工作方式,SCI异步通信格式使用单线(单路,即半双工)或双线(双路,即全双工)通信。在这种模式下,帧包括一个起始位、1到8个数据位、一个可选的奇偶校验位和1个或2个停止位。每个数据位占8个SCICLK周期。 接收器在接收到一个有效的起始位后开始工作。一个有效的起始位由4个连续的内部SCICLK周期的0位来识别。如果任何一位不为0,则处理器重新启动并开始寻找另一个起始位。 对于起始位后的位,处理器通过在该位中间进行三次采样判定该位的值。这种采样发生在第4、5、6个SCICLK周期,位值判定是基于多数原则(三次采
9、样2次为某值,则判定为该值)。上图描述了有起始位的异步通信格式,显示了如何发现信号沿以及在何处进行多数表决。 因为接收器使自己与帧同步,所以外部的发送和接收设备不必使用同步串行时钟,时钟可以在本地产生,281x 串行通信接口SCI,SCI多处理器通信模式,多处理器通信,顾名思义,就是多个处理器之间进行数据通信。 一个简单的多处理器通信拓扑示意图如下图所示。图中的实线表示处理器A和处理器B、C、D之间的通信。在同一个时刻,处理器A只能和处理器B、C、D之中的一个实现数据传输。当处理器A给处理器B、C、D中的某一个处理器发送数据时,A-B、A-C、A-D这3条通路上都会出现相同的数据,那如何来确保
10、这些数据被正确的处理器接收呢,281x 串行通信接口SCI,SCI 多处理器通信操作,多处理器通信格式使处理器通过一条串行总线就可以有效地和其它多个处理器相互通信,但在同一条串行总线上一次只允许一个节点发送数据。 地址字节 发送节点(talker)发送的信息块第一个字节是地址字节,所有的接收节点(listener)都可以读取这个地址,但只有地址相同的接收节点才能接收地址字节后面的数据;地址不同的接收节点不会响应,而是等待下一个地址字节。 SLEEP 位 串行总线上的所有处理器都把自己的 SCI 模块的SLEEP 位(SCICTRL1 寄存器的第2位)设置成1,这样只有检测到地址字节后才会产生中
11、断。当处理器接收到的数据块地址和用户用软件设置的处理器地址相符时,用户必须手动清除SLEEP 位使SCI 模块产生中断来接收数据,281x 串行通信接口SCI,SCI地址字节识别,处理器根据不同的多处理器模式(空闲线模式和地址位模式),采取不同的方法来识别地址字节: 空闲线模式 在地址字节前预留一个静态的空间,该模式没有额外的地址/数据位,因此它在处理包含10 个以上字节的数据块时比地址位模式的效率高些。空闲线模式一般用于典型的非多处理器的SCI 通信中。 地址位模式 在每个字节里面加入一位额外的地址/数据位用来区别地址和数据。由于在这种模式下数据块之间不需要等待,因此在处理小块数据时比空闲线
12、模式的效率高。但是,当传输速度较高时,由于程序的速度有限,不可避免要在数据流中加入10 位的空闲时间,281x 串行通信接口SCI,空闲线多处理器模式的数据格式,281x 串行通信接口SCI,地址位多处理器模式的数据格式,281x 串行通信接口SCI,SCI 模块的TX 和RX 的控制特点,用户软件通过控制 ADDR/IDLE MODE 位(SCICCR 的位3)来选择不同的多处理器模式。 两 种 模 式 都使用发送唤醒标志位TXWAKE(SCICTL1 位3) 、接受唤醒标志位RXWAKE(SCIXST 位1)和休眠标志位SLEEP (SCICTL1 位2)来控制SCI 模块的发送器和接收器
13、的工作状态。 在两种多处理器模式下,接收的步骤如下: 1) 接收地址块时,SCI 端口唤醒并申请中断(必须使能SCICTL2 的RX/BK INT ENA 位以便可以申请中断),读取数据块的第一帧,它包含目标处理器的地址。 2) 通过中断进入一个子程序,检查接收的地址,比较存储器中的地址字节和接收的地址字节。 3) 如果上述的地址相符,则CPU 清除SLEEP 位并读取数据块中的剩余数据;否则退出软件子程序并保持SLEEP 位,直到下一个地址块开始再接收中断,281x 串行通信接口SCI,15.5 SCI 中断,SCI 模块有独立的发送和接收外围中断向量,当RX 和TX 的优先级相同时,接收器
14、总是比发送器有更高的优先级,这样可以减少接收超时错误。 如果 RX/BK INT ENA 位(SCICTL2 位1)被置1,当发生下列情况之一时就会产生一个接收中断请求。 SCI 模块接收到一个完整的帧,并把RXSHF 寄存器中的数据传送到SCIRXBUF寄存器。该操作将 RXRDY 标志位(SCIRXST 位6)置1,并产生一个中断。 间断检测条件发生(在丢失一个停止位后,SCIRXD 保持10 个周期的低电平)。该操作将 BRKDT 标志位(SCIRXST 位5)置1,并产生一个中断。 如果 TX INTENA 位(SCICTL2 位0)被置1,只要将SCITXBUF 寄存器中的数据传送到
15、 TXSHF 寄存器就会产生发送器中断请求,表示CPU 可以向SCITXBUF 写入数据。该操作将 TXRDY 标志位(SCICTL2 位7)置1,并产生中断,281x 串行通信接口SCI,281x 串行通信接口SCI,15.6 SCI 波特率计算,内部产生的串行时钟由低速外围时钟 LSPCLK 的频率和波特率选择寄存器确定。在LSPCLK 频率确定的情况下,用户可以通过16 位的波特率选择寄存器来设置串行时钟的频率,一共有64K 种频率可供选择,281x 串行通信接口SCI,281x 串行通信接口SCI,SCI-A Registers,AddressRegisterName 0 x00705
16、0SCICCRSCI-A commun. control register 0 x007051SCICTL1SCI-A control register 1 0 x007052SCIHBAUDSCI-A baud register, high byte 0 x007053SCILBAUDSCI-A baud register, low byte 0 x007054SCICTL2SCI-A control register 2 register 0 x007055SCIRXSTSCI-A receive status register 0 x007056SCIRXEMUSCI-A receive emulation data buffer 0 x007057SCIRXBUFSCI-A receive data buffer register 0 x007059SCITXBUFSCI-A transmit data buffer register 0 x00705ASCIFFTXSCI-A FIFO transmit register 0 x00705BSCIFFRXSCI-A FIFO receive register 0 x00705CSCIFFCTSCI-A FIFO control registe
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小一班安全工作总结2篇
- 安全隐患排查工作总结
- 2026年消防控制室值班管理规范
- 译林版英语三年级下册Unit 5 Fruit 作业单3
- 2026年悬臂式货架安全操作规程及注意事项
- 2026年托育机构接送管理制度规范
- 2026年氩气瓶安全管理制度及规范
- 2026年学校食堂食品安全管理制度培训计划
- 微创手术术前准备护理评估单
- 形如绝对值x+1小于1不等式解集计算详细步骤解析D4
- 国家义务教育检测质量监测八年级语文模拟测试题有答案
- 河南省百师联盟2026届高三下学期4月联考地理+答案
- 大学科研创新平台管理办法
- 义务教育均衡发展质量监测八年级综合试题附答案
- 2026年哈尔滨市香坊区中考一模数学试卷和答案
- 第9课 绚丽多姿的民俗风情教学设计-2025-2026学年小学地方、校本课程人民版中华民族大家庭
- 温室气体内部审核制度
- 04S519小型排水构筑物(含隔油池)图集
- 水文勘测工专业知识考试题库(含答案)
- 2020新版药品GCP考试题库及答案
- 滴水实验 说课课件
评论
0/150
提交评论