熟女人妻水多爽中文字幕,国产精品鲁鲁鲁,隔壁的少妇2做爰韩国电影,亚洲最大中文字幕无码网站

技術頻道

娓娓工業
您現在的位置: 中國傳動網 > 技術頻道 > 應用方案 > 淺析設計在stm32中的復位電路

淺析設計在stm32中的復位電路

時間:2018-08-10 14:40:24來源:網絡轉載

導語:?說到復位,我們都不會陌生,系統基本都有一個復位按鍵。復位的種類有很多:上電復位、掉電復位、復位引腳復位、看門狗復位、軟件復位等。本文探討的就是在stm32中復位電路如何設計。

說到復位,我們都不會陌生,系統基本都有一個復位按鍵。復位的種類有很多:上電復位、掉電復位、復位引腳復位、看門狗復位、軟件復位等。本文探討的就是在stm32中復位電路如何設計。

STM32介紹

STM32系列基于專為要求高性能、低成本、低功耗的嵌入式應用專門設計的ARMCortex?-M0,M0+,M3,M4和M7內核在STM32F105和STM32F107互連型系列微控制器之前,意法半導體已經推出STM32基本型系列、增強型系列、USB基本型系列、互補型系列;新系列產品沿用增強型系列的72MHz處理頻率。內存包括64KB到256KB閃存和20KB到64KB嵌入式SRAM。

新系列采用LQFP64、LQFP100和LFBGA100三種封裝,不同的封裝保持引腳排列一致性,結合STM32平臺的設計理念,開發人員通過選擇產品可重新優化功能、存儲器、性能和引腳數量,以最小的硬件變化來滿足個性化的應用需求。

stm32復位電路設計

位電路的作用是為了是系統恢復到初始狀態的,單片機的復位方式也是存在好幾種的:上電復位,系統復位,備份區域復位

上電復位:其產生的條件是,當系統上電、掉電,以及系統從待機模式返回時,發生電源復位。電源復位能夠復位除了備份區域寄存器之外的所有寄存器的狀態。

系統復位:以下任一事件發生時,均能產生一個系統復位:

1.NRST引腳上的低電平(外部復位)

2.窗口看門狗計數終止(WWDG復位)

3.獨立看門狗計數終止(IWDG復位)

4.軟件復位(SW復位)

5.低功耗管理復位

系統復位能夠復位除時鐘控制寄存器CRS中的復位標志和備份區域中的寄存器之外的所有寄存器。

備份區域復位:對于備份區域的復位,一種是在軟件復位的時候設定備份區域控制寄存器中的對應位產生的;另一種是當電源和電池都掉電又重新上電時產生的。

平常我們常用的復位方式有兩種,一種是NRST引腳的低電平復位,通過按鍵復位電路給這個引腳一個低電平,讓系統完成復位,另一種大家都知道,那就是上電復位了,有時候是復位電路莫名失效了,有時是剛啟動的時候,雖然用的沒有按鍵復位電路多,不過也算是很常用的一種復位方式了。按鍵復位電路直接給圖了,網上的講解可能把這電路圖都講爛了,我就不費口舌了。

電容充電時間計算:T=1.1RC=1.1*10000*0.0000001=0.0011s=1.1ms

STM32內核復位與系統復位

內核復位與系統復位的區別

本文說的內核是指處理器內核,也就是MPU(MicroprocessorUnit)。比如STM32F103,其內核就是Cortex-M3內核。

而這里的系統就是包含內核和外設,也就是MCU(MicrocontrollerUnit),對于STM32F103來說,就是Cortex-M3內核+各種外設接口。

內核復位:只復位Cortex-M3處理器,而不復位外設如GPIO、TIM、USART、SPI等的寄存器。

系統復位:即復位Cortex-M3處理器,又復位外設寄存器。

因此,我們常說的復位一般指的是系統復位。

內核復位與系統復位的函數源代碼

本文以Cortex-M3(STM32F103)為例來說明,其他芯片類似。

編寫了4個復位函數,內核復位(C語言)、內核復位(匯編)和系統復位(C語言)、系統復位(匯編):

voidNVIC_CoreReset(void);//內核復位(C語言)

voidNVIC_CoreReset_a(void);//內核復位(匯編)

voidNVIC_SystemReset(void);//系統復位(C語言)

voidNVIC_SystemReset_a(void);//系統復位(匯編)

在ST官方庫中的core_cm3.h文件中已經提供了NVIC_SystemReset的C語言源代碼。

Cortex-M3允許由軟件觸發復位序列,用于特殊的調試或維護。在Cortex-M3中,有兩種方法可以實現自我復位。

第一種方法:置位NVIC中應用程序中斷與復位控制寄存器(AIRCR)的VECTRESET位(位偏移:0)。

NVIC_CoreReset內核復位

