关于TMS320VC5410时钟的困扰,恳请帮忙解答
最近在做DSP实验,使用的是达盛科技的EL-DSP-EXPII实验箱,但是遇到一些百思不得其解的问题。在这里求助大家。http://cache.amobbs.com/bbs_upload782111/files_22/ourdev_509771.jpg
复位时钟设置 (原文件名:复位时钟设置方式.jpg)
上图是5410复位后的时钟寄存器CLKMD的初始值,这里的问题是:同样是使用内部时钟源,频率除以2,CLKMD的值为4000H和7000H,这有什么不同吗?还有,既然PLL被禁用了,那这个频率除以2是什么意思呢?
http://cache.amobbs.com/bbs_upload782111/files_22/ourdev_509772.jpg
CLKMD寄存器 (原文件名:CLKMD寄存器.jpg)
CLKMD寄存器定义如图所示,从寄存器各位的定义来看,复位后默认PLL是关闭的,也就是说PLL是不起作用的。那这个时候时钟源是来自于哪里?内部晶振吗?可参数手册上有这样一句话:
The clock generator provides clocks to the 5410 device, and consists of an internal oscillator and a
phase-locked loop (PLL) circuit. The clock generator requires a reference clock input, which can be provided
by using a crystal resonator with the internal oscillator, or from an external clock source.
意思是:时钟发生器为5410提供工作时钟,是由一个内部振荡器和一个锁相环电路组成的。时钟发生器需要一个参考输入时钟,这个参考时钟可以来自于外部晶振和内部振荡器配合产生,或者来自于外部时钟源。
莫非TMS320VC5410必须要接外部晶振吗?如果不需要接外部晶振,那么内部时钟频率到底为多少呢?
做DSP时钟实验,源代码如下:
;File Name:exp01.asm
;the program is compiled at no autoinitialization mode
.mmregs
.global _main
_main:
stm #3000h,sp ;设置堆栈指针
ssbx xf ;置位xf(External Flag)管脚
call delay ;延时
rsbx xf ;复位xf管脚
call delay ;延时
b _main ;无条件跳转
nop
nop
;delay .5 second
delay:
stm 270fh,ar3 ;将长立即数270fH放入寄存器ar3
loop1:
stm 0f9h,ar4 ;将长立即数0f9H放入寄存器ar4
loop2:
banz loop2,*ar4- ;内循环ar4--
banz loop1,*ar3- ;外循环ar3--
ret ;返回
nop
nop
.end
这是示例代码,注释中标注的0.5s,实际实验中LED闪亮速度是2s。也就是说时钟频率约为5MHz,我观察了一下,实验箱上的外部晶振是10MHz的。只有把CLKMD1~CLKMD3的跳线帽全部拔下,即使得CLKMD的寄存器复位值为7000H,LED闪烁速度才为0.5s,可5410的DataSheet上不是说7000H是保留值么?这是为什么啊?疑惑,恳请大虾帮忙解答,附上我们的实验手册,见实验五。
点击此处下载 ourdev_509773.pdf(文件大小:1.48M) (原文件名:电信专业实验.pdf)
谢谢! 晕了,没人回答么? 顶起来……恳请大虾们回复
页:
[1]