【经验】解析CW32系列模数转换器CW32L083的特点和功能以及演示实例

2023-07-20 武汉芯源半导体公众号
ADC,模数转换器,CW32,CW32L083 ADC,模数转换器,CW32,CW32L083 ADC,模数转换器,CW32,CW32L083 ADC,模数转换器,CW32,CW32L083

模数转换器ADC)的主要功能是将模拟量转换为数字量,方便MCU进行处理。下面以CW32L083为例介绍CW系列的模数转换器的特点和功能,并提供演示实例。


概述

CW32L083内部集成一个12位精度、最高1M SPS转换速度的逐次逼近型模数转换器(SAR ADC),最多可将16路模拟信号转换为数字信号。现实世界中的绝大多数信号都是模拟量,如光、电、声、图像信号等,都要由ADC转换成数字信号,才能由MCU进行数字化处理。


主要特性

•12位精度 

•可编程转换速度,最高达1M SPS 

•16路输入转换通道:13路外部引脚输入-内置温度传感器-内置BGR 1.2V基准-1/3 VDDA电源电压 

•4路参考电压源(Vref):-VDDA电源电压-ExRef(PB00)引脚电压-内置1.5V参考电压-内置2.5V参考电压 

•采样电压输入范围:0~Vref

多种转换模式,全部支持转换累加功能-单次转换-多次转换-连续转换-序列扫描转换-序列断续转换 

•支持单通道、序列通道两种通道选择,最大同时支持8个序列 

•支持输入通道电压阈值监测

•内置信号跟随器,可转换高阻抗输入信号 

•支持片内外设自动触发ADC转换 

•支持ADC转换完成触发DMA


转换时序

ADC的转换时序如下图所示:

图 1

向ADC控制寄存器ADC_CR0的EN位域写入1,使能ADC模块。 

ADC_CR0.EN由0变为1约40μs后ADC_ISR.READY标志位置1,表示模拟电路初始化完成,可以开始进行ADC转换。 

向ADC启动寄存器ADC_START的START位域写入1,启动ADC转换,转换完成后硬件自动清零。 

ADC工作时钟ADCCLK,由系统时钟PCLK经预分频器分频得到,通过控制寄存器ADC_CR0的CLK位域可选择1~128分频



工作模式

ADC控制寄存器ADC_CR0的MODE位域配置ADC工作模式

表 1

启动ADC转换,可通过向ADC启动寄存器ADC_START的START位域写1;也可通过其他外设来触发。


实际案例

GTIM1定时器定时1S,定时器1S中断触发启动ADC转换,采样AIN1,并通过GTIM2以PWM方波输出ADC采样值:PWM占空比50%,周期为1Hz-5000Hz,对应ADC的0-4095采样值。

1.配置ADC测试IO口voidADC_PortInit(void)

{

    REGBITS_SET(CW_SYSCTRL->AHBEN, SYSCTRL_AHBEN_GPIOA_Msk); //打开GPIO时钟

    REGBITS_SET(CW_SYSCTRL->APBEN2, SYSCTRL_APBEN2_ADC_Msk); //打开ADC时钟

    PA01_ANALOG_ENABLE();//set PA01 as AIN1 INPUT

}



2.LED初始化

void LED_Init(void)

{

    GPIO_InitTypeDef GPIO_InitStructure = {0};

    REGBITS_SET(CW_SYSCTRL->AHBEN, SYSCTRL_AHBEN_GPIOC_Msk); //打开GPIO时钟

    /* Configure the GPIO_LED pin */

    GPIO_InitStructure.Pins = GPIO_PIN_2 | GPIO_PIN_3;

    GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP;

    GPIO_Init(CW_GPIOC, &GPIO_InitStructure);

    PC02_SETLOW();//LEDs are off.

    PC03_SETLOW();

}


3.PWM IO初始化

void PWM_PortInit(void)

{

    GPIO_InitTypeDef GPIO_InitStructure = {0};

    /* PA5 PWM 输出 */

    __RCC_GPIOA_CLK_ENABLE();

    /* Configure the PWM output pin */

    GPIO_InitStructure.Pins = GPIO_PIN_5;

    GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP;

    GPIO_Init(CW_GPIOA, &GPIO_InitStructure);

    PA05_AFx_GTIM2CH1();

}


