Post Go back to editing

采用STM32F429为主控芯片,AD7779使用SPI控制模式,已置位SPI_SLAVEMODE_EN位,怎样回读8通道Σ-Δ转换结果?Translation: Using STM32F429 as the main control chip, AD7779 uses SPI control mode, and the SPI_SLAVEMODE_EN bit has been set, how to read back the 8-channel Σ-Δ conversion result

Category: Software
Product Number: AD7779ACPZ-RL
Software Version: keil 5.27

HELLO:ADI Team

Translation:

When I was debugging your company's AD7779 chip, I encountered the following problems:

1. I use stm32 and ad7779 for SPI communication; I have set the pins FORMAT0 and FORMAT1 of ad7779 to high level, 
because I need to use SPI control mode to control the ad7779 chip, and now I can read and write the internal
registers of ad7779 normally , but some channel error registers inside the chip I came back and found that
they are not the default values. For example, the values ​​read from the 0x54~0x57 registers are all 1B, the
values ​​read from the 0x58 register are fe, the values ​​read from the 0x59 register are 20, and 0x5b The value
read by the register is 20, the value read by the register 0x5d is 21, the value read by the register 0x5e is 28,
the value read by the register 0x5f is 0x3f. 2. Because I am using the spi control mode, but in the hardware design, the SYNC_IN pin and the SYNC_OUT pin
of the ad779 are not short-circuited. I found out through querying information and reading documents,
(if using the SPI control mode, you need to The SYNC_IN pin and the SYNC_OUT pin are shorted, and the
START pin is connected to DGND). My question: If I adopt the spi control mode, does the hardware need
to be connected as described in the appeal? 3. When I set the address of the GENERAL_USER_CONFIG_3 register of ad7779 to 0x13, set the bit4 of 0x13,
the bit name is SPI_SLAVE_MODE_EN, this bit is 1, at this time, according to the description in the manual,
the chip should enter the SPI interface and read back the 8-channel Σ-Δ conversion result. mode, I will send a
readback command as 0x8000, and read back 64byte data at this time, but the first two bytes of the 64byte
read back each time are 0x8E, 0x7F, and the rest of the bytes are 0x00 as shown in the figure below

我在调试贵司的AD7779芯片时,遇到了如下问题:

1.我采用stm32与ad7779进行SPI通讯;我已将ad7779的引脚 FORMAT0 和 FORMAT1置为高电平,因为我需要采用SPI控制模式来控制ad7779芯片,目前我已可以正常读写ad7779的内部寄存器,但是芯片内部的一些通道错误寄存器我都回来发现不是缺省值,例0x54~0x57寄存器读回来的值均为1B、0x58寄存器读取的值为fe、0x59寄存器读取的值为20、0x5b寄存器读取的值为20、0x5d的寄存器读取的值为21、0x5e的寄存器读取的值为28、0x5f的寄存器值为0x3f。


2.因为我采用的是spi控制模式,但在硬件设计上,ad779的SYNC_IN引脚和SYNC_OUT引脚并没有相短接,我通过查询资料和阅读文档发现,(若采用SPI控制模式,需要将SYNC_IN引脚和SYNC_OUT引脚相短接,同时将START引脚其连至DGND)。请问:如果我采用spi控制模式,硬件是否需要像上诉描述这样连接?


3.当我把ad7779的GENERAL_USER_CONFIG_3寄存器 地址为0x13,将0x13的bit4,位名称为SPI_SLAVE_MODE_EN此位置1,此时根据手册所描述,芯片应该进入了SPI接口可回读8通道Σ-Δ转换结果的模式,我会发送一个回读指令为0x8000,此时回读64byte的数据,但是每次回读的64byte的头两个byte 都为0x8E,0x7F,其余的byte都为0x00如下图

Edit Notes

Translated
[edited by: GenevaCooper at 1:19 PM (GMT -4) on 27 Jun 2023]