1. 程式人生 > 其它 >【友晶科技Terasic】DE10_Standard_ADC LTC2308的若干問題解答(SPI)(一)

【友晶科技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如果接地就是單端模擬訊號輸入,如果接參考電壓的一半就是差分模擬訊號輸入(這個在第一個問題裡有提到)。