这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » LPC2xxx,ARM LPC2xxx ARM的I/O速度实际测试结果,附程序.

共2条 1/1 1 跳转至

LPC2xxx,ARM LPC2xxx ARM的I/O速度实际测试结果,附程序...

院士
2006-09-17 18:14:16     打赏
LPC2xxx,ARM LPC2xxx ARM的I/O速度实际测试结果,附程序...



关键词: LPC2xxx     速度     实际     测试     结果     程序    

院士
2006-12-22 22:43:00     打赏
2楼
问 刚刚闲着没事, 用ARM_LPC2136  和 AVR_Mega128 比较了一下

CPU-2136, 使用如下程序:  ADS编译.

while(1)    主频44M, I/O 只有 650K Hz 的速度.
{
  IOCLR |= LED1;     //IODIR 已经设置为出.
  IOSET |= LED1;  //(为了提高上升速度,俺又在LED1上, 上拉了2K的电阻.)
}      


CPU-Mega128
使用如下程序, IAR编译.
while(1)   主频8M, I/O 就有 680K Hz 的速度了.
  PORTD ^= 0x01;   //PD0 已经设置为出.


真是搞不懂,为什么LPC2xxx的速度为何上不去.
俺正想用2138来做读写一个大的并口存储东东呢.
这叫俺怎么敢用啊? 还是有什么地方没做对啊?如何提高读写速度呢?




LPC2xxx ARM的I/O为何如此的慢? 1: 关注... 2: LPC214X 速度比较高 3: LPC214X 速度比较高? 从何说起啊?哪位要是有用过AT91SAM7系列的, 试一下,看看有多快? 4: 很怀疑楼主实验的真实性,LPC214X的IO不是很快(最快)的吗???看有些介绍是这么说的... 5: 很怀疑楼主实验的真实性? 不会吧? 等等发个图上来. 6: 俺贴个图片上来.to: hotpower   确实是650 KHz. 最好亲自试一下.  7: 以下是实验板: 8: 严重怀疑楼主,没有把IO时钟初始化弄高上去~~~~~~ 9: 空口说没用的, 拿个实际的数据出来看一下.设置应该没错的了. 10: 程序放在ram里执行把循环写io的程序放在ram里执行应该快很多 11: LPC21xx也可以把程序放在ram里执行吗?具体怎么做啊? 能不能给个程序参考啊? 12: 可以keil ARM:
void my_prog_func (...) __ram
{
  ...
}
13: 谢谢 云中月8888,可在ADS中又如何做啊?  14: 请教云中月8888: 类似__ram如何在realview上实现??? 15: 用分散加载ads和realview一样,用分散加载的方法,具体我没用过。看看以前的帖子。 16: 请问hotpower在realview里可以用Multi-ICE仿真器吗? 17: 对楼主提几个问题1、VPBDIV设了多少?如果只有1/4分频,IO是很慢的,大概写一次要28周期左右,如果设为不分频,则写一次要7周期,还是有些慢。一般最高也只能到差不多4MHz。

2、while循环浪费了不少时间,建议在循环里多复制几次那两条指令。至于放到RAM中运行,那没有必要,因为LPC21xx系列有MAM,包含了128位取指缓存和128位分支缓存,像这样的语句,取指不会影响运行速度,不过需要正确设置。

3、对速度要求高可以用LPC214x,用其FIO寄存器来操作,写一次只需2周期。我用它来模拟时序读CF卡(8位方式),每秒能读3M多,中间还插了不少NOP。
18: I/O口 怎么也上不到2M, 1.7 M左右.用各位介绍的方法, I/O口 怎么也上不到3M, 1.7M左右.

真是搞不懂啊,I/O那么慢,又没DMA, 到底能用来做什么啊? 19: rewhile(1)    主频44M, I/O 只有 650K Hz 的速度.
{
  IOCLR |= LED1;     //IODIR 已经设置为出.
  IOSET |= LED1;  //(为了提高上升速度,俺又在LED1上, 上拉了2K的电阻.)
}

实在没有必要用与操作符,这样相当于读一次又写一次寄存器,时间多了1倍。

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]