用STM32读取AD7193的数据,用STM32的硬件SPI,程序为官网参考例程,只有SPI数据读取部分为自己写的,目前可以读取芯片ID号和配置寄存器,用示波器可以抓到相关图形,附件分别放置读取ID号和配置寄存器的图片(颜色依次为黄色CS,绿色:SCLK,蓝色:MISO,粉色:MOSI)。遇到问题如下:
1、配置寄存器无法配置,如果配置后ID号和寄存器等无法读取。
2、AD7193的数据寄存器无法读取。
请问:
1、芯片的配置流程?
2、芯片数据寄存器读取?
用STM32读取AD7193的数据,用STM32的硬件SPI,程序为官网参考例程,只有SPI数据读取部分为自己写的,目前可以读取芯片ID号和配置寄存器,用示波器可以抓到相关图形,附件分别放置读取ID号和配置寄存器的图片(颜色依次为黄色CS,绿色:SCLK,蓝色:MISO,粉色:MOSI)。遇到问题如下:
1、配置寄存器无法配置,如果配置后ID号和寄存器等无法读取。
2、AD7193的数据寄存器无法读取。
请问:
1、芯片的配置流程?
2、芯片数据寄存器读取?
您好,
1.先发送40bit 1进行复位,然后配置主要是Mode寄存器和Configuration寄存器,Mode寄存器主要是conversion mode,digital filter,数据输出速率;Configuration寄存器主要是模拟输入的配置。
2.ID寄存器和Mode寄存器的默认配置都已经读出来了。这里建议先不去配置寄存器,AD7193的默认配置是continuous conversion mode,是在进行转换,可以读取转换结果。读取转换结果的时候,先读取一下status寄存器判读最高位是否为0,这个时候表示数据ready了,再去读取data寄存器。
如果方便的话,可以贴一下AD7193部分的电路图。
谢谢,我把电路图贴过来,麻烦您检查一下,谢谢。
我发送完40个1之后,再读其它的寄存器数据,就都乱了。如果发配置也不行。
您好,
1. 从硬件的角度看,没有看出问题,提一点建议把ADR381的输入电压接到模拟电源处。
2. 能否贴一下发送40个1的spi波形图(CS CLK MISO MOSI),能否贴一下读其它寄存器错乱的波形图。
3.从上面的波形图看,MISO信号有点问题,边沿很缓。