日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀] STM32看門狗總結(jié)調(diào)原子哥的開發(fā)板一年多,基本上能用,但是對(duì)于STM32某些基本外設(shè)的工作機(jī)理還不甚明了。借此暑假的機(jī)會(huì)對(duì)各個(gè)外設(shè)的功能做一個(gè)簡(jiǎn)短的總結(jié),在提高自己基礎(chǔ)知識(shí)的同時(shí),也給其他同學(xué)提供

STM32看門狗總結(jié)

調(diào)原子哥的開發(fā)板一年多,基本上能用,但是對(duì)于STM32某些基本外設(shè)的工作機(jī)理還不甚明了。借此暑假的機(jī)會(huì)對(duì)各個(gè)外設(shè)的功能做一個(gè)簡(jiǎn)短的總結(jié),在提高自己基礎(chǔ)知識(shí)的同時(shí),也給其他同學(xué)提供一些參考。

先來(lái)看門狗部分的內(nèi)容。

看門狗部分內(nèi)容當(dāng)中較難理解的是窗口看門狗,其中窗口值設(shè)置以及如何引發(fā)復(fù)位更是很難搞懂,因此從根本上分析一下窗口看門狗的工作原理,而與其有關(guān)的中斷則略過。

stm32有兩個(gè)看門狗,獨(dú)立看門狗和窗口看門狗,其實(shí)兩者的功能是類似的,只是喂狗的限制時(shí)間不同。獨(dú)立看門狗有自己獨(dú)立的40Khz時(shí)鐘,不存在使能問題;而窗口看門狗使用的是PCLK1時(shí)鐘,需要先使能時(shí)鐘。以下是關(guān)于看門狗的具體說(shuō)明:

①、獨(dú)立看門狗是限制喂狗時(shí)間在0-x內(nèi),x由你的相關(guān)寄存器決定。喂狗的時(shí)間不能過晚。

②、窗口看門狗,所以稱之為窗口就是因?yàn)槠湮构窌r(shí)間是一個(gè)有上下限的范圍內(nèi),你可以通過設(shè)定相關(guān)寄存器,設(shè)定其上限時(shí)間和下限時(shí)間。喂狗的時(shí)間不能過早也不能過晚。

顯而易見的是,獨(dú)立看門狗比較簡(jiǎn)單,容易理解。

這里,主要對(duì)窗口看門狗的詳細(xì)含義作具體說(shuō)明。

看門狗的上窗口就是配置寄存器WWDG->CFR里設(shè)定的W[6:0];下窗口是0x40;當(dāng)窗口看門狗的計(jì)數(shù)器在上窗口之外,或是低于下窗口值都會(huì)產(chǎn)生復(fù)位。如上圖所講,當(dāng)計(jì)數(shù)器的值遞減到0x3f的計(jì)數(shù)時(shí)間內(nèi)未進(jìn)行喂狗操作,則會(huì)觸發(fā)復(fù)位;其次,如果在計(jì)數(shù)器值遞減到配置寄存器WWDG->CFR里設(shè)定的W[6:0]之前進(jìn)行喂狗操作,也會(huì)觸發(fā)復(fù)位。所以,在使用窗口看門狗時(shí),要設(shè)定兩個(gè)值,一個(gè)就是窗口看門狗的上窗口值,即配置寄存器WWDG->CFR里設(shè)定的W[6:0],另一個(gè)就是遞減計(jì)數(shù)器的計(jì)數(shù)初值。

再結(jié)合上圖中的邏輯關(guān)系分析一下:

如圖中所示標(biāo)號(hào),①③表示與門,②表示非或門;

1、當(dāng)T[6:0]>W[6:0]時(shí),比較器輸出的值是1,如果此時(shí)重裝載WWDG_CR,所以③就會(huì)輸出1,②的輸出也肯定是1,又因?yàn)槭鼓芰舜翱诳撮T狗,所以WWDG_CR的第7位WDGA也為1,即與門①的輸出是1,此時(shí)會(huì)觸發(fā)復(fù)位。簡(jiǎn)單的概括來(lái)說(shuō),就是當(dāng)遞減計(jì)數(shù)器的值在遞減到上窗口值W[6:0]之前進(jìn)行喂狗操作(即重裝載WWDG_CR),會(huì)觸發(fā)看門狗復(fù)位。

