1. 程式人生 > >STM32處理器的AD難點整理

STM32處理器的AD難點整理

1.STM32的AD轉換,可以將轉換任務組織為兩個組:規則組和注入組。在任意多個通道上以任意順序進行的一系列轉換構成成組轉換。例如,可以如下順序完成轉換:通道3、通道8、通道2、通道2、通道0、通道2、通道2、通道15。在執行規則通道組掃描轉換時,如有例外處理則可啟用注入通道組的轉換。可以模糊的將注入組的轉換理解為AD轉換的中斷一樣,規則通道組的轉換是普通轉換,然而注入組的轉換條件滿足的情況下,注入組的轉換會打斷規則組的轉換。如果規則轉換已經在執行,為了在注入轉換後確保同步,所有的ADC(主和從)的規則轉換被停止,並在注入轉換結束時同步恢復。規則轉換和注入轉換均有外部觸發選項,規則通道轉換期間有DMA請求產生,而注入轉換則無DMA請求,需要用查詢或中斷的方式儲存轉換的資料。


2.規則組:此模式通過設定ADC_CR1暫存器上的DISCEN位啟用。它可以用來執行一個短序列的n次轉換(n<=8),此轉換是ADC_SQRx暫存器所選擇的轉換序列的一部分。數值n由ADC_CR1暫存器的DISCNUM[2:0]位給出。 一個外部觸發訊號可以啟動ADC_SQRx暫存器中描述的下一輪n次轉換,直到此序列所有的轉換完成為止。總的序列長度由ADC_SQR1暫存器的L[3:0]定義。 舉例: n=3,被轉換的通道 = 0、1、2、3、6、7、9、10 第一次觸發:轉換的序列為 0、1、2 第二次觸發:轉換的序列為 3、6、7 第三次觸發:轉換的序列為 9、10,併產生EOC事件 第四次觸發:轉換的序列 0、1、2,依次類推;
注入組:此模式通過設定ADC_CR1暫存器的JDISCEN位啟用。在一個外部觸發事件後,該模式按通道順序逐個轉換ADC_JSQR暫存器中選擇的序列。 一個外部觸發訊號可以啟動ADC_JSQR暫存器選擇的下一個通道序列的轉換,直到序列中所有的轉換完成為止。總的序列長度由ADC_JSQR暫存器的JL[1:0]位定義。 例子: n=1,被轉換的通道 = 1、2、3 第一次觸發:通道1被轉換 第二次觸發:通道2被轉換 第三次觸發:通道3被轉換,並且產生EOC和JEOC事件 第四次觸發:通道1被轉換,也是依次類推。

3.STM32的ADC的工作模式:
單次轉換模式:轉換一次則停止;
連續轉換模式:轉換完一次後即開始下一次轉換;
掃描模式:掃描一組模擬通道;
間斷模式:每觸發一次,轉換序列中n個通道。


4.因為規則通道轉換的值儲存在一個僅有的資料暫存器中,所以當轉換多個規則通道時需要使用DMA,這可以避免丟失已經儲存在ADC_DR暫存器中的資料。只有在規則通道的轉換結束時才產生DMA請求,並將轉換的資料從ADC_DR暫存器傳輸到使用者指定的目的地址。
注:  只有ADC1和ADC3擁有DMA功能。由ADC2轉化的資料可以通過雙ADC模式,利用ADC1的DMA功能傳輸。


