ImageVerifierCode 换一换
格式:DOCX , 页数:66 ,大小:276.70KB ,
资源ID:17371402      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17371402.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(串行通信接口DSP设计Word文件下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

串行通信接口DSP设计Word文件下载.docx

1、22DXR20McBSP0数据发送寄存器223DXR10McBSP0数据发送寄存器124TIM定时器0寄存器25PRD定时器0周期计数器26TCR定时器0控制寄存器27保留28SWWSR软件等待状态寄存器29BSCR块切换控制寄存器2A2BSWCR软件等待状态控制寄存器2CHPICHPI控制寄存器2D2F30TIM1定时器1寄存器31PRD1定时器1周期计数器32TCR1定时器1控制寄存器333738SPSA0McBSP0 串口子块地址寄存器39SPSD0McBSP0 串口子块数据寄存器3A3B3CGPIOCR通用I/O引脚控制寄存器3DGPIOSR通用I/O引脚状态寄存器3E3F40DRR2

2、1McBSP1数据接收寄存器241DRR11McBSP1数据接收寄存器142DXR21McBSP1数据发送寄存器243DXR11McBSP1数据发送寄存器1444748SPSA1McBSP1串口子地址寄存器49SPSD1McBSP1串口子数据寄存器4A5354DMPRECDMA通道容许与优先控制寄存器55DMSADMA子块地址寄存器56DMSDI带子块地址递增的DMA数据寄存器57DMSDNDMA子地址寄存器58CLKMD时钟模式寄存器595F1.2 可编程定时器C5402有两个片内定时器,主要用来产生周期性的中断。它们的动态范围由16位计数器和4位预定标计数器来确定。计数频率来自于CPU的时

3、钟频率。每个定时器都具有软件可编程的3个控制寄存器。1.2.1 定时器的结构及特点C5402内部有定时器0和定时器1两个定时器。这两个定时器的结构都是一样的,每个定时器有3个控制寄存器,它们是: TIM 定时器寄存器,是减1计数器,可加载周期寄存器PRD的值,并随计数减少; PRD 定时器周期寄存器,PRD中存放定时器的周期计数值,提供TIM重载用; TCR 定时器控制寄存器,TCR包含定时器的控制和状态位,控制定时器的工作过程这3个寄存器都是存储器映象寄存器,其所在的地址如表6.1所示。图1.1所示为定时器的逻辑框图,它由两个基本的功能块组成,即主定时器模块(由PRD和TIM组成)和预定标器

4、模块(由TCR的TDDR和PSC位组成)。 图1.1定时器的逻辑框图定时器是一个片内向下(递减)计数器。预定标器PSC由CPU提供时钟,TIM由PSC减为0后产生的信号为时钟。每次当计数器TIM减少到0时,会产生一个定时器中断(TINT),计数器同时重载周期值。DSP定时器有以下的主要特点:(1)由16位计数器和4位预分频计数器组成。16位计数器的触发脉冲由预分频计数器提供,预分频计数器由CPU工作时钟决定。(2)定时器是一个减计数器。(3)有复位功能。(4)可以选择调试断点时定时器的工作方式1.2.2 定时器的控制寄存器DSP核通过访问或控制TIM、PRD和TCR这3个寄存器来控制定时器的工

5、作。其中TCR控制定时器的工作过程,其各位的意义描述如表1.2所示表1.2 TCR定时器控制寄存器位复位值功能1512Reserved1110SoftFreeSoft和Free位一起决定在调试中遇到断点时的定时器工作状态。Free Soft 定时器状态0 0 定时器立即停止工作0 1 当计数器减到0时停止工作1 x 定时器继续运行96PSC定时器预定标计数器。当PSC中的数值减到0后,TDDR中的数加载到PSC,TIM减15TRB定时器重新加载控制位。复位片内定时器。当TRB置位时,TIM重新装载PRD的值,PSC重新装载TDDR中的值。TRB总是读为0。4TSS定时器停止位,TSS0,定时器

6、开始工作,TSS1定时器停止。30TDDR0000当PSC减为0时,TDDR中的值被装载到PSC中。1.2.3 定时器的操作过程1定时器的工作过程主定时器模块由PRD和TIM组成。在正常工作情况下,当TIM减计数到0后,PRD中的内容自动地加载到TIM。当系统复位(SRESET输入信号有效)或者定时器单独复位(TRB有效)时,PRD中的内容重新加载到TIM。TIM由预定标器PSC提供时钟,每个来自预定标块的输出时钟使TIM减l。主计数器块的输出为定时器中断(TINT)信号,该信号被送到CPU和定时器输出TOUT引脚。预定标模块由预定标计数器(PSC)和定时器分频系数(TDDR)组成。PSC和T

7、DDR都是定时器控制寄存器(TCR)的位。在正常工作情况下,当PSC减计数到0时,TDDR的内容加载到PSC。当系统复位或者定时器单独复位时,TDDR的内容重新加载到PSC。PSC由CPU提供时钟,每个CPU时钟信号将使PSC减1。通过读TCR,可以读取PSC,但是它不能直接被写。 通过TSS位的控制可以关闭定时器的时钟输入,停止定时器的运行。当不需要定时器时,停止定时器的操作以降低DSP功耗。2定时时间的计算每次当定时器计数器减少到0时,会产生一个定时器中断(TINT),定时器中断(TINT)周期可由如下公式计算:定时器的中断周期通过读TIM,可以读取定时器的当前值;读TCR可以读取PSC。

8、由于读这两个寄存器需要两条指令,就有可能在两次读之间因为计数器减而发生读数变化。因此,如果需要精确的定时测量,就应当在读这两个值前先停止定时器。3定时器的初始化初始化定时器可采用如下步骤:(1) 将TCR中的TSS位置1,停止定时器;(2) 加载PRD;(3) 重新加载TCR以初始化TDDR;(4) 重新启动定时器。通过设置TSS位为0,并设置TRB位为l以重载定时器周期值,使能定时器。使能定时器中断的操作步骤如下(假定INTM=1):(1) 将IFR中的TINT位置1,清除尚未处理完(挂起)的定时器中断。(2) 将IMR中的TINT位置l,使能定时器中断。(3) 可以将STl中的INTM位清

9、0,使能全局中断。复位时,TIM和PRD被设置为最大值FFFFh,定时器的分频系数(TCR的TDDR位)清0,并且启动定时器。注意复位后定时器是工作的,如果不用可以在初始化中停止其运行。1.3 串行口一般TI公司的DSP都有串行口,C54x系列DSP集成在芯片内部的串口分为4种:标准同步串口(SP)、带缓冲的串行接口(BSP)、时分复用(TDM)串行口和多通道带缓冲串行接口(McBSP)。其中McBSP属于增强型片内外设。芯片不同串口配置也不尽相同,表1.3列出了C54x系列DSP的片内接口数量和种类。串行接口一般通过中断来实现与核心CPU的同步。串行接口可以用来与串行外部器件相连,如编码解码

10、器、串行A/D或D/A以及其它串行设备。表1.3 C54x系列DSP片内串口数量和形式芯片标准串行接口(BSP)带缓冲串行接口(BSP)时分复用(TDM)串行接口多通道缓冲串口(McBSP)C5412C5421C543C546C548C549C5402C54103C542061.3.1 标准同步串行口SP标准同步串行口是一种高速、全双工同步串行口,用于提供与编码器、A/D转换器等串行设备之间的通信。标准同步串行口发送器和接收器是双向缓冲的,并可单独屏蔽外部中断信号。它有2个存储器映像寄存器用于传送数据,即发送数据寄存器(DXR)和接收数据寄存器(DRR),另外还有一个串口控制寄存器SPC。每个

11、串行口的发送和接收部分都有独立的时钟、帧同步脉冲以及串行移位寄存器。1. 标准同步串行口的结构和特点串行口由16位数据接收寄存器(DRR)、数据发送寄存器(DXR)、接收移位寄存器(RSR)、发送移位寄存器(XSR)以及控制电路所组成。标准串行口的组成框图如图1.2所示。图1-2 标准串行口的组成框图串口共涉及到6个引脚,与接受数据有关的是:接收时钟信号CLKR 、串行数据接收DR、接收帧同步信号FSR。与发送数据有关的是:发送时钟信号CLKX、串行数据发送DX、发送帧同步信号FSX。标准同步串口有以下一些特点:(1) 发送与接收的帧同步和时钟同步信号完全独立。(2) 发送和接收部分可独立复位

12、。(3) 串口的工作时钟可来源于片外或片内。(4) 独立的发送和接收数据线。(5) 具有数据返回方式,便于测试。(6) 在程序调试时,工作方式可选。 (7) 可以以查询和中断两种方式工作2串行口控制寄存器C54x串行口的操作是由串行口控制寄存器(SPC)决定的。SPC寄存器的控制位及功能如表1.4所示:表1.4 串口控制寄存器SPC1514Free Soft 串行口时钟的状态0 0 立即停止串行口时钟,结束传送数据。0 1 接收数据不受影响。若正在发送数据,则等到当前字发送完成后停止发送数据。1 x 不管Soft位为何值,一旦出现断点,时钟继续运行,数据照常移位。13RSRFULL接收移位寄存

13、器满。当RSRFULL=1,表示RSR满,暂停接收数据。如果DRR中的数据被读取,RSRFULL为012XSREMPTY发送移位寄存器空。为0时,说明DXR没有被加载,而XSR中的数据已移空。为1时,暂停发送数据,并停止驱动DX。XRDY发送准备好位,XRDY位由0变到l,表示DXR中的内容已经复制到XSR,可以向DXR加载新的数据字,并产生一次发送中断XINTRRDY接收准备好位, RRDY位由0变到l,表示RSR中的内容已经复制到DRR中,可以从DRR中取数了,并产生一次接收中断RINT。9IN1X输入CLKX当前状态8IN0输入CLKR当前状态7RRST接收复位控制位XRST发送复位控制

14、位TXM发送方式位,用于设定帧同步脉冲FSX的来源。当TXM=1时,将FSX设置成输出。每次发送数据的开头由片内产生一个帧同步脉冲。当TXM=0时,将FSX设置成输入。由外部提供帧同步脉冲。发送时,发送器处于空转状态直到FSX引脚上提供帧同步脉冲。MCM时钟方式位,用于设定CLKX的时钟源。当MCM=O时,CLKX配置成输入,采用外部时钟。当MCM=1时,CLKX配置成输出,采用内部时钟。片内时钟频率是CLKOUT频率的1/4。FSM帧同步方式(FSM)位。这一位规定串行口工作时,在初始帧同步脉冲之后是否还要求帧同步脉冲。当FSM=0时,在初始帧同步脉冲之后不需要帧同步脉冲。当FSM=1时,串

15、行口工作在字符组方式。每发送接收一个字都要求一个帧同步脉冲FSX/FSR。FO数据格式位,用它规定串行口发送接收数据的字长。当FO=0时,发送和接收的数据都是16位字。当FO=1时,数据按8位字节传送,首先传送MSB,然后是LSB。DLB数字返回方式(DLB)位。用于单个C54x测试串行口的代码。当DLB=1时,片内通过一个多路开关,将输出端的DR和FSR分别与输入端的DX和FSX相连。 当工作在数字返回方式时,若MCM=1(选择片内串行口时钟CLKS为输出),CLKR由CLKX驱动;若MCM=0(CLKX从外部输入),CLKR由外部CIKX信号驱动。 如果DLB=0,则串行口工作在正常方式,

16、此时DR、FSR和CLKR都从外部输入。RES注意:要想复位和重新配置串行口,需要对SPC寄存器写两次。第一次,对SPC寄存器的RRST和XRST位写0,其余位写入所希望的配置。第二次,对SPC寄存器的RRST和XRST位写1,其余位是所希望的配置,再一道重新写一次。3. 标准同步串口的操作过程图1.3给出了串行口传送数据的一种连接方法。在发送数据时,先将要发送的数写到DXR。若XSR是空的(上一字已串行传送到DX引脚),则自动将DXR中的数据复制到XSR。在FSX和CLKX的作用下,将XSR中的数据移到DX引脚输出。当DXR中的数据复制到XSR后,就可以将另一个数据写到DXR。在发送期间,D

17、XR中的数据复制到XSR后,串行口控制寄存器(SPC)中的发送准备好(XRDY)位由0变为1,随后产生一个串行口发送中断(XINT)信号,通知CPU可以对DXR重新加载。接收数据时,来自DR引脚的数据在FSR和CLKR的作用下,移位至RSR,然后复制到DRR,CPU从DRR中读出数据。当RSR的数据复制到DRR后,SPC中的接收数据准备好(RRDY)位由0变为l,随后产生一个串行口接收中断(RINT)信号,通知CPU可以从DRR中读取数据。由此可见,串行口是双缓冲的,发送和接收都是自动完成,用户只需检测RRDY或XRDY位来判断可否继续发送或接收数据。当然,也可利用中断来完成。图1.3 串行口

18、传送数据的一种连接4标准串口操作下面以实例说明标准串口操作的步骤,操作以中断的方式完成。串口的初始化: 复位,并将0x0038写入SPC,初始化串口 将0x00C0h写入IMR,清除任何挂起的串行接口中断。 将0x00C0h和IMR求或逻辑运算,使能串行接口中断。 清除ST1的INTM位,使能全局中断。 将0x00F8h写入SPC,启动串行接口。 将第一个数据写入DXR串口中断服务程序: 保存当前工作状态到堆栈中。 读DRR或写DXR或同时操作,从DRR读出的数据写入存储器中,将要发送的数据从存储器中取出写入DXR。 恢复现场 用RETE从中断子程序返回。1.3.2 带缓冲的串行接口(BSP)

19、缓冲串行口在标准同步串行口的基础上增加了一个自动缓冲单元(ABU),并以CLKOUT频率计时。它是全双工和双缓冲的,以提供灵活的数据串长度,如可使用8、10、12、16位连续通信流数据包,为发送和接收数据提供帧同步脉冲及一个可编程频率的串行时钟。自动缓冲单元支持高速传送并能降低服务中断的开销。1缓冲串口的结构和特点缓冲串行口(BSP)是一种增强型串行口。ABU利用独立于CPU的专用总线,让串行口直接读写C54x内部存储器。这样可以使串行口处理事务的开销最省,并能达到较快的数据率。BSP有两种工作方式:非缓冲方式和自动缓冲方式。当工作在非缓冲方式(即标准方式)时,BSP传送数据与标准串行口一样,

20、都是在软件控制下经中断进行的;当工作在自动缓冲方式时,串行口直接与C54x内部存储器进行16位数据传送。ABU具有自身的循环寻址寄存器组,每个都与地址产生单元相关。发送和接收缓冲存储器位于一个指定的C54xDSP内部存储器的2K字块中。该块可作为通用的存储器,但却是惟一的自动缓冲能使用的存储块。使用自动缓冲,字传输直接发生在串行接口部分和C54xDSP内部存储器之间。在自动缓冲寻址时,使用ABU可以编程缓冲区的长度和起始地址,可以产生缓冲满中断,并可以在运行中停止缓冲功能。2缓冲串行口的控制寄存器缓冲串行口共有6个寄存器:数据接收寄存器BDRR、数据发送寄存器BDXR、控制寄存器BSPC、控制

21、扩展寄存器BSPCE、数据接收移位寄存器BRSR、数据发送移位寄存器BXSR。在标准模式时,BSP利用自身专用的数据发送寄存器、数据接收寄存器、串行口控制寄存器(BDXR、BDRR、BSPC)进行数据通信,也利用附加的控制扩展寄存器BSPCE处理它的增强功能和控制ABU。BSP发送和接收移位寄存器(BXSR、BRSR)不能用软件直接存取,但具有双向缓冲能力。如果没有使用串行口功能,BDXR、BDRR寄存器可以用作通用寄存器,此时BFSR设置为无效,以保证初始化可能的接收操作。缓冲串行口在标准串行口的基础上新增了许多功能,如可编程串行口时钟、选择时钟和帧同步信号的正负极性,除了有串行口提供的8、

22、16位数据转换外,还增加了10、12位字转换,允许设置忽略同步信号或不忽略。这些特殊功能受控制扩展寄存器BSPCE控制,其各位的定义如表1.5。表1.5 控制扩展寄存器BSPCEHALTR自动缓冲接收停止位。HALTR=0,当缓冲区接收到一半数据时,继续操作。HALTR=1 当缓冲区接收到一半数据时,自动缓冲停止。此时BRE清零,串行口继续标准模式工作。RH指明接收缓冲区的哪一半已经填满,RH=0表示前半部分缓冲区被填满,当前接受的数据正存入后半部分缓冲区。RH=1 表示后半部分缓冲区被填满,当前接受的数据正存入前半部分缓冲区。BRE自动接收使能控制。BRE=0 自动接收禁止,串行口工作于标准

23、模式。BRE=1 自动接收允许。HALTX自动发送禁止。HALTX =0,当一半缓冲区发送完成后,自动缓冲继续工作。HALTX =1,当一半缓冲区发送完成后,自动缓冲停止。此时BRE清零,串行口继续工作于标准模式。XH发送缓冲禁止位。XH=0 缓冲区前半部分发送完成,当前发送数据取自缓冲区的后半部分。XH=1 缓冲区后半部分发送完成,当前发送数据取自缓冲区的前半部分。BXE自动发送使能位。 BXE=0禁止自动发送功能。BXE=1 允许自动发送功能。PCM脉冲编码模块模式。PCM=0清除脉冲编码模式, PCM=1设置脉冲编码模式。FIG帧同步信号忽略。在连续发送模式且具有外部帧同步信号,以及连续

24、接收模式下有效。 FIG=0 在第一个帧脉冲之后的帧同步脉冲重新启动时发送。 FIG=l忽略帧同步信号。FE扩展格式设置位CLKP时钟极性设置位。用来设定接收和发送数据采样时间特性。CLKP=0在BCLKR的下降沿接收采样数据,发送器在BCLRX的上升沿发送信号。CLKP=l 接收器在BCLKR的上升沿采样数据,发送在BCLKX下降沿发送数据。FSP 帧同步极性设置位。用来设定帧同步脉冲触发电平的高低。FSP=0帧同步脉冲高电平激活。 FSP=1帧同步脉冲低电平激活。04CLKDV 内部发送时钟分频因数。当BSPC的MCM=1,CLKX由片上的时钟源驱动,其频率为CLKOUT/(CLKDV+1

25、),CLKDV的取值范围是031。当CLKDV为奇数或0时,CLKX的占空比为50;当CLKDV为偶数时,其占空比依赖于CLKP;CLKP=0时,占空比为(P+1)/P,CLKP=1时,占空比为P/(P+1)。PCM位设置串行口工作于编码模式,只影响发送器。BDXR到BXSR转换不受该位影响。在PCM模式下,只有它的最高位(15)为0, BDXR才被发送,为1时,BDXR不发送。BDXR发送期间BDX处于高阻态。FIG位可以将16位传输格式以外的各种传输字长压缩打包,可用于外部帧同步信号的连续发送和接收。初始化之后,当FIG=0时,如果帧同步信号发生,发送重新开始。当FIG=l时,帧同步信号被

26、忽略。例如,设置FIG1,可在每8、10、12位产生帧同步信号的情况下实现连续16位的有效传输。如果不用FIG,每一个低于16位的数据转换必须用16位格式,包括存储格式。利用FIG可以节省缓冲内存。FE位与BSPC中的FO位一起设定传输字的长度,如表1.6所示。表1.6 BSPC中的FO位与BSPCE中的FE位对字长的控制字长度163缓冲串行口的操作过程缓冲串行口有两种工作模式:一是标准工作模式,二是缓冲工作模式。(1)标准工作模式下的缓冲串口的操作这种工作模式与标准串行口的工作模式基本相同,表1.7列出了缓冲串口在标准工作模式下与SP的区别。表1.7 标准串行口与缓冲串行口在标准模式下的区别控制寄存器SPC标准串行口SP缓冲串行口BSPRSRFULL=l要求RSR满,且FSR出现,RSRFULL置位。连续模式下,只需BSR满 只需RSR满,RSRFULL置位溢出时RSR数据保护溢出时BRSR内容丢失溢出后连续模式下接收重新开始只要DRR被读,接收重新开始只有BDRR被读且BFSR到来,接收才重新开始 DRR中进行8、l0、12

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1