2、當(dāng)T[6:0]的第6位變?yōu)?時(shí),即T[6:0]的值變?yōu)?x3f,此時(shí)②的輸出肯定為1,而WDGA也為1,因此①的輸出是1,會(huì)觸發(fā)看門狗復(fù)位。簡(jiǎn)單的概括來(lái)說(shuō),就是當(dāng)遞減計(jì)數(shù)器的值在到達(dá)0x3f時(shí)仍未進(jìn)行喂狗操作(即重裝載WWDG_CR),同樣會(huì)觸發(fā)看門狗復(fù)位。

上窗口的值可以只有設(shè)定,7位二進(jìn)制數(shù)最大只可以設(shè)定為127(0x7f),最小又必須大于其下窗口的0x40,所以其取值范圍為64~127(0x40~0x7f),否則不能保證窗口。

配置寄存器WWDG->CFR寄存器中的[8:7]兩個(gè)位的設(shè)置為計(jì)數(shù)器設(shè)定時(shí)鐘分頻系數(shù),確定這個(gè)計(jì)數(shù)器可以定時(shí)的時(shí)間范圍,從而確定窗口的時(shí)間范圍。

窗口看門狗的時(shí)鐘來(lái)自于PCLK1,在時(shí)鐘配置中,其頻率為外部時(shí)鐘經(jīng)倍頻器后的二分頻時(shí)鐘,即為36Mhz,如上圖STM32時(shí)鐘樹所示。

窗口看門狗的超時(shí)公式如下:

36M時(shí)鐘下窗口看門狗的最小最大超時(shí)表:

表中數(shù)據(jù)的具體計(jì)算如下所示:

①、當(dāng)T[5:0]全部取0時(shí),7位計(jì)數(shù)器的值是0x40,此時(shí)距離復(fù)位值只能計(jì)數(shù)一次,在此時(shí)間之內(nèi)必須執(zhí)行喂狗操作,否則觸發(fā)復(fù)位。

從而可知各個(gè)WDGTB值下的最小超時(shí)時(shí)間,如WDGTB=0時(shí),

Twwdg=4096×2^0×1/36(us)=113us,依次可計(jì)算出其他WDGTB值下的最小超時(shí)時(shí)間。

②、當(dāng)T[5:0]全部取1時(shí),7位計(jì)數(shù)器的值是0x7f,此時(shí)距離復(fù)位值遞減計(jì)數(shù)0x40次(0x3f+1),在此時(shí)間之內(nèi)執(zhí)行喂狗操作可避免復(fù)位。

從而可知各個(gè)WDGTB值下的最大超時(shí)時(shí)間,如WDGTB=0時(shí),

Twwdg=4096×2^0×64/36(us)=7281.7us,依次可計(jì)算出其他WDGTB值下的最大超時(shí)時(shí)間。




STM32系列的CPU,有多達(dá)8個(gè)定時(shí)器,其中TIM1和TIM8是能夠產(chǎn)生三對(duì)PWM互補(bǔ)輸出的高級(jí)定時(shí)器,常用于三相電機(jī)的驅(qū)動(dòng),它們的時(shí)鐘由APB2的輸出產(chǎn)生。其它6個(gè)為普通定時(shí)器,時(shí)鐘由APB1的輸出產(chǎn)生。

通用定時(shí)器的定義:STM32的通用定時(shí)器是一個(gè)通過可編程預(yù)分頻器(PSC)驅(qū)動(dòng)的16位自動(dòng)裝載計(jì)數(shù)器(CNT)構(gòu)成。

功用:STM32的通用定時(shí)器可以被用于測(cè)量輸入信號(hào)的脈沖長(zhǎng)度(輸入捕獲)或者產(chǎn)生輸出波形(輸出比較和PWM)等。

