色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

CKS32F107xx系列MCU中ADC介紹

中科芯MCU ? 來源:中科芯MCU ? 2024-06-22 11:04 ? 次閱讀

CKS32F107xx系列產(chǎn)品提供2個12位的模擬/數(shù)字轉換器(ADC),每個ADC共用多達16個外部通道,各通道的A/D轉換可以單次、連續(xù)、掃描或間斷模式執(zhí)行。ADC的結果可以左對齊或右對齊方式存儲在16位數(shù)據(jù)寄存器中。

A/D轉換器的供電和參考電壓

為了提高轉換的精確度,ADC使用一個獨立的電源供電,其電源引腳為VDDA和VSSA,從而過濾和屏蔽來自印刷電路板上的毛刺干擾。在進行硬件設計的時候,VDDA和VSSA必須分別連接到VDD和VSS。對于100腳封裝的,為了確保輸入為低壓時獲得更好精度,用戶可以連接一個獨立的外部參考電壓ADC到VREF+和VREF-腳上,其中,VREF-引腳必須連接到VSSA,而VREF+的電壓范圍為2.4V~VDDA。對于64引腳封裝的,沒有VREF+和VREF-引腳,他們在芯片內部與ADC的電源(VDDA)和地(VSSA)相聯(lián)。

ADC轉換時間

ADC輸入時鐘ADC_CLK由PCLK2 經(jīng)過分頻產(chǎn)生,最大是14M,分頻因子由RCC時鐘配置寄存器RCC_CFGR的位15:14 ADCPRE[1:0]設置,可以是2/4/6/8分頻,注意這里沒有1分頻。一般我們設置PCLK2=HCLK=72M。ADC使用若干個ADC_CLK周期對輸入電壓采樣,采樣周期數(shù)目可以通過ADC_SMPR1和 ADC_SMPR2寄存器中的SMP[2:0]位更改。每個通道可以分別用不同的時間采樣。總轉換時間如下計算:TCONV=采樣時間+12.5個周期。例如當ADCCLK=14MHz,采樣時間為1.5周期,則總的轉換時間TCONV=1.5+12.5=14周期=1us。

ADC數(shù)據(jù)寄存器

ADC轉換完成后的數(shù)據(jù)輸出寄存器。根據(jù)轉換組的不同,規(guī)則組的完成轉換的數(shù)據(jù)輸出到ADC_DR寄存器,注入組的完成轉換的數(shù)據(jù)輸出到ADC_JDRx寄存器。假如是使用雙重模式,規(guī)則組的數(shù)據(jù)也是存放在ADC_DR寄存器。ADC規(guī)則組數(shù)據(jù)寄存器ADC_DR是一個32位的寄存器,獨立模式時只使用到該寄存器低16位保存ADC1/2的規(guī)則轉換數(shù)據(jù)。在雙ADC模式下,高16位用于保存ADC2轉換的數(shù)據(jù),低16位用于保存ADC1轉換的數(shù)據(jù)。因為ADC的精度是12位的,ADC_DR寄存器無論高16位還是低16位,存放數(shù)據(jù)的位寬都是16 位的,所以允許選擇數(shù)據(jù)對齊方式。由ADC_CR2寄存器的ALIGN位設置數(shù)據(jù)對齊方式,可選擇:右對齊或者左對齊。如果使用多通道轉換,那么這些通道的數(shù)據(jù) 也會存放在ADC_DR里面,按照規(guī)則組的順序,上一個通道轉換的數(shù)據(jù),會被下一個通道轉換的數(shù)據(jù)覆蓋掉,所以當通道轉換完成后要及時把數(shù)據(jù)取走。比較常用的方法是使用DMA模式。當規(guī)則組的通道轉換結束時,就會產(chǎn)生DMA請求,這樣就可以及時把轉換的數(shù)據(jù)搬運到用戶指定的目的地址存放。注意:只有ADC1可以產(chǎn)生DAM請求,而由ADC2轉換的數(shù)據(jù)可以通過雙ADC模式,利用ADC1的 DMA功能傳輸。

ADC中斷

