AC75N系列问题及处理方法汇总
📎 原始文档:https://www.kdocs.cn/l/chR0Wfy1Hjj4 AC75N系列问题及处理方法汇总
运放默认态导致I/O耦合问题
问题原因:
内部运放结构图
运放两种工作模式
运放默认处于NFA模式,此时OP0、OP1、OP2 的P端通过片内电阻连接到VREF0节点,即PA0、PA7、PA10三个I/O之间通过片内电阻(输入电阻+反馈电阻≈15kΩ)连接在一起,I/O上电状态存在相互影响的情况。
解决方案:
芯片跑起来后会立即把运放设置为OPA模式,断开三个I/O之间的耦合路径。具体代码如下图:
不可避免的从芯片上电到设置为OPA模式这小段时间(大约30ms),还是存在三个I/O相互耦合的状态,硬件设计时需注意该因素。
(芯片处于pdown,poff,softoff 三种低功耗模式下,会保持住运放状态)
受影响版本:
V1.0.0 patch03(包含)及之前版本。
使用高压IO进行ADC采集原理解释
AC75N的高压IO口(PC4、PC5、PC6)可采集1/2输入的电压,需要开启内部200K下拉电阻,才能正确采集到1/2分压。内部采样点如下图所示:
注意点:
1. 信号源内阻应远小于200K,减少分压效应 2. 高压IO输入电压不大于5.5V 
//开启IO200K下拉,并设置为ADC模式
gpio_set_mode(IO_PORT_SPILT(IO_PORTC_06), PORT_INPUT_PULLDOWN_100K);
gpio_set_function(IO_PORT_SPILT(IO_PORTC_06), PORT_FUNC_GPADC);
//使用block采集电压,取8次均值
unsigned short pc6_voltage = adc_get_voltage_by_blocking(adc_io2ch(IO_PORTC_06), 8);
printf("pc6_voltage = %d mV\n", pc6_voltage * 2);