STM32课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Cortex-M3 处理器概述
•哈佛结构
•指令总线和数据总线分离,允许并行地取指和数据存储
•指令密度达到1.25DMIPS/MHz ,0.19mW/MHz •Thumb-2指令集拥有32位的性能和16位的代码密度 •单周期乘法和硬件除法 •Cortex-M3核内部集成了嵌入式高速中断控制器:
•低中断响应时间,最低可达6个CPU周期(内部中断) •从低功耗模式被唤醒也只需6个CPU 周期
Smartcard/IrDa Modem-Ctrl
2x Watchdog
(independent & window)
2x DAC** 2x 12-bit ADC
16 channels / 1Msps
Smartcard / IrDa Modem Control
0/1x SPI 1/2x I2C
*仅限144脚的封装
(max 36MHz)
JTAG/SW Debug Nested vect IT Ctrl 1x Systic Timer DMA
3 to 11* Channels
Int. RC oscillators
32KHz + 8MHz
PLL
RTC / AWU 1x SDIO** 1x USB 2.0FS 1x bxCAN 2.0B 2x SPI/I2S**
32b 32b 32b 64b
1 1 1 3-7*
硬件除法
– UDIV&SDIV – 指令执行需要2到12周期,取决与被除数与除数 – 两者越相近指令完成越快 – 指令可以被中断(丢弃/重启)
Cortex-M3 VS ARM7: 主要参数比较
ARM7TDMI-S 体系结构 指令集 DMIPS/MHz 流水线 中断 中断响应时间 存储器印射 系统状态 睡眠模式 v4T ARM (32-bit) & Thumb (16-bit) 0.74 Thumb / 0.93 ARM 3-Stage FIQ / IRQ
2xUSART 2x16-bit timer 1xSPI, 1xI2C USB, CAN, PWM 2xADC
STM32 通用平台
STM32 概念 标准的 ARMTM Cortex-M3 内核 高性能外设 提供两个完整的产品系列 开发工具以及软件支持
各系列产品 全面兼容
Tools Family Periphs Core
72 MHz CORTEX- M3 CPU Wide offer • 32KB-512KB Flash • 6Kb-64KB RAM
LQFP (7x7)
(20x20)/BGA
STM32F10x的两条产品线 的两条产品线
STM32F103 “增强型”系列
•在32位的FLASH MCU中性能最强 •整体信号处理方面一定程度上胜过DSP解决方案 •出众的控制和连通性 •非常适合低电压/低功耗的应用场合
ST单击此处编辑母版标题样式 Cortex-M3
STM32基础教程
Contents
1、什么是STM32? 2、如何开发STM32 3、实例操作
什么是STM32? 什么是
•新的基于ARM内核的32位MCU系列
–内核为ARM公司为要求高性能、低成本、低功
耗的嵌入式应用专门设计的Cortex-M3内核 –标准的ARM架构 •超前的体系结构 –高性能 –低电压 –低功耗 –创新的内核以及外设 •简单易用/自由/低风险
STM32F103Rx 10 KB RAM
6 KB RAM*
0K 48 pins LQFP
6 KB RAM*
64 pins LQFP 100 pins LQFP/BGA
STM32R103Zx 64 KB RAM 144 pins LQFP/BGA
* 32kB devices exist w/o the CAN and USB, with 6kB of RAM
STM32F103Vx 20 KB RAM 3xUSART 3x16-bit timer 2xSPI, 2XI2C USB, CAN, PWM 2xADC
STM32F103Rx 20 KB RAM
STM32F103Vx 20 KB RAM
64 K
Samples April 07 Production Oct 07
Samples Dec 07 Production Q2 08
STM32F103Rx 256 K 64 KB RAM
STM32F103Vx 64 KB RAM
STM32F103Rx 128 K 20 KB RAM STM32F103C x 20 KB RAM STM32F103Cx 32 K 10 KB RAM
12b ADC (1µs) Temp sensor
11+ DMA 80% GPIO ratio Up to 512KB FLASH
* 只有在 只有在Flash大于 大于256KB(包含)的芯片上才包括 大于 (包含)的芯片上才包括DAC, EMI (144 pins), I2S, SDIO
STM32F103 “增强型”系列 增强型” 增强型
24-42 Cycles (Depending on LSM)
Cortex-M3 v7M Thumb-2 (Merged 32/16-bit) 1.25 Thumb-2 3-Stage + Branch Speculation
NMI, SysTick and up to 240 interrupts. Integrated NVIC Interrupt Controller up to 1-255 Priorities
STM32系列介绍 系列介绍
• 管脚,软件和外设全线兼容 • FLASH
– 32KB,64KB,128KB,256K,512K
• RAM
– 6KB,10KB,20KB,32KB,64KB
• 封装
– LQFP-48/LQFP-64/LQFP-100/BGA-100
• 电压范围2.0到3.6V • I/O电压容限为5V
POR/PDR/ PVD brown out
“增强型”系列
Up to 72M 64KB EMI DAC Hz SRA * * CPU M
2x12b ADC (1µs) Temp sensor
USB CAN
AC timer
I2S*
SDI O*
“基本型”系列
Up to 36M 48KB EMI DAC Hz SRA * * CPU M
STM32系列介绍 系列介绍
Flash Size (bytes) 512K
未来 发展方向 STM32 prod Q2/08 Samples Dec 07 Prod Q2/08
256 K
64 K 32 K 0K 48 pins
STM32 Samples NOW Prod Oct 07
64 pins LQFP (10x10) 100 pins LQFP (14x14)/BGA 144 pins LQFP
12 Cycles (6 when Tail Chaining) Architecture Defined xPSR. 2 modes. Stacked regs (1 bank) Three
Undefined PSR. 6 modes. 20 Banked regs No
Cortex-M3 附加的特性
1/2/4x USART/LIN
ARM Peripheral Bus
•-40/+85°C(工业级 ° )
Bridge 6x 16-bit PWM 16Synchronized AC Timer
2/3/5x 16-bit Timer
(max 72MHz)
Up to 16 Ext. ITs 32/49/80* I/Os 1x SPI 1x USART/LIN
优点
• 可升级的体系结构 • 适用你所有的应用 • 给用户相同的“外观和感受” • 统一的软件和开发投入
Cortex-M3 处理器
集成了内核和高级系统外设的分级处理器 • Cortex-M3 内核 – 哈佛体系结构 – 拥有分支预测功能的三级流水线 – Thumb®-2 指令集和传统的 Thumb 指令集 – 带有 硬件除法和 单信号周期乘法的 ALU • Cortex-M3 处理器 – Cortex-M3 内核 – 可配置的中断控制器 – 总线矩阵 – 先进的调试组件 – 可选择的 MPU & ETM
–简化了跟踪调试接口的管脚 ,从9脚减少到 2 或 3脚 –硬件中断处理不需要汇编代码 –综合的原子位操作改进了数据存储 –扩展的数据观测点 & Flash 保护技术 –嵌入式的睡眠控制和掉电模式 –可选择的小型的存储器保护单元 (MPU) 和 嵌入式跟踪宏单元 (ETM)
高集成度
• 内置式的管理单元减少了对外部器件的需求:
Power Supply
Reg 1.8V
POR/PDR/PVD XTAL oscillators
32KHz + 4~16MHz
6kB-64kB SRAM 20B Backup Regs External Memory Interface** Image Sensor** Clock Control Bridge ARM Peripheral Bus
• 上电复位,低电压检测,掉电检测,带有独立时钟的看门狗计时
器
• 一个主晶振驱动整个系统
• 廉价的4-6MHz晶振驱动CPU,
USB和所有外设 • 嵌入式PLL生成各种频率 • 可选择的为RTC提供的32KHz晶振
• 嵌入式的8MHz RC可以被用作主时钟
• 8MHz, 1%精度的内部振荡器 • 40KHz的内部实时时钟
广泛的工具和固件库支持
最大减少设计时间
标准的 ARMTM 体系结构
– 成熟的体系,便于开发
世界范围内有广泛的第三方支持
– 大量的开发工具以供选择( Keil, IAR, Raisonance,
Hitex )
使用从ST获得的免费的固件库 使用从ST获得的免费的固件库 ST
Flash I/F
CORTEXM3 CPU
源自文库
•2V-3.6V 供电电压 •5V I/Os 电压容限 •出色的时钟安全模式 •带有唤醒功能的低功 耗模式 •内部RC •嵌入的RESET
72 MHz
ARM Lite Hi-Speed Bus Hi Matrix / Arbiter (max 72MHz)
32kB-512kB Flash Memory
• 在LQFP100封装芯片的基础系统上只需要7个外
部无源器件
先进的外设
STM32采用双APB(先进外 设总线)结构,每条总线都 是高速APB总线(最高可到 CPU的频率)。 外设通过连接到这种总线结 构提高了外设的速度。
项目 USB USART SPI I2C GPIO PWM timer
速率 12Mbit/s Up to 4.5Mbit/s 18MHz(主和从) 400kHz 18MHz 72MHz时钟输入
Temp Sensor
**只有在Flash大于256KB(包含)的芯片上才包括DAC, EMI (144 pins), I2S, SDIO,图象传感器
STM32F103 “增强型”系列 增强型” 增强型
Flash Size (bytes) STM32F103Rx 512 K 64 KB RAM STM32F103Vx 64 KB RAM STM32F103Z x 64 KB RAM STM32F103Z x 64 KB RAM 5xUSART 5x16-bit timer 2xSPI, 2XI2C USB, CAN, PWM 2xADC, 2xDAC, I2S EMI (144 pins only)
STM32F101 “基本型”系列
•16位处理器的价格却拥有32位的性能 •STM32系列中的入门级产品 •非常适合低电压/低功耗的应用场合
STM32F10x的两条产品线 的两条产品线
Both lines have up to:
5 x USART 2 x SPI 2 x I2C 5 x 16-bit TIMERS RTC Int 8 MHz RC Int 32 kHz RC 2xWDG
•相比于ARM7TDMI,Cortex-M3内核要快35%且减少了45%的代码
Cortex-M3 处理器概述
Cortex-M3 处理器概述
三级流水线
– 取指,解码和执行
单信号周期乘法
Source Destination Cycles
16b x 16b 32b x 16b 32b x 32b 32b x 32b