當前位置:首頁 > 工業(yè)控制 > 工業(yè)控制
[導讀]1 STM32微控制器介紹 STM32系列微控制器是ST公司基于Cortex-M3內(nèi)核的高集成度的微控制器。它在性能、價格、功耗和實時性方面樹立了一個新的標桿,集成了Cortex-M3內(nèi)核,以及雙ADC、多用途的通用時鐘TIMx、RTC、

1 STM32微控制器介紹
    STM32系列微控制器是ST公司基于Cortex-M3內(nèi)核的高集成度的微控制器。它在性能、價格、功耗和實時性方面樹立了一個新的標桿,集成了Cortex-M3內(nèi)核,以及雙ADC、多用途的通用時鐘TIMx、RTC、I2C、SPI、UART、CAN、DMA、USB等豐富的外設(shè)。其功耗在全速72MHz所有模塊都打開時也僅僅為36 mA,在低功耗模式下其功耗僅為2μA。

2 DMA和TIMx簡介
    STM32系列微控制器均含有DMA和通用時鐘TIMx模塊。其低端型號中僅包含DMA1,支持7個通道;高端型號還包括DMA2,支持5個通道。它的每個通道可任意指定工作模式,如內(nèi)存到內(nèi)存、內(nèi)存到外設(shè)或外設(shè)到內(nèi)存等。當涉及到外設(shè)時,一般是由外設(shè)來觸發(fā)DMA的一次傳輸,如串口收到數(shù)據(jù)的標志位可觸發(fā)DMA。
    DMA的每次傳輸都分為4個階段:申請仲裁、地址計算、總線存取和應(yīng)答。除總線存取階段,其他3個階段都只需要一個系統(tǒng)周期,并且不占用總線,可在DMA控制器內(nèi)部并發(fā)地執(zhí)行。總線存取階段,每個字(4字節(jié))的傳輸需要3個系統(tǒng)周期。DMA和CPU工作在交替方式下,不會相互阻塞。DMA各個通道可獨立設(shè)置優(yōu)先級,當訪問同一資源時高優(yōu)先級通道先獲得資源。
    DMA的使用比較簡單,每路DMA僅包括4個寄存器,用于指定DMA的工作模式、源地址、目標地址和傳輸次數(shù)。ST公司提供了很好的驅(qū)動庫,簡化了外設(shè)的使用,方便閱讀和移植。本文采用庫函數(shù)來展示功能。
    其通用時鐘是很有特色的外圍模塊,可實現(xiàn)多種復雜的功能。時鐘模塊內(nèi)部主要包含一個計數(shù)器和4個通道的比較/捕獲寄存器。時鐘可工作在捕獲或比較模式。在捕獲模式下,若有對應(yīng)的觸發(fā)信號,計數(shù)器的值會保存到比較/捕獲寄存器,并觸發(fā)中斷或DMA;在比較模式下,若計數(shù)器的值與比較/捕獲寄存器的值相等,則對外輸出預選設(shè)定好的信號,如高電平、低電平或電平反轉(zhuǎn)等。

3 采用DMA+TIMx實現(xiàn)多路方波的產(chǎn)生
    采用時鐘的4個比較/捕獲通道加DMA可以產(chǎn)生出4路不同頻率和占空比的方波。這里為簡化篇幅,只列出了產(chǎn)生一路方波的代碼?;驹硎牵簩r鐘的4個通道設(shè)置為反轉(zhuǎn)模式(即計數(shù)器與比較捕獲寄存器相等時,其對應(yīng)的CPU引腳電平發(fā)生反轉(zhuǎn)),設(shè)置計數(shù)器為向上計數(shù)到0xFFFF的模式;然后預先計算好需要引腳反轉(zhuǎn)的時刻,并使能對應(yīng)通道的DMA請求。這樣,當計數(shù)器與比較/捕獲寄存器的值相等時,由DMA將下一個需要引腳電平反轉(zhuǎn)的時刻送入到比較/捕獲寄存器。
    這里將DMA設(shè)置為從內(nèi)存到外設(shè)的半字(2個字節(jié))環(huán)形傳輸。開啟DMA全滿和半滿中斷,在中斷處理函數(shù)中不斷填充新的時刻值,即可保證產(chǎn)生的波形不間斷。假設(shè)存放時刻值的緩沖長度為N,則每N/2個點才中斷一次,這樣CPU就不需要頻繁進入中斷,執(zhí)行效率比較高。由此也可以看出,緩沖越大,對中斷響應(yīng)的實時性要求也越低,當然這時中斷的處理時間也越長。以下為示例代碼:
   
   
    需要注意的是,比較/捕獲寄存器的預加載功能必須禁止掉。我們需要的是寫入比較/捕獲寄存器的值立即與計數(shù)器相比較輸出,而無需等待一個更新事件。

