91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

CKS32F107xx系列MCU的雙重ADC模式

中科芯MCU ? 來源:中科芯MCU ? 2024-07-22 09:19 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

雙重ADC模式

獨立模式的ADC采集需要在一個通道采集并且轉換完成后才會進行下一個通道的采集。而雙重ADC的機制就是使用兩個ADC同時采樣一個或者多個通道。雙重ADC模式較獨立模式一個最大的優勢就是提高了采樣率,彌補了單個ADC 采樣不夠快的缺點。在有2個或以上ADC模塊的產品中,可以使用雙ADC模式。

在使用雙ADC模式時,當轉換配置成由外部事件觸發時,用戶必須將其設置成僅觸發主ADC,從ADC設置成軟件觸發,這樣可以防止意外的觸發從轉換。但是,主和從ADC的外部觸發必須同時被激活。同時,在雙ADC模式里,為了在主數據寄存器上讀取從轉換數據,

即使不使用DMA傳輸規則通道數據,也必須使能DMA位。

啟用雙ADC模式的時候,通過配置ADC_CR1寄存器的DUALMOD[3:0]位,可以有幾種不同的模式,具體見如下表格:

bbccc8b8-47c7-11ef-b8af-92fbcf53809c.png

這里我們選取同步規則模式來作為實驗講解。同步規則模式是ADC1和 ADC2 同時轉換一個規則通道組,ADC1是主,ADC2是從,ADC1轉換的結果放在ADC1_DR 的低16位,ADC2轉換的結果放在ADC1_DR的高十六位。并且必須開啟DMA功能。外部觸發來自ADC1的規則組多路開關(由ADC1_CR2寄存器的EXTSEL[2:0]選擇),它同時給ADC2提供同步觸發。在同步規則模式中,必須轉換具有相同時間長度的序列,或保證觸發的間隔比2個序列中較長的序列長,否則當較長序列的轉換還未完成時,具有較短序列的ADC轉換可能會被重啟。

為了簡單起見,ADC1 我們選擇軟件觸發,ADC2必須選擇外部觸發,這個外部觸發來自于ADC1的規則組多路開關。例程中我們選取ADC1和ADC2各采集一個通道。

配置雙重ADC規則同步模式代碼如下:

/* ------------------DMA模式配置---------------- */

// 配置 DMA 初始化結構體

DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)(&( ADCx_1->DR ));

DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)ADC_ConvertedValue;

DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC;

DMA_InitStructure.DMA_BufferSize = 1;

DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;

DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;

DMA_InitStructure.DMA_PeripheralDataSize =

DMA_PeripheralDataSize_Word;

DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Word;

DMA_InitStructure.DMA_Mode = DMA_Mode_Circular;

DMA_InitStructure.DMA_Priority = DMA_Priority_High;

DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;

DMA_Init(ADC_DMA_CHANNEL, &DMA_InitStructure);

/* ----------------ADCx_1 模式配置--------------------- */

ADC_InitStructure.ADC_Mode = ADC_Mode_RegSimult;

ADC_InitStructure.ADC_ScanConvMode = ENABLE ;

ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;

ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;

ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;

ADC_InitStructure.ADC_NbrOfChannel = 1;

ADC_Init(ADCx_1, &ADC_InitStructure);

RCC_ADCCLKConfig(RCC_PCLK2_Div8);

ADC_RegularChannelConfig(ADCx_1, ADCx_1_CHANNEL, 1,

ADC_SampleTime_239Cycles5);

ADC_DMACmd(ADCx_1, ENABLE);

/* ----------------ADCx_2 模式配置--------------------- */

ADC_InitStructure.ADC_Mode = ADC_Mode_RegSimult;

ADC_InitStructure.ADC_ScanConvMode = ENABLE ;

ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;

ADC_InitStructure.ADC_ExternalTrigConv =

ADC_ExternalTrigConv_None;

ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;

ADC_InitStructure.ADC_NbrOfChannel = NOFCHANEL;

ADC_Init(ADCx_2, &ADC_InitStructure);

RCC_ADCCLKConfig(RCC_PCLK2_Div8);

ADC_RegularChannelConfig(ADCx_2, ADCx_2_CHANNEL, 1,ADC_SampleTime_239Cycles5);

ADC_ExternalTrigConvCmd(ADC2, ENABLE);

雙重ADC規則模式和獨立模式多通道的配置基本一樣,只是有幾點需要注意:

DMA緩沖區數據的大小為1,數組存放的數據類型為32位的;ADC工作模式要設置為同步規則模式;兩個ADC的通道的采樣時間需要一致;ADC1設置為軟件觸發;ADC2 設置為外部觸發。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 寄存器
    +關注

    關注

    31

    文章

    5435

    瀏覽量

    124604
  • adc
    adc
    +關注

    關注

    99

    文章

    6710

    瀏覽量

    549312
  • dma
    dma
    +關注

    關注

    3

    文章

    576

    瀏覽量

    103308

原文標題:MCU微課堂|CKS32F107xx ADC(三)

