STM32F4 简介_图文

STM32F4: 高性能的数字信号控制器

STM32 – 领先的Cortex-M 产品家族
闪存容量 (字节)
STM32F407VG STM32F417VG STM32F407ZG STM32F417ZG STM32F405RG STM32F415RG STM32F405VG STM32F415VG STM32F405ZG STM32F415ZG STM32F407IG STM32F207IG STM32F417IG STM32F217IG

1024K

STM32F207VG STM32F217VG STM32F207ZG STM32F217ZG STM32F205RG STM32F215RG STM32F205VG STM32F215VG STM32F205ZG STM32F215ZG STM32F101RG STM32F103RG STM32F101VG STM32F103VG STM32F101ZG STM32F103ZG STM32F205RF STM32F205VF STM32F207VF STM32F205ZF STM32F101ZF STM32F207ZF STM32F103ZF

768K

STM32F207IF STM32F407IE STM32F207IE STM32F417IE STM32F217IE

STM32F101RF STM32F103RF STM32F101VF STM32F103VF

STM32F407VE STM32F417VE STM32F407ZE STM32F417ZE STM32F207VE STM32F217VE STM32F207ZE STM32F217ZE

512K

STM32F205RE STM32F215RE STM32F205VE STM32F215VE STM32F205ZE STM32F215ZE STM32F101RE STM32F101RD STM32F205RC STM32F101VE STM32F101VD STM32F101ZE STM32F101ZD STM32F207IC STM32F100RE STM32F103RE STM32F100VE STM32F103VE STM32F100ZE STM32F103VE

384K

STM32F100RD STM32F103RD STM32F100VD STM32F103VD STM32F100ZD STM32F103ZD STM32F205VC STM32F207VC STM32F205ZC STM32F207ZC STM32F105VC STM32F105RC

256K

STM32F101RC STM32F107RC STM32F101VC STM32F107VC STM32F101ZC STM32F100RC STM32F103RC STM32F100VC STM32F103VC STM32F100ZC STM32F103ZC STM32F205RB STM32L151CB STM32L152CB STM32L151RB STM32L152RB STM32F205VB STM32L15VB STM32F105VB STM32L152VB

128K

STM32F105R8

STM32F103TB STM32F101CB STM32F103CB STM32F101RB STM32F103RB STM32F101VB STM32F107VB STM32F101TB STM32F100CC STM32F102CB STM32F100RB STM32F102RB STM32F100VB STM32F103VB STM32L151C8 STM32L152C8 STM32L151R8 STM32L152R8 STM32L15V8 STM32F105V8 STM32F101V8 STM32F100V8 STM32F103V8 STM32L152V8 STM32F105R8 STM32F103T8 STM32F101T8 STM32F103T6 STM32F101T6 STM32F103T4 STM32F101T4 STM32F101C8 STM32F103C8 STM32F101R8 STM32F103R8 STM32F100C8 STM32F102C8 STM32F100R8 STM32F102R8 STM32L151C6 STM32L152C6 STM32L151R6 STM32L152R6 STM32F101C6 STM32F103C6 STM32F101R6 STM32F103R6 STM32F100C6 STM32F102C6 STM32F100R6 STM32F102R6 STM32F101C4 STM32F103C4 STM32F101R4 STM32F103R4 STM32F100C4 STM32F102C4 STM32F100R4 STM32F102R4

64K

32K 16K

引脚数目
100脚 LQFP/BGA 144脚 LQFP 176脚 LQFP*/UFBGA

36脚 QFN

48脚 LQFP/QFN

64脚 LQFP/BGA/CSP

2
声明: 本演讲稿中若有与数据手册不相符合的内容,请以数据手册为准。

STM32家族的新成员:F4系列
? 先进的Cortex-M4内核
? 浮点运算能力 ? 增强的DSP处理指令

? 更多的存储空间
? 高达1M字节的片上闪存 ? 高达196K字节的内嵌SRAM ? FSMC:灵活的外部存储器接口

