[STM32F4] STM32F469I DISCOVERY开发板测评【多图慎入】

[复制链接]
 楼主| lkl0305 发表于 2015-11-12 23:17 | 显示全部楼层 |阅读模式
本帖最后由 lkl0305 于 2015-11-13 00:24 编辑

STM32F469I DISCOVERY开发板测评

一、写在最前面
首先感谢21IC论坛提供这个STM32F469IDISCOVERY开发板的测评。
之前使用过STM32F030和STM32F072的Discovery开发板,最近使用STM32的Nucleo系列开发板。但是这么先进的开发板STM32F469IDISCOVERY的使用还是首次使用,所以非常珍惜这次试用的机会。
经过几天的收集资料和开发板学习,有了一些心得体会,现在给大家在这里分享一下,希望大家共同交流,如有什么错误,希望指正!
这次的STM32F469I DISCOVERY开发板测评我从一下几个方面进行:
一、写在最前面
二、ST硬件评估板介绍
三、STM32F469IDISCOVERY展示
四、认识STM32F469系列MCU
五、认识STM32F469IDISCOVERY开发板
六、STM32F469I DISCOVERY开发板DEMO上手试用
七、STM32F469I功耗测试
八、STM32F469IDISCOVERY上手开发
九、回归STM32F469IDISCOVERY出厂程序
十、结语


 楼主| lkl0305 发表于 2015-11-12 23:18 | 显示全部楼层
本帖最后由 lkl0305 于 2015-11-13 00:07 编辑

二、ST硬件评估板介绍
ST(意法半导体)公司针对STM32的ARM系列MCU根据不同级别用户推出了不同系列的开发板评估套件,评估工具从价格超低的社区工具板到满配板,可为用户对所选MCU的每个特性进行评估,包括NUCLEO开发板、DISCOVERY开发板和EVAL系列评估板。
下图是官方给出的三个系列的简单对比。
0206.png
1、Nucleo系列
STM32 Nucleo板遵循精益方法,是原型开发及社区使用的理想工具选择。Arduino™连接器和ST Morpho连接器方便用户轻松使用应用相关的附加硬件进行扩展。MCU的所有I/O都能方便访问,该板自带HAL库,可工作于IAR、Keil、基于CCC的IDE以及所有mbed™在线IDE。
该种开发板有2个大的系列,Nucleo-64和最新推出的Nucleo-32。
(1)Nucleo-64
该系列开发板主打低成本,价格大多在百元内,含有一个64引脚的MCU,板载ST-LINK/ V2-1调试器/编程器,一个用户按键和一个用户LED灯,提供Arduino UNO R3接口和ST Morpho接口,mbed功能,支持集成的多种选择开发环境(IDE),包括IAR™, Keil®, GCC-based IDEs 等。
下图是Nucleo-64开发板系列,这张图比较老,不包含现在最新推出的NUCLEO-L476低功耗开发板。
0201.png
Nucleo-64开发板的外形如下图。
0202.png
(2)Nucleo-32
该系列是今年最新推出的Nucleo开发板,板载32引脚封装STM32微控制器,板载ST-LINK/ V2-1调试器/编程器,1个用户LED,Arduino™nano扩展连接,mbed功能,支持集成的多种选择开发环境(IDE),包括IAR™, Keil®, GCC-based IDEs 等。
下图是最新推出的Nucleo-32开发板外形。
0203.png
2、Discovery系列
该系列又称探索系列,比Nucleo系列出现的早,STM32探索套件是评估STM32 MCU卓越能力的廉价而完整的工具。比Nucleo板载资源丰富,根据不同MCU的特征,板载有不同的外设可以给用户提供体验,当然价格也比Nucleo开发板高些,价格在几百元左右,在3中开发板中价格适中。
Discovery开发板带有必要的硬件电路,例如MEMS麦克风、传感器、LCD显示器,可演示特定的设备特性,用户可通过扩展连接器访问芯片的大多数I/O,并可借此进行硬件扩展,集成ST-LINK/ V2-1调试器/编程器,提供HAL库与软件例程方便了用户的评估和原型设计,支持IAR、Keil、基于CCC的IDE。
下图是Discovery系列开发板外形。
0204.png
0205.png
2、EVAL系列
STM32EVAL评估板为高端的评估平台,为展示STM32微控制器的所有特性而配备了所有所需的外部硬件电路。STM32评估板提供了其上微控制器所有引脚的扩展插针,使用更大的封装。HAL库与即用型软件例程使得应用设计非常容易。
下图是STM32F469I的EVAL评估版图,大家可以看到,板载资源非常丰富,当然价格也是不菲的!
0207.png

三、STM32F469IDISCOVERY展示
这次21 IC论坛提供的试用板子是STM32F469IDISCOVERY开发板,当我收到拿到开发板的瞬间,立刻被吸引了!
1、首先是秉承ST的一贯风格,塑料包装,一块开发板加一个简单的操作活页,不配USB线,有效降低成本,
0301.png
2、打开包装,来看一下开发板的正面,几乎被4英寸的大屏幕占满,有没有点手机或PSP的感觉?立刻让人有高大尚的感觉。一看到这个屏,立刻就知道显示接口是此款MCU的亮点之一。
此款开发板四角还是用塑料支撑座, 这也是以前的开发板没有的,再也不用担心不小心背面短路了。
0302.png
3、来看看开发板的背面,元器件布局非常整齐,首先看到的是主微控制器MCU(STM32F469NIH6),BGA216封装形式,有效缩小了开发板的空间;之后看到的是;接下来是支持Arduino UNO R3接口,可以扩展相关外设;接下来是音频接口,可以看出这款开发板秉承F4系列的音频处理功能;同时板载还提供USB OTG和MicroSD卡连接器。
0303.png
STM32F469I DISCOVERY开发板上的核心微控制器STM32F469NIH6,这号称是全球首款集成MIPI-DSI接口的MCU,MIPI-DSI即移动产业处理器接口的显示标准规范,该串行接口通过少量引脚即可连接显示器,并能够提高支持的显示分辨率。一般在智能手机、平板的控制器中比较常见,至于微控制器MCU集成MIPI接口,这还是第一次遇到!
4、这个是包装里面的快速使用说明
(1)正面介绍了板子的主要特点和资源
0304.png
(2)背面介绍的有ba板子初次上电演示的步骤和可演示的项目,还有系统需求、开发工具等内容。
0305.png
STM32F469I DISCOVERY开发板资源可在官网查看:
http://www.st.com/web/catalog/to ... 532/LN1848/PF262395

 楼主| lkl0305 发表于 2015-11-12 23:18 | 显示全部楼层
