NXP S32K312 系列核心板免費試用 + ADC資料收集並通過UART列印

關鍵字 :s32k312nxpip開發板s32k3sar適配器調試器s32ds定時器

1. 概述

 

本次使用ADC模組採集晶片內部參考電壓;還有板子上的5V電壓經過電位器調節後輸入到晶片引腳的電壓,並通過調節電位器改變輸入電壓,最後通過串口列印。

 

硬體環境

  • 開發板:Knight S32K312開發板(由大大通提供)
  • 12 V 電源適配器,電流 2.5 V
  • Jlink 調試器、JTAG 轉接板

軟體環境

  • 軟體:S32 Design Studio for S32 Platform 3.5
  • RTD(即時驅動):SW32K3_S32DS_3.5_D2207


2. ADC模組介紹

特點總結

1、ADC類型分為三種,分別是:精度型、標準型和外部型,具有不同的精度和性能水平。
2、ADC解析度可以選擇8、10、12,但轉換結果始終是14位。
3、ADC自檢功能、DMA搬運ADC;模擬看門狗功能,主要用來限制ADC範圍
4、IDLE:表示ADC正在等待觸發,觸發可以是硬體的觸發,也可以是軟體的觸發。
5、多個ADC通道可以映射到一個引腳上。為此,可以透過DCM的GPR位來連接到特定的ADC通道上。
6、觸發方式

 

軟體觸發:

○ 標準/注入轉換:透過設定特定的控制位(NSTART/JSTART)來啟動轉換。這種方式適用於對採樣時機有精確控制需求的場景。

○BCTU觸發:透過設定SFTRGn位來啟動由區塊控制計時器(BCTU)管理的轉換,適用於需要複雜觸發條件的應用。

 

硬體觸發:

○ 標準/注入轉換:透過配置TRGMUX(觸發多工器)來選擇觸發源,這允許在多個ADC之間實現同步觸發,確保在外部事件發生時開始轉換。

○BCTU觸發:BCTU提供72個觸發源,其中絕大部分(69個)通過eMIOS通道觸發,剩下的3個來源可以來自其他片上模組,具有較高的靈活性和擴展性。

 

如圖:


 

3. 工程配置

 

3.1 PORT 設定

電路圖如下,PORT配置,將PTD4配置成ADC0_S19功能

 


配置如下

 


 

3.2 ADC設定

  1. 選擇ADC硬體單元0即ADC0,單次轉換軟體觸發一次就轉換一次,ADC閒置時自動斷電選項
  2. 主要是一些內部參考電壓選擇、觸發模式啟用
  3. 通知啟用功能是否開啟


通道配置

1、選擇S19_ChanNum43是否啟用普通鏈和注入鏈,我們選擇都不啟用。這個意思是,啟用後我們可以將多個ADC通道視為一個鏈,觸發一次轉換,所有的ADC都會依次進行轉換,從鏈的第一個通道開始轉換,直到鏈的最後一個ADC通道。

 

啟用預採樣,不啟用,選擇閾值檢測(啟用後需要配置第2種閾值檢測的上下限範圍)

 


 

3.3 UART 設定

 

 

1.選擇LPUART_0,波特率11500,通信方式為中斷方式,無校驗,一個停止位,8位資料位。

 

4. 代碼部分



 







 

UART 部分程式碼

 



最重要的函數介面說明

 

Adc_Sar_Ip_StatusType Adc_Sar_Ip_Init(const uint32 u32Instance, const Adc_Sar_Ip_ConfigType * const pConfig)

描述:此函數用於初始化ADC(模數轉換器)SAR(逐次逼近暫存器)模組。根據 pConfig 結構中指定的參數配置所有可用的功能,例如參考電壓、解析度、時鐘設定等。它接受一個實例編號。

(u32Instance),用於識別要初始化的哪個ADC模組。

Adc_Sar_Ip_StatusType Adc_Sar_Ip_Deinit(const uint32 u32Instance)

描述:此函數用於反初始化指定的ADC實例。它會將ADC的所有內部暫存器重置為預設值,有效地關閉該模組並清除先前設定的任何配置。

void Adc_Sar_Ip_ChainConfig(const uint32 u32Instance, const Adc_Sar_Ip_ChansIdxMaskType * const pChansIdxMask, const Adc_Sar_Ip_ConvChainType pChainType)

描述:此函數用於配置ADC的正常與注入轉換鏈。它接受指定要通過掩碼(pChansIdxMask)配置的通道,以及要設定的轉換鏈類型(pChainType,可以是正常鏈或注入鏈)的參數。

void Adc_Sar_Ip_EnableChannel(const uint32 u32Instance, const Adc_Sar_Ip_ConvChainType pChainType, const uint32 u32ChnIdx)

描述:此函數用於在指定的轉換鏈中啟用一個通道。透過傳入的參數 pChainType 指定轉換類型,以及 u32ChnIdx 指定要啟用的通道索引。

void Adc_Sar_Ip_DisableChannel(const uint32 u32Instance, const Adc_Sar_Ip_ConvChainType pChainType, const uint32 u32ChnIdx)

描述:該函數用於在指定的轉換鏈中停用一個通道。與啟用通道的函數類似,透過傳入的參數指定轉換類型和通道索引。

void Adc_Sar_Ip_StartConversion(const uint32 u32Instance, const Adc_Sar_Ip_ConvChainType pChainType)

描述:該函數開始執行指定類型的轉換通道(正常或注入轉換)。

uint32 Adc_Sar_Ip_GetStatusFlags(const uint32 u32Instance)

描述:此函數返回ADC的狀態標誌。這些標誌指示當前ADC的狀態,例如轉換是否完成、是否發生錯誤等。

void Adc_Sar_Ip_ClearStatusFlags(const uint32 u32Instance, const uint32 u32Mask)

描述:該函數用於清除ADC的狀態標誌。透過傳入的遮罩(u32Mask)指定需要清除的狀態標誌。

Adc_Sar_Ip_StatusType Adc_Sar_Ip_SelfTest(const uint32 u32Instance)

 

描述:該函數對指定的ADC實例執行自檢。自檢通常用於驗證ADC功能是否正常,確保設備在運行前處於良好狀態。

 

5.實驗現象

 

 

參考文獻

S32K3XXRM.pdf NXP S32K312_IOMUX.pdf NXP

S32K3_RTD_Training_ADC.pdf NXP S32K3XX.pdf

S32K3_RTD_訓練_ADC_BCTU_TRGMUX.pdf

文章來自「S32K312 開發板評測活動」測評者:楊成
 

歡迎在文章下方留言評論,我們會及時回覆您的問題。

如有更多需求,歡迎聯繫大聯大世平集團 ATU 部門:atu.sh@wpi-group.com 作者:WPIg
 

更多資訊,請掃碼關注我們!

 

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

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

參考來源

:

評論