SCI寄存器.ppt_第1页
SCI寄存器.ppt_第2页
SCI寄存器.ppt_第3页
SCI寄存器.ppt_第4页
SCI寄存器.ppt_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、SCI寄存器,(1)两个I/O引脚:SCIRXD与SCITXD (2)一个16位的波特率选择寄存器可编程, 可得到65536种的不同速率。 4,发送器-TX,SCITXBUF-发送数据缓冲寄存器,存发送 数据。 TXSHF发送移位寄存器,每次1位送到 SCITXD引脚。,接收器-RX RXSHF接收移位寄存器,每次1位将SCIRXD引 脚上的数据移入。 SCIRXBUF-接收数据缓冲寄存器,存RXSHF接收 到数据。 控制和状态寄存器(映射在数据存储器区)。,SCI寄存器地址,地址 7050h 7051h 7052h 7053h 7054h 7055h 7056h 7057h 7059h 70

2、5Fh,寄存器 SCICCR SCICTRL1 SCIBAUD SCIBAUD SCICTRL2 SCIRXST SCIRXEMU SCIRXBUF SCITXBUF SCIPRI,名称 SCI通信控制寄存器 SCI控制寄存器1 波特率选择寄存器高8位 波特率选择寄存器低8位 SCI控制寄存器2 SCI接收器状态寄存器 SCI仿真数据缓冲寄存器 SCI接收器数据缓冲寄存器 SCI发送数据缓冲寄存器 SCI优先级控制寄存器,为了对数据格式化进行编程,要使用SCI通信控制 寄存器(SCICCR)。用于对数据格式进行编程的位如下 表所示。 对数据格式进行编程的位,位 SCICCR.2-0 SCICC

3、R.5 SCICCR.6 SCICCR.7,功能 选择字符长度(1-8位) 是否选择奇偶校验功能 选择奇偶校验,1-偶,0-奇 停止位的个数,1-1个,0-2个,SLEEP位 串行线路上的所有处理器将它们的串行通 信接口的SLEEP位(SClCTL1.2)设置为1,仅 在检测到地址字节时才被中断。当一个处理 器读取到的一个数据块地址与本器件地址相 一致时,用户程序必须清除SLEEP位来确保 串行通信接口在收到每个数据字节时产生一 个中断。,尽管当SLEEP位为1时,接收器仍能工作,但 它不会使RXRDY、RXINT或任何接收错误状态 位设置为1,除非检测到地址字节,且接收到 的帧的地址位是1。

4、 SLEEP位必须由用户软件改变。,控制SCI Tx和Rx特性 多处理器的模式可通过ADDRIDLE MODE位 (SCICCR.3)来设置。 两种模式都使用TXWAKE位(SCICTL1.3)、RXWAKE位 (SCIRXST.1)和SLEEP标志位(SCICTL1.3)来控制串行 通信接口发送器和接收器的工作状态。 接收顺序:在两种多处理器模式中,接收顺序如 下:,(1)在接收一个地址块时,串行通信接口唤醒并请求一,个中断(中断必须被使能)。它读取地址块的第一帧 数据,其中包括目的地址。,(2)通过中断和检查程序引入的地址进入服务程序,并,且该地址字节与保存在内存中的本器件地址再次进 行校

5、对。,(3)如果检查表明此块是DSP控制器的地址,则CPU清除,SLEEP位并读块的其余部分,如果不是,则退出软件 子程序,SLEEP位设置为1,直到下一个地址块开始,才接收中断。,空闲线多处理器模式,ADDRIDLE MODE0,数据块被块间的时间间隔分,开,,该时间间隔比块中数据帧之间的时间间隔要长。一帧,后的空闲时间(十个或更多的高电平位)表明了一个,新块的开始,单个位的时间可以由波特率值算出。,地址位多处理器模式,ADDR/IDLE MODE位1,每帧中有一附加的地址位紧跟,在最后一个数据位后。在数据块的第一帧中,地址位,设为1,而在其它所有的帧中置成0。空闲周期的时间,是不相连的。,

6、SCI中断,SCI的接收器和发送器可以由中断控制,SCICTL2寄存 器中有一个标志位(TXRDY)表示有效的中断条件, SCIRXST寄存器有两个中断标志位(RXRDY和BRKDT)和 接收错误标志位(RXERROR),其中RX ERROR是FE、OE 和PE条件的逻辑或。发送器和接收器有各自的中断使 能位。,当中断被屏蔽时,不会产生中断,但条件标志位仍有,效,该位反映了发送和接收的状态,可用于查询方,式。,串行通信接口(SCl)的发送器和接收器有自己独立的,外设中断向量。,外设中断请求可使用高优先级或低优先级,中断优先,级由SCIPRI寄存器中相应的位来控制。当接收和发送,中断都设置为相同

