3646|3

153

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

【HC32F460开发板测评】(第五篇)片内程控增益放大器(PGA)测评 [复制链接]

  本帖最后由 梦溪开物 于 2021-5-27 16:46 编辑

一、引言

       本次关于HC32F460开发板快接近尾声了,仍有一点意犹未尽的感觉。在基本完成之前提交的HC32F460开发板的测评计划后,发现HC32F460单片机还有一个比较有意思的外设,这个外设的中文名叫程控增益放大器,英文名叫programmable gain amplifier,缩写为PGA。PGA在模拟电路中的用处比较大,对于一些传感器的模拟信号的放大的情形,它与运算放大器,具有一些独特的优势。第一,PGA集成度更高,具有低噪声低失真的特点【1】;第二、PGA通过程序调节反馈电阻的阻值来改变放大倍数,调节十分方便【2】。对于集成了PGA的MCU,可以采用一键式编程,放大模拟信号就更方便了,同时也节省了额外的电子元器件,降低了生产成本,具有显著的优势。接下来请允许我展开本次的测评。

 

 

二、测评内容

2.1 HC32F460单片机的PGA外设介绍

      本次使用的HC32F460开发板的单片机型号为HC32F460PCTB-LQFP100,查阅该用户手册关于ADC外设的介绍【3】,发现该单片机搭载了可编程增益放大器PGA,可见在模拟电路和数字电路的混合设计中,ADC与PGA联系得多么紧密。该单片机只含有一个PGA,只有ADC1 支持PGA,使用时需要额外注意。HC32F460单片机的PGA工作示意图如图2-1所示,图中的PGA在ADC1的输入通道与ADC1之间,可以打开也可以关闭(用库函数ADC_PgaCmd( )设置)。在输入模拟信号幅值较高时,可以不用;在输入模拟信号幅值较低时,尤其检测一些电压型传感器时,则需要经过PGA放大再进行ADC采用。虽然叫做程控增益放大器,但是在MCU中,它的放大倍数不是任意设置的,需要按照数据手册中的表格来操作,如图2-2所示。

                                      图2-1 HC32F460单片机的PGA工作示意图

 

                         图2-2 HC32F460单片机的PGA增益选择表

 

2.2 HC32F460单片机的PGA外设放大特性测评

       打开样例程序hc32f46x_ddl_Rev1.3.0,进入example文件夹,打开里面的adc文件夹,使用IAR打开adc_12_adc1_pga工程,该程序可以完成对HC32F460单片机PGA外设的放大特性进行测评。在软件上,打开main.c 程序中,设置好PGA的放大倍数,信号通道、系统时钟等参数后,调用oled的库函数,将放大后的模拟信号的幅值显示在OLED屏上(该幅值可以通过连接PGA外设输出的ADC1采样值转换得到);在软件上,将电位器输出端 VRO 与引脚 ADC1_IN0 相连,使电位器输出到 ADC1_IN0。其中,根据HC32F460的硬件开发指南【5】,硬件连接引脚如图2-3所示,核心程序如下,主要功能包括ADC与PGA的配置,以及PGA的增益程序和ADC的采样程序,重要语句配有中文解释。

int32_t main(void)
{
    /* Default clock is MRC(8MHz) */

    /*  ADC. */
    AdcConfig();

    /* Config UART for printing. Baud rate 115200. */
    Ddl_UartInit();

    /***************** Configuration end, application start **************/
  OLED_Init();

    while (1u)
    {
       float ADC_PGA_Voltage=0; //输入到ADC1_IN0口的模拟信号
       int i,j,k;
   
        ADC_PgaCmd(Disable); //关闭PGA外设
        ADC_PollingSa(M4_ADC1, m_au16Adc1Value, ADC1_CH_COUNT, TIMEOUT_MS);
        
        //ADC直接采样ADC_IN0口的模拟信号的值,串口打印
        printf("\nBefore PGA enable.");
        printf("\nADC1_IN0 value %d.", m_au16Adc1Value[0u]);
        printf("\nADC1_IN0 voltage is %.4fV.",
                ((float)m_au16Adc1Value[0u] * ADC_VREF) / (float)ADC1_ACCURACY);
        
        /* Enable PGA. */
        ADC_PgaCmd(Enable);//打开PGA外设
        ADC_PollingSa(M4_ADC1, m_au16Adc1Value, ADC1_CH_COUNT, TIMEOUT_MS);
        
        //ADC直接采样经过PGA外设放大的ADC_IN0口的模拟信号的值,串口打印
        printf("\nAfter PGA enable and factor is %f.", ADC_PGA_FACTOR);
        printf("\nADC1_IN0 value %d.", m_au16Adc1Value[0u]);
        printf("\nADC1_IN0 voltage is %d.",
                (int)((((m_au16Adc1Value[0u] * ADC_VREF) / (float)ADC1_ACCURACY))*10000));

       
        //OLED屏显示ADC直接采样经过PGA外设放大的ADC_IN0口的模拟信号的值,5位有效数字,精确到小数点后四位
        ADC_PGA_Voltage = (((float)m_au16Adc1Value[0u] * ADC_VREF) / (float)ADC1_ACCURACY);
        i=ADC_PGA_Voltage*10000;
        j=i/10000;
        OLED_ShowNum(10,0,j,4,14);
        OLED_ShowString(40,0,".");
        j=i%10000;
       
        if(j<10)   //小数点后三位为0
        {
         k=j;
         OLED_ShowNum(45,0,k,4,14); 
         OLED_ShowString(43,0,"000");   
        }
        
        if(j<100&&j>=10)   //小数点后两位为0
        {
         k=j;
         OLED_ShowNum(45,0,k,4,14); 
         OLED_ShowString(43,0,"00");
      
        }
        if(j<1000&&j>=100)   //小数点后一位为0
        {
         k=j;
         OLED_ShowNum(45,0,k,4,14); 
         k=0;
         OLED_ShowNum(45,0,k,1,10); 
        }
        
        if(j>=1000)  //小数点后四位不为0
        {
         k=j;
         OLED_ShowNum(45,0,k,4,14);   
        }
        
         if(j==0)
        {
         k=0;
         OLED_ShowString(43, 0, "0000");
        }
        
         Ddl_Delay1ms(2000u);
         OLED_Clear();
    }
}

 

                            图2-3 硬件连接引脚原理图

 

 

