打印
[STM32L4]

STM32L432 Nucleo-32开发板评测

[复制链接]
3059|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 犹豫的大三 于 2016-8-2 21:13 编辑

STM32L432xx是STM32L4系列的最新产品,相比STM32L476具有更低的功耗。STM32L432xx是基于Cortex-M4处理器,最高主频可达80MHz。Cortex-M4内核包含一个单精度的浮点单元(FPU),支持ARM所有单精度数据类型和指令,支持完整的DSP指令。此外还有一个内存保护单元(MPU),可以有效地提升应用的安全性。STM32L432xx的片上资源也很丰富,可以满足用户的不同需求。

STM32L432
最近拿到该系列STM32L432-Nucleo-32板一块,该开发板和ST传统Nucleo-32系列包装相同

打开包装后,仅有一快主板和一张使用说明卡片。采用了目前主流智能手机所用的USB接口作为调试和下载接口。和以往ST开发板一样,板上集成了ST-Link调试和下载器,通过一个手机USB线就可以调试和下载了。在卡片的背面有简要的使用说明、支持的系统和开发工具链。

开发板正面是主MCU和外围电路,背面是ST-Link电路。电路布线很紧凑,但并没有给人拥挤的感觉。扩展出的引脚支持ArduinoTM Nano,可以很方面用户DIY
[size=10.5000pt]
开发板详解
由于ST Nucleo-32系列采用多型号通用设计,和其他所有的Nucleo-32开发板相比,除了主MCU不同,其他完全相同。STM32L432 Nucleo-32MCU不仅UFQFPN32封装,而且支持LQFP32封装。此举大大方便我们进行DIY了,满足了广大工程师的“折腾”的胃口。
STM32L432KC UFQFPN32封装MCU
ArduinoTM Nano接口
USB Micro-B接口
板载ST-Link V2.1,可作为三种设备使用:SWD调试器、大容量存储器、虚拟串口
多种电源供电方式:USB、外部VIN、外部5V、外部3.3V
三个LED,其中一个用户LED
一个复位按键
32.768kHz低速晶振
支持MDKIAR、基于GCC的其他IDEMbed在线编程

主要资源如下图:

[size=10.5000pt]
STM32L432KC片上资源很丰富,下图是他的内部原理框图。

高达256KBFLASH64KBSRAM,以及QSPI接口,方便扩展外部存储
一个高达5Msps16bit ADC和两个12bit DAC
一个内部运算放大器、两个超低功耗比较器和一个温度传感器
USBSPII2CUART等各种通讯接口
26IO以及一个触摸传感器控制器
一个SAI接口

[size=10.5000pt]
上点测试:

USB mini型接口线和电脑相连。首次和ST开发板连接时会自动安装驱动,如驱动安装失败,可到ST官网下载驱动文件STSW-LINK009手动安装。下载地址:
http://www.st.com/content/st_com/zh/products/embedded-software/development-tool-software/stsw-link009.html
上电后会运行demo程序,用户LED3会以2Hz的频率闪烁。去除GNDD2之间的跳帽,用户LED31Hz的频率闪烁。LED2亮说明电源是5VU3 LDO输出的3.3V,不是直接3.3VMCU供电的

[size=10.5000pt]
低功耗特性
STM32L432xx具有比STM32L4x6更低的功耗,我们这里根据官方的数据进行对比一下:
[size=10.5000pt]
[size=10.5000pt]STM32L432xx
[size=10.5000pt]STM32L4x6
[size=10.5000pt]Run
[size=10.5000pt]84uA/Mhz
[size=10.5000pt]100uA/Mhz
[size=10.5000pt]Standby with RTC
[size=10.5000pt]280nA
[size=10.5000pt]430nA
[size=10.5000pt]Standby
[size=10.5000pt]28nA
[size=10.5000pt]130nA
[size=10.5000pt]Shutdown
[size=10.5000pt]8nA
[size=10.5000pt]30nA
由此可见,STM32L432xx系列在超低功耗性能上超过了STM32L4x6系列。
[size=10.5000pt]
代码测试
STM32Nucleo系列支持多种IDE。利用STM32CubeMX可以很方便的配置各个功能模块,并可生成对应的工程文件,比如MDK-ARM V5MDK-ARM V4EWARM等等。大家可以到ST官网下载STM32CubeMX,下载地址:
http://www.st.com/content/st_com/zh/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-configurators-and-code-generators/stm32cubemx.html
安装过程很简单。注意:没有安装JDK的电脑会提示安装缺少JDK,下载安装最新JDK即可。我们写个简单的测试程序,通过一个PIN的电平高低控制LED3的亮灭。

第一步,打开STM32CubeMX
点击“New Project”新建一个STM32CubeMX工程

第二步,选择芯片
选择合适的芯片型号STM32L432KC,点击“确定”后弹出工程界面。芯片的封装和引脚可以很直观的看到。

第三步,配置系统时钟
点击“Clock Configuration”,可以看到STM32L432整个时钟树。STM32L432 Nucleo-32没有外部晶振,只有一个32.768kHz的低速晶振。我们使用16MHz内部高速晶振HSI,通过PLL倍频到80MHz

第四步,配置GPIO
从原理图上知道PB3控制LED3PB3要配置成推挽输出。检测引脚选择PA9PA9要配置成输入。ST-LinkSWD模式,所以还需要将PA4配置成SYS_JTCK-SWCLKPA13配置成SYS_JTMS-SWDIO


第五步,生成工程
点击菜单栏的“Project”里的“Generate Code”,弹出“Project Settings”对话框,写入工程名称和工程保存目录。在“Toolchain/IDE”里可以选择要生成的工具链或IDE类型,我们使用keil5编译环境,所以选择MDK-ARM V5


第六步,增加测试代码
使用MDK-ARM V5.16打开工程,在while循环内添加测试内码。
if(HAL_GPIO_ReadPin(KEY_GPIO_Port,KEY_Pin) == GPIO_PIN_SET)
        HAL_GPIO_WritePin(LED_GPIO_Port,LED_Pin,GPIO_PIN_SET);
else
        HAL_GPIO_WritePin(LED_GPIO_Port,LED_Pin,GPIO_PIN_RESET);


点击程序后,下载到STM32L432 Nucleo-32开发板里。使用一根杜邦线将PA3GND相连,LED3灭。
[size=10.5000pt]
PA33.3V相连,LED3点亮。

结尾
STM32L432KC小封装,功耗更低,适合于对空间有严格要求的应用上。利用STM32L432 Nucleo-32开发板可以有效地评估STM32L432KC各功能模块。利用STM32CubeMX可以很方便的生成多种工程,可以大大缩减了开发时间。
[size=10.5000pt]



沙发
yyhhgg| | 2016-8-3 10:36 | 只看该作者
说的比较详细,可是STM32L476和STM32L432xx不是在同一个类型内,这样比较应该不科学吧,比如OTG FS,LCD

使用特权

评论回复
板凳
icecut| | 2016-8-3 10:42 | 只看该作者
板子好小...

使用特权

评论回复
地板
秋风式街球| | 2016-8-3 10:55 | 只看该作者
写的很好   顶楼主

使用特权

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

本版积分规则

19

主题

494

帖子

9

粉丝