5.雙ADC模式
(1)同步注入模式:此模式轉換一個注入通道組。外部觸發來自ADC1的注入組多路開關(由ADC1_CR2暫存器的JEXTSEL[2:0]選擇),它同時給ADC2提供同步觸發。
注意:  不要在2個ADC上轉換相同的通道(兩個ADC在同一個通道上的取樣時間不能重疊)。
(2)同步規則模式:此模式在規則通道組上執行。外部觸發來自ADC1的規則組多路開關(由ADC1_CR2暫存器的EXTSEL[2:0]選擇),它同時給ADC2提供同步觸發。
(3)快速交叉模式:此模式只適用於規則通道組(通常為一個通道)。外部觸發來自ADC1的規則通道多路開關。外部觸發產生後:
A.ADC2立即啟動並且
B.ADC1在延遲7個ADC時鐘週期後啟動
注意:最大允許取樣時間<7個ADCCLK週期,避免ADC1和ADC2轉換相同通道時發生兩個取樣週期的重疊。
(4)慢速交叉模式:此模式只適用於規則通道組(只能為一個通道)。外部觸發來自ADC1的規則通道多路開關。外部觸發產生後:
A.ADC2立即啟動並且
B.ADC1在延遲14個ADC時鐘週期後啟動
C.在延遲第二次14個ADC週期後ADC2再次啟動,如此迴圈。
(5)交替觸發模式:此模式只適用於注入通道組。外部觸發源來自ADC1的注入通道多路開關。
A.當第一個觸發產生時,ADC1上的所有注入組通道被轉換。
B.當第二個觸發到達時,ADC2上的所有注入組通道被轉換。
C.如此迴圈……
(6)獨立模式:此模式裡,雙ADC同步不工作,每個ADC介面獨立工作。
(7)混合的規則/注入同步模式:規則組同步轉換可以被中斷,以啟動注入組的同步轉換。
(8)混合的同步規則+交替觸發模式:規則組同步轉換可以被中斷,以啟動注入組交替觸發轉換。 顯示了一個規則同步轉換被交替觸發所中斷。
(9)混合同步注入+ 交叉模式:一個注入事件可以中斷一個交叉轉換。這種情況下,交叉轉換被中斷,注入轉換被啟動,在注入序列轉換結束時,交叉轉換被恢復。

相關推薦

STM32處理器AD難點整理

1.STM32的AD轉換,可以將轉換任務組織為兩個組:規則組和注入組。在任意多個通道上以任意順序進行的一系列轉換構成成組轉換。例如,可以如下順序完成轉換:通道3、通道8、通道2、通道2、通道0、通道2、通道2、通道15。在執行規則通道組掃描轉換時,如有例外處理則可啟用注入通

記錄使用Vue相關API開發專案時遇到的問題難點整理(不定時更新)

本文為整理記錄本人從17年初開始上手使用Vue以後,針對專案中業務需求所遇到到的各種問題及難點的解決方法整理?。 1、keep-alive元件快取: <!--這裡是需要快取的--> <keep-alive> <router-v

基於STM32處理器的USB HID模擬滑鼠鍵盤(2)

由於在報告描述符中使用了兩個Report ID,分別是0x01和0x02,前者是鍵盤的報告描述符的報告ID,後者是滑鼠的報告ID,HID的鍵盤和滑鼠傳送的資料格式參考文件: 根據文件編寫鍵盤和滑鼠的

STM32AD功能的連線配置方式------單AD多通道實現

一、為何使用ADC  為了能夠使用數位電路處理模擬訊號,必須將模擬訊號轉換成相應的數字訊號,方能送入數字系統(例如微型計算機)進行處理,而這一種從模擬訊號到數字訊號的轉換稱為模—數轉換,或簡稱為A/D(Analog to Digital)轉換[1]。當作為感測器的電路系統產出

nodejs學習過程中遇到的一些難點整理

1. app.use app.use 載入用於處理http請求的middleware(中介軟體),當一個請求來的時候,會依次被這些 middlewares處理 app.use順序執行 注意:app.use註冊的中介軟體,如果path引數為空,則預設為”/

聯發科MT7682芯片資料MT7682處理器資料整理

聯網 功耗 shadow 嗅探 ado 並且 流量控制 soft 單片機 聯發科技 MT7682S 是高度集成的系統單芯片,包含一個單片機,低功耗 1×××R 802.11n 2.4GHz Wi-Fi 子系統,以及 PMU。單片機為ARM Cortex-M4處理器,支持浮點

stm32第一章cortex-M3處理器概述

處理器特點 哈弗結構3級流水線核心 實現Thumb-2指令集,告別切換32位的arm指令和16位的Thumb指令,優化效能和程式碼密度 結合可配置的巢狀向量中段控制器Nvic,提供非遮蔽中斷NMI和32個通用物理中斷,並帶有8級的搶佔優向級 匯流排矩陣和介面應用 除錯支援-支援傳統JA

