3943|9

8

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

LPC1768与LPC54102数据处理速度对比讨论 [复制链接]

1、目的:对比1768和54102在100MHz时数据处理的速度

2、数据:

               posdata_sum = 0x0;

                for(i=6;i>0;i--)

                {       

                        posdata_sum += posdata_tmp;

                }

                posdata_avg = posdata_sum >> 4;

                posdata_um = posdata_avg/22;

                posdata_50um = posdata_um/50;

3、程序:

              1)LPC1768程序很多,这里就不上传了,方法就是通过端口翻转示波器测了来看时间,1768工作在100MHz时,处理上述数据时间是400ns

              2)LPC54102借用万利的gpio例子(M4单核工程),更改了main.c见附件,更改了board_led.c程序中

                   void Board_LED_SetPortState ( uint32_t sta )函数只保留P0_30的处理,如下:

                    void Board_LED_SetPortState ( uint32_t sta ) {

                                         (sta & 0x01) ? Chip_GPIO_SetPinState(LPC_GPIO, 0, 30, true)  : Chip_GPIO_SetPinState(LPC_GPIO, 0, 30, false);

                    }

4、结论:

            LPC1768在100MHz时处理该数据速度是400ns,LPC54102是1200ns,有点想不通,请大家看看有没有问题,谢谢!


main.rar

1.01 KB, 下载次数: 2

gpio例程中的main.c

此帖出自NXP MCU论坛

最新回复

  详情 回复 发表于 2016-4-7 21:09
点赞 关注
 

回复
举报

9797

帖子

24

TA的资源

版主

沙发
 
本帖最后由 littleshrimp 于 2015-5-20 22:16 编辑

看不出来你处理了什么数据,LPC1768应该是M3核,LPC54102的特点是SIMD指令和FPU这些需要你使用CMSIS对应的数学库并且正确配置后才能有效利用。
此帖出自NXP MCU论坛
 
 
 

回复

10

帖子

2

TA的资源

一粒金砂(初级)

板凳
 
先测54102io翻转速度
此帖出自NXP MCU论坛
 
 
 

回复

8

帖子

0

TA的资源

一粒金砂(中级)

4
 
littleshrimp 发表于 2015-5-20 22:15
看不出来你处理了什么数据,LPC1768应该是M3核,LPC54102的特点是SIMD指令和FPU这些需要你使用CMSIS对应的数学库并且正确配置后才能有效利用。

你好,处理的数据posdata_tmp = 0xcb91795,在万利的gpio例子中已经正确初始化了fpu,
此帖出自NXP MCU论坛
 
 
 

回复

8

帖子

0

TA的资源

一粒金砂(中级)

5
 
东东6 发表于 2015-5-21 08:08
先测54102io翻转速度

已经测试过gpio翻转速度了
此帖出自NXP MCU论坛
 
 
 

回复

466

帖子

0

TA的资源

版主

6
 
你操作GPIO的时候,用寄存器操作试试,可能是库带来的影响
此帖出自NXP MCU论坛
 
 
 

回复

8

帖子

0

TA的资源

一粒金砂(中级)

7
 
weizhongc 发表于 2015-6-29 14:37
你操作GPIO的时候,用寄存器操作试试,可能是库带来的影响

其实已经上述操作已经是寄存器操作了,所用函数Chip_GPIO_SetPinState(),这个函数就是直接操作寄存器了pGPIO->B[port][pin] = setting;
此帖出自NXP MCU论坛
 
 
 

回复

8

帖子

0

TA的资源

一粒金砂(中级)

8
 
liuyuedeyu 发表于 2015-6-30 17:00
其实已经上述操作已经是寄存器操作了,所用函数Chip_GPIO_SetPinState(),这个函数就是直接操作寄存器 ...

通过直接访问地址读写寄存器的方式确实已经提高到了684ns,但是和lpc1768的速度还是有差距,具体方式:
#define LPC_GPIO0_32_BASE        (0x1C000000 + 0x001E)
#define LPC_GPIO0_32_B            (*(volatile unsigned *)LPC_GPIO0_32_BASE)
此帖出自NXP MCU论坛
 
 
 

回复

8

帖子

0

TA的资源

一粒金砂(中级)

9
 
本帖最后由 liuyuedeyu 于 2015-9-17 14:38 编辑

经过与NXP技术沟通发现,Keil需要进行如下设置,设置之后CPU处理数据时间就大大缩短了

Keil for Arm.jpg (90.4 KB, 下载次数: 0)

Keil针对时间优化的设置

Keil针对时间优化的设置
此帖出自NXP MCU论坛
 
 
 

回复

14

帖子

0

TA的资源

一粒金砂(初级)

10
 
此帖出自NXP MCU论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表