2.4 觸發源
●軟件觸發
●來自事件鏈接控制器(ELC)的同步觸發器
●由外部觸發引腳ADTRG0(單元0)和ADTRG1(單元1)異步觸發
2.5 ADC轉換時間
ADC時鐘
ADC輸入時鐘ADCLK由PCLKC經過分頻產生,最大值是四分頻50MHz,PCLKA和PCLKC (ADCLK) 的分頻比可以設置為 1:1, 2:1, 4:1, 8:1, 1:2, 1:4。
ADC轉換時間
ADC允許的最大值頻率值是50MHz,使用50 MHz的時候12-bit轉換時間為0.4 μs。
2.6 數據寄存器
ADDRn寄存器是16位只讀寄存器,用于存儲AD轉換結果。
以下條件決定了AD數據寄存器中的數據格式:
● AD數據寄存器格式選擇位(ADCER.ADRFMT)的設置(左對齊或右對齊);
● AD轉換精度 選擇位(ADCER.ADPRC[1:0])中的設置(可選擇12位、10位、8位。);
●加法平均計數選擇位(ADADC.ADC[2:0])的設置(1、2、3、4或16次);
●設置平均模式啟用位(ADADC.AVEE)(加法或平均)。
未選擇AD轉換值加法平均模式時:
表40.5顯示了12位精度的位分配示例。
點擊可查看大圖
選擇AD轉換值平均模式時:
當A/ D轉換值加法指定2次或4次時,可選擇A/D轉換值平均模式。這樣可以提高A/D轉換的有效位。
選擇AD轉換值相加模式時:
對于12位、10位、8位精度,可以在A/D轉換值相加模式中選擇1、2、3或4次。在該轉換精度下A/D轉換結果以2bit擴展值存儲在A/D數據寄存器中。對于12位精度,在A/D轉換值相加模式中也可以選擇16次。在AD轉換值相加模式中,這些寄存器指示值,通過在特定通道上添加A/D轉換值獲得。A/D轉換結果以4bit擴展值存儲在A/D數據寄存器中。
2.7 電壓轉換
模擬電壓經過ADC轉換后,是一個12位的數字值,如果通過串口以16進制打印出來的話,可讀性比較差,那么有時候我們就需要把數字電壓轉換成模擬電壓,也可以跟實際的模擬電壓(用萬用表測)對比,看看轉換是否準確。
設計原理圖的時候會把ADC的輸入電壓范圍設定在:0~3.3v,這時需要將采樣的參考電壓硬件VREFH0/VREFL0引腳分別接到VCC和VSS上,因為ADC是12位的,那么12位滿量程對應的就是3.3V,12位滿量程對應的數字值是:2^12。數值0對應的就是0V。如果轉換后的數值為 X對應的模擬電壓為Y,那么會有這么一個等式成立:2^12 / 3.3 = X / Y , Y = (3.3 * X ) / 2^12。這樣便可以計算出對應采樣的電壓值了。
三
實現程序設計
3.1 硬件設計
如下圖DEMO板上的ADC采樣原理圖P000端口連接在一個可調電位器上
3.2 軟件設計
1
新建工程
如上圖,1選擇板上對應MCU型號,2處選擇工程類型:e2 studio / IAR / Keil,然后默認下一步直到完成。
2
FSP配置
第一步選擇并配置時鐘,請確認板子上的外部時鐘,當板子上的外部時鐘為8M時,進行選擇并按要求分配好對應的時鐘。
依次點擊 “Stacks” -> “Pins”-> “Peripherals” ->“ADC0” 來配置通道AN000對應的引腳為P000。如下圖所示:
然后依次點擊 “Stacks” ->“New Stack” -> “Analog” ->“ADC-DMAC Integration(r_adc)” 來配置ADC模塊。如下圖所示:
ADC的屬性配置:
勾選“Input” -> “Channel Scan Mask” -> “Channel 0” 通道0,并設置中斷函數名及優先級。“Interrupts” -> “Callback” & “Scan End interrupt Priority”
DMAC的屬性設置:
設置中斷函數名及優先級。
“Callback” & “Transfer End Interrupt Priority”
3
程序實現
外設初始化:
●ADC初始化
R_ADC_Open()為整個外設設置操作模式、觸發源、中斷優先級和配置。如果啟用了中斷,該函數將注冊一個回調函數指針,以便在掃描完成時通知用戶。
R_ADC_ScanCfg()配置ADC掃描參數,通道特定設置是在這個函數中設置的。
●DMA初始化
R_DMAC_Open()初始化DMAC函數。
R_DMAC_Enable()使能DMAC中斷。
中斷處理函數:
設置傳輸目的地址到DMA0_ADC0數據輸入寄存器,然后開始數據傳輸。
DMA傳輸完成,記錄傳輸次數。
hal_entry入口函數:
點擊可查看大圖
達到設定次數ADC_count再求平均值,當然DEMO也可以通過定時器進行更為精準的控制采樣的間隔。
總結
當然DEMO還有更多要優化的地方,這里只學習FSP配置基礎的功能樣例,若有陳述不嚴謹之處,歡迎大家指正。謝謝!
審核編輯:湯梓紅
-
寄存器
+關注
關注
31文章
5325瀏覽量
120053 -
adc
+關注
關注
98文章
6452瀏覽量
544148 -
瑞薩
+關注
關注
35文章
22294瀏覽量
86098 -
觸發器
+關注
關注
14文章
1996瀏覽量
61057
原文標題:基于RA6M4開發板在FSP上配置DMAC傳輸ADC采樣的方法(下)
文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論