文章出處:【微信號:中科芯MCU,微信公眾號:中科芯MCU】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    MCU微課堂|CKS32F4xx系列產品時鐘配置

    作為MCU運行的基礎,時鐘是單片機各個模塊工作時序的最小時間單位,推動單片機的各指令執行,是MCU選型的一個重要指標。CKS32F4xx系列產品具有眾多的外設,但并非所有的外設均需要系
    發表于 12-12 10:17 ?1015次閱讀

    CKS32F4xx系列MCU的低功耗模式之睡眠模式

    本課講為大家講解CKS32F4xx系列產品的低功耗模式之睡眠(Sleep)模式MCU為滿足某些應用場景:如小型化低容量設備,長期監測設備等
    發表于 06-26 10:02 ?791次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b><b class='flag-5'>MCU</b>的低功耗<b class='flag-5'>模式</b>之睡眠<b class='flag-5'>模式</b>

    CKS32F4xx系列DAC功能

    CKS32F4xx系列DAC功能
    的頭像 發表于 11-06 16:56 ?1181次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>DAC功能

    CKS32F4xx系列ADC多通道DMA電壓采集

    CKS32F4xx系列ADC多通道DMA電壓采集
    的頭像 發表于 11-06 16:53 ?1414次閱讀

    CKS32F4xx系列ADC單通道電壓采集

    CKS32F4xx系列ADC單通道電壓采集
    的頭像 發表于 11-06 16:54 ?1273次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b><b class='flag-5'>ADC</b>單通道電壓采集

    CKS32F4xx系列低功耗模式STANDBY模式

    CKS32F4xx系列低功耗模式STANDBY模式
    的頭像 發表于 11-06 16:57 ?807次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>低功耗<b class='flag-5'>模式</b>STANDBY<b class='flag-5'>模式</b>

    CKS32F4xx系列低功耗模式SLEEP模式

    CKS32F4xx系列低功耗模式SLEEP模式
    的頭像 發表于 11-06 16:59 ?1049次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>低功耗<b class='flag-5'>模式</b>SLEEP<b class='flag-5'>模式</b>

    CKS32F4xx系列低功耗模式STOP模式

    CKS32F4xx系列低功耗模式STOP模式
    的頭像 發表于 11-06 17:08 ?924次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>低功耗<b class='flag-5'>模式</b>STOP<b class='flag-5'>模式</b>

    MCU微課堂 | CKS32F4xx系列產品SPI通信

    MCU微課堂 | CKS32F4xx系列產品SPI通信
    的頭像 發表于 10-24 17:12 ?1110次閱讀
    <b class='flag-5'>MCU</b>微課堂 | <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>產品SPI通信

    MCU微課堂 | CKS32F4xx系列產品GPIO口配置

    MCU微課堂 | CKS32F4xx系列產品GPIO口配置
    的頭像 發表于 10-24 15:14 ?1156次閱讀
    <b class='flag-5'>MCU</b>微課堂 | <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>產品GPIO口配置

    CKS32F107xx系列時鐘系統具體配置方法講解

    上一章節對CKS32F107xx系列時鐘做了整體介紹,本章節以使用HSI內部高速時鐘為例對時鐘具體配置方法進行講解。
    的頭像 發表于 05-28 10:05 ?1020次閱讀
    <b class='flag-5'>CKS32F107xx</b><b class='flag-5'>系列</b>時鐘系統具體配置方法講解

    CKS32F107xx系列MCUADC介紹

    CKS32F107xx系列產品提供2個12位的模擬/數字轉換器(ADC),每個ADC共用多達16個外部通道,各通道的A/D轉換可以單次、連續、掃描或間斷
    的頭像 發表于 06-22 11:04 ?1207次閱讀

    CKS32F107xx系列MCU的GPIO內部硬件結構和工作模式

    16個引腳,如型號為CKS2F107VET6型號的芯片有GPIOA、GPIOB、GPIOC至GPIOE共5組GPIO,芯片一共100個引腳,其中GPIO就占了一大部分,所有的GPIO引腳都有基本的輸入輸出功能。
    的頭像 發表于 07-22 09:23 ?1280次閱讀
    <b class='flag-5'>CKS32F107xx</b><b class='flag-5'>系列</b><b class='flag-5'>MCU</b>的GPIO內部硬件結構和工作<b class='flag-5'>模式</b>

    詳解CKS32F107xx系列的定時器同步功能

    CKS32F107xx系列部分定時器在內部是相連的,可用于定時器同步或鏈接,方便用戶配置不同的同步模式,以便在電機控制、數據采集和PWM信號生成等應用中,實現復雜的時間序列和多通道的同步操作。本節課
    的頭像 發表于 11-26 17:51 ?1064次閱讀
    詳解<b class='flag-5'>CKS32F107xx</b><b class='flag-5'>系列</b>的定時器同步功能

    CKS32F107xx系列USART的LIN模式

    CKS32F107xx系列在支持正常USART功能的同時,亦支持LIN(局域互聯網)模式
    的頭像 發表于 02-18 17:18 ?504次閱讀
    <b class='flag-5'>CKS32F107xx</b><b class='flag-5'>系列</b>USART的LIN<b class='flag-5'>模式</b>
    主站蜘蛛池模板: 久久精品屋 | 国产精品毛片久久久久久久 | 亚洲色图 欧美 | yy6080理aa级伦大片一级 | 国产美女久久久 | 手机午夜看片 | 天天做天天爱夜夜爽毛片毛片 | 一级特黄aaa大片在线观看 | 婷婷丁香九月 | 欧美日a | 色屁屁www影院免费观看视频 | 全部免费a级毛片 | www.av在线.com | 五月激情网站 | 九九碰| 欧美亚洲啪啪 | 色偷偷97 | 91亚洲免费视频 | 美国一区二区三区 | 天天弄天天干 | 免费一区二区视频 | 国产精品夜色7777青苹果 | 国产香蕉75在线播放 | 女人被狂躁视频网站免费 | 天天天干干干 | 欧美日本不卡 | 天天夜夜狠狠一区二区三区 | 在线观看国产日本 | 久久久噜久噜久久gif动图 | 手机看片福利日韩 | 欧美综合国产精品日韩一 | 欧美黑粗 | 色内内免费视频播放 | 欧美一级视频在线高清观看 | 天天综合亚洲国产色 | 毛片2016免费视频 | 日本午夜片 | 91视频看看 | 色吊丝中文字幕 | 欧美三级不卡在线观线看高清 | 18欧美乱大交|