首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

谁来为我验证一下这个程序?

我要提醒你,假设你倍频的程序正确(因为我没验证你的程序),你还要注意一个问题,就是CLKOUT的周期不一定就是DSP 内部的机器周期,你自己查一下5409的datasheet,在上电(系统reset)的时候,CLKOUT输出频率为DSP内部机器工作频率的1/4,你的情况刚好吻合。要想输出其内部机器周期,你要写BSCR寄存器,将其中的DIVFCT配置成输出机器周期的数值。



[此贴子已经被作者于2004-12-4 11:29:11编辑过]

如果我说错了,请你直接写信给我,提醒我的错误。kenail2002@163.com

谁来为我验证一下这个程序?

这是个DSP5409的设置备频的程序 结果出问题了 #define K_FIXED_CLKMD 0x074f void C5409_config(char PLL_MUL) /* PLLMUL Must >=1 */ { char i; SWWSR = K_WAITE_STATE; asm(" SSBX INTM"); asm(" RSBX SXM"); asm(" SSBX XF"); IMR = 0x0; CLKMD = 0x0; for(i=0;i<10;i++); i = CLKMD; while(i&0x1) i = CLKMD; CLKMD = K_FIXED_CLKMD | ((PLL_MUL-1)<<12); for(i=0;i<100;i++); } 外部晶振是32.768MHZ,问题现象是我在3倍频时, CLKOUT出来的不是96M,而是24M,2倍频是16M 1倍频是8M, 我的CLKMD1-3(100),最糟糕的是这个程序原来在这个片子上是正确的 现在把它焊下来放到另一块板子上却不行了,32M输入是正确的,请问是什么原因? 给点提示,谢谢!
找到原因了,是因为我的仿真器驱动少打了个gel5000的补丁
返回列表