串行通信接口(SCI)_第1页
串行通信接口(SCI)_第2页
串行通信接口(SCI)_第3页
串行通信接口(SCI)_第4页
串行通信接口(SCI)_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、主讲人:潘昌忠信息(xnx)与电气工程学院 信息(xnx)楼412Tel:E-mail: DSP原理(yunl)及应用 1共三十六页课程(kchng)回顾比较单元与PWM电路作用?与定时器中比较单元的区别?如何产生对称(duchn)和非对称(duchn)PWM波?捕获单元作用?如何捕获?正交脉冲编码QEP电路作用?2共三十六页第7章 串行通信接口3本章内容:7.1 SCI模块概述(i sh)7.2 SCI模块的结构7.3 SCI的寄存器7.4 SCI应用实例 24x DSP的通信接口包括(boku)异步串行通信接口(SCI)、串行外设接口(SPI)、控制器局域网络(C

2、AN)接口接口等。共三十六页47.1 SCI模块(m kui)概述 24x DSP的SCI(Serial Communication Interface) 串行通信接口模块(m kui)是一个标准的异步串行口(UART)。可以和RS232/485设备接口。 可以半双工或全双工操作。 可以通过波特率选择寄存器设置波特率。 数据格式:一个起始位、18位数据位、可选择奇/偶/无校验位、一个或两个停止位。共三十六页5SCI的特性:(1)两个I/O引脚:SCIRXD与SCITXD(2)一个16位的波特率选择寄存器可编程,可得到(d do) 65536种的不同速率。(3)18位的可编程数据位。(4)长度为

3、1位或2位的可编程停止位。(5)内部产生的串行时钟。(6)四个错误的检测标志: 奇偶性错误、超限错误、帧错误、间断检测(7)两种唤醒(hunxng)多处理器模式: 空闲线唤醒、位寻址唤醒共三十六页6(8) 半双工或全双工通信。(9) 双缓冲接收和发送功能。(10)发送和接收操作(cozu)均可通过中断或查询进行。(11)非归零格式(NRZ)。共三十六页77.2 SCI模块(m kui)的结构共三十六页8串行通信接口SCI的结构(jigu):发送器(TX)及其寄存器 接收器(RX)及其寄存器 可编程波特率发生器 控制和状态寄存器 1. 串行通信接口的信号(xnho)分类信号名称说明外部信号RXD

4、SCI异步串行接口接收数据TXDSCI异步串行接口发送数据控制信号波特率时钟CLKOUT时钟中断信号TXINT发送中断RXINT接收中断共三十六页92. 多处理器和异步通信(tng xn)模式3. 串行通信接口可编程数据格式 串行通信接口SCI有两个(lin )多处理器协议: 空闲线多处理器模式和地址位多处理器模式。 数据的基本单位为字符,它的长度是18位。数据的每个字符包括一个起始位、一个或者两个停止位、一个可选的奇偶校验位和一个地址位。 共三十六页10SCI数据(shj)帧格式共三十六页114. SCI多处理器通信(tng xn) 多处理器通信格式允许一个处理器在同一串行线上与其他的处理器

5、进行有效(yuxio)的数据块传输。在一个串行线上,在同一时刻只允许存在一个发送器。 共三十六页125. 空闲(kngxin)线多处理器模式数据块与数据块之间通过较长的空闲时间分开(fn ki),而且这个空闲时间比数据块内部帧与帧之间的空闲时间长得多。空闲线协议通过在某一帧之后使用10位或更多的空闲时间来指示一个新数据块的开始。 共三十六页13空闲(kngxin)线多处理器模式的数据格式 共三十六页146. 地址(dzh)位多处理器模式帧信息的最后(zuhu)一个数据位后紧跟着一个称之为地址位的附加位。在数据块中,第一个帧的地址位设为1,其他帧的地址位都要设成0。 共三十六页15地址(dzh)

