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

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

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

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

模數(shù)轉(zhuǎn)換ADC與直接內(nèi)存存取技術(shù)DMA

冬至子 ? 來(lái)源:金沙灘工作室 ? 作者:金沙灘工作室 ? 2023-07-03 15:15 ? 次閱讀

工業(yè)檢測(cè)系統(tǒng)和日常生活中有許多物理量都是模擬量,比如溫度、長(zhǎng)度、壓力、速度等等,這些物理模擬量可以通過(guò)傳感器變成與之對(duì)應(yīng)的電壓、電流等電模擬量。由于單片機(jī)系統(tǒng)是一個(gè)典型的數(shù)字系統(tǒng),為了實(shí)現(xiàn)數(shù)字系統(tǒng)對(duì)這些電模擬量的檢測(cè)、運(yùn)算和控制,就需要模數(shù)轉(zhuǎn)換模塊ADC

110.1 模數(shù)轉(zhuǎn)換器件—ADC

10.1.1 ADC的基本概念

模數(shù)轉(zhuǎn)換器(Analog To Digital Converter)簡(jiǎn)稱(chēng)ADC(也可以寫(xiě)成A/D),是指將連續(xù)變化的模擬信號(hào)轉(zhuǎn)換為離散的數(shù)字信號(hào)的器件。ADC分為積分型、逐次逼近型、并行/串行比較型、Σ-Δ型等多種類(lèi)型,STM32F103自帶的ADC屬于逐次逼近型。

逐次逼近型ADC與天平稱(chēng)物重非常相似,從高位到低位逐位比較。首先從最重的砝碼開(kāi)始試放,與被稱(chēng)物體行進(jìn)比較,若物體重于砝碼,則該砝碼保留,否則移去,然后用次重砝碼繼續(xù)比較,照此一直到最小一個(gè)砝碼為止,將所有留下的砝碼重量相加,就得此物體的重量。逐次逼近型A/D轉(zhuǎn)換器,就是將輸入模擬信號(hào)與不同的參考電壓作多次比較,使轉(zhuǎn)換所得的數(shù)字量在數(shù)值上逐次逼近輸入模擬量對(duì)應(yīng)值。

10.1.2 ADC的功能描述

STM32F103ZE系列擁有3路12位ADC,每一路ADC都有18個(gè)輸入通道,為了方便理解,將ADC功能框圖進(jìn)行分塊,然后針對(duì)每個(gè)功能塊進(jìn)行講解,如圖10-1所示。

圖片

圖10-1 ADC結(jié)構(gòu)圖

1、電源和基準(zhǔn)源

模擬電源VDDA和VSSA是ADC的供電引腳,輸入范圍為2.4V到3.6V,通常情況是和數(shù)字電源的電壓一致。為了防止電源噪聲影響,將3.3V數(shù)字電源通過(guò)簡(jiǎn)易濾波處理接到模擬電源VDDA,比如加一個(gè)磁珠;VSSA在不同應(yīng)用場(chǎng)景和數(shù)字VSS連接方法也不完全一致,簡(jiǎn)易處理方式是直接接數(shù)字VSS,ST官方的DEMO板采用的是單點(diǎn)接地方式。

基準(zhǔn)源,也叫基準(zhǔn)電壓或參考電壓,是ADC的一個(gè)重要指標(biāo),基準(zhǔn)源的偏差會(huì)直接影響轉(zhuǎn)換結(jié)果的準(zhǔn)確度。STM32F103系列只有100及以上引腳的型號(hào)才具備外部參考電壓引腳V REF+ 和V REF- ,其他型號(hào)參考電壓引腳在內(nèi)部默認(rèn)連接到ADC的電源引腳VDDA和VSSA。

Kingst-32F1開(kāi)發(fā)板直接將V REF+ 與VDDA相連,V REF- 與VSSA相連,這兩個(gè)引腳決定了ADC的電壓輸入范圍,即:V REF- ≤VIN ≤V REF+ ,ADC的電源和基準(zhǔn)源電路如圖10-2所示。

圖片

圖10-2 ADC電源和基準(zhǔn)源電路

2、ADC時(shí)鐘和轉(zhuǎn)換時(shí)間

ADC外設(shè)掛載在APB2總線上,其輸入時(shí)鐘由掛載在APB2時(shí)鐘(PCLK2)上的ADC預(yù)分頻器經(jīng)分頻后產(chǎn)生,最高不超過(guò)14MHz。由于APB2總線上通常有多個(gè)外設(shè)同時(shí)工作時(shí),為了保證運(yùn)行速率,設(shè)置APB2為最大速率72Mhz,此時(shí)只能通過(guò)ADC預(yù)分頻器設(shè)置ADC的輸入時(shí)鐘頻率,并且還要保證其不超過(guò)最大14Mhz,ADC時(shí)鐘結(jié)構(gòu)如圖10-3所示。

圖片

圖10-3 ADC時(shí)鐘結(jié)構(gòu)示意圖

ADC的預(yù)分頻器位于RCC時(shí)鐘配置寄存器中的[15:14] 2個(gè)寄存器位。ADC預(yù)分頻器控制位為00時(shí)表示最低2分頻,最高可設(shè)置8分頻,具體配置庫(kù)函數(shù)如下,設(shè)置參數(shù)如表10-1所示。

圖片

圖片

ADC總轉(zhuǎn)換時(shí)間如下計(jì)算:轉(zhuǎn)換時(shí)間 T ~conv ~ =采樣時(shí)間+ 12.5周期

通過(guò)配置ADC采樣時(shí)間寄存器ADC_SMPR1和ADC_SMPR2中的SMPx[2:0]位(x為0到17,管理ADC的18個(gè)通道)可以獨(dú)立選擇每個(gè)通道的采樣時(shí)間,分別是1.5周期、7.5周期、13.5周期、28.5周期、41.5周期、55.5周期、71.5周期和239.5周期,所以總轉(zhuǎn)換時(shí)間最短14個(gè)周期,最長(zhǎng)252個(gè)周期。

如何選擇合適的采樣時(shí)間?這是一個(gè)特別重要,并且容易被初學(xué)者忽略的問(wèn)題。如果選取的采樣時(shí)間不合理,就有可能出現(xiàn)較大的采樣誤差。

ADC采樣的過(guò)程要對(duì)內(nèi)部一個(gè)容值很小的電容進(jìn)行充電,當(dāng)外部阻抗(輸入到ADC引腳的信號(hào)調(diào)理電路的輸出阻抗)較大時(shí),電流比較小,充電時(shí)間就比較長(zhǎng)。在這種情況下,如果采樣時(shí)間較短,可能電容還沒(méi)被充滿,這樣便會(huì)出現(xiàn)采樣誤差,轉(zhuǎn)換后的數(shù)據(jù)也會(huì)有誤差。因此采樣時(shí)間需要與輸入阻抗相匹配,通常ADC輸入阻抗越大,采樣時(shí)間越長(zhǎng)。

