一、測試環境
SemiDrive 支持系統 G9 系列目錄中,PTG5.1.2 版本只適用於 G9H,其中 MCAL_v1.3.0 例程較為全面。最近進行了adc 模塊的例程測試,操作過程 hands on 如下:
註:此版本使用 eMMC Only 的啟動方式(撥碼:0001),不使用 OSPI Flash。
硬體:SemiDrive G9H ref A02 圖(1)
軟體:PTG5.1.2 + MCAL_v1.3.0
搭建以及 G9H Ref A02 操作方法參考:《SD_G9_Quick_Start_Rev2.4.pdf》

圖(1)
二、配置&Demo
- 引腳描述:
參考《G9-H 處理器數據手冊》和《SD012_G9H_REF 硬體使用手冊》相關章節(表一和圖一),可以找到 ADC 的 4 個通道所在的引腳,後續可以單端輸入模擬量供 ADC 模塊轉換。

表一 ADC 相關引腳的描述
圖一 硬體原理圖及引腳
- EB 配置
該模塊在 EB 配置方面,相較於 E3 系列取消了部分 group 分配規則和限制,使用起來更加容易。
下面依次進行說明:
AdcUnit
如下圖所示,AdcUnit 決定使用哪個 ADC(當前僅支持配置 ADC_0);
該 ADC 的分頻係數為多少;ADC 工作時鐘 = ADC 的 root clock(400M) ÷ 分頻係數(AdcPrescale + 1),
分頻係數會影響採樣率,分頻係數越大,實際 ADC 工作時鐘頻率越小,採樣率越低,反之亦然。

圖二 AdcUnit
Group
進入 Group 配置界面,下面就所選項進行說明:

圖三 Group
AdcGroupAccseeMode
選擇 ADC_ACCESS_MODE_SINGLE 時,後續的 AdcStreamingNumSamples 只能設置為 1,表示
該 Group 每次至多進行單輪採樣。
選擇 ADC_ACCESS_MODE_STREAMING 時,後續的 AdcStreamingNumSamples 可以設置 1~255,表示該 Group 每次可以進行 1~255 輪採樣。
AdcGroupConversionmode
使用 SW 觸發的 Group 以上兩種模式都可選擇,需注意,若 SW 觸發的 Group 如果選擇 ADC_CONV_MODE_ONESHOT 模式,需配合使用 ADC_ACCESS_MODE_SINGLE。
AdcGroupId
該參數決定了此 Group 在當前 ADC Unit 下的索引號,在單個 ADC Unit 下的 GroupId 應該具有唯一性。
AdcGroupTriggSrc
分別代表該 Group 是軟體觸發(SW)還是硬體觸發(HW)方式,硬體觸發暫不支持。
AdcStreamingBufferMode 有兩個狀態(循環 or 一次):
這個選項僅在 AdcGroupAccessMode 為 ADC_ACCESS_MODE_STREAMING 時,才會有意義。
AdcStreamingNumSamples
該配置決定了 Group 採樣完成時,實際進行了多少輪的採樣,例如設置為3,實際每一次到達 ADC_STREAM_COMPLETED 狀態時(採樣完成),該 Group 所有通道實際進行了 3輪次採樣。Group 中所有通道的 3 輪採樣值會保存在 Adc_SetupResultBuffer(x, buffer)接口的 buffer 中。
註:該參數只有在 ADC_ACCESS_MODE_STREAMING 下才可以設置大於 1,如果設置為 ADC_ACCESS_MODE_SINGLE 模式下,僅可以填寫 1。
AdcChannel

圖四 AdcChannel
AdcPhysicalChannelId
此配置主要用於生成關於 Channel 的唯一 ID 號,所有 Unit 下的此配置項應該具有唯一性。(當前硬體資源只支持配置 Ch0/1/2/3,其中 Ch0 為差分輸入,其餘為單端輸入)
AdcLogicalChannelId
此配置項沒有實際作用,但是配置時需要注意,在單個 Unit 下,此 Id 不應該重複。
AdcChannelResolution
此選項決定 ADC 解析度,可選 12 位、10 位、8 位。
AdcSampleFrequency
此項決定 ADC 通道採樣頻率,驅動初始化時會根據通道數及對應採樣頻率進行判斷是否超過 ADC 採樣頻率限制。
- 代碼和Log
示例代碼流程如下:初始化完成後,綁定使能 adc 中斷(回調函數),調用以組為單位進行轉換的函數接口,每組轉換完成,讀出組的緩衝數組進行列印。

圖五 Demo代碼
使用 ch0~3,其中 ch1 接地,ch3 連接電路中有分壓電阻,使之略低於 ch0 和 ch2。
Log 列印的各個通道的轉化值均能符合預期。

圖六 列印 log
三、參考文獻
- 《SemiDrive_9Series_MCAL User Guide》
- 《G9 Series Processor Technical Reference Manual》
歡迎在博文下方留言評論,我們會及時回復您的問題。
如有更多需求,歡迎聯繫大聯大世平集團 ATU 部門:atu.sh@wpi-group.com 作者:Alan
更多資訊,請掃碼關注我們!

評論