AD7380 驅動程式¶
Analog Devices Inc. AD7380 及類似裝置的 ADC 驅動程式。模組名稱為 ad7380。
支援的裝置¶
該驅動程式支援以下晶片
支援的特性¶
SPI 接線模式¶
ad738x ADC 可以在多個 SDO 線上輸出資料 (1/2/4)。驅動程式目前只支援 1 條 SDO 線。
參考電壓¶
ad7380-4¶
ad7380-4 僅支援外部參考電壓(2.5V 至 3.3V)。必須在裝置樹中宣告為 refin-supply。
ad7389-4¶
ad7389-4 僅支援內部參考電壓。在這種情況下,refin-supply 和 refio-supply 屬性都被省略。
ADAQ 裝置¶
ADAQ 裝置沒有外部參考,但使用從其電源之一(refin-supply)匯出的 3.3V 內部參考。
ad738x 系列中的所有其他裝置¶
ad738x 系列中的所有其他裝置支援 2 種可能的參考電壓源
內部參考 (2.5V)
外部參考 (2.5V 至 3.3V)
該源由裝置樹確定。如果存在 refio-supply,則將其用作外部參考,否則使用內部參考。
過取樣和解析度提升¶
此係列支援 2 種類型的過取樣:正常平均和滾動平均。驅動程式僅支援正常平均,因為滾動平均可以透過處理捕獲的資料緩衝區來實現。以下比率可用:1(停用過取樣)/2/4/8/16/32。
當啟用片上過取樣功能時,ADC 的效能可以超過預設解析度。為了適應可實現的的效能提升,可以啟用額外的兩位解析度。因為只有在啟用過取樣時才能啟用解析度提升功能,並且如果沒有解析度提升,過取樣就沒有那麼有用,所以如果啟用過取樣,驅動程式會自動啟用解析度提升。
由於解析度提升功能會導致 16 位晶片現在具有 18 位資料,這意味著 storagebits 必須從 16 位更改為 32 位,因此我們使用新的 ext_scan_type 功能來允許在執行時更改 scan_type。不幸的是,libiio 不支援它。因此,當啟用或停用過取樣時,使用者必須使用以下命令重新啟動 iiod
root:~# systemctl restart iiod
警告¶
ad738x 系列的 2 通道變體,當配置為 1 SDO 線模式時,可以使用 SDOB 線作為警報引腳。4 通道變體,當配置為 1 或 2 SDO 線模式時,可以使用 SDOD 作為警報引腳,但驅動程式目前僅支援 1 SDO 線模式(參見SPI 接線模式)。
在轉換結束時,如果轉換結果超過警報上限或低於警報下限,則會斷言低電平有效的警報引腳。它在 CS 的下降沿被清除。警報引腳是所有通道共用的。
使用者可以使用常規 iio 事件屬性啟用警報
events/thresh_either_en
高和低閾值是所有通道共用的,也可以使用常規 iio 事件屬性進行設定
events/in_thresh_falling_value
events/in_thresh_rising_value
如果 debugfs 可用,使用者可以讀取 ALERT 暫存器來確定故障通道和方向。
在大多數用例中,使用者會將警報引腳硬連線以觸發關機。
通道選擇和序列器(僅限單端晶片)¶
該系列的單端晶片 (ad7386/7/8(-4)) 在每個 ADC 前面都有一個 2:1 多路複用器。它們還包括額外的配置暫存器,允許手動選擇或自動切換(序列器模式)多路複用器輸入。
從 IIO 的角度來看,所有輸入都被匯出,即 ad7386/7/8 匯出 4 個通道,而 ad7386-4/7-4/8-4 匯出 8 個通道。
多路複用器的輸入 AinX0 對應於 IIO 通道的前半部分(即 0-1 或 0-3),而輸入 AinX1 對應於後半部分(即 2-3 或 4-7)。AD7386/7/8(2 通道部件)的示例
IIO | AD7386/7/8
| +----------------------------
| | _____ ______
| | | | | |
voltage0 | AinA0 --|--->| | | |
| | | mux |----->| ADCA |---
voltage2 | AinA1 --|--->| | | |
| | |_____| |_____ |
| | _____ ______
| | | | | |
voltage1 | AinB0 --|--->| | | |
| | | mux |----->| ADCB |---
voltage3 | AinB1 --|--->| | | |
| | |_____| |______|
| |
| +----------------------------
當啟用序列器模式時,有效取樣率將除以 2。
增益(僅限 ADAQ 裝置)¶
ADAQ 裝置在每個 ADC 前面都有一個引腳可選的增益。可以使用 adi,gain-milli 屬性從裝置樹中選擇適當的增益。有關引腳接線,請參閱資料表的典型連線圖部分。
未實現的特性¶
2/4 SDO 線
滾動平均過取樣
掉電模式
CRC 指示
SPI 解除安裝支援¶
為了能夠實現最大采樣率,該驅動程式可以與 AXI SPI 引擎 一起使用,以提供 SPI 解除安裝支援。
當使用 SPI 解除安裝時,某些屬性將有所不同。
trigger目錄將被刪除。添加了
in_voltage0_sampling_frequency屬性,用於設定取樣率。添加了
in_voltage0_sampling_frequency_available屬性,用於查詢最大采樣率。timestamp通道將被刪除。與未使用解除安裝時相比,緩衝區資料格式可能不同,例如
in_voltage0_type屬性。
裝置緩衝區¶
此驅動程式支援 IIO 觸發的緩衝區。
有關更多資訊,請參見 工業 IIO 裝置緩衝區。