stm32简介
来源:互联网 发布:辐射4捏脸数据 黑寡妇 编辑:程序博客网 时间:2024/05/19 02:01
很久之前就已经创建了一个CSDN的号,可是一直都是在浏览别人的博客,转别人写的,从未想过自己也来写写,呵呵,如今突然心血来潮想把自己学的东西写下来,一来锻炼下自己文笔与思维,总结学习的经验教训,方便以后本人自己来查阅,二也希望能和在这方面有兴趣同学互相探讨,自己也是菜鸟一枚,怀揣着对未来的憧憬,刚刚大二才结束,下学期就大三了,时间真是快啊,哈~~说了这么多废话,那下面就开始进入正题吧。
意法半导体(STMicroelectronics)公司于2007年6月发布的STM32系列的单片机,经过3年发展,STM32已经成为业界最宽广的基于ARMCortex-M3 内核的微控制器系列,目前也有很多型号,6大产品系列(超值型系列STM32F100,基本型系列STM32F101,USB基本型系列STM32F102,增强型系列STM32F103,互联型系列STM32F105/107和超低功耗系列STM32L),带有丰富多彩和功能灵活齐全的外设,并保持全产品系列上的引脚兼容。
STM32是一个通用微控制器产品系列,为了适应众多的应用需求和低成本的要求,在产品的规划和设计上遵循灵活多样,配置丰富和合理提供多宗选项的原则,如齐全的flash容量配值,提供16~1024KB的宽范围选择;每一个外设都拥有多种配置选项,使用者可以按照具体的需要做出合理的选择,如USART可以实现普通UART,还可以实现LIN通信协议等等。
Cotex-M3处理器包括处理器内核,嵌套向量中断控制器(Nested Vectored Interrupt Controller,NVIC),存储器保护单元,总线接口单元和跟踪调试单元等。
具体的网上有大片大片资料,感兴趣可以自己去查查。
感觉上面说的也是废话,估计你们也直接跳过了,既然本篇叫简介,那就直观点,先上图,下面是一个LQFP100封装的STM32芯片
很容易就可以看出,它总共有80个I/O端口引脚,总共是分5个PORT;分别是
1. PA0—PA15;
2. PB0—PB15;
3. PC0—PC15;
4. PD0—PD15;
5. PE0—PE15;
对应的IO口也有相应的复用可能,可参考下面的表格:
下面来介绍一下STM32系列产品的命名规则:
相信现在你应该就明白了STM32F103VBT7是什么意思了吧。
以下是STMF103系列的系统结构:
可以很清晰看出有四个驱动单元:
1. DCode总线(D-bus)
2. 系统总线(S-bus)
3. DMA1
4. DMA2
四个被动单元:
1. 内部的SRAM
2. 内部的闪存存储器flash
3. FSMC
4. AHB到APB的桥(AHB2APBx),它连接所有的APB设备。
这都是通过一个多级的AHB总线构架相互连接的,各单元的主要功能如下:
1. ICode总线:将Cotex-M3内核的指令总线与flash闪存指令接口相连接,用于指令预取。
2. DCode总线:将Cotex-M3内核的DCode总线与闪存存储器的数据接口相连接,用于常量加载和调试方向。
3. 系统总线:连接Cotex-M3 内核的系统总线(外设总线)到总线矩阵,总线矩阵协调者内核和DMA间的访问。
4. 总线矩阵:总线矩阵协调内核系统总线和DMA主控总线之间的访问仲裁,仲裁采用轮换算法,AHB外设通过总线矩阵和系统总线连接,允许DMA访问,总线矩阵包括四含4个驱动单元及4个被动单元。
5. AHB到APB的桥:两个AHB/APB桥在AHB和两个APB总线间提供同步连接,APB1操作速度限于36MHZ,APB2操作与全速(最高72MHZ)。
以下是系统内部结构图(performance line block diagram )
嗯,这一篇大概就写到这里了,本篇就是一个宏观上的对STMF10X系列结构的认知,所以都是直接贴图的,也许刚接触的人会觉得这是什么,完全看不懂,没关系,呵呵,所有人都是这么来的,也许别人一开始就先从软件编程开始熟悉各个模块,像最基本的GPIO模块,但最终这些他们都会要补的,所以了,还不如之前先大概扫一眼有个印象,之后学深了想看时候就可以回来再继续深入研究。
第一次写,整个思路还是有点乱的,将就将就吧,下一篇就开始正式介绍了,咱们不学别人先从GPIO开始,先从复位时钟控制模块(RCC)开始,第一次接触ARM时候就在这里面困惑好久,相信很多学过51之后直接学arm的同学都会有这感受,51当时可没有关注过什么启动代码和时钟配置,arm的设计理念完全是个跳跃,当时也好奇为什么会这样,后来去查了下才知道,arm不像51,arm公司是不制造芯片,是对arm内核授权的,具体制造是由一些半导体公司基于arm公司提供的内核根据自我需要拓展功能,因此也就有了“片内外设”这一术语,所以就需要用户自己去写代码去配置这些模块。
好啦,那就下篇再见0.0
- stm32简介
- STM32简介
- STM32简介
- STM32之DMA简介
- STM32输入捕获简介
- STM32输入捕获简介
- STM32程序下载简介
- STM32重映射简介
- STM32外部中断简介
- STM32定时器简介
- STM32输入捕获简介
- STM32输入捕获简介
- STM32 IO 简介
- STM32串口简介
- STM32官方固件库简介
- STM32的ADC简介
- STM32 串口简介
- STM32 IO 简介
- 14-字符串运算符、类型运算符
- linux中ftp提示--553 Could not create file (绝对有用)
- 创业干货分享:初创公司移动应用开发工具库(集合)
- android关于AndroidManifest.xml详细分析
- 2013-7-29
- stm32简介
- 自定EL函式
- gsoap编译错误:undefined reference to namespaces
- 程序员的代码编辑器--Sublime Text 2
- Letter Combinations of a Phone Number
- 我们做的程序设计
- 将构造函数设置为私有函数的一种情况
- 最新SSH2环境搭建——代码示例(2)
- JavaScript正则表达式基础知识汇总