6、位多处理器模式的数据格式 共三十六页167. SCI通信(tng xn)格式每一帧都由一个起始位、1至8个数据位、一个可选的奇偶校验位和12个停止位组成。每个数据位有8个SCICLK周期。处理器通过对每个位的中间3次采样值来确定该位的值。这些采样分别出现在第4个、第5个和第6个时钟(shzhng)周期,而且根据多数表决(3取2)原则确定该位的值。 共三十六页17SCI异步通信(tng xn)格式 共三十六页18通信模式(msh)中SCIRX信号时序图 通信模式中SCITX信号(xnho)时序图 共三十六页198. 串行通信接口中断(zhngdun)SCI接收器和发送器都能产生中断。SCICTL

7、2寄存器中包含有一个标志位(TXRDY),它用于指示当前中断的状态,同时SCIRXST寄存器也包含两个中断标志位(RXRDY和BRKDT)和一个RX ERROR中断标志。SCI接收器和发送器都有各自(gz)的中断向量。中断申请既可设置为高优先级也可以设置为低优先级。当RX和TX中断都分配在同一个优先级时,为了减小发生接收溢出概率,接收器中断总是比发送器中断的优先级高。 共三十六页209. SCI波特率计算(j sun)SCI模块(m kui)的波特率(1BRR65535 )波特率选择寄存器(SCIHBAUD, SCILBAUD)的值BRR BRR=0 时共三十六页21地址寄存器名称7050hS

8、CICCR SCI通信控制寄存器7051hSCICTRL1SCI控制寄存器17052hSCIHBAUD 波特率选择寄存器高8位7053hSCILBAUD 波特率选择寄存器低8位7054hSCICTRL2 SCI控制寄存器2 7055hSCIRXST SCI接收器状态(zhungti)寄存器7056hSCIRXEMU SCI仿真数据缓冲寄存器7057hSCIRXBUF SCI接收器数据缓冲寄存器7059hSCITXBUF SCI发送数据缓冲寄存器705FhSCIPRISCI优先级控制寄存器7.3 SCI的寄存器共三十六页22SCI通信(tng xn)控制寄存器( SCICCR) SCI通信控制寄

9、存器(SCI Communication Control Register, SCICCR)定义了字符格式、协议(xiy)和通信模式。位7 STOP BITS: 设置SCI停止位的个数 。1/0:2/1个停止位。位6 EVEN/ODD PARITY:SCI奇偶校验选择位。 1:偶校验。 位5 PARITY ENABLE:SCI奇偶校验使能位。 1:使能。 位4 LOOP BACK ENA:自测模式使能位。 1:使能。 位3 ADDR/IDLE MODE:SCI多处理器模式选择位。 1:选择地址位模式。 0:选择空闲线模式。 位20 SCICHAR20:字符长度选择位。 共三十六页23字符的长度

10、(chngd)选择 SCICHAR2SCICHAR1SCICHAR0字符长度/位数00010012010301141005101611071118共三十六页24SCI控制(kngzh)寄存器1(SCICTL1) SCI控制寄存器1(SCI Control Register 1, SCICTL1)控制接收/发送的使能,TXWAKE和SLEEP功能(gngnng),以及SCI软件重启动。位6 RX ERR INT ENA:SCI接收错误中断使能位。1:使能 位5 SW RESET:SCI软件复位位(低电平有效)。 位3 TXWAKE:SCI发送器唤醒方法选择位。位2 SLEEP:SCI休眠位。1:

11、 休眠模式。检测地址字节。 位1 TXENA:SCI发送使能位。 1:使能发送。 位0 RXENA:SCI接收使能位 。1:使能接收。 共三十六页25波特率选择(xunz)寄存器(SCIHBAUD,SCILBAUD)共三十六页26SCI控制(kngzh)寄存器2(SCI Control Register 2, SCICTL2) 位7 TXRDY:发送缓冲寄存器准备就绪标志位。1:准备接收数据。 位6 TXEMPTY:发送器空标志位。 位1 RX/BK INT ENA:接收缓冲器/间断(jindun)中断使能位。1:使能。位0 TX INT ENA:发送缓冲寄存器(SCITXBUF)中断使能位。

