DSP芯片硬件系统的基本设计中时钟电路的设计Word文档下载推荐.docx

上传人:b****6 文档编号:19399811 上传时间:2023-01-06 格式:DOCX 页数:10 大小:24.45KB
下载 相关 举报
DSP芯片硬件系统的基本设计中时钟电路的设计Word文档下载推荐.docx_第1页
第1页 / 共10页
DSP芯片硬件系统的基本设计中时钟电路的设计Word文档下载推荐.docx_第2页
第2页 / 共10页
DSP芯片硬件系统的基本设计中时钟电路的设计Word文档下载推荐.docx_第3页
第3页 / 共10页
DSP芯片硬件系统的基本设计中时钟电路的设计Word文档下载推荐.docx_第4页
第4页 / 共10页
DSP芯片硬件系统的基本设计中时钟电路的设计Word文档下载推荐.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

DSP芯片硬件系统的基本设计中时钟电路的设计Word文档下载推荐.docx

《DSP芯片硬件系统的基本设计中时钟电路的设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《DSP芯片硬件系统的基本设计中时钟电路的设计Word文档下载推荐.docx(10页珍藏版)》请在冰豆网上搜索。

DSP芯片硬件系统的基本设计中时钟电路的设计Word文档下载推荐.docx

表中时钟方式的选择方案是针对不同C54x芯片的。

对于同样的CLKMD引脚状态,使用芯片不同,所对应的选择方案就不同,其选定的工作频率也不同。

因此,在使用硬件配置的PLL时,应根据所选用的芯片型号来选择正确的引脚状态。

由表可见,进行硬件配置时,其工作频率是固定的。

当不用PLL时,CPU的时钟频率等于内部振荡器频率或外部时钟频率的一半;

若用PLL,CPU的时钟频率等于内部振荡器频率或外部时钟频率乘以系数N,即对内部或外部时钟倍频,其频率为PLL×

N。

在DSP正常工作时,时钟模式不能重新改变和配置。

但DSP进入IDLE3省电模式后,其CLKOUT输出高电平时,时钟模式便可以重新进行配置。

表2.1 时钟方式配置

引脚状态

时钟方式

CLKMD1

CLKMD2

CLKMD3

选择方案1

选择方案2

用外部时钟源,PLL×

3

5

1

2

4

用内部振荡器,PLL×

用外部时钟源,频率除以2

用外部时钟源,频率除以2

用内部振荡器,频率除以2

停止方式

软件可编程PLL

2.2.1软件可编程PLL的工作方式

软件可编程PLL的特点是具有高度的灵活性。

它利用编程方式对时钟方式寄存器CLKMD的设定,来定义PLL时钟模块中的时钟配置。

它包括一个用来提供时钟乘法器系数的时钟定标器,并能直接接通和关断PLL的功能。

一个PLL锁定定时器,它可以用于延迟器件PLL时钟模式的切换,直到锁定操作完成为止。

通过软件编程,可以实现以下两种工作方式:

)PLL方式。

即倍频方式,芯片的工作频率等于输入时钟CLKIN乘以PLL的比例系数。

其比例系数共31种,取值范围为—15,靠锁相环电路获得。

)DIV方式。

即分频方式,对输入时钟进行2分频或4分频,在此方式下,所有的模拟电路,包括PLL电路将关断,以使芯片功耗最小。

2.2.2复位后时钟模式的设置

复位操作之后,时钟方式寄存器是由3个外部引脚CLKMD1、CLKMD2和CLKMD3的值来设定的。

3个CLKMD引脚对应的模式由表列出。

表 复位时设置的时钟模式(C5402)

CLKMD3

CLKMD的复位值

E007H

PLL×

15

9007H

10

4007H

5

1007H

F007H

1

0000H

2分频(PLL无效)

F000H

4分频(PLL无效)

保留

从表可以看出,不同的外部引脚状态对应不同的时钟方式。

通常,DSP系统的程序需要从外部低速EPROM中调入,可以采用较低工作频率的复位时钟方式,待程序全部调入内部快速RAM后,再用软件重新设置DSP寄存器的值,使DSP芯片工作在较高的频率上。

复位后软件可编程PLL可以被编程设置为任意所需的模式。

下列时钟模式的引脚的组合可以在复位时开放PLL:

C5402中是CLKMD(3—1)=000B—>110B,其它器件中是CLKMD(3—1)=000B—>101B。

当这些时钟模式引脚组合被使用时,内部的锁存定时器不再激活。

因此,系统必须延迟释放复位以保PLL锁存时间的延迟得到满足。

2.2.3时钟工作方式寄存器CLKMD的应用说明

对PLL的编程就是对16位的存储器映射寄存器——时钟工作方式寄存器CLKMD的编程,其地址为0058H。

其各位的定义如下表所示:

15—12

11

10—3

位定义

PLLMUL

PLLDIV

PLLCOUNT

PLLON/OFF

PLLNDIV

PLLSTATUS

位操作

R/W

R

表 时钟模式寄存CLKMD的格式

时钟方式寄存器CLKMD各位段的功能见下表:

表CLKMD寄存器各位段的功能表

符号

