ARM拥有多种系列处理器内核,经过它授权的各个厂商又推出了花样繁多的处理器芯片。因此市面上充斥这各种各样ARM开发板和评估板,性能千差万别,价格也非常悬殊。ARM公司收购著名的嵌入式开发工具Keil之后继续推出各种嵌入式开发方案和评估套件,由Keil发布的官方评估套件就有别的厂商所不具有的优势。
今天向大家介绍一款最新的Keil MCBSTM32F400 ARM评估套件,它是基于ARM Cortex-M4内核的开发工具,板上的核心微控制器采用了意法半导体STM32F407系列。在F400评估板上可以编写和测试STM32F407x微控制器系列的应用程序,评估板上包含了各种外设并包括3轴数字加速度计、陀螺仪、数码相机和麦克风等功能。而且每个套件(MCBSTM32F400UME)提供ULINK-ME调试适配器。
F400评估套件包装里面包括了:
- MCBSTM32F400评估板一块
- ULINK-ME调试器一块以及一根10脚JTAG线缆(1.27mm间距)
- USB-A转micro USB连接线两根
- 入门手册
核心芯片
F400评估板的核心芯片是Cortex-M4核的STM32F407系列微控制器。Cortex-M4是ARM的一款高性能处理器,相对于之前的Cortex-M3增加了CPU的DSP扩展,同时增加了一个单精度浮点运算单元(FPU)实现支持ARM的单精度数字信号处理指令和格式。Cortex-M4处理器实现了微控制器的实时控制和DSP的信号处理能力结合,拓宽了产品的应用范围,能提供电动机控制、汽车、电源管理、嵌入式音频和工业自动化市场更灵活解决方案。
评估板上的STM32F4系列微控制器采用了90纳米工艺和特有的ART加速器,在工作频率为168 MHz时处理性能达到210 DMIPS/469。STM32 F4系列保持与STM32 F2系列的引脚到引脚及软件兼容,并提供更多静态随机存取存储器,同时改进了部分外设,如全双工I2S总线、改进型实时时钟(RTC)和速度更快的模数转换器(ADC)。
STM32F407IG上集成了大量的外设控制,几乎涵盖了嵌入式应用所有常用接口,是一个全能的微控制器。甚至包括了LCD接口和摄像头控制接口,参考数据手册我们可以看看它的一些主要参数:
- Cortex-M4内核,频率达到168MHz
- 192KB SRAM、1MB Flash以及各种静态存储器接口(如支持Compact Flash, SRAM, PSRAM, NOR和NAND)
- LCD并行接口
- 2通道12位D/A、24通道12位A/D
- 最多17个计时器
- 最大140个带中断功能GPIO
- 15路串行通信接口(包括ISP、I2C、USART、UART、CAN等)
- 2路USB OTG(FS+FS/HS)
- 10/100 Ethernet MAC
- 并行摄像头接口
- RTC
- SWD/JTAG调试接口以及Cortex-M4 ETM调试模式(Embedded Trace Macrocell)
硬件部分
Keil公司的评估板有很多结构和尺寸都相同,风格统一能简化设计也很好辨认。MCBSTM32F400评估板也是如此,板子是长方形的,大小为170mm X 124mm,第一眼看到时就觉得板上的外设和跳线器真多。
这款评估板主要是用作评估STM32F407系列微控制器芯片性能以及软件开发使用,所以板上外设真的是非常齐全,微控制器所带外设接口在评估板上基本都能测试。PCB板采用了4层设计,板子4个角都有固定支架,毕竟原厂出品,非常成熟和贴心的设计。首先来看看F400评估板的框图和参数吧:
- 168MHz STM32F407IG ARM Cortex-M4核微控制器,176脚 BGA封装
- 存储器: 8MB NOR Flash, 512MB NAND Flash, 2MB SRAM, 8KB I2C EEPROM(带NFC接口)
- 2.4英寸彩色 QVGA TFT LCD(带触摸功能)
- 10/100 Ethernet
- USB 2.0 Full Speed - USB, USB-OTG, & USB Host
- USB 2.0 High Speed - USB, USB-OTG, & USB Host
- 1 CAN 总线接口
- 串行接口
- MicroSD 卡接口
- 5向操纵杆
- 3数字轴加速度计
- 3轴数字陀螺仪
- 模拟电压输入(电位计)
- 音频 CODEC(带扬声器/麦克风)
- 30万像素VGA摄像头
- 4个按钮
- 8 LED
- 3种JTAG接口
- 电源插座
如此功能齐全,评估板硬件还是蛮复杂的,板上IC非常多。不过评估板的原理图是公开的,可以用来参考和研究一下官方公版的设计。下面首先来详细分解它的硬件设计:
1. 微控制器
ST公司最新的Cortex-M4核的STM32F407IG,176脚的BGA封装。STM32F407片上有1Mb Flash和192KbRAM存储器,外接了25MHz的晶体振荡器和32.768KHz的RTC时钟。芯片内部有内置的16MHz时钟和32Khz的RC振荡电路,所以两个时钟的引脚其实也是可以作为GPIO使用,在PCB上可以看到布线铜线(SJ1、SJ2、SJ3、SJ4)作为预留,如果需要将时钟引脚作为IO脚使用,可以短接这些布线,同时去掉外部时钟。
微控制器芯片是BGA封装,这样想用示波器等设备调试是不可能了。好在评估板预留出了原型区域,将微控制器的所有140个IO引脚以及电源和地都引出来,这样不仅方便了测量信号而且也能够按需要自己扩展功能。IO引脚是直接连接到微控制器芯片的管脚,所以使用时要小心信号的电压以免烧坏芯片,下图是评估板的原型扩展区域:
2. 存储器
F400评估板上配置了丰富的各种类型存储器,包括:
- 8MB(4Mx16) NOR FLASH存储器M29W640FB70N6E。
- 2MB(1Mx16)SRAM存储器IS61WV102416BLL-10MLI。
- 512MB(512Mx8)NAND FLASH存储器MT29F4G08A。
- 8KB(2Kx32)EEPROM存储器M24LR64-R。
F400评估板上的器件都在PCB板的正面,只有NAND FLASH存储器位于PCB背部。EEPROM M24LR64-R是一款双接口存储器,其中一个I2C接口,还有一个射频的接口可以接受无线载波。板上可以看到EEPROM旁边连接了一个4.7微亨的电感线圈,这样可以接收NFC信号。
3. 电源
评估板的供电方式有3种:电源插座和2个micro USB口。
电源插座采用了标准2.1mm孔径插座,输入范围为8V-12V,通过了TI公司的DC-DC转换器LM25011MY提供5V、2A电压。两个micro USB也能通过计算机提供5V电压。3条5V电压线都通过B340整流器后并联,这样防止了电压之间干扰。
5V电压通过两个3.3VLDO稳压器LD1117S33产生3.3V的数字电路电压和模拟电路电压,F400评估板最大工作电流375mA,因此一个USB口足够提供评估板所需电流(如果要驱动大电流外设的话需要接电源插座了)。
板上还有一个纽扣锂电池CR1220用作提供微控制器的RTC供电,当跳线J1连到BAT时,即使没有5V供电,也可以保持RTC工作。
4. JTAG
板上提供了3种调试接口:标准JTAG(20脚2.54mm间距)、标准Cortex调试口(10脚1.27mm间距)、Cortex+ETM接口(20脚1.27mm间距)。这样Keil的ULINK系列调试工具都能够使用(MCBSTM32F400UME套件配备ULINK-ME)。
5. LCD
F400评估板上配备了一个2.4英寸带触摸功能的LCD模块,通过一个34脚插座与底板相连。面板采用了Ampire公司的AM240320L8TNQW,2.4英寸(240x320)彩色TFT LCD,16位接口。
LCD模块上包括了一个4线的电阻屏,由ST公司的触摸控制芯片STMPE811进行控制。
6. 音频
评估板也配备了音频处理模块,音频处理采用了Cirrus Logic公司的低功耗立体声CODEC芯片CS42L52,输出可以接到扬声器和耳机插座。当跳线J6短接时音频输出到扬声器SPK1,而断开时就输出到耳机插座。
板上音频输入有两种方式,一种是由麦克风插座连接到CODEC处理,另外一种是通过板载数字MEMS麦克风传感芯片MP45DT02,信号直接连到微控制器的IO。
7. 摄像头
板载有一个CMOS VGA摄像头CAM1,采用了OmniVision公司的OVM7690,支持30fps 640x480图像传输,数据格式位8位。通过2个8位总线驱动器74LVC245ATTR与微控制器相连,跳线J17实现使能和关闭摄像头数据。
由于摄像头芯片OVM7690的工作电压是2.6V-3.0V,板上还采用了LDO稳压器LD1117STR产生2.8V供电。同时采用了电平转换芯片ST1G3236DTR来提供2.8V的时钟信号。
8. USB接口
STM32F407微控制器有两个USB接口(FS+FS/HS),都可以用作USB设备、USB主控制和USB OTG。板上的micro USB接口作为USB设备口用于连接到USB控制口(计算机),而还有两个USB A 型接口可以作为USB主控制口或者USB OTG接口。
USB主控制口或者USB OTG口需要为外接的USB设备提供足够的电流,因此使用USB A型接口时评估板需要通过电源插座提供足够电流。USB A 型接口还采用ST公司的限流开关芯片STMPS2141SR,当USB控制口出现过流、短路或者过热的时候会点亮故障灯(FS_ERR、HS_ERR)。
STM32F407有一个USB口(P3)支持FS和HS传输,当跳线J2短接时,信号通过板载高速USB OTG ULPI收发器STULPI01支持USB高速传输。当跳线J2断开时,P3传输为全速模式。
9. Ethernet接口
微控制器芯片内置了MAC模块,通过PHY控制器ST802RT1AFR连接到RJ45 Ethernet接口。ST802RT1AFR是ST公司的3.3V快速PHY接口芯片,支持10BASE-T、100BASE-TX和100BASE-FX,采用了48脚LQFP封装,外接50MHz晶振。
10. 串行接口
STM32F407IG芯片最多能提供6路USART接口,评估板上有一个9针的RS232串口(母口)用来评估微控制器的串行接口,。通过跳线J13和J14可以用来选择微控制器的串行通信口。串行信号连接到RS232口通过了一个RS232驱动器和收发器ST3232C,速度达到400kbs。
同时板上还有一个DB9连接器(公口)作为CAN总线接口用来评估板微控制器的两个CAN接口。通过跳线J15选择是CAN1还是CAN2。CAN信号线连接到DB9通过了一个CAN收发器SN65HVD230。
11. MEMS
板载的传感器也是用来评估芯片的I2C接口,配备了I2C接口的3轴加速度计LIS3Dh 和3轴陀螺仪L3G4200D,同时3轴加速度计还预留了3个模拟输入口可以将模拟信号引入转化为数字信号来仿真。
12. GPIO
F400评估板上包括了很多基本的GPIO外设如8个LED、4个按钮、电位计以及5向的操纵杆。
5向的操纵杆是通过8位的电阻触摸屏控制芯片STMPE811QTR控制。
13. micro SD接口
评估板上配备了一个micro SD卡插座。
14. 跳线
J1
BAT/3.3V
选择微控制器的RTC电源
J2
USBHS_EN
使能高速USB口的HighSpeed模式
J3
BOOT1
连接微控制器BOOT1引脚 High或者接地
J4
BOOT0
连接微控制器BOOT0引脚 High或者接地
J5
M_DATA
连接Mic传感器的数据线到引脚PC3
J6
LS
选择耳机输出/板载扬声器
J7
M_CLK
连接Mic传感器的时钟线到引脚PI1
J8
MICbiasR
连接麦克风偏置电压(右路输入)
J9
MICbiasL
连接麦克风偏置电压(左路输入)
J10
A19/TRACE
旋转引脚PE3用作NOR Flash地址或者ITM 指令跟踪调试
J11
A20/TRACE
旋转引脚PE4用作NOR Flash地址或者ITM 指令跟踪调试
J12
A21/TRACE
旋转引脚PE5用作NOR Flash地址或者ITM 指令跟踪调试
J13
TX3/4-TX1
连接RS232驱动器TXD信号到 UART3/4 (PC10) 或者 UART1 (PB6)
J14
RX3/4-RX1
连接RS232驱动器RXD信号到 UART3/4 (PC10) 或者 UART1 (PB6)
J15
CAN1/2
连接CAN收发器到 CAN1 (PI9 and PH13)或者CAN2 (PB5 and PB13)
J16
CAN Term
选择CAN总线端接电阻(120欧)
J17
CAN_EN
使能板载摄像头
J18
LED_EN
使能板载8个LED
J19
3V3uC
连接微控制器3.3V电压VDD,可以用于测量MCU的数字电路电流
J20
3V3A
连接微控制器3.3V电压VDDA和VREF+,可以用于测量MCU的模拟电路电流
15. ULINK-ME调试器
评估套件中包含了一个ULINK-ME调试器,用于评估板的仿真和调试程序。ULINK-ME有两种接口:标准JTAG(20pin 2.54mm间距)和Cortex调试接口(10pin 1.27mm间距)。
ULINK-ME调试器通过micro USB口连接到计算机,板上还有一个蓝色LED用来指示调试器的工作状态。
上电检测
F400评估板在出厂时已经预装了一个Demo演示程序,上电之后就会自动运行。
micro USB口就可以给评估板供电,而且评估板上没有电源开关。通过任意一个micro USB连接到计算机,评估板就开始上电工作,对应的USB口指示灯(VBUS_F或、VBUS_HS)变亮(注意只通过电源插座供电的话没有指示灯)。LCD显示了Demo程序的初始画面。
Demo程序可以分为3个控制界面,上图是程序初始后的画面,按下复位键也会回到这个界面。首先按任意一个按钮(不包括复位按钮)或者小操纵杆会进入第一个操作界面:
这里可以做几个实验:
- 调整电位计可以改变AD value的指示条
- 按下按钮(TAMPER和USER)字符显示会变亮
- 控制操纵杆则画面上Joystick右侧方向盘会有指示
- 按住LCD上Touch区域可以点亮右侧的灯泡图案。
按下左侧WAKEUP按钮Demo程序切换到下一个界面,图形显示加速度计和陀螺仪传感器的数据。转动评估板的话显示会实时的变化,这样对传感器的功能有一个直观的感受。
接着再次按下WAKEUP按钮程序切换到摄像头界面,实测比一般手机的前置30万像素摄像头效果要好啊。
F400评估板的Deno演示程序功能还是很强大的,对评估板上的GPIO外设、传感器、摄像头以及LCD进行了一个功能验证。
MDK
Keil提供了一整套的嵌入式软硬件开发工具,F400评估板的软件开发可以使用MDK-ARM,可以到官网下载免费的MDK-Lite版本(32Kb代码限制)。
要在F400评估板上编译测试程序的话需要搭好软硬件平台——MDK-ARM设计工具、仿真编译工具、评估板。配件中包括了ULINK-ME调试器,所以只要下载安装好MDK-ARM就可以开始玩了。
MDK-ARM软件安装很简单(参见MDK-ARM入门),软件安装完成后要占用到2.4G的硬盘空间。
ULINK-ME有两种方式连接到评估板的JTAG接口(当然也可以使用ULINK2和ULINKpro)。一是直接插到板上标准的20脚JTAG插座,还有一种通过配件中的线缆连接到板上标准10脚Cortex Debug插座。
打开µVision4,如果安装过程中没有加入例程项目也没有关系,F400评估板的例程都在安装目录\Keil\ARM\Boards\Keil\MCBSTM32F400之下。首先我们看看最简单的Blinky程序,选择Project->Open project,
这个是已经建立好的例程,首先可以看看例程项目的构造,选择Project->Manager
选择Project->Option for Target...,看看项目的配置选项:
Device标签下选择芯片型号
程序目标配置
选择调试适配器
调试器设置
选择FLASH下载器
Flash调试器设置
选择Project->Building Target进行编译,编译完成后可以旋转Debug->Start/Stop debug session进入Debug调试模式
当然也可以旋转Flash将程序下载到芯片中,完成后LED就会像跑马灯一样流水显示。
而且在F400评估板的例程文件目录下(\Keil\ARM\Boards\Keil\MCBSTM32F400)还有Demo程序的源程序,如果出现问题或者想恢复出厂设置可以将Demo重新下载到评估板。
小结
ARM原厂的MCBSTM32F400评估板功能非常齐全,板上的外设众多,几乎包含了所有平常能用到的功能。评估板能够对STM32F407系列微控制器的几乎所有IO功能进行测试,而且将微控制器的所有IO引脚都引出,更方便扩展和调试。可以说MCBSTM32F400评估板能够非常完整的评估STM32F407系列微控制器的所有功能,验证各种应用程序。
Keil官方网站有详细的文档和丰富例程,开发软件MDK-ARM的使用简单方便,因此评估板的入门上手非常容易。在评估套件中包括了ULINK-ME调试器,不需要另外购置仿真器就能搭建一个嵌入式开发环境。美中不足的是开发软件MDK-ARM Lite免费版有32KB代码限制,而MDK-ARM的专业版需要License价格不菲。目前能够在E络盟网站购买到MCBSTM32F400UME评估套件,价格是2508.66元人民币。
参考链接
- MCBSTM32F400原理图
- Keil MCBSTM32F400 ARM评估板
- E络盟Knode社区
- ST意法半导体社区
- MCBSTM32F200/400 ARM评估板用户手册
- STM32F407IG微控制器
原创申明:本文为爱板网原创,谢绝转载!
ARM拥有多种系列处理器内核,经过它授权的各个厂商又推出了花样繁多的处理器芯片。因此市面上充斥这各种各样ARM开发板和评估板,性能千差万别,价格也非常悬殊。ARM公司收购著名的嵌入式开发工具Keil之后继续推出各种嵌入式开发方案和评估套件,由Keil发布的官方评估套件就有别的厂商所不具有的优势。
今天向大家介绍一款最新的Keil MCBSTM32F400 ARM评估套件,它是基于ARM Cortex-M4内核的开发工具,板上的核心微控制器采用了意法半导体STM32F407系列。在F400评估板上可以编写和测试STM32F407x微控制器系列的应用程序,评估板上包含了各种外设并包括3轴数字加速度计、陀螺仪、数码相机和麦克风等功能。而且每个套件(MCBSTM32F400UME)提供ULINK-ME调试适配器。
F400评估套件包装里面包括了:
- MCBSTM32F400评估板一块
- ULINK-ME调试器一块以及一根10脚JTAG线缆(1.27mm间距)
- USB-A转micro USB连接线两根
- 入门手册
核心芯片
F400评估板的核心芯片是Cortex-M4核的STM32F407系列微控制器。Cortex-M4是ARM的一款高性能处理器,相对于之前的Cortex-M3增加了CPU的DSP扩展,同时增加了一个单精度浮点运算单元(FPU)实现支持ARM的单精度数字信号处理指令和格式。Cortex-M4处理器实现了微控制器的实时控制和DSP的信号处理能力结合,拓宽了产品的应用范围,能提供电动机控制、汽车、电源管理、嵌入式音频和工业自动化市场更灵活解决方案。
评估板上的STM32F4系列微控制器采用了90纳米工艺和特有的ART加速器,在工作频率为168 MHz时处理性能达到210 DMIPS/469。STM32 F4系列保持与STM32 F2系列的引脚到引脚及软件兼容,并提供更多静态随机存取存储器,同时改进了部分外设,如全双工I2S总线、改进型实时时钟(RTC)和速度更快的模数转换器(ADC)。
STM32F407IG上集成了大量的外设控制,几乎涵盖了嵌入式应用所有常用接口,是一个全能的微控制器。甚至包括了LCD接口和摄像头控制接口,参考数据手册我们可以看看它的一些主要参数:
- Cortex-M4内核,频率达到168MHz
- 192KB SRAM、1MB Flash以及各种静态存储器接口(如支持Compact Flash, SRAM, PSRAM, NOR和NAND)
- LCD并行接口
- 2通道12位D/A、24通道12位A/D
- 最多17个计时器
- 最大140个带中断功能GPIO
- 15路串行通信接口(包括ISP、I2C、USART、UART、CAN等)
- 2路USB OTG(FS+FS/HS)
- 10/100 Ethernet MAC
- 并行摄像头接口
- RTC
- SWD/JTAG调试接口以及Cortex-M4 ETM调试模式(Embedded Trace Macrocell)
硬件部分
Keil公司的评估板有很多结构和尺寸都相同,风格统一能简化设计也很好辨认。MCBSTM32F400评估板也是如此,板子是长方形的,大小为170mm X 124mm,第一眼看到时就觉得板上的外设和跳线器真多。
这款评估板主要是用作评估STM32F407系列微控制器芯片性能以及软件开发使用,所以板上外设真的是非常齐全,微控制器所带外设接口在评估板上基本都能测试。PCB板采用了4层设计,板子4个角都有固定支架,毕竟原厂出品,非常成熟和贴心的设计。首先来看看F400评估板的框图和参数吧:
- 168MHz STM32F407IG ARM Cortex-M4核微控制器,176脚 BGA封装
- 存储器: 8MB NOR Flash, 512MB NAND Flash, 2MB SRAM, 8KB I2C EEPROM(带NFC接口)
- 2.4英寸彩色 QVGA TFT LCD(带触摸功能)
- 10/100 Ethernet
- USB 2.0 Full Speed - USB, USB-OTG, & USB Host
- USB 2.0 High Speed - USB, USB-OTG, & USB Host
- 1 CAN 总线接口
- 串行接口
- MicroSD 卡接口
- 5向操纵杆
- 3数字轴加速度计
- 3轴数字陀螺仪
- 模拟电压输入(电位计)
- 音频 CODEC(带扬声器/麦克风)
- 30万像素VGA摄像头
- 4个按钮
- 8 LED
- 3种JTAG接口
- 电源插座