打印

用STM32 和NUC120做了几个项目!比较下各自的特点!(外设和速度)

[复制链接]
3995|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Aaron238|  楼主 | 2011-3-14 13:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Aaron238 于 2011-3-14 15:10 编辑

只比较使用过的外部设备,如有不正确的地方请指正!谢谢
         USART:
               STM32 的USART 没有FIFO , NUC 的有64\16 BYTE FIFO
               STM32 的USART 波特可以小数 在频率高的时候可以满足要求. NUC 的做不到!
         SPI : STM32 的SPI 没有FIFO , NUC 的有 2 字 FIFO  
         I2C : STM32 支持 400K  , NUC 可以支持 1M
         GPIO : STM32 中断 只支持 16个 GPIO  (不支持 不同端口,同位 IO 同时使用) , NUC 可以支持所有 GPIO
         I2S : STM32 和 SPI 是公用的 不支持 同时 双向传输, NUC 的 I2S 是单独的 外设!
         ADC : STM32 的 速度和精度 很高!  NUC 的在 800K 的时候只能做到 10 BIT , 支持差分输入 ;
         DAC : STM32 有两路输出 , NUC 没有DAC
         DMA : STM32 无FIFO  NUC 有一个字!

另外比较了下 STM32和 NUC 的 FLASH 运行速度!
测试代码

A = 1 ; B = 1 ;
while(1)
   {
   A = A + B ;
   if( A  == 10000000) //1千万次运算
    {
    A = 1 ;
        // IO 输出测试时间
    if(GPIOA->DOUT  == 0XFFFF)GPIOA->DOUT  =  0  ;
else GPIOA->DOUT   = 0XFFFF ;
    }
  }
NUC FLASH 无等待时间
24MHZ STM32 FLASH_SetLatency = 0   T = 3.38S  NUC 6.30S  
48MHZ STM32 FLASH_SetLatency = 1   T = 2.95S  NUC 3.15S
60MHZ 未测试                          NUC      T = 2.46S  目前NUC 最大 60M
72MHZ STM32 FLASH_SetLatency = 2   T = 2.39S  NUC 2.10S  超频72M测试
沙发
Aaron238|  楼主 | 2011-3-14 14:05 | 只看该作者
从速度测试的结果可以看出 STM32 M3 内核 在 24M 的时候 明显比  M0 的快很多 ! 接近 1倍了!

使用特权

评论回复
板凳
mytempid| | 2011-3-14 15:52 | 只看该作者
“DMA : STM32 无FIFO  NUC 有一个字!”
这里的DMA什么概念?
目前我看到的ARM7或M3中,DMA是外设和内存、外设和外设联系的通路,使用上应该比FIFO更灵活。

使用特权

评论回复
地板
sinadz| | 2011-3-14 15:56 | 只看该作者
这个测试准确不?

使用特权

评论回复
5
Aaron238|  楼主 | 2011-3-14 16:02 | 只看该作者
“DMA : STM32 无FIFO  NUC 有一个字!”
这里的DMA什么概念?
目前我看到的ARM7或M3中,DMA是外设和内存、外设和外设联系的通路,使用上应该比FIFO更灵活。
mytempid 发表于 2011-3-14 15:52


DMA 一样有 FIFO 在总线被 CPU 站用的时候就可以先近 FIFO ! 如果没有 FIFO 就要等待 CPU 不使用总线的时候了! DMA 才可以传输数据! STM32F2XX 的DMA 就有 FIFO !

使用特权

评论回复
6
hsbjb| | 2011-3-14 18:26 | 只看该作者
的确是STM32更快一点

使用特权

评论回复
7
airwill| | 2011-3-14 20:36 | 只看该作者
本人暂时还没有收入研究 NUC, 不过:
在对比指令执行速度的时候, 最好把执行的反汇编代码也一并给出.

使用特权

评论回复
8
Aaron238|  楼主 | 2011-3-15 10:06 | 只看该作者
在速度在 48 M 一下的时候 STM32 要快点 48M 以上的时候 速度就差不多了!
在 72M 的时候 STM32  还比 NUC M0 慢点!  

所以以后在使用的时候 最好就在 24M 这样 性能还可以 功耗也比较低!
当跑 72 的时候 实际的运行速度没有提供多少 ! 但是功耗就大了不少!

使用特权

评论回复
9
yinyangdianzi| | 2011-3-15 14:47 | 只看该作者
STM32性价比算高的了。。。看产品的需求吧

使用特权

评论回复
10
IJK| | 2011-3-15 15:42 | 只看该作者
在速度在 48 M 一下的时候 STM32 要快点 48M 以上的时候 速度就差不多了!
在 72M 的时候 STM32  还比 NUC M0 慢点!  

所以以后在使用的时候 最好就在 24M 这样 性能还可以 功耗也比较低!
当跑 72 的时候 实际的运 ...
Aaron238 发表于 2011-3-15 10:06


不能按照超频的情况来说。有的STM32可以超频到120M

使用特权

评论回复
11
baidudz| | 2011-3-15 18:41 | 只看该作者
还是比较喜欢用STM32

使用特权

评论回复
12
Aaron238|  楼主 | 2011-3-16 10:15 | 只看该作者
10# IJK

STM32 在 72M 的时候用了 2.39S  NUC1XX 在 60M 的时候用了 2.46S  NUC 最大 60M   时间只差了 0.07S

使用特权

评论回复
13
香水城| | 2011-3-16 12:40 | 只看该作者
楼主通过测试程序的运行时间,测试Flash速度的方法不可信。因为程序运行的时间还与总线的机构与速度有关。

使用特权

评论回复
14
dfsa| | 2011-3-16 16:34 | 只看该作者
的确是不太准确

使用特权

评论回复
15
IJK| | 2011-3-16 17:57 | 只看该作者
LZ的方法,粗略参考一下是可以的。
比较可信的,是用 Drystone的测试程序。
据说最靠谱的是 EEMBC的测试结果。

使用特权

评论回复
16
wifi| | 2011-3-16 18:09 | 只看该作者
STM32更快一点

使用特权

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

本版积分规则

56

主题

487

帖子

1

粉丝