时间:2024/2/22来源:本站原创作者:佚名

了解STM2单片机的系统架构,就是明确这颗芯片在硬件上由哪几部分构成?各部分的功能以及各部分之间的数据交换,对STM2单片机系统架构的把握,有助于我们进行单片机的开发。

系统架构

STM2单片机系统(互联型除外)由四个驱动单元和四个被动单元构成,互联型STM2单片机有五个驱动单元,多一个以太网驱动单元。下图是STM2单片机(非互联型)的系统架构图:

Cortex-M内核是单片机的核心结构,内核由ARM公司设计研发,芯片厂商要生成基于ARM架构的Cortex-M内核的单片机,需要得到ARM公司的授权。M内核、DCode总线、System总线和DMA构成了四个驱动单元。

M内核是基于ARMv7架构的ARM嵌入式内核,内核设计没有采用冯诺依曼结构,而是采用了哈佛结构。学过计算机的都知道冯诺依曼结构,现在大多数计算机都采用了冯诺依曼结构,该结构将程序指令和数据存储到一个存储器,内部没有总线。哈佛结构使用两个独立的存储器模块,分别存储指令和数据,并使用指令总线和数据总线分别与指令存储器和数据存储器通信。因为指令和数据分别使用独立的总线,因此M内核的执行效率非常高效。另外,M内核通过数据总线和系统总线挂载存储器、外设、DMA控制器等设备,从而构成了高效能的STM2单片机。

总线是M内核与存储器、外设、DMA控制器等设备传输信息的公共数据通道。例如:内核的指令总线(ICode),将内核、Flash接口(闪存存储器读写接口)、Flash(闪存存储器)连接在一起,建立数据通路,内核应用指令总线通过Flash接口读取Flash存储器内的程序指令。与总线相关的主要参数有总线宽度、总线频率和总线带宽。总线宽度是指总线能同时传输的数据位数,如8位、2位、64位;总线频率是指总线的工作速度,频率越高,速度越快;总线带宽用来描述总线传输数据的快慢,总线带宽=总线宽度x总线频率/8,单位为MB/s。

DCode总线是数据总线,用于内核、存储器、外设之间的数据通信。System总线是内核系统总线,用于内核、存储器、外设之间的信息传输。

STM2单片机提供了两个DMA控制器,分别是DMA1和DMA2。DMA为STM2单片机提供了与外部设备进行高速数据传输的通道,DMA可以绕过M内核与外部设备、内存之间直接进行数据传输,无需M内核的控制。当外部设备需要通过DMA传输数据到内存时,外设先给DMA控制器发送DMA请求,DMA收到请求信号之后,控制器会给外设一个应答信号,当外设应答后且DMA控制器接收到应答信号之后,就会启动DMA传输,直到传输完毕。DMA传输过程如下图所示:

订阅解锁TA的全部专属内容
转载请注明原文网址:http://www.gzdatangtv.com/cksc/cksc/18610.html
------分隔线----------------------------