从上图可以看出,在小容量、中容量和大容量产品中,主系统由以下部分构
成:
四个驱动单元:
- Cortex-M3 内核 DCode 总线(D-bus)
四个被动单元:
- AHB 到 APB 的桥(AHB2APBx),它连接所有的 APB 设备
这些都是通过一个多级的 AHB 总线构架相互连接的。下面我们看看它们各自的功能:
该总线将 Cortex-M3 内核的指令总线与闪存指令接口相连接。指令预取在此
总线上完成。
该总线将 Cortex-M3 内核的 DCode 总线与闪存存储器的数据接口相连接(常量加载和调试访问)。
此总线连接 Cortex-M3 内核的系统总线(外设总线)到总线矩阵, 总线矩阵协调内核和 DMA 间的访问。
此总线将DMA的AHB主控接口与总线矩阵相联, 总线矩阵协调着CPU的DCode和 DMA 到 SRAM、闪存和外设的访问。
总线矩阵协调内核系统总线和 DMA 主控总线之间的访问仲裁, 仲裁利用轮换算法。在互联型产品中,总线矩阵包含 5 个驱动部件(CPU 的 DCode、系统总线、以太网 DMA、 DMA1 总线和 DMA2 总线)和 3 个从部件(闪存存储器接口(FLITF)、SRAM 和 AHB2APB 桥)。AHB 外设通过总线矩阵与系统总线相连,允许 DMA访问。
两个 AHB/APB 桥在 AHB 和 2 个 APB 总线间提供同步连接。APB1 操作速度限于 36MHz, APB2 操作于全速(最高 72MHz)。有关连接到每个桥的不同外设的地址映射请参考《STM32F1xx 中文参考手册》存储器映像章节。在每一次复位以后,所有除 SRAM 和 FLITF 以外的外设都被关闭,在使用一个外设之前,必须设置寄存器 RCC_AHBENR 来打开该外设的时钟。
STM32F1 的时钟系统相对复杂,在后续文章中再介绍。
STM32学习进阶路径
GPIO 输入输出,外部中断,定时器,串口。理解了这四个外设,基本就入门一款MCU了。
SPI,IIC,WDG, FSMC,ADC/DAC,SDIO 等。这些外设接口功能原理对每个芯片几乎都是一样。对芯片而言就是多和少而已。
UCOS,FATFS,EMWIN 等,以及一些应用。
另外值得一提的是,C 语言是嵌入式开发的基础中的基础,相关文章:C语言基础知识点汇总。如果 C 语言不过关,很大程度限制嵌入式学习的进度与深度。在这里推荐入门之后看一下关于C指针的书《C与指针》《C 指针编程之道》。学习嵌入式开发要多动手编程、多调试。
【新课推荐】45天BMS锂离子电池管理系统设计实战线上特训班
45天BMS锂离子电池管理系统设计实战线上特训班_
电子发烧友学院
https://t.elecfans.com/topic/449.html
纪客老白新上好课:
45天BMS锂电池系统管理线上特训班招生啦!!!
【录播课程6部+45天线上直播课+BMS
电源模块
开发板(成品)】
录播课程如下:(学习资料礼包+全天解答交流群)
1.通用元器件基础系列 ¥399
2.元器件选型 ¥399
3.驱动
电路设计大全 ¥399
4.防护电路 ¥299
5.硬件焊接调试 ¥499
6.电源系统分析 ¥599
限时优惠价¥1999