這種復位的作用范圍覆蓋了整個Cortex-M3處理器,除了調試邏輯之外的所有角落,但是它不會影響到Cortex-M3處理器外部的任何電路,所以STM32上的各片上外設和其它電路都不受影響。

編寫的NVIC_CoreReset函數C語言源碼:

staTIc__INLINEvoidNVIC_CoreReset(void)

{

__DSB();

//置位VECTRESET

SCB-》AIRCR=((0x5FA《《SCB_AIRCR_VECTKEY_Pos)|

(SCB-》AIRCR&SCB_AIRCR_PRIGROUP_Msk)|

SCB_AIRCR_VECTRESET_Msk);

__DSB();

while(1);

}匯編版函數源碼:

__asmvoidNVIC_CoreReset_a(void)

{

LDRR0,=0xE000ED0C

LDRR1,=0x05FA0001//置位VECTRESET

STRR1,[R0]

deadloop_Core

Bdeadloop_Core

}

內核復位主要注意:SCB_AIRCR_VECTRESET_Msk和LDRR1,=0x05FA0001,這是和系統復位唯一的區別。

第二種方法:置位NVIC中應用程序中斷與復位控制寄存器(AIRCR)的SYSRESETREQ位(位偏移:2)。

NVIC_SysReset系統復位

系統復位是置位同一個寄存器中的SYSRESETREQ位。這種復位則會波及整個芯片上的電路:它會使Cortex-M3處理器把送往系統復位發生器的請求線置為有效。但是系統復位發生器不是Cortex-M3的一部分,而是由芯片廠商實現,因此不同的芯片對此復位的響應也不同。因此,讀者需要認真參閱芯片規格書,明白當發生片內復位時,各外設和功能模塊都會回到什么樣的初始狀態,或者有哪些功能模塊不受影響(比如,STM32系列的芯片有后備存儲區,該區就被特殊對待)。

大多數情況下,復位發生器在響應SYSRESETREQ時,它也會同時把Cortex-M3處理器的系統復位信號(SYSRESETn)置為有效。通常,SYSRESETREQ不應復位調試邏輯。

這里有一個要注意的問題:從SYSRESETREQ被置為有效到復位發生器執行復位命令,往往會有一個延時。在此延時期間,處理器仍然可以響應中斷請求。但我們的本意往往是要讓此次執行到此為止,不要再做任何其它事情了。所以,最好在發出復位請求前,先把FAULTMASK置位。可以采用下列匯編語句:__disable_fault_irq();。

core_cm3.h中提供的NVIC_SystemReset函數C語言源碼:

staTIc__INLINEvoidNVIC_SystemReset(void)

{

SCB->AIRCR=((0x5FA<

(SCB->AIRCR&SCB_AIRCR_PRIGROUP_Msk)|

SCB_AIRCR_SYSRESETREQ_Msk);

__DSB();/*EnsurecompleTIonofmemoryaccess/

while(1);/*waitunTIlreset*/

}

匯編版函數:

__asmvoidNVIC_SysReset_a(void)

{

LDRR0,=0xE000ED0C

LDRR1,=0x05FA0004

STRR1,[R0]

deadloop_Sys

Bdeadloop_Sys

}

結語

某些系統允許復位,但對外設又有特殊要求:某一個IO狀態不能因為復位而改變,某一個定時器計數器不能改變等。例子:A系統通過一個IO控制B系統的電源,而這個IO置高時才開啟B系統的電源。

正常工作過程中,B系統只有收到A系統關機命令任務才會進行關機(也就是說不能掉電關機),而A系統在工作過程中有復位的需求。

這個時候如果使用常規的復位方式,就會復位IO,不符合要求。如果有一種方式只復位內核而不復位外設就好了。

關于stm32復位電路相關介紹就到這了,希望通過本文能讓你對stm32復位電路有更深的認識,如有不足之處還望海涵。

標簽:

點贊

分享到:

上一篇:一文Get機器人常見故障及解決...

下一篇:歐式起重機的維護方法

中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.hysjfh.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。

本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。

網站簡介|會員服務|聯系方式|幫助信息|版權信息|網站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網-工業自動化與智能制造的全媒體“互聯網+”創新服務平臺

網站客服服務咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權所有
粵ICP備 14004826號 | 營業執照證書 | 不良信息舉報中心 | 粵公網安備 44030402000946號

主站蜘蛛池模板: 青岛市| 五台县| 永宁县| 阳泉市| 上林县| 米脂县| 南京市| 栾川县| 伊川县| 平凉市| 策勒县| 虎林市| 尉氏县| 息烽县| 唐海县| 永济市| 永宁县| 广南县| 永兴县| 封丘县| 双江| 大悟县| 依兰县| 大石桥市| 静海县| 丹寨县| 阿巴嘎旗| 金川县| 河西区| 江西省| 乐业县| 昌邑市| 广南县| 浦县| 固阳县| 高要市| 郴州市| 琼结县| 额尔古纳市| 甘孜| 察雅县|