7、的优先级时,接收中断往往具有更,高的优先级,这样可以减少接收超时错误。,如果RXBK INT ENA位(SCICTL2.1)置1,则当发生,以下事件之一就产生一次接收中断:,(1)SCI接收到一个完整的帧并将RXSHF寄存器中的内,容传送到SCIRXBUF寄存器,该操作会置位RXRDY,(SCIRXST.6),并初始化中断。,(2)间断检测条件发生(在一个丢失的停止位之后,,SCIRXD引脚保持10个周期的低电平)。该操作会设置,BRKDT标志位,并初始化中断。,如果TX INT ENA位(SCICTL2.0)置位,当SCITXBUF寄,存器中的数据传送到TXSHF寄存器时,将产生一个发送,中

8、断请求,用以表示CPU可以写数据到SCITXBUF,寄存器中,该操作会置位TXRDY标志-SCICTL2.7,并初,始化一个中断。,SCI波特率,内部产生的串行时钟由系统时钟频率CLKOUT和两个 波特率选择寄存器决定。SCI使用16位的波特率选 择寄存器来选择65536种不同的串行时钟频率中的 一种。 SCI波特率选择寄存器为SCIHBAUD(高字节)和 SCILBAUD(低字节),连一起形成16位的波特率 值,BRR。,SCI波特率可以使用如下的公式计算。,上式适用于1BRR65535的情况,如果BRR0,则 波特率的计算公式如下:,CLKOUT 16,SCI异步波特率=,CLKOUT (

9、 BRR + 1) 8,SCI 异步波特率 =,-1,BRR =,CLKOUT SCI 异步波特率 8,一般SCI位速度的波特率选择值,SCI控制寄存器,SCI通信控制寄存器(SCICCR) SCI控制寄存器1(SCICTL1) 波特率选择寄存器(SCIHBAUD,SCILBAUD) SCI控制寄存器2(SCICTL2) SCI接收状态寄存器(SCIRXST) SCI接收数据缓冲寄存器(SCIRXEMU,CIRXBUF) SCI发送数据缓冲寄存器(SCITXBUF) SCI优先级控制寄存器(SCIPRI),串行通信回环传输实例,使用中断执行SCI数据的接收,C语言程序 下面给出一个在两个DSP

10、之间实现简单异步通信的通用程序。 /该程序实现2407的串口异步通信,#include,register.h,/禁止总中断子程序 void inline disable() asm( setc INTM); asm( setc SXM); ,/使能总中断子程序 void inline enable() asm( clrc INTM); main( ) ,disable(); *IFR=0 xFFFF; *SCSR1=0 x81FE; *WDCR=0 xE8; *SCICCR=0 x7;,/禁止所有中断 / 清除中断标志 /CLKIN=6M,CLKOUT=24M /不使能看门狗 /1个停止位,不

11、使能奇偶校验,空闲线多处理,/器模式,8位字符,*SCICTL1=0 x13;,/#0013H 使能接收和发送,SLEEP=0 禁止休眠,/方式 , 禁止接收错误中断,TXWAKE=0 即没 /有选定的发送特征,*SCIHBAUD=0 x2;,*SCILBAUD=0 x70; *SCICTL1=0 x33; *SCIPRI=0 x60;,/波特率=4800B/S /使SCI脱离复位状态 /SCI中断(接收和发送中断)为低优先级中断,*MCRA=0 x3; *PADATDIR=0 x100;,*IMR=0 x10; enable();,/使能UART中断-INT5 /使能总中断,*SCITXBU

12、F= ; while(1) ; ,*SCICTL2=0 x3;,/使能接收和发送中断,void UartSent( ) /发送服务程序 const char* var=F2407 UART is fine!;/定义一段需要发送的字符 串 static int i=0;,if(istrlen(var) return; 则中断直接返回 *SCITXBUF=vari+; *IFR=0 x0010; enable();,/如果需要发送的字符都已经发送完, /依次发送定义的字符串中的各个字符 /清除IFR中相应的中断标志 / 开总中断,因为一进入中断,服务程序总中断就自动关闭了 , static int receive10,j=0; receivej+ = *SCIRXBUF;/依次接收字符 if(j9) j = 0;,*IFR= 0 x0010; enable();,/清除IFR中相应的中断标志 / 开总中断,因为一进入中断,服务程序总中断就自动关闭了 ,void UartRec(),/接收服务程序,void interrupt uarttr( ),/中断服务程序, switc

温馨提示

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

评论

0/150

提交评论