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

ling281021799   2011-3-14 13:56 楼主


只比较使用过的外部设备,如有不正确的地方请指正!谢谢
         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测试

回复评论 (16)

                                 从速度测试的结果可以看出 STM32 M3 内核 在 24M 的时候 明显比  M0 的快很多 ! 接近 1倍了!
点赞  2011-3-14 14:05
“DMA : STM32 无FIFO  NUC 有一个字!”
这里的DMA什么概念?
目前我看到的ARM7或M3中,DMA是外设和内存、外设和外设联系的通路,使用上应该比FIFO更灵活。
点赞  2011-3-14 15:52
                                 这个测试准确不?
点赞  2011-3-14 15:56
“DMA : STM32 无FIFO  NUC 有一个字!”
这里的DMA什么概念?
目前我看到的ARM7或M3中,DMA是外设和内存、外设和外设联系的通路,使用上应该比FIFO更灵活。
DMA 一样有 FIFO 在总线被 CPU 站用的时候就可以先近 FIFO ! 如果没有 FIFO 就要等待 CPU 不使用总线的时候了! DMA 才可以传输数据! STM32F2XX 的DMA 就有 FIFO !
点赞  2011-3-14 16:02
                                 的确是STM32更快一点
点赞  2011-3-14 18:26
本人暂时还没有收入研究 NUC, 不过:
在对比指令执行速度的时候, 最好把执行的反汇编代码也一并给出.
点赞  2011-3-14 20:36
在速度在 48 M 一下的时候 STM32 要快点 48M 以上的时候 速度就差不多了!
在 72M 的时候 STM32  还比 NUC M0 慢点!  

所以以后在使用的时候 最好就在 24M 这样 性能还可以 功耗也比较低!
当跑 72 的时候 实际的运行速度没有提供多少 ! 但是功耗就大了不少!
点赞  2011-3-15 10:06
                                 STM32性价比算高的了。。。看产品的需求吧
点赞  2011-3-15 14:47
在速度在 48 M 一下的时候 STM32 要快点 48M 以上的时候 速度就差不多了!
在 72M 的时候 STM32  还比 NUC M0 慢点!  

所以以后在使用的时候 最好就在 24M 这样 性能还可以 功耗也比较低!
当跑 72 的时候 实际的运 ...
不能按照超频的情况来说。有的STM32可以超频到120M
点赞  2011-3-15 15:42
                                 还是比较喜欢用STM32
点赞  2011-3-15 18:41
10# IJK

STM32 在 72M 的时候用了 2.39S  NUC1XX 在 60M 的时候用了 2.46S  NUC 最大 60M   时间只差了 0.07S
点赞  2011-3-16 10:15
                                 楼主通过测试程序的运行时间,测试Flash速度的方法不可信。因为程序运行的时间还与总线的机构与速度有关。
点赞  2011-3-16 12:40
                                 的确是不太准确
点赞  2011-3-16 16:34
LZ的方法,粗略参考一下是可以的。
比较可信的,是用 Drystone的测试程序。
据说最靠谱的是 EEMBC的测试结果。
点赞  2011-3-16 17:57
                                 STM32更快一点
点赞  2011-3-16 18:09

高手啊

http://shop34182318.taobao.com/ https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
点赞  2011-3-16 20:24
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复