? 极致的运行速度
? 以168MHz高速运行时可达到210DMIPS的处理能力

? 更高级的外设
? 新增功能:照相机接口、加密处理器,USB高速OTG接口… ? 增强功能:更快的通信接口,更高采样率,带FIFO的DMA控制器…

3
声明: 本演讲稿中若有与数据手册不相符合的内容,请以数据手册为准。

STM32F4: 数字信号控制器

4

Cortex-M4内核
Cortex-M4
核心版本 指令系统 指令增强 流水线 v7ME Thumb? / Thumb-2 单周期的16、32位MAC 单周期的双16位MAC 8、16位SIMD计算 硬件除法(2~12周期) 硬件除法(2~12周期) 单周期 (32x32)乘法 支持饱和算术运算

Cortex-M3
v7M v6M

Cortex-M0
Thumb? / Thumb-2 subset 可选的硬件单周期 (32x32)乘法 三级 1.62 CoreMark/MHz 0.9 DMIPS/MHz 没有 非屏蔽中断(NMI) + 1~32个物理 中断源 4级优先 可选

三级 + 分支推测

执行效率
存储器保护 中断 中断优先级 唤醒中断控制器 睡眠模式 位操作 调试 跟踪(可选)

2.19 CoreMark/MHz,1.25 DMIPS/MHz
可选。8区域管理,可划分子区域和后台区 非屏蔽中断(NMI) + 1~240个物理中断源 8~256个优先级 多达240个唤醒中断

集成WFI和WFE指令。退出时睡眠功能,睡眠和深度睡眠信号。 使用ARM的电源管理部件,可选择保持模式。 集成位指令和位带域 可选的JTAG和SWD 调试接口 支持最多8个断点和4个察看点 指令跟踪(ETM)、数据跟踪(DWT)和仪器跟踪(ITM)模块 可选的JTAG和SW调试接口 支持最多4个断点和2个察看点

5
声明: 本演讲稿中若有与数据手册不相符合的内容,请以数据手册为准。

增加单精度浮点运算单元
单精度浮点运算单元兼容IEEE 754标准 Cortex-M4架构 Cortex-M3架构

6
声明: 本演讲稿中若有与数据手册不相符合的内容,请以数据手册为准。

增强的指令集

7
声明: 本演讲稿中若有与数据手册不相符合的内容,请以数据手册为准。

指令示例:单周期的乘加运算
运算
16 x 16 = 32 16 x 16 + 32 = 32 16 x 16 + 64 = 64

指令
SMULBB, SMULBT, SMULTB, SMULTT SMLABB, SMLABT, SMLATB, SMLATT SMLALBB, SMLALBT, SMLALTB, SMLALTT

CM3
n/a n/a n/a

CM4
1 1 1

16 x 32 = 32
(16 x 32) + 32 = 32 (16 x 16) ± (16 x 16) = 32 (16 x 16) ± (16 x 16) + 32 = 32 (16 x 16) ± (16 x 16) + 64 = 64 32 x 32 = 32 32 ± (32 x 32) = 32 32 x 32 = 64 (32 x 32) + 64 = 64 (32 x 32) + 32 + 32 = 64 32 ± (32 x 32) = 32 (高位) (32 x 32) = 32 (高位)

SMULWB, SMULWT
SMLAWB, SMLAWT SMUAD, SMUADX, SMUSD, SMUSDX SMLAD, SMLADX, SMLSD, SMLSDX SMLALD, SMLALDX, SMLSLD, SMLSLDX MUL MLA, MLS SMULL, UMULL SMLAL, UMLAL UMAAL SMMLA, SMMLAR, SMMLS, SMMLSR SMMUL, SMMULR

n/a
n/a n/a n/a n/a 1 2 5-7 5-7 n/a n/a n/a

1
1 1 1 1 1 1 1 1 1 1 1