本帖最后由 lkl0305 于 2015-11-13 00:08 编辑

四、认识STM32F469系列MCU
STM32F469I DISCOVERY开发板选择的是意法半导体公司的STM32F469NIH6(216引脚的
TFBGA封装)。该系列隶属于STM32F4系列MCU,内部是ARM Cortex®-M4内核。
(1)STM32F469/F479产品系列定位
下图是意法半导体公司针对STM32F4系列MCU的资源配置表格:
0401.png
网址:http://www.st.com/web/en/catalog/mmc/FM141/SC1169/SS1577
在该页面还专门针对STM32F469/F479这款新品做了简要的说明:
0402.png
通过上面我们可以很清楚的看到意法半导体公司对这款新品的市场定位及主要特点:
(a)STM32F469/ F479主要的市场定位是可实现综合物联网和可穿戴设备,并提供了先进的图形用户界面。
(b)新的STM32F469/479产品线提供配上大容量内存资源和先进的图形功能使丰富的东西,从而有足够的能力应用在可穿戴设备的互联网应用。
(c)内核具有180兆赫/225 DMIPS,FPU和DSP功能
(d)存储器上具有2 MB的内部闪存和384字节的内部RAM
(e)内部集成了Chrom-ART加速器更多的动画和图形效果
(f)世界第一个嵌入MIPI串行显示器接口控制器
(g)TFT-LCD和并行显示接口
(h)扩展的连接性,包括内存扩展技术,以太网,USB,SD/ MMC卡和相机界面
(i)集成的MIPI-DSI控制器打开大门,最现代的显示器未来具有更高的像素密度,更少的引脚,更低的EMI和更低的功耗
通过上面我们可以看出STM32F469/479的图形用户接口功能很强大的!
(2)STM32F469/479系列主要特点及成员
ST关于STM32F469/F479的官网网址:
http://www.st.com/web/en/catalog/mmc/FM141/SC1169/SS1577/LN1876
在这个页给出了比较详细的STM32F469/479特点:
0404.png
同时还给出了这个系列的成员,大家可以看到,在STM32F469I DISCOVERY开发板选择的芯片在STM32F469/479系列中还算是比较强大的了。
0403.png
(3)STM32F469/479主要资源
下面来看一下主要资源吧:
STM32F469和SMT32F479系列产品提供最高ARM® Cortex®-M4性能并集成大容量存储器和丰富的外设以实现最先进的消费类、工业和医疗应用。适用于Flash存储器的ART Accelerator™和适用于结合LCD-TFT和MIPI-DSI显示接口进行图形处理的Chrom-ART Accelerator™,能够为高要求的实时处理提供足够资源和高级用户界面。
STM32F469和SMT32F479系列产品提供了512KB~2MB Flash、384KB SRAM和168~216个引脚。最小封装尺寸至4.89 x 5.69 mm。
性能:在180 MHz频率下,从Flash执行时,STM32F446和STM32F479能够提供225 DMIPS/608 CoreMark性能,并且利用意法半导体的ART Accelerator™实现了零等待状态。DSP指令和浮点运算单元扩大了产品的应用范围。
图形用户界面:
•  STM32F469和STM32F479集成意法半导体的专利Chrom-ART Accelerator™,在非常低的CPU负载条件下即可实现先进的图形处理功能,并能够提供先进的用户界面和更丰富的体验。
•  除了集成有TFT-LCD控制器,还集成了新型显示接口(MIPI串行显示接口)。该串行接口通过少量引脚即可连接显示器,并能够提高支持的显示分辨率。
集成:得益于灵活的存储控制器(FMC)和双模式Quad SPI接口,轻松扩展存储范围。在90 MHz下工作的FMC带有一个32位的并行接口,能支持Compact Flash、SRAM、PSRAM、NOR、 NAND以及SDRAM存储器。双模式Quad SPI工作频率为90 MHz,实现了高性价比的NOR Flash,并支持内存映射模式。
音频:2个专用音频PLL,2路全双工I²S和1路串行音频接口(SAI),支持全双工I²S和时分复用(TDM)模式。
通信:
•  以太网MAC和USB OTG FS及HS,带有专用电源轨使片上USB PHY能够在整个MCU供电电压范围内工作。
•  扩展通信接口(包括4个USART、4个速度达11.25 Mbit/s的UART、6个速度达45 Mbit/s的SPI、3个具有新型可选数字滤波器功能的I²C、2个CAN、SDIO以及摄像头接口)。
模拟:两个12位DAC和三个速度为2.4 MSPS或7.2 MSPS(交错模式)的12位ADC。
定时器:多达17个频率高达180 MHz的16和32位定时器。
加密:STM32F479还集成了支持AES-128、-192和-256以及三重DES、散列函数(MD5、SHA-1、SHA-2)、HMAC、真随机数发生器(TRNG)的硬件加密加速器。
功效:该系列产品采用意法半导体90 nm工艺和ART Accelerator™,具有动态功耗调节功能,能够在运行模式下和从Flash存储器执行时实现低至280 µA/MHz的电流消耗(@ 180 MHz)停机模式下,功耗为120 µA(典型值)。
下面是在意法半导体的全国研讨会上关于STM32F469的定位描述及主要特点:

可以看出STM32F469主要在可穿戴应用中属于超高性能,可应用在高端智能手表等领域。
下图是关于STM32F469的MIPI接口的介绍。
0405.png
下图是结合图示的方法给大家算了一笔账,非常清楚的说明了STM32F469能够在很大程度上节省BOM成本。
0406.png
(4)关于STM32F469NI芯片资源可参看:
http://www.st.com/web/en/catalog ... 77/LN1876/PF260683#
0407.png

