ADC模块简介
- 驱动板所使用的主控芯片为GD32C103CB,该芯片总共有2个ADC单元,即ADC0、ADC1,因为驱动板上使用的是LQFP48封装,所以该芯片的每个ADC单元只有10个外部模拟输入通道,并且共用相同的GPIO口,这10个外部模拟输入通道依次的对应关系为:
- PA0(ADC01_IN0):ADC0或ADC1的外部模拟输入通道0
- PA1(ADC01_IN1):ADC0或ADC1的外部模拟输入通道1
- PA2(ADC01_IN2):ADC0或ADC1的外部模拟输入通道2
- PA3(ADC01_IN3):ADC0或ADC1的外部模拟输入通道3
- PA4(ADC01_IN4):ADC0或ADC1的外部模拟输入通道4
- PA5(ADC01_IN5):ADC0或ADC1的外部模拟输入通道5
- PA6(ADC01_IN6):ADC0或ADC1的外部模拟输入通道6
- PA7(ADC01_IN7):ADC0或ADC1的外部模拟输入通道7
- PB0(ADC01_IN8):ADC0或ADC1的外部模拟输入通道8
- PB1(ADC01_IN9):ADC0或ADC1的外部模拟输入通道9
- 由上述我们可以得到关于ADC的大致信息,在芯片中总共有2个ADC采样单元,有10共用的外部外部输入通道,即每个ADC采样单元都可以对10个通道中的任意一个进行采样转换,显然若要充分利用好者10个外部通道,那ADC采样模块必定需要按照一定规则在通道之间进行切换,由此引出以下内容
单个ADC模块
- 根据上图我们可以大致了解单个ADC模块内部的原理,ADC模块的外部通道可设置为规则通道组或则注入通道组,在接收到触发信号后ADC模块便会对相应的外部输入通道进行采样转换,其转换后得到的数值分别放入规则数据寄存器(1个)以及注入规则寄存器(4个)中
- 规则组和注入组
- 若要使用外部通道来进行采样转换,则需要先对其进行分组设置,因为不同分组的优先级以及转换结果存放的位置等是不同的;规则通道组和注入通道组都可以设置1个或者多个外部通道,并且分组内的通道也需进行排序编号
- 规则组:最多可以设置16个通道(该芯片只有10个外部通道,所以最多10个),使用时需要先设置规则组的长度(ADC_RSQ0寄存器的RL[3:0]位)以及规则组内各个通道的排序编号(