单片机的系统架构,有多少秘密是你不知道的
了解单片机的系统架构,就是明确这颗芯片在硬件上由哪几部分组成、各个部分的使命以及各部分之间如何进行数据交互。对系统架构的宏观把握有助于我们进行单片机的开发。
图1常用的STM32单片机
这是一颗STM32单片机,它的系统由四个驱动单元和四个被动单元组成,四个驱动单元分别为Cortex-M3内核的数据总线和系统总线,它们是单片机的核心部分;两个DMA,也就是直接存储器访问单元,这两个单元与CUP内核有着同等的地位,它的作用就是在硬件上绕过CPU直接在内存与I/O设备之间开辟一条数据传输的通路,从而降低CPU开销,提高效率。
图2 STM32的系统架构
四个被动单元依次为单片机的内存;可变的静态存储控制器,它用于给单片机扩展静态内存;外设,就是我们常用的片载资源,如I/O口、模数转换器、串口等。驱动单元和被动单元之间通过总线矩阵以及AHB系统总线进行连接、协调。
图3由Cortex-M3扩展外设
单片机的核心局部CM3内核,由ARM公司设计。芯片出产厂家在得到ARM公司的授权之后,才能够把其内核使用在自己的硅片之中,他们在外部加上相应的存储器、定时器、I/O口等外设就能够设计出其独具特色的处理器了,不同的厂家制造出来的单片机片载资源各具特色,但是却大同小异。时至今日,ARM公司所提供的内核架构占据了全世界超过95%的智能手机和平板电脑的市场,其笼罩面异常之广,每年基于ARM内核的芯片出片量数以百亿计。然而就是这样一家不可或缺少的公司资本却并不独立,相反,它一直处于收购与弃养的循环之中,老铁们知道为什么吗?请在评论区告诉我答案。