《Dsp原理与应用》论文.doc_第1页
《Dsp原理与应用》论文.doc_第2页
《Dsp原理与应用》论文.doc_第3页
《Dsp原理与应用》论文.doc_第4页
《Dsp原理与应用》论文.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

Dsp原理与应用论文指导教师 :崔峰姓名 :李丽丽学院 :物电学院年级 :电子信息工程2班学号 :200701071235TMS320F2812DSP中SCI模块控制寄存器(李丽丽 物电学院电子信息工程2班 学号 200701071235)摘要:TMS320F2812DSP中SCI是串行通信接口,介绍一下串行通信接口的各个相关寄存器的相关特点和功能,SCI通信口的操作主要是通过控制寄存器来配置和控制,在使用SCI串口通信时,可以使用软件设置SCI的各种功能。通过设置相应的控制位初始化所需的SCI通信格式,包括操作模式和协议、波特率、字符长度、奇偶检验位或无校验、停止位的个数、中断优先级和中断使能等。关键词:TMS320F2812DSP,SCI,寄存器0引言 串行通信接口是采用双线通信的异步串行通信接口,即通常所说的UART口。为减小串口通信时CPU的开销,F2812的串口支持16级接收和发送FIFO。SCI模块采用标准非归0 (NRZ)数据格式,可以同CPU或其他通信数据格式兼容的异步外设进行数字通信。当不使用FIFO时,SCI接收器和发送器采用双级缓冲传送数据,SCI接收器和发送器有自己的独立使能和中断位,可以独立的操作,在全双工模式下也可以同时操作。为保证数据完整,SCI模块对接收到的数据进行间断、极性、超限和帧错误检测。通过对16位的波特率控制寄存器进行编程,配置不同的SCI通信速率。1SCI结构特点1.1 SCI功能单元SCI采用全双工通信模式的主要功能单元,具体包括如下:一个发送器 (TX)及相关寄存器SCITXBUF:发送数据缓冲寄存器,存放要发送的数据(由CPU装载);TXSHF寄存器:发送移位寄存器,从SCITXBUF寄存器接收数据,并将数据移位到SCITXD引脚上,每次移一位数据;一个接收器 (RX)及相关寄存器: RXSHF寄存器:接收移位寄存器,从SCIRXD引脚移入数据,每次移一位:SCIRXBUF:接收数据缓冲寄存器,存放CPU要读取的数据。来自远程处理器的数据装入寄存器RXSHF,然后又装入寄存器SCIRXBUF和寄存器SCIRXEMU中p;一个可编程的波特率产生器.数据存储器映射的控制和状态寄存器。SCI接口的接收和发送通道可以独立工作,也可以同时工作。12 SCI功能单元定义可以使用SCICCR寄存器配置SCI通信采用的数据格式,如表5.4所示为控制寄存器各位功能的定义。表1 SCICCR寄存器功能定义位名称寄存器名称功能描述5 PARITYENABLESCICCR 如果置1,使能奇偶校验功能如果清0,禁止奇偶校验功能2-0SCI CHAR20 SCICCR 选择字符(数据)长度(1到8位)6 EVEN/ODDPARITY SCICCR 如果使能奇偶校验 0 选择偶校验 1 选择奇校验7STOP BITS SCICCR 确定发送停止位0 一位停止位 1 两位停止位2SCI模块相关寄存器2.1 SCI模块寄存器概述表2SCI-A寄存器名称地址 占用空间 功能描述SCICCR 0x0000 7050 1 SCI-A 通信控制寄存器SCICTL1 0x0000 7051 1 SCI-A 控制寄存器1SCIHBAUD 0x0000 7052 1 SCI-A 波特率设置寄存器 高字节SCILBAUD 0x0000 7053 1 SCI-A 波特率设置寄存器 低字节SCICTL2 0x0000 7054 1 SCI-A 控制寄存器2SCIRXST 0x0000 7055 1 SCI-A 接收状态寄存器SCIRXEMU 0x0000 7056 1 SCI-A 接收仿真数据缓冲寄存器SCIRXBUF 0x0000 7057 1 SCI-A 接收数据缓冲寄存器SCITXBUF 0x0000 7059 1 SCI-A 发送数据缓冲寄存器SCIFFTX 0x0000 705A 1 SCI-A FIFO发送寄存器SCIFFRX 0x0000 705B 1 SCI-A FIFO接收寄存器SCIFFCT 0x0000 705C 1 SCI-A FIFO控制寄存器SCIPRI 0x0000 705F 1 SCI-A 极性控制寄存器表3 SCI-B寄存器名称地址 占用空间 功能描述SCICCR 0x0000 7750 1 SCI-B 通信控制寄存器SCICTL1 0x0000 7751 1 SCI-B 控制寄存器1SCIHBAUD 0x0000 7752 1 SCI-B 波特率设置寄存器 高字节SCILBAUD 0x0000 7753 1 SCI-B 波特率设置寄存器 低字节SCICTL2 0x0000 7754 1 SCI-B 控制寄存器2SCIRXST 0x0000 7755 1 SCI-B 接收状态寄存器SCIRXEMU 0x0000 7756 1 SCI-B 接收仿真数据缓冲寄存器SCIRXBUF 0x0000 7757 1 SCI-B 接收数据缓冲寄存器SCITXBUF 0x0000 7759 1 SCI-B 发送数据缓冲寄存器SCIFFTX 0x0000 775A 1 SCI-B FIFO发送寄存器SCIFFRX 0x0000 775B 1 SCI-B FIFO接收寄存器SCIFFCT 0x0000 775C 1 SCI-B FIFO控制寄存器SCIPRI 0x0000 775F 1 SCI-B 极性控制寄存器2.2 SCI通信控制寄存器 (SCICCR)SCICCR定义了SCI使用的字符格式、协议和通信模式如下SCI通信控制寄存器(SCICCR) 地址7050h2.3 SCI通信控制寄存器(SCICCR)功能描述表3 SCI通信控制寄存器(SCICCR)功能描述位名称 功能描述7 STOP BITS SCI停止位的个数该位决定了发送的停止位的个数。接收器仅对一个停止位检查。0 一个停止位;1 两个停止位;6 PARITY 奇偶校验选择位如果PARITY ENABLE位(SCICCR, 位5)被置位,则PARITY (位6)确定采用奇校验还是偶校验(在发送和接收的字符中奇偶校验位的位数都是1位)。0 奇校验;1 偶校验;5 PARITY SCI奇偶校验使能位ENABLE 该位使能或禁止奇偶校验功能。如果SCI处于地址位多处理器模式(设置这个寄存器的第三位),地址位包含在奇偶校验计算中(如果奇偶校验是使能的)。对于少于8位的字符,剩余无用的位由于没有奇偶校验计算而应被屏蔽。0 奇偶校验禁止。在发送期间没有奇偶位产生或在接收期间不检查奇偶校验位;1 奇偶校验使能;4 LOOPBACKENA 自测试模式使能位该位使能自测试模式,这时发送引脚与接收引脚在系统内部连接在一起。0 自测试模式禁止;1 自测试模式使能3 ADDR/IDLEMODESCI多处理模式控制位该位选择一种多处理器协议。由于使用了SLEEP和TXWAKE功能 (分别是 SCICTL1的位2和SCICTL1的位3),多处理器通信同其它的通信模式有所不同。由于地址位模式在帧中增加了一个附加位,空闲线模式通常用于正常通信。空闲线模式没有增加这个附加位,同典型的RS232通信兼容。0 空闲位模式协议选择;1 地址位模式协议选择;20 SCI CHAR20 字符长度控制位2-0这些位选择了SCI的字符长度(从1到8位)。少于8位的字符在SCIRXBUF和SCIRXEMU中是右对齐,且在SCIRXBUF中前面的位填0。SCITXBUF前面的位不需要填0。对于SCI CHAR2-0位的位值和字符长度关系如下所示:CHAR2 CHAR1 CHAR0 字符长度(Bits)0 0 0 10 0 1 20 1 0 30 1 1 4 1 0 0 5 1 0 1 6 1 1 0 7 1 1 1 82.3 SCI控制寄存器1 (SCICTL1)SCICTL1控制接收/发送使能、TXWAKE和SLEEP功能以及SCI软件复位,如图1和表所示。SCI控制寄存器1 (SCICTL1) 地址 7051h图1 SCI控制寄存器1 (SCICTL1)2.4 SCI波特率选择寄存器 (SCIHBAUD, SCILBAUD)在SCIHBAUD 和SCILBAUD中的值确定SCI的波特率,如图2,3。波特率选择高字节寄存器(SCIHBAUD) 地址7052h图2 波特率选择高字节寄存器(SCIHBAUD)波特率选择低字节寄存器(SCILBAUD) 地址7053h图3 波特率选择低字节寄存器(SCILBAUD)2.6 SCI接收器状态寄存器 (SCIRXST)SCIRXST包含7个接收器状态标志位(其中2个能产生中断请求)。每次一个完整的字符发送到接收缓冲器(SCIRXEMU和SCIRXBUF)后,状态标志位刷新。每次缓冲器被读取时,标志位被清除。图4给出了寄存器位的关系,表4给出了SCI接收状态寄存器的功能定义。SCI接收器状态寄存器(SCIRXST) 地址7055h如果RX/BK INT ENA(SCICTL2.1=1)RXRDY 或BRKDT 引起中断当位5 到2 中任何一位等于1 时RX ERROR=1图4 SCI接收器状态寄存器(SCIRXST)表4 SCI接收器状态寄存器(SCIRXST)功能描述位名称 功能描述7 RX ERROR 接收器错误标志位RX ERROR标志位说明在接收状态寄存器中有一位错误标志位被置位。RX ERROR是间断检测、帧错误、超时和奇偶错误使能标志位(位 52: BRKDT, FE, OE, and PE)的逻辑或。如果RX ERR INT ENA位(SCICTL1.6)被置位,则该位上的一个1将会引起一个中断。在中断服务子程序中可以使用该位进行快速错误条件检测。错误标志位不能被直接清除,它由一个有效的SW RESET 或者系统复位来清除。0 无错误标志设置;1 错误标志设置;6 RXRDY 接收器准备好标志位当准备好从SCIRXBUF寄存器中读一个新的字符时,接收器置位接收器准备好标志位,且如果RX/BK INT ENA位(SCICTL2.1) 是1则产生接收器中断。取SCIRXBUF寄存器、有效的SW RESET或者系统复位清除RXRDY。0 在SCIRXBUF中没有新的字符;1 准备好从SCIRXBUF中读取字符;5 BRKDT 间 断检测标志位当满足间断条件时,SCI将置位该位。从丢失第一个停止位开始,如果SCI接收数据线路(SCIRXD)连续地保持至少10位低电平,则产生一个间断条件。如果RX/BK INT ENA位为1,则间断的发生会引发产生一个接收中断,但这不会引起重新装载接收缓冲器。即使接收SLEEP被置位为1,也能发生一个BRKDT中断。一个有效的SW RESET或者一个系统复位可以清除BRKDT。在检测到一个间断后,接收字符并不能清除该位。为了接收更多的字符,必须通过触发SW RESET 位或者系统复位来复位SCI。0 没有产生间断条件;1 间断条件发生;4 FE 帧错误标志位当检测不到一个期望的停止位时,SCI就置位该位。仅检测第一个停止位。丢失停止位表明没有能够和起始位同步,且字符帧发生了错误。SW RESET或系统复位该清除FE位。0 没有检测到帧错误;1 检测到帧错误;3 OE 超时错误标志位在前一个字符被CPU或DMAC完全读走前,当字符被发送到SCIRXEMU和SCIRXBUF时,SCI就置位该位。前一个字符将会被覆盖或丢失。SW RESET或系统复位将OE标志位复位。0 没有检测到超时错误;1 检测到超时错误;2 PE 奇偶校验错误标志位地址位被包括在内。如果奇偶校验的产生和检测没有被使能,则PE标志位被禁止且读作0。有效的SW RESET信号或系统复位PE信号。0 没有检测到奇偶校验错误;1 检测到奇偶校验错误;1 RXWAKE 接收器唤醒检测标志位当该位为1时,表示检测到了接收器唤醒的条件。在地址位多处理器模式中 (SCICCR.3= 1),RXWAKE反映了SCIRXBUF中的字符的地址位的值。在空闲线多处理器模式,如果SCIRXD被检测为空闲状态则RXWAKE被置位。RXWAKE是一个只读标志位,它由以下条件来清除: 地址位传送到SCIRXBUF后传送第一个字节; 读SCIRXBUF; 有效的SW RESET; 系统复位;0 保留 读返回0,写操作没有影响。2.7 接收数据缓冲寄存器 (SCIRXEMU, SCIRXBUF)接收的数据从RXSHF传送到SCIRXEMU和SCIRXBUF。当传送完成后,RXRDY标志位(位SCIRXST.6)置位,表示接收的数据可以被读取。两个寄存器存放着相同的数据;两个寄存器有各自的地址,但物理上不是独立的缓冲器。它们的唯一区别在于读SCIRXEMU操作不清除RXRDY标志位,而读SCIRXBUF操作清除该标志位。2.7.1 仿真数据缓冲器正常SCI接收数据操作从SCIRXBUF寄存器中读接收到的数据。由于它能连续地为屏幕更新读接收到的数据而不用清除RXRDY标志位,SCIRXEMU寄存器由仿真器(EMU)使用。系统复位清除SCIRXEMU。在窗口观察SCIRXBUF寄存器时使用该寄存器。物理上SCIRXEMU是不可用的,它仅仅是在不清除RXRDY标志位的情况下访问SCIRXBUF寄存器的一个不同的地址空间。其功能定义如图5所示。仿真数据缓冲寄存器 (SCIRXEMU) 地址7056h图5 仿真数据缓冲寄存器 (SCIRXEMU)2.7.2 接收数据缓冲器 (SCIRXBUF)在当前接收的数据从RXSHF移位到接收缓冲器时,RXRDY标志位置位,数据准备好被读取。如果RX/BK INT ENA位(SCICTL2.1) 置位,移位将产生一个中断。当读取SCIRXBUF时,RXRDY标志位被复位;系统复位清除SCIRXBUF。SCIRXBUF的功能如图6和表5所示。SCIRXBUF寄存器图6 SCIRXBUF寄存器注: 阴影部分仅仅在FIFO使能时才被应用。表5 SCIRXBUF寄存器功能描述位名称 功能描述15 SCIFFFE SCI FIFO 帧错误标志位 1 当接收字符时,产生帧错误。该位与在FIFO顶部的字符有关。0 当接收字符时,没有产生帧错误。该位与FIFO顶部的字符有关。14 SCIFFPE FIFO 奇偶校验错误位1 当接收字符时,产生奇偶校验错误。该位与FIFO顶部的字符有关联。0 当接收字符时,有产生奇偶校验错误。该位与FIFO顶部的字符有关联。138 保留70 RXDT70 接收字符位2.8 SCI 发送数据缓冲寄存器 (SCITXBUF)将要发送的数据写入到SCITXBUF中。这些位必须是右对齐的,由于小于8位长度的字符的左侧位被忽略,因此发送数据必须右侧对齐。数据从该寄存器移到TXSHF发送移位寄存器置位TXRDY标志位(SCICTL2.7), 这表明SCITXBUF已准备好接收下一数据。如果置位TXINT ENA位 (SCICTL2.0) ,则该数据发送也会产生一个中断。如图7所示发送数据缓冲寄存器。发送数据缓冲寄存器 (SCITXBUF) 地址7059h图7 发送数据缓冲寄存器 (SCITXBUF)3结论通过对TMS320F2812DSP中SCI模块中各个控制寄存器相关功能的介绍,知道了具体的功能,在各个领域都有好的应用。【1】 TMS320x281x, 280x Peripherals Reference Guide (Rev. B). Texas Instruments, 05 Nov 2004【2】 TMS320x281x, 280x Serial Communications Interface (SCI) Reference Guide (Rev. B) .Texas Instruments, 05 Nov 2004【3】 TMS320x281x, 280x Serial

温馨提示

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

评论

0/150

提交评论