ADC中斷可分為三種:規(guī)則組轉換結束中斷、注入組轉換結束中斷、設置了模擬看門狗狀態(tài)位中斷。它們都有獨立的中斷使能位,分別由ADC_CR 寄存器的EOCIE、JEOCIE、AWDIE位設置,對應的標志位分別是EOC、JEOC、AWD。

ADC初始化結構體詳解

ADC_InitTypeDef結構體用于設置ADC的工作參數(shù),并由標準庫函數(shù)ADC_Init()調用這些設定參數(shù)進入設置外設相應的寄存器,達到配置外設工作環(huán)境的目的。其具體的定義如下:

typedef struct

{

uint32_t ADC_Mode;

FunctionalState ADC_ScanConvMode;

FunctionalState ADC_ContinuousConvMode;

uint32_t ADC_ExternalTrigConv;

uint32_t ADC_DataAlign;

uint8_t ADC_NbrOfChannel;

}ADC_InitTypeDef;

ADC_Mode:配置ADC的模式,當使用一個ADC時是獨立模式,使用兩個ADC 時是雙模式,在雙模式下還有很多細分模式可選,具體配置ADC_CR1:DUALMOD位。

ScanConvMode:可選參數(shù)為ENABLE和DISABLE,配置是否使用掃描。如果是單通道AD轉換使用DISABLE,如果是多通道AD轉換使用ENABLE,具體配置 ADC_CR1:SCAN位。

ADC_ContinuousConvMode:可選參數(shù)為 ENABLE 和 DISABLE,配置是啟動自動連續(xù)轉換還是單次轉換。使用ENABLE配置為使能自動連續(xù)轉換;使用 DISABLE 配置為單次轉換,轉換一次后停止需要手動控制才重新啟動轉換,具體配置 ADC_CR2:CON位。

ADC_ExternalTrigConv:外部觸發(fā)選擇,ADC有很多外部觸發(fā)條件,可根據(jù)項目需求配置觸發(fā)來源。實際上,我們一般使用軟件自動觸發(fā)。

ADC_DataAlign:轉換結果數(shù)據(jù)對齊模式,可選右對齊ADC_DataAlign_Right 或者左對齊ADC_DataAlign_Left。

ADC_NbrOfChannel:AD轉換通道數(shù)目,根據(jù)實際設置即可。具體的通道數(shù)和通道的轉換順序是配置規(guī)則序列或注入序列寄存器。

CKS32F103XX ADC單通道采集實驗

本實驗使用規(guī)則組單通道的單次轉換模式,并且通過軟件觸發(fā),即由ADC_CR2寄存器的SWSTART位啟動。下面講解其詳細設置步驟:

1)開啟PA口時鐘和ADC1時鐘,設置PA1為模擬輸入。

CKS32F107xx的ADC通道1在PA1上,所以,我們先要使能PORTA的時鐘和ADC1時鐘,然后設置PA1為模擬輸入。使能GPIOA和ADC時鐘用RCC_APB2PeriphClockCmd函數(shù),設置 PA1的輸入方式,使用GPIO_Init函數(shù)即可。

2)復位 ADC1,同時設置 ADC1 分頻因子。

開啟ADC1時鐘之后,我們要復位ADC1,將ADC1的全部寄存器重設為缺省值之后我們 就可以通過RCC_CFGR設置ADC1的分頻因子。分頻因子要確保ADC1的時鐘(ADCCLK)不要超過14Mhz。這個我們設置分頻因子位6,時鐘為72/6=12MHz,庫函數(shù)的實現(xiàn)方法是:

RCC_ADCCLKConfig(RCC_PCLK2_Div6);

ADC 時鐘復位的方法是:

ADC_DeInit(ADC1);

3)初始化ADC1參數(shù),設置ADC1的工作模式以及規(guī)則序列的相關信息

