OPA-单运放双通道采集

CH32V003 系列单片机内部仅集成了一个 OPA,但该运算放大器提供了 2 组输入引脚供我们选择。可以通过分时复用的方法,切换外部输入引脚,达到采集并放大两路输入信号的目的。

在芯片应用手册(V1.6)的第 17 章节配置扩展控制寄存器中,可以发现 OPA 的正、负端通道的选择是由两个位进行控制,这又允许我们在使用不同的输入通道时使用同一套反馈电路。

最终运算放大器外围电路可以简化为下图所示,RC 滤波、偏置电压与其他功能根据实际项目需求另行添加。注意,PD7 引脚在出厂时默认为复位引脚功能,在编写软件时,应将其配置为普通 IO 引脚。

 调用 Option_Byte_CFG 函数,将 PD7 配置为普通 IO 引脚,该函数使用一次即可,后续再上电芯片将自动执行修改后的配置。

1 void Option_Byte_CFG(void)
2 {
3     FLASH_Unlock();
4     FLASH_EraseOptionBytes();
5     FLASH_UserOptionByteConfig(OB_IWDG_SW, OB_STOP_NoRST,     
6 OB_STDBY_NoRST, OB_RST_NoEN ,OB_PowerON_Start_Mode_BOOT);
7     FLASH_Lock();
8 }

初始化 OPA 对应的引脚与通道,当需要切换通道时,调用 OPA_CH0_Init 或 OPA_CH1_Init 函数切换运放正端的输入引脚,达到运放时分复用的效果。

 1 void OAP_GPIO_Init( void ){
 2     GPIO_InitTypeDef GPIO_InitStructure = {0};
 3  
 4     RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOD, ENABLE );
 5     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;
 6     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
 7     GPIO_Init( GPIOD, &GPIO_InitStructure );
 8     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
 9     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
10     GPIO_Init( GPIOD, &GPIO_InitStructure );
11  
12     RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA, ENABLE );
13     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
14     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
15     GPIO_Init( GPIOA, &GPIO_InitStructure );
16     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
17     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
18     GPIO_Init( GPIOA, &GPIO_InitStructure );
19 }
20  
21 void OPA_CH0_Init( void )
22 {
23     OPA_InitTypeDef  OPA_InitStructure = {0};
24  
25     OPA_InitStructure.PSEL = CHP0;
26     OPA_InitStructure.NSEL = CHN0;
27     OPA_Init( &OPA_InitStructure );
28     OPA_Cmd( ENABLE );
29 }
30  
31 void OPA_CH1_Init( void ){
32     OPA_InitTypeDef  OPA_InitStructure = {0};
33  
34     OPA_InitStructure.PSEL = CHP1;
35     OPA_InitStructure.NSEL = CHN0;
36     OPA_Init( &OPA_InitStructure );
37     OPA_Cmd( ENABLE );
38 }

最后使用 ADC 对结果进行转换,串口打印 OPA 放大后通道 1 与通道 2 的电压。


2024-1-31

posted @ 2024-02-01 09:51  WCH_CH32  阅读(437)  评论(0编辑  收藏  举报