2.3 测评结果

       旋转电位器,以此改变输入ADC1_IN0模拟信号的大小。放大倍数设置为PGA_FACTOR_5P333(5.333倍)。第一次旋转电位器,记录下OLED屏显示的数据和万用表测试电位器输出的数据,结果如图2.4和图2.5所示;第一次旋转电位器,记录下OLED屏显示的数据和万用表测试电位器输出的数据,结果如图2.6和图2.7所示。对测试数据进行分析,第一次的绝对误差为|0.348*5.333-1.8530|=0.002V,第二次的绝对误差为|0.496*5.333-2.6369|=0.009V,两次测试的误差均在10个mV以内,两次测量数据在统计学上无法从机理上研究性能,在此只是粗略地验证一下HC32F460单片机的PGA的性能。动态测试PGA性能的视频见附件1。

 

                                 图2.4 第一次万用表测量数值

 

                                      图2.5 第一次OLED屏记录数据

 

                                       图2.6 第二次万用表记录数据

 

                               图2.7 第二次OLED屏记录数据

 

 

三、测评心得

       本次测评验证了HC32F460单片机PGA外设的性能,如数据手册上所展示的参数在同一数量级。内含PGA外设的单片机非常适用于面积受限的传感器项目,这种类型的单片机省去了添加额外运算放大器以及一些无源元件如电阻电容等的使用,既节省了成本也使得设计出来的PCB小巧精致。如今数字信号和模拟信号的混合使用的嵌入式应用的一个方向,所以含带模拟外设的MCU能很好地解决一些实际工程问题。

       非常感谢华大半导体和EEWORD为我提供测评HC32F460开发板的机会,通过对HC32F460开发板测评,我接触并学会了很多单片机底层软硬件知识,这些过程包括arm的低功耗原理和基本配置、通信外设自由映射GPIO端口的相关配置和使用、I2C读取EEPROM的基本过程以及arm单片机外部中断测量频率的尝试等等,对此受益匪浅;同时感谢本次同期测评HC32F460开发板的坛友,也感谢往期测评其它开发板的坛友,从他们的帖子中,我获得了很多帮助,深表感谢。

 

 

四、参考文献

【1】陆序长. 斩波稳定型全差分可编程增益放大电路的设计[D]. 湖南:湘潭大学,2017.

【2】查小芳. 高精度sigma-delta ADC中PGA的设计[D]. 安徽:合肥工业大学,2016. 

【3】华大半导体有限公司.HC32F460系列用户手册Rev1.21[DB/OL].(2020)[2021-5-8].https://www.hdsc.com.cn/cn/Index/downloadFile/modelid/65/id/47/key/0.

【4】华大半导体有限公司.HC32F460系列数据手册Rev1.21.pdf[DB/OL].(2020)[2021-5-8].https://www.hdsc.com.cn/cn/Index/downloadFile/modelid/65/id/47/key/0.

【5】华大半导体有限公司. HC32F460系列的硬件开发指南Rev1.2.pdf[DB/OL].(2020)[2021-5-9].https://www.hdsc.com.cn/cn/Index/downloadFile/modelid/65/id/48/key/10.

2.1.gif (14.67 MB, 下载次数: 0)

附件1

附件1

最新回复

看来蛮准的   详情 回复 发表于 2021-5-10 22:47

赞赏

1

查看全部赞赏

点赞(1) 关注
 
 

回复
举报

1942

帖子

3

TA的资源

版主

沙发
 

感谢分享!不错哈!

 
 
 

回复

2万

帖子

71

TA的资源

管理员

板凳
 

楼主写的非常详细,逻辑清楚,赞一个

加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
个人签名

加油!在电子行业默默贡献自己的力量!:)

 
 
 

回复

7618

帖子

2

TA的资源

五彩晶圆(高级)

4
 

看来蛮准的

个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

开源项目 更多>>
    随便看看
    查找数据手册?

    EEWorld Datasheet 技术支持

    相关文章 更多>>
    关闭
    站长推荐上一条 1/9 下一条

     
    EEWorld订阅号

     
    EEWorld服务号

     
    汽车开发圈

    About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

    站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

    北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

    电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
    快速回复 返回顶部 返回列表