ADC最大輸入阻抗與采樣時(shí)間計(jì)算公式如下所示:(公式僅供了解,重點(diǎn)是后面結(jié)論)

圖片

R AIN :最大輸入阻抗;

T S :采樣周期;

f ADC :ADC時(shí)鐘頻率;

C ADC :內(nèi)部采樣并保持電容器,最大為8pF;

In(2 ^N+2^ ):Log以e為底數(shù)的對(duì)數(shù),N表示ADC位數(shù)(N=12),其值約為9.704;

R ADC :內(nèi)部采樣開(kāi)關(guān)電阻,最大為1K;

假設(shè)外部輸入阻抗為10K,ADC時(shí)鐘頻率為14Mhz,由公式(1)得:

圖片

經(jīng)過(guò)計(jì)算可得Ts > 11.96,因此當(dāng)外部輸入阻抗為10K時(shí),ADC時(shí)鐘頻率為14Mhz時(shí),采樣時(shí)間應(yīng)該為11.96個(gè)周期,但是ADC采樣周期中并無(wú)該值,因此可以選擇相近的13.5個(gè)周期,注意:采樣時(shí)間寧長(zhǎng)勿短。

當(dāng)f ~ADC ~ =14Mhz時(shí),理論上最大輸入阻抗與采樣時(shí)間關(guān)系如表10-2所示。

圖片

在實(shí)際應(yīng)用中,大多數(shù)模擬信號(hào)是通過(guò)運(yùn)算放大器再進(jìn)入ADC通道,運(yùn)算放大器的阻抗通常是幾十歐,在這種情況下根據(jù)表10-2,采樣周期就可以用到最短1.5個(gè)周期。在一些輸入阻抗比較大的場(chǎng)合,可以在線路中加入一個(gè)較大的電容(達(dá)到內(nèi)部采樣保持電容的千倍以上),可以實(shí)現(xiàn)用這個(gè)大電容快速給內(nèi)部采樣保持電容充電的效果,大幅降低采樣所需時(shí)間,Kingst-32F1開(kāi)發(fā)板的電壓采集電路中的C89電容就是這樣一個(gè)作用,10.3小節(jié)會(huì)講到。

3、ADC輸入通道

STM32F103ZE的3個(gè)ADC模塊,其中ADC1提供給用戶(hù)可用通道16個(gè),其余2個(gè)通道一個(gè)接STM32內(nèi)部溫度傳感器,另外一個(gè)接內(nèi)部參考電壓V REFINT ;ADC2提供給用戶(hù)可用通道16個(gè),其余兩個(gè)通道接VSS;ADC3提供給用戶(hù)可用通道13個(gè),其余5個(gè)通道接VSS。3個(gè)ADC模塊共用了部分通道,不同ADC應(yīng)用不同通道時(shí),可以同時(shí)進(jìn)行采樣和轉(zhuǎn)換,但不可以對(duì)相同通道同時(shí)采樣,ADC輸入通道引腳如表10-3所示。

圖片

在使用ADC外部通道時(shí),可以設(shè)定為規(guī)則組和注入組。規(guī)則組就是設(shè)定好轉(zhuǎn)換順序后,按照規(guī)則正常轉(zhuǎn)換;注入組類(lèi)似于中斷,可以插隊(duì),當(dāng)觸發(fā)信號(hào)觸發(fā)注入組通道時(shí),優(yōu)先轉(zhuǎn)換注入組,轉(zhuǎn)換完后再繼續(xù)轉(zhuǎn)換規(guī)則組;如果正在轉(zhuǎn)換規(guī)則通道期間,注入通道被觸發(fā),當(dāng)前規(guī)則組轉(zhuǎn)換被復(fù)位,注入通道序列被以單次掃描方式轉(zhuǎn)換,完成轉(zhuǎn)換后恢復(fù)上次被中斷的規(guī)則通道轉(zhuǎn)換。規(guī)則組最多可以使用16個(gè)通道,注入組最多可以使用4個(gè)通道,其工作模式如圖10-4所示。

圖片

圖10-4 規(guī)則組與注入組工作方式示意圖

4、ADC通道轉(zhuǎn)換順序

規(guī)則通道的轉(zhuǎn)換順序由ADC的規(guī)則序列ADC_SQR3、ADC_SQR2、ADC_SQR1這三個(gè)寄存器控制,使用規(guī)則組轉(zhuǎn)換時(shí),將要轉(zhuǎn)換的通道序號(hào)寫(xiě)入到對(duì)應(yīng)寄存器相應(yīng)的位,并設(shè)置規(guī)則通道轉(zhuǎn)換序列的通道數(shù)目。對(duì)應(yīng)關(guān)系如表10-4所示。

圖片

注入通道的轉(zhuǎn)換順序由序列寄存器ADC_JSQR這個(gè)寄存器控制,特別注意的是,如果設(shè)置了4個(gè)注入通道并且轉(zhuǎn)換的通道數(shù)目是4,則轉(zhuǎn)換順序是:JSQR1→JSQR2→JSQR3

→JSQR4;如果設(shè)置轉(zhuǎn)換通道數(shù)目為3,但是實(shí)際配置的轉(zhuǎn)換通道數(shù)目為4,則轉(zhuǎn)換順序是JSQR2→JSQR3→JSQR4,而不是從JSQR1→JSQR2→JSQR3,注入序列寄存器JSQR與通道的對(duì)應(yīng)關(guān)系如表10-5所示。

圖片

當(dāng)“轉(zhuǎn)換組”只有一個(gè)通道轉(zhuǎn)換時(shí)稱(chēng)之為單通道模式,當(dāng)有多個(gè)通道按順序轉(zhuǎn)換時(shí)稱(chēng)之為多通道模式或者掃描模式。當(dāng)規(guī)則組或注入組的通道按照設(shè)定順序執(zhí)行一次采轉(zhuǎn)換后即停止工作,這種模式稱(chēng)之為單次轉(zhuǎn)換模式;如果執(zhí)行完一次轉(zhuǎn)換后,ADC沒(méi)有停止,而是立即啟動(dòng)新一輪轉(zhuǎn)換,這種模式稱(chēng)之為連續(xù)轉(zhuǎn)換模式。

5、觸發(fā)源

觸發(fā)啟動(dòng)轉(zhuǎn)換:觸發(fā)啟動(dòng)轉(zhuǎn)換分為兩種方式,分別是軟件觸發(fā)和外部事件觸發(fā)(外部是相對(duì)于ADC外設(shè)來(lái)講),其中外部事件觸發(fā)又分為定時(shí)器觸發(fā)和外部觸發(fā)(這里的外部指的是芯片外部信號(hào))。是否啟用觸發(fā)轉(zhuǎn)換,由寄存器ADC_CR2的EXTTRIG位(規(guī)則組)和JEXTTRIG位(注入組)決定。選用何種觸發(fā)方式,是由寄存器ADC_CR2的EXTSEL[2:0]位(規(guī)則組)和 JEXTSEL[2:0]位(注入組)來(lái)控制。具體的觸發(fā)方式可以通過(guò)查閱手冊(cè)的ADC_CR2寄存器詳細(xì)了解。

