0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

带32位MCU和高精度ADC的SoC产品-SD93F系列开发指南(八)

杭州晶华微 来源:杭州晶华微 2023-12-15 17:07 次阅读

01

前言

在开发指南(七)中,我们简单介绍了LBT模块中低电压检测功能的测试,本章我们讲解一下24位高精度SD ADC的使用方法,详细寄存器资料参考应用手册第27章节。

02

SD ADC结构框图

在讲解SD ADC之前,我们首先来看一下SD ADC的功能框图如下图1,从图中可以看到整个SD ADC模块包括两个多路选择器IAMUX,用来选择进入 PGIA 的信号 IAINP/IAINN,一个PGIA模块用来进行信号放大,而后PGIA的输出经过简单的RC滤波后,可选择经过BUF1/2输入到SD ADC,根据设置的VREF电压进行AD转换,最后输出24位ADC_D[23:0]。

fbf37794-9b28-11ee-8b88-92fbcf53809c.png

图1.SD ADC功能框图

03

SD ADC配置

了解SD ADC框架后我们编写简单的测试程序,使用SD ADC模块进行信号的测量计算。

软件的配置如下图2:

fbfe4f52-9b28-11ee-8b88-92fbcf53809c.png

图2.SD ADC配置

(1)SD ADC初始化:

第一步先使能SD ADC时钟,然后调用库函数进行初始化配置,滤波器我们一般选择SINC3,采样频率250kHz,过采样率16384,基准电压选择AVDDR-VSS,使能BUF1/2(BUFFER频率默认fb=fs/8)。

(2)PGIA初始化:

内部和外部chopper选择分别为FS/128和FS/256,增益选择256倍,大电流模式,正负输入端分别选择A1和A0。

配置好之后,使能PGIA和SD ADC,等待SD ADC转换完成。

然后我们编写SD ADC测试程序,如下图3:

fc09edf8-9b28-11ee-8b88-92fbcf53809c.png

图3.SD ADC测试程序

由于在ADC转换完成之前读到的数据都是上一笔ADC数据,所以我们需等待SD ADC转换完成标志位置1,再将标志位清0,然后获取ADC转换结果并将ADC码值缓存,最后通过串口将数据以16进制发送出去,同时通过LCD驱动将ADC码值显示在液晶屏上。

在软件配置中,我们选择了A0-A1作为PGIA的输入通道,放大倍数为256倍,基准电压AVDDR=2.4V,现在我们利用AVDDR外接分压电阻为10k-10Ω-10k-GND,从10Ω两端得到一个共模电压约1.2V,差分电压约为1.2mV的信号,接入A0-A1,测试结果如下图 4。

fc32efaa-9b28-11ee-8b88-92fbcf53809c.jpg

图4.SD ADC测试结果

我们按照应用手册中的计算公式(如下)

fc494f3e-9b28-11ee-8b88-92fbcf53809c.png

计算Vin的电压结果为:

Vin=DEC*Vref/2^23/0.75/GAIN=791220*2.4/2^23/0.75/256=1.179mV

实际应用过程中并不需要计算此电压值,需要根据不同产品进行单独校准,保证测量结果的准确性。

04

开发问题简析

1、相关寄存器无法写入,要注意先打开SD ADC的时钟源,才能对寄存器进行操作。

2、SD ADC转换结果不正确,要检查外围电路、信号输入端口及确定信号的输入范围,是否有开启PGIA和BUFFER等限制输入范围的模块。

3、要及时清除ADC转换完成标志位。

05

总结

本章简单介绍了SD ADC模块功能的使用,应用上的拓展可以调整相应的ADC配置,搭配合适的算法,达到最理想的效果。







审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    142

    文章

    15196

    浏览量

    341506
  • adc
    adc
    +关注

    关注

    93

    文章

    5484

    浏览量

    537506
  • soc
    soc
    +关注

    关注

    37

    文章

    3557

    浏览量

    214702
  • 多路选择器
    +关注

    关注

    1

    文章

    22

    浏览量

    6364

原文标题:带32位MCU和高精度ADC的SoC产品 ----SD93F系列开发指南(八)