五、认识STM32F469IDISCOVERY开发板
看了STM32F469I DISCOVERY开发板的主芯片,下面我们来仔细分析一下开发板的功能模块资源:
0、概览
(1)STM32F469I DISCOVERY开发板上的STM32F469NIH6微控制器采用BGA216封装,具有2 MB的闪存和324 KB的RAM
(2)板载ST-LINK/ V2-1 SWD调试器,支持Mbed功能
(3)USB功能:USB虚拟COM口,大容量存储,调试端口
(4)4英寸800X480像素的TFT彩色液晶显示屏,MIPI DSI的界面和电容式触摸屏
(5)SAI音频DAC,一个立体声耳机输出插孔
(6)3 MEMS麦克风
(7)MicroSD卡连接器
(8)I2C扩展连接器
(9)4Mx32bit SDRAM
(10) 128-Mbit四通道SPI NOR闪存
(11)复位和唤醒按钮
(12)4色用户LED
(13)USB OTG FS带微型AB连接器
(14)多种电源选项
(15)扩展连接器和的Arduino™ UNO V3连接器
1、硬件布局和配置
STM32F469I-DISCO评估板围绕STM32F469NIH6(216针TFBGA封装)设计。下图给出了STM32F469NIH6和外围设备(SDRAM,四通道SPI闪存,彩色液晶显示器,USB OTG接口,音频,I2C扩展连接器,microSD卡和嵌入式ST-LINK)之间的连接框图。
0501.png
下图是STM32F469IDISCO顶面布置图。
0550.png
下图是STM32F469I-DISCO底部布局。
0551.png
2、 ST-LINK / V2-1编程调试器
在STM32469I-DISCO开发板上集成有一个ST-LINK / V2-1编程和调试器。可以实现:
(1)虚拟串口,用于实现电脑与板子上的STM32469I串行通信。
(2)大容量USB存储接口,可用于对STM32469I芯片的编程。
(3)USB电源管理,可实现对STM32469I-DISCO开发板供电,最大500mA电流。
安装ST-LINK / V2-1驱动程序
(1)在ST官网下载最新驱动程序,地址:
http://www.st.com/web/en/catalog/tools/PF260219
(2)安装后把STM32469I-DISCO开发板插到计算机上,会识别出2个设备,一个是ST-LINK / V2-1编程调试器,一个是虚拟USB串口。如图:
0504.png
3、供电电源
(1) 供电电源来源
STM32469I-DISCO开发板的供电电源有以下几种方式:
A.通过ST-LINK / V2-1的USB接口(CN1)提供5V、500mA的直流电源。
需要JP2接口的3和4脚用跳线帽短接,同时JP5接口短接,这时可以通过红色LED (LD5)作为5V电源指示灯。
0513.png
如果STM32469I-DISCO开发板选择这种供电方式,一般都是由电脑的USB口供电,整个供电过程如下:
1)当ST-LINK / V2-1的USB插入计算机后,只有ST-LINK部分的U3接通得电,这是计算机的USB接口只提供100mA的供电电流。而STM32469I-DISCO开发板需要500mA的电流供电。这时首先U3确认计算机的USB接口是否能够提供500mA的电流,如果能够提供500mA的供电电流,则电源开关芯片ST890(U4)开关导通,由计算机的USB口提供500mA电流,这是电源指示LED灯(LD5)点亮;如果确认计算机的USB口不能提供500mA的供电电流,这是电源开关芯片ST890(U4)开关断开,这是整个STM32469I-DISCO开发板的主要部分是不供电的,此时就必须使用其他供电方式,这样可以避免损坏计算机的USB。
2)一般为了确保电源部分是否正常,可以在使用ST-LINK供电之前,先做一个小的测试:
<1>将JP2的1和2脚用跳线帽短接,
<2>将外部电源加入到Arduino 的CN6接口的VIN 引脚(8引脚),
<3>检查电源指示灯LD5是否亮,
<4>将CN1接口连计算机的USB接口
注意:
1)当STM32469I-DISCO开发板的用电超过600mA时,为了保护计算机的USB接口,ST890电源开关会自动断开。
2)也可以使用USB接口的电源适配器通过ST-LINK的CN1接口给STM32469I-DISCO开发板供电,此时不支持电源确认功能,需要将电路板上的SB16用0欧电阻短接,此时就可以不用电源开关芯片ST890直接对STM32469I-DISCO电路板供电。
0506.png
B.通过用户USB FS接口(CN13)提供5V直流电源。
需要将JP2接口的5和6脚用跳线帽短接,同时JP5接口短接,这时同样可以通过红色LED (LD5)作为5V电源指示灯。
0512.png
C.通过Arduino™ compatible接口(CN6)的VIN引脚供电
这时(CN6)的VIN引脚可以接入6-9V的直流电,注意外接电源不能大于9V,以免稳压块U10过热烧坏。
需要将JP2接口的1和2脚用跳线帽短接,同时JP5接口短接,这时同样可以通过红色LED (LD5)作为5V电源指示灯。
   0510.png
0511.png
4、 时钟源
(1) HSE时钟源
默认情况下,STM32469I-DISCO开发板的主芯片STM32F469NIH6使用外部8MHz晶振(X2)作为HSE时钟源,这时需要将R131用0欧电阻焊接,SB19短接桥断开。
0508.png
也可以使用ST-LINK / V2-1的U3的MCO引脚输出的8MHz向STM32F469NIH6提供HSE时钟,这时,需要将R35焊接100欧电阻,将R131用0欧电阻断开,SB19短接,同时C26就不需要了。
0509.png
(2) LSE时钟源
使用外部32.768KHz晶振作为嵌入式RTC的时钟源LSE。
5、STM32469I-DISCO开发板复位
STM32469I-DISCO开发板的复位信号是低电平有效的,复位源有:
(1)默认使用STM32469I-DISCO开发板上的复位按钮(B1)对芯片复位,这时需要将SB1短接。
0520.png
(2)在调试开发板和烧录开发板程序时,默认使用ST-LINK / V2-1对STM32469I-DISCO进行复位,这时需要将SB2短接。
0521.png
(3)使用Arduino接口的CN6的3引脚对STM32469I-DISCO进行复位。
0522.png
(4)通过外部扩展接口CN12的4引脚对STM32469I-DISCO进行复位。
0523.png
6、音频输入、输出
下图是音频输入部分,在STM32469I-DISCOVERY开发板上有3个蜂鸣器,但通过跳接线之有2个被使用。
0525.png
下图是音频输出部分,通过电路可以看出,输出可以选择耳机接口,或通过外扩接口输出小于1W的音频信号。
0524.png

