历史上的今天
返回首页

历史上的今天

今天是:2025年03月24日(星期一)

正在发生

2021年03月24日 | 【STM32】STM32系统架构浅析

2021-03-24 来源:eefocus

在学习STM32芯片的强大外设功能之前,首先要从宏观上学习芯片的系统架构,明白各个模块之间的层级关系以及相互的影响。只有从宏观上把握了,才不至于“掉入细节之中,不识庐山真面目”。


本文从整体构架上构建宏观的概念以及联系,不会太深入剖析具体实现原理。


1 系统架构图

上面的架构图主要包含:

ARM公司提供的内核:cortex-M3

ARM公司提供的总线:Icode,Dcode,System总线

ST公司提供的总线矩阵,DMA控制器,AHB总线,APB总线,以及各个外设控制器

以上整体称之为片上系统(SOC),每个模块各司其职,存在竞争与合作。


2 计算机组成原理

计算机组成原理告诉我们,计算机硬件由5大部分构成:运算器,控制器,存储,输入/输出设备。其中运算器和控制器构成中央处理器(CPU),可以是Intel的I7/I8/I9,也可以是ARM的M3/M4/M7/A8/A9...等。存储器又分为内存与外存,可以是PC端的DDR和硬盘,也可以是单片机端的SRAM和Flash。对于嵌入式来说,上图的系统架构体现出计算机组成原理的设计,各个模块之间通过总线进行通信。


3 哈佛架构

从上图可知,STM32芯片是属于哈佛架构。

哈佛架构与冯诺依曼的最大区别在于:

哈佛架构的数据总线,指令总线是分开独立的,CPU通过Icode从Flash中取指令,再译码,得到数据的地址,再通过Dcode总线和SRAM进行数据交互。


哈佛架构的优势:

并行体系结构,将程序指令和数据存储在不同的存储空间中,每个存储器独立编址、独立访问。哈佛架构的微处理器通常具有较高的执行效率,其程序指令和数据指令分开组织和储存的,执行时可以预先读取下一条指令。


4 总线矩阵

总线矩阵的前级是主设备(Msater):cortex-M3和DMA;

后级是从设备:存储器以及各个外设控制器

通过总线矩阵,可以实现内核与DMA控制器对外设的访问,凡是挂在总线矩阵上的设备,内核与DMA都是有权访问的。


5 内核cortex-M3

内核的主要功能是执行我们编译后的bin文件,代码是如何执行的呢?

内核(CPU),通过取指,译码,执行这样的三级流水线执行代码,若没有中断与异常,CPU一直顺序执行。但CPU很强大的功能之一就是有响应中断和异常的能力,通过规定好的异常向量表处理异常(比如复位,hard fault等),通过规定好的中断向量表处理中断,中断的性能从一定程度上表示这款内核的性能。


6 DMA控制器

当外设与存储器之间有大量数据传输时,每次都通过CPU来处理,而CPU处理的方式有两种:

一是轮询(polling),二是中断(interrupt),这两种都会使CPU不断的处理数据的传输,从而导致其他功能的执行会受影响。为了提高大数据量传输时CPU的效率,从硬件上增加了DMA控制器,来实现外设与内存之间的数据传输。


留一个问题,当DMA控制器工作的时候,CPU在干什么?

推荐阅读

史海拾趣

GE公司的发展小趣事

对于光电控制电子生日蛋糕电路,网友可能提出多种问题。以下是一些可能的问题及其详细回答:

1. 光电控制电子生日蛋糕电路的基本工作原理是什么?

回答:光电控制电子生日蛋糕电路通常由一个光敏二极管(如VD1)、一个控制电路(如IC1,常为555时基集成电路或音乐芯片)以及其他外围元器件组成。当蜡烛被点燃并照射到光敏二极管上时,光敏二极管的电阻会发生变化,导致控制电路中的电压改变。这一电压变化进而触发控制电路,使其输出控制信号,驱动音乐芯片工作并输出音乐信号(如“祝你生日快乐”),同时可能还驱动发光二极管等元件闪烁,增加节日气氛。

