如下图所示,GD32F303系列MCU在不同的ADC位宽情况下均具有对应的最高采样率,那这个最高采样率还可以提高吗?

答案是可以的。GD32F30X系列MCU可以支持双ADC内核,分别为ADC0和ADC1,且双ADC可以支持同步模式,同步模式可以支持常规并行模式、常规快速交叉模式和常规慢速交叉模式,其中可以使用ADC0和ADC1的交叉模式采样同一个通道,同步等效为提高ADC采样率。
下面以快速交叉模式为例来进行介绍:
以下为常规快速交叉模式工作示意图,常规触发后,ADC1立即启动采样,之后ADC0在7个ADC时钟周期后自动启动。

ADC0和ADC1采样转换的数据在快速交叉模式下会被自动放到32位的ADC0数据寄存器里,如下图所示,高16位存放是ADC1的采样数据,低16位存放的是ADC0的采样数据。这样当ADC1和ADC0采样完成后,使用ADC0对应的DMA通道搬运32位ADC0数据寄存器,就可以把ADC0和ADC1的采样数据进行搬运。

在快速交叉模式下,需要两个ADC的采样周期要小于7个ADC CLK,进而可以等效提高双倍ADC采样率。
另外慢速交叉模式,就是将两个ADC之间的启动间隔改成14个ADC CLK,其他工作原理一致。
关键字:GD32 MCU
引用地址:
GD32 MCU如何使用双ADC内核提高ADC采样率?
推荐阅读最新更新时间:2026-03-20 11:40
GD32 MCU如何使用双ADC内核提高ADC采样率?
如下图所示,GD32F303系列MCU在不同的ADC位宽情况下均具有对应的最高采样率,那这个最高采样率还可以提高吗? 答案是可以的。GD32F30X系列MCU可以支持双ADC内核,分别为ADC0和ADC1,且双ADC可以支持同步模式,同步模式可以支持常规并行模式、常规快速交叉模式和常规慢速交叉模式,其中可以使用ADC0和ADC1的交叉模式采样同一个通道,同步等效为提高ADC采样率。 下面以快速交叉模式为例来进行介绍: 以下为常规快速交叉模式工作示意图,常规触发后,ADC1立即启动采样,之后ADC0在7个ADC时钟周期后自动启动。 ADC0和ADC1采样转换的数据在快速交叉模式下会被自动放到32位的ADC0数据寄存器里
[单片机]
STM32与GD32单片机
一、相同点 都是基于Arm Cortex-M3/M4内核的32位通用微控制器,广泛应用于各种嵌入式系统和物联网领域。 二、不同点 1.1 内核和主频 GD32单片机采用的是二代的M3/M4内核;根据ARM公司的M3内核勘误表,GD32使用的内核只有一个BUG。 STM32单片机主要采用的是一代的M3/M4内核;STM32使用的内核有多个BUG1。 所以GD32的内核更稳定和可靠! 高速外部时钟(HSE)时,GD32的主频最大可以达到108MHz,STM32的主频最大只能达到72MHz; 高速内部时钟(HSI)时,GD32的主频最大可以达到108MHz,STM32的主频最大只能达到64MHz2; 主频越高,意味着单片机代码运行的速度
[单片机]
【GD32 MCU 移植教程】9、从 STM32F10x 系列移植到 GD32F30x 系列
1.本文简介 GD32F30x 系列 MCU 是基于 Arm® Cortex®-M4 处理器的 32 位通用微控制器,与 STM32F10x 系列 MCU 保持高度兼容。本文主要从以下三个方面进行介绍:硬件资源对比、外设及性能对比以及从 STM32F10x 移植到 GD32F30x 的移植步骤,旨在让开发者能够快速从 STM32F10x 移植到 GD32F30x,缩短研发周期,加快产品开发进度。 2.GD32F30x vs STM32F10x 硬件资源对比 GD32F30x 和 STM32F10x 硬件引脚对比如表 2-1. GD32F30x 和 STM32F10xpin 对比所示,由该表可知,GD32F30x 与 STM32
[单片机]
节省IO的小技巧:GD32 MCU如何使用一个GPIO实现串口半双工收发
一般情况串口的接受和发送分别需要使用TX和RX两个引脚来实现,但在一些UART的实际应用中,通信双方身份为主机和从机,数据流是半双工的,那么当IO口资源紧张时可以使用半双工模式通过一个引脚实现数据的发送和接受,同时又保证数据不出错。我们一起来看下红枫派开发板例程中是如何实现的? 首先GD32F303的UART是支持半双工模式的,但想要真正使用起来,软硬件还需要特殊设计。 首先是硬件设计,在红枫派开发板中的RS485通信使用半双工实现,原理图是这样的: 其中很重要的两个点是: 1、在MCU的TX引脚上一定要增加一个上拉电阻,保证MCU发送和接受模式切换时IO口电平可以保持高电平的空闲态。 2、485端实际还是发送和接受
[单片机]
【GD32 MCU 移植教程】2、从 GD32F303 移植到 GD32F503
1. 前言 GD32E503 系列是 GD 推出的 Cortex_M33 系列产品,该系列资源上与 GD32F303 兼容度非常高,本应用笔记旨在帮助您快速将应用程序从 GD32F303 系列微控制器移植到 GD32E503 系列微控制器。 2. 引脚兼容性 GD32F303 与 GD32E503 在相同封装下是 Pin To Pin 兼容的。但由于 GD32E503 较 GD32F303多了 SHRTIMER、SQPI 功能,所以两者引脚定义有细微差别,如下表所示: 表 1 GD32F303 系列和 GD32E503 系列引脚区别 3. 内部资源兼容性 下表给出了 GD32F303 与 GD32F503 的资源对比总览(
[单片机]
关于使用GD32 MCU实现位带操作的指南
MCS-51单片机可以简单的将P1口的第2位独立操作,如P1.2=0;P1.2=1,就是这样把P1口的第三个脚(BIT2)置0置1。对于32位ARM MCU 我们可以像51单片机一样单独的对某个端口的某一个IO单独操作吗?答案是可以的。并且这样就引入了“位带操作”的概念。简而言之,为了能够实现单独的位控制,所以就有了位带这样的操作机制。 ARM Cortex-M3处理器采用哈佛结构,可以使用相互独立的总线来读取指令和加载/存储数据。指令代码和数据都位于相同的存储器地址空间,但在不同的地址范围。程序存储器,数据存储器,寄存器和I/O端口都在同一个线性的4 GB的地址空间之内。这是Cortex-M3的最大地址范围,因为它的地址总线
[单片机]
GD32 MCU进入低功耗模式导致无法再进行程序下载怎么办?
很多朋友在调试GD32 MCU的低功耗模式时会遇到一个问题:程序中让MCU进入了Sleep、Deepsleep或者Standby模式,之后MCU就无法再下载程序了。这是因为在低功耗模式下,MCU的SW口和JTAG口是无法访问的。比如下面的程序就会导致该问题发生: 该main函数中第一步是打开PMU时钟,然后马上让MCU进入Deepsleep模式,当你想要再次下载程序时,IDE会有如下错误提示(不同IDE报错不同): 遇到这种情况怎么办呢?难道只能重新换一颗芯片了?不不不,其实有方法解决这个问题的。 方法一: GD32 MCU的启动模式根据芯片上的BOOT0和BOOT1脚是可以选择三种模式: 一般情况下,BOOT0需
[单片机]
GD32 MCU内部温度传感器如何使用,以及适合哪种应用场景?
GD32 MCU全系列产品均内置温度传感器,内部温度传感器可以用于测量器件周围温度及变化,传感器的输出电压连接到ADC的第16通道,可被ADC转换成数字量。 温度传感器输出电压随温度线性变化,由于生产过程中的多样化,温度变化曲线的偏移在不同的芯片上会存在不同,但斜率基本一致,因而内部温度传感器更适合测量温度变化,即相对温度,而不太适合测量绝对温度。如果需要测量绝对温度,且对温度的精度要求并不是很高的情况下,可以使用外置温度传感器来校准不同芯片出厂的偏移误差,这样就可以用于环境温度的测量。 下面为大家介绍内置温度传感器参数以及如何使用。 内置温度传感器参数如下图所示,其中TL为温度线性误差,Avg_Slope为斜率,V25为
[单片机]