国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于STM32的DMA研究及嵌入式互補(bǔ)脈寬發(fā)生器設(shè)計(jì)

2014-05-25 03:24周洪雁
關(guān)鍵詞:死區(qū)外設(shè)寄存器

周洪雁,宮 志

(1.大慶師范學(xué)院 物理與電氣信息工程學(xué)院,黑龍江 大慶163712 2.大慶油田有限責(zé)任公司 信息技術(shù)公司,黑龍江 大慶163000)

1 為CPU 減負(fù)DMA

1.1 DMA 功能簡(jiǎn)介

DMA,即為存儲(chǔ)器訪問(wèn),DMA 數(shù)據(jù)傳輸是按照地址空間的標(biāo)識(shí)來(lái)傳遞的。CPU 雖然初始化了DMA傳輸動(dòng)作,但是在實(shí)際的應(yīng)用當(dāng)中整個(gè)數(shù)據(jù)傳輸過(guò)程是不需要CPU 來(lái)參與的,完全由DMA 自身來(lái)實(shí)現(xiàn)數(shù)據(jù)的轉(zhuǎn)移,這也就是為什么在進(jìn)行大量多次的數(shù)據(jù)采集的時(shí)候,我們采用DMA 來(lái)實(shí)現(xiàn)數(shù)據(jù)的傳輸可以很大程度的提升處理器的處理速度,其實(shí)本質(zhì)并不是提升了CPU 的處理速度,而是讓CPU 有更多的時(shí)間去處理數(shù)據(jù)而不是浪費(fèi)在數(shù)據(jù)的傳輸上。

1.2 DMA 通道分析

STM32 的大多數(shù)外設(shè)可產(chǎn)生DMA 請(qǐng)求,可通過(guò)邏輯或的關(guān)系掛載到DMA 的使能端子,由于是邏輯或的關(guān)系故而同一時(shí)刻只能有一個(gè)請(qǐng)求被執(zhí)行。STM32 上所掛載外設(shè)的DMA 請(qǐng)求,可以通過(guò)填充相應(yīng)的結(jié)構(gòu)體來(lái)實(shí)現(xiàn)。

1.2.1 DMA1 通道簡(jiǎn)介

DMA 通道配置如圖1所示。

圖1 DMA 通道配置

圖1中的邏輯或,如同一個(gè)通道的DMA 請(qǐng)求,這里DMA1 為例(ADC3、TIM2_CH1、TIM4_CH3),需要強(qiáng)調(diào)的是這幾個(gè)參數(shù)在通道1 上是邏輯或的關(guān)系,所謂邏輯或就是同一時(shí)間DMA 只能響應(yīng)其中的一個(gè)。

1.2.2 DMA 中斷狀態(tài)寄存器

通常我們?cè)谂渲肈MA 的時(shí)候會(huì)開啟DMA 中斷,一旦數(shù)據(jù)傳輸結(jié)束會(huì)進(jìn)入中斷服務(wù)函數(shù),當(dāng)沒有開啟DMA 中斷的時(shí)候也可以通過(guò)查詢的方式來(lái)檢測(cè)DMA 是否傳輸完畢,這是因?yàn)镈MA 傳輸完畢后會(huì)有一個(gè)標(biāo)志位,該標(biāo)志位會(huì)置一來(lái)標(biāo)識(shí)DMA 傳輸結(jié)束,CPU 可以處理下一組數(shù)據(jù)了,然而這個(gè)標(biāo)志位是軟件置位的,置1 后不會(huì)自動(dòng)清零,需要軟件清零,所以在檢測(cè)到標(biāo)志位后首先進(jìn)行軟件清零,再進(jìn)入下一步操作,使DMA 工作在滿負(fù)荷狀態(tài),極大地提升CPU 的運(yùn)作效率。

1.2.3 DMA 中斷標(biāo)志清除寄存器

上面提到了標(biāo)志位需要通過(guò)軟件清零,同樣的中斷標(biāo)志位也是需要我們進(jìn)行軟件清零的,不同的是我們不能通過(guò)直接給中斷標(biāo)志寄存器寫0 來(lái)實(shí)現(xiàn)清零,需要通過(guò)給中斷標(biāo)志清除寄存器寫1 來(lái)實(shí)現(xiàn)對(duì)中斷標(biāo)志位的清零。同樣在進(jìn)入中斷之后,我們首先需要做的就是清除中斷標(biāo)志位。

2 TIM1 同時(shí)發(fā)生7 路三對(duì)互補(bǔ)脈寬系統(tǒng)

2.1 TIM1 內(nèi)部原理

