AD7606 驅動¶
用於 Analog Devices Inc. AD7606 和類似裝置的 ADC 驅動。模組名稱為 ad7606。
支援的裝置¶
此驅動程式支援以下晶片
支援的功能¶
SPI 接線模式¶
這些 ADC 可以在多個 SDO 線上輸出資料 (1/2/4/8)。該驅動程式目前僅支援 1 條 SDO 線。
SPI 解除安裝接線¶
與 SPI 解除安裝一起使用時,支援的接線配置為
+-------------+ +-------------+
| BUSY |-------->| TRIGGER |
| CS |<--------| CS |
| | | |
| ADC | | SPI |
| | | |
| SDI |<--------| SDO |
| DOUTA |-------->| SDI |
| SCLK |<--------| SCLK |
| | | |
| | +-------------+
| CONVST |<--------| PWM |
+-------------+ +-------------+
在這種情況下,需要 pwms 屬性。 還需要 #trigger-source-cells = <1> 屬性以連接回 SPI 解除安裝。 SPI 解除安裝將具有 trigger-sources 屬性,其中包含一個單元格來指示繁忙訊號:<&ad7606 AD4695_TRIGGER_EVENT_BUSY>。
另見
並行接線模式¶
還有一個並行介面,有 16 條線(可以在位元組模式下減少到 8 條)。 透過在裝置樹中將裝置宣告為平臺(沒有定義 io-backends 節點,見下文)來選擇並行介面。
IIO-backend 模式¶
此模式允許達到最佳取樣率,但它需要外部硬體(例如 HDL 或 APU)來處理底層通訊。 透過在裝置樹中定義“io-backends”屬性來啟用後端模式。
當前 IIO-backend 模式實現的參考配置是 ADI 提供的 HDL 參考:https://wiki.analog.com/resources/eval/user-guides/ad7606x-fmc/hdl
此實現嵌入了一個 IIO-backend 相容 IP (adi-axi-adc) 和一個連線到轉換觸發引腳的 PWM。
+---+ +----------------------------
| | +-------+ |AD76xx
| A | controls | | |
| D |-------------->| PWM |-------------->| cnvst
| 7 | | | |
| 6 | +-------+ |
| 0 | controls +-----------+-----------+ |
| 6 |---------->| | |<--| frstdata
| | | Backend | Backend |<--| busy
| D | | Driver | | |
| R | | | |-->| clk
| I | requests |+---------+| DMA | |
| V |----------->| Buffer ||<---- |<=>| DATA
| E | |+---------+| | |
| R | +-----------+-----------+ |
| |-------------------------------------->| reset/configuration gpios
+---+ +-----------------------------
軟體和硬體模式¶
雖然所有 AD7606/AD7616 系列部件都可以使用 GPIO 進行配置,但其中一些可以使用暫存器進行配置。
支援軟體模式的晶片具有更多可用於配置裝置的值,以及更多設定,並允許控制每個通道的範圍和校準。
- 以下設定在軟體模式下可用於每個通道
比例
此外,在軟體模式下,過取樣率有更廣泛的選擇。
轉換觸發¶
轉換可以透過兩種不同的方式觸發
一個 GPIO 連線到轉換觸發引腳,此 GPIO 由驅動程式直接控制。 在此配置中,驅動程式在讀取所有轉換後立即將轉換觸發引腳設定回高電平。
外部源連線到轉換觸發引腳。 在當前的實現中,它必須是一個 PWM。 在此配置中,驅動程式不直接控制轉換觸發引腳。 相反,它可以控制 PWM 的頻率。 僅為 iio-backend 啟用此觸發器。
參考電壓¶
支援 2 種可能的參考電壓源
內部參考 (2.5V)
外部參考 (2.5V)
源由裝置樹確定。 如果存在 refin-supply,則使用外部參考,否則使用內部參考。
過取樣¶
此係列支援過取樣以提高 SNR。 在軟體模式下,以下比率可用:1(停用過取樣)/2/4/8/16/32/64/128/256。
未實現的功能¶
2/4/8 SDO 線
CRC 指示
校準
SPI 解除安裝支援¶
為了能夠達到最大采樣率,該驅動程式可以與 AXI SPI 引擎 一起使用以提供 SPI 解除安裝支援。
當使用 SPI 解除安裝時,某些屬性將有所不同。
trigger目錄將被刪除。新增
sampling_frequency屬性用於設定取樣率。timestamp通道將被刪除。與不使用解除安裝時相比,緩衝區資料格式可能有所不同,例如
in_voltage0_type屬性。
裝置緩衝區¶
IIO 觸發緩衝區¶
此驅動程式支援 IIO 觸發緩衝區,帶有“內建”觸發器,即觸發器由驅動程式分配和連結,並且一旦傳輸樣本,就會觸發新的轉換,並且添加了一個時間戳通道,以彌補中斷處理延遲引起的潛在抖動。
IIO 後端緩衝區¶
當使用 IIO 後端時,不需要觸發器,並且取樣率被認為是穩定的。 沒有時間戳通道。 通訊委託給外部邏輯,稱為後端,後端的驅動程式處理緩衝區。 啟用此模式後,驅動程式無法控制轉換引腳,因為 busy 引腳繫結到後端。