STM32F103C8T6引脚配置_功能原理图_数据手册
STM32F103C8T6是基于RISC架构的STM32F103x8系列中端微控制器单元之一。作为STMicroelectronics STM发现板的替代品,集成的Blue Pill开发板作为低成本开发板推出。Blue Pill的价格在2-3美元左右。
STM32F103C8T6微控制器带有GPIO引脚、处理器、内存、USB端口、模数转换器和其它外设。此外,它还具有72MHz惊人速度和卓越能效的ARM Cortex内核。
在本文中,将对STM32F103C8T6 Blue Pill开发板进行简单介绍,主要包括特性、规格、引脚配置、GPIO引脚和外设及应用等内容。
基本概念
STM32F103C8T6 Blue Pill开发板包含一个32位Cortex-M3 RISC ARM内核,内部振荡器为4 -16MHz,它是一种CMOS闪存技术芯片。该芯片有37个GPIO引脚和10个模拟引脚。
STM32F103C8T6有一些现代通信接口,例如CAN和USB端口。由于它在非常低的电压下运行,因此外围设备可以对电路板进行出色的控制,因此适用于低功率应用。它还带有一个集成看门狗和一个窗口看门狗定时器,用于正确执行指令。
规格参数
功能和外围设备 | 可用性 |
---|---|
构架 | 精简指令集 |
针数 | 47 |
静态随机存取存储器 | 20KB |
串口线调试 | 1个 |
闪存 | 64/128千字节 |
处理器速度 | 72 兆赫(最大) |
USB连接器 | Micro |
模数转换器 | 2个 |
定时器数量 | 7个 |
通讯接口 | 9个 |
USB模块 | 支持 |
I2C | 2个 |
SPI | 2个 |
工作温度 | -40摄氏度~+105摄氏度 |
源/灌电流 | 6毫安 |
工作电压 | 2.0V–3.6V |
串口模块 | 3个 |
内部振荡器 | 4-16兆赫 |
窗口看门狗定时器 (WWDT) | 支持 |
JTAG调试接口 | 1个 |
功能特性
- 用于监控数据损坏的循环冗余校验 (CRC)
- 三种不同的引导选项(通过用户闪存或系统内存或 SRAM)通过USART1重组闪存
- 7个不同的定时器,用于模拟信号的不同采样率
- 用于调试和测试微控制器单元的JTAG(联合测试行动组)串行协议
- 锁相环 (PLL) 时钟通过对输出和输入信号进行定相来实现稳定性
- 一种用于观察信号接收和传输错误的窗口看门狗定时器
引脚配置
下图显示了STM32F103C8T6 Blue Pill开发板的引脚排列:
引脚配置说明如下:
类型 | 引脚名称 | 功能描述 |
---|---|---|
电源 |
– 3.3伏
– 5伏
– GND
|
1. 工作输出电压
2. USB或5V外部电源引脚供电
3. 接地引脚
|
模拟引脚 | PA0-PA7, PB0-PB1 | 10、12位分辨率ADC引脚 |
输入/输出引脚 | PA0-PA15, PB0-PB15, PC13-PC15 | 37个通用I/O引脚 |
外部中断 | PA0-PA15, PB0-PB15, PC13-PC15 | 中断引脚 |
脉宽调制 | PA0-PA3, PA6-PA10, PB0-PB1, PB6-PB9 | 15个脉冲宽度调制引脚 |
串行通信(UART) | TX1, RX1, TX2, RX2, TX3, RX3 | RTS、CTS USART引脚 |
SPI | MISO0, MOSI0, SCK0, MISO1, MOSI1, SCK1, CS0 | 2个串行外设接口引脚 |
CAN | CAN0TX, CAN0RX | 控制器区域网络总线引脚 |
I2C | SCL1, SCL2, SDA1, SD2 | 内部集成电路串行数据和时钟引脚 |
内置发光二极管 | PC13 | LED指示 |
- 外部中断:硬件中断用于检测外部信号。
- PWM:共有15个脉宽调制引脚,用于从数字PWM输出生成模拟电压信号。
- RTS/CTS: Request-to-Send/Clear-to-Send 是一种协议,用于告知数据的传输和接收以控制数据和信号的流动。
- SPI:串行外设接口,用于在微控制器单元和外设之间进行通信。
- CAN:一种多串行总线,也负责双向通信。
- I2C:另一种用于同步逐位数据传输的串行接口协议。
工作原理图
编程软件
目前有两种方法可以对STM32F103C8T6开发板进行编程。通过使用以下方法:
- STLink USB加密狗
- 外部USB或串口转换器
虽然有许多编译器选项和IDE可用于将程序和闪存代码写入STM32F10C8T6 Blue Pill。但这是两个最受欢迎且易于使用的编译器。
另外,Kiel/CubeMX和STLink的软件也用于编译和上传程序。这是通过单线调试接口完成的,该接口专为ARM内核设计,用于传输和内存访问。
该MCU与Arduino软件兼容,它可以使用Arduino编译器进行编程。Arduino使用两个编译器,即avr-g++和arm-none-eabi-g++。代码可以通过外部USB使用UART1引脚烧录到MCU上。
要通过Arduino软件对STM32F10C8T6进行编程,必须从软件提供的板卡菜单中选择所需的板卡。然后为开发板下载合适的文件以进行高效编程。Arduino的示例草图,例如Blink可以上传到MCU,因为开发具有集成LED。
主要应用
- 机器人学
- 医疗系统
- 家庭自动化系统
- 低成本嵌入式系统
- 消费者设备
- 全球定位系统
- 工业应用
主要优点
STM32F103C8T6是一款32位的ARM Cortex-M3内核微控制器,具有以下主要优点:
-
高性能:工作频率高达72MHz,具有高性能的计算和浮点运算能力,适用于实时应用和计算密集型应用。
-
丰富的外设:内置多个外设,如多达39个GPIO,UART,SPI,I2C,定时器,PWM等,可以适应不同的应用场景。
-
低功耗:内置了多种低功耗模式,包括待机、休眠、停机等,可以有效延长电池寿命,适用于低功耗应用场景。
-
丰富的软件支持:采用ARM Cortex-M3内核,支持多种开发工具和软件包,如Keil,IAR,CubeMX等,开发效率高。
-
成本效益高:成本效益高,能够更好地满足经济实惠的应用需求,可广泛应用于许多领域,如智能家居、物联网、嵌入式系统等。
封装设计参数
STM32F103C8T6有两种封装,即LQFP48、UFQFPN48。下图显示了UFQFPN48的二维模型,它向我们展示了设计PCB卡时所需组件的物理尺寸:
STM32F103C8T6和STM32F103ZET6的区别?
STM32F103C8T6和STM32F103ZET6都是ST公司生产的32位ARM Cortex-M3内核微控制器,主要区别如下:
- 封装不同:STM32F103C8T6采用LQFP48封装,而STM32F103ZET6采用LQFP144封装,因此后者的引脚数量和排布都更加复杂。
- 内存不同:STM32F103C8T6的Flash存储器为64KB,RAM存储器为20KB,而STM32F103ZET6的Flash存储器为512KB,RAM存储器为64KB,具有更高的存储容量和处理速度。
- 定时器不同:STM32F103C8T6内部拥有三个基本定时器和一个高级控制定时器,而STM32F103ZET6则拥有9个基本定时器和4个高级控制定时器。
- 性能不同:STM32F103ZET6的运行频率更高(72MHz vs. 64MHz),能够更好的处理高速数据和操作。
STM32F103C8T6和 STM32F103RCT6 都是ST公司生产的32位ARM Cortex-M3内核微控制器,两者主要区别如下:
-
尺寸不同: STM32F103C8T6的尺寸为7 x 7 mm,而STM32F103RCT6的尺寸为11 x 11 mm。因此,STM32F103C8T6更加紧凑,适用于特别小的项目。
-
Flash 存储器量不同: STM32F103C8T6的Flash存储器为64 KB,而STM32F103RCT6的Flash存储器为256 KB。因此,STM32F103RCT6可以存储更多的代码和数据,因此适用于更复杂和计算密集型的项目。
-
ADC通道不同: STM32F103C8T6有一个12位ADC,而STM32F103RCT6有两个12位ADC。这增加了STM32F103RCT6对多输入信号的处理能力。
-
定时器数量不同: STM32F103C8T6有三个基本定时器和一个高级定时器,而STM32F103RCT6有三个基本定时器和两个高级定时器。因此,STM32F103RCT6可以更好地实现高级定时器功能,以满足更复杂的应用程序需求。
STM32F103C8T6和STM32F103C6T6都是32位ARM Cortex-M3内核微控制器,两者主要区别如下:
-
Flash存储器大小不同:STM32F103C8T6的Flash存储器为64KB,而STM32F103C6T6的存储器为32KB。因此,前者可以存储更多的代码和数据,更适合处理需要大量存储的复杂应用程序。
-
RAM 存储器大小不同:STM32F103C8T6具有20KB的RAM存储器,而STM32F103C6T6具有10KB的RAM存储器。因此,前者可以处理更大、更复杂的数据集,更适合需要大量RAM存储器的应用程序。
-
封装不同:STM32F103C8T6采用LQFP48封装,而STM32F103C6T6采用LQFP48、LQFP64和LQFP100封装,前者更适合空间受限的应用程序。
-
ADC 通道不同:STM32F103C8T6有一个ADC,而STM32F103C6T6有两个ADC通道。前者适用于只有一个模拟输入信号的简单应用程序,而后者可以处理多个模拟输入信号。
STM32F103C8T6和STM32F103VET6都是ST公司生产的32位ARM Cortex-M3内核微控制器,两者主要区别如下:
-
Flash存储器和RAM存储器大小不同:STM32F103C8T6具有64KB的Flash存储器和20KB的RAM存储器,而STM32F103VET6具有512KB的Flash存储器和64KB的RAM存储器。因此,前者适用于低端应用程序,而后者适用于需要处理大型数据集或多任务的高端应用程序。
-
封装不同:STM32F103C8T6采用LQFP48封装,而STM32F103VET6则采用LQFP100封装,前者更适合空间受限的应用程序,后者则提供更多的GPIO和总线接口,适合复杂控制任务。
-
ADC通道数量不同:STM32F103C8T6具有一个ADC通道,而STM32F103VET6具有24个ADC通道。因此,前者适用于只有一个模拟输入信号的简单应用程序,而后者可以处理多达24个模拟输入信号。
-
价格不同:由于差异,STM32F103VET6的价格要高于STM32F103C8T6。