分頻系數(shù):決定定時(shí)器的時(shí)基,即最小定時(shí)時(shí)間。

定時(shí)器的時(shí)鐘來(lái)源:

從圖中可以看出,定時(shí)器的時(shí)鐘不是直接來(lái)自APB1或APB2,而是來(lái)自于輸入為APB1或APB2的一個(gè)倍頻器。當(dāng)APB1的預(yù)分頻系數(shù)為1時(shí),這個(gè)倍頻器不起作用,定時(shí)器的時(shí)鐘頻率等于APB1的頻率;當(dāng)APB1的預(yù)分頻系數(shù)為其它數(shù)值(即預(yù)分頻系數(shù)為2、4、8或16)時(shí),這個(gè)倍頻器起作用,定時(shí)器的時(shí)鐘頻率等于APB1的頻率兩倍。

舉一個(gè)例子說(shuō)明。假定AHB=36MHz,因?yàn)锳PB1允許的最大頻率為36MHz,所以APB1的預(yù)分頻系數(shù)可以取任意數(shù)值;

當(dāng)預(yù)分頻系數(shù)=1時(shí),APB1=36MHz,TIM2~7的時(shí)鐘頻率=36MHz(倍頻器不起作用);

當(dāng)預(yù)分頻系數(shù)=2時(shí),APB1=18MHz,在倍頻器的作用下,TIM2~7的時(shí)鐘頻率=36MHz。

由于APB1不僅給通用定時(shí)器提供時(shí)鐘,還給其他外設(shè)提供時(shí)鐘,因此也體現(xiàn)了APB1rescaler設(shè)計(jì)的靈活性。

對(duì)自動(dòng)重裝載寄存器賦值,TIM_Period的大小實(shí)際上表示的是需要經(jīng)過TIM_Period次計(jì)數(shù)后才會(huì)發(fā)生一次更新或中斷。對(duì)TIM_Prescaler的設(shè)置,直接決定定時(shí)器的時(shí)鐘頻率。通俗點(diǎn)說(shuō),就是一秒鐘能計(jì)數(shù)多少次。比如算出來(lái)的時(shí)鐘頻率是2000,也就是一秒鐘會(huì)計(jì)數(shù)2000次,而此時(shí)如果TIM_Period設(shè)置為4000,即4000次計(jì)數(shù)后就會(huì)中斷一次。由于時(shí)鐘頻率是一秒鐘計(jì)數(shù)2000次,因此只要2秒鐘,就會(huì)中斷一次。發(fā)生中斷時(shí)間=(TIM_Prescaler+1)*(TIM_Period+1)/FLK。

同樣需要注意的,一進(jìn)入中斷服務(wù)程序,第一步要做的,就是清除掉中斷標(biāo)志位。以便下次中斷服務(wù)函數(shù)的順利執(zhí)行。

注意:APB1rescaler后得到的是通用定時(shí)器的時(shí)鐘源,再次基礎(chǔ)上進(jìn)行TIM_Prescaler的設(shè)置就得到通用定時(shí)器具體的時(shí)鐘頻率啦。所以小伙伴們千萬(wàn)不要把文中定時(shí)器中經(jīng)常提到的76MHz時(shí)鐘以及由(TIM_Prescaler+1)*/FLK計(jì)算得到的時(shí)鐘頻率搞混淆啦。

當(dāng)然,計(jì)數(shù)器的計(jì)數(shù)模式比較簡(jiǎn)單,這里沒有就其進(jìn)行詳細(xì)的說(shuō)明。

今天有同學(xué)問我PWM到底咋工作的?為啥這樣?。繛樯栋??直接把我問蒙了。所以今天就來(lái)總結(jié)一些通用定時(shí)器產(chǎn)生PWM輸出。

①、PWM主要就是控制頻率和占空比的:這兩個(gè)因素分別通過兩個(gè)寄存器控制:TIMX_ARR和TIMX_CCRX。ARR寄存器就是自動(dòng)重裝寄存器,也就是計(jì)數(shù)器記到這個(gè)數(shù)以后清零再開始計(jì),這樣PWM的頻率就是tim_frequency/(TIMX_ARR-1)。在計(jì)數(shù)時(shí)會(huì)不停的和CCRX寄存器中的數(shù)據(jù)進(jìn)行比較,如果小于的話是高電平或者低電平,計(jì)數(shù)值大于CCRX值的話電平極性反相。所以這也就控制了占空比。

