lvyingf
游客
游客
阅读:2345回复:5

DSP开发手记(第三日)(2)

楼主#
更多 发布于:2002-05-06 17:34
在McBSP控制工作允许语句后设置一个断点,运行程序,用示波器观察BCLKR0波形,ok,方波已经有了,再测帧同步BFSR0,没有输出信号:(。检查一下寄存器设置:
SPCR10=0x20、SPCR20=0x200、RCR10=0x2940、RCR20=0x0042、SRGR10=0x0027、SRGR20=0x2fff、PCR0=0x0508,帧同步和时钟同步都已经设置为内部产生并输出了,怎么会没有帧信号输出呢?
先不管了,看看时钟同步信号频率,也不太对呀。。。已经设置了SRGR10=0x0027,也就是说频率应该是系统时钟的1/(39+1)倍,系统时钟是40MHz,也就是说串口同步时钟应该是1M才对。再测一下系统时钟吧,哦,原来如此,是系统时钟频率就已经不对啦。查初始化程序。。。多次试验加上查SPEC,问题终于解决了。。。
我的系统初始化配置程序如下:
PMST = K_PMST; //IPTR=02,MP/MC=1,OVLY=1,AVIS=0,drom=1, clkoff=1,
SWWSR = K_SWWSR; //flash is TWO cycle wait
SWCR = K_SWCR;
BSCR = K_BSCR;
CLKMD = 0x0;//!!!!!!!!!!!
while(CLKMD&0x01);//!!!!!!!!
CLKMD = K_CLKMD; //set clock to 40Mhz
原来在改变系统时钟倍率时,必须先由倍频方式变为降频方式,稳定后才能重新对倍率寄存器赋值,如果想当然地直接对此寄存器赋值则会无效(加!号的两行是我后加的,很重要)。

[编辑 -  5/6/02 作者: lvyingf]

[编辑 -  5/6/02 作者: lvyingf]
moqingsong
论坛版主
论坛版主
  • 注册日期2002-04-07
  • 最后登录2011-02-03
  • 粉丝0
  • 关注0
  • 积分74分
  • 威望71点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-05-06 20:23
我得再好好看看。
按第一贴的“给分”键,给分。
ququ
驱动小牛
驱动小牛
  • 注册日期2001-07-02
  • 最后登录2007-12-26
  • 粉丝0
  • 关注0
  • 积分342分
  • 威望35点
  • 贡献值0点
  • 好评度34点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-05-13 09:09
TI的手册中关于时钟的改变可是写得很清楚的啊,呵呵。
lvyingf
游客
游客
地板#
发布于:2002-05-13 23:00
当然说的很清楚了,spec嘛基本上该注意的都有了。可是在很短的几天时间里,拜读5卷每卷都有几百页的spec就不容易了。
我不是在创新,我只是讲一下在刚开始时,几点必须要注意的事儿罢了。而且,我想这些事情对于初学者,是有着很大的共性的
guardee
驱动巨牛
驱动巨牛
  • 注册日期2002-11-08
  • 最后登录2010-05-29
  • 粉丝2
  • 关注1
  • 积分2分
  • 威望34点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-05-13 23:57
怎么时间有问题啦?2001年的都出来啦?
lvyingf
游客
游客
5楼#
发布于:2002-05-14 22:06
哪里有2001呀?
游客

返回顶部