高級(jí)定時(shí)器TIM1 或高級(jí)定時(shí)器TIM8 的本質(zhì)都是一個(gè)獨(dú)立于內(nèi)設(shè)掛載在CPU 上的外設(shè),就是一個(gè)16 位的可以自動(dòng)重新裝載的計(jì)數(shù)器,與普通單片機(jī)一樣該計(jì)數(shù)器的工作同樣不需要CPU 內(nèi)核的參與,它的時(shí)鐘驅(qū)動(dòng)是由一個(gè)可編程的預(yù)分頻從系統(tǒng)時(shí)鐘上獨(dú)立分支出來(lái)的,如圖2所示。高級(jí)定時(shí)器TIM1 適用領(lǐng)域較多,對(duì)于脈沖寬度的測(cè)量或者像普通單片機(jī)那樣生成產(chǎn)生輸出各種波形也是完全可以勝任的。

圖2 整體系統(tǒng)圖

2.2 TIM1 時(shí)鐘選擇與設(shè)定

根據(jù)內(nèi)部電路圖可知定時(shí)器1 與定時(shí)器8 掛載在APB2 預(yù)分頻器上,分頻因子可選1,2,4,8,16。而APB2 預(yù)分頻器掛載在AHB 預(yù)分頻上分頻因子可選1,2…512 故使能定時(shí)器1 時(shí)區(qū)別于常用的定時(shí)器。

2.3 死區(qū)的簡(jiǎn)介與設(shè)定

所謂死區(qū)就是在一組成對(duì)出現(xiàn)的互補(bǔ)脈寬上兩者之間并不是完全互補(bǔ)的而是存在一定的錯(cuò)位,所謂錯(cuò)位的這段時(shí)間就被稱之為死區(qū)。在配置STM32 生成互補(bǔ)脈寬的同時(shí)也可對(duì)死區(qū)進(jìn)行初始配置,可通過(guò)相關(guān)的寄存器使能死區(qū),同時(shí)也只需繼續(xù)填充相應(yīng)的結(jié)構(gòu)體即可完成對(duì)死區(qū)時(shí)間的配置。死區(qū)的設(shè)置函數(shù)里還有一個(gè)剎車功能,剎車功能有效電平設(shè)置為低電平的時(shí)候,倘若突然將該引腳拉低,原先正在輸出的互補(bǔ)脈寬會(huì)突然停止。

3 結(jié) 語(yǔ)

通過(guò)把基于STM32 的脈寬發(fā)生器用于實(shí)際工作領(lǐng)域,可以得到該脈寬發(fā)生器具有精度高和速度快的特點(diǎn),可以滿足一般的實(shí)驗(yàn)和生存需要。故該脈寬發(fā)生器的設(shè)計(jì)和開發(fā)具有一定的實(shí)際意義。

[1]黃智偉.全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽常用電路模塊制作[M].北京:北京航空航天大學(xué)出版社,2011.

[2]李全利,遲榮強(qiáng).單片機(jī)原題與接口技術(shù)[M].北京:高等教育出版社,2004.

[3]宋巖.Cortex-M3 權(quán)威指南[M].北京:北京大學(xué)出版社,2008.

猜你喜歡
死區(qū)外設(shè)寄存器
STM32和51單片機(jī)寄存器映射原理異同分析
具有輸入死區(qū)的分?jǐn)?shù)階Victor-Carmen 系統(tǒng)的有限時(shí)間同步(英)
Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
零電壓開關(guān)移相全橋的死區(qū)時(shí)間計(jì)算與分析
輸油站進(jìn)站壓力控制方案優(yōu)化
含有死區(qū)與間隙電動(dòng)舵機(jī)的反演控制
Microchip推出具備雙ADC外設(shè)的全新器件,擴(kuò)展其低成本8位PIC?單片機(jī)產(chǎn)品線
高速數(shù)模轉(zhuǎn)換器AD9779/AD9788的應(yīng)用
一種可重構(gòu)線性反饋移位寄存器設(shè)計(jì)
外設(shè)天地行情
区。| 临清市| 莱西市| 阳城县| 绵阳市| 阳泉市| 宁强县| 秦皇岛市| 兰考县| 喀喇| 游戏| 黔江区| 寻乌县| 那坡县| 民乐县| 永善县| 吉木萨尔县| 河津市| 巩义市| 定日县| 东宁县| 华安县| 乐都县| 平谷区| 贵定县| 博白县| 高淳县| 临夏县| 龙陵县| 塘沽区| 普宁市| 天等县| 湄潭县| 黎城县| 莲花县| 呼玛县| 铅山县| 衡山县| 梓潼县| 武胜县| 郯城县|