7、 MicroSD卡部分
在STM32F469I-DISCO开发板上,有一个MicroSD卡插槽(CN9),支持4GB及以上容量。使用的是STM32F469NIH6微处理器的4线SDIO接口连接,同时使用PG2引脚对MicroSD卡的插入操作进行检测,当有MicroSD插入卡槽时,PG2的电平为0,当没有MicroSD插入时,PG2引脚电平为1。
0526.png

8、SDRAM部分
STM32F469I-DISCO开发板的主控制芯片STM32F469NIH6采用FMC接口连接了1片128Mbit的SDRAM存储器MT48LC4M32B2B5-6A作为外扩存储器,32位宽度的数据总线。
SDRAM存储器MT48LC4M32B2B5-6A使用地址总线A14和A15将128Mbit的存储空间分成4各块,每个32Mbit.。
0527.png
9、Quad-SPI NOR Flash memory部分
STM32F469NIH6采用Quad-SPI 接口外接了1片N25Q128A13EF840E作为外扩Flash存储器,用于存储STM32F469NIH6的内部存储器存放不下的程序部分。
0528.png
10、 Arduino接口
STM32F469I-DISCO开发板除了板载资源丰富外,还对外给用户提供了Arduino接口(CN5、CN6、CN7和CN8),以便用户可以有更多的现有外设可用。
0529.png
注意:
(1)如果要使用CN6的4引脚向STM32F469I-DISCO开发板提供3.3V的电源是,需要将开发板上的SB8去掉,否则可能会使STM32F469I-DISCO开发板因过流而损坏。
(2)如果要使用CN6的VIN引脚向STM32F469I-DISCO开发板供电时,电源电压应该限制在6-9V,温度25度,如果太高的电压,可能会使稳压芯片U10因过热而损坏。
(3)CN8的5脚和6脚的SB10和SB12默认闭合,SB9和SB11默认断开,这是CN8的5脚和6脚连接到STM32F469NIH6的PC5和PA4作为ADC输入端。当然,也可以作为I2C1的输入接口,此时需要将SB9和SB11闭合,SB10和SB12断开,此时接到了STM32F469NIH6的PB9和PB8上,分别作为I2C1的SDA和SCL引脚。
11、外部扩展接口CN12部分
在STM32F469I-DISCO开发板的背面,还提供了2.54间距的外部扩展接口CN12。
0530.png
0535.png
这些外部扩展接口可提供如下功能:
(1)CAN2
(2)USART6(TX,RX)
(3)I2S2
(4)SPI1
(5)7通道的定时计数器
(6)2个通道的ADC输入
(7)1W的音频信号输出
(8)NRST,MCO1,ANTITAMP系统信号
(9)3.3V的直流电源
具体外扩接口与STM32F469NIH6微控制器的接口对应表如下图所示
0536.png
12、 按钮和LED灯部分
在STM32F469I-DISCO开发板的背面有一个黑色的按钮B1是STM32F469NIH6的复位按钮。
开发板背面的蓝色按钮B2可以作为用户的按钮和STM32F469NIH6的唤醒按钮(Wake-up),当按钮按下对应逻辑电平1,松开对应逻辑电平0。
在STM32F469I-DISCO开发板的正面显示屏旁边有四个LED(LD1,LD2,LD3,LD4)分别是绿色,橙色,红色,蓝色,如果要点亮LED,需要用逻辑电平0,熄灭用逻辑电平1。
0531.png
13、 LCD显示部分
STM32F469I-DISCO开发板的最大特点是向用户提供了一个4英寸的TFT彩屏,分辨率可达800x480,并带有电容式触摸功能。STM32F469NIH6微控制器使用MIPI DSI接口(CN10)连接LCD显示屏。

 楼主| lkl0305 发表于 2015-11-12 23:19 | 显示全部楼层
本帖最后由 lkl0305 于 2015-11-13 00:09 编辑

