已經知道NADC24的基本介紹,若有不懂的小夥伴可以參考上一篇的NADC24的介紹。
本文開始
NADC24 使用 SPI (Serial Peripheral Interface) 通訊協議,這是一種廣泛應用的同步序列通訊標準,用於與主設備進行數據交換。NADC24 的 SPI 介面包含以下四個引腳:SPI_SS、SPIDO、SPIDI 和 SPI_CLK。
運作階段
- 初始化與喚醒:
- 在首次上電或從掉電模式喚醒後,NADC24 需要 250 μs 的穩定時間,確保內部電路完成初始化後才可開始進行 ADC 轉換。
- SPI 時鐘速率與占空比:
- SPI_CLK 的最高工作頻率為 20 MHz,能滿足高速數據傳輸需求。
- 時鐘信號的占空比必須控制在 40% 至 60% 範圍內,避免因時序誤差導致數據傳輸不穩定。
- SPI 數據傳輸:
- 數據以 8 位元(8-bit frame) 的帧為單位傳輸,首帧包含 命令字節,用於指定操作模式、寄存器設定或數據讀取指令。
Command Table
Register Map
ADC Operating Flow Chart
1. 待機模式(Standby Mode)
-
啟動時默認進入此模式:
設備上電後會自動進入待機模式。當沒有進行中的 ADC 轉換時,設備也會進入待機模式。 -
特性與優勢:
- 在待機模式下,設備處於非活動狀態,極大地降低功耗。
- 從待機模式啟動轉換時無需額外延遲,接收到 START 命令 後可立即開始轉換。
-
進入條件:
- 接收到 STOP 命令 時,設備進入待機模式,等待新的指令。
2. 轉換模式(Conversion Mode)
-
模式啟動:
當接收到 START 命令 後,ADC 進入轉換模式並持續進行模數轉換,直到接收到 STOP 命令 停止轉換為止。 -
限制與注意事項:
- 在轉換模式中,數位濾波器設定(DF_CTRL)不可更改,以避免對當前轉換造成干擾。
- 該模式設計為支持長時間或連續的模數轉換操作。
3. 掉電模式(Power-Down Mode)
-
模式啟動:
當接收到 POWER_DOWN 命令 後,設備進入掉電模式。此模式設計為實現最低功耗,適用於需要長時間閒置的應用。 -
特性與優勢:
- 所有模擬與數位電路均關閉以節省電力。
- 寄存器值保留: 掉電模式下,所有寄存器值保持不變,便於喚醒後快速恢復工作狀態。
-
退出條件:
- 必須接收到 WAKE_UP 命令 才能退出掉電模式並進入待機模式。此後設備等待 START 命令 進入轉換模式。
工作模式概述與切換邏輯
-
上電重置(Power-on Reset)或命令重置(Reset by Command)
- 當設備上電或執行重置命令後,整個晶片會被重置為默認設定,進入待機模式。
-
待機模式(Standby Mode)
- 在默認狀態下,設備處於待機模式,準備接收進一步的指令。
- 切換條件:
- 如果收到 START 或校準命令(Start/Cal Command),則進入轉換模式。
- 如果收到 掉電命令(Power-down Command),則進入掉電模式。
- 如果沒有進一步命令,設備保持在待機模式。
-
轉換模式(Conversion Mode)
- 在此模式下,ADC 持續進行模數轉換,直到收到停止或校準命令(Stop/Cal Command)。
- 切換條件:
- 數據更新標誌(nDRDY) 表示數據是否已準備好:
- 如果數據被讀取,
nDRDY = 1
;否則,nDRDY = 0
。
- 如果數據被讀取,
- 如果收到停止命令,設備返回待機模式。
- 如果收到掉電命令,設備進入掉電模式。
- 數據更新標誌(nDRDY) 表示數據是否已準備好:
-
掉電模式(Power-down Mode)
- 在此模式下,所有模擬與數位電路被關閉,以實現最低功耗。
- 切換條件:
- 收到喚醒命令(Wake-up Command)後,進入待機模式。
- 未收到喚醒命令,設備保持在掉電模式。
NADC24 的快速初始化與使用流程
新唐針對 NADC24 提供了一套完整的 API,簡化了開發者的使用流程。根據官方參考範例,完整的初始化與轉換操作可以僅用以下三行指令完成:
1. 重置與初始化
/* Init NADC24 */
Reset_NADC24(); // 重置 NADC24
NADC24_Cali_and_Initial(CALI_NADC24); // 執行校準
NADC24_Cali_and_Initial(INIT_NADC24); // 完成初始化
- 目的:
透過設置REG_ADDR_PWD_CTRL1
,關閉內部 DAC 模組及其緩衝器,節省不必要的功耗。 - 寄存器設置:
PWD_CTRL1_PWD_DAC_Msk
:控制 DAC 模組電源。PWD_CTRL1_PWD_DACBUF_Msk
:控制 DAC 緩衝器電源。
目的:
關閉未使用的緩衝模組,降低功耗。
- 目的:
使用內部振盪器,避免外部時鐘的需求。 - 頻率選擇:
配置為49.152 MHz
,滿足精確時序需求。
目的:
提供穩定的內部基準電壓供 ADC 使用,避免使用外部電壓參考。
校準模式與初始化模式的差異:
- 校準模式: 禁用 FIR 濾波器 (
DF1_CTRL_BYPASS_FIR_DISABLE
)。 - 初始化模式: 啟用 FIR 濾波器 (
DF1_CTRL_BYPASS_FIR_ENABLE
)。
時鐘頻率: 設置為
1.024 MHz
,滿足內部調製器需求。調整 PGA 偏置電流,影響增益和響應速度。
增益配置:
PGA 增益設置依使用情況來選擇不同的倍率。
- 禁用偏移校正,適合校準模式。
2. 開始模數轉換
- 進入轉換模式:
發送 START 命令啟動模數轉換。 - 數據讀取:
通過 SPI 介面讀取轉換結果(詳見 SPI 命令格式與時序圖)。
3. 停止轉換或進入待機模式
- 停止轉換:
發送 STOP 命令結束當前轉換,進入待機模式。 - 進入掉電模式:
發送 POWER_DOWN 命令降低功耗,切換至掉電模式。
4. 重複操作
根據應用需求,開發者可多次重複以下操作:
- 啟動模數轉換。
- 讀取數據。
- 停止轉換或切換模式。
此流程確保了系統的靈活性和效率,適用於多種高精度測量需求。
結論與建議
可調整性程式碼以 API 方式實現全面的配置與校準,開發者可根據應用需求靈活修改相關參數,適應多樣化的應用場景。
應用場景
NADC24 適用於高精度測量應用(如高精度傳感器),可充分發揮其性能優勢,滿足精密測量需求。
評論