本帖最后由 linxi6414 于 2024-4-13 21:44 编辑
需要采样一个霍尔电流传感器过来的电压信号,该信号传感器在零电流时输出的电压为二分之一VCC,正电流时输出电压上升,负电流时输出电压下降,现在想用TM7705进行信号采集,电路如下,发现配置好程序后,采集到的数据,快达到最大值了,实际的输入电压误差并不大,AIN-:1.240V AIN+:1.201V,采集到的数据转换为10进制后为59755(只取24位中的8-23位,0-7位舍弃),如果设置为单端模式时,是正常的,设置为差分模式时数据明显不对。
初始化程序如下:
TM7707_WriteByte1(0x10);//向通信寄存器写数据,选择通道 1 作为有效通道,将下一个操作设为对设置寄存器进行写操作。
TM7707_WriteByte1(0x42);// 0100 0010 对设置寄存器写操作,自校准模式,选择1倍增益,双极性 缓冲器。
TM7707_WriteByte1(0x50);//向通信寄存器写数据,选择通道 1 作为有效通道,将下一个操作设为对滤波低寄存器进行写操作。
TM7707_WriteByte1(0x00);//向滤波低寄存器写入 0x00.
TM7707_WriteByte1(0x20);//向通信寄存器写数据,选择通道 1 作为有效通道,将下一个操作设为对滤波高寄存器进行写操作。
TM7707_WriteByte1(0x1f);//向滤波高寄存器写入 0x1f,主时钟禁止。
TM7707_WriteByte1(0x40);//向测试寄存器写数据,
TM7707_WriteByte1(0x01);//写入01,启动内部基准
while(TM7707_DRY);
TM7707_Read();
TM7707_WriteByte1(0x10);//向通信寄存器写数据,选择通道 1 作为有效通道,将下一个操作设为对设置寄存器进行写操作。
TM7707_WriteByte1(0x02);// 0000 0010 对设置寄存器写操作,普通模式,选择 1 倍增益,双极性 缓冲器。
|