杰理AC1082/1074/1090---LDOIN电压采集

Author : Jim

AC109N系列的芯片带有内部LDOIN ADC采集,所以我们在采集电池电量时并不需要单独用另一路ADC来采集。

只需要用内部的LDOIN采集就可以了。以下为ADC应用的寄存器说明:

/*! \page5 ADC 编程指南
 *
 * \section adc ADC 介绍
 * - CD002 支持16 个ADC入口\n
 * \section adc1 ADC 寄存器
 * - ADC_CON0(可读写)\n
 *   Bit2~0,波特率选择,初始值为0\n
 *   000:系统时钟除6\n
 *   001:系统时钟除12\n
 *   010:系统时钟除24\n
 *   011:系统时钟除48\n
 *   1xx:系统时钟除1\n 
 *   Bit3,ADC 模拟模块Enable,初始值为0\n
 *   Bit4,ADC控制器Enable(数字电路部分),初始值为0\n
 *   Bit5,ADC中断允许,高有效,初始值为0\n
 *   Bit6,ADC Pending,初始值为1\n
 *   Bit7,ADC启动位,写1会启动ADC转换,并且对ADC Pending清0。读永远是0

 * - ADC_CON1(可读写)初始值为xx\n
 *   Bit3~0,通道选择\n
 *   0000~0111:选择P00~P07\n
 *   1000:		选择P20\n
 *   1001:		选择P21\n
 *   1010:		选择P22\n
 *   1011:		选择P35\n
 *   1100:		选择AMUX左声道\n
 *   1101:		选择AMUX右声道\n
 *   1110:		选择LDOIN的1/2\n
 *   1111:		选择LDO电压源(1.2V)\n
 *   Bit7~4,	启动延时控制,\n
 *   实际启动延时为这4Bit乘8个ADC时钟\n
 *   
 *
 * - ADC_DATH\n
 *   bit7~0 : 存放ADC采样结果的高 8 bit
 * - ADC_DATL\n
 *   bit7~6 : 存放ADC采样结果的低 2 bit
 */

可以看到当ADC_CON1寄存器配置为0XFE时,就可以打开LDOIN采集通道了,采集到的电压是1/2 Vbat.

参考代码如下:

void AD_init(void) AT(CSTART)
{
    ADC_CON0 = BIT(4) | BIT(3) ;
    LDO_CON |= BIT(1);
    ADC_CON1 = 0xfe;
    ADC_CON0 |= BIT(7);
}
_near_func __root u8 ldoin_voltage(void) AT(COMMON_CODE)
{
   u8  adc_h,adc_l;

    adc_h= (AD_var.wADValue[AD_CH_LDO])>>8;
    adc_l= (AD_var.wADValue[AD_CH_VBG])>>8;
    return  ((((u16)adc_h*248+5)/10)/adc_l);
}

调用 ldoin_voltage ,返回值就是LDOIN的输入电压了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

JaLLs

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值