用stm32和ad7193通讯,电路参考CN0287.
读取四路Pt100对应的电阻值。四路之间是轮流切换。
原来用IO口模拟SPI和ad7193通讯。
现在改为stm32的硬件SPI,结果读取第一路电阻值时,偶尔出现阻值被放大一倍的情况,其他三路则正常。
程序流程基本是这样的:
1通过SPI发送数据,控制ADG738的第一路导通;
2通过SPI读取AD7193配置寄存器数据,
清掉通道选择对应位的数据,
然后将对应位写入相应通道号,
通过SPI写入AD7193配置寄存器,
通过SPI写入AD7139模式寄存器,设置单次转换;
3等待MISO电平被拉低,然后通过SPI读取AD7193数据寄存器值;
开始下一个通道...
用示波器测量了SCLK和MOSI波形,对应的部分数据位:
010000000
01011000 读数据寄存器