杰理AC632蓝牙芯片ADC

蓝牙芯片有2种ADC,一种是普通多通道10bit ADC,一种是音频mic单通道16bit LADC。

普通ADC => 无DMA,单次采样单通道,带校准带参考电压,ADC采样值可以换算成绝对电压值。

音频LADC => 支持DMA连续采样,无参考电压,一般用作交流变化量的采样使用。

普通ADC外设说明:

量程电压 => 强VDDIO的电压值,满值ADC值:0x3FFL对应芯片的VDDIO电压值。 强VDDIO设置为VDDIOM_VOL_32V,即3.2V,那能测量的范围就是0V-3.2V。 强VDDIO设置为VDDIOM_VOL_30V,即3.0V,那能测量的范围就是0V-3.0V。
参考电压 => LDOREF电压,芯片内部的固定幅值参考电压。(生产会存在一定的离散)
校准值 => 芯片出产校准值,get_vbg_trim(),校准芯片LDOREF电压的偏差值。

ADC通道说明:

芯片内部通道 => 芯片内部某些外设或结构电路,会预留有ADC通道,连接到ADC外设,用于芯片内部模块的自校准。
外部通道GPIO引脚 => 引脚是否具有ADC功能,是固定的,软件无法映射的。设计板子注意引脚功能。

SDK有专门的接口文件 adc_api.c 和adc_api.h。
adc的使用方式,SDK预留了2种方式:

注册定时采样 => u32 adc_add_sample_ch(u32 ch); 在定时器中断函数里,定时轮询所有的注册通道。注册的通道越多,轮询的时间越长。 usr_timer_add(NULL, adc_scan, 10, 0); 此语句即每10ms切换下一个通道采样。
独占式立即采样 => adc_enter_occupy_mode(); adc_occupy_run(); adc_exit_occupy_mode(); 立即采样需要打断定时轮询的操作。立即采样当前设置的通道。 一般用于采样频率高,电压变化快,采样时刻短的场景。
1. 注册定时采样
//以下初始化代码添加到void adc_init()里
u32 gpio = IO_PORTA_01;//指定IO,要和ADC通道对应上
gpio_set_pull_down(gpio, 0);//看需求是否需要开内部下拉,会有20%的误差,不同芯片理论电阻值不一样,看规格书说明
gpio_set_pull_up(gpio, 0);//看需求是否需要开内部上拉,会有20%的误差,不同芯片理论电阻值不一样,看规格书说明
gpio_set_die(gpio, 0);//模拟态
gpio_set_dieh(port, 0);//模拟态
gpio_set_direction(gpio, 1);//输入态
u32 ch = AD_CH_PA1; ///指定ADC通道,要和GPIO对应上
adc_add_sample_ch(ch);//添加检测通道
#define CH_SAMPLE_FREQ    1000 //ms
adc_set_sample_freq(ch, CH_SAMPLE_FREQ);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ydgd118

您的鼓励是我最大的动力!谢赏!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值