六、STM32F469I DISCOVERY开发板DEMO上手试用
意法半导体公司给STM32F469IDISCOVERY提供的官方例程可谓非常丰富,能够很好体现STM32F469NIH6微控制器的主要特点。
1、测试准备
(1)由于STM32F469I DISCOVERY具有多媒体功能,因此需要准备一个U盘。
(2)但是,U盘是无法插到开发板的USB口上,因此需要再准备一条mico头USB 转OTG接口的转接线。
(3)剩下就是多媒体素材,在这里当然首先找官方提供的测试媒体来试试。官方的媒体素材在如下图所在的位置。
0618.png
(4)为了听音乐,需要耳机或小功放,我这里准备了一个功放,以便外放。
(5)连接系统,将U盘和功放连接开发板,然后将开发板插入电脑USB口。
2、初次上点
随着上电,系统就开始运行,首先出现的是带有ST **的界面,之后进入下图的主界面,可以看出,显示效果还是非常不错的!
0606.png
0601.png
通过主界面可以看出,官方自带的例程可以测试的内容有:音频播放器,视频播放器,游戏,录音机,物联网用的花园控制器,家庭监控系统和系统信息等内容,在屏幕的最右面有系统当前的运行状态,比如FPU是否开启,CPU使用率和系统时钟信息。
3、音频播放器
点击audio player图标,就可以进入音频播放界面。
0603.png
ST公司个大家提供的有基于STM32F4系列MCU的完整的audio播放解决方案,但历程中只支持WAV格式,如果我们下载的音乐文件是其它格式,需要用音频转换工具转换成wav格式,当然,大家也可以通过修改程序,改成最常见的mp3等音频数据。
注意:
(1)并不是所有的wav格式的音频都能播放,我实测在网上下载了《时间都去哪了》这首歌曲,48000采样率,24位深度的音乐无法播放,后来看了官方给出的音频素材是22500采样率,16位深度的,于是使用格式转换工具转换到这种,就可以播放了。
(2)官方例程提供的音频测试支持后台播放,这一点是非常不错的体验!只需在音频播放界面点击back ground图标即可回到主界面,而且音乐并没有终止,只是在后台播放了。
(3)个人感觉意法半导体公司给例程时,最好支持MP3格式,因为这个格式比wav格式的音乐更常见,我在网上找了半天才找到了WAV格式的可以下载的音乐文件。
4、视频播放器
在音频播放器界面点击右上角的Menu菜单,即可回到主界面,然后点击video player图标,即可进入视频播放界面。
0604.png
左面图标是播放,右面可以用来田间播放文件。电机播放,官方提供的小飞机视频就可以自动播放了。
注意:
(1)目前官方提供的例程只支持emf文件的视频,这是我非常作难,往哪里去找这种视频文件?因为emf文件我还第一次遇到。感觉这中文件格式非常不常见,不知道为什么当时ST公司要选择这种文件格式,要是直接支持常见的某种食品信号就有更好的用户体验。
(2)在播放界面的最右面,可以看出在播放视频信号时,MCU的使用率都在90%以上,设置可以达到95%以上。这说明视频播放时非常占用CPU的资源,而且STM32F4在处理视频信号是由一点慢的。当然,STM32F4并不是专业视频播放处理的MCU。
5、游戏测试
退出视频播放界面,点击games图标,进入系统自带的游戏,当然只有这一种游戏,是基于黑白棋的游戏。要求人与STM32F469I DISCOVERY开发板之间玩,最终以整个界面没有空白的位置,这是看谁的子多谁就胜。
这个游戏还真不会玩,几次都没有过关。
0605.png
6、录音测试
录音测试可以将麦克风的音频数据存储在U盘中,界面非常简洁。
0619.png
7、Touch GFX触摸界面控制
Mjolner公司的TouchGFX技术,使MCU的负载和内存占用降到最低,所有控制都通过触摸进行。可用于家庭自动化、医疗、卫生保健以及许多工业应用产品的控制器通常都是依赖于成本较低、硬件资源有限的MCU平台。市场上的越来越多的遥控产品将用于对手持式、可佩带的、或其它类似的电池供电设备进行控制,而这些产品同时需要节能、低功耗解决方案。
TouchGFX是ST公司之外的第三方库。这是一个专门为嵌入式产品提供特效显示的软件包,能为资源有限的硬件提供酷炫的显示效果。按官方的说法,能达到智能手机的显示效果,且消耗的资源及功耗都维持在较低的水平。
相关资料大家可以参考:http://touchgfx.com/
不过Touch GFX是收费的。下面我们来看看Touch GFX的炫酷界面。由于时间和手头没有合适的录像设备,不能给大家进行操作演示,有点小遗憾,随后有时间给大家上一段视频看看。
(1)Touch GFX演示主界面
0607.png
(2)这是一个日历控件演示,可以滑动操作。是不是有点Android界面?
0608.png
(3)下面是一个模拟仪表的图形界面,这中操作界面在以前的MCU上可是很少见到吧。
0609.png
(4)再来看一个
0610.png
(5)这是一个进度条演示。
0611.png
(6)这是一个电子书的操作界面,有点IPAD的感觉没有?
0612.png
(7)来一个游戏操作,一下子手里的STM32F469I Discovery开发板变成一个触摸式的掌上游戏机了。
0613.png
(8)这个界面效果也是非常不错的,可以进行曲线绘制,在智能家居、物联网、工业控制等很多地方都需要用到的。而且有不同的显示方式。
0614.png
通过上面实际演示,效果非常不错,CPU使用率非常低。
8、家庭检测报警控制
这部分主要是STM32F469的另一大应用案例,可作为家庭的安防监控器来使用。点击home alarm图标,即进入该测试。
可以看到这个界面的主要部分是一个房屋的家庭平面布置图,左上角是一个摄像头图标,左下角是开启和关闭监控报警的图标。
0615.png
首先选择某个房间,然后按下摄像头,就会出现一个模拟的家庭监控图显示了。
0616.png
注意:
(1)可以使用开启和关闭该功能的按钮来模拟实际情况。
(2)这个例子很好表现了STM32F469的一个应用范围。
(3)可以通过接摄像头来实现真正的监控作用,但是这个功能官方并没有给出,只是用图片来概括。
(4)个人感觉意法半导体公司可以提供一个摄像头接口,是想测试的用户进行此种演示。
9、最后一个界面是系统信息界面,进入该界面,就可以看到系统的信息,一部了然,这里就不演示了。
0617.png

七、STM32F469I功耗测试
使用过STM32F469I DISCOVERY开发板的官方DEMO演示,可以看到效果的确很炫目。
STM32F469的住要定位物联网,可穿戴设备等方面,对这些应用,有一点非常重要的考量就是功耗的要求。下面我们就进行STM32F469I的功耗的测试。
1、这么短的时间,肯定不可能自己写功耗测试程序,那就还对官方提供的功耗测试程序吧。工程路径如图。
0701.png
2、使用MDK打开工程文件,如下图。
0702.png
3、这个官方例程里测试的主要有如下几种工作模式。
  - Sleep Mode
  - STOP mode with RTC
  - STANDBY mode without RTC and BKPSRAM
  - STANDBY mode with RTC
  - STANDBY mode with RTC and BKPSRAM
