STM32F103C8架构

通常咱们拿到芯片的datasheet第一点需要关注的就是芯片的系统架构。下图就是STM32F103的系统架构图:

首先cortex内核是ARM公司的数字电路流片的产品,数字电路也就是逻辑电路经过FPGA测试符合要求后流片产生IP,这是ARM公司的业务。然后ARM公司通过授权把cortex内核卖给ST公司等等芯片公司。芯片公司根据客户需求在内核的基础之上,首先连接总线,在总线上会连接各种类型的外设,比如DMA、定时器、串口、I2C等等,这就形成了一款芯片。

在32位机编程中最重要的一点就是,基本上所有的32位机都是围绕DMA编程。DMA的理解如下:通常CPU直接和外设交换数据的话比较浪费时效,DMA在系统完成初始化之后可以自主的在CPU不参与的状态下和外设进行数据交换,极大的节省了CPU的开支,提高运算效率。如果把CPU比作一个教授的话,DMA就是教授带的研究生,研究生会把周边一些非核心的工作自主做完后在教授方便的时候向教授汇报,教授则可以从繁杂的一般类事物中抽身出来集中精力放在最主要的焦点工作上。希望我这么说您可以理解。

咱们内核通过命令总线直接和flash接口的flash连接,可以直接存取指令。通过数据总线联通总线矩阵后连接数据flash可以存取数据。然后是连接了两条DMA总线,DMA总线连接了总线矩阵也分别连接了所有外设。所有外设通过AHB系统总线连接总线矩阵。

咱们STM32的时钟是8MHz的,通过PLL倍频到72MHz,当然咱们各个外设使用的时钟源可以通过72MHz分频使用,比如APB1最高只能在36MHz时钟下工作,APB2最高可以达到72MHz。

总线矩阵上的FSMC是连接大屏幕用的一个设备,通常小屏幕用SPI口就可以了,但是大屏幕的一般不用SPI口,太慢了。

外设比较丰富有高速串口、有一般串口、看门狗、各种时钟,就不一一陈述了。

猜你喜欢

转载自www.cnblogs.com/braveheart007/p/10293690.html