4.GTIM初始化

void GTIM_Init(void)

{

GTIM_InitTypeDef GTIM_InitStruct = {0};


//REGBITS_SET(CW_SYSCTRL->APBEN1, SYSCTRL_APBEN1_GTIM1_Msk); //打开GTIM1 

__RCC_GTIM1_CLK_ENABLE(); //打开GTIM1时钟

    GTIM_InitStruct.Mode = GTIM_MODE_TIME;

    GTIM_InitStruct.OneShotMode = GTIM_COUNT_CONTINUE;

    GTIM_InitStruct.Prescaler = GTIM_PRESCALER_DIV1024;

    GTIM_InitStruct.ReloadValue = 62499ul; //T=1s.

    GTIM_InitStruct.ToggleOutState = DISABLE;

    GTIM_TimeBaseInit(CW_GTIM1, &GTIM_InitStruct);

    GTIM_ITConfig(CW_GTIM1, GTIM_IT_OV, ENABLE);

    NVIC_ClearPendingIRQ(GTIM1_IRQn);

    NVIC_EnableIRQ(GTIM1_IRQn);

    NVIC_SetPriority(GTIM1_IRQn, 0x03);


    __RCC_GTIM2_CLK_ENABLE();//打开GTIM2时钟

    GTIM_InitStruct.ReloadValue = 0xFFFFu;

    GTIM_InitStruct.ToggleOutState = ENABLE;

    GTIM_TimeBaseInit(CW_GTIM2, &GTIM_InitStruct);

    valuePeriod = GTIM_InitStruct.ReloadValue;

    valuePosWidth = valuePeriod >> 1u;

    GTIM_OCInit(CW_GTIM2, GTIM_CHANNEL1, GTIM_OC_OUTPUT_PWM_HIGH);

    GTIM_SetCompare1(CW_GTIM2, valuePosWidth);

    GTIM_Cmd(CW_GTIM2, ENABLE);

}


5.主程序main

uint16_t valueAdc;

uint32_t valueAdcAcc;

volatile uint8_t gFlagIrq;

uint16_t gCntEoc = 0;

uint8_t cntSample;

float fTsDegree;

uint32_t valuePeriod;

uint32_t valuePosWidth;

uint32_t valueReload = 0xFFFFu;

int main(void)

{   uint8_t res;

    ADC_InitTypeDef ADC_InitStructure = {0};

    ADC_WdtTypeDef ADC_WdtStructure = {0};

    ADC_SingleChTypeDef ADC_SingleChStructure = {0};

    RCC_HSI_Enable(RCC_HSIOSC_DIV6); //以下从HSI切换到PLL

RCC_PLL_Enable(RCC_PLLSOURCE_HSI, 8000000UL, RCC_PLL_MUL_8); 

//开启PLL,PLL源为HSI

__RCC_FLASH_CLK_ENABLE();//打开FLASH时钟

    FLASH_SetLatency(FLASH_Latency_3);

    res = RCC_SysClk_Switch(RCC_SYSCLKSRC_PLL); //切换系统时钟到PLL:64MHz。

    ADC_PortInit();//配置ADC测试IO口

    LED_Init();//LED初始化

    PWM_PortInit();

    GTIM_Init();

    ADC_StructInit(&ADC_InitStructure); //ADC默认值初始化

    ADC_WdtInit(&ADC_WdtStructure); //ADC模拟看门狗通道初始化

    ADC_InitStructure.ADC_ClkDiv = ADC_Clk_Div128;    //ADCCLK:500KHz.

    ADC_InitStructure.ADC_InBufEn = ADC_BufEnable;

    ADC_InitStructure.ADC_SampleTime = ADC_SampTime10Clk;

    ADC_SingleChStructure.ADC_DiscardEn = ADC_DiscardNull; //配置单通道转换模式

    ADC_SingleChStructure.ADC_Chmux = ADC_ExInputCH1; //选择ADC转换通道

    ADC_SingleChStructure.ADC_InitStruct = ADC_InitStructure;

    ADC_SingleChStructure.ADC_WdtStruct = ADC_WdtStructure;

    ADC_SingleChOneModeCfg(&ADC_SingleChStructure);

    ADC_ITConfig(ADC_IT_EOC, ENABLE);

    ADC_EnableIrq(ADC_INT_PRIORITY);

    ADC_ClearITPendingAll();

    ADC_Enable();//ADC使能

    ADC_ExtTrigCfg(ADC_TRIG_GTIM1, ENABLE); //ADC外部中断触发源配置

    GTIM_Cmd(CW_GTIM1, ENABLE);

    while (1)

    {

        while (!(gFlagIrq & ADC_ISR_EOC_Msk));

        gFlagIrq = 0u;

        PC03_TOG();

        valueAdc = ADC_GetConversionValue();

        valueReload = ((4095u * 125000ul) / (4999u * valueAdc + 4095u) + 1) >> 1;

        GTIM_SetCounterValue(CW_GTIM2, 0u);     //reset.

        GTIM_SetReloadValue(CW_GTIM2, valueReload);

        GTIM_SetCompare1(CW_GTIM2, valuePosWidth);

        //等待ADC外部中断触发源启动下一次ADC转换

    }

}