6、數(shù)據(jù)寄存器

1 )規(guī)則組數(shù)據(jù)寄存器:

在獨(dú)立ADC模式下,規(guī)則組通道轉(zhuǎn)換完成后,轉(zhuǎn)換后的數(shù)據(jù)被存儲(chǔ)在對(duì)應(yīng)的ADC規(guī)則數(shù)據(jù)寄存器ADC_DR的低16位。

雙ADC模式是ADC1和ADC2同時(shí)采集某些參數(shù),比如要獲取瞬時(shí)功率需要同時(shí)采集電壓和電流參數(shù)才能準(zhǔn)確計(jì)算結(jié)果,這種場(chǎng)合就必須使用雙ADC模式。這種模式下ADC1所對(duì)應(yīng)的ADC_DR的高16位存儲(chǔ)ADC2的規(guī)則數(shù)據(jù),低16位存儲(chǔ)ADC1的規(guī)則數(shù)據(jù)。

由于ADC的精度是12位,因此在將ADC的12位數(shù)據(jù)存入16位的數(shù)據(jù)寄存器中時(shí),可以通過(guò)ADC_CR2寄存器的ALIGN位來(lái)選擇數(shù)據(jù)是左對(duì)齊還是右對(duì)齊。

規(guī)則通道最多有16個(gè)通道,但規(guī)則數(shù)據(jù)寄存器只有一個(gè),因此當(dāng)使用多通道轉(zhuǎn)換時(shí),前一個(gè)轉(zhuǎn)換的通道數(shù)據(jù),會(huì)被后一個(gè)通道轉(zhuǎn)換的數(shù)據(jù)覆蓋掉,因此理論上必須在后一個(gè)通道轉(zhuǎn)換完畢之前就把數(shù)據(jù)取走。為了確保不產(chǎn)生丟失數(shù)據(jù)的情況,開(kāi)啟DMA傳輸模式,將數(shù)據(jù)傳輸?shù)絻?nèi)存中是一個(gè)好辦法,這部分相關(guān)內(nèi)容后續(xù)介紹。

2 )注入組數(shù)據(jù)寄存器:

ADC注入組最多有4個(gè)通道,每個(gè)通道都有對(duì)應(yīng)的數(shù)據(jù)寄存器ADC_JDRx(x=1..4),ADC_JDRx是32位的,高16位保留,低16位用來(lái)保存數(shù)據(jù),選擇數(shù)據(jù)是左對(duì)齊還是右對(duì)齊都由ALIGN決定。

6、中斷處理

如果打開(kāi)相應(yīng)的中斷,有三種情況可以進(jìn)入中斷。

(1)規(guī)則通道轉(zhuǎn)換完成中斷

  1. 轉(zhuǎn)換數(shù)據(jù)被存儲(chǔ)在16位的ADC_DR寄存器中。
  2. EOC(轉(zhuǎn)換結(jié)束)標(biāo)志被置位。
  3. 如果設(shè)置了EOCIE位,則產(chǎn)生中斷。

2 )注入通道轉(zhuǎn)換完成中斷

  1. 轉(zhuǎn)換數(shù)據(jù)被存儲(chǔ)在16位的ADC_DRJx寄存器中。
  2. JEOC(注入轉(zhuǎn)換結(jié)束)標(biāo)志被置位。
  3. 如果設(shè)置了JEOCIE位,則產(chǎn)生中斷。

3 )模擬看門(mén)狗中斷

如果開(kāi)啟了模擬看門(mén)狗中斷,并且設(shè)置ADC低閾值A(chǔ)DC_LTR和高閾值A(chǔ)DC_HTR,當(dāng)采集到的電壓高于高閾值或者低于低閾值時(shí),就會(huì)產(chǎn)生模擬看門(mén)狗中斷。

210.2 ADC 配置流程

10.2.1 初始化結(jié)構(gòu)體

初始化結(jié)構(gòu)體中包含了ADC模塊的主要配置內(nèi)容,分別是ADC模式、通道模式、轉(zhuǎn)換模式、觸發(fā)條件、通道數(shù)目,下面通過(guò)代碼對(duì)結(jié)構(gòu)體每個(gè)成員介紹:

圖片

1、 ADC_Mode —— ADC模式

ADC分為ADC獨(dú)立模式和雙ADC模式,獨(dú)立模式只有一種情況,而雙ADC模式有多種情況,本小節(jié)先介紹獨(dú)立ADC模式,因此直接選擇ADC_Mode_Independent,如表10-6所示。

圖片

2、ADC_ScanConvMode——通道模式

ADC_ScanConvMode 設(shè)置了ADC通道工作在多通道模式還是單通道模式,如表10-7所示。

圖片

3、 ADC_ContinuousConvMode —— 轉(zhuǎn)換模式

ADC_ContinuousConvMode 設(shè)置了ADC采用連續(xù)轉(zhuǎn)換還是單次轉(zhuǎn)換模式,如表10-8所示。

圖片

4、 ADC_ExternalTrigConv —— 觸發(fā)轉(zhuǎn)換方式

ADC_ExternalTrigConv定義了規(guī)則組使用何種觸發(fā)方式如表10-9所示。

圖片

注入組需要通過(guò)專(zhuān)門(mén)的ADCx 外部觸發(fā)啟動(dòng)注入組轉(zhuǎn)換函數(shù)來(lái)設(shè)置注入組觸發(fā)方式,該函數(shù)如下:

圖片

其中ADCx外設(shè),ADC_ExternalTrigConv為注入組觸發(fā)方式,注意注入組觸發(fā)方式與規(guī)則組有所不同,具體如表10-10所示。

圖片

5、 ADC_DataAlign —— 數(shù)據(jù)格式

ADC_DataAlign規(guī)定了ADC數(shù)據(jù)向左邊對(duì)齊還是向右邊對(duì)齊,存儲(chǔ)格式如圖10-5所示。圖中SEXT位是擴(kuò)展的符號(hào)位,因?yàn)樽⑷虢M通道轉(zhuǎn)換的數(shù)據(jù)值已經(jīng)減去了在“注入通道數(shù)據(jù)偏移寄存器”中定義的偏移量,所以結(jié)果可以是一個(gè)負(fù)值。

圖片

圖10-5數(shù)據(jù)對(duì)齊方式

圖片

6、 ADC_NbrOfChannel —— 通道數(shù)目

ADC_NbreOfChannel 規(guī)定了規(guī)則轉(zhuǎn)換的 ADC 通道的數(shù)目,取值范圍是1到16。而注入組是通過(guò)專(zhuān)門(mén)的函數(shù)實(shí)現(xiàn)的,如下所示。

圖片

ADCx表示ADC外設(shè),Length表示注入組通道數(shù)目,取值范圍為1~4。

