AD7765芯片本身接了40M的有源晶振,它的内部时钟为20M,即SCO=20M,当初始化之后便自己产生控制信号FSO,当期拉低时,AD芯片的SDO输出口才有数据输出,并连续输出32位,其中前24位为数据位,接着是状态位。如下时序图所示。(左为FSO与SDO输出波形,右图为时序图)
这样看来,我想读取SDO数据,则SPI通信时,AD芯片必须做主设备,单片机做从设备了吧。问题是SPI程序设置里,从设备也要设置波特率分频的,但是没有正好能分频到20M的怎么办?还有要连续读至少24位才可以,SPI移位寄存器才16位,且FSO作为数据输出有效控制信号一直自动拉低32个时钟周期,那么我该怎么进行SPI通信呢,程序该如何改?
求大神们帮忙呀!!
|