aic23b电压问题
你好,aic23b的AD和DA输入输出数据总在64000左右,AD设置的是16位,为什么才进来的数都这么大,是不是配置不对?
还有就是,输入电压和采样值之间的对应关系是什么?
你好,
ADC会以AVDD/2为参考,也就是1.5V,16位读取到54000, 理论计算上是1.46V,
请检查输入的电压是多大,以及输入ADC的路径配置
你好,我不给输入信号,为什么读进来的数也在64000左右,是配置不对吗?
你好:
配置不对也不会这样,应该是你MCU方面的操作出现的问题。
设置16bit,I2S数据的范围应该是8000-0000,0000-7FFF,注意是补码。最大也到不了十进制的64000。
I2S数据和电压的关系如下:
见下贴:
http://www.deyisupport.com/question_answer/analog/audio/f/42/p/60506/133793.aspx#133793
请分析你的MCU操作,是否会是这个方面出现问题。
你好,
芯片在mute或者stanby 模式下会将line in自动偏置到VMID电压。
请上传,检查配置路径和芯片工作模式的设置。同时也检查MCU读取是否有误。
这个结果明显是MCU方面的操作出现的问题。楼主根据datasheet可以看到这个是设置16bit,I2S数据的范围应该是8000-0000,0000-7FFF,最大也到不了十进制的64000。。。楼主可以检查下哦
16位的ADC,最大值应该是2的16次方=65536。你现在才64000<65536,所以数值在变准范围之内。
至于你说没有输入也是这么大,那就不正常了。建议你把输出的通道接地,不要悬空,再读取数据,看看读出来的是多少。
悬空可能会对ADC的输入信号造成影响。
你好,Jiachuang,
谢谢您的热心解答。
I2S的数据是补码,第一位是符号位,所以16bit最大只能表示到7F FF=32767,64000肯定是超过了。
应该是读数的问题。
你好,我编码器设置的是DSP模式,也是以补码传输吗?另外,虽然我测得的数据一直在64000左右,可是输出以后
却能听到声音,而且就是输入的那个声音。
你好,我检查过,没有设置成mute或者stanby模式,寄存器的配置已上传。
你好,我按照你的建议,把输入接地了,读出来的数大概是16000左右。
你好:
还是补码,如果不是补码,如何表示负电压?
我觉得还是读书有错误,输入接地了,你能听见声音吗?可以用示波器观看I2S输出,Data引脚应该是末尾的几位有些跳动,其他的都不会变,这样可以比对你读出来的16000.