10.2.2 設(shè)置轉(zhuǎn)換組的通道順序及采樣時(shí)間

1、規(guī)則組通道配置函數(shù):

圖片

2、注入組通道配置函數(shù):

圖片

其中ADCx表示選擇使用哪個(gè)ADC,x可以是1,2或3;ADC_Channel表示配置的通道號(hào),詳情參考表10-8中ADC_Channel的值;Rank表示規(guī)則組采樣順序,規(guī)則組取值范圍 1 到 16,注入組范圍是1到4;ADC_SampleTime表示ADC通道的采樣時(shí)間,詳情參考表10-12中ADC_SampleTime的值。

圖片

10.2.3 使能ADC外設(shè)

ADC_CR2寄存器的第0位ADON負(fù)責(zé)控制ADC的喚醒、掉電以及軟件啟動(dòng)轉(zhuǎn)換功能。ADON位上電默認(rèn)為‘0’,即默認(rèn)ADC模塊是不工作的,當(dāng)ADON為從‘0’寫(xiě)入‘1’以后,ADC從斷電模式下喚醒工作,這個(gè)喚醒需要1個(gè)穩(wěn)定時(shí)間tSTAB,如圖所示10-6所示。除了前邊講的通過(guò)觸發(fā)源啟動(dòng)ADC外,當(dāng)ADON從‘1’再次寫(xiě)入‘1’時(shí),也可以啟動(dòng)ADC轉(zhuǎn)換,這種方式大多情況下不使用。

圖片

圖10-6 ADC時(shí)序圖

通過(guò)清除ADON位可以停止轉(zhuǎn)換,并將ADC置于斷電模式,在這個(gè)模式下,ADC幾乎不耗電(僅幾個(gè)uA)。

圖片

ADCx標(biāo)志ADC外設(shè),x為1、2、3;NewState 可以為ENABLE或DISABLE,分別對(duì)應(yīng)使能和失能。

10.2.4 ADC校準(zhǔn)

ADC有一個(gè)內(nèi)置自校準(zhǔn)模式,可以大幅減小由于內(nèi)部電容的變化而造成的精準(zhǔn)度誤差。通過(guò)設(shè)置ADC_CR2寄存器的CAL位啟動(dòng)校準(zhǔn),一旦校準(zhǔn)結(jié)束,CAL位被硬件復(fù)位。建議在每次上電時(shí)執(zhí)行一次ADC校準(zhǔn),啟動(dòng)校準(zhǔn)前,ADC必須處于上電狀態(tài)(ADON=‘1’)至少超過(guò)兩個(gè)ADC時(shí)鐘周期,校準(zhǔn)代碼如下所示:

圖片

10.2.5 使能通道觸發(fā)轉(zhuǎn)換

規(guī)則組和注入組觸發(fā)方式方式分為軟件觸發(fā)和外部觸發(fā),其中外部觸發(fā)包括定時(shí)器觸發(fā)和外部信號(hào)觸發(fā)。如果設(shè)置了規(guī)則組或注入組觸發(fā)方式,還需要使能相應(yīng)觸發(fā),保證在觸發(fā)到來(lái)時(shí)啟動(dòng)轉(zhuǎn)換。規(guī)則組和注入組通道觸發(fā)方式使能函數(shù)如下所示;

1、規(guī)則組通道觸發(fā)使能

軟件觸發(fā)使能:

圖片

外部觸發(fā)使能:

圖片

2、注入組通道觸發(fā)使能

軟件觸發(fā)使能:

圖片

外部觸發(fā)使能:

圖片

其中ADCx標(biāo)志ADC外設(shè),x為1、2、3;NewState 可以為ENABLE或DISABLE,分別對(duì)應(yīng)使能和失能。

310.3 ADC獨(dú)立模式單通道軟件觸發(fā)轉(zhuǎn)換

本小節(jié)通過(guò)ADC1規(guī)則組單通道模式測(cè)量KST-32開(kāi)發(fā)板的USB電源輸入電壓,測(cè)量電路如圖10-7所示。已知該電路的輸入阻抗為10K,根據(jù)輸入阻抗與采樣時(shí)間關(guān)系,應(yīng)該選擇采樣時(shí)間最短為13.5個(gè)周期,再短就會(huì)產(chǎn)生較大誤差。但是如果在電路上加入了C89這個(gè)0.1uF的電容后,就可以起到快速給ADC內(nèi)部采樣保持電容充電的效果,因此即使使用最短采樣時(shí)間1.5個(gè)周期,也可以保證測(cè)量精度。

圖片

圖10-7 電壓測(cè)量電路

該實(shí)驗(yàn)通過(guò)軟件啟動(dòng)ADC轉(zhuǎn)換,主循環(huán)中并不是實(shí)時(shí)顯示ADC的轉(zhuǎn)換結(jié)果,為了降低ADC的功耗,只有在讀取測(cè)量結(jié)果時(shí)再啟動(dòng)一次轉(zhuǎn)換,轉(zhuǎn)換完畢后停止轉(zhuǎn)換。具體配置流程如下:

1、初始化ADC1通道引腳(內(nèi)部溫度傳感器和參照電壓通道不需要進(jìn)行引腳初始化)

2、配置ADC1中斷優(yōu)先級(jí)(如果使用ADC中斷,本節(jié)未使用)

3、使能 ADC1外設(shè)時(shí)鐘

4、設(shè)置ADC1預(yù)分頻系數(shù)

5、復(fù)位ADC1

6、配置ADC1初始化結(jié)構(gòu)體

7、設(shè)置規(guī)則組轉(zhuǎn)換順序和采樣時(shí)間

8、使能ADC1中斷(本節(jié)未使用)

9、使能ADC1外設(shè)

10、校準(zhǔn)ADC1

11、使能ADC1軟件觸發(fā)或外部觸發(fā)轉(zhuǎn)換

12、編寫(xiě)中斷服務(wù)函數(shù)(如果使用ADC中斷,本節(jié)未使用)

具體代碼如下:

圖片

圖片

圖片

410.4 ADC獨(dú)立模式規(guī)則組單通道外部觸發(fā)轉(zhuǎn)換

本節(jié)依舊是通過(guò)ADC1規(guī)則組單通道模式測(cè)量KST-32開(kāi)發(fā)板的USB電源輸入電壓,但是觸發(fā)方式由軟件觸發(fā),改為定時(shí)器觸發(fā),這里選擇使用ADC_ExternalTrigConv_T2_CC2(定時(shí)器2輸出比較觸發(fā)),通過(guò)設(shè)置定時(shí)器每隔20ms觸發(fā)一次ADC采樣及轉(zhuǎn)換,此時(shí)ADC的采樣頻率為50Hz。實(shí)驗(yàn)中對(duì)十次轉(zhuǎn)換數(shù)據(jù)求平均,以此減少參考電源不穩(wěn)定帶來(lái)的影響。

