打印
[Cortex-M0技术交流]

LPC1225,GPIO输出速度问题

[复制链接]
2178|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
pauljoe|  楼主 | 2012-8-15 17:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
john_lee| | 2012-8-15 18:59 | 只看该作者
最高可以到CPU时钟的 1/4。要保证每一条CPU指令都是写GPIO端口才能到达最高速率。

使用特权

评论回复
板凳
X-Hawk| | 2012-8-16 15:34 | 只看该作者
这个受代码的影响很大。 除了代码外,就是芯片厂家的IO、执行flash上的指令有没延迟了。
这里是新唐的哥系列数据,从中可以看出,IO翻转速度有CPU时钟频率的 1/4或1/7 两种,大部分是1/4.

楼主的NXP的结果,看起来差许多。当然无意黑NXP,原因是多样的。多写几条指令就会差距很大。
建议抓出汇编看比较保险。




Unconditional branch instruction on flash

; asm code
; 1 branch instruction
B label


write GPIO speed
; asm code
; 2 STR instruction
; r1 = 0x00000000
; r2 = 0xffffffff
; r0 = 0x50004000
STR r1, [r0,#8]
STR r2, [r0,#8]


M051AN
M051BN
NUC102
NUC122
NUC130CN
NUC140CN


If CPU <= 25M and
FATCON.LFOM = 1
3 cpu cycles


Otherwise,
4~5 cpu cycles


4 clocks


NUC100BN
NUC120BN



If CPR.HPE = 0
7 clocks
If CPR.HPE = 1
4 clocks


NUC100AN
NUC120AN


4~5 cpu cycles


7 clocks


Mini51


4 clocks

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

5

帖子

1

粉丝