12、 共三十六页27SCI接收(jishu)状态寄存器: SCIRXST SCI接收状态寄存器(SCI Receiver Status Register, SCIRXST)包含了7位接收器的状态标志(biozh)(其中两个可以产生中断请求)。 位7 RX ERROR:SCI接收器错误标志位。位6 RXRDY:SCI接收器准备就绪标志位。 位5 BRKDT:SCI间断检测标志位。 位4 FE:SCI帧错误(Frame Error)标志位。 位3 OE:SCI溢出错误标志位。 位2 PE:SCI奇/偶校验错误标志位。 位l RXWAKE:SCI接收器唤醒检测标志位。 共三十六页28SCI接收数据缓冲寄

13、存器(SCIRXEMU,SCIRXBUF) 接收数据缓冲寄存器(SCIRXEMU,SCIRXBUF)用于接收数据(shj),将数据(shj)从寄存器RXSHF转移到SCIRXEMU和SCIRXBUF中。 仿真数据缓冲器寄存器SCIRXEMU主要(zhyo)是由仿真器(EMU)使用。 共三十六页29SCI发送数据缓冲寄存器(SCITXBUF) 共三十六页30SCI优先级控制(kngzh)寄存器(SCIPRI) 位6, SCITX PRIORITY:发送器中断优先级选择。0为高优先级 位5, SCIRX PRIORITY:接收器中断优先级选择。0为高优先级 位43 SCI SOFT和SCI FRE

14、E:当一个仿真悬挂事件产生时,这两位决定其后如何操作。00 :一旦仿真悬挂,立即停止。10:一旦仿真悬挂,在完成(wn chng)当前的接收/发送操作后停止。x1:SCI操作不受仿真挂起影响。 共三十六页317.4 SCI应用(yngyng)实例例: DSP通过(tnggu)RS-232与PC机串行通信。包括硬件接口电路与通信软件。 PC机采用串口调试工具软件,将PC机键盘的输入发送给DSP,DSP收到PC机发来的数据后,回送同一数据给PC机,并在PC机屏幕上显示出来。 DSP通过MAX3232电平转换电路与PC机串行通信 设通信波特率为9600 bit/s。数据格式为:l位起始位,8位数据位

15、,一个停止位,无奇偶校验位。共三十六页32查询方式编写(binxi)的DSP通信程序。 #include “2407c.hunsigned int RecieveChar; void Sci_init()/SCI初始化程序SCICCR= 0 x0007; /1个停止位,无校验,8位字符 /禁止自测试,异步空闲线协议SCICTL1= 0 x0023; /脱离复位(f wi)状态,使能接收发送SCICTL2 = 0 x0000; /禁止接收和发送中断SCIHBAUD= 0 x0002; /波特率9600, (CLKOUT=40MHz)SCILBAUD= 0 x0008; /BRR=0 x0208=

16、520MCRA= 0 x03; /设置SCITXD和SCIRXD为通 信端口 共三十六页33void main(void)SCSR1=81FE;/系统初始化,40MHzWDCR=0 x6f; /关闭(gunb)WDSci_init(); /SCI初始化while (1)while(SCIRXST&0 x40) != 1) ;/RXRDY1表示接收到数据RecieveChar=SCIRXBUF;SCITXBUF = RecieveChar; /接收到的字符 RecieveChar送回while(SCICTL2&0 x80)=0) ;while(SCICTL2&0 x40)=0) ; 共三十六页34思考:如何采用中断方式编写 DSP通信(tng xn)程序?共三十六页35小 结SCI模块的结构SCI的通信(tng xn)原理SCI的程序编写共三十六页内容摘要主讲人:潘昌忠。信息与电气工程学院 信息楼412。可以通过波特率选择寄存器设置波特率。空闲线唤醒、位寻址唤醒。(11)非归

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论