网站导航: 首页 > 设计参考 > 正文 文章搜索
STM32F103xx 系列微控制器简介及其资源
 
文章编号:
100808132201
文章分类: 单片机 STM8/STM32
点 击:
...
关 键 词: STM32F103
文章来源:
http://www.eefocus.com
摘 要:
STM32F103xx基于高性能32位RISC 的ARM Cortex?-M3核,工作频率为72MHz。片上集成了高速存储器(Flash最多可达512K,SRAM最多可达64K)和通过APB总线连接的丰 富和增强的外设和I/0...

 2.3 STM32F103xx 系列微控制器
STM32F103xx基于高性能32位RISC 的ARM Cortex™-M3核,工作频率为72MHz。片上集成了高速存储器(Flash最多可达512K,SRAM最多可达64K)和通过APB总线连接的丰 富和增强的外设和I/0。所有的设备都提供标准的通信接口(最多可达两个I2C接口,三个SPI接口和五个USART接口)。片上还带有两个12位的 ADC、一个12位的双通道DAC、11个16位计时器。表2.14和表2.15是STM32F103xx系列微控制器器件型号总揽,可作为选件参考。
 




2.3.1 特点
1. 内核:ARM 32位Cortex™-M3 CPU
? 最高工作频率72MHz,1.25DMIPS/MHz。
? 单周期乘法和硬件除法。
2. 存储器
? 片上集成32到512K的Flash存储器。
? 6到64K的SRAM存储器。
3. 时钟,复位和电源管理
? 2.0到3.6V的电源供电和I/O接口的驱动电压。
? POR,PDR和可编程的电压探测器(PVD)。
? 4到16MHz的晶振。
? 内嵌出厂前调校的8MHz RC振荡电路。
? 内部40KHz的RC振荡电路。
? 用于CPU时钟的PLL。
? 带校准用于RTC的32KHz的晶振。
4. 低功耗
? 三种低功耗模式:休眠,停止和待机模式。
? 为RTC和备份寄存器供电的VBAT。
5. 2个12位的us级的A./D转换器(16通道)
? A/D测量范围:0到3.6V
? 双采样和保持能力
? 片上集成一个温度传感器。
6. DMA
? 12通道DMA控制器。
? 支持的外设:定时器,ADC,DAC,I2S,SPI,I2C和USART。
7. 最多高达112个的快速I/O端口
? 根据型号的不同,有26,37,51,80和112的I/O端口,所有的都可以映像到16个外部中断向量。除了模拟输入,所有的都可以接受5V以内的输入。
8. 调试模式
? 串行调试(SWD)和JTAG接口。
9. 多达11个定时器
? 4个16位定时器,每个定时器有4个IC/OC/PWM或者脉冲计数器。
? 2个16位的6通道高级控制定时器:最多6个通道可用于PWM输出。
? 2个看门狗定时器(独立看门狗和窗口看门狗)。
? SysTick定时器:24位倒计数器。
? 2个16位基本定时器,用于驱动DAC。
10. 多达13个通信接口
? 2个I2C接口(SMBus/PMBus)。
? 5个USART接口(ISO 7816接口,LIN,IrDA兼容,调制控制)。
? 3个SPI接口(18Mbit/s),2个与I2S复用。
? CAN接口(2.0B)
? USB 2.0全速接口
? SDIO接口
11. ECOPACK®封装

2.3.2 总体结构
STM32F103xx的总体结构框图如图2.7所示。内部总线和两条APB总线将片上系统和外设资源紧密地连接起来,其中内部总线是主系统总线,连接了CPU、存储器和系统时钟等。APB1总线连接高速外设,APB2总线连接系统通用外设和中断控制。I/O端口包括PA、PB、PC、PD、PE、PF和PG七个16位的端口,其它的外设接口引脚都和I/O端口的引脚功能复用,图中的AF即表示功能复用引脚。

1. AF = I/O引脚的备用功能。
2. TA = –40 °C 到+85 °C (结温高达125 °C)。
图2.7 STM32F103xx总体结构框图

