gd32f103zet6数据手册


GD32F103ZET6数据手册详解
1. 产品概述
GD32F103ZET6是兆易创新(GigaDevice)推出的一款基于ARM Cortex-M3内核的32位高性能微控制器,专为嵌入式系统设计。该芯片集成了丰富的外设资源、大容量存储空间以及灵活的接口配置,适用于工业控制、消费电子、物联网、医疗设备等多个领域。其核心优势在于高性能计算能力、低功耗设计以及丰富的外设接口,能够满足复杂应用场景的需求。
1.1 核心特性
ARM Cortex-M3内核:支持Thumb-2指令集,具备高效的代码密度和强大的中断处理能力。
主频:最高可达108MHz,提供快速的数据处理能力。
存储空间:
Flash:512KB,用于存储程序代码。
SRAM:64KB,提供运行时数据存储。
GPIO端口:多达112个,支持丰富的输入输出接口。
封装形式:LQFP-144,具有良好的电气和机械性能。
工作电压范围:2.6V~3.6V,适用于多种电源环境。
1.2 应用领域
工业控制:电机控制、温度控制、压力控制等自动化系统。
消费电子:智能穿戴设备、智能家居设备、音频播放器等。
物联网:作为物联网设备的主控芯片,实现设备间的数据交换和通信。
医疗设备:监护仪、呼吸机、血压计等,实时监测患者的生理参数。
2. 硬件资源详解
GD32F103ZET6的硬件资源丰富,包括存储器、外设接口、定时器、模拟接口等。以下是对其主要硬件资源的详细介绍。
2.1 存储器
Flash存储器:
容量:512KB。
特性:支持程序代码存储,具备擦除和编程功能。
访问方式:通过总线接口进行访问,支持快速读取。
SRAM存储器:
容量:64KB。
特性:用于存储运行时数据,支持快速读写。
访问方式:通过总线接口进行访问,支持零等待状态。
2.2 外设接口
GD32F103ZET6集成了多种外设接口,支持与外部设备的通信和数据交换。
2.2.1 通信接口
USART(通用同步异步收发器):
数量:多达5个。
特性:支持全双工通信,波特率可配置。
应用:与PC、传感器等设备进行串行通信。
I2C(内部集成电路总线):
数量:多达2个。
特性:支持主从模式,速率可达400kHz。
应用:与EEPROM、传感器等设备进行通信。
SPI(串行外设接口):
数量:多达3个。
特性:支持全双工通信,速率可达18MHz。
应用:与Flash、ADC等设备进行高速通信。
CAN(控制器局域网):
数量:1个。
特性:支持CAN 2.0B协议,速率可达1Mbps。
应用:汽车电子、工业控制等领域。
USB 2.0 FS(全速):
数量:1个。
特性:支持设备模式,速率可达12Mbps。
应用:与PC、U盘等设备进行通信。
2.2.2 模拟接口
ADC(模拟数字转换器):
数量:3个12位ADC。
特性:支持多通道输入,采样率可达1Msps。
应用:传感器信号采集、电压监测等。
DAC(数字模拟转换器):
数量:2个12位DAC。
特性:支持双通道输出,更新率可达1Msps。
应用:波形生成、音频输出等。
2.3 定时器
GD32F103ZET6提供了多种定时器,满足不同应用场景的定时需求。
通用定时器(GPTM):
数量:6个16位定时器。
特性:支持向上/向下计数、PWM输出、输入捕获等功能。
应用:电机控制、定时中断等。
高级控制定时器(Advanced TM):
数量:2个16位定时器。
特性:支持互补PWM输出、死区插入、紧急制动等功能。
应用:三相电机控制、逆变器等。
基本定时器(Basic TM):
数量:2个16位定时器。
特性:支持向上计数、DAC触发等功能。
应用:简单定时任务、DAC触发等。
SysTick定时器:
数量:1个24位定时器。
特性:支持系统滴答中断,用于操作系统调度。
应用:RTOS系统、延时函数等。
看门狗定时器(WDG):
数量:2个(独立看门狗、窗口看门狗)。
特性:支持超时复位、早期预警中断等功能。
应用:系统可靠性保障、故障恢复等。
2.4 实时时钟(RTC)
特性:
支持秒、分、时、日、月、年、星期等时间计数。
支持闹钟中断、周期性中断等功能。
支持备份电源供电,确保在主电源掉电时仍能运行。
应用:
日历时钟、定时任务、低功耗唤醒等。
2.5 DMA(直接存储器存取)
特性:
支持多通道DMA传输,减轻CPU负担。
支持存储器到存储器、外设到存储器、存储器到外设等传输模式。
支持循环传输、链表传输等高级功能。
应用:
ADC采样、DAC输出、UART通信等高速数据传输场景。
3. 电源管理
GD32F103ZET6支持多种低功耗模式,能够根据应用需求优化功耗表现。
3.1 供电系统
工作电压范围:2.6V~3.6V。
电源监控:
支持上电复位(POR)、掉电复位(PDR)。
支持可编程电压检测器(PVD),用于监测电源电压。
3.2 低功耗模式
睡眠模式(Sleep Mode):
CPU内核停止运行,外设继续运行。
通过中断或事件唤醒。
停止模式(Stop Mode):
CPU内核和外设停止运行,SRAM和寄存器内容保留。
通过外部中断、RTC闹钟等唤醒。
待机模式(Standby Mode):
整个芯片进入低功耗状态,仅RTC和备份寄存器保留。
通过WKUP引脚、RTC闹钟等唤醒。
3.3 功耗优化
时钟管理:
支持多时钟源(HSI、HSE、LSI、LSE、PLL)。
支持时钟分频、时钟门控等功能,降低功耗。
外设管理:
支持外设时钟使能/禁用,减少不必要的功耗。
4. 开发支持
GD32F103ZET6提供了完整的开发工具链和开发资源,方便开发人员进行软件开发和调试。
4.1 开发工具链
编译器:支持Keil MDK、IAR Embedded Workbench、GCC等。
调试器:支持J-Link、ST-Link、U-Link等调试工具。
开发板:兆易创新提供了GD32F103ZET6的开发板,支持快速原型开发。
4.2 开发资源
数据手册:提供了详细的芯片规格、外设描述、电气特性等信息。
用户手册:提供了芯片编程指南、外设使用说明、示例代码等信息。
应用笔记:提供了多种应用场景的解决方案和示例代码。
4.3 操作系统支持
GD32F103ZET6支持多种实时操作系统(RTOS),包括:
RT-Thread:轻量级开源RTOS,支持多任务、线程管理、消息队列等功能。
FreeRTOS:开源RTOS,支持任务调度、中断管理、内存管理等功能。
UCOS-III:商业RTOS,支持实时任务调度、优先级继承、互斥锁等功能。
5. 电气特性
GD32F103ZET6的电气特性包括绝对最大额定值、推荐工作条件、功耗等。
5.1 绝对最大额定值
供电电压:-0.3V~4.0V。
输入电压:-0.3V~VCC+0.3V。
工作温度范围:-40℃~+85℃(工业级)。
存储温度范围:-65℃~+150℃。
5.2 推荐工作条件
供电电压:2.6V~3.6V。
工作温度范围:-40℃~+85℃。
5.3 功耗
典型功耗:
运行模式:36mA(108MHz,3.3V)。
睡眠模式:2mA(3.3V)。
停止模式:10μA(3.3V)。
待机模式:2μA(3.3V)。
6. 封装与引脚
GD32F103ZET6采用LQFP-144封装,引脚数量为144个。
6.1 封装尺寸
尺寸:20mm×20mm×1.4mm。
引脚间距:0.5mm。
6.2 引脚分配
GD32F103ZET6的引脚分为电源引脚、GPIO引脚、外设功能引脚等。以下是对主要引脚的描述:
电源引脚:
VDD:数字电源,连接至3.3V。
VSS:数字地,连接至GND。
VDDA:模拟电源,连接至3.3V。
VSSA:模拟地,连接至GND。
GPIO引脚:
PA0~PA15:GPIO端口A。
PB0~PB15:GPIO端口B。
PC0~PC15:GPIO端口C。
PD0~PD15:GPIO端口D。
PE0~PE15:GPIO端口E。
PF0~PF15:GPIO端口F。
PG0~PG15:GPIO端口G。
外设功能引脚:
USART:TX、RX、RTS、CTS等。
I2C:SCL、SDA等。
SPI:SCK、MISO、MOSI、NSS等。
CAN:CAN_TX、CAN_RX等。
USB:DP、DM等。
7. 示例应用
以下是一个基于GD32F103ZET6的简单应用示例,展示如何使用其外设接口实现功能。
7.1 示例:LED闪烁
硬件连接
将LED连接至PA0引脚,通过限流电阻接地。
代码实现
#include "gd32f10x.h"
void gpio_config(void) { rcu_periph_clock_enable(RCU_GPIOA); // 使能GPIOA时钟 gpio_init(GPIOA, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_0);
// 配置PA0为推挽输出 }
int main(void) { gpio_config(); // 初始化GPIO while(1) { gpio_bit_set(GPIOA, GPIO_PIN_0); // PA0输出高电平,LED熄灭 delay_1ms(500); // 延时500ms gpio_bit_reset(GPIOA, GPIO_PIN_0); // PA0输出低电平,LED点亮 delay_1ms(500); // 延时500ms } }
功能说明
通过PA0引脚控制LED的亮灭,实现LED闪烁效果。
7.2 示例:ADC采样
硬件连接
将模拟信号输入至PA0引脚(ADC通道0)。
代码实现
#include "gd32f10x.h"
void adc_config(void) { rcu_periph_clock_enable(RCU_ADC0); // 使能ADC0时钟 rcu_periph_clock_enable(RCU_GPIOA); // 使能GPIOA时钟
gpio_init(GPIOA, GPIO_MODE_AIN, GPIO_OSPEED_50MHZ, GPIO_PIN_0);
// 配置PA0为模拟输入
adc_struct_para adc_initstruct; adc_deinit(ADC0); // 复位ADC0 adc_initstruct.adc_resolution = ADC_12BIT; // 12位分辨率 adc_initstruct.adc_scanmode = DISABLE; // 单通道模式 adc_initstruct.adc_continuemode = DISABLE; // 单次转换模式 adc_initstruct.adc_externaltrigconv = DISABLE; // 软件触发 adc_initstruct.adc_externaltrigconvedge = ADC_EXTERNALTRIGCONVEDGE_NONE;
// 无边沿触发 adc_initstruct.adc_datalign = ADC_DATALIGN_RIGHT; // 右对齐 adc_initstruct.adc_channel_length = ADC_REGULAR_CHANNEL_LENGTH_1; // 1个转换通道 adc_init(ADC0, &adc_initstruct); // 初始化ADC0
adc_regular_channel_config(ADC0, 0, ADC_CHANNEL_0, ADC_SAMPLETIME_55POINT5);
// 配置通道0为PA0 adc_enable(ADC0); // 使能ADC0 delay_1ms(1); // 延时1ms adc_calibration_enable(ADC0); // ADC校准 }
uint16_t adc_read(void) { adc_software_trigger_enable(ADC0, ADC_REGULAR_CHANNEL);
// 软件触发ADC转换 while(!adc_flag_get(ADC0, ADC_FLAG_EOC)); // 等待转换完成 return adc_regular_data_read(ADC0); // 读取转换结果 }
int main(void) { adc_config(); // 初始化ADC while(1) { uint16_t adc_value = adc_read(); // 读取ADC值 // 处理ADC值(例如:显示、传输等) } }
功能说明
通过PA0引脚采集模拟信号,实现ADC采样功能。
8. 总结
GD32F103ZET6是一款功能强大、性能稳定的32位微控制器,以其基于ARM Cortex-M3内核的设计、丰富的外设接口和低功耗特性,在嵌入式系统领域具有广泛的应用前景。无论是工业控制、消费电子、物联网还是医疗设备等领域,GD32F103ZET6都能提供可靠且高效的解决方案。
8.1 优势总结
高性能计算:基于ARM Cortex-M3内核,主频高达108MHz。
大容量存储:512KB Flash和64KB SRAM,满足复杂应用需求。
丰富的外设接口:支持USART、I2C、SPI、CAN、USB等多种通信接口。
低功耗设计:支持多种低功耗模式,优化功耗表现。
开发支持完善:提供完整的开发工具链和开发资源,方便开发人员进行软件开发和调试。
8.2 未来展望
随着物联网、工业4.0等技术的快速发展,对嵌入式系统的需求不断增加。GD32F103ZET6凭借其高性能、低功耗和丰富的外设接口,将在更多领域得到应用。未来,兆易创新将继续推出更多高性能、低功耗的微控制器产品,满足市场需求。
责任编辑:David
【免责声明】
1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。
2、本文的引用仅供读者交流学习使用,不涉及商业目的。
3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。
4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。
拍明芯城拥有对此声明的最终解释权。