天天看點

Autosar MCAL-ADC配置PWM硬體觸發采樣前言ADC配置GtmPWM實際使用總結

文章目錄

  • 前言
  • ADC配置
    • AdcGroupRequestSource
    • AdcGroupTriggSrc
    • AdcHwExtTrigSelect
    • AdcHwGatePin
    • AdcGeneral-AdcHwTriggerApi
    • AdcHwGateSignal
    • AdcHwTrigSignal
    • AdcHwTrigType
  • Gtm
    • GtmConnections
  • PWM
  • 實際使用
  • 總結

前言

在實際項目開發過程中,關于ADC采樣,大部分使用軟體觸發即可,但是在特定情況下,需要應用到硬體觸發采樣,如在測量電流時,可能就需要使用到ADC的硬體觸發功能。本文基于Davinci cfg及TC27x晶片,介紹如何配置通過PWM觸發ADC采樣。

ADC配置

在之前的一篇文章中,介紹了ADC的大部配置設定置,傳送門:Autosar MCAL-ADC詳解(二)-基于Tc27x的cfg軟體

下面介紹和硬體觸發相關的配置

AdcGroupRequestSource

REQSRC0_8STG_QUE對應Group Queued source

REQSRC1_NCH_SCAN對應Group Scan source

REQSRC2_BGND_SCAN對應Background Scan source

此處我們選擇REQSRC0_8STG_QUE,在晶片手冊中對于Group Queued source有如下流程圖:

Autosar MCAL-ADC配置PWM硬體觸發采樣前言ADC配置GtmPWM實際使用總結

此處很清楚的可以看到,對于硬體觸發來說,我們要配置trigger inputs和gating inputs的來源。在後面的配置項中介紹。關于其他請求源,可以參考晶片手冊。

cfg中配置:

Autosar MCAL-ADC配置PWM硬體觸發采樣前言ADC配置GtmPWM實際使用總結

AdcGroupTriggSrc

此處選擇HW觸發

cfg中配置:

Autosar MCAL-ADC配置PWM硬體觸發采樣前言ADC配置GtmPWM實際使用總結

AdcHwExtTrigSelect

由Group Queued source圖可知,該trigger可以由REQTRx[H:A]輸入,也可以由gating的pin直接輸入。

對于trigger的選擇,在晶片手冊中有如下定義:

Autosar MCAL-ADC配置PWM硬體觸發采樣前言ADC配置GtmPWM實際使用總結
Autosar MCAL-ADC配置PWM硬體觸發采樣前言ADC配置GtmPWM實際使用總結

此處我們選擇trigger由gating input。

cfg中配置:

Autosar MCAL-ADC配置PWM硬體觸發采樣前言ADC配置GtmPWM實際使用總結

AdcHwGatePin

配置Gating pin,在晶片手冊中有如下定義:

Autosar MCAL-ADC配置PWM硬體觸發采樣前言ADC配置GtmPWM實際使用總結

此處我們選擇GTM_adcx_trig0。

cfg配置:

Autosar MCAL-ADC配置PWM硬體觸發采樣前言ADC配置GtmPWM實際使用總結

AdcGeneral-AdcHwTriggerApi

要使用HW觸發ADC,需要使用該API函數。

cfg中配置:

Autosar MCAL-ADC配置PWM硬體觸發采樣前言ADC配置GtmPWM實際使用總結

AdcHwGateSignal

此處我們使用的是gate pin作為trigger,且使用PWM波的上升沿觸發,這裡配置NONE即可,不關心Gate的輸入,隻關心跳變沿

在晶片手冊中對應的寄存器為:

Autosar MCAL-ADC配置PWM硬體觸發采樣前言ADC配置GtmPWM實際使用總結

對應的位為:

Autosar MCAL-ADC配置PWM硬體觸發采樣前言ADC配置GtmPWM實際使用總結

cfg中配置:

Autosar MCAL-ADC配置PWM硬體觸發采樣前言ADC配置GtmPWM實際使用總結

AdcHwTrigSignal

此處我們選擇PWM上升沿觸發,具體觸發點在PWM中配置duty實作。

在晶片手冊中對應的位為:

Autosar MCAL-ADC配置PWM硬體觸發采樣前言ADC配置GtmPWM實際使用總結

cfg中配置:

Autosar MCAL-ADC配置PWM硬體觸發采樣前言ADC配置GtmPWM實際使用總結

AdcHwTrigType

此處配置為外部觸發

Autosar MCAL-ADC配置PWM硬體觸發采樣前言ADC配置GtmPWM實際使用總結

Gtm

GtmConnections

現在需要将對應的PWM通道(TOM)和ADC映射,在手冊中有如下映射關系:

Autosar MCAL-ADC配置PWM硬體觸發采樣前言ADC配置GtmPWM實際使用總結

該對應關系存在于GTM子產品中,配置也是在這個子產品中配置。

此處我們采用TOM Channel6作為trigger0

cfg中配置:

Autosar MCAL-ADC配置PWM硬體觸發采樣前言ADC配置GtmPWM實際使用總結

對應的生成代碼對應的值:

static const uint8 Gtm_kAdcConnections0[GTM_NO_OF_ADC_MODULES] = 
{
 0x01U, 0x00U, 0x00U, 0x00U, 0x00U,
};

           

PWM

需要配置對應的PWM子產品關聯對應的TOM子產品

之前有介紹過PWM子產品的配置,具體可以參考:

Autosar PWM配置及使用

實際使用

ADC初始化時使用Adc_EnableHardwareTrigger函數允許ADC硬體觸發

Adc_EnableHardwareTrigger(AdcGroupId);

           

軟體運作過程中對相應通道的ADC采樣進行處理。

總結

以上介紹了PWM硬體觸發ADC的配置項。在實際使用中,可以按照自己的需求來修改。

若你覺得本文對你有幫助,歡迎點贊,關注,收藏,轉發~~~ 你的鼓勵是對小弟的最大支援~~~

建了一個WX公衆h,《汽車電子學習筆記》感興趣可以關注一下~~~文章都會同步更新

繼續閱讀