在設置完分頻因子之后,我們就可以開始 ADC1 的模式配置了,設置單次轉換模式、觸發(fā)方式選擇、數(shù)據(jù)對齊方式等都在這一步實現(xiàn)。同時,我們還要設置ADC1規(guī)則序列的相關信息,我們這里只有一個通道,并且是單次轉換的,所以設置規(guī)則序列中通道數(shù)為1。這些在庫函數(shù)中是通過函數(shù)ADC_Init實現(xiàn)的。

4)使能ADC并校準。

在設置完了以上信息后,我們就使能AD轉換器,執(zhí)行復位校準和AD校準,注意這兩步 是必須的!不校準將導致結果很不準確。使能指定ADC的方法是:

ADC_Cmd(ADC1, ENABLE);

執(zhí)行復位校準的方法是:

ADC_ResetCalibration(ADC1);

執(zhí)行ADC校準的方法是:

ADC_StartCalibration(ADC1);

每次進行校準之后要等待校準結束。這里是通過獲取校準狀態(tài)來判斷是否校準是否結束。等待復位校準結束函數(shù)為:

while(ADC_GetResetCalibrationStatus(ADC1));

等待AD校準結束函數(shù)為:

while(ADC_GetCalibrationStatus(ADC1));

5)讀取ADC值。

在上面的校準完成之后,ADC就算準備好了。接下來我們要做的就是設置規(guī)則序列1里面的通道,采樣順序,以及通道的采樣周期,然后啟動ADC轉換。在轉換結束后,讀取ADC 轉 換結果值就是了。我們這里是規(guī)則序列中的第1個轉換,同時采樣周期為239.5,所以設置為:

ADC_RegularChannelConfig(ADC1, ch, 1, ADC_SampleTime_239Cycles5 );

軟件開啟ADC轉換的方法是:

ADC_SoftwareStartConvCmd(ADC1, ENABLE);

開啟轉換之后,就可以獲取轉換ADC轉換結果數(shù)據(jù),方法是:

ADC_GetConversionValue(ADC1);

同時在AD轉換中,我們還要根據(jù)狀態(tài)寄存器的標志位來獲取AD轉換的各個狀態(tài)信息。庫函數(shù)獲取AD轉換的狀態(tài)信息的函數(shù)是:

FlagStatus ADC_GetFlagStatus(ADC_TypeDef* ADCx, uint8_t ADC_FLAG);

比如我們要判斷ADC1d的轉換是否結束,方法是:

while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC ));

通過以上幾個步驟的設置,我們就能正常的使用CKS32F107xx的ADC1來執(zhí)行AD轉換操作了。

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

    關注

    27

    文章

    8694

    瀏覽量

    147085
  • 寄存器
    +關注

    關注

    31

    文章

    5336

    瀏覽量

    120230
  • adc
    adc
    +關注

    關注

    98

    文章

    6495

    瀏覽量

    544461

原文標題:MCU微課堂|CKS32F107xx系列 ADC(一)

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

