新唐NuMicro 24位元類比數位轉換器(ADC)使用方法

已經知道NADC24的基本介紹,若有不懂的小夥伴可以參考上一篇的NADC24的介紹。

新唐NuMicro 24位元類比數位轉換器(ADC)簡介

本文開始

NADC24 使用 SPI (Serial Peripheral Interface) 通訊協議,這是一種廣泛應用的同步序列通訊標準,用於與主設備進行數據交換。NADC24 的 SPI 介面包含以下四個引腳:SPI_SS、SPIDO、SPIDI 和 SPI_CLK。

 運作階段

  1. 初始化與喚醒:
    • 在首次上電或從掉電模式喚醒後,NADC24 需要 250 μs 的穩定時間,確保內部電路完成初始化後才可開始進行 ADC 轉換。
  2. SPI 時鐘速率與占空比:
    • SPI_CLK 的最高工作頻率為 20 MHz,能滿足高速數據傳輸需求。
    • 時鐘信號的占空比必須控制在 40% 至 60% 範圍內,避免因時序誤差導致數據傳輸不穩定。
  3. SPI 數據傳輸:
    • 數據以 8 位元(8-bit frame 的帧為單位傳輸,首帧包含 命令字節,用於指定操作模式、寄存器設定或數據讀取指令。
關於Command Table與Register可參考如下,進一步詳細內容可參考 Datasheet 的文件。不在本文中討論。

 
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 命令 進入轉換模式。





工作模式概述與切換邏輯

  1. 上電重置(Power-on Reset)或命令重置(Reset by Command)

    • 當設備上電或執行重置命令後,整個晶片會被重置為默認設定,進入待機模式。
  2. 待機模式(Standby Mode)

    • 在默認狀態下,設備處於待機模式,準備接收進一步的指令。
    • 切換條件:
      • 如果收到 START 或校準命令(Start/Cal Command),則進入轉換模式。
      • 如果收到 掉電命令(Power-down Command),則進入掉電模式。
      • 如果沒有進一步命令,設備保持在待機模式。
  3. 轉換模式(Conversion Mode)

    • 在此模式下,ADC 持續進行模數轉換,直到收到停止或校準命令(Stop/Cal Command)。
    • 切換條件:
      • 數據更新標誌(nDRDY) 表示數據是否已準備好:
        • 如果數據被讀取,nDRDY = 1;否則,nDRDY = 0
      • 如果收到停止命令,設備返回待機模式。
      • 如果收到掉電命令,設備進入掉電模式。
  4. 掉電模式(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); // 完成初始化

a. 關閉 DAC 模組與其緩衝模組
  • 目的:
    透過設置 REG_ADDR_PWD_CTRL1,關閉內部 DAC 模組及其緩衝器,節省不必要的功耗。
  • 寄存器設置:
    • PWD_CTRL1_PWD_DAC_Msk:控制 DAC 模組電源。
    • PWD_CTRL1_PWD_DACBUF_Msk:控制 DAC 緩衝器電源。
b. 關閉 PGA 緩衝模組與調製器 REFP 緩衝模組
目的:
關閉未使用的緩衝模組,降低功耗。
c. 啟用內部振盪器並設置頻率為 49.152 MHz
  • 目的:
    使用內部振盪器,避免外部時鐘的需求。
  • 頻率選擇:
    配置為 49.152 MHz,滿足精確時序需求。
d. 啟用內部 2.4V 電壓參考源
目的:
提供穩定的內部基準電壓供 ADC 使用,避免使用外部電壓參考。
e. 配置數位濾波器
校準模式與初始化模式的差異:
  • 校準模式: 禁用 FIR 濾波器 (DF1_CTRL_BYPASS_FIR_DISABLE)。
  • 初始化模式: 啟用 FIR 濾波器 (DF1_CTRL_BYPASS_FIR_ENABLE)。
f. 設定 ADC 時鐘頻率與穩定時間
時鐘頻率: 設置為 1.024 MHz,滿足內部調製器需求。
i. Offect電流的配置
調整 PGA 偏置電流,影響增益和響應速度。
. PGA 與輸入選擇

增益配置:
PGA 增益設置依使用情況來選擇不同的倍率。

  • 禁用偏移校正,適合校準模式。

2. 開始模數轉換

  • 進入轉換模式:
    發送 START 命令啟動模數轉換。
  • 數據讀取:
    通過 SPI 介面讀取轉換結果(詳見 SPI 命令格式與時序圖)。

3. 停止轉換或進入待機模式

  • 停止轉換:
    發送 STOP 命令結束當前轉換,進入待機模式。
  • 進入掉電模式:
    發送 POWER_DOWN 命令降低功耗,切換至掉電模式。

4. 重複操作

根據應用需求,開發者可多次重複以下操作:

  1. 啟動模數轉換。
  2. 讀取數據。
  3. 停止轉換或切換模式。

此流程確保了系統的靈活性和效率,適用於多種高精度測量需求。

結論與建議

可調整性
程式碼以 API 方式實現全面的配置與校準,開發者可根據應用需求靈活修改相關參數,適應多樣化的應用場景。
應用場景
NADC24 適用於高精度測量應用(如高精度傳感器),可充分發揮其性能優勢,滿足精密測量需求。

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

參考來源

評論