【友晶科技Terasic】DE10_Standard_ADC LTC2308的若干问题解答(SPI)(一)


  1. DE10-Standard 的 ADC demo 是怎么选择的8通道单端的, 是看COM的引脚接到了GND吗?
答: 是的,如LTC2308 手册描述(LTC2308 datasheet:P8),如果选择单极性输入,就要将COM引脚接地,而我们的DE10-Standard电路上确实是直接接地了。
  1. 为什么说ADC的参考电压是4.096V?
答:如LTC2308 手册描述(LTC2308 datasheet:P8),当REFCOMP引脚通过10uF和0.1uF旁路到GND时,输出电压是4.096V
  1. SPI的这个时序怎么去理解?
(LTC2308 datasheet:P15)SPI时序图: 答:时序图中的各个时间定义参考: 表1 时序特性  
符号 描述 单位
tWHCONV CONVST高电平的时间 MIN=20 ns
tHCONVST 从最后一个SCK下降沿开始,CONVST保持低的时间 MIN=20 ns
tCONV 转换时间 TYP=1.3、MAX=1.6 us
tACQ 数据采集的时间 第七个SCK上升沿和CONVST上升沿之间的时间 MIN=240 ns
tCYC 总周期时间 TYP=2 us
关于时序的理解请参考LTC2308的这段话描述:     送出convrt trigger后,经过tCONV 时间后才能送出SPI clock, 通过SDO 接收ADC结果,并同时通过SDI 设定下次convert的参数,SPI clock结束后,至少要等tHCONVST 时间,才能送出下一个convrt trigger。
  1. SDI 的信号是那些?
答:请参考LTC2308的这段描述:   表2 6-bit DIN word
表达式 描述
S/D SIGNAL-sENDED / DIFFERENTIAL BIT 为1选择单端输入 为0选择差分输入
O/S ODD / SIGN BIT 为1选择 为0选择
S1 ADDRESS SELECT BIT 1 地址选择位1
S0 ADDRESS SELECT BIT 0 地址选择位0
UNI UNIPOLAR / BIPOLAR BIT 为1选择单极性 为0选择双极性
SLP SLEEP MODE BIT 睡眠模式选项,以便在非活动期间节省电力
  1. 哪里看到SW[2:0]控制着通道选择?(C代码)
  • SW是10-bit的,所以读SW寄存器的值先和0x07相与,也就是取低三位的SW[2:0]
    • 寄存器0是选择通道数的
    • 写寄存器有三行代码
这里的三行代码对应前面的CONVST信号,有一个20ns的脉冲: IOWR(ADC_LTC2308_BASE, 0x00, (ch << 1) | 0x00); IOWR(ADC_LTC2308_BASE, 0x00, (ch << 1) | 0x01); IOWR(ADC_LTC2308_BASE, 0x00, (ch << 1) | 0x00);   假如SW[2:0]=001,左移一位,变成0010,然后和0x00相与,还是0010; 第0位作为复位信号measure_fifo_start,前面的001作为通道数measure_fifo_ch。
  1. 实际的电路是还多了绿色的部分,感觉不是datasheet 说的电路?
答:这部分是两块电路,左边红框的部分,是REFCOMP的参考电路; 右边是取了参考电压的一半,作为DC_BIAS,这个就和COM端口相关了,COM如果接地就是单端模拟信号输入,如果接参考电压的一半就是差分模拟信号输入(这个在第一个问题里有提到)。