|
发表于 2011-8-3 11:25:11
|
显示全部楼层
测试芯片型号 M054LAN
测试设备,逻辑分析仪+开发的产品样板
22.1184 MHz内部时钟(可能有一点点误差)
低电平时间 85ns ,高电平时间 95ns ,周期 180ns。
IO 翻转速度为 5.5555555555555MHz
(原文件名:22.1184MHzIO频率.jpg)
(原文件名:22.1184MHzIO周期.jpg)
50MHz PLL倍频下
低电平时间 35ns ,高电平时间 45ns ,周期 80ns。
IO 翻转速度为 12.5MHz
(原文件名:50MHzIO频率.jpg)
(原文件名:50MHzIO周期.jpg)
测试代码如下:
IAR 最高优化
void main(void)
{
DrvSYS_SelectPLLSource(E_SYS_INTERNAL_22M);
DrvSYS_Open(50000000);
while(1)
{
P20_DOUT=1;
P20_DOUT=0;
P20_DOUT=1;
P20_DOUT=0;
P20_DOUT=1;
P20_DOUT=0;
P20_DOUT=1;
P20_DOUT=0;
P20_DOUT=1;
P20_DOUT=0;
P20_DOUT=1;
P20_DOUT=0;
P20_DOUT=1;
P20_DOUT=0;
P20_DOUT=1;
P20_DOUT=0;
P20_DOUT=1;
P20_DOUT=0;
P20_DOUT=1;
P20_DOUT=0;
}
}
汇编代码:
main:
0x7f8: 0xb580 PUSH {r7, lr}
DrvSYS_SelectPLLSource(E_SYS_INTERNAL_22M);
0x7fa: 0x2001 MOVS r0, #1
0x7fc: 0xf7ff 0xfc9f BL DrvSYS_SelectPLLSource ; 0x13e
DrvSYS_Open(50000000);
0x800: 0x480d LDR.N r0, ??DataTable1 ; 0x2faf080 (50000000)
0x802: 0xf7ff 0xfd09 BL DrvSYS_Open ; 0x218
0x806: 0x2000 MOVS r0, #0
0x808: 0x490c LDR.N r1, ??DataTable1_1 ; GPIO_P20_DOUT
0x80a: 0x2201 MOVS r2, #1
P20_DOUT=1;
??main_0:
0x80c: 0x600a STR r2, [r1]
P20_DOUT=0;
0x80e: 0x6008 STR r0, [r1]
P20_DOUT=1;
0x810: 0x600a STR r2, [r1]
P20_DOUT=0;
0x812: 0x6008 STR r0, [r1]
P20_DOUT=1;
0x814: 0x600a STR r2, [r1]
P20_DOUT=0;
0x816: 0x6008 STR r0, [r1]
P20_DOUT=1;
0x818: 0x600a STR r2, [r1]
P20_DOUT=0;
0x81a: 0x6008 STR r0, [r1]
P20_DOUT=1;
0x81c: 0x600a STR r2, [r1]
P20_DOUT=0;
0x81e: 0x6008 STR r0, [r1]
P20_DOUT=1;
0x820: 0x600a STR r2, [r1]
P20_DOUT=0;
0x822: 0x6008 STR r0, [r1]
P20_DOUT=1;
0x824: 0x600a STR r2, [r1]
P20_DOUT=0;
0x826: 0x6008 STR r0, [r1]
P20_DOUT=1;
0x828: 0x600a STR r2, [r1]
P20_DOUT=0;
0x82a: 0x6008 STR r0, [r1]
P20_DOUT=1;
好啦,IO 口翻转测试结果出来了,看结果吧!
实践是检验真理的唯一标准,不要光说不练,先试了再说。 |
|