6.实验展示

通用定时器GTIM1定时1s自动触发ADC模块进行转换,ADC通道为AIN1:PA01。

通用定时器GTIM2将AIN1的ADC采样值转换成频率可变的PWM方波,占空比50%,使用PA05作为PWM输出。ADC采样值为0时,PWM方波频率为1Hz;ADC采样值为4095时,PWM方波频率为5KHz。

图 2

授权代理商:世强先进(深圳)科技股份有限公司
技术资料,数据手册,3D模型库,原理图,PCB封装文件,选型指南来源平台:世强硬创平台www.sekorm.com
现货商城,价格查询,交期查询,订货,现货采购,在线购买,样品申请渠道:世强硬创平台电子商城www.sekorm.com/supply/
概念,方案,设计,选型,BOM优化,FAE技术支持,样品,加工定制,测试,量产供应服务提供:世强硬创平台www.sekorm.com
集成电路,电子元件,电子材料,电气自动化,电机,仪器全品类供应:世强硬创平台www.sekorm.com
  • +1 赞 0
  • 收藏
  • 评论 0

本文由三年不鸣转载自武汉芯源半导体公众号,原文标题为:CW32系列模数转换器(ADC),本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关研发服务和供应服务

评论

   |   

提交评论

全部评论(0

暂无评论

相关推荐

基于CW32的MPU6050姿态传感器的应用开发配置教程

MPU6050是一种常用的六轴姿态传感器模块,结合了三轴陀螺仪和三轴加速度计,以及一个可扩展的数字运动处理器DMP(Digital Motion Processor),可用I2C接口连接一个第三方的数字传感器,比如磁力计。MPU6050 对陀螺仪和加速度计分别用了三个16 位的ADC(0~65535),将其测量的模拟量转化为可输出的数字量。

2023-11-01 -  设计经验 代理服务 技术支持 现货查询 批量订货

CW32数字电压电流表软件教程之ADC采样及显示

本文介绍了ADC基础知识。ADC(模拟数字转换器)是一种将模拟信号转换为数字信号的电子元件。常见的模数转换器是将一个输入电压信号转换为一个输出的数字信号。CW32F003万用表内部集成了一个 12 位精度、最高 1M SPS 的逐次逼近型模数转换器 (SAR ADC),最多可将 16 路模拟信号转换为数字信号。

2024-07-11 -  设计经验 代理服务 技术支持 现货查询 批量订货

基于CW32L010的低成本工业仪表应用

CW32L010集成了主频高达48MHz的 ARM® Cortex®-M0+内核,64K超大Flash存储容量,极限超低功耗0.3μA,85℃高温漏电仅1.2μA,全面升级的低功耗串口,支持LIN、RS485硬件使能,16路ADC输入2M采样率,采样保持时间可独立配置。在工业仪表上应用更有优势。

2024-11-25 -  应用方案 代理服务 技术支持 现货查询 批量订货

使用JLink烧录CW32程序

本篇主要介绍使用JLink烧录CW32程序。

2024-03-15 -  设计经验 代理服务 技术支持 现货查询 批量订货

CW32 is a Low-power 32-bit Microcontroller, Using Arm Cortex-m0+core, Very Suitable for Intelligent Temperature Controllers with Low Power Consumption Requirements

The CW32 designed by Wuhan Xinyuan Semiconductor Co., Ltd. using ARM Cortex-M0+core is a low-power 32-bit microcontroller, currently used in temperature controllers such as air conditioning, floor heating, water heating, and electric heating.

2024-11-08 -  应用方案 代理服务 技术支持 现货查询 批量订货

武汉芯源半导体邀您相约CITE2024中国电子信息博览会

CITE2024第十二届中国电子信息博览会将于2024年4月9-11日在深圳福田会展中心隆重开展,武汉芯源半导体将为电子行业参观者展示智能指纹锁、麦克风、燃气表、LED调光板、可燃气体报警器、筋膜枪、角磨机、血氧仪、温控器、BLDC无刷电机、永磁同步电机无感FOC控制方案等多款CW32单片机典型应用方案,诚邀您莅临9B122武汉芯源半导体展位参观交流!

2024-04-05 -  原厂动态 代理服务 技术支持 现货查询 批量订货

【应用】基于CW32的无刷水泵控制系统,使水泵更加节能、高效

本课题研究的目的是设计一套基于CW32的无位置传感器无刷直流电机控制系统,既可以改进水泵的工作模式,使水泵工作点最优;又可以使水泵电机结构简单,控制方式更为灵活。以此将整个系统加入各个不同场景中,让CW32低功耗优点,能让水泵共更加节能,高效。

2023-09-15 -  应用方案 代理服务 技术支持 现货查询 批量订货

The Application Solution of Wuhan Core Source Semiconductor CW32L083 in Intelligent Gas Meters

The Wuhan Core Source Semiconductor low-power MCU chip CW32L083 series has the characteristics of ultra-low power consumption, high reliability, and abundant resources. In the application of intelligent gas meters, it can more efficiently perform a series of functions such as data collection, display, storage, and transmission.

2024-11-08 -  应用方案 代理服务 技术支持 现货查询 批量订货

【技术】武汉芯源CW32单片机UART基本数据收发功能介绍

通用异步收发器是一种通用串行数据总线,常用于系统内各子模块间的数据交换。本文将以武汉芯源推出的CW32系列单片机的CW32L083为例,介绍UART基本数据收发功能。

2023-04-25 -  技术探讨 代理服务 技术支持 现货查询 批量订货

【经验】芯源CW32系列MCU电容式触摸按键设计指南

芯源半导体的CW32系列MCU电容式触摸按键设计指南向客户提供利用CW32内部资源结合软件编程实现电容式触摸按键有效触摸检测的方法。本指南内容重点在于工作原理、软件检测过程以及调试指引。通过本文可了解到如何利用内置电压比较器和内置定时器及软件配合,实现灵活方便的按键检测。在介绍标准演示板和演示软件的性能参数同时,还会给出详细的调试建议以及设计参数选择倾向分析,帮助客户快速自信地完成设计并实施调试。

2023-07-27 -  设计经验 代理服务 技术支持 现货查询 批量订货

Application of CW32L083 Series MCU in Air Purifiers, Supported by Built in Independent Calibration RTC

The air purifier introduced in this article adopts the CW32L083 series microcontroller as the control core of the air purifier, and combines important components such as sensors, displays, drivers, and wireless transceivers to complete the required functions of the controller system.

2024-11-05 -  应用方案 代理服务 技术支持 现货查询 批量订货

【经验】武汉芯源半导体CW32系列微控制器如何进入ISP模式以及ISP协议详解

武汉芯源半导体CW32系列微控制器片上FLASH存储器有一部分区域用于存储BootLoader启动程序,用户可利用BootLoader启动程序提供的ISP模式,通过UART串口方便地实现对CW32微控制器片上FLASH主存储器的擦除和烧写。

2022-08-15 -  设计经验 代理服务 技术支持 现货查询 批量订货

【技术】武汉芯源CW32定时器输入捕获的操作讲解

CW32系列MCU的GTIM、ATIM的每个定时器都带有至少4路独立的捕获/比较通道,输入捕获功能可以测量输入信号的脉冲宽度或者频率。本文进行武汉芯源CW32定时器输入捕获的操作讲解。

2023-02-16 -  技术探讨 代理服务 技术支持 现货查询 批量订货

【CW32模块使用】ADS1115多路模数转换器

ADS1115是16位ADC,支持IIC通信,适用于传感器测量。它提供高数据速率和可编程增益放大器,可在连续或单次转换模式下工作。通过在CW32F030C8T6开发板上的移植,实现了4路ADC电压采集。移植包括配置IIC通信和寄存器设置,以及编写相应的初始化和数据读写函数。实际测试验证了其性能。

2024-11-01 -  设计经验 代理服务 技术支持 现货查询 批量订货
展开更多

电子商城

查看更多

品牌:武汉芯源

品类:通用MCU

价格:¥8.4750

现货: 300,010

品牌:武汉芯源

品类:MCU

价格:

现货: 200,000

品牌:中科芯

品类:32位微控制器

价格:¥13.0000

现货: 103,183

品牌:中科芯

品类:32位微控制器

价格:¥6.0000

现货: 102,000

品牌:中科芯

品类:32位微控制器

价格:¥11.0000

现货: 101,523

品牌:中科芯

品类:32位微控制器

价格:¥11.3000

现货: 100,239

品牌:广芯微电子

品类:32位MCU系列芯片

价格:

现货: 100,000

品牌:广芯微电子

品类:32位MCU系列芯片

价格:

现货: 100,000

品牌:广芯微电子

品类:32位MCU系列芯片

价格:

现货: 100,000

品牌:广芯微电子

品类:32位MCU系列芯片

价格:

现货: 100,000

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

现货市场

查看更多

品牌:国民技术

品类:微控制器

价格:¥18.7261

现货:25,138

品牌:TI

品类:模数转换芯片ADC

价格:¥3.8700

现货:13,251

品牌:中科芯

品类:32位微控制器

价格:¥8.5000

现货:10,000

品牌:华科鸿溟

品类:I²C接口数字温度传感器

价格:¥1.2250

现货:10,000

品牌:上海贝岭

品类:免校准计量芯片

价格:¥2.5000

现货:10,000

品牌:Maxim

品类:ADC/DAC

价格:¥11.0000

现货:10,000

品牌:中科芯

品类:32位微控制器

价格:¥5.0000

现货:10,000

品牌:中微半导体

品类:MCU

价格:¥2.5200

现货:4,378

品牌:汇顶科技

品类:高精度多功能交互传感器

价格:¥2.3556

现货:2,987

品牌:TI

品类:MCU

价格:¥124.3000

现货:2,872

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

服务

查看更多

力矩电机定制

可定制电机的连续转矩范围1Nm至2000Nm,峰值转矩3Nm至5500Nm,电机延长线长度、变换编码器类型。

最小起订量: 1 提交需求>

VC均温板散热器定制

可来图定制均温板VC尺寸50*50mm~600*600 mm,厚度1mm~10mm,最薄0.3mm。当量导热系数可达10000W/M·K,散热量可达10KW, 功率密度可达50W/cm²。项目单次采购额需满足1万元以上,或年需求5万元以上。

提交需求>

查看更多

授权代理品牌:接插件及结构件

查看更多

授权代理品牌:部件、组件及配件

查看更多

授权代理品牌:电源及模块

查看更多

授权代理品牌:电子材料

查看更多

授权代理品牌:仪器仪表及测试配组件

查看更多

授权代理品牌:电工工具及材料

查看更多

授权代理品牌:机械电子元件

查看更多

授权代理品牌:加工与定制

世强和原厂的技术专家将在一个工作日内解答,帮助您快速完成研发及采购。
我要提问

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

研发客服
商务客服
服务热线

联系我们

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

投诉与建议

E-mail:claim@sekorm.com

商务合作

E-mail:contact@sekorm.com

收藏
收藏当前页面