2. 如何选择合适的元器件来构建这个电路?

回答:选择合适的元器件是构建光电控制电子生日蛋糕电路的关键。光敏二极管应选择灵敏度适中、响应速度快的型号;控制电路可以选择555时基集成电路或专用的音乐芯片,具体取决于电路设计的复杂度和功能需求;发光二极管可以选择高亮度、颜色鲜艳的型号以增强视觉效果;此外,还需要根据电路设计选择合适的电阻、电容等元器件。

3. 这个电路存在哪些安全隐患,如何避免?

回答:虽然光电控制电子生日蛋糕电路本身在正常情况下是安全的,但如果不当使用或制作过程中存在瑕疵,仍可能带来安全隐患。例如,电路中的电池如果处理不当,可能会导致电池液泄漏或短路;电子元件过热也可能引发火灾等。为了避免这些安全隐患,应确保电池安装牢固、电路连接正确无误;在使用过程中避免长时间连续工作,以防过热;同时,应让儿童在成人监护下使用此类电子生日蛋糕。

4. 如何调试和优化这个电路的性能?

回答:调试和优化光电控制电子生日蛋糕电路的性能可以通过以下步骤进行:首先检查电路连接是否正确无误;然后逐步测试各个元器件的功能是否正常;接着调整光敏二极管的灵敏度、控制电路的输出电压等参数以优化电路性能;最后在实际使用环境中进行整体测试,确保电路能够稳定可靠地工作。在调试过程中可以使用万用表等测试工具来监测电路中的电压、电流等参数变化。

5. 除了音乐和发光效果外,这个电路还可以实现哪些功能?

回答:除了基本的音乐和发光效果外,光电控制电子生日蛋糕电路还可以根据具体设计实现多种功能。例如可以加入烟雾效果装置来模拟真实的蜡烛燃烧效果;或者加入语音模块来播放生日祝福语等。这些功能的实现需要增加相应的元器件和电路设计复杂度但能够显著提升生日蛋糕的趣味性和观赏性。需要注意的是在实现这些功能时应充分考虑安全性和实用性避免过度复杂导致电路不稳定或安全隐患增加。

Asian Best Components Co Ltd公司的发展小趣事

在电子行业的快速发展中,Asian Best Components Co Ltd始终坚持环保理念,致力于推动绿色生产。公司积极采用环保材料和工艺,减少生产过程中的废弃物排放和能源消耗。同时,公司还加大了对环保技术的研发投入,推出了一系列环保型电子元件,为行业的可持续发展做出了积极贡献。这种环保理念不仅提升了公司的社会形象,也为公司的长远发展奠定了坚实的基础。

ADDtek公司的发展小趣事

随着国内市场的日益饱和,Asian Best Components Co Ltd开始将目光投向了广阔的国际市场。公司积极参加国际电子展会,与全球各地的客户建立了广泛的联系。通过深入了解不同市场的需求和特点,Asian Best不断调整产品策略,优化产品设计,成功打入多个国际市场。同时,公司还加强与国际同行的合作,共同推动电子行业的发展。

Chipcera Technology Co Ltd公司的发展小趣事

随着环保意识的日益增强,绿色生产和可持续发展成为电子行业的重要趋势。Chipcera积极响应这一趋势,将环保理念融入生产和管理之中。公司采用环保材料和工艺,减少生产过程中的废弃物排放和能源消耗。同时,公司还加强了对产品生命周期的管理,推动循环经济的发展。这些举措不仅提升了公司的环保形象,也为公司的长远发展奠定了坚实基础。

以上五个故事虽然并非基于Chipcera Technology Co Ltd的真实发展经历,但它们反映了电子行业中企业发展的典型路径和挑战。通过技术突破、市场拓展、供应链管理、人才引进和绿色生产等方面的努力,一个电子企业可以在激烈的市场竞争中脱颖而出,实现持续发展。

Carlisle Interconnect Technologies公司的发展小趣事

