我用LPC2220的SPI0口接16位AD芯片MAX1167. 用LPC2220的SPI做主机,AD做从机。 接法为:2220 max1167 sck sclk mosi DIN MISO DOUT I/O CS MAX1167规定的规则如下: 在cs下降沿开始后的8个sclk时钟,从LPC2220写数据到DIN。这个字节数据写到AD命令寄存器里,以用来选择通道和扫描方式等。在此8个sclk过程中,DOUT一直输出低。 当在第8个sclk的下降沿,AD转换完毕,且输出数据。需要另外16个sclk将转换结果输出到LPC2220。 问题如下:在MAX的时序里,从第9个sclk开始,DIN就没有输入数据,而DOUT一直输出数据。 根据LPC2220,如果不继续向AD发送字节,就不能提供SCLK,便不能从DOUT输入转换结果。而如果在第9个sclk开始,如果继续向AD发送字节的话,那岂不是等于重复前8个SCLK中,向AD命令寄存器中写入通道选择值啦吗? 在此很迷惑,敬请高手赐教。
|