由于ADC間隔20ms保存一次數(shù)據(jù),為了防止數(shù)據(jù)被覆蓋,為此開(kāi)辟一個(gè)緩沖區(qū)用于存儲(chǔ)轉(zhuǎn)換后的數(shù)據(jù),每轉(zhuǎn)換一次就保存一次數(shù)據(jù)到緩沖區(qū),當(dāng)轉(zhuǎn)換完十次后就讀取前十次的數(shù)據(jù)進(jìn)行處理;此時(shí)ADC繼續(xù)轉(zhuǎn)換,數(shù)據(jù)繼續(xù)向后存儲(chǔ),當(dāng)轉(zhuǎn)換完二十次后,再讀取后十次的數(shù)據(jù)處理,然后下一次轉(zhuǎn)換后的數(shù)據(jù)從緩沖區(qū)起始位置存儲(chǔ),以此循環(huán),這樣可以有效的解決數(shù)據(jù)丟失以及覆蓋的問(wèn)題,具體代碼如下:

圖片

圖片

圖片

圖片

圖片

510.5 直接內(nèi)存存取技術(shù)——DMA

10.5.1 什么是DMA

當(dāng)處理單片機(jī)外設(shè)數(shù)據(jù)時(shí),通常的流程是CPU先將外設(shè)產(chǎn)生的大量數(shù)據(jù)加載到存儲(chǔ)器中,然后CPU再?gòu)拇鎯?chǔ)器中讀取并處理數(shù)據(jù)。按照這種處理方式,外設(shè)和存儲(chǔ)器之間的數(shù)據(jù)傳輸是通過(guò)CPU執(zhí)行一段程序來(lái)實(shí)現(xiàn)的,但是當(dāng)外設(shè)產(chǎn)生的數(shù)據(jù)量比較大的時(shí)候,就會(huì)大幅降低CPU的執(zhí)行效率。為了解決這個(gè)問(wèn)題,工程師們?cè)O(shè)計(jì)出一項(xiàng)不需要CPU執(zhí)行,便可以直接控制數(shù)據(jù)在外設(shè)和存儲(chǔ)器之間或者存儲(chǔ)器和存儲(chǔ)器之間傳輸?shù)募夹g(shù),稱(chēng)之為直接存儲(chǔ)器存取技術(shù)(Direct Memory Access,簡(jiǎn)稱(chēng)DMA)。

DMA用來(lái)提供在外設(shè)和存儲(chǔ)器之間或者存儲(chǔ)器和存儲(chǔ)器之間的高速數(shù)據(jù)傳輸。無(wú)須CPU干預(yù),數(shù)據(jù)可以通過(guò)DMA快速地移動(dòng),這就節(jié)省CPU的資源可以做其他操作。DMA傳輸?shù)谋举|(zhì)是地址到地址的操作,可以把DMA理解為CPU的“秘書(shū)”。之所以稱(chēng)之為“秘書(shū)”是因?yàn)樗宦?tīng)從CPU的支配,并且它的能力也是有限的,只能幫助CPU傳遞數(shù)據(jù),并不能發(fā)號(hào)施令。

10.5.2 DMA工作流程

STM32F103ZE系列具有2個(gè)DMA控制器,其中DMA1擁有7個(gè)通道,DMA2擁有5個(gè)通道。DMA的每個(gè)通道都直接連接專(zhuān)用的硬件DMA請(qǐng)求,每個(gè)通道也都支持軟件觸發(fā),并且也可以設(shè)置優(yōu)先權(quán)。每個(gè)通道都有3個(gè)事件標(biāo)志(DMA半傳輸、DAM傳輸完成、DMA傳輸出錯(cuò))可以請(qǐng)求中斷。通道傳輸?shù)臄?shù)據(jù)量是可編程的,最大65535個(gè)字節(jié),DMA功能框圖如圖10-8所示。

圖片

圖10-8 DMA結(jié)構(gòu)圖

1 DMA請(qǐng)求

當(dāng)外設(shè)需要傳輸數(shù)據(jù)時(shí),外設(shè)向DMA發(fā)送DMA請(qǐng)求,DMA控制器會(huì)先回應(yīng)一個(gè)應(yīng)答信號(hào)。當(dāng)獲取到DMA的應(yīng)答信號(hào)時(shí),外設(shè)立即釋放它的請(qǐng)求,如果有更多請(qǐng)求時(shí),外設(shè)可以啟動(dòng)下一個(gè)周期。

DMA傳輸通常作用在數(shù)據(jù)量較大的外設(shè)到存儲(chǔ)器、存儲(chǔ)器到外設(shè)以及存儲(chǔ)器到存儲(chǔ)器中,比如ADC、SPI、外部SRAM、定時(shí)器等設(shè)備,每個(gè)外設(shè)都有對(duì)應(yīng)的DMA傳輸通道,具體DMA請(qǐng)求映像如表10-13和10-14所示,這兩張表的內(nèi)容即用即查。

圖片

圖片

2 DMA****仲裁

多個(gè)DMA通道出現(xiàn)請(qǐng)求時(shí),就要有處理先后的順序問(wèn)題,這和中斷優(yōu)先級(jí)處理是類(lèi)似的。DMA請(qǐng)求可以通過(guò)軟件編程設(shè)置優(yōu)先級(jí)(很高、高、中等和低),高優(yōu)先級(jí)的優(yōu)先執(zhí)行;如果多個(gè)DMA請(qǐng)求的優(yōu)先級(jí)一樣,則通道號(hào)小的優(yōu)先執(zhí)行,比如通道0優(yōu)先于通道1,注意DMA通道不存在嵌套問(wèn)題,只有當(dāng)前通道傳輸執(zhí)行完畢,才會(huì)執(zhí)行下一個(gè)優(yōu)先級(jí)較高的通道。

3 DMA數(shù)據(jù)傳輸

每個(gè)通道都可以在有固定地址的外設(shè)寄存器和存儲(chǔ)器地址之間執(zhí)行DMA傳輸。在啟動(dòng)DMA數(shù)據(jù)傳輸之前需要設(shè)定數(shù)據(jù)源地址和目標(biāo)地址,以及傳輸?shù)臄?shù)據(jù)寬度和數(shù)據(jù)對(duì)齊方式,這樣才能保證數(shù)據(jù)傳輸?shù)目煽啃浴?/p>

當(dāng)傳輸一半的數(shù)據(jù)后,半傳輸標(biāo)志位(HTIF)被置1,如果設(shè)置了允許半傳輸中斷位(HTIE),將產(chǎn)生一個(gè)中斷請(qǐng)求;當(dāng)數(shù)據(jù)傳輸結(jié)束后,傳輸完成標(biāo)志位(TCIF)被置1,如果設(shè)置了允許傳輸完成中斷位(TCIE),將產(chǎn)生一個(gè)中斷請(qǐng)求。

4、 DMA****傳輸模式

DMA擁有兩種工作模式,一種是非循環(huán)模式,一種是循環(huán)模式。

