0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

MM32F5270平臺ADC注入通道的單周期采樣的實(shí)現(xiàn)

冬至子 ? 來源:靈動MM32MCU ? 作者:靈動MM32 ? 2023-06-01 17:25 ? 次閱讀

引入

MM32F5270的ADC可配置4個注入通道來擴(kuò)展轉(zhuǎn)換通道,那么可進(jìn)行轉(zhuǎn)換的通道最多可達(dá)20個。

特點(diǎn)

**1. **通道優(yōu)先級

注入通道轉(zhuǎn)換順序從JSQ0 ~ JSQ3優(yōu)先級由高到底依次轉(zhuǎn)換。

2. 通道轉(zhuǎn)換方式

支持單端轉(zhuǎn)換、差分轉(zhuǎn)換和偽差分轉(zhuǎn)換。

3. 數(shù)據(jù)補(bǔ)償

注入通道轉(zhuǎn)換的值減去對應(yīng)注入補(bǔ)償寄存器的值,補(bǔ)償后的結(jié)果可能為負(fù)值,因此配置了注入補(bǔ)償寄存器的注入通道轉(zhuǎn)換結(jié)果是有符號數(shù)據(jù),根據(jù)數(shù)據(jù)對齊方式不同符號位SEXT不同。圖3.1描述了數(shù)據(jù)分辨率與數(shù)據(jù)補(bǔ)償左對齊關(guān)系,圖3.2描述數(shù)據(jù)對齊及注入通道符號位位置。

image.png

image.png

4. 注入通道中斷

注入通道序列轉(zhuǎn)換結(jié)束中斷(JEOSIF)、注入通道轉(zhuǎn)換結(jié)束中斷(JEOCIF)和注入通道采樣結(jié)束中斷(JEOSMPIF)。

5. 注入通道啟動轉(zhuǎn)換

主要有兩種方式,第一種是在任意通道工作模式下,使能自動注入ANYCR_JAUTO,當(dāng)任意通道序列轉(zhuǎn)換完成后,注入通道會自動緊跟著轉(zhuǎn)換;第二種是自行設(shè)置注入轉(zhuǎn)換使能ANYCR_JADST,即可轉(zhuǎn)換注入通道。注意注入通道轉(zhuǎn)換完成后ANYCR_JADST,將被硬自動清除。

例程介紹

在任意通道工作模式下,配置規(guī)則組轉(zhuǎn)換序列,再配置注入組轉(zhuǎn)換序列,使能自動注入,查看注入通道是否轉(zhuǎn)換完成。

具體配置步驟:

image.png

參數(shù)定義如下:

#define APP_ADC_SEQ_LEN 3u
#define APP_ADC_EXT_SEQ_LEN 2u
/* channels in any sequence. */
uint32_t app_adc_seq_channels[APP_ADC_SEQ_LEN] =
{
    BOARD_ADC_CHN_NUM_1,
    BOARD_ADC_CHN_NUM_4,
    BOARD_ADC_CHN_NUM_5,
};
/* channels in inject sequence. */
uint32_t app_adc_extseq_channels[APP_ADC_EXT_SEQ_LEN] =
{
    BOARD_ADC_CHN_NUM_5,
    BOARD_ADC_CHN_NUM_1
};

配置代碼如下:

/* setup the converter. */
ADC_Init_Type adc_init;
adc_init.Resolution = ADC_Resolution_Alt0;
adc_init.ConvMode = ADC_ConvMode_SeqOneTime; 
adc_init.Align = ADC_Align_Right;
adc_init.SingleDiffMode = ADC_SingleDiffConvMode_SingleEnd; 
adc_init.SingleVolt = ADC_SingleConvVref_Internal;  
ADC_Init(ADC1, &adc_init);

/* setup the conversion any sequence. */
/* config regular sequence channel */
for (uint32_t i = 0u; i < APP_ADC_SEQ_LEN; i++)
{
    ADC_EnableSeqSlot(ADC1,i,app_adc_seq_channels[i]);         
    ADC_SetChnSampleTime(ADC1,app_adc_seq_channels[i], ADC_SampleTime_Alt7);
}
/* config inject channel. */
for (uint32_t i = 0u; i < APP_ADC_EXT_SEQ_LEN; i++)
{
    ADC_EnableExtSeqSlot(ADC1, i, app_adc_extseq_channels[i]);
    ADC_SetChnSampleTime(ADC1,app_adc_extseq_channels[i], ADC_SampleTime_Alt7);
}
/* enable the inject atuo conversion. */
ADC_EnableAutoExtSeqSlot(ADC1, true);
/* power on the converter. */
ADC_Enable(ADC1, true);

注:ADC轉(zhuǎn)換前必須獲取校驗(yàn)因子,否則無法轉(zhuǎn)換。

結(jié)果如下圖:

640.gif

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 轉(zhuǎn)換器
    +關(guān)注

    關(guān)注

    27

    文章

    8574

    瀏覽量

    146533
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5268

    瀏覽量

    119640
  • 串口中斷
    +關(guān)注

    關(guān)注

    0

    文章

    64

    瀏覽量

    13824
  • ADC采樣
    +關(guān)注

    關(guān)注

    0

    文章

    134

    瀏覽量

    12807
  • 靈動微
    +關(guān)注

    關(guān)注

    3

    文章

    174

    瀏覽量

    22632
  • MM32
    +關(guān)注

    關(guān)注

    1

    文章

    106

    瀏覽量

    721
