了解STM32MP157D有哪些硬件资源,为以后进行Linux驱动开发做准备。
STM32MP157A/D器件基于高性能双核Arm®Cortex®-A7 32位RISC内核,工作频率高达800 MHz。Cortex-A7处理器:每个CPU具有32kbyte L1指令缓存,每个CPU具有32kbyte L1数据缓存和256kbyte的二级缓存。Cortex-A7处理器能提供比Cortex-A5多20%的单线程性能,与Cortex-A9的性能相似。
Cortex-A7集成了Cortex-A15和Cortex-A17处理器的所有功能,包括硬件虚拟化支持、NEON™和128位AMBA®4AXI总线接口。
STM32MP157A/D器件还嵌入了一个Cortex®-M4 32位RISC内核,工作频率高达209 MHz。Cortex-M4核心具有浮点单元(FPU)单精度,支持Arm®单精度数据处理指令和数据类型。
Cortex®-M4支持一整套DSP指令和内存保护单元(MPU),增强了应用程序的安全性。
STM32MP157A/D器件还嵌入了一个3D图形处理单元(Vivante®- OpenGL®ES 2.0),运行频率高达533 MHz,性能高达26 Mtriangle/s,133 Mpixel/s。
STM32MP157A/D提供外部SDRAM接口,支持高达8gbit(1gb)密度的外部存储器,16或32位LPDDR2/LPDDR3或DDR3/DDR3L高达533mhz。
STM32MP157A/D器件采用高速嵌入式存储器,具有708 kb的内部SRAM(包括256 kb的AXI SYSRAM,3组128 kb的AHB SRAM,备份域64 kb的AHB SRAM和备份域4 kb的SRAM),以及增强型I/ o和外设连接到APB总线,AHB总线,32位多AHB总线矩阵和64位多层AXI互连,支持内部和外部存储器访问。
1、ARM核
开发板的CPU使用的是STM32MP157D,它采用的是32位双核ARM®Cortex®-A7(工作频率800 MHz)和32位ARM®Cortex®-M4(工作频率209 MHz)架构。
Cortex®-A7:
A7核有两个;
每个CPU的L1指令缓存为32K字节;
每个CPU的L1数据缓存为32K字节;
二级缓存为256KB;
图形处理单元(GPU)
Cortex®-M4核支持浮点单元(FPU)/内存保护单元(MPU)。
2、存储区
外部DDR最多为1GB;
内部SRAM有708KB,分配如下:
1)、位于“MPU域的SYSRAM”为256KB;
2)、位于“MCU域的SRAM1”为128KB;
3)、位于“MCU域的SRAM2”为128KB;
4)、位于“MCU域的SRAM3”为64KB;
5)、位于“MCU域的SRAM4”为64KB;
6)、位于“保留域的SRAM”为64KB,在Standby模式或VBAT模式下,该区域的内容可以保留。
7)、位于“备份域中的SRAM”占4KB;
3、双模Quad-SPI内存接口
4、外部存储器控制器
它采用16位数据总线,并行接口,连接到外部集成电路和SLC NAND存储器。
5、boot模式(启动模式)
6、电源
1)、在Standby模式中,VDD是主电源,用来给I/ o和内部部件供电,电压范围为1.71 V至3.6V。
2)、VBAT引脚可接外部电池(1.2 V < VBAT < 3.6 V),当没有使用外部电池时,必须将VBAT引脚连接到VDD引脚。
3)、VDDA引脚是模拟电源,用来给ADC,DAC和VREF供电,电压范围为1.71 V至3.6 V。
只有当VDDA大于等于1.8 V时,才能使用DAC。当使用“内部VREF+”时,要求VDDA电压大于或等于“VREF+ + 0.3 V”。
4)、VDDA1V8_REG引脚是内部稳压器的输出,内部连接到USB PHY和USB PLL。内部VDDA1V8_REG稳压器默认为启用,可以由软件控制。在Standby模式中,它总是关闭的。
5)、BYPASS_REG1V8引脚是一个特殊引脚,要么连接到VSS,要么连接到VDD,用来启动或停用稳压器。
当VDD低于2.25 V时,1.8 V稳压器会被旁路掉,BYPASS_REG1V8 = VDD。
当VDD低于1.98 V时,供电范围为1.65 V - 1.98 V,即使用VDD=1.8V供电的情况下,DDA1V8_REG引脚必须连接到VDD。
6)、VDDA1V8_DSI是模拟DSI电源,电压范围为1.65 V至1.98 V(1.8 V型),应该连接到VDDA1V8_REG引脚。
7)、VDDA1V1_REG引脚是内部稳压器的输出,内部连接到USB PHY。内部VDDA1V1_REG稳压器默认为启用,可以通过软件控制。在Standby模式中,它总是关闭的。
8)、VDDA1V2_DSI_REG引脚是内部稳压器的输出,在CPU内部连接到DSI PLL。
9)、VDDA1V2_DSI_PHY是模拟电源,用来给DSI PHY供电,它连接到VDDA1V2_DSI_REG。
10)、VDD3V3_USBHS和VDD3V3_USBFS分别给USB高速和全速PSY供电。电压范围为3.07 V至3.6 V。
VDD3V3_USBFS用来给OTG_VBUS和ID引脚供电。因此,当USB高速时,必须使用VDD3V3_USBFS给OTG设备供电。如果不使用VDD3V3_USBFS,必须连接到VDD。
7、时钟管理器
1)、内部振荡器
HSI时钟为64MHz;
CSI时钟为4MHz;
LSI时钟为32KHz;
2)、外部振荡器
HSE时钟为8-48MHz;
LSE时钟为32.768KHz;
3)、RCC有4个PLL
PLL1是MPU的专用时钟;
PLL2给AXI-SS(包括APB4,APB5,AHB5和AHB6);PLL2为DDR接口提供时钟,还给GPU提供时钟;
PLL3给MCU和它的总线矩阵(包括APB1,APB2,APB3,AHB1,AHB2,AHB3和AHB4)提供时钟,其次给外设内核提供时钟;
PLL4专用于生成“各种外设的内核时钟”;
系统启动默认是使用HSI时钟,用户可以选择时钟配置。
8、系统复位源
1)、应用复位源
①由NRST引脚产生复位;
②由POR和PDR信号产生复位,通常被称为“power-on”复位;
③由BOR产生复位,通常被称为“brownout”复位;
④由独立看门狗1产生复位;
⑤由独立看门狗2产生复位;
⑥由Cortex-M4 的MCU产生软件复位;
⑦由Cortex-A7 的MCU产生软件复位;
⑧当时钟安全系统功能被激活时,出现HSE故障时产生复位;
2)、系统复位源
应用复位;
由POR_VDDCORE信号产生复位;
每次系统从Standby模式退出,都会产生复位。
9、普通IO
最多可提供176个IO端口,且支持中断;
10、通讯外设
6个I2C;
4个UART和4个USART;
6个SPI;
4个SAI;
SPDIF Rx,支持4个输入;
HAMI-CEC接口;
MDIO从机接口;
3个SDMMC,最多8位,支持SD卡,EMMC和SDIO通讯;
2个CAN控制器,支持CAN FD协议;
2个USB 2.0高速主机和1个USB 2.0全速OTG;或者是1个USB 2.0高速主机和1个USB 2.0全速OTG;
10M/100M/千兆以太网GMAC;
8~14位相机接口,每秒为140MB;
11、模拟外设
2个16位ADC;
1个温度传感器;
2个12位DAC;
1个DFSDM(ΣΔ调制数据滤波器),8个通道,6个滤波器;
内部外部ADC或DAC参考电压Vref+;
12、图形
3D GPU,最高可达26Mtriangle /s,133Mpixel/s。
LCD-TFT控制器,最多为24位,支持RGB888;
13、29个定时器和3个看门狗
2个32位定时器,最多支持4个输入捕获,4个输出比较,4个PWM,4个脉冲计数器和4个正交(增量)编码器输入;
2个16为电机控制定时器;
10个16位普通定时器;
RTC具有毫秒精度和硬件日历;
每个Cortex®-A7都有4个系统定时器,双核就是2*4个;
Cortex®-M4核有1个SysTick定时器;
3个看门狗:2个独立看门狗和1窗口看门狗;
14、硬件加速器
HASH算法支持MD5, SHA-1, SHA224, SHA256;
HMAC算法,它是MAC算法中的一种类型;
2个随机发生器;
2个CRC计算单元;