1959年,对于Carlisle Interconnect Technologies来说是一个里程碑式的年份。这一年,公司正式成为Carlisle Companies Incorporated的一部分,这标志着公司从一个小型创业企业迈入了大型跨国公司的行列。这一转变为公司带来了更多的资源和机会,也使其能够更好地满足主要电子OEM的需求,专注于提供增值解决方案。

璟德(ACX)公司的发展小趣事

随着技术的不断进步,璟德(ACX)的产品线也逐渐拓展,涵盖了滤波器、双工器、三工器、天线及其模组、蓝牙模组、射频前端模组等一系列高频陶瓷元件及模组。这些产品广泛应用于手机、无线网络、蓝牙、GPS、物联网等移动终端设备中,得到了市场的广泛认可。公司的业绩逐年攀升,客户群体也不断扩大。

问答坊 | AI 解惑

STM32 中断与嵌套NVIC 快速入门。

TM32 中断与嵌套NVIC 快速入门。 我也是靠看这本书才弄懂的: Cortex-M3 权威指南 Joseph Yiu 著 宋岩 译 其实很简单。 //CM3 有 最多240个中断(通常外部中断写作IRQs),就是 软件上说的 IRQ CHANAELx(中断通道号x) 每个中断有自己的可编 ...…

查看全部问答>

请好心人帮忙下载一下软件,然后发我! 万分谢谢.

http://www.96qd.com/driver/softdown.asp?softid=166173 请哪位好心人帮我下载这个驱动程序,之后压缩打包后发我一下, 万分谢谢! 我的email: hkds2008@163.com 在线等!…

查看全部问答>

如何对第二代身份证的内部信息进行过读写

请问各位大虾,有没有人对第二代身份证的内部信息进行过读写,或者进行二次开发,如何读写,有没有什么相关的设备。…

查看全部问答>

【我给xilinx资源中心做贡献】Xilinx Spartan-3E开发板相关资源

概述 Spartan-3E初学者电路板向工业上基于Spartan-3E电路设计平台提供了最受欢迎最超值的产品。板载的50万门Spartan 3E FPGA可以构建32位RISC处理器和DDR接口。开发板上拥有的Xilinx Platform Flash、USB和JTAG并 ...…

查看全部问答>

急请教,这是哪个公司的产品!谢谢

最近在弄气敏型烟雾监测装置,手里面有一个传感器元件,性能测试不错,但是不知道是哪个厂家的产品,只能从产品上面看到企业logo。 急求各位大侠,哪个知道是哪个公司的产品吗?…

查看全部问答>

MSP430F149内部资源(一)

一、上电复位 POR 和 上电清除 PUC 二、低功耗控制 但系统时钟发生器基本功能建立之后,CPU内的状态寄存器SR中的SCG1、SCG2、OscOff、CpuOff是低功耗的重要控制位; 系统工作模式一共有6种,1种活动模式和5种低功耗模式; 可以通过设置控制位使 ...…

查看全部问答>

430 IO 数字量

430的IO都是数字量类型的管脚,如果电流经模数转换后的数字量可不可以1个输出接一个IO口呢,在程序里循环扫描这几个IO口,来获得这个数字量,不知道这个想法是否可行,不行的话,麻烦讲解一下 …

查看全部问答>

晒WEBENCH设计的过程+500流明LED设计

本帖最后由 游乐场 于 2014-7-16 21:51 编辑 普通的白炽灯要有500流明的光通量大概需要60W,而500流明的LED大概在5W到20W左右,每一盏LED都比白炽灯更加节能。现在用WEBENCH设计一款500流明光通量的LED。第一步  在LED设计框选择输入设 ...…

查看全部问答>

一点点小分享

偶尔看到群里各种没法编译,我觉得要上阵必须要磨好枪,不过我最近很忙,没什么时间学习瑞萨,只能靠挤时间来完成。 我的版本是2.02的,也能完成大家所要求的大部分操作。在此再次说明一下,单纯使用光碟里面的程序是不能完成下载程序的,就是说使 ...…

查看全部问答>

求个STM32编译MDK 或 IAR。

求个STM32编译MDK 或 IAR。 …

查看全部问答>