一、前言
芯馳提供滿足 AUTOSAR 標準的 MCAL,實現微控制器、存儲、通信和 I/O 等硬體的驅動程序,芯馳提供了 AUTOSAR Demo 程序,在設定的應用場景中展示這些基本模塊的調用。但是關於模塊的一些特定用法,Demo 程序沒有進行說明,例如 ADC 模塊的 Demo 程序採用的是中斷的模式,對應 DMA 模式並未提及如何使用,本文旨在介紹 ADC 的 DMA 模式的配置和使用,對一些模塊的使用方法進行補充。
二、軟硬體
硬體平台:芯馳 E3640 SD103_E3_GATEWAY_A02_043 開發板
軟體平台:SemiDrive_E3_MCAL_PTG3.0
三、DMA 介紹
E3 系列有 DMA_SF0、DMA_SF1、DMA_AP 三個 Controller,其中 DMA_SF0、DMA_SF1 分別有 24 個通道 ( E3206/E3205/E3106/E3104 系列分別有 16 個通道),DMA_AP 有 8 個通道。DMA_SF0 和 DMA_SF1 支持 Lockstep 模式。 Dma 支持 Multicore 和靜態通道配置, DMA 會根據分配在每個 Core 上的通道信息,自動註冊中斷。
注意事項:ADC 支持 DMA 搬運數據,使用 DMA 的 Group 所在的 ADC Unit,只能配置一個 Group,並且 AdcStreamingNumSamples 需要配置為 1,並且 DMA 模式僅支持 SW 觸發。
四、配置流程
-
配置對應的 PORT,將引腳與 ADC 模塊鏈接上。
-
使用 Unit 為 ADC1 ,每個 Unit 只能一個 Group 為 DMA 模式。
-
DMA 模塊分配 FIFO3 進行 ADC 數據搬運。
-
增加配置代碼。
五、EB 配置
- ADC 配置如下
-
DMA 配置
Adc_StartGroupConversion(AdcConf_AdcGroup_Adc1Group_0);
5. DMA 配置如下
6. ADC 使用
7. 關於 DMA 的傳輸驗證如下
設置斷點 1
設置斷點 2
在指定地址可以看到 ADC 採樣數據被傳輸到指定地址中。
六、結語
本文介紹了 ADC 觸髮結合 DMA 進行數據傳輸的配置流程。
七、參考文檔
1. 《SemiDrive_E3_MCAL_User_Guide_Rev03.00》
2. 《E3400_E3600_MCU_TRM_Rev01.00》
評論