文章出处:【微信号:杭州晶华微,微信公众号:杭州晶华微】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    MCU开发指南

    锦锐MCU开发指南:CA51F3系列一、锦锐MCU简介二、CA51F3
    发表于 11-04 08:47

    HPM系列MCU 高精度ADC之误差分析和设计指南

    电子发烧友网站提供《HPM系列MCU 高精度ADC之误差分析和设计指南.pdf》资料免费下载
    发表于 09-19 15:45 0次下载
    HPM<b class='flag-5'>系列</b><b class='flag-5'>MCU</b> <b class='flag-5'>高精度</b><b class='flag-5'>ADC</b>之误差分析和设计<b class='flag-5'>指南</b>

    兆易创新AN057 GD32F3x0系列硬件开发指南

    兆易创新AN057GD32F3x0系列硬件开发指南AN057GD32F3x0系列硬件开发指南
    发表于 10-19 17:26 0次下载

    32微控制器HC32F460系列硬件开发指南

    电子发烧友网站提供《32微控制器HC32F460系列硬件开发指南.pdf》资料免费下载
    发表于 11-13 16:48 0次下载

    32MCU高精度ADCSoC产品----SD93F系列开发指南(一)

    示例程序是以SD93F115-JBS芯片编写,包含了按键中断、RTC中断、SD ADC、SAR ADC、RTC、DAC、低压检测、LCD显示、休眠测试等多个基础功能综合的一个程序,配合
    发表于 02-24 10:11 2240次阅读
    <b class='flag-5'>带</b>32<b class='flag-5'>位</b><b class='flag-5'>MCU</b>和<b class='flag-5'>高精度</b><b class='flag-5'>ADC</b>的<b class='flag-5'>SoC</b><b class='flag-5'>产品</b>----<b class='flag-5'>SD93F</b><b class='flag-5'>系列</b><b class='flag-5'>开发指南</b>(一)

    32MCU高精度ADCSoC产品----SD93F系列开发指南(三)

    的头像 发表于 05-27 10:28 4219次阅读
    <b class='flag-5'>带</b>32<b class='flag-5'>位</b><b class='flag-5'>MCU</b>和<b class='flag-5'>高精度</b><b class='flag-5'>ADC</b>的<b class='flag-5'>SoC</b><b class='flag-5'>产品</b>----<b class='flag-5'>SD93F</b><b class='flag-5'>系列</b><b class='flag-5'>开发指南</b>(三)

    32MCU高精度ADCSoC产品----SD93F系列开发指南(五)

    我们简单介绍了PWM功能的使用,本章我们再结合LCD显示功能介绍一下实时时钟RTC功能,参考应用手册第14章节。 RTC结构图     我们首先来看一下RTC的功能框图,如下图1: 图1. RTC结构图结构框图 从图中我们看到RTC模块整体分为RTC时钟源选择、时间初值设置、闹钟设置、中断控制和RTC使能控制构成,在时钟源、时间初值、闹钟和中断都配置完成后打开RTC使能,即可开始自动计时。
    发表于 09-05 13:59 421次阅读
    <b class='flag-5'>带</b>32<b class='flag-5'>位</b><b class='flag-5'>MCU</b>和<b class='flag-5'>高精度</b><b class='flag-5'>ADC</b>的<b class='flag-5'>SoC</b><b class='flag-5'>产品</b>----<b class='flag-5'>SD93F</b><b class='flag-5'>系列</b><b class='flag-5'>开发指南</b>(五)

    32MCU高精度ADCSoC产品(二)

    32MCU高精度ADCSoC产品----
    的头像 发表于 09-22 14:02 2374次阅读
    <b class='flag-5'>带</b>32<b class='flag-5'>位</b><b class='flag-5'>MCU</b>和<b class='flag-5'>高精度</b><b class='flag-5'>ADC</b>的<b class='flag-5'>SoC</b><b class='flag-5'>产品</b>(二)

    32MCU高精度ADCSoC产品(三)

    开发指南(二)中,我们简单介绍了按键中断的使用方法,由于示例程序的各个测试内容都有使用到LCD显示,所以本章先给大家讲解一下LCD显示的基本使用方法,参考应用手册第25章节。
    的头像 发表于 09-22 15:26 1150次阅读
    <b class='flag-5'>带</b>32<b class='flag-5'>位</b><b class='flag-5'>MCU</b>和<b class='flag-5'>高精度</b><b class='flag-5'>ADC</b>的<b class='flag-5'>SoC</b><b class='flag-5'>产品</b>(三)

    32MCU高精度ADCSoC产品(四)

    开发指南(三)中,我们简单介绍了LCD显示的基本用法,本章我们介绍一下PWM功能的相关内容,更多细节内容参考SD93F115应用手册第21章节。
    的头像 发表于 09-22 16:42 1552次阅读
    <b class='flag-5'>带</b>32<b class='flag-5'>位</b><b class='flag-5'>MCU</b>和<b class='flag-5'>高精度</b><b class='flag-5'>ADC</b>的<b class='flag-5'>SoC</b><b class='flag-5'>产品</b>(四)

    32MCU高精度ADCSoC产品(五)

    开发指南(四)中,我们简单介绍了PWM功能的使用,本章我们再结合LCD显示功能介绍一下实时时钟RTC功能,参考应用手册第14章节。
    发表于 09-22 16:58 641次阅读
    <b class='flag-5'>带</b>32<b class='flag-5'>位</b><b class='flag-5'>MCU</b>和<b class='flag-5'>高精度</b><b class='flag-5'>ADC</b>的<b class='flag-5'>SoC</b><b class='flag-5'>产品</b>(五)

    32MCU高精度ADCSoC产品 ----SD93F系列开发指南(六)

    开发指南(五)中,我们简单介绍了RTC实时时钟功能的使用,本章我们结合LBT模块和内部OPA、OPB两路运放介绍一下DAC的相关功能,详细寄存器资料参考应用手册第11章节和第26章节。
    发表于 11-30 16:40 326次阅读

    基于DT5M4765系列MCU24高精度ADC+LCD驱动)开发的便携式血氧仪

    基于DT5M4765系列MCU24高精度ADC+LCD驱动)
    发表于 01-31 09:33 763次阅读
    基于DT5M4765<b class='flag-5'>系列</b>(<b class='flag-5'>MCU</b><b class='flag-5'>带</b>24<b class='flag-5'>位</b><b class='flag-5'>高精度</b><b class='flag-5'>ADC</b>+LCD驱动)<b class='flag-5'>开发</b>的便携式血氧仪