STM32F103 - 系统框架
(1)驱动单元
Icode总线:
我们写好的程序写好后通过编译都变成一条条指令存储在外设的FLASH里面,内核要读取这些指令来执行程序就必须通过Icode总线(专门用来取指)。
DCode总线与DMA总线:
即为DATA,我们知道常量const 存放在内部FLASH里面,而变量存在内部SRAM里面。这些数据可以由DCode和DMA来读取,为了避免两者同时去读取数据从而造成冲突,所以在两者读取数据的时候会有一个总线矩阵来裁定谁来读取数据。
System总线:
读取数据,最主要还是用来访问外设的寄存器,即读写寄存器都是通过这条总线来完成的。
DMA总线:
说先说这条总线也是主要老传输数据的,这个数据可以是某个外设的数据寄存器,可以是SRAM,可以是内部的FLASH
我们以一个例子来说明DMA总线的作用,还有简单的区分一下DMA和DCode的区别,如果我们没有DMA ,现在要从SRAM里读取一个数据到内部的外设数据寄存器DR,首先CPU通过DCode总线将数据从SRAM读到CPU的内部的通用寄存器里来暂存数据,然后在通过DCode总线将数据传到DR,这样通过了CPU作为数据的中转。但是我们现在有了DMA总线,只需要CPU发送命令就可以将SRAM里的数据直接发送到DR。
(2)被动单元
内部FLASH:
内部闪存存储器,我们编写好的程序通过编译后变成一条条指令存放在这里,Crotex-Mx通过ICode总线访问内部FLASH来取指。
内部SRAM:
Static Random Access Memory
它是一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据。不像DRAM(Dynamic Random Access Memory)那样需要刷新电路,每隔一段时间,固定要对DRAM刷新充电一次,否则内部的数据即会消失,因此SRAM具有较高的性能,但是SRAM也有它的缺点,即它的集成度较低,相同容量的DRAM内存可以设计为较小的体积,但是SRAM却需要很大的体积,所以在主板上SRAM存储器要占用一部分面积。
当然SRAM的优点就是速度快,不必配合内存刷新电路,可提高整体的工作效率.
SRAM的缺点是集成度低,功耗较大,相同的容量体积较大,而且价格较高,所以少量用于关键性系统以提高效率。
像程序的变量,堆栈等等的开销都是基于内部的SRAM,Crotex-Mx通过DCode总线来访问它。
FSMC:
Flexible Static Memory Controller
可变静态存储控制器,这是STM32系列采用一种新型的存储器扩展技术,由于通过对特殊功能寄存器的设置,FSMC能够根据不同的外部存储器类型,发出相应的数据/地址/控制信号类型以匹配信号的速度,从而使得STM32系列微控制器不仅能够应用各种不同类型、不同速度的外部静态存储器,而且能够在不增加外部器件的情况下同时扩展多种不同类型的静态存储器,满足系统设计对存储容量、产品体积以及成本的综合要求。
强调一下,只能拓展静态内存。
STM32F10xx系统时钟树:
先来说说5个时钟源,如图左边部分:
1.HSI是高速内部时钟,RC振荡器频率为16MHz,可以直接作为系统时钟或经过二分频后用作PLL的输入。
2.HSE是高速外部时钟,可接4~26MHz石英陶瓷谐振器或者接外部时钟源,可以直接作为系统时钟或经过二分频后用作PLL的输入。
3.LSE是低速外部时钟,接32.768KHz石英晶体,主要是RTC时钟源。
4.LSI是低速内部时钟,RC振荡器,32KHz左右,供独立看门狗和自动唤醒单元使用。
5.PLL围锁相环倍频输出,32上面有两个PLL
。。。
STM32F103 - 系统框架相关推荐
- 跨链(8)跨链双雄Cosmos“系统框架”
1. 系统框架 Cosmos是tendermint团队推出的一个支持跨链交互的异构网络, 一个分布式的独立并行区块链公链. 1.1 核心模块 tendermint core 简称tendermint, ...
- 跨链(6)波卡Polkadot “系统框架”
1. 系统框架 Polkadot是一种集成平行链和中继链的多层多链架构. 多层中继链 多个平行链 1.1 三种链角色 中继链(Relay chain) 主要通信枢纽,提供统一的共识和安全保障 平行链( ...
- usb 系统消息_4. Autoware 系统框架概揽
Autoware 系统架构如下图所示,非常的简洁和清晰.包括传感(sensing),计算(computering)和执行(aucuation)三个部分.在计算部分,包括感知(perception),决 ...
- rola物联网框架_如何搭建一个物联网系统框架?
下面将谈到几个关键问题: 设备如何接入网络? 设备间如何通信? 物联网数据的用途? 如何搭建起一个物联网系统框架呢?它的技术架构又是怎么样呢? 物联网终端软件系统架构? 物联网云平台系统架构? 1.物 ...
- android系统框架()
Android系统框架介绍: 1.大体框架: -src目录: 主要是完成java代码的编写 -assets目录: 资源目录 -res目录: 存储图片,布局文件和字符串,菜单等文件 -bin目录: ...
- 基于EasyDarwin流媒体云平台的智能视频监控系统框架
基于EasyDarwin流媒体云平台的智能视频监控系统框架 EasyDarwin云平台作为国内较有影响力的开源流媒体平台,集流媒体分发,录像,信令交互为一体,目前已经被广泛应用到监控互联网各个领域:从 ...
- IOT(5)---物联网系统框架介绍
转载: https://blog.csdn.net/robert_tin 物联网系统框架介绍 下面将谈到几个关键问题: 设备如何接入网络? 设备间如何通信? 物联网数据的用途? 如何搭建起一个物联网系 ...
- Java电商秒杀系统性能优化(一)——电商秒杀系统框架回顾
电商秒杀系统框架回顾 项目简介 外部依赖 框架回顾 项目要点 项目中存在的问题 小结 课程是免费的,课程地址如下:SpringBoot搭建电商秒杀项目,课程真的很棒,作者的思路很清晰,建议各位读者可以 ...
- 基于 SIP 的会议系统框架(草稿)
基于 SIP 的会议系统框架 第一章 前言 众所周知, SIP 作为一个会议初始协议, 提供了对多媒体会话的建立,修改和终止等控制能力, 因此完全能胜任建立双方对话, 但是对于有多方参 ...
最新文章
- UpSetR 关联的 venneuler 包安装笔记
- 防sql注入Replace区分大小写
- JAVA怎么创建对象组_java – 如何根据特定字段创建一组有序的对象?
- JavaScript全局函数
- 吸收塔如何提高吸收率_燕姐强烈推荐的一款燕窝饮,吸收率原来真的可以这么高!...
- Java 集合 之 房屋出租实例
- 根据您的命令-命令设计模式
- Python---正则表达式
- 2003服务器远程桌面连不上解决办法
- python实现搜索之二分查找
- 163邮箱有传真服务器,网易企业邮箱邮件传真功能使用说明
- 结构与算法(05):二叉树与多叉树
- ARM汇编,MCR和MRC
- 时域离散信号/系统频域分析(matlab)零点,极点,因果,稳定
- 计算机毕业设计——简单的网页设计
- 什么是视频监控平台的平台对接
- 怎样制作CHM格式的电子书?
- 追寻上古文明毕业季研学营
- 增加 swap 空间
- 想减肥就要管住嘴,怎么管?这个方法可以