STM32F469I discovery板卡评测
-----东方青
感谢EEPW(电子产品世界)提供的STM32F469I Discovery板卡的试用,作为发烧友,有如此高性能板卡进行测试,表示身心激动。
又一款打着高性能和物联网解决方案旗号的板卡出世了,在ST的官方介绍中,“STM32F469和SMT32F479系列产品提供最高ARM® Cortex®-M4性能并集成大容量存储器和丰富的外设以实现最先进的消费类、工业和医疗应用。适用于Flash存储器的ART Accelerator™和适用于结合LCD-TFT和MIPI-DSI显示接口进行图形处理的Chrom-ART Accelerator™,能够为高要求的实时处理提供足够资源和高级用户界面”;基本上各家的新品出世都会有如此的介绍!但是具体的使用还是由市场来定的!而今得到试用机会,那么我将对其进行一番测试。
当查看到STM32F469I Discovery板卡的官方定价比STM32F746NG Discovery板卡的定价还要高的时候,第一反应是,作为Cortex-M4内核的MCU凭什么就比M7内核的MCU的定价要高,尽管ST的F7系列MCU的性能等受到了采用90nm加工工艺的一部分影响,但是其就发展空间来说,M7的发展空间将是很大的。况且这款STM32F469I的MCU采用的加工工艺也是90nm,板载MCU也是BGA封装。那么得看从板卡上能否看出一些东西出来。
说到板卡,那么首先需要自导的就是板载资源了,如下图:
如上两图基本上表述了STM32F469I Discovery板卡的板载资源(具体的不再叙述,重复太多),可以看出,整一个板卡资源的设计和STM32F746NG Discovery板卡的资源还是很像的,包括使用的功能都很像。与STM32F746NG Discovery板卡相比,此板卡阉割了网口、网卡、USB FS、Camera接口、音频输出部分也有阉割;其他的功能两者基本上就相同了。其使用的官方测试Demo也是相同的,所采用的启动后第一界面基本上也基本相同,如下图:
那么下面开始进行初始初上代码的测试。
1.视频播放测试
在此特别提示,想要测试板卡的音视频功能,ST并没有利用SD卡作为存储设备,而是采取了U盘作为存储设备,通过USB Host读取U盘文件系统内容。而板卡上的USB Host接口再用的是MircoUSB口,所以必须自备一更MircoUSB转USB母口的转接线。此种设计在STM32F746N Discovery板卡上就有,但是很明显使用非常不方便,但不知道为何ST还要保留这种接口。
在官方的出厂Demo中,只支持emf格式的多媒体视频文件的播放,幸好!官方提供了一个!
如上图,整一个界面还是非常清晰的(不清晰那就是我拍照的技术有问题)!但是仔细一看右侧,CPU的处理速度是13fps,而MCU的占用率为88%,呵呵,看来MCU处理视频的能力还是有限啊!尽管此款MCU采用了Chrom-ART Accelerator™加速器。但是奇怪的一点是,在官方发布的资料(除了Datasheet和参考手册这些开发手册)上基本上没有谈及此款MCU的DSP处理能力,而在F7系列的MCU中大谈了DSP的处理能力能够处理双精度浮点!这基本上说明了,STM32F469I的DSP应该和其他M4内核的MCU的DSP的处理能力是一样的或者说提升不大(Datasheet也并没有多说)。但是很好的播放还是能够顺利的进行的。
2.音频播放测试
通过以上视频的测试以后,虽然已经退出播放回到主菜单,但是整一个系统的反应速度明显变慢了,但是一切操作还是能够顺利进行的。OK!那么这就播放音频进行测试,音频的测试我分为两个部分对比测试:
(1)官方提供的音频测试
官方的音频播放起来,音质是非常好的,但是音量貌似不太给力!我的自供电小音箱音量调到最大都声音都还是比较小,想必音频的振幅已经被处理过了。
(2)个人提供的音频测试
因为板卡只支持WAV格式的音频文件播放,所以我需要自己提供WAV格式的音频文件。我的做法是将从酷狗下载的MP3格式文件转化为PCM WAV格式的音频文件,使用的软件是Adobe_Audition_3.0,这还是比较专业的软件,于是乎我就兴致冲冲的进行播放了,可怜!这声音完全就是魔音,音质音量完全变了,但是我在Android手机上和PC机上却能够以正常的原音质播放。播放的是邓丽君的歌曲,我真是怕邓丽君爬起来揍我。所以我觉得在这一块的处理,ST做得还不够好。无论是音频文件还是视频文件,只能指定格式的播放,这是会影响用户的吧!当然,或许所走之路是将视频和音频做成固件,这样的好处就是节约内存,因为不需要太大的解码库。
3.录音播放测试
关于录音部分,貌似此板卡在STM32F746NG Discovery板卡上做了优化,采用了3个通道的Mic,但是很明显处理发复杂度增加了,并且这次所使用的Mic和F7板卡所使用的物料还不同,尽管不是很有兴趣去对比传感器的差异,但是这在模拟世界中是很重要的。
不得不说,关于录音部分的处理,我个人还是非常满意的,音质非常好,无任何杂音(测试时我所处的环境声音比较嘈杂),很清晰。而且就驱动电路的调整来看,录音部分的处理下了不少功夫。
4.Touch GFX测试
这是关于电容触摸屏的测试,ST专门对电容触摸屏配备了测试Demo,进入Touch GFX菜单,会有4种不同的选择进行测试电容触摸屏。
整一个体验过程中,我的感觉还是很满意的,开始的类似于水波的图片滑动触摸,然后单点的选择触摸,多点触摸还有一个小游戏,非常好,尽管和Android手机上的小游戏的体验还是有点差距,但是已经非常好了,别忘了板卡的板载主控是MCU。还有,我前面提到过的,播放完视频之后,整个系统就变得卡慢了,但是在这项测试中居然没有卡慢现象,而且还能玩游戏;如果从实时操作系统的角度来想,是不是在此时只有一个任务在运行,它完全占有CPU的使用权,而在主菜单界面中,因为要做各种外部输入(触摸、插入U盘等)监控,又要刷图片,还有其他任务等等,导致了对CPU的抢占使用而导致的变慢呢?对于MCU来说,这一部分的处理又要废多少心力啊!
5.功耗测试和性能测试
(1)功耗测试
几乎ST的大部分MCU都主打低功耗高性能,那么应该测试一下!但是这并不是真正的低功耗测试(并没有进入睡眠模式、停止模式、待机模式进行测功耗)。我只是单纯的测试其整一个系统在运行时的功耗,当不执行任何任务,保留在主菜单界面时,功耗如下图:
如上图所示,保留在主菜单界面,啥都没干,功耗在350mA左右,由于我的设备的精度的影响,大致应该在这个范围,不是真正的低功耗测试,细测也没有多大意义。当进行视频播放时,功耗如下图:
如上图可以看出,大概在370mA左右的范围内,相对而言,这个功耗还是很大了,再大一点都不能用PC机的USB口供电了,所以对于这款MCU,也只是增加了一些外设功能,也就是说,在F429的基础上做了性能和功能的提升。但是功能 的增加和高工作频率的主频也提高了功耗。
(2)性能测试
其实这也并非是真正的性能而是,真正的性能测试是需要写一些极端的Demo来跑的。我的做法是,打开视频播放器,让其一直播放,知道我有时间来理它,过程中我干其他事去了。默认视频播放完之后会自动重新播放。所以我利用了此功能,但不幸的是,整一个过程持续了大约一个小时左右,强大的STM32F469I Discovery板卡死机了,触摸屏无效、用户按键无效,只能复位或者断电重启。
当然,这可能是出厂测试Demo的BUG或者算法的BUG,不一定是MCU挂了。因为当时我特意留意了板卡的温度,温度并不高。但是很明显,STM32F469I Discovery板卡的这部分测试Demo所使用的方法和STM32F746NG Discovery板卡的测试Demo的方法是相同的,那么一般而言,算法也应该是相同的,毕竟他们的存储大小相同,而F7还得干其他的很多事(F7还有其他的板载外设),我在STM32F746NG Discovery板卡上做过相同的测试,但F7确实没有出现这样的现象。
6.下棋
Demo中提供的小游戏就是黑白棋了,很明显,和STM32F746NG Discovery板卡使用的是同一个算法,比以前的电视剧上默认的黑白棋高明多了,导致我从未赢过,直接叫做“盘盘输”。
7.其他
在主菜单中,还保留一个智能家居物联网的方案,并且我可以确定,和STM32F746NG Discovery板卡的是相同的。因为没有传感器,所以基本上演示不了,不过很搞笑的是,STM32F469I Discovery板卡已经将Camera接口进行裁剪掉了,但是在此项目中去还存在摄像头的监控,当然视频监控不一定要来自于本地Camera,也可以是Ethernet(以太网),但是STM32F469I Discovery板卡同样的将以太网功能裁剪了。当然,还可以是USB输入,但是貌似UVC协议也不小吧。
当然,还有其他的两项菜单,但是这只是对MCU进行一个实时的监测吧,比如此时CPU的使用率、速度、主频等等的显示而已。
最后晒一张全局使用图吧!
总结:在整一个体验过程中,我只将STM32F469I Discovery板卡与STM32F746NG Discovery板卡进行对比,而不是将其与STM32F429、STM32F407等MCU进行对比,这或许说有些不公平,埋没了STM32F469系列MCU的一些高性能!总的来说,此款MCU已经是非常强大的MCU了,如果Cortex-M7未出世的话,它当之无愧的是王者。所以它与F7对比,我觉得是很公平的,基本上很多功能它做的非常好。但是说实话,此时我对此板卡有些失望(注意,不是对STM32F469这款MCU失望),因为我不知道此板卡是按照计划进行精心设计的还是ST工程师在匆忙中设计的,从功能来说,很明显是从STM32F746NG Discovery板卡裁剪下来的,显示屏和触摸屏做了调整,硬件的调整在功能上基本上是阉割,当然,PCB的布局有所改变。但是在软件功能的设计上,还是存在很多问题的,包括使用。
最后有一点就是,整一个测试和分析下来(包括分析Datasheet),我还是没明白为何STM32F469I Discovery板卡的定价比STM32F746NG Discovery板卡的叮咬要高出那么多,难道是LCD屏和触摸屏的缘故吗?当然,我并没有去查这两款MCU的单片定价。从板卡的功能和性能来说,F469还是稍逊与F7的。此疑问先留着,看看以后能否得到解答。