stm32 ad轉換

採集多個數據求平均值 u16 Get_Adc(u8 ch) { //設定指定ADC的規則組通道,一個序列,取樣時間 ADC_RegularChannelConfig(ADC1, ch, 1, ADC_SampleTime_239Cycles5 ); //ADC1,ADC通道

STM32通過DMA採集多通道AD

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

關於STM32的DMA整理的全域性函式 HAL_DMA.c介紹 (4)

/** * @brief 串列埠DMA傳送方式初始化 * @param USARTx :串列埠USART1.2.3 * DMA_Chx: DMA 通道 如:DMA1_Channel2 參考DMA手冊 * cmar : 傳送資料快取地址 例如 (u32)USART3_Buf

關於STM32的USART整理的全域性函式 HAL_USART.h介紹 (1)

串列埠的簡單介紹 (1)、物理上的連線至少3根,分別是Tx資料傳送線,Rx資料接收線,GND共用地線。(2)、0與1的約定。RS232電平,約定﹣5V至﹣25V之間的電壓訊號為1,﹢5V至﹢25V之間的電壓訊號為0 。TTL電平,約定5V的電壓訊號為1,0V電壓訊號為0 。CMOS電平,約定3

關於STM32的USART整理的全域性函式 HAL_USART.C介紹 (2)

函式及功能介紹: /** * @brief 結構體公共部分初始化 * @param[in] * @retval * 公共部分初始化為 0 或固定值的引數初始化,其餘引數另行初始化 */ void USARTx_PublicInit(USARTx_BufferType *USARTx

STM32 三路AD的使用方法

  void ADC_ChannelSelect(uint32_t ADChannel) { // ADC_ChannelConfTypeDef sConfig; sConfig.Channel = ADChannel; sConfig.Rank =

STM32操作24位AD晶片ADS1246

    ADS1246是TI公司大致在2009年中期推出的24位ADC,最高取樣速率可達2Ksps,其為單通道器件,與之相對應的還有ADS1247和ADS1248三通道器件,但特性並非完全一致。據TI資料介紹,ADS1246在ADS1247/ADS1248功能上做出簡

GCC_arm-none-eabi開發STM32,使用Openocd除錯,一些指令碼整理

Make ########################################################################################################################## # File automat

計算機二級Java筆記/重難點易錯點總結(按章節歸納整理

一、java的體系結構: 1、Java程式首先由編譯器轉換為標準位元組程式碼,然後由虛擬機器來解釋執行      Applet是java的一類特殊應用程式,它潛入HTML中,可以實現多媒體的使用者介面或複雜的計算,可以在瀏覽器上執行; 2、JDK的bin目錄下由編譯器、

C語言每日一函式之2:生成隨機數(含STM32/STM8使用AD獲取隨機數)

1、C語言生成偽隨機數 在C語言中,為了生成隨機數,可以使用如下兩個函式: void srand(unsigned int seed); int rand(void); srand()和rand()配合使用產生偽隨機數序列。 srand()函式用來生

STM32 SPI難點淺析

我用的是戰艦STM32開發板,兩個知識點,一:是STM32 SPI的原理;二:用STM32自帶的SPI對外部flash(W25Q64)的讀寫。一:STM32 SPI的原理       先上圖: 主模

關於Stm32定時器+ADC+DMA進行AD取樣的實現

原文出處:http://m.blog.csdn.net/article/details?id=46993553注:此STM32微控制器為STM32F103系列的 Stm32的ADC有DMA功能這都毋庸置疑,也是我們用的最多的!然而,如果我們要對一個訊號(比如脈搏訊號)進行定

STM32 I2C 難點

I2C 匯流排在所有嵌入式系統中用得極廣, 是一個工業級別的匯流排, 但由於STM32 是一個32位的MCU, 註定了他的I2C硬體介面將會功能強大, 但同時也會較難於控制,不象8位機,如AVR8位機的TWI(實際完全符合 I2C標準) 那麼易用. 以下是我的STM32 I