②、TIM3-CNT中的數(shù)據(jù)從0計(jì)數(shù)到ARR中的值,當(dāng)計(jì)數(shù)到TIM3_CCRx接收到的數(shù)據(jù)大小時(shí),由高電平變?yōu)榈碗娖剑?dāng)CNT中的數(shù)值增加到ARR寄存器設(shè)定的值時(shí)就自動(dòng)清零,從0重新開始計(jì)數(shù),并產(chǎn)生一個(gè)計(jì)數(shù)溢出事件,從0計(jì)數(shù)到ARR值的這段時(shí)間是PWM的周期。設(shè)置CCRx的值用來(lái)改變PWM的占空比。

③、TIM3-CNT的值與TIM3_CCRx中的數(shù)據(jù)是自動(dòng)比較,TIM3-CNT的值與TIM3_CCRx中的數(shù)據(jù)相等時(shí),PWM是自動(dòng)產(chǎn)生跳變的,此過程是硬件實(shí)現(xiàn)的,在原子開發(fā)板的例程中找不到有關(guān)二者進(jìn)行比較的代碼,所以不要問在軟件中是如何實(shí)現(xiàn)的,因?yàn)槲艺伊撕荛L(zhǎng)時(shí)間沒找到。

④端口重映射

為了優(yōu)化64腳或100腳封裝的外設(shè)數(shù)目,可以把一些復(fù)用功能重新映射到其他引腳上。設(shè)置復(fù)用重映射和調(diào)試I/O配置寄存器(AFIO_MAPR)實(shí)現(xiàn)引腳的重新映射。這時(shí),復(fù)用功能不再映射到它們的原始分配上。(注意:重定義的引腳是固定的,不是想重定義到哪個(gè)引腳就可以到哪個(gè)引腳的!重映像一般只適用于100和144腳的封裝?。ň唧w看哪個(gè)外設(shè)))。

STM32上有很多I/O口,也有很多的內(nèi)置外設(shè)想I2C,ADC,ISP,USART等,為了節(jié)省引出管腳,這些內(nèi)置外設(shè)基本上是與I/O口共用管腳的,也就是I/O管腳的復(fù)用功能。但是STM32還有一特別之處就是:很多復(fù)用內(nèi)置的外設(shè)的I/O引腳可以通過重映射功能,從不同的I/O管腳引出,即復(fù)用功能的引腳是可通過程序改變的。但這些重映射并不是任意的,只有有些引腳可以重映射.具體哪些引腳stm32參考手冊(cè)上的GPIO與AFIO章節(jié)上有。一般是定時(shí)器,通信接口等數(shù)字系統(tǒng)的引腳可以重映射,adc,dac,時(shí)鐘這種與模擬量有關(guān)的不可以。

簡(jiǎn)單的說(shuō)STM32的IO有3個(gè)功能一個(gè)是默認(rèn)的,一個(gè)是復(fù)用,一個(gè)是重映射功能(這個(gè)其實(shí)也屬于復(fù)用),如果配置成復(fù)用,則將使用第2個(gè)功能,如果配置成復(fù)用,同時(shí)相應(yīng)的重映射也配置了,則將使用第3個(gè)功能。

STM32的部分重映射實(shí)例:


輸入捕獲實(shí)驗(yàn)

捕獲是如何實(shí)現(xiàn)的?與定時(shí)器有什么關(guān)系?它為什么就能夠捕獲到呢?

先入為主:可以利用定時(shí)器捕獲某些IO口的高電平脈寬,脈寬時(shí)間可以通過串口打印得到。

輸入捕獲模式可以用來(lái)測(cè)量脈沖寬度或者測(cè)量頻率。STM

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

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢(shì)抑制與過流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車場(chǎng)照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來(lái)解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