在测试不同的工作模式时,需要开启或屏蔽下面这个文件中的#define声明,以便使系统运行在不同的工作模式下。
0703.png
4、测试步骤:
(1)在MDK工程中需要做那个测试,将stm32f4xx_lp_modes.h文件中的其他的#define屏蔽掉。
(2)将电流表接入到JP5来测试电流
(3)在进行功耗测试时,不能在调试状态下进行,因为STM32F469I的调试模块在这种模式下是不能工作的。
(4)编译工程,把需要测试的程序下载到STM32F469IMCU中,按下复位重启系统,之后按着用户按键(蓝色的按钮),就可以进入到相应的模式下运行,在电流表上可以读出当前的IDD电流。
注意:
A.如果系统的RTC没有运行时,测试程序配置了用户按钮可以从低功耗模式下唤醒。
B.如果系统的RTC被设置成使用,则程序可以在进入相应的低功耗模式后,在RTC及时20s后,自动由RTC唤醒
C.每次从低功耗模式退出后,程序会将LED4点亮
D.每次运行完每种工作模式测试后,需要重新下载新的程序进行下一项的测试。
5、测试前的接线
首先找到原理图下面的JP5跳接线,把跳线帽去掉。然后接入电流表。
0704.png
注意跳线的引脚标有三角符号的是电流表的正极,另一个是电流表的负极。如下图。
0705.png
最后接线图如下图,我使用的是胜利VC9806+万用表,由于手头没有专业的仪表,只有那这个大致测试一下吧。
6、工作模式(功耗)测试
(1)下图是没有进入低功耗模式下的IDD电流。
0707.png
(2)下图是进入Sleep Mode模式下的IDD电流
0708.png
(3)下图是STOP mode with RTC模式下的IDD电流
0709.png
(4)下图是STANDBY mode without RTC and BKPSRAM模式下的IDD电流
0710.png
(5)下图是STANDBY mode with RTC模式下的IDD电流。
0711.png
(6)下图是STANDBY mode with RTC and BKPSRAM模式下的电流。
0712.png
7、做个表格来看看
0713.png
通过表格可以非常清楚看到STM32F469I主芯片的功耗,在STANDBY模式的功耗还是比较低的,几个uA的大小。
8、下面拿STM32F469I与以前测试的低功耗系列STM32L476对比一下,它们同属于M4系列,只是L系列是低功耗系列。
0714.png
通过这个表格大家可以很清楚的看到F系列的功耗还是比L系列功耗大许多,但F系列并不是主打低功耗的,而是在片内外设和处理器性能的优点。

 楼主| lkl0305 发表于 2015-11-12 23:20 | 显示全部楼层
本帖最后由 lkl0305 于 2015-11-13 00:10 编辑

八、STM32F469IDISCOVERY上手开发
1、开发工具
看了STM32F469IDISCOVERY自带的官方例程,是不是很兴奋,有种自己动手试试的冲动?当然首先要准备一下工具了。
STM32系列单片机的可选开发工具还是比较多的,像MDK-ARM、EWARM、GCC-based IDE(比如SW4STM32、Atollic TrueStudio等),当然还少不了在线开发工具ARM mbed online。

2、开发环境搭建
我这里选择的仍然是自己比较熟悉的MDK-ARM+ STM32CubeMX来测试吧。
(1)首先要准备软件
对于我们今天测试的STM32F469IDISCOVERY开发板这样的新鲜事物,还是建议大家采用比较新的开发工具以支持这块开发板。
a.MDK
目前最新版本是MDK5.17,链接地址是:http://www.keil.com/arm/mdk.asp
当然不要忘了装STM32F4的软件包,最新的软件包是2.6.0,地址是:http://www.keil.com/dd2/Pack/
b.STM32CubeMX
目前最新的STM32CubeMX软件是4.11,链接地址是:http://www.st.com/web/catalog/to ... archtype=partnumber
当然不要忘了也要下载最新的STM32CubeF4库,最新版本是1.9.0,地址是:http://www.st.com/web/catalog/to ... archtype=partnumber
(2)然后就是软件安装
安装软件每个人都非常熟悉了,在这里就不浪费大家的时间了。
这里注意:
软件包大家可以选择在线安装,不过你的电脑网速不给力的话,还是建议下个离线安装包,离线安装软件包和固件库。
MDK软件包的离线安装选项位置:
0860.png
STM32CubeMX软件固件库的离线安装选项位置:
0862.png
通过安装两个软件,个人感觉每个软件本身并不是特别大,但是软件包和固件库都很大,动不动就上G空间,而且有很多地方是重复的,这样非常浪费电脑的存储空间(虽然现在硬盘价格不贵)。
下图分别是MDK下的STM32F4软件包的大小和STM32CubeMX的STM32F4固件库的大小:
   0801.png 0803.png
下图是MDK下的STM32F4软件包和STM32CubeMX的STM32F4固件库的文件夹下的内容:
   0802.png 0804.png
通过对比可以发现,两者占用的空间都非常大,但里面的东西有很多相同的重复内容,这还是我只装了STM32F4的支持,那你要把F0、F1、F7、L4等都装上,会占用你电脑多少空间?而这里一半都是重复的!
我想能不能精简一下,比如MDK只提供最基本的部分,而固件库可由用户自行在ST官网下载,MDK中需要固件库支持时,给出配置窗口进行配置,这样既可以节省空间,而且固件库能够保证始终是最新的,不会出现MDK和STM32CubeMX中的固件库不统一的情况发生,毕竟固件库是由MCU公司开发的。