2.3.2.1 系统功能
1. 集成嵌入式Flash和SRAM存储器的ARM® CortexTM-M3内核
ARM Cortex™-M3处理器是用于嵌入式系统的最新的一代的ARM处理器。用于提供一个满足MCU实现需要的低开销平台,具有更少的引脚数和更低的功耗,并且提供了更好的计算表现和更快的中断系统应答。和8位/16位设备相比,ARM Cortex™-M3 32位RISC处理器提供了更高的代码效率。STM32F103xx微控制器带有一个嵌入的ARM核,所以可以兼容所有的ARM工具和软件。
2. 嵌入式Flash存储器和RAM存储器
内置了多达512K的嵌入式Flash,可用于存储程序和数据。多达64K的嵌入式SRAM可以以CPU时钟速度进行读写(不带等待状态)。
3. 可变静态存储控制器(FSMC)
FSMC嵌入在STM32F103xC,STM32F103xD和STM32F103xE中,带有四个片选,支持下面四种模式:Flash,RAM,PSRAM,NOR和NAND。功能描述如下:
三个FSMC中断线经过OR操作之后连接到NVIC。
没有读写FIFO。
除PCCARD之外,代码都是从外部存储器执行。
不支持boot。
目标频率等于SYSCLK/2,所以当系统时钟是72MHz的时候,外部访问按照36MHz进行。
4. 嵌套矢量中断控制器(NVIC)
STM32F103xx系列微控制器嵌入了一个嵌套矢量中断控制器,可以处理43个可屏蔽中断通道(不包括CortexTM-M3的16根中断线),提供16个中断优先级。
? 紧密耦合的NVIC实现了更低的中断处理延迟。
? 直接向内核传递中断入口向量表地址。
? 紧密耦合的NVIC内核接口
? 允许中断提前处理。
? 对后到得更高优先级的中断进行处理。
? 支持尾链。
? 自动保存处理器状态。
? 中断入口在中断退出的时候自动恢复,不需要指令干预。
这一硬件模块提供了更加灵活的中断管理,并且有最小的中断延迟。
5. 外部中断/事件控制器(EXTI)
外部中断/事件控制器由用于19条产生中断/事件请求的边沿探测器线组成。每条线可以被单独配置用于选择触发事件(上升沿,下降沿或者两者都可以),也可以被单独屏蔽。有一个挂起寄存器来维护中断请求的状态。当外部线上出现长度超过内部APB2时钟周期的脉冲,EXTI能够探测到。多达112个GPIO连接到16个外部中断线。
6. 时钟和启动
在启动的时候还是要进行系统时钟选择,但复位的时候内部8MHz的晶振被选作CPU时钟。可以选择一个外部的4-16MHz的时钟,并且会被监视来判定是否成功。在这期间,控制器被禁能并且软件中断管理也随后被禁能。同时,如果有需要(例如碰到一个间接使用的晶振失败),PLL时钟的中断管理完全可用。
多个预比较器可用于配置AHB频率,包括高速APB(PB2)和低速APB(APB1)。高速和APB最高的频率为72MHz,低速APB最高可为36MHz。
7. Boot模式
在启动的时候,boot引脚被用来在三种boot选项中的选择一种:
? 从用户Flash导入
? 从系统存储器导入
? 从SRAM导入
boot导入程序位于系统存储器,用于通过USART1重新对Flash存储器进行编程。
8. 电源供电方案
? VDD,电压范围为2.0到3.6V:外部电源通过VDD引脚提供,用于I/O和内部调压器。
? VSSA,VDDA,电压范围为2.0到3.6V:外部模拟电压输入,用于ADC,复位模块,RC和PLL,在VDD范围之内(ADC被限制在2.4V),VSSA和VDDA必须相应连接到Vss和VDD。
? VBAT,电压范围为1.8到3.6V:当VDD无效的时候,为RTC、外部32kHz晶振和备份寄存器供电(通过电源切换实现)。
9. 电源管理
设备有一个完整的上电复位(POR)和掉电复位(PDR)电路。这条电路一直有效,用于确保从2V启动或者掉到2V的时候进行一些必要的操作。当VDD低于一个特定的下限VPOR/PDR的时候,不需要外部复位电路,设备也可以保持在复位模式。
设备特有一个嵌入的可编程电压探测器(PVD),PVD用于检测VDD,并且和VPVD限值比较。当VDD低于VPVD或者VDD大于VPVD的时候会产生一个中断。中断服务程序可以产生一个警告信息或者将MCU置为一个安全状态。PVD由软件使能。
10. 电压调节
调压器有三种运行模式:主(MR),低功耗(LPR)和掉电。
? MR用在传统意义上的调节模式(运行模式)。
? LPR用在停止模式。
? 掉电用在待机模式:调压器输出为高阻,核心电路掉电,包括零消耗(寄存器和SRAM的内容不会丢失)。
11. 低功耗模式
STM32F101xx支持三种低功耗模式,从而在低功耗、短启动时间和可用唤醒源之间达到一个最好的平衡点。
? 休眠模式。在休眠模式中,只有CPU停止工作,所有的外设继续运行,在中断/事件发生的时候唤醒CPU。
? 停止模式。停止模式允许以最小的功耗来保持SRAM和寄存器的内容。1.8V区域的时钟都停止,PLL,HSI和HSE RC振荡器被禁能,调压器也被置为正常或者低功耗模式。设备可以通过外部中断线从停止模式唤醒。外部中断源可以使16个外部中断线之一、PVD输出或者TRC警告。
? 待机模式。待机模式追求最少的功耗。内部调压器被关闭,这样1.8V区域被断电。PLL、HSI和HSE RC振荡器也被关闭。在进入待机模式之后,除了备份寄存器和待机电路,SRAM和寄存器的内容也会丢失。当外部复位(NRST引脚)、IWDG复位、WKUP引脚出现上升沿或者TRC警告发生的时候,设备退出待机模式。
注:进入停止或者待机模式的时候,TRC、IWDG和相关的时钟源不会停止。