非循環(huán)模式下,結(jié)束傳輸后將不再產(chǎn)生DMA操作。要重新開(kāi)始新的DMA傳輸,需要在關(guān)閉DMA通道的情況下,重新在傳輸數(shù)量寄存器DMA_CNDTRx中寫(xiě)入傳輸數(shù)目。

在循環(huán)模式下,數(shù)據(jù)傳輸?shù)臄?shù)目DMA_CNDTRx寄存器變0以后,會(huì)自動(dòng)被重新加載為初始值。

由于循環(huán)模式會(huì)自動(dòng)重新開(kāi)啟傳輸,就有可能造成剛剛存入的數(shù)據(jù)還未被取走,新的數(shù)據(jù)進(jìn)入。在實(shí)際工程中如何解決這類(lèi)問(wèn)題呢?這個(gè)時(shí)候過(guò)半傳輸標(biāo)志位就要發(fā)揮作用了。

假如要傳輸?shù)淖止?jié)數(shù)是10個(gè),那么可以將數(shù)目寄存器設(shè)定為20,然后開(kāi)辟20個(gè)字節(jié)的緩沖空間。當(dāng)傳輸完10個(gè)字節(jié)的后,過(guò)半傳輸標(biāo)志位置1,進(jìn)入中斷,將數(shù)據(jù)取出;同時(shí)在這個(gè)過(guò)程中,如果有新的數(shù)據(jù)進(jìn)入,會(huì)直接繼續(xù)往緩沖區(qū)后半段送,當(dāng)數(shù)目寄存器變0,緩沖區(qū)存滿,傳輸完成標(biāo)志位置1,進(jìn)入中斷,將后半段取出。此時(shí)由于在循環(huán)模式下,DMA數(shù)目寄存器被復(fù)位成為20,進(jìn)入下一輪循環(huán)。

10.5.3 配置DMA

1、初始化DMA

DMA初始化結(jié)構(gòu)體的相關(guān)內(nèi)容如下所示:

圖片

(1)DMA_PeripheralBaseAddr——DMA傳輸?shù)耐庠O(shè)基地址,一般該地址為外設(shè)的數(shù)據(jù)寄存器地址,如果使用存儲(chǔ)器到存儲(chǔ)器傳輸,則為其中一個(gè)存儲(chǔ)器的基地址。

(2)DMA_MemoryBaseAddr——DMA傳輸?shù)拇鎯?chǔ)器基地址,通常是程序開(kāi)辟的一段內(nèi)存的起始地址。

(3)DMA_DIR——DMA傳輸方向,可以設(shè)定外設(shè)到存儲(chǔ)器,存儲(chǔ)器到外設(shè),配置參數(shù)如表10-15所示。

圖片

(4)DMA_BufferSize——DMA數(shù)據(jù)傳輸?shù)臄?shù)量,其數(shù)據(jù)單位與結(jié)構(gòu)體中的外設(shè)數(shù)據(jù)寬度和存儲(chǔ)器數(shù)據(jù)寬度單位一致,有三種類(lèi)型:Byte(8位)、HalfWord(16位)、word(32位)。DMA_BufferSize設(shè)置的是DMA_CNDTRx寄存器的值,范圍為0至65535。

(5)DMA_PeripheralInc——外設(shè)地址寄存器是否遞增,配置參數(shù)如表10-16所示。

圖片

(6)DMA_MemoryInc——內(nèi)存地址是否遞增,配置參數(shù)如表10-17所示。

圖片

(7)DMA_PeripheralDataSize——外設(shè)數(shù)據(jù)寬度,根據(jù)外設(shè)數(shù)據(jù)寄存器的寬度可以選擇8位、16位、32位數(shù)據(jù)長(zhǎng)度,配置參數(shù)如表10-18所示。

圖片

(8)DMA_MemoryDataSize——存儲(chǔ)器數(shù)據(jù)寬度,可以選擇8位、16位、32位數(shù)據(jù)長(zhǎng)度,如果沒(méi)有特殊要求,應(yīng)與外設(shè)數(shù)據(jù)寬度保持一致,配置參數(shù)如表10-19所示。

圖片

(9)DMA_Mode ——DMA工作模式,可以設(shè)置為循環(huán)模式和非循環(huán)模式,配置參數(shù)如表10-20所示。

圖片

(10)DMA_Priority——DMA通道的優(yōu)先級(jí),配置參數(shù)如表10-21所示。

圖片

(11)DMA_M2M——使能DMA通道的存儲(chǔ)器到存儲(chǔ)器傳輸,配置參數(shù)如表10-22所示。

圖片

2、使能DMA通道

根據(jù)所使用的外設(shè),選擇使能對(duì)應(yīng)的DMA通道,代碼如下:

圖片

DMAy_Channelx:表示DMAx的通道號(hào);NewState:表示使能或使能,ENABLE-使能,DISABLE-失能。比如使能DMA1通道1,代碼如下:

圖片

3、DMA中斷初始化

DMA的每個(gè)通道都有3個(gè)事件標(biāo)志分別為DMA半傳輸、 DMA傳輸完成和DMA傳輸出錯(cuò),通過(guò)檢測(cè)這三個(gè)標(biāo)志位可以判斷當(dāng)前DMA的傳輸狀態(tài)。

DMA通道中斷初始化函數(shù)如下,對(duì)應(yīng)中斷標(biāo)志位參數(shù)如表10-23。

圖片

DMAy_Channelx:表示DMAx的通道號(hào);DMA_IT:表示使能的中斷類(lèi)型;NewState:表示使能或使能,ENABLE-使能,DISABLE-失能。比如使能DMA1通道1的傳輸完成中斷和傳輸錯(cuò)誤中斷,代碼如下:

圖片

圖片

4、中斷服務(wù)函數(shù)

DMA控制器的每個(gè)通道都有一個(gè)中斷服務(wù)函數(shù),以STM32F103ZE系列為例,一共有12通道,對(duì)應(yīng)著12個(gè)DMA通道服務(wù)函數(shù)。DMA通道服務(wù)函數(shù)名稱(chēng)如下:

圖片

圖片

進(jìn)入中斷函數(shù)后需要檢測(cè)中斷類(lèi)型,DMA通道中斷標(biāo)志位如表10-24所示。如果檢測(cè)到DMA傳輸完成后邊可以處理數(shù)據(jù),如果檢測(cè)到傳輸錯(cuò)誤標(biāo)志位,則需要舍棄數(shù)據(jù)或者重新開(kāi)始傳輸。中斷標(biāo)志位檢測(cè)函數(shù)如下:

圖片

對(duì)應(yīng)清除中斷標(biāo)志位函數(shù)如下:

圖片

圖片

610.6 ADC獨(dú)立模式規(guī)則組多通道轉(zhuǎn)換—DMA模式