收藏 人收藏

    評論

    相關推薦

    MCU微課堂|CKS32F4xx系列產(chǎn)品時鐘配置

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

    基于CKS32F4xx系列MCU互補PWM方案

    互補輸出實際跟比較輸出章節(jié)一樣使用的是定時器的功能,所以相關的函數(shù)設置同樣在庫函數(shù)文件CKS32f4xx_tim.h和CKS32f4xx_tim.c文件。 1)開啟TIM1和GPIO時鐘,配置PA7、PA8選擇復用功能GPIO
    發(fā)表于 12-02 10:13 ?633次閱讀
    基于<b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>的<b class='flag-5'>MCU</b>互補PWM方案

    CKS32F4xx系列產(chǎn)品串口DMA傳輸

    在上一講,我們講過CKS32F4xx系列的6個串口都支持DMA傳輸。因此本節(jié)我們對CKS32F4xx系列的DMA進行介紹,同時利用DMA對串
    的頭像 發(fā)表于 04-10 11:18 ?1031次閱讀

    CKS32F4xx系列RNG功能設置

    ? MCU 微課堂 CKS32F4xx 系 列RNG功能 隨機數(shù)發(fā)生器簡介 ? ? CKS32F4xx系列自帶了硬件隨機數(shù)發(fā)生器(RNG),RNG處理器是一個以連續(xù)模擬噪聲為基礎的隨機
    的頭像 發(fā)表于 09-08 10:01 ?603次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>RNG功能設置

    CKS32F4xx系列DAC功能

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

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

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

    CKS32F4xx系列ADC單通道電壓采集

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

    MCU微課堂 | CKS32F4xx系列產(chǎn)品SPI通信

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

    MCU微課堂 | CKS32F4xx系列產(chǎn)品GPIO口配置

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

    CKS32F4xx系列FSMC功能簡介

    本課講為大家講解CKS32F4xx系列產(chǎn)品的FSMC應用實例,F(xiàn)SMC全稱是Flexible Static Memory Controller,讀作靈活的靜態(tài)存儲控制器,顧名思義,MCU可以通過FSMC擴展靜態(tài)內存
    的頭像 發(fā)表于 04-14 15:06 ?932次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>FSMC功能簡介

    CKS32F107xx系列時鐘組成介紹

    作為MCU運行的基礎,時鐘是MCU各個模塊工作時序的最小時間單位,推動MCU的各指令執(zhí)行,是MCU選型的一個重要指標。
    的頭像 發(fā)表于 05-20 14:04 ?458次閱讀
    <b class='flag-5'>CKS32F107xx</b><b class='flag-5'>系列</b>時鐘組成<b class='flag-5'>介紹</b>

    CKS32F107xx系列時鐘系統(tǒng)具體配置方法講解

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

    CKS32F107xx系列MCU的雙重ADC模式

    獨立模式的ADC采集需要在一個通道采集并且轉換完成后才會進行下一個通道的采集。而雙重ADC的機制就是使用兩個ADC同時采樣一個或者多個通道。雙重ADC模式較獨立模式一個最大的優(yōu)勢就是提
    的頭像 發(fā)表于 07-22 09:19 ?474次閱讀
    <b class='flag-5'>CKS32F107xx</b><b class='flag-5'>系列</b><b class='flag-5'>MCU</b>的雙重<b class='flag-5'>ADC</b>模式

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

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

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

    CKS32F107xx系列部分定時器在內部是相連的,可用于定時器同步或鏈接,方便用戶配置不同的同步模式,以便在電機控制、數(shù)據(jù)采集和PWM信號生成等應用,實現(xiàn)復雜的時間序列和多通道的同步操作。本節(jié)課
    的頭像 發(fā)表于 11-26 17:51 ?331次閱讀
    詳解<b class='flag-5'>CKS32F107xx</b><b class='flag-5'>系列</b>的定時器同步功能
    主站蜘蛛池模板: 北条麻妃のレズナンパ| 国产亚洲欧美日韩综合综合二区| 国产精品欧美一区二区在线看| 黄色888| 欧美aa级片| 小伙无套内射老女人| 最近免费中文字幕MV在线视频3 | 国产亚洲精品久久久闺蜜| 麻豆AV蜜桃AV久久| 无人影院在线播放视频| 91偷偷久久做嫩草电影院| 国产精品无码亚洲精品| 免费一级片网站| 亚洲AV色香蕉一区二区三区| 99热.com| 久久本道久久综合伊人| chinese东北老年tv视频| 国产超碰AV人人做人人爽| 老师破女学生特级毛片| 色橹橹欧美在线观看视频高清| 在线观看视频国产| 国产精品亚洲视频在线观看| 男女亲吻摸下面吃奶视频| 亚洲精品久久久午夜福利电影网 | 俄罗斯XXXXXL18| 久久嫩草影院网站| 午夜想想爱| 成人国产三级在线播放| 两个奶被男人揉了一个晚上| 亚洲刺激视频| 国产成人精品123区免费视频 | 中文字幕爆乳JULIA女教师| 国产h视频在线观看免费| 男生J桶进女人P又色又爽又黄| 亚洲香蕉视频在线播放| 国产精品免费一区二区三区四区| 年轻的女职工在线观看| 一个人HD在线观看免费高清视频| 国产精品人妻午夜福利| 青青青青青青青草| 98久久人妻少妇激情啪啪|