2.3.2.2 片上外设
STM32F103xx有以下几种片内外设:
1. DMA
12通道的通用DMA可用于存储器到存储器、外设到存储器和存储器到外设的传输。DMA控制器支持循环缓冲器管理,从而避免了在到达缓冲区末端的时候产生中断。
每个通道都连接到专用的硬件DMA请求,同时支持软件触发。由软件进行配置,源到目标的传输大小是独立的。
DMA可以和一些主要外设一起使用,包括SPI、I2C、I2S、USART、通用定时器、DAC和ADC。
2. RTC(实时时钟)和备份寄存器
RTC和备份寄存器通过一个开关来控制供电,当VDD有效的时候通过VDD供电,否则通过VBAT供电。备份寄存器(10个16位寄存器)可以用来在VDD无效的保存数据。
RTC提供了一系列持续运行的计数器,可以结合软件用作日历功能,并且能够提供警告中断和周期性中断。由32.768kHz外部晶振,内部低功耗RC振荡器或者高速外部时钟经过128比例分割来提供时钟。内部低功耗RC通常有40kHz频率。RTC可以通过一个外部512Hz输出来校准从而来补偿外不自然晶振的偏离。RTC特有一个用于长期测量的32位的可编程计数器,结合比较寄存器可用于产生一个警告。一个20位的预比较器用作时基时钟,默认配置成从一个32.768kHz的时钟产生一个1秒的时基。
3. 独立看门狗
独立看门狗基于12位的倒计数器和8位的预比较器。由一个独立的40kHz的内部RC提供时钟。由于和主时钟独立工作,所以它可以工作在停止和待机模式。可以用作在系统出问题的时候来复位设备,也可以作为一个空转的定时器来用于应用程序的定时器管理。硬件或者软件都可以通过选项字节来配置,计数器在调试模式下可以冻结。
4. 窗口看门狗
窗口看门狗基于一个在空转时可设置的7位的倒计数器。可以用作在系统出问题的时候来复位设备。由主时钟提供时钟源。能够实现提早警告中断并且计数器在调试模式的时候可以冻结。
5. SysTick定时器
该定时器是OS专用,但也可以用作标准的倒计数器。它的特征是:
? 一个24位的倒计数器
? 自动重载能力
? 当计数器为0时产生的系统中断是可屏蔽的。
? 可编程的时钟源
6. 通用定时器(TIMx)
STM32F103xx设备最多自带4个同步标准定时器。这些定时器基于一个16位自动重载顺序/倒序计数器和一个16位的预比较器。每个定时器特有分别用于输入捕获、输出比较、PWM或者单脉冲模式输出的4个独立通道。在最大的封装下可以提供多达12输入捕获/输出比较/PWM。通过同步连接特性或者事件链,定时器可以一起工作。
定时器在调试模式下可以冻结。任何一个标准的定时器都可以用于产生PWM输出。每一个定时器可以产生独立的DMA请求。
7. 基本定时器TIM6和TIM7
这些定时器用于产生DAC触发,也可以用作通用的16位定时器。
8. 高级控制定时器(TIM1和TIM8)
高级控制定时器(TIM1)可以被看作是一个在6通道上复用的三相PWM,也可以被看作是通用定时器,4个独立的通道可以用作:
? 输入捕获。
? 输出捕获。
? PWM产生。
? 单脉冲模式输出。
? 可设置空转时间的PWM输出。
如果被配置成一个标准的16位定时器,和TIMx定时器有相同的特性。如果配置成16位PWM产生器,它具有全调制性能(0-100%)。
在调试模式下,定时器可以冻结。TIM1和具有相同结构的TIMx有相同的特性,所以TIM1通过同步连接特性或者事件链,可以和TIMx一起工作。。
9. I2C总线
最多可有两个可以工作在多主机模式和从模式下的I2C总线接口,支持标准和快速模式。都支持双从机寻址(只能是7位)和7/10位主机模式下寻址.内置硬件CRC产生和验证模块。都支持DMA,支持SMBus2.0/PM Bus。
10. 通用同步/异步收发器(USART
USART接口最多可以2.25Mbit/s的速度通信。对CTS和RTS信号使用硬件管理,支持IrDA SIR ENDEC,兼容ISO7816并且具有LIN主/从性能。USART接口支持DMA。
11. 串行外设接口(SPI)
设备最多可有2个SPI接口,最多可以18 Mbits/s的速度在全双工和单工的主机和从机模式下通信。3位预比较器提供了8种主机模式频率,桢长可以配置为8位或者16位。硬件CRC产生/验证模块支持基本的SD Card/MMC模式。SPI接口都支持DMA。
12. I2S
STM32F103xC、STM32F103xD和STM32F103xE有两个和SPI2、SPI3复用的I2S接口,可用于主模式或者从模式。可以配置成16位或者32位精度的输入或者输出。音频采样频率可以在8KHz到48KHz。当有一个以上I2S被配置成主模式的时候,时钟可以输出到外部DAC/CODEC,输出值是采样频率的256倍。
13. SDIO
STM32F103xC、STM32F103xD和STM32F103xE有一个SD/SDIO/MMC主机接口,支持MMC 4.2。有三种数据总线模式:1位(默认),4位和8位。在8位模式下最高可达48MHz。此外还兼容SD 2.0。1位和4位总线模式下支持SDIO 2.0。
当前版本下只支持一张SD/SDIO/MMC 4.2和一个MMC4.1以下的栈。除SD、SDIO和MMC之外,该接口还完全兼容CE_ATA数字协议1.1
14. 控制器局域网(CAN)

CAN兼容2.0A和2.0B标准,比特率高达1Mbit/s。可以发送和接收11位标示符的标准桢,也可以发送和接收29位标示符的扩展桢。有三个发送邮箱,两个3阶接收FIFO队列和14个可升级过滤器阵列。
15. 通用串行总线(USB)
STM32F103xx嵌入了一个支持USB全速12Mbit/s的USB外设。USB接口实现了全速(12Mbit/s)功能接口。可通过软件配置端点,也可以通过软件控制挂起/恢复。时钟来自内部PLL产生的48MHz专用时钟源。
16. GPIO(通用输入/输出
每一个GPIO引脚都可以由软件配置出输出(上拉或者开漏),输入(带上拉或下拉或者不带上拉或下拉)或者外设备用功能。大部分的GPIO引脚和数字或者模拟备用功能共享。所有的GPIO都支持高电流。
I/O备用功能配置可以锁定,必须通过一定特定的序列才可以开锁,从而避免对I/O寄存器的虚假写操作。
17. ADC(模数转换器)
STM32F103xx设备自带两个12位的模数转换器。每个ADC有多达16个外部通道,能够以单次或扫描模式进行转换。在扫描模式下,自动转换在一组选定的模拟输入上进行。
ADC接口潜入的附加逻辑功能支持:
? 同时采样并且保持。
? 交叉采样并且保持。
? 单并联。
ADC支持DMA。特有的模拟看门狗可以对每个通道的转换电压进行精准监控。如果转换电压在设置的限制之外会产生一个中断。
标准定时器TIMx和高级控制定时器TIM1产生的事件可以内部连接到ADC开始触发器,插入触发器和DMA触发器,从而应用可以同步A/D转换和定时器。
18. DAC(数模转换器)
DAC带有两个可缓冲通道,可以将两路数字信号转化为两路模拟信号输出。具有以下的特性:
? 2个转换器:每个输出通道一个
? 8位或者12位的单一输出
? 12位模式下支持左对齐或者右对齐
? 支持同步更新
? 可产生噪声波
? 可产生三角波
? 双DAC通道可以独立转换或者同时转换
? 每个通道都支持DMA
? 外部触发转换
? 输入参考电压为VREF+
STM32F103xC,STM32F103xD,STM32F103xE使用了7个DAC触发输入。DAC通道通过定时器更新输出来触发,DAC每个通道可以连接到不同的DMA通道。每个通道可以独立被DMA控制器处理。
19. 温度传感器
温度传感器用于根据温度的变化来产生一个线性的电压。转换的范围在2V到3.6V。温度传感器内部连接到ADC_IN16输入通道,从而把传感器输出电压转换为数字值。
20. 串行线JTAG调试端口(SWJ-DP)
芯片嵌入了ARM SWJ-DP接口,并且组合了JTAG和串行线调试端口。JTAG TMS和TCK引脚分别和SWDIO和SWCLK复用。如果要在JTAG-DP和SW-DP之间切换,只需要在TMS输入一个特定的序列。

 

 
相关文章:

123 下一页
 
最新开源项目
 
 
  查看更多...  
 
本站相关产品   淘宝网店
 




 
  查看更多...  

 

本站程序由百合电子工作室开发和维护
Copyright @ baihe electric studio
渝ICP备09006681号-4