1.开发板功能及使用介绍
本章主要内容
1.开发板功能介绍
2.开发板使用方法
介绍
STM32介绍
本章主要内容:
1.什么是STM32
2.STM32与ARM的关系
3.STM32F407ZGT6介绍
4.STM32能做什么
1.什么是STM32
从字面意义来看:
ST:意法半导体,是一个公司的名字。
M:Microelectronics的缩写,表示微控制器,要注意微控制器和微处理器的区别
32:32bit的意思,表示这是一个32bit的微控制器
2.STM32与ARM的关系
ARM是英国的芯片设计公司,其最成功的莫过于32位嵌入式CPU核--------ARM系列,最常用的是ARM7和ARM9,ARM公司主要提供IP(Intellectual Property core知识产权的核心)核,就是CPU的内核结构,只包括最核心的部分,并不是完整的处理器。ARM把这个核卖给各大半导体公司,如Philips 三星,ATMEL, 甚至Intel等许多公司。ARM为了对付8位机市场,推出了一系列Cortex-M核,STM32就是将Cortex-M作为内核,通过一些外设等组合封装在一起就成了如今火爆的32位嵌入式处理器。
我们开发板上使用的是STM32F4,也就是M4内核
Cortex-M4采用ARMv7-ME架构
ARMv7架构定义了三大分工明确的系列:
“A“系列:面向尖端的基于虚拟内存的操作系统和用户应用
“R“系列:针对实时系统
“M"系列:对微控制器
Cortex-M3采用ARMv7-M架构,Cortex-M0采用ARMv6-M架构,Cortex-A5/A8采用ARMv7-A架构,传统的ARM7系列采用的是ARMv4T架构。
3.STM32F407ZGT6介绍
首先我们看下STM32是如何分类的:
STM32的命名规则
STM32型号的说明:以STM32F103RBT6这个型号的芯片为例,该型号的组成为7个部分,其命名规则如下:
STM32F407ZGT6:407表示是M4内核,高性能且带DSP和FPU
在这里插入图片描述
我们使用的开发板芯片是STM32F407ZGT6芯片,其内部资源介绍如下:
(1)内核:32位,高性能ARM Cortex-M4处理器
时钟:高达168M,实际还可以超频一点,支持FPU(浮点运算)和DSP指令
(2)IO口:STM32F407ZGT6:144引脚 144个IO大部分IO口都耐5V(模拟通道除外)支持调试:SWD和JTAG,SWD只要2根数据线
(3)存储器容量:1024K FLASH, 192K SRAM
(4)时钟,复位和电源管理:
1:1.8~3.6V电源和IO电压
2:上电复位,掉电复位和可编程的电压监控
3:强大的时钟系统
-4~26M的外部高速晶振
-内部16MHz的高速RC振荡器
-内部32KHz低速RC振荡器,看门狗时钟
-内部锁相环(PLL,倍频),一般系统时钟都是外部或者内部高速时钟经过PLL倍频后得到
-外部低速32.768K的晶振,主要做RTC时钟源
(5)低功耗:
-睡眠,停止和待机三种低功耗模式
-可用电池为RTC和备份寄存器供电
(6)AD:
-3个12位AD(多达24个外部测量通道)
-内部通道可以用于内部温度测量
-内置参考电压
(7)DA:2个12位DA
(8)DMA:16个DMA通道,带FIFO和突发支持
支持外设:定时器,ADC,DAC, SDIO,I2S,SPI,I2C,和USART
(9)定时器:多达17个定时器
-10个通用定时器(TIM2和TIM5是32位)
-2个基本定时器
-2个高级定时器
-1个系统定时器
-2个看门狗定时器
(10)通信接口:多达17个通信接口
-3个I2C接口
-6个串口
-3个SPI接口
-2个CAN2.0
-2个USB OTG
-1个SDIO
那么我们怎么知道相应管脚的具体功能呢?
答:我们可以通过芯片数据手册查找。
4.STM32能做什么
STM32的用处取决于其内部资源,前面我们了解了STM32内部拥有非常多的通信接口。所以如果你使用的块拥有此接口都可以通信。
比如:
USART: ESP8266 WIFI模块、GSM模块、蓝牙模块、GPS模块、指纹识别模块等。
IIC: RRPROM、MPU6050陀螺仪、0.96寸OLED屏、电容屏等。
SPI: 串行FLASH、以太网W5500、vs1003/1053音频模块、SPI接口的OLED屏、电阻屏等。
AD/DA:光敏传感器模块、烟雾传感器模块、可燃气体传感器模块、简易示波器等
其他的一些接口这里就不罗列,反正STM32能做的东西有很多。
例如:日常生活中可见的电子产品:智能手环,微型四轴飞行器,平衡车,扫地机、移动POS机,智能电饭锅,3D打印机,机器人等。
主要内容补充
1.STM32芯片架构
2.STM32总线矩阵
3.STM32时钟系统
4.STM32学习方法
1.STM32芯片架构
我们这里讲的STM32F4系列架构主要针对的STM32F407系列芯片。
2.STM32总线矩阵
3.STM32时钟系统
由于STM32时钟系统比较复杂,后面专门设一章节讲解。
4.STM32学习方法
(1)基本外设:
-GPIO输入输出,外部中断,定时器,串口。
-理解了这四个外设,基本就入门了一款MCU。
(2)基本外设接口:
-SPI,IIC,WDG,FSMC,ADC/DAC,SDIO等
-这些外设接口功能原理对每个芯片几乎都是一样。
对芯片而言就是多和少而已。
(3)高级功能:
-UCOS,FATFS,EMWIN等。以及一些应用。
(4)C语言能力要加强
C语言是嵌入式开发的基础中的基础。
如果C语言不过关,大大限制嵌入式学习进度,以及嵌入式学习深度。嵌入式高手都是C高手。选择谭浩强的《C程序设计 第四版》入门及巩固C语言基础是不错的,但是仅靠这本书远远不够,可以参考《C与指针》、《C指针编程之道》等。