收藏 人收藏

    評論

    相關(guān)推薦

    MM32F5270:高速ADC和COMP及三合一控制案例

    的 3 合 1 控制的例子來對前面幾期的內(nèi)容做一個綜合的講解。 1、高速 ADC ADC 用于將模擬信號轉(zhuǎn)換成數(shù)字信號,是微控制器應(yīng)用中必不可少的外設(shè)之一。 MM32F5270 中包含了 2 組高速
    的頭像 發(fā)表于 05-31 16:51 ?4827次閱讀

    基于MM32F5270開發(fā)板獲取雨滴傳感器的數(shù)據(jù)相關(guān)資料介紹

    1、基于MindSDK對接雨滴傳感器我們還是來介紹一下開發(fā)板的相關(guān)參數(shù)。靈動MM32F5270開發(fā)板是搭載安謀科技“星辰”STAR-MC1處理器的全新高性能 MM32F5270微控制器,這個
    發(fā)表于 08-24 15:20

    MM32F5270是如何通過MindSwitch和CLU實(shí)現(xiàn)可任意編程外設(shè)間互聯(lián)系統(tǒng)的

    MM32F5270 采用 MindSwitch 可實(shí)現(xiàn) PWM 周期內(nèi)任意時刻的 4 次 ADC 觸發(fā)。還是以上述應(yīng)用場景為例,依然用
    發(fā)表于 09-06 15:13

    MM32F5270總線架構(gòu)設(shè)計(jì)

    本文介紹了MM32F5270 中所采用的多并發(fā)總線架構(gòu),并通過帶顯示的音頻播放器的實(shí)例說明了該架構(gòu)在實(shí)際應(yīng)用中所能達(dá)到的吞吐率提升效果。
    的頭像 發(fā)表于 05-11 11:15 ?2105次閱讀
    <b class='flag-5'>MM32F5270</b>總線架構(gòu)設(shè)計(jì)

    基于MM32F5270控制器的I2S音頻播放

    MM32F5270 系列控制器支持 I2S 總線接口,本章節(jié)在接下來會對 MM32F5270 I2S進(jìn)行介紹,并使用 MM32F5270 和 CS4344 芯片進(jìn)行 I2S 通信來演示播放一段聲音。
    的頭像 發(fā)表于 09-16 10:39 ?2150次閱讀

    MM32F5270 產(chǎn)品手冊(中文版)

    MM32F5270 產(chǎn)品手冊(中文版)
    發(fā)表于 02-23 18:45 ?0次下載
    <b class='flag-5'>MM32F5270</b> 產(chǎn)品手冊(中文版)

    MM32F5270 產(chǎn)品手冊(英文版)

    MM32F5270 產(chǎn)品手冊(英文版)
    發(fā)表于 02-23 18:45 ?0次下載
    <b class='flag-5'>MM32F5270</b> 產(chǎn)品手冊(英文版)

    MM32F5270 用戶手冊(中文版)

    MM32F5270 用戶手冊(中文版)
    發(fā)表于 02-23 18:46 ?0次下載
    <b class='flag-5'>MM32F5270</b> 用戶手冊(中文版)

    MM32F5270 用戶手冊(英文版)

    MM32F5270 用戶手冊(英文版)
    發(fā)表于 02-23 18:46 ?0次下載
    <b class='flag-5'>MM32F5270</b> 用戶手冊(英文版)

    MM32F5270 勘誤表(中文版)

    MM32F5270 勘誤表(中文版)
    發(fā)表于 02-23 18:47 ?0次下載
    <b class='flag-5'>MM32F5270</b> 勘誤表(中文版)

    MM32F5270 勘誤表(英文版)

    MM32F5270 勘誤表(英文版)
    發(fā)表于 02-23 18:48 ?0次下載
    <b class='flag-5'>MM32F5270</b> 勘誤表(英文版)

    MM32F5270平臺ADC注入通道周期采樣實(shí)現(xiàn)

    MM32F5270ADC可配置4個注入通道來擴(kuò)展轉(zhuǎn)換通道,那么可進(jìn)行轉(zhuǎn)換的通道最多可達(dá)20個。
    的頭像 發(fā)表于 05-26 09:31 ?626次閱讀
    <b class='flag-5'>MM32F5270</b><b class='flag-5'>平臺</b><b class='flag-5'>ADC</b><b class='flag-5'>注入</b><b class='flag-5'>通道</b>的<b class='flag-5'>單</b><b class='flag-5'>周期</b><b class='flag-5'>采樣</b>的<b class='flag-5'>實(shí)現(xiàn)</b>

    MM32F5270平臺ADC注入通道周期采樣實(shí)現(xiàn)

    MM32F5270ADC可配置4個注入通道來擴(kuò)展轉(zhuǎn)換通道,那么可進(jìn)行轉(zhuǎn)換的通道最多可達(dá)20個。
    的頭像 發(fā)表于 05-26 09:32 ?830次閱讀
    <b class='flag-5'>MM32F5270</b><b class='flag-5'>平臺</b><b class='flag-5'>ADC</b><b class='flag-5'>注入</b><b class='flag-5'>通道</b>的<b class='flag-5'>單</b><b class='flag-5'>周期</b><b class='flag-5'>采樣</b>的<b class='flag-5'>實(shí)現(xiàn)</b>

    基于MM32F5270的I2S音頻播放

    基于MM32F5270的I2S音頻播放
    的頭像 發(fā)表于 10-30 17:13 ?1020次閱讀
    基于<b class='flag-5'>MM32F5270</b>的I2S音頻播放

    MM32F3270 ADC注入通道

    MM32F3270 ADC注入通道
    的頭像 發(fā)表于 09-27 15:59 ?908次閱讀
    <b class='flag-5'>MM32F</b>3270 <b class='flag-5'>ADC</b><b class='flag-5'>注入</b><b class='flag-5'>通道</b>