2020年1月26日DSP原理及应用1第6章TMS320C54x片内外设6.1’C54x的时钟发生器6.2’C54x的中断系统6.3’C54x的定时器6.4’C54x的主机接口6.5’C54x的串行接口2020年1月26日DSP原理及应用2第6章TMS320C54x片内外设6.1时钟电路的设计时钟电路用来为’C54x芯片提供时钟信号,由一个内部振荡器和一个锁相环PLL组成,可通过芯片内部的晶体振荡电路或外部的时钟电路驱动。1.时钟信号的产生’C54x时钟信号的产生有两种方法:使用外部时钟源;使用芯片内部的振荡电路。2020年1月26日DSP原理及应用3第6章TMS320C54x片内外设1.时钟信号的产生(1)使用外部时钟源将外部时钟信号直接加到DSP芯片的X2/CLKIN引脚,而X1引脚悬空。VDD外部晶振X2/CLKINX1外部时钟源可以采用频率稳定的晶体振荡器,具有使用方便,价格便宜,因而得到广泛应用。2020年1月26日DSP原理及应用4第6章TMS320C54x片内外设1.时钟信号的产生(2)使用芯片内部的振荡器在芯片的X1和X2/CLKIN引脚之间接入一个晶体,用于启动内部振荡器。C1C2晶体X1X2/CLKINC1=C2=20pF2020年1月26日DSP原理及应用5第6章TMS320C54x片内外设2.锁相环PLL锁相环PLL具有频率放大和时钟信号提纯的作用,利用PLL的锁定特性可以对时钟频率进行锁定,为芯片提供高稳定频率的时钟信号。锁相环还可以对外部时钟频率进行倍频,使外部时钟源的频率低于CPU的机器周期,以降低因高速开关时钟所引起的高频噪声。’C54x的锁相环有两种形式:硬件配置的PLL:软件可编程PLL:用于’C541、’C542、’C543、’C545和’C546;用于’C545A、’C546A、’C548、’C549、’C5402、’C5410和’C5420。2020年1月26日DSP原理及应用6第6章TMS320C54x片内外设2.锁相环PLL硬件配置的PLL是通过设定’C54x的3个时钟模式引脚(CLKMD1、CLKMD2和CLKMD3)的状态来选择时钟方式。(1)硬件配置的PLL上电复位时,’C54x根据这三个引脚的电平,决定PLL的工作状态,并启动PLL工作。2020年1月26日DSP原理及应用7第6章TMS320C54x片内外设(1)硬件配置的PLL硬件PLL的配置方式引脚状态时钟方式CLKMD1CLKMD2CLKMD3方案一方案二000工作频率=外部时钟源3工作频率=外部时钟源5110工作频率=外部时钟源2工作频率=外部时钟源4100工作频率=内部时钟器3工作频率=内部时钟器5010工作频率=外部时钟源1.5工作频率=外部时钟源4.5001工作频率=外部时钟源2工作频率=外部时钟源2111工作频率=内部时钟器2工作频率=内部时钟器2101工作频率=外部时钟源1工作频率=外部时钟源1011停止工作停止工作注意:①时钟方式的选择方案是针对不同的’C54x芯片而言。②停止工作方式等效于IDLE3省电方式。2020年1月26日DSP原理及应用8第6章TMS320C54x片内外设(1)硬件配置的PLL进行硬件配置时,其工作频率的是固定的。若不使用PLL,则对内部或外部时钟分频,CPU的时钟频率等于内部振荡器频率或外部时钟频率的一半;若使用PLL,则对内部或外部时钟倍频,CPU的时钟频率等于内部振荡器或外部时钟源频率乘以系数N,即时钟频率=(PLL×N)2020年1月26日DSP原理及应用9第6章TMS320C54x片内外设2.锁相环PLL软件配置的PLL具有高度的灵活性。它是利用编程对时钟方式寄存器CLKMD的设定,来定义PLL时钟模块中的时钟配置。软件PLL的时钟定标器提供各种时钟乘法器系数,并能直接接通和关断PLL。软件PLL的锁定定时器可以用于延迟转换PLL的时钟方式,直到锁定为止。(2)软件配置的PLL2020年1月26日DSP原理及应用10第6章TMS320C54x片内外设(2)软件配置的PLL①时钟方式寄存器CLKMD15~121110~3210CLKMD0058HPLLMULPLLDIVPLLCOUNTPLLON/OFFPLLNDIVPLLSTATUS用来定义PLL时钟模块中的时钟配置,为用户提供各种时钟乘系数,并能直接通断PLL。PLL乘数PLL乘数PLLMUL:为PLL的倍频乘数,读/写位。与PLLDIV和PLLNDIV一起决定PLL的频率。PLLMULPLL除数PLL除数PLLDIV:为PLL的分频除数,读/写位。与PLLMUL和PLLNDIV一起决定PLL的频率。PLLDIVPLL计数器PLL计数器PLLCOUNT:PLL的减法计数器,读/写位。用来对PLL开始工作到锁定时钟信号之前的一段时间进行计数定时,以保证频率转换的可靠性。PLLCOUNTPLL通/断位PLL通/断位PLLON/OFF:PLL的通/断位,读/写位。与PLLNDIV一起决定PLL是否工作。PLLON/OFFPLLNDIVPLL状态PLLON/OFFPLLNDIVPLL状态00断开10工作01工作11工作PLLON/OFF时钟发生器选择位时钟发生器选择位PLLNDIV:时钟发生器选择位,读/写位。用来决定时钟发生器的工作方式。与PLLMUL和PLLDIV位同时定义频率的乘数。当PLLNDIV=0时,采用分频DIV方式;当PLLNDIV=1时,采用倍频PLL方式。PLLNDIVPLL工作状态位PLL工作状态位PLLSTATUS:PLL的工作状态位,只读位。用来指示时钟发生器的工作方式。当PLLSTATUS=0时,时钟发生器工作于分频DIV方式;当PLLSTATUS=1时,时钟发生器工作于倍频PLL方式。PLLSTATUS2020年1月26日DSP原理及应用11第6章TMS320C54x片内外设(2)软件配置的PLL②软件PLL的工作方式通过软件编程,可以使软件PLL实现两种工作方式:PLL方式,即倍频方式。芯片的工作频率等于输入时钟CLKIN乘以PLL的乘系数,共有31个乘系数,取值范围为0.25~15。DIV方式,即分频方式。对输入时钟CLKIN进行2分频或4分频。2020年1月26日DSP原理及应用12第6章TMS320C54x片内外设(2)软件配置的PLL③软件PLL的乘系数软件PLL的乘系数可通过PLLNDIV、PLLDIV和PLLMUL的不同组合确定。PLLNDIVPLLDIVPLLMULPLL乘系数001111XX00110~14150~14150或偶数奇数0.50.25PLLMUL+11(PLLMUL+1)2PLLMUL42020年1月26日DSP原理及应用13第6章TMS320C54x片内外设(2)软件配置的PLL③软件PLL的乘系数根据PLLNDIV、PLLDIV和PLLMUL的不同组合,软件PLL共有31个乘系数,分别为:0.25、0.5、0.75、1、1.25、1.5、1.75、2、2.25、2.5、2.75、3、3.25、3.5、3.75、4、4.5、5、5.5、6、6.5、7、7.5、8、9、10、11、12、13、14、15。2020年1月26日DSP原理及应用14第6章TMS320C54x片内外设(2)软件配置的PLL④复位时钟方式当芯片复位后,时钟方式寄存器CLKMD的值是由3个外部引脚(CLKMD1、CLKMD2和CLKMD3)的状态设定,从而确定了芯片的时钟方式。’C5402复位时设置的时钟方式:CLKMD1CLKMD2CLKMD3CLKMD的复位值时钟方式000E007HPLL×150019007HPLL×100104007HPLL×51001007HPLL×2110F007HPLL×11110000H2分频(PLL无效)101F000H4分频(PLL无效)011——保留2020年1月26日DSP原理及应用15第6章TMS320C54x片内外设(2)软件配置的PLL④复位时钟方式通常,DSP系统的程序需要从外部低速EPROM中调入,可以采用较低工作频率的复位时钟方式,待程序全部调入内部快速RAM后,再用软件重新设置CLKMD寄存器的值,使’C54x工作在较高的频率上。例如,外部时钟频率为10MHz,CLKMD1~CLKMD3=111,时钟方式为2分频。复位后,工作频率为10MHz÷2=5MHz。用软件重新设置CLKMD寄存器,就可以改变DSP的工作频率,如设定CLKMD=9007H,则工作频率为10×10MHz=100MHz。2020年1月26日DSP原理及应用16第6章TMS320C54x片内外设(2)软件配置的PLL⑤倍频切换若要改变PLL的倍频,必须先将PLL的工作方式从倍频方式(PLL方式)切换到分频方式(DIV方式),然后再切换到新的倍频方式。实现倍频切换的步骤:步骤1:复位PLLNDIV,选择DIV方式;步骤2:检测PLL的状态,读PLLSTATUS位;步骤3:根据所要切换的倍频,确定乘系数;步骤4:由所需要的牵引时间,设置PLLCOUNT的当前值;步骤5:设定CLKMD寄存器。2020年1月26日DSP原理及应用17第6章TMS320C54x片内外设(2)软件配置的PLL⑤倍频切换【例6.1.1】从某一倍频方式切换到PLL×1方式。必须先从倍频方式切换到分频方式,然后再切换到PLL×1方式。其程序如下:STM#00H,CLKMDStatus:LDMCLKMD,AAND#01H,ABCStatus,ANEQSTM#03EFH,CLKMD;切换到DIV方式;测试PLLSTATUS位;若A≠0,则转移,;表明还没有切换到DIV方式;若A=0,则顺序执行,;已切换到DIV方式STM#03EFH,CLKMD;切换到PLL×1方式注意:2分频与4分频之间也不能直接切换。2020年1月26日DSP原理及应用18第6章TMS320C54x片内外设6.1.3省电和保持方式’C54x有多种省电方式,可以使CPU暂停工作,处于休眠状态,以减小功耗,但保持CPU中的内容。当省电方式结束后,CPU可以继续正常工作。’C54x有4种省电方式,分别为闲置方式1、闲置方式2、闲置方式3和保持方式。省电方式的实现:①执行IDLE1、IDLE2和IDLE3三条指令;②使外部信号HOLD=0,状态位HM=1。2020年1月26日DSP原理及应用19第6章TMS320C54x片内外设4种省电工作方式操作/特性IDLE1IDLE2IDLE3HOLDCPU处于暂停工作状态√√√√CPU时钟停止工作√√√外围电路时钟停止工作√√锁相环(PLL)停止工作√外部地址线处于高阻状态√外部数据线处于高阻状态√外部控制信号线处于高阻状态√因其他原因结束省电工作方式HOLD变为高电平√内部可屏蔽硬件中断√外部可屏蔽硬件中断√√√NMI√√√RS√√√2020年1月26日DSP原理及应用20第6章TMS320C54x片内外设6.1.3省电和保持方式在这种方式下,CPU除了时钟外所有的工作都停止。但外设电路可以继续工作,CLKOUT引脚保持有效。可用IDLE1指令,使CPU进入闲置方式1状态。用唤醒中断来结束CPU的闲置方式1。1.闲置方式1(IDLE1)2020年1月26日DSP原理及应用21第6章TMS320C54x片内外设这种方式可以使片内外设和CPU停止工作,系统功耗有明显减少。可用IDLE2指令进入闲置方式2。结束时,不能采用闲置方式1的方法,可用外部中断结束闲置方式2。2.闲置方式2(IDLE2)其方法:用一个10ns的窄脉冲加到外部中断引脚(RS、NMI和INTx),通过外部中断来结束闲置方式2。闲置方式2结束后,所有的外设都将复位。2020年1月26日DSP原理及应用22第6章TMS320C54x片内外设这种方式是一种完全关闭模式,除了具有闲置方式2的功能外,还可以终止锁相环PLL的工作,大幅度地降低系统功耗。可用IDLE3指令进入闲置方式3,用外部