4 采用DMA+TIMx實現(xiàn)多路方波的捕獲
    假設(shè)有一個方波需要記錄并分析。一種方案是設(shè)置CPU引腳在上升沿和下降沿中斷,然后在中斷中記錄該時刻。這種處理方式的實時性和效率會差一些,因為進出中斷本身就需要一定的指令周期(Cortex-M3為12+12或6+12個系統(tǒng)周期),而且需要考慮多個中斷同時發(fā)生的最壞情況,對可檢測方波的最大頻率有一定的限制。另一種方案是采用輪詢的方式不斷查詢該引腳的狀態(tài)并記錄上升沿和下降沿的時刻,這種方式下系統(tǒng)幾乎不能處理其他的任務(wù)了。
    采用DMA+TIMx的方式來捕獲上升沿和下降沿時刻,有利于提高系統(tǒng)的實時性和執(zhí)行效率。通過TIMx的捕獲功能將方波的電平跳變時刻記錄在比較/捕獲寄存器中,然后DMA將該值自動傳輸?shù)絻?nèi)存,只有當DMA觸發(fā)半滿或全滿事件時CPU才需要進入中斷處理數(shù)據(jù)。通過記錄方波的上升沿和下降沿時刻,然后將兩個時刻相減,進而就能得到所有低沿和高沿的寬度,最后進行后續(xù)的分析處理。這種方式下中斷頻率僅為方波頻率的4/N(N為緩沖區(qū)大小)。
    圖1為TIMx工作在捕獲模式下一個通道的示意圖。


    其中TI1為CPU引腳的輸入,經(jīng)過濾波(新的電平必須保持一定時間才認為有效,以防止高頻噪聲的干擾)后進入后繼的邊沿極性選擇,最后經(jīng)過分頻作為捕獲信號的輸入。這里TI2F為相鄰通道經(jīng)過濾波后的信號,也就是說一個引腳的信號可作為TIMx兩個通道的輸入捕獲信號,這樣信號只需要接一個CPU引腳就可以觸發(fā)兩個時鐘通道了。
    將輸入方波接到CPU一個引腳上,假設(shè)該引腳對應(yīng)于圖上的TI1,設(shè)定其在下降沿觸發(fā)通道1的捕獲事件,而其在上升沿觸發(fā)通道2的捕獲事件,事件發(fā)生后申請DMA將捕獲的比較/捕獲寄存器的值保存起來。示例代碼如下:
   
    其他部分與第3節(jié)中比較輸出的代碼基本一致。

5 總結(jié)
    測試中STM32系列微控制器工作在36 MHz,可產(chǎn)生出1路最高1.5 MHz的方波,可捕獲1 MHz的方波,而此時CPU的執(zhí)行幾乎不受影響。這里采用DMA來實現(xiàn)方波的產(chǎn)生和捕獲,極大地提高了系統(tǒng)的實時性和執(zhí)行效率,減少了中斷次數(shù),節(jié)省了寶貴的資源。這種方案也可以用來實現(xiàn)高效的模擬串口。
    DMA的傳輸需要多個系統(tǒng)周期的,例如采用DMA實現(xiàn)內(nèi)存到內(nèi)存的搬移,每次傳輸需要5個系統(tǒng)周期,而內(nèi)存到外圍的一次傳輸需要2個APB周期+5個AHB周期。這樣用上述方法產(chǎn)生的方波最小沿(低沿或高沿)為14個周期(包括比較/捕獲寄存器到內(nèi)部影子寄存器的傳輸?shù)?。若有更高的需求,應(yīng)考慮其他的實現(xiàn)方案。另外,若有多個DMA同時工作,應(yīng)考慮最壞情況下DMA的響應(yīng)時間,以避免錯誤發(fā)生。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