由于ADC規(guī)則組多通道轉(zhuǎn)換時(shí),只能讀取到最后一個(gè)通道的數(shù)據(jù),因此ADC的多通道轉(zhuǎn)換天生適合DMA模式,當(dāng)每個(gè)通達(dá)轉(zhuǎn)換完畢后,發(fā)送DMA請(qǐng)求,通過(guò)DMA直接傳輸?shù)皆O(shè)定的內(nèi)存緩存區(qū)中,從而解決了ADC多通道轉(zhuǎn)換數(shù)據(jù)被覆蓋的問(wèn)題,同時(shí)CPU不需要頻繁讀取ADC的數(shù)據(jù),大幅提高執(zhí)行效率。

單ADC模式下,只有ADC1和ADC3擁有DMA功能。而雙ADC模式下ADC2轉(zhuǎn)換的數(shù)據(jù)通過(guò)ADC1的DMA功能傳輸。

STM32F103內(nèi)部溫度傳感器可以檢測(cè)芯片周?chē)臏囟龋С值臏囟确秶鸀椋?40~125度,精度為±1.5℃左右。計(jì)算公式為:T(℃) ={(V25-Vsense)/ Avg_Slope}+25,式中:V25表示:Vsense 在25度時(shí)的數(shù)值(典型值為1.43),Vsense為測(cè)得的通道16的電壓值;Avg_Slope表示:溫度與 Vsense 曲線的平均斜率(單位: mv/℃或 uv/℃)(典型值: 4.3mv/℃)。

STM32F103內(nèi)部還有一個(gè)標(biāo)準(zhǔn)電壓測(cè)量點(diǎn)V REFINT ,這個(gè)電壓不隨外部供電電壓的波動(dòng)而變化,因此有相對(duì)較高的精度。因此在外部參考電壓V REF+ 精確度不高時(shí),可以用內(nèi)部參考電壓來(lái)校正。

校準(zhǔn)方式如下:

首先讀出ADC1通道1轉(zhuǎn)換結(jié)果,記為ADch1;然后讀取內(nèi)部參照電壓VREFINT所在通道17的轉(zhuǎn)換結(jié)果,記為ADch17;記通道1被測(cè)量的模擬信號(hào)電壓為Uch1,則有:

圖片

注:VREFINT的典型值是1.20V,最小值是1.16V,最大值是1.24V。一般取V ~REFINT ~ = 1.2V。

通過(guò)公式(2)和(3)得出

圖片

V REF+ 由于容易受外界干擾,并不是標(biāo)準(zhǔn)的3.3V,而VREFINT是相對(duì)準(zhǔn)確的,因此通過(guò)內(nèi)部參考電壓校準(zhǔn)后,既可以測(cè)量通道電壓,又可以提高測(cè)量精度。

如果使用ADC1的內(nèi)部溫度傳感器(通道16)和參照電壓功能(通道17)需要使能這兩個(gè)功能。具體函數(shù)如下:

圖片

本節(jié)通過(guò)TIM3更新事件觸發(fā)ADC規(guī)則組3路通道轉(zhuǎn)換,分別用來(lái)測(cè)量板載電壓、內(nèi)部溫度傳感器、以及參照電壓的值,同時(shí)通過(guò)參照電壓計(jì)算板載電壓值,以此減少由于參考電壓V REF+ 不準(zhǔn)確導(dǎo)致的測(cè)量誤差。

首先ADC轉(zhuǎn)換時(shí)要避免因循環(huán)工作造成資源浪費(fèi),本節(jié)依舊采用外部觸發(fā)ADC規(guī)則組轉(zhuǎn)換,采用定時(shí)器3更新事件作為觸發(fā)源,間隔500ms觸發(fā)一次轉(zhuǎn)換。

其次,由于DMA工作在循環(huán)模式,如果讀取數(shù)據(jù)不及時(shí),容易出現(xiàn)數(shù)據(jù)讀取時(shí)被覆蓋。為此,將DMA緩沖區(qū)設(shè)置為被測(cè)數(shù)據(jù)的2倍大小,當(dāng)?shù)谝淮我?guī)則組3通道依次轉(zhuǎn)換完畢后,DMA將數(shù)據(jù)依次傳輸?shù)骄彌_區(qū)的前半?yún)^(qū),同時(shí)設(shè)置DMA傳輸過(guò)半標(biāo)志位,此時(shí)可以讀取當(dāng)前3通道轉(zhuǎn)換的數(shù)據(jù)。同時(shí)規(guī)則組繼續(xù)轉(zhuǎn)換,當(dāng)?shù)诙?個(gè)通道依次轉(zhuǎn)換完畢時(shí),轉(zhuǎn)換數(shù)據(jù)被存儲(chǔ)到緩沖區(qū)的后半?yún)^(qū),同時(shí)設(shè)置DMA傳輸完成標(biāo)志位,此時(shí)可以讀取第二次轉(zhuǎn)換的數(shù)據(jù)。

具體代碼如下:

圖片

圖片

圖片

圖片

圖片

710.7 練習(xí)

