ADS8354 stm32编程求解答
ADS8354、ADS7854 和ADS7254 均属于引脚兼容的双路高速同步采样模数转换器(ADC) 产品系列,支持全差分模拟输入。
每个器件均包含两个可独立编程的基准电压源,可用于系统级的增益校准。 并且配有一个可在宽电源供电范围内运行的灵活串行接口,
从而轻松实现与多种主机控制器的通信。
该系列器件支持两种低功耗模式,可针 对给定输出优化功耗。
所有器件都在扩展工业温度范围(-40°C 至 + 125°C)内完全额定运行,并且采用引脚兼容的 WQFN-16 (3mm ×3mm) 和 TSSOP-16 封装。
8.5.2 Write to User Programmable Registers
The device features three user-programmable registers:
the configuration register (CFR), the REFDAC_A
register, and the REFDAC_B register. These registers can be written with the device SDI pin. The first 16 bits of
data on SDI are latched into the device on the first 16 SCLK falling edges. However, the new configuration takes
effect only when the read or write operation is validated. If these registers are not required to update, SDI must
remain low during the respective frames.
The first four SDI data bits (B[15:12]) determine what operation is performed (that is, either a read or write
operation or no operation), which register address the operation uses, and the function of the next 12 SDI data
bits (B[11:0]).
Table 4 lists the various combinations supported for B[15:12].
Table 4. Data Write Operation
B15 B14 B13 B12 OPERATION FUNCTION OF BITS B[11:0]
0 0 0 0 No operation is performed These bits are ignored
0 0 0 1 REFDAC_A read 000h; See the Reading User-Programmable Registers section
0 0 1 0 REFDAC_B read 000h; See the Reading User-Programmable Registers section
0 0 1 1 CFR read 000h; See the Reading User-Programmable Registers section
1 0 0 0 CFR write See the Configuration Register (CFR) section
1 0 0 1 REFDAC_A write See the REFDAC_A section
1 0 1 0 REFDAC_B write See the REFDAC_B section
1 0 1 1 No operation is performed These bits are ignored
X 1 X X No operation is performed These bits are ignored
这里有三个寄存器CFR(配置读模式、输入范围、AD参考电压内置外置等)、REFDAC_A(A通道参考电压设置)、REFDAC_B(通道参考电压设置),
在CS低电平后,接下来的16个时钟SCLK下降沿,B[15:12]选择相应的寄存器读还是写,B[11:0]相应功能设置。我用示波器读写时序没有问题,但是SDO_A没有输出。
第一个16个时钟下降沿SDI输出:1000 0010 0110 0000,对CFR写入,选择32位时钟模式,双通道分别输出,2倍参考电压输入范围,standby为1
第二个16个时钟下降沿SDI输出:1001 1001 1010 0000,对REFDAC_A写入,DAC输出2.25V作为参考电压。
读数据
32-CLK, Dual-SDO Mode (CFR.B11 = 0, CFR.B10 = 0, Default)
目前现象是:
在32位模式下,SDO_A在加上差分输入的情况下高电平和低电平不停跳动,如果差分输入两端短接,输出低电平,没有输入的情况下,输出不定值,无法正确输出数据。配置的SPI是正常工作的,SDI、SCLK时钟,CS正常,写时序正确,SPI也可以正确读,问题的关键是ADS8354的SDO引脚没有正确输出,急求解答。
此外在读的过程中,配置的是32位模式,芯片手册上在前16个时钟,SDI输出了16位,请问这16位是什么?如何使其正确输出?
非常感谢!!
-----------------------------------------------
青若岚兮
2015.07.29
此帖出自
小平头技术问答
一周热门 更多>