3、MDK+CubeMX实现LED闪烁
首先来个比较简单的程序来练练手,当然还是点亮板载的LED灯了,但是单独点亮有感觉放在STM32F469IDISCOVERY上面太不配套了。那就加一个RTOS实时系统吧。
在STM32上面,意法半导体总是使用免费的FreeRtos来演示使用,我今天也来个FreeRtos点亮LED吧!
(1)测试效果:
a.在STM32F469IDISCOVERY上运行FreeRtos实时系统
b.控制板载的4个LED分别以不同的频率闪烁
LD1要求1s周期,LD2要求2s周期,LD3要求4s周期,LD4要求8s周期闪烁
c.使用虚拟串口输出提示信息
(2)硬件分析
想要写程序,首先要熟悉STM32F469IDISCOVERY开发板上的硬件资源,这个前面我们分析过了:
a.4个LED的接口如下:
0805.png
b.STM32F469IDISCOVERY开发板上的ST-Link使用的虚拟串口是UART3,分别是STM32F469NIH6的PB10和PB11引脚。
0806.png
(3)STM32CubeMX配置工程
a.新建工程
如图,记得选择的封装式TFBGA216,不要选错了哦!
0810.png
b.可以看到新建的工程,左面是可以选择的功能模块,右面是STM32F469NIH6芯片引脚图,是不是有点晕呀,如何从中间找到我们需要的引脚呢?不会放大了一个一个的看吧!
0811.png
c.其实方法也很简单,在FIND里面输入我们想找的引脚,比如PG6,就会发现PG6引脚在闪动。
0812.png
d.ST-Link的虚拟串口使用了USART3,在左侧选择USART3,异步通信模式,就会在左边看到引脚被选中了,不要想着这样就完事了,这里默认的引脚是PC10和PC11,是与实际电路不符合的,可以通过上面的电路发现,STM32F469I DISCOVERY开发板上的ST-Link使用的虚拟串口UART3,分别是STM32F469NIH6的PB10和PB11引脚。那如何调整呢?
0813.png
e.其实还是比较简单的,搜索引脚,点击,就会弹出引脚功能选择菜单,选择PB10为USART3的TX引脚。
0814.png
f.就会发现,芯片上的TX引脚位置自动选择了PB10,而PC10的自动取消了。
0815.png
g.最后把测试需要用到的所有引脚都选择好,同时要勾选左侧的FreeRtos,以便配置使用。
0816.png 0817.png
h.时钟我们选择最高的180MHz吧。

i.配置LED引脚的初始化状态,上拉,高速等。
0818.png
j.配置USART3,这里采用默认配置115200bps,8位数据等。
0819.png
k.FREERTOS的参数配置,这个界面选用默认的吧。
0820.png
l.在任务配置界面添加如下图的任务,下图是绿灯的任务。
0821.png
m.最终添加4个LED灯的任务如下图。
0822.png
n.配置完成后就可以生成MDK工程,如下图。
0823.png
(4)MDK中添加代码
a.打开生成好的MDK工程,可以看到自动生成的代码如下图。
0824.png
b.添加串口输出的提示信息变量。
0825.png
c.添加输出提示的代码。
0827.png
d.可以看出CUBEMX生成的任务创建代码。
0826.png
e.添加绿色灯的任务代码。
0828.png
f.添加橙色等的任务。
0829.png
g.添加红色灯的任务。
0830.png
h.添加蓝色灯的任务。
0831.png
i.工程文件添加完毕,在编译工程前,习惯性的将下面的选项选中。
0832.png
j.编译,发现没有错误。
0833.png
k.运行程序,可以看到预期的效果。
0836.png
同时串口输出信息如下。
0834.png
至此,工程测试完毕!

4、基于官方例程的STemWin驱动4寸LCD屏
做了上面的测试,感觉有点不甘心,这么强大的STM32F469IDISCOVERY就做了这点测试,最主要的4寸大屏还没有自己测试测试!
那接下来就利用意法半导体公司提供的官方例程的基础上进行修改,点亮这个LCD屏吧!
(1)测试效果
a.使用意法半导体公司提供的STemWin库实现在STM32F469IDISCOVERY的4寸LCD屏幕上显示图片。
b.使用意法半导体公司提供的样例库的基础上测试STemWin库的开发基本方法
(2)素材准备
a.21IC提供的STM32F469IDISCOVERY开发板试用机会,当然测试图片要采用21IC的**嘛,感谢一下哈。
0840_21ic_logo.png
b.在STM32F469IDISCOVERY开发板上测试,当然第2个图片选择STM32F469的宣传图片了,如下图。
0841_stm32f469_image.png
(4)将图片转换成c代码
a.将图片转换成c程序的最简单方法还是采用意法半导体公司提供的转换工具BmpCvt.exe。位置在如下图的位置。
0842.png
b.STM32F469I DISCOVERY开发板的LCD显示屏是4寸的,800x480分辨率,而下载的图片分辨率需要调整到合适的大小。
c.上面在网上下载的图片是JPEG的图片,而BmpCvt.exe软件不支持这个格式,只支持bmp、png等格式,因此首先要将JPEG格式图片转换成png格式。
d.用BmpCvt.exe打开图片,如图所示。
0843.png
e.使用如下图所示的命令将图片转换。
0844.png
f.在弹出的窗口点是按钮。
0845.png
g.另存为c代码。可选择如图选项。
0846.png
h.生成的图片c代码如下图所示。
0847.png
(5)编程测试
A.测试STemWin工程可以选择如下图的工程模板,使用MDK打开。
0848.png
B.将生成的图片的c文件首先复制到工程目录中,比如src文件夹,并添加到MDK工程中。如图所示。
0849.png
C.在BASIC_HelloWorld.c程序文件中添加如下程序。
0850.png
(6)下载测试
将工程编译完成,并把程序下载到STM32F469I DISCOVERY开发板运行,演示效果如下图所示,我的手机相机太次了,效果不好,将就一下吧。
0851.png

