ADI 技术
直播中

张楠

7年用户 135经验值
私信 关注
[问答]

请问N0287原理图中怎么通过AD7193控制AD5201的?

CN0287的参考电路里,AD7193和AD5201都是通过一个SPI总线连接的,AD7193有单独控制的CS引脚,AD5201的CS是由AD7193的GPIO控制的。

这里就有个疑问,先选通AD7193,通过SPI发送命令,控制AD7193的P3口,拉低P3,这样AD5201就被选通了,可以发送SPI命令,控制其输出电阻。
那么,如何将P3口拉高呢?如果还是通过AD7193发送SPI命令,这时,AD5201的片选其实仍处于有效状态,会将此时的SPI指令处理掉,这样AD5201就无法得到需要的电阻值了。

回帖(6)

张楠

2019-2-22 10:17:10
引用: 60user105 发表于 2019-2-22 10:03
下面的网页有CN0287的代码,应该可以参考一下
http://www.analog.com/cn/design-center/reference-designs/hardware-reference-design/circuits-from-the-lab/CN0287.html#rd-…

程序是按参考驱动函数写的,不过我用的是stm32。
 
以下是函数列表,没有直接控制ad5201的函数。
如果控制完ad5201,再拉高ad7193的p3口,这个过程中,ad5201会错误接收的。
char AD7193_Init(void) Checks if the AD7139 part is present.
void AD7193_SetRegisterValue(unsigned char registerAddress, unsigned long registerValue, unsigned char bytesNumber, unsigned char modifyCS) Writes data into a register.
unsigned long AD7193_GetRegisterValue(unsigned char registerAddress, unsigned char bytesNumber, unsigned char modifyCS) Reads the value of a register.
void AD7193_Reset(void) Resets the device.
void AD7193_SetPower(unsigned char pwrMode) Set device to idle or power-down.
void AD7193_WaitRdyGoLow(void) Waits for RDY pin to go low.
void AD7193_ChannelSelect(unsigned short channel) Selects the channel to be enabled.
void AD7193_Calibrate(unsigned char mode, unsigned char channel) Performs the given calibration to the specified channel.
void AD7193_RangeSetup(unsigned char polarity, unsigned char range) Selects the polarity of the conversion and the ADC input range.
unsigned long AD7193_SingleConversion(void) Returns the result of a single conversion.
unsigned long AD7193_ContinuousReadAvg(unsigned char sampleNumber) Returns the average of several conversion results.
float AD7193_TemperatureRead(void) Read data from temperature sensor and converts it to Celsius degrees.
float AD7193_ConvertToVolts(unsigned long rawData, float vRef) Converts 24-bit raw data to volts.
举报

袁飞

2019-2-22 10:23:56
引用: 世啊木啊 发表于 2019-2-22 10:17
程序是按参考驱动函数写的,不过我用的是stm32。
 
以下是函数列表,没有直接控制ad5201的函数。

如果按照正常的操作过程,的确可能发生 AD5201的故障, 如果有评估板和软件可,可以尝试一下看看问题是否存在
举报

张楠

2019-2-22 10:31:30
引用: 60user105 发表于 2019-2-22 10:23
如果按照正常的操作过程,的确可能发生 AD5201的故障, 如果有评估板和软件可,可以尝试一下看看问题是否存在

没有买评估板,是按CN028原理图做了个电路板。
感觉是肯定会发生AD5201输出错误的。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分