指令周期数

8
声明: 本演讲稿中若有与数据手册不相符合的内容,请以数据手册为准。

DSP功能比较
? 16位DSP功能:
? 相对CM3,CM4只需 30%~70%的指令周期
1 0.8 0.6 0.4 0.2 0

? 32位DSP功能:
? 相对CM3,CM4只需 25%~60%的指令周期
1 0.8 0.6 0.4 0.2 0

Cortex-M4

Cortex-M3
9

声明: 本演讲稿中若有与数据手册不相符合的内容,请以数据手册为准。

DSP与MCU的关系
DSP或MCU

输出信号 ADC CPU DAC

输入信号

FFT、滤波、 压缩、识别 等

真实世界的模拟信号(物 理量)被转化为数字信号

量化的数字信号将 经过各种变换处理

经过处理的数字信息 又被转化回真实世界
10

声明: 本演讲稿中若有与数据手册不相符合的内容,请以数据手册为准。

数字信号控制器(DSC)
MCU STM32 F4 DSP

低成本 低门槛 C编程 高性能中断 超低功耗

单周期乘加 浮点运算 饱和运算 桶形移位

11
声明: 本演讲稿中若有与数据手册不相符合的内容,请以数据手册为准。

STM32F4: 高性能的计算能力

12

冯·诺依曼的计算机模型

运算器 输 入 设 备 输 出 设 备

输入数据

输出数据

存储器

控制器

13

影响运算性能的因素
? CPU指令运行的速度
? 流水线结构 ? 单周期 vs 多周期指令

? 存储器的速度 ? 存储器的构造
? 多级缓冲 ? 代码预测

? CPU指令集的选取
? RISC vs CISC ? SIMD vs SISD ? 专用指令集





? 总线的构造 ? 编译器的优化质量
? 代码的优化 ? 指令的选取



? 时钟频率

14
声明: 本演讲稿中若有与数据手册不相符合的内容,请以数据手册为准。

显著增强的DSP指令
? 单周期的乘加指令(MAC)
? 乘法器可以在单周期内完成相乘或乘加指令
? 有符号和无符号的乘法 ? 有符号和无符号的乘加 ? 有符号和无符号的长数据乘加(64位)

? 单周期的SIMD指令
? 同时有多个数据参与运算
? 例如:16x16 + 16x16 + 32

? 相对Cortex-M3指令显著提高了速度
? 16位乘加指令提高4倍(双16位乘加器) ? 32位乘加指令提高2倍 ? 32位乘加指令提高至7倍
15
声明: 本演讲稿中若有与数据手册不相符合的内容,请以数据手册为准。



