|
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统 驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe |
请教各位高手关于2407实际运行速度的问题。 |
作者:cos 栏目:DSP技术 |
我用12M晶振,2倍频,锁相环滤波器电容电阻按照Datasheet上的数据配置。目的想测量IOPC5产生方波的频率以计算实际运行速度。但是测得频率值仅有140K(反汇编后发现while循环一共有8周期的指令),居然比单片机还慢…… 希望各位高手指教。 程序如下: #include "regs240x.h" void PHANTOM(); void initiate() { SCSR1 &= 0xf2ff; PCDATDIR |= 0x2000; } void main() { initiate(); while (1) { PCDATDIR ^= 0x0020; }; } void PHANTOM() { while(1); /* a place to hang if illegal trap */ } |
2楼: | >>参与讨论 |
作者: 小易 于 2005/5/10 14:01:00 发布:
我20M主频可以输出1.66M方波 如果头文件没有特别定义,应该*PCDATDIR ^= 0x0020; |
3楼: | >>参与讨论 |
作者: cos 于 2005/5/10 14:21:00 发布:
好像是仿真器的问题。 刚刚试着将程序烧进DSP中,然后拔掉仿真器再执行,就可以产生1.16MHz的方波。难道说带着仿真器执行与实际速度相差这么大?这个仿真也太不真了吧。而且CLKOUT还输出22MHz……我用的是闻亭的TDS510。 头文件是这样定义的: #define PCDATDIR *((volatile int *)0x709C) /* I/O PORT C Data & Direction reg. */ |
4楼: | >>参与讨论 |
作者: 小易 于 2005/5/10 14:47:00 发布:
我用SEED仿真下得到的结果 |
5楼: | >>参与讨论 |
作者: tjsheep 于 2005/5/10 20:16:00 发布:
这个比较奇怪了…… 用2407我最高跑过48M,很稳定, |
6楼: | >>参与讨论 |
作者: cos 于 2005/5/11 13:31:00 发布:
WSGR的问题。 已经解决了,我是把程序下载到片外RAM中,而没有设置等待周期。 初始化程序里加上这一句就可以了。 WSGR &= 0xffc0; |
|
|
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入 |
Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号 |