我在调试AD7195时使用了官方例程ad7190_rl78g13.zip,使用NXP LPC800做为控制器,现在程序读取器件ID和温湿度都正常,但是在读取其它通道数据始终是显示0x00ffffff,我使用的是外部2.5v参考电压,电路参考数据手册上的电路图。 查找相关问题时有人提到需要在RDY变低时读取,我使用示波器测量了波形没有发现这方面的问题,下面是我采集到的波型 TEK00000.PNG是RDY变低后读取温度数据的波形
TEK00001.PNG是RDY变低后读取其它通道的数据
TEK00005.PNG是发送转换命令到RDY变低的间隔
有一个比较明显的问题是DOUT/DRY输出引脚的电平有时达不到3.3V,但不知道这个是不是导致温度正常其它通道数据不正常的直接原因。
这个我的原理图
pjt.analog.pcb @模拟信号分析 AD7195.pdf
(294.76 KB, 下载次数: 75)
这是我的测试代码 - ret = AD7190_Init();
- /* Calibrates channel./ AIN3(+) - AIN4(-). */
- AD7190_Calibrate(AD7190_MODE_CAL_INT_ZERO, AD7190_CH_AIN1P_AIN2M);
- /* Selects unipolar operation and ADC's input range to +-Vref/1. */
- AD7190_RangeSetup(0, AD7190_CONF_GAIN_1);
- /* Performs a single conversion. */
- AD7190_ChannelSelect(AD7190_CH_AIN1P_AIN2M);
- while(1)
- {
- AD7190_ChannelSelect(AD7190_CH_AIN1P_AIN2M);
- //result = AD7190_ContinuousReadAvg(10);
- result = AD7190_SingleConversion();
- //temp = AD7190_TemperatureRead();
- DELAY_MS(150);
- }
复制代码 参照的官方程序
ad7190_rl78g13.zip
(26.74 KB, 下载次数: 87)
|