九、回归STM32F469IDISCOVERY出厂程序
STM32F469IDISCOVERY的测试到此基本完成了,我把板载的程序擦除调试了自己的程序,那最后我们再来恢复到出厂设置的DEMO演示程序吧!
1、工具准备
由于板载程序程序比较大,编译后的HEX文件大约23M多,当然程序不能完全存放在STM32F469NIH6芯片中,需要将一部分存放在外扩的16M的Quad-SPI NOR Flash芯片N25Q128A13EF840E中,这要我们可以准备意法半导体公司提供的STM32 ST-LINK Utility工具进行烧录程序。
STM32 ST-LINK Utility的地址在:
http://www.st.com/web/en/catalog ... _searchtype=keyword
下载安装。
2、编译官方例程
当然,这一步其实可以省略的,因为官方提供了用于烧录的HEX文件的,在如图的位置:
0920.png
最好下载最新的版本,而且我收到的STM32F469IDISCOVERY开发板提供的版本就是最新的1.1.0版本。
那为了充分学习官方例程,在这里决定自己编译一下!
(1) 工程目录
官方例程的目录如下图,选择MDK工程项目。
0901.png
(2)打开工程
打开工程文件,可以看到官方的demo可谓非常庞大!
0902.png
(3)编译工程
a.因为是官方提供的例程,所以拿来就可以直接编译,但是经过大约10多分钟的漫长等待,结果发现有9个错误!
怎么官方工程师能犯这么低级的错误呢?给大家一个错误的工程呢?
我还是怀疑是自己软件的问题,因为一般官方的例程是调试完成的,不会出错。
0903.png
b.但是不管怎么仔细看,都没发现错误在什么地方,后来找了网友一起来找问题。最后在大家共同努力下,终于发现了问题所在!
原来官方工程师在MDK工程中添加了IAR的STemWin库文件,当然是编译会出错的!这个问题还真是不太好发现,希望官方能尽快修改这个错误,以免给其他人带来不便。
0904.png
c.知道了原因,那修改就容易了!首先要找到StemWin的官方库的位置,如下文件夹,有IAR和MDK的库。
0905.png
d.在MDK工程中替换成KEIL库文件即可
0906.png
e.再次编译,发现很快就出了结果,编译通过!
0907.png
可以看到编译之后的HEX文件,将近24M的大小,这个DEMO可是不小哈!
0908.png
(4)下载官方DEMO
a.下载工作在STM32 ST-LINK Utility中完成,首先打开软件,如下图。
0909.png
b.在软件中首先可以链接开发板,点击如下的按钮,如果链接上,就会出现提示信息。
0910.png
c.STM32F469IDISCOVERY开发板使用了Quad-SPI NOR Flash存储器N25Q128A13EF840E,首先要在如下菜单中选择16M的N25Q128A选项,如下图。
0911.png
d.在STM32 ST-LINK Utility软件中打开刚刚编译好的工程HEX文件,如下图。
0912.png
e.点击下载变成按钮,会弹出如下窗口,选择SWD方式下载。
0913.png
f.确定后出现下面界面,下载程序。
0914.png
g.这个下载过程也是比较慢的,等待……
0915.png
h.直至下载程序完成,发现STM32F469I DISCOVERY开发板自动启动,官方的DEMO有运行起来了!

最后经过编译官方的例程,是我对MDK的速度有了新的认识!初次编译了一下这个官方DEMO,用时10多分钟,简直到了无法忍受的地步了,怎么会这样,以前没有编译过这么大的工程,重来没有这种体会!
于是又试了一下IAR,发现IAR的速度比MDK快了许多,真是一比较,就有了区别!

注意,在STM32F469I DISCOVERY开发板自带的例程和这个库中的例程并不是一个,还是有些区别的。
如下图:
这个是原厂的演示
0930.png
这个是官方例程的演示,可以看出Touch GFX换成的garden control了。
0931.png

 楼主| lkl0305 发表于 2015-11-12 23:20 | 显示全部楼层
本帖最后由 lkl0305 于 2015-11-13 00:11 编辑

十、结语
经过一周多的对STM32F469 Discovery开发板的熟悉与测试,终于基本上完成了本次测试内容。
本次测试从ST硬件评估板介绍、STM32F469系列MCU、STM32F469IDISCOVERY开发板的分析和上手演示、功耗测试,最后又简单的开发调试STM32F469I DISCOVERY开发板等方面入手,进行测试和评价。
总之,STM32F469 Discovery开发板板载核心微控制器STM32F469NIH6,基于ARM Cortex-M4内核,内部集成Chrom-ART加速、ART Accelerator存取加速器和MIPI-DSI部分,提升图形处理性能、实时处理速度,具有低成本、低功耗的图形交互界面性能,助力于物联网、可穿戴设备和工业控制等领域!
以上便是我的测试内容,希望大家多提宝贵意见!

完结!
mark0668 发表于 2015-11-13 01:09 | 显示全部楼层
沙发....看得出楼主很用心.
xzezhen 发表于 2015-11-13 08:56 | 显示全部楼层
跟爱板网和STM32社区对比,楼主评测得最为详细,很赞..................。
huaiqiao 发表于 2015-11-13 10:39 | 显示全部楼层
多谢楼主分享,emwin这个的移植分享的很好。
strang 发表于 2015-11-13 11:43 | 显示全部楼层
楼主辛苦了。分享很详细,学习了
karaxiaoyu 发表于 2015-11-13 14:52 | 显示全部楼层
写的好 ,很详细
 楼主| lkl0305 发表于 2015-11-13 21:12 | 显示全部楼层
mark0668 发表于 2015-11-13 01:09
沙发....看得出楼主很用心.

多谢支持:)
 楼主| lkl0305 发表于 2015-11-13 21:12 | 显示全部楼层
huaiqiao 发表于 2015-11-13 10:39
多谢楼主分享,emwin这个的移植分享的很好。

emwin也是初学,欢迎交流
1347559641 发表于 2015-11-13 21:18 | 显示全部楼层
太强大了,不知论坛会不会有活动!
huaiqiao 发表于 2015-11-13 21:18 | 显示全部楼层
lkl0305 发表于 2015-11-13 21:12
emwin也是初学,欢迎交流

哈哈,我也是学习中,O(∩_∩)O哈哈~
皈依 发表于 2015-11-13 21:49 | 显示全部楼层
楼主辛苦了!够看好一阵子了
gejigeji521 发表于 2015-11-13 23:12 | 显示全部楼层
有一部分跟高版主写的那个差不多,应该参考了同样的内容。
gejigeji521 发表于 2015-11-13 23:12 | 显示全部楼层
TM32F469I DISCOVERY开发板选择的是意法半导体公司的STM32F469NIH6(216引脚的TFBGA封装)。该系列隶属于STM32F4系列MCU,内部是ARM Cortex®-M4内核。
 楼主| lkl0305 发表于 2015-11-15 23:10 | 显示全部楼层
gejigeji521 发表于 2015-11-13 23:12
有一部分跟高版主写的那个差不多,应该参考了同样的内容。

哦,这一部分是ST官网关于469介绍主页的内容。看的好仔细:)
 楼主| lkl0305 发表于 2015-11-15 23:25 | 显示全部楼层
1347559641 发表于 2015-11-13 21:18
太强大了,不知论坛会不会有活动!

活动来了,在11.16日论坛开始!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

896

帖子

10

粉丝
快速回复 在线客服 返回列表 返回顶部