熟悉規(guī)則組與注入組混合轉(zhuǎn)換,通過(guò)TIM3_TRGO觸發(fā)規(guī)則組測(cè)量板載電壓和內(nèi)部溫度傳感器,通過(guò)TIM2_CCR1觸發(fā)注入組測(cè)量參照電壓值,并且通過(guò)內(nèi)部參照電壓的測(cè)量值,校準(zhǔn)板載電壓和內(nèi)部溫度傳感器。

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

    關(guān)注

    2550

    文章

    51037

    瀏覽量

    753085
  • 模數(shù)轉(zhuǎn)換器

    關(guān)注

    26

    文章

    3200

    瀏覽量

    126810
  • 預(yù)分頻器
    +關(guān)注

    關(guān)注

    0

    文章

    18

    瀏覽量

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

    關(guān)注

    0

    文章

    134

    瀏覽量

    12840
  • STM32F103ZE
    +關(guān)注

    關(guān)注

    2

    文章

    14

    瀏覽量

    10886
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    直接存儲(chǔ)器存取(DMA)簡(jiǎn)介及程序設(shè)計(jì)

    直接存儲(chǔ)器存取(DMA)用來(lái)提供在外設(shè)和存儲(chǔ)器之間或者存儲(chǔ)器和存儲(chǔ)器之間的高速數(shù)據(jù)傳輸。無(wú)須CPU干預(yù),數(shù)據(jù)可以通過(guò)DMA快速地移動(dòng),這就節(jié)省了CPU的資源來(lái)做其他操作。
    的頭像 發(fā)表于 06-01 09:01 ?8452次閱讀
    <b class='flag-5'>直接</b>存儲(chǔ)器<b class='flag-5'>存取</b>(<b class='flag-5'>DMA</b>)簡(jiǎn)介及程序設(shè)計(jì)

    ADC模數(shù)轉(zhuǎn)換

    adc模數(shù)轉(zhuǎn)換模擬與射頻
    jf_05471554
    發(fā)布于 :2022年07月31日 15:31:35

    DMA傳輸ADC轉(zhuǎn)換結(jié)果數(shù)據(jù)不正確

    )(&ADC1->DR); //DMA外設(shè)ADC1轉(zhuǎn)換結(jié)果基地址 DMA_InitStructure.DMA_MemoryBaseAddr
    發(fā)表于 08-24 15:21

    什么是DMA直接內(nèi)存訪問(wèn)

    大家好,這是關(guān)于DMA的非常基本的問(wèn)題。1)什么是DMA直接內(nèi)存訪問(wèn))和什么時(shí)候使用?2)它是如何提高CPU性能的?或如何獨(dú)立工作,以節(jié)省時(shí)間和更快的性能和減少延遲?3)什么是間接的
    發(fā)表于 01-25 10:45

    ADC就是模數(shù)轉(zhuǎn)換

    ADC輸入引腳,通常一個(gè)ADC控制器控制多個(gè)通道,如果需要多通道的話,就得進(jìn)行每個(gè)通道掃描了。l ADC DMA功能,DMA
    發(fā)表于 07-23 08:05

    ADC模數(shù)轉(zhuǎn)換

    縮寫(xiě)外設(shè)/單元ADC模數(shù)轉(zhuǎn)換器BKP備份寄存器CAN控制器局域網(wǎng)模塊DMA直接內(nèi)存存取控制器EX
    發(fā)表于 08-23 06:23

    模數(shù)轉(zhuǎn)換器的相關(guān)資料分享

    模數(shù)轉(zhuǎn)換器(Analog To Digital Converter)簡(jiǎn)稱(chēng)ADC(也可以寫(xiě)成A/D),是指將連續(xù)變化的模擬信號(hào)轉(zhuǎn)換為離散的數(shù)字信號(hào)的器件。 直接存儲(chǔ)器
    發(fā)表于 02-07 08:29

    dma是什么意思? 什么是dma?

    dma是什么意思? 什么是dma? DMA的英文拼寫(xiě)是“Direct Memory Access”,漢語(yǔ)的意思就是直接內(nèi)存訪問(wèn),是一種不經(jīng)
    發(fā)表于 04-17 17:06 ?3.6w次閱讀
    <b class='flag-5'>dma</b>是什么意思? 什么是<b class='flag-5'>dma</b>?

    STM32F2技術(shù)培訓(xùn)_模數(shù)轉(zhuǎn)換_ADC

    STM32F2 技術(shù)培訓(xùn)_模數(shù)轉(zhuǎn)換_ADC
    發(fā)表于 12-03 17:35 ?0次下載

    DMA直接內(nèi)存存取

    【*】程序簡(jiǎn)介 -工程名稱(chēng):DMA直接內(nèi)存存取 -實(shí)驗(yàn)平臺(tái): 秉火STM32 F429 開(kāi)發(fā)板 -MDK版本:5.16 -ST固件庫(kù)版本:1.5.1 【 !】功能簡(jiǎn)介: 使用
    發(fā)表于 12-13 15:09 ?9次下載

    PIC24H 系列中文參考手冊(cè)— 第28章 不帶DMA模數(shù)轉(zhuǎn)換器(ADC

    PIC24H 系列中文參考手冊(cè)— 第28章 不帶DMA模數(shù)轉(zhuǎn)換器(ADC
    發(fā)表于 05-25 17:19 ?4次下載

    基于STM32單片機(jī)ADC連續(xù)采集和DMA循環(huán)轉(zhuǎn)換

    描述:用ADC連續(xù)采集11路模擬信號(hào),并由DMA傳輸?shù)?b class='flag-5'>內(nèi)存。ADC配置為掃描并且連續(xù)轉(zhuǎn)換模式,ADC
    發(fā)表于 10-22 15:28 ?1.9w次閱讀

    基于浮點(diǎn)系列芯片ADSP2106x中的直接內(nèi)存存取技術(shù)研究

    直接內(nèi)存存取DMA)對(duì)計(jì)算機(jī)系統(tǒng)是非常重要的。它可以使CPU在運(yùn)行指令的同時(shí),系統(tǒng)能實(shí)現(xiàn)從外部存儲(chǔ)器或設(shè)備中存取數(shù)據(jù),也可以在CPU不參與
    發(fā)表于 07-10 19:21 ?1177次閱讀
    基于浮點(diǎn)系列芯片ADSP2106x中的<b class='flag-5'>直接</b><b class='flag-5'>內(nèi)存</b><b class='flag-5'>存取</b><b class='flag-5'>技術(shù)</b>研究

    ADC規(guī)則組多通道轉(zhuǎn)換-DMA模式

    模數(shù)轉(zhuǎn)換器(Analog To Digital Converter)簡(jiǎn)稱(chēng)ADC(也可以寫(xiě)成A/D),是指將連續(xù)變化的模擬信號(hào)轉(zhuǎn)換為離散的數(shù)字信號(hào)的器件。 直接存儲(chǔ)器
    發(fā)表于 12-04 11:21 ?10次下載
    <b class='flag-5'>ADC</b>規(guī)則組多通道<b class='flag-5'>轉(zhuǎn)換</b>-<b class='flag-5'>DMA</b>模式

    STM32U5 ADC+DMA配置演示

    隨意選擇ADC1的4個(gè)通道,掃描模式,連續(xù)轉(zhuǎn)換DMA傳輸轉(zhuǎn)換結(jié)果并令DMA工作在外設(shè)字到內(nèi)存
    的頭像 發(fā)表于 07-29 16:19 ?1831次閱讀
    STM32U5 <b class='flag-5'>ADC+DMA</b>配置演示
    主站蜘蛛池模板: 亚洲综合AV色婷婷五月蜜臀| 亚洲午夜精品A片久久软件| 亚洲精品美女久久久久99| 51精品少妇人妻AV一区二区| 宝贝好紧好爽再搔一点试視頻| 国产亚洲精品久久久久久入口| 久久久久久久伊人电影| 欧美午夜免费观看福利片| 亚洲 欧美 国产 综合 在线| 97在线免费观看视频| 国产亚洲精品免费视频| 欧美XXXX69学生HD| 在线观看国产高清免费不卡| 国产精品视频免费视频| 免费看美女的网站| 夜里18款禁用的免费B站动漫| 动漫美女被到爽了流漫画| 男人插曲女人的视频| 亚洲一区成人| 国产毛A片久久久久久无码| 免费在线观看的毛片| 曰本熟妇乱妇色A片在线| 国产精品久久久久久免费播放 | 囯产精品一区二区三区线| 蜜臀AV99无码精品国产专区| 亚洲中文无码永久免费| 国产日韩欧美有码在线视频| 日韩人妻精品久久日| YELLOW视频在线观看大全| 男人到天堂a线牛叉在线| 在线观看日韩一区| 久久精品国产清白在天天线| 亚洲精品视频观看| 狠狠插狠狠干| 亚洲精品国产AV成人毛片| 国产午夜电影院| 亚洲A片不卡无码久久尤物| 国产久久亚洲美女久久| 亚洲AV成人片色在线观看网站| 国产三级在线免费| 亚洲精品无码成人AAA片|