DSP指令提高了控制应用的性能
Cortex M3 (28-38周期) Cortex M4 (18-28周期)
LDR R10,[R4, #+12] (1条32位load指令代替了2条带符号扩展的 16位load指令:减少2个周期)

? 这是一个无刷电机控 制中用到的一个复数 计算 ? 获益于LOAD操作和 SIMD指令 ? 整体性能提高25%至 35%

LDRSH R12,[R4, #+12] LDRSH SXTH R0,[SP, #+20] LR,R8

MUL
LDR SDIV LDRSH LDRSH LDRSH SXTH

R8,LR,R0
R1,[R4, #+44] R0,R1,R7 R2,[R4, #+24] R3,[R4, #+26] R10,[R4, #+22] R6,R6 LDR R2,[R4, #+22] (1条32位load指令代替了2条带符号扩展的 16位load指令:减少2个周期)

MLS
MLA

R5,R6,R10,R5
R5,R9,R12,R5 SMLSD R5, R10, R6, R5 (1条SIMD指令代替2条乘加指令:减少3个 周期)

ASR MLA SXTH MLS

R6,R8,#+15 R5,R6,R3,R5 R0,R0 R5,R0,R2,R5 SMLSD R5, R0, R2 (1条SIMD指令代替2条乘加指令:减少3个 周期)



STR

R5,[SP, #+12]

16
声明: 本演讲稿中若有与数据手册不相符合的内容,请以数据手册为准。

浮点运算更贴近于现实的应用

高级抽象模型 (矩阵、数学公式等)

Cortex-M4 的适用范围

多元的高级开发工具 (MATLab, Scilab,等)

Cortex-M3 的适用范围

C代码生成 (多数是基于浮点运算) 具FPU的处理器
硬件直接处理浮点运算 不需更改代码 很高的性能 最优的代码效率

无FPU的处理器 无FPU的处理器
调用软件库处理浮点运算 不需更改代码 较低的性能 中等的代码效率 使用整数格式计算 需要更改代码 需注意检查边界条件 (例如饱和运算、缩放系数等) 中等或较高性能 中等的代码效率



17
声明: 本演讲稿中若有与数据手册不相符合的内容,请以数据手册为准。

STM32F4受益于指令系统的扩展
? 这是一个基于浮点的29级FIR计算例子
? 以CMSIS库函数实现的性能
100

80

性能提高17.9倍 性能最佳,但需要花精 力进行相应的数据变换

60

40

20

性能提高10倍 开发时间与运算性 能的最佳组合

0



32位浮点 无FPU

32位浮点 有FPU

16位定点 SIMD优化

18
声明: 本演讲稿中若有与数据手册不相符合的内容,请以数据手册为准。

Flash的速度与CPU的速度
? 由于生产工艺的限制,当CPU主频显著提高时,Flash的存 取速度却只能处于一个较低的水平。
DMIPS
150

Flash访问为0等待周期时,CPU能达到的性能指标
优秀的CPU,快速的flash

125 100 75

50
25
产品B的最大 Flash频率 Fcpu (MHz)

相当性能的CPU,STM32F4的Flash较快
20
产品A的最大 Flash频率



0

40
STM32F4的最 大Flash频率

60

80

100

所有结果都是基于每个MCU的最佳编译器配置获得

19
声明: 本演讲稿中若有与数据手册不相符合的内容,请以数据手册为准。

ART自适应实时加速器?
? 自适应实时加速器能够完全释放Cortex-M4内核的性能; 当CPU工作于所有允许的频率(≤168MHz)时,在闪存中运 行的程序,可以达到相当于零等待周期的性能。

Cortex-M4 CPU
指令总线

仲裁和 分支管理

数据与调试总线



128位宽的 Flash存储器

20
声明: 本演讲稿中若有与数据手册不相符合的内容,请以数据手册为准。

ART加速原理解析(指令)
-M4 指令流 指定地址的指令已在缓存中: 直接从缓存中拷贝指令流

128位Flash缓冲区

64x128位
是否缓 存过此 地址?

高速指令 缓冲器

取 指 地 址

128位Flash缓冲区

指令 或 数据

指定地址的指令不在缓存中: 等待读取Flash,并在读取指 令后更新高速指令缓冲器



Flash存储器
21
声明: 本演讲稿中若有与数据手册不相符合的内容,请以数据手册为准。

Dhrystone的测试结果对比
DMIPS
225

Dhrystone 2.1测试
STM32F4: 最佳的加速与系统速度

200 175 150 125 100 75 50 25

好CPU,快速Flash 但没有Flash加速,限制了系统速度

此CM4产品缺乏 有效的Flash加速

Fcpu (MHz)
20 40 60 80 100 120 140
产品A的最大 STM32 F4的最 大Flash频率 Flash频率 产品B的最大Flash频率 和最大系统频率

0



160 180 STM32 F4的 最大系统频率

所有结果都是基于每个MCU的最佳编译器配置获得

22
声明: 本演讲稿中若有与数据手册不相符合的内容,请以数据手册为准。

Coremark的测试结果对比
Coremark
400

STM32F4: 最佳的加速性能和最高的系统速度
350 300

250
200 150 100

好CPU,快速Flash 但没有Flash加速,限制了系统速度
此CM4产品为150MHz系 统频率但缺乏Flash加速 此CM4产品具有好的Flash加 速,但系统频率只有100MHz

50

Fcpu (MHz)
20 40 60 80 100 120 140 160 180

0



产品A的最大 Flash频率

STM32 F4的最 大Flash频率

产品B的最大Flash频率 和最大系统频率

STM32F4的最大 系统频率 产品C的最大系统频率

产品A的最大系统频率

所有结果都是基于每个MCU的最佳编译器配置获得

23
声明: 本演讲稿中若有与数据手册不相符合的内容,请以数据手册为准。

32位多重AHB总线矩阵
以太网 10/100
FIFO/DMA

高速 USB 2.0
FIFO/DMA

Cortex-M4 168MHz + MPU

通用 DMA1
FIFO/8通道

通用 DMA2
FIFO/8通道

STM32F4

慢速设备 快速设备 通用I/O DCMI, 加密 USB全速

D-Bus

S-Bus

I-Bus

SRAM 64K字节


AHB1

内部SRAM总容量 112K+16K+64K=196K

AHB2 SRAM1 112K字节 SRAM2 16K字节 FSMC



ART 加速器

多达1M 字节Flash

24
声明: 本演讲稿中若有与数据手册不相符合的内容,请以数据手册为准。

FSMC的重映射功能
以太网 10/100
FIFO/DMA

高速 USB 2.0
FIFO/DMA

Cortex-M4 168MHz + MPU

通用 DMA1
FIFO/8通道

通用 DMA2
FIFO/8通道

STM32F4

慢速设备

D-Bus

FSMC连接到D-Bus: 可以快速获取数据 内部SRAM总容量
112K+16K+64K=196K

FSMC连接到I-Bus: 快速获取指令

S-Bus

I-Bus

SRAM 64K字节

FSMC连接到S-Bus: ? 这是STM32F1的唯一连接,是 快速设备 桥 STM32F2/F4的默认连接。 ? 在STM32F2上,当访问 AHB1 I-Bus或 通用I/O D-Bus时,断开S-Bus。 DCMI, 加密 AHB2 ? 但在STM32F4上,可以同时访问 USB全速 三条总线,显著提高了总线访问 SRAM1 112K字节 的性能。
SRAM2 16K字节 FSMC



ART 加速器

多达1M 字节Flash

25
声明: 本演讲稿中若有与数据手册不相符合的内容,请以数据手册为准。

内部SRAM至CPU的直连通道
以太网 10/100
FIFO/DMA

高速 USB 2.0
FIFO/DMA

Cortex-M4 168MHz + MPU

通用 DMA1
FIFO/8通道

通用 DMA2
FIFO/8通道

STM32F4

慢速设备 快速设备 通用I/O DCMI, 加密 USB全速

D-Bus

S-Bus

I-Bus

SRAM 64K字节



内部SRAM总容量 112K+16K+64K=196K

增加的SRAM用于CPU 的数据处理,DMA不能 访问;适用于堆、栈、 全局的临时变量等。

AHB1 AHB2 SRAM1 112K字节 SRAM2 16K字节

SRAM连接到I-Bus: 大大加快程序执行的速度

SRAM连接到D-Bus: 可以快速获取数据

FSMC ART 加速器 多达1M 字节Flash



26
声明: 本演讲稿中若有与数据手册不相符合的内容,请以数据手册为准。

多重总线的并行处理能力
1 压缩的音频数据 流传输到16KB SRAM 缓存区
内核执行MP3 2 解码程序

3 内核获取MP3 ③ 数据用于解码

解压后的音频数据 流传输至112KB的 SRAM区 4

5

数据通过DMA 传输 到音频输出端 (I2S)

6

用户界面: 通过DMA 从闪存到显示更新

27
声明: 本演讲稿中若有与数据手册不相符合的内容,请以数据手册为准。

STM32F4: 卓越的功耗效率

28

低功耗的设计
? 230 μA/MHz: 主频为168MHz情况下,在闪存中执行CoreMark基准测试程序 ,功 耗为38.6mA,这得益于: ? ST的90纳米工艺可使 CPU内核工作电压低至1.2 V ? 自适应实时加速器减少了访问闪存的次数 ? 电压可调节特性,便于优化性能功耗比 ? 可关闭内部调压器,使用外部调压器为CPU供电 ? 供电电源可低至1.7伏 ? 在最低功耗模式下,可以支持 后备存储器和实时时钟工作 供电范围 2.4~3.6V 2.1~3.6V 1.7~3.6V 最高主频 168MHz 144MHz 128MHz
< 1μA
开启 RTC

< 2μA

< 1μA
开启4KB 备份RAM

开启 RTC + 4KB 备份RAM

电池供电模式下典型值 (VBAT)

29
声明: 本演讲稿中若有与数据手册不相符合的内容,请以数据手册为准。

运行模式下的典型功耗数值
运行模式;程序和代码在Flash或RAM中;开启ARM加速
100 mA
90 80 70 60 50 40 30 20 10 0 0 40 80 120 160

mA 2MHz 4MHz 8MHz 16MHz 25MHz 30MHz 60MHz 90MHz 120MHz 144MHz 168MHz

关闭 所有 外设 2 2.3 3 4.75 6.4 8.2 14.3 20.4 26 30.8 39.8

开启 所有 外设 2.4 3.3 5.1 8.7 12.4 16.3 29.7 43.5 56.2 67 86.8

MHz 200

关闭所有外设

开启所有外设

30
声明: 本演讲稿中若有与数据手册不相符合的内容,请以数据手册为准。

在真实应用中的低功耗
? 低功耗在真实应用中并不仅仅是低功耗模式 ? 还需要考虑运行模式和低功耗模式的时间比例
mA/MHz
% 运行模式 % 低功耗模式

运行 低功耗

运行 低功耗 时间

mA/MHz

平均功耗 时间

31
声明: 本演讲稿中若有与数据手册不相符合的内容,请以数据手册为准。

平均功耗
? 运行模式下,STM32 F4具有更高的功耗效率 ? STM32F4 特别适合需要有一定运算量的应用场合
mA @100 MHz
50

40

同类产品 1 同类产品 2

30

20

STM32 F4
10

0

20

40

60

80

100

% 运行
32

声明: 本演讲稿中若有与数据手册不相符合的内容,请以数据手册为准。

STM32F4: 更多的高级外设

33

STM32F40x/41x框图
系统
供电,1.2V调压器 POR/PDR/PVD 晶体振荡器 32kHz和4~26MHz 内部阻容振荡器 32kHz和16MHz PLL 时钟控制 RTC/自动唤醒 系统定时器 2个看门狗 (独立和窗口型) 51/82/114/140个 通用I/O端口 循环冗余校验(CRC) 嵌套的向量中断控制器 (NVIC) 存储器管理单元(MPU) JTAG/SW调试/ETM ART?加速器 512K或1M字节Flash存储器 192K字节 SRAM 外扩存储器RAM/NOR/NAND CF和LCD并行接口

ARM Cortex-M4 CPU 168MHz
浮点运算单元(FPU)

80字节 + 4K字节后备SRAM 512字节OTP存储器

通信互联
照相机接口 3个SPI、2个I2S、3个I2C 以太网 MAC 10/100 IEEE 1588v2 2个CAN 2.0B 1个USB 2.0 OTG 全速/高速(1) 1个USB 2.0 OTG 全速 SDIO接口 6个USART 具有LIN、智能卡、IrDA 和调制解调器控制

多AHB总线矩阵 16通道DMA

控制
2个16位电机控制 PWM同步定时器 10个16位定时器 2个32位定时器

加密/哈希处理器(2)
3DES, AES 256 SHA-1, MD5, HMAC 模拟电路实现的 真随机数发生器

模拟功能
2通道的12位DAC模块 3个12位的ADC模块 24个通道,2.44M采样/秒 温度传感器

1. 高速功能需通过ULPI接口连接一个外部PHY

2. 只适用于STM32F417x和STM32F415x

34
声明: 本演讲稿中若有与数据手册不相符合的内容,请以数据手册为准。

USB OTG高速模块
? ? ? ? ? 主机模式下支持高速/全速/低速 从机模式下支持高速/全速 内嵌专用DMA,支持突发传输 专用4K字节FIFO 支持多种PHY接口
? 片上内嵌全速PHY(与全速OTG模块相同) ? 以ULPI接口连接外部高速PHY ? 以I2C接口连接外部全速PHY

ULPI接口
35
声明: 本演讲稿中若有与数据手册不相符合的内容,请以数据手册为准。

USB OTG高速模块 – 主机模式
? 与全速主机模式相同的性能
? 多达12个端点

? 支持高速协议特有的特性
? PING协议
主机发起PING协议以周期性检查从机是否准备好

? SPLIT协议
主机通过高速HUB连接全速/低速设备时,无须等待设备应答; 可以先作其他通信,过段时间再来检查是否受到外设的应答

? 多传输协议
125uS的微帧时间内对同步传输使用DATA0、DATA1、DATA2 和MDATA等多种数据PID

36
声明: 本演讲稿中若有与数据手册不相符合的内容,请以数据手册为准。

USB OTG高速模块 – 从机模式
? 与全速从机性能相同 ? 新增以下扩展特性
? 多达5个IN端点 ? 多达5个OUT端点 ? EP1_IN和EP1_OUT有各自的中断向量入口

? NYET
? 高速模式下从机收到数据包,如果在接收FIFO中没有找 到足够的空余空间,返回NYET握手信号

37
声明: 本演讲稿中若有与数据手册不相符合的内容,请以数据手册为准。

照相机接口
? 主要性能
? 8/10/12/14位并行接口

? 连续和快照模式,裁减功能
? 支持的数据格式有:
? 8/10/12/14逐行扫描视频信号 ? YCbCr4:2:2逐行扫描视频信号 ? RGB565逐行扫描视频信号 ? 压缩数据支持JPEG格式

? 在48MHz时钟和8位宽度数据接口配置下可接收
? 15fps的SXGA分辨率每像素2字节的未压缩数据流 ? 30fps的VGA分辨率每像素2字节的未压缩数据流
38
声明: 本演讲稿中若有与数据手册不相符合的内容,请以数据手册为准。

加密处理器特性
? 支持加解密算法
? DES、TDES和AES

? 加解密工作模式
? 电子密码本(Electronic codebook)模式 ? 密码段链接(Cipher block chaining)模式 ? 计数器(Counter)模式

? 加解密处理器是AHB2上的外设
? 最高工作频率168MHz

? 支持DMA传输 ? 输出/输出端各有8个字的FIFO

39
声明: 本演讲稿中若有与数据手册不相符合的内容,请以数据手册为准。

加解密处理器框图
产生输入数据 DMA请求

AES

ECB

CBC

CTR

产生输出数据 DMA请求

密钥宽度: 128-, 192 或 256-位

数据交换

输入 FIFO

数据交换

TDES

ECB

CBC

密钥宽度: 64-, 128- 或 192-位

DES

ECB

CBC

密钥宽度: 64-位

加解密处理器

INRIS

IFEM
INMIS

IFNF

BUSY

OFFU

OFNE

OUTRIS
OUTMIS

标志

INIM

OUTIM

输出 FIFO
加密模块中断

40
声明: 本演讲稿中若有与数据手册不相符合的内容,请以数据手册为准。

加解密算法特性比较
AES DES/TDES
64位(8位校验) 192/128/64位 (14/16/8位校验) 64位 16个HCLK周期 48个HCLK周期 ECB/CBC/CTR 块加密 Feistel网络 >> 输入/输出端内嵌各自 FIFO(8*32位) >> 支持数据流自动管理 – DMA >> 内嵌数据交换逻辑以 支持1/8/16/32位数据

共同特性

密钥宽度

128/192/256 位

数据块大小 处理单块数 据的时间 支持的算法 加密类型 算法结构

128位 14/16/18个HCLK 周期 ECB/CBC/CTR 块加密 迭代-组合网络

41
声明: 本演讲稿中若有与数据手册不相符合的内容,请以数据手册为准。

加解密算法的应用
? AES加解密算法
? 安全网络路由 ? 无线通信 ? 加密后的数据保存,包括安全智能卡

? DES/TDES加解密算法
? 安全数据/文件传输 ? 电子资金转帐 ? 门控:防止用户的密码和个人信息被 非法访问

42
声明: 本演讲稿中若有与数据手册不相符合的内容,请以数据手册为准。

随机数产生器
? 主要特性
? 基于连续模拟噪声的随机数产生器 ? 提供32位的随机数 ? 工作于PLL48CLK时钟下

? 两个连续随机数之间隔为40个PLL48CLK周期
? 为降低功耗可以关闭它

43
声明: 本演讲稿中若有与数据手册不相符合的内容,请以数据手册为准。

哈希处理器
? 主要特性
? 适用于数据完整性和有效性检查 ? AHB2上的外设,最高工作频率168MHz ? SHA-1和MD5算法的快速计算
? SHA-1:66个HCLK周期;MD5:50个HCLK周期

? 32位的输入数据,支持32位/16位/8位/1位的比特流输入 ,要求小端对齐方式输入 ? 数据自动交换以遵循SHA1计算的大端输入要求 ? 对输入比特流自动填充到512位以做哈希计算

44
声明: 本演讲稿中若有与数据手册不相符合的内容,请以数据手册为准。

哈希处理器框图
DMA请求

HASH

数据交换

输入 FIFO

16 x 32位

MD5
HMAC

SHA-1

哈希值 H0..H4
5x32位

哈希处理器

DINIS

BUSY

DMAS

DCIS

标志

DCIM DINIM

哈希中断

45
声明: 本演讲稿中若有与数据手册不相符合的内容,请以数据手册为准。

哈希的应用
? 校验文件或信息的完整性
? 安全哈希算法一个重用应用就是校验信息的完整性,确 定其是否被恶意修改或破坏过。比如可以通过比较传输 之前和之后数据的哈希值来校验 ? 检查信息哈希值的有效真实 性,从而确定信息本身的有 效真实性。通常密码都不是 以明文形式存储,而是以哈 希值的形式。要确实用户是 否合法,只需把用户输入的 密码做哈希运算,再把所得 哈希值和存储的密码哈希值 比较即可。
46
声明: 本演讲稿中若有与数据手册不相符合的内容,请以数据手册为准。

增强的功能和外设
? 外设性能进一步增强
? 更快的模数转换速度 ? 更低的ADC/DAC工作电压 ? 带日历功能的实时时钟

? 4K字节的电池备份SRAM
? 32位定时器 ? 更快的USART和SPI通信速度

? JTAG引脚熔断保护

? 更多的GPIO

47
声明: 本演讲稿中若有与数据手册不相符合的内容,请以数据手册为准。

谢谢您!

www.st.com/stm32f4
48


相关文档

STM32F4 EMWIN开发手册介绍
STM32F4库函数笔记
STM32F4 SDRAM
STM32F4发送和接收长度数据的判断
关于STM32F4的IAP的一点点记录
如何使用STM32F4的DSP库
基于stm32f4的信号分析系统
第1讲 STM32F4体系结构
STM32F4库函数笔记
STM32F4封装管脚列表
电脑版