名称

功能

15~12

PLL乘法

(读/写位)

与PLLDIV以及PLLNDIV一起定义PLL的乘系数,见表5

PLL除法位

与PLLMUL以及PLLNDIV一起定义PLL的乘系数,见表5

10~3

PLL计数器值

PLL计数器是一个减法计数器,每16个输入时钟脉冲CLKIN到来后减1。

对PLL开始工作之后到PLL成为CPU时钟之前的一段时间进行计数定时。

PLL计数器能够确保在PLL锁定之后以正确的时钟信号加到CPU。

PLL通/关位

与PLLNDIV位一起决定PLL部件的通和断。

见下表

PLL状态

断开

工作

PLL时钟电路选择位(读/写位)

与PLLMUL和PLLNDIV一起定义PLL的乘系数,并决定时钟电路的工作方式。

PLLNDIV=0,采用DIV方式,即分频

PLLNDIV=1,采用PLL方式,即倍频

PLL的状态位(只读位)

用来指示时钟电路的工作方式:

PLLSTATUS=0,时钟电路为DIV方式

PLLSTATUS=1,时钟电路为PLL方式

PLL的系数的选择见下表:

表 PLL分频倍频系数配置表

PLL乘系数

0~14

15

0或偶数

奇数

PLLMUL+1

(PLLMUL+1)÷

PLLMUL÷

DSP内部时钟信号CLKOUT=CLKIN×

系数。

3.可编程PLL时钟工作模式的切换编程

下面将详细说明软件可编程PLL的编程思想,以及PLL在启动设置时、在不同时钟模式之间转换时以及在IDLE1/IDLE2/IDLE3指令运行前后的正确使用。

从分频模式切换向倍频模式的切换编程

在进行从分频模式向倍频模式的转换时,应当注意如果从DIV模式切换到PLL模式时PLL没有被锁定,那么在模式转换发生之前一定要有PLL锁定时间延迟,以保证只有合适的时钟信号才会被提供给器件。

因此,在从DIV模式切换到PLL模式时了解PLL是否被锁定很重要。

在上电时、在PLLMUL或PLLDIV的值修改后、在PLL关闭后(即PLLON/OFF=0)或在输入参照时钟丢失之后,PLL是不锁定的。

一旦被锁定,它将保持锁定状态,甚至在DIV模式下也保持。

只要PLL前面已被锁定,而且自PLL锁定以来,PLL一直没有被关闭过(PLLON/OFF位保持为1),PLLMUL和PLLDIV的值也没有被改变,那么PLL将一直保持锁定状态。

从DIV模式到PLL模式的切换(把PLLNDIV设置为1)激活了PLLCOUNT可编程锁存定时器(在PLLCOUNT被预先装载了一个非零值时),并且这个特点可以用于提供一个实现定时时间延迟的便捷方法。

PLLCOUNT锁存定时器的特性应当用在前面描述过的PLL没有被锁定的情况下,除非用一个复位延时来实现锁定时间延迟,或者PLL不使用。

从DIV模式到PLL模式的切换是通过对CLKMD的装载来完成的。

后面将说明在PLL未锁定时从DIV模式切换到PLL模式的过程如果在PLL被锁定的条件下进行这个模式转换,效果与从PLL模式切换到DIV时相同,但是顺序相反。

在这种情况下,新时钟模式生效的延迟时间是相同的。

在PLL没有锁定或模式改变后工作在没有锁定的状态下,从DIV模式切换到PLL模式可以同过设置PLLMUL、PLLDIV和PLLNDIV位来选择频率的倍频。

并且PLLCOUNT位将被设置,以选择所需要的锁定时间延迟。

注意,只有在DIV模式中才能改变PLLMUL、PLLCOUNT和PLLON/DOFF位。

一旦PLLDIV置位,PLLCOUNT锁定定时器就从预设值开始递减。

当PLLCOUNT锁定定时器减到0后,需要6个CLKIN周期加上个PLL周期(CLKOUT频率)切换到PLL模式。

完成切换后,CLKMD中的PLLSTATUS位读出为1.。

注意,在PLL锁定期间,C54xDSP仍工作在DIV模式。

下面的指令可以实现从DIV模式切换到PLL×

3模式,其中CLKIN频率为13MHz,PLLCOUNT=(18)10,该值包含了一定的安全冗余量。

STM#0010000010010111B,CLKMD

从倍频模式向分频模式的切换编程

从PLL模式切换到DIV模式是,没有PLLCOUNT延时,这种切换经过短暂的延时后即可实现。

从PLL模式切换到DIV模式时也要装载CLKMD寄存器。

将PLLDNIV位清零,选择DIV模式而且PLLMUL位被设置以选择所需要的频率乘数因子。

对所有的PLLMUL值(除了1111B)而言,切换到DIV模式需要6个CLKIN周期加上个PLL周期(CLKOUT频率)。

当PLLMUL的值为1111B,切换过程需要12个CLKIN周期加上个PLL周期。

在完成切换到DIV模式后,CLKMD中的PLLSTATUS位的读出值为0。

下面的程序可以实现从PLL×

3(3倍频)模式到二分频模式的切换。

在程序中,通过检测PLLSTATUS位来确定是否已切换到DIV模式,在确认完成切换后,用STM指令关闭PLL。

STM#0B,CLKMD    ;

转换到DIV模式

Testb:

LDMCLKMD,A   

AND#01B,A    ;

查询STATUS位

BCTstStatu,ANEQ

STM#0B,CLKMD

      ;

若STATUS是DIV模式时,复位PLLON/OFF

从倍频模式向倍频模式的切换编程

要改变PLL的倍率,必须先把时钟模式从PLL模式切换到DIV模式,然后在切换到新的PLL模式。

不允许从一种PLL倍率直接切换到另一种PLL倍率。

为了从一种PLL倍率切换到另一种PLL倍率,必须遵从以下步骤:

(1)将PLLNDIV位清0,选择DIV模式。

(2)查询PLLSTATUS位,该标志位为0说明已切换到DIV模式。

(3)按照所要求的倍率,修改CLKMD寄存器中的PLLMUL、OLLDIV和PLLNDIV。

一旦PLLDIV位被置位,PLLCOUNT锁定定时器就从预设值开始递减。

当PLLCOUNT锁定定时器减到0时,在经过6个CLKIN周期加上个PLL周期(CLKOUT频率)的时间后,切换到PLL模式。

下面一段指令可以完成从PLL×

(X)模式切换到PLL1的模式

STM#0b,CLKMD     ;

先转换到DIV模式

LDMCLKMD,A     

AND#01B,A     ;

BCTstStatu,ANEQ

STM#0000001111101111B,CLKMD

转换到PLL×

1模式

从分频模式向分频模式的切换编程

与从PLL模式到PLL模式切换的情况一样,直接在2分频和4分频之间的切换也是不允许的。

若要在这两个模式之间切换,则必须先切换到PLL的整数(非分数)倍频模式,然后在切换到所要求的分频模式。

下面的程序可实现从DIV÷

2模式切换到DIV÷

4模式:

STM#0000000010010111B,CLKMD

先从2分频模式切换到PLL×

STM#0B,CLKMD;

再转换到DIV模式

LDMCLKMD,A

AND#01B,A;

STM#000110000000010B,CLKMD

若STATUS=0,则转换到DIV模式,设置相关位,从PLL×

1模式—>

DIV÷

4模式

紧跟在复位之后的PLL操作

在复位之后,时钟模式立即由3个外部引脚CLKMD1、CLKMD2和CLKMD3的值决定。

从初始时钟模式切换到任意其他模式的转换可以很容易地通过改变CLKMD的内容来完成。

如果内部振荡器的使用需要一个外部晶振,那么器件的CLKMD引脚必须在复位时被设置,一启动内部振荡器。

参考表和表中列出的每种器件的外部引脚值和可用模式。

(在C5420中内部振荡器是无效的)

下面的指令可实现从÷

2模式到PLL×

3的转换:

STM#0010000101001111B,CLKMD

使用IDLE指令时PLL的编程方法

在使用一条IDLE指令来减少能量需求时,对PLL的正确管理是很重要的。

时钟产生器在禁止PLL的DIV模式下消耗的能量是最少的。

因此,如果功耗是一个很重要的考虑时,在执行IDLE1IDLE2或IDLE3指令之前,希望从PLL模式转换到DIV模式并禁止PLL。

在“从PLL模式到DIV模式转换”一节中,已经解释了这个过程。

在器件从IDLE1/IDLE2/IDLE3模式唤醒之后,时钟产生器可以被重新编程到PLL模式,这个过程在“从DIV模式到PLL模式转换”一节中进行了解释。

注意,当PLL在模式IDLE状态下停止,并且C54x器件重新启动且时钟产生器切换回到PLL模式时,PLL锁定延迟会出现,其方式和一般器件启动时的情况一样。

因此,在这种情况下,必须考虑锁定延迟,可以是外部延迟或是用PLL锁存定时器延迟。

下面一段代码序列使时钟产生器从PLL×

3模式切换到÷

2模式,并关闭PLL,进入IDLE3状态。

当器件从IDLE3模式唤醒后,用一条STM指令将时钟产生器从DIV模式转换到PLL×

3模式,此时,为锁存定时器PLLCOUNT所设的初值为(64)10。

STM#0B,CLKMD;

转换到DIV模式

LDMCLKMD,A;

(CLKMD)—>

(A)

AND#01B,A;

BCTstStatu,ANEQ

若STATUS=1,未转换到DIV模式,跳转到Testb处继续检测

STM#0B,CLKMD

当STATUS=0,转换到DIV模式时复位PLLON/OFF

IDLE3

(在IDLE3唤醒之后,将PLL从DIV模式切换到PLL×

3模式)

STM#0010001000000111B,CLKMD;

PLLCOUNT=64(十进制)

5参考文献

1.DSP原理及应用电子工业出版社邹彦主

2.C54xApplications

3.C54xMnemonicInstruction

4.TMS320C54x系列DSP的CPU与外设[美]TexasInstrumentsIncorporated著梁晓雯裴小平李玉虎编译

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 财务管理

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

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