《DSP片内外设》PPT课件.ppt
《《DSP片内外设》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《DSP片内外设》PPT课件.ppt(77页珍藏版)》请在三一办公上搜索。
1、第6章 DSP片内外设,时钟发生器可编程定时器串行口主机接口通用I/O软件等待状态发生器分区转换逻辑,6.0 DSP片内外设概述,优点:片内外设访问速度快。可以简化电路板的设计。如将A/D转换、D/A转换、定时器集成在片内。(3)提供一些必须的特殊功能。如JTAG口、等待状态发生器等。,DSP的片内外设是集成在芯片内部的外部设备,主要用于与DSP外部器件进行数据的交换和通信。CPU核对片内外设的访问控制是通过对相应的控制寄存器的读写来完成的。,片内外设分为两大类:片内外设:串行接口、定时器、通用I/O引脚和标准主机接口(HPI8)等。增强型外设:多通道缓冲串口(McBSP)、主机接口(8位增强
2、HPI8、16位增强HPI16)、直接存储器访问(DMA)控制器等。控制寄存器:被映射到数据存储空间的第0页(地址20h5Fh)。表6-1-p163,164。,6.1 时钟发生器 C5402内部有一个时钟发生器,可为C5402提供时钟,包括内部振荡器和锁相环电路PLL两部分。时钟信号的产生的两种方式:一是使用外部时钟源的时钟信号,将外部时钟信号直接加到DSP芯片的X2/CLKIN引脚,而X1引脚悬空。二是利用DSP芯片内部的振荡器构成时钟电路,在芯片的Xl和X2/CLKIN引脚之间接入一个晶体,用于启动内部振荡器。,外接时钟源,使用内部振荡器,C5402的PLL是软件可编程的,通过对16bit
3、的时钟模式寄存器CLKMD进行控制,PLL可以配置为如下两种时钟模式:1、倍频模式(PLL)输入时钟乘以0.2515共31个系数中的一个。2、分频模式(DIV)输入时钟除以2或4。,CLKMD各位的定义,CLKMD寄存器各位的含义,PLL的乘法系数,CLKMD各位的定义,STM#0 xF7FF,CLKMD;CLKMD=1111011111111111B,乘系数=1,即直通模式,锁相环PLL也可以通过硬件配置,通过设定芯片的3个时钟模式引脚CLKMD13的电平,可以选择片内振荡时钟与外部参考时钟的倍频。,注意:改变PLL倍频,必须先将PLL切换到DIV方式,然后再切换到新的倍频。基本步骤:1、复
4、位PLLNDIV,选择DIV方式。2、检测PLL状态,即读PLLSTATUS位,若该位为0,表明已经切换到DIV方式。3、根据要切换的倍频,选择PLLNDIV,PLLDIV,PLLMUL 的组合。4、根据所需要的牵引时间,设置PLLCOUNT的当前值。5、设定CLKMD寄存器。,STM#0,CLKMD;software setting of DSP clockSTM#0,CLKMD;(to divider mode before setting)TstStatu1:LDM CLKMD,A AND#01b,A;poll STATUS bit BC TstStatu1,ANEQ STM#0 xF7
5、FF,CLKMD;set C5402 DSP clock to 10MHz,1、复位PLLNDIV,选择DIV方式。2、检测PLL状态,即读PLLSTATUS位,若该位为0,表明已经切换到DIV方式。3、根据要切换的倍频,选择PLLNDIV,PLLDIV,PLLMUL 的组合。4、根据所需要的牵引时间,设置PLLCOUNT的当前值。5、设定CLKMD寄存器。,6.2 可编程定时器 6.2.1 定时器的结构及特点 C5402内部有定时器0和定时器1两个定时器。结构一样.每个定时器有3个控制寄存器,都是存储器映像寄存器TIM定时器寄存器:是减1计数器,可加载周期寄存器PRD的值,并随计数减少。PR
6、D定时器周期寄存器:PRD中存放定时器的周期计数值,提供TIM重载用。TCR定时器控制寄存器:TCR包含定时器的控制和状态位,控制定时器的工作过程。,定时器的工作原理,0024H,0025H,0026H,主定时模块,预标定模块,复位,定时中断,主要特点:(1)定时器是一个减计数器。(2)由16位计数器和4位预分频计数器组成。16位计数器的触发脉冲由预分频计数器提供,预分频计数器由CPU工作时钟决定。(3)有复位功能。(4)可以选择调试断点时定时器的工作方式。,保留位,软件调试控制位,预定标计数器,重新加载位,停止状态位,分 频系 数,6.2.2 定时器的控制寄存器TCR,保留位:总是读为0;,
7、软件调试控制位:控制调试断点时定时器的工作;,PSC(96位):定时器预定标计数器。当PSC中的数值减到0后,TIM减1,TDDR中的数加载到PSC;TRB(5位):定时器重新加载控制位。复位片内定时器。当TRB置位时,TIM重新装载PRD的值,PSC重新装载TDDR中的值。TSS(4位):定时器停止位,TSS=0 定时器开始工作,TSS=1 定时器停止TDDR(30位):当PSC减为0时,TDDR中的值被装载到PSC中,6.2.3 定时器的操作过程 PSC由CPU提供时钟,每个CPU时钟信号将使PSC减1。PSC 减到0时,向主定时模块TIM输出时钟,TDDR的内容重新加载到PSC。TIM由
8、预定标器PSC提供时钟,每个来自预定标块的输出时钟使TIM减1。TIM 减到0时,向CPU输出定时器中断信号(TINT),并同时输出到定时器输出引脚(TOUT),PRD中的内容重新加载到TIM。,定时器的中断周期,定时器的工作过程,0024H,0025H,0026H,定时分频系数和周期数分别装入TCR的TDDR位域和PRD寄存器;,定时器的工作过程,0024H,0025H,0026H,每来一个时钟,PSC减1;,PSC减到0时,产生借位信号;,定时器的工作过程,0024H,0025H,0026H,借位信号使得TIM减1,同时TDDR再次装载PSC,重新计数;,定时器的工作过程,0024H,00
9、25H,0026H,TIM减到0时,定时时间到,产生借位信号定时中断和TOUT;,定时器的工作过程,0024H,0025H,0026H,周期寄存器PRD再次装入TIM。,初始化定时器:(1)将TCR中的TSS位置1,停止定时器。(2)加载PRD。(3)重新加载TCR以初始化TDDR。(4)重新启动定时器。TRB位为1,TSS位为0,以重载定时器周期值,使能定时器。使能定时器中断(假定INTM=1):(1)将IFR中的TINT位置1,清除尚未处理完(挂起)的定时器中断。(2)将IMR中的TINT位置1,使能定时器中断。(3)可以将ST1中的INTM位清0,使能全局中断。,【例6.1】利用定时器T
10、imer0在XF引脚产生周期为1s的方波。分析:设f=100MHz,定时最大值是:10(ms),要输出1s的方波,1和0分别为500ms.可定时5ms,再在中断程序中加个100计数器,定时器周期=10ns(1+9)(1+49999)=5ms。,CounterSet.set 100-1;定义计数次数PERIOD.set 49999;定义计数周期.asg AR1,Counter;AR1做计数指针,重新命名以便识别 STM#CounterSet,Counter;设计数器初值 STM#0000000000010000B,TCR;停止计数器 STM#PERIOD,TIM;给TIM设定初值49999 ST
11、M#PERIOD,PRD;PRD与TIM一样 STM#0000001001101001B,TCR;启动定时器STM#0008H,IFR;清除尚未处理的定时器中断 STM#0008H,IMR;开TIME0的中断 RSBX INTM;开总中断End:NOP B End,中断服务程序:,中断服务程序:TINT0_ISRTINT0_ISR:PSHM ST0;保护ST0,因要改变TC BANZ Next,*Counter-;计数器不为0,计数器减1,退出中断;计数器为0,重新加载Counter,;根据当前XF的状态,分别到setXF或ResetXFSTM#CounterSet,Counter;BITF*
12、AR2,#1 BC ResetXF,TC setXF:SSBX XF ST#1,*AR2 B NextResetXF:RSBX XF ST#0,*AR2Next:POPM ST0 RETE end,6.3 串 行 口串口分为4种:标准同步串口(SP)带缓冲的串行接口(BSP)时分复用(TDM)串行口 多通道缓冲串口(McBSP)配置:芯片不同串口配置也不尽相同,C5402具有两个多通道缓冲串口(McBSP)访问:串行接口一般通过中断来实现与核心CPU的同步。功能:串行接口可以用来与串行外部器件相连,如编码解码器、串行A/D或D/A以及其他串行设备。,6.3.1 标准同步串行口(SP)1.结构:
13、2个存储器映像寄存器用于传送数据 接收数据寄存器(DRR)发送数据寄存器(DXR)一个串口控制寄存器(SPC)每个串行口的发送和接收部分都有独立的时钟、帧同步脉冲以及串行移位寄存器。接收移位寄存器(RSR)、发送移位寄存器(XSR),特点:(1)发送与接收的帧同步和时钟同步信号完全独立。(2)发送和接收部分可独立复位。(3)串口的工作时钟可来源于片外或片内。(4)独立的发送和接收数据线。(5)具有数据返回方式,便于测试。(6)在程序调试时,工作方式可选。(7)可以以查询和中断两种方式工作。,2.串行口控制寄存器(SPC)串行口的操作是由串行口控制寄存器(SPC)决定的。SPC寄存器的控制位及功
14、能如表6-4所示P170-171。,要复位和重新配置串行口,需要对SPC寄存器写两次。第一次,对SPC寄存器的RRST和XRST位写0,其余位写入所希望的配置。第二次,对SPC寄存器的RRST和XRST位写1,其余位是所希望的配置,再一道重新写一次。,3.操作过程:发送数据时,数写到DXRXSR DX引脚输出。在发送期间,DXR中的数据复制到XSR后,串行口控制寄存器(SPC)中的发送准备好(XRDY)位由0变为1,随后产生一个串行口发送中断(XINT)信号,通知CPU可以对DXR重新加载。接收数据时,来自DR引脚的数据 RSR DRR,CPU从DRR中读出数据。当RSR的数据复制到DRR后,
15、SPC中的接收数据准备好(RRDY)位由0变为l,随后产生一个串行口接收中断(RINT)信号,通知CPU可以从DRR中读取数据。串行口是双缓冲的,发送和接收都是自动完成,用户只需检测RRDY或XRDY位来判断可否继续发送或接收数据。,串行口传送数据的一种连接,4.实例:(操作以中断的方式完成)P170,SPC的定义1)串口的初始化(1)复位,并将0 x0038写入SPC,初始化串口。(2)将0 x00C0h写入IFR,清除任何挂起的串行接口中断。(3)将0 x00C0h和IMR求逻辑或运算,使能串行接口中断。(4)清除ST1的INTM位,使能全局中断。(5)将0 x00F8h写入SPC,启动串
16、行接口。(6)将第一个数据写入DXR。,2)串口中断服务程序(1)保护现场。(2)读DRR或写DXR。(3)恢复现场。(4)用RETE从中断子程序返回。,6.3.2 带缓冲的串行接口(BSP)结构和特点:缓冲串行口在标准同步串行口的基础上增加了一个自动缓冲单元(ABU),并以CLKOUT频率计时。ABU利用独立于CPU的专用总线,让串行口直接读/写C54x内部存储器。这样可以使串行口处理事务的开销最省,并能达到较快的数据率。BSP有两种工作方式:非缓冲方式和自动缓冲方式。ABU具有自身的循环寻址寄存器组,每个都与地址产生单元相关。发送和接收缓冲存储器位于一个指定的C54x DSP内部存储器的2
17、K字块中。该块可作为通用的存储器,但却是唯一的自动缓冲能使用的存储块。,2.缓冲串行口的控制寄存器(6个)数据接收寄存器(BDRR)数据发送寄存器(BDXR)控制寄存器(BSPC):控制扩展寄存器(BSPCE)数据接收移位寄存器(BRSR)数据发送移位寄存器(BXSR)缓冲串行口在标准串行口的基础上新增了许多功能,这些特殊功能受控制扩展寄存器(BSPCE)控制,其各位的定义如表6-5所示。,缓冲工作模式的操作过程其功能主要由自动缓冲单元ABU来完成 自动缓冲单元(ABU)可独立于CPU自动完成控制串行口与固定缓冲内存区中的数据交换。它包括 地址发送寄存器(AXR)块长度发送寄存器(BKX)地址
18、接收寄存器(ARR)块长度接收寄存器(BKR)串行口控制寄存器(BSPCE)当发送或接收缓冲区的一半或全部满或空时,ABU才产生CPU的中断,避免了CPU直接介入每一次传输带来的资源消耗。,综上所述,自动缓冲过程可归纳为:ABU完成对缓冲存储器的存取。工作过程中地址寄存器自动增加,直至缓冲区的底部。到底部后,地址寄存器内容恢复到缓冲存储器区顶部。如果数据到了缓冲区的一半或底部,就会产生中断,并更新BSPEC中的XH/RH,以表明那一部分数据已经被发送或接收。如果选择禁止自动缓冲功能,当数据过半或到达缓冲区底部时,ABU会自动停止缓冲功能。,BSP发送初始化,把0008H写到BSPCE寄存器,复
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSP片内外设 DSP 内外 PPT 课件
链接地址:https://www.31ppt.com/p-5576826.html