STM32的時(shí)鐘體系可以直接以圖概括(摘自STM32F10X參考手冊(cè))
下面就此圖做分析
1. STM32輸入時(shí)鐘源
1.1 時(shí)鐘源的作用
無(wú)論是小型單片機(jī)還是像STM32這樣高級(jí)單片機(jī),它們工作的核心都是大規(guī)模的時(shí)序邏輯電路,而驅(qū)動(dòng)時(shí)序邏輯電路的關(guān)鍵則是準(zhǔn)確而又穩(wěn)定的時(shí)鐘源。它的作用就像小學(xué)在操場(chǎng)上做廣播體操時(shí)候播放的背景音樂(lè),用于協(xié)調(diào)和同步各單元運(yùn)行,為時(shí)序電路提供基本的脈沖信號(hào)。
1.2 STM32時(shí)鐘源的設(shè)計(jì)
在51單片機(jī)中,一般都外接一個(gè)11.0592MHz的晶振,注意,提供時(shí)鐘的不是晶振,而是RC時(shí)鐘電路,而晶振只是時(shí)鐘電路的元件之一。同理,在STM32中,時(shí)鐘源也是由RC時(shí)鐘電路產(chǎn)生,與51單片機(jī)的區(qū)別是區(qū)別在于,RC電路的位置。根據(jù)RC電路的位置,可以將STM32的時(shí)鐘源分為內(nèi)部時(shí)鐘電路和外部時(shí)鐘、內(nèi)外部時(shí)鐘電路。
(1)內(nèi)部時(shí)鐘電路:
晶體振蕩器和RC時(shí)鐘電路都在STM32芯片內(nèi)部,如圖中標(biāo)注1、標(biāo)注4。
標(biāo)注1處是產(chǎn)生8MHz的時(shí)鐘源,稱為HSI,高速內(nèi)部時(shí)鐘源(H意為高速,S意為源,I意為內(nèi)部);
標(biāo)注4處是產(chǎn)生32KHz的時(shí)鐘源,稱為L(zhǎng)SI,低速內(nèi)部時(shí)鐘源;
(2)內(nèi)外部時(shí)鐘電路:
晶體振蕩器在STM32芯片外部,RC時(shí)鐘電路在STM32芯片內(nèi)部,如圖中標(biāo)注2、標(biāo)注3。
標(biāo)注2處是產(chǎn)生4-16MHz的時(shí)鐘源,稱為HSE,高速外部時(shí)鐘源;
標(biāo)注3是產(chǎn)生32.768KHz的時(shí)鐘源,稱為L(zhǎng)SE,低速外部時(shí)鐘源;
OSC_OUT和OSC_IN、OSC32_OUT和OS32_IN分別接晶振的兩個(gè)引腳。前者一般接8MHz晶振;后者一定接32.768KHz,因?yàn)檫@個(gè)時(shí)鐘源是供給RTC實(shí)時(shí)時(shí)鐘使用的。在51單片機(jī)中沒(méi)有集成RTC模塊,在做電子時(shí)鐘時(shí)用到的DS1302集成芯片時(shí),也是為其提供的也是32.768KHz的晶振。
(3)外部時(shí)鐘電路
晶體振蕩電路和RC時(shí)鐘電路都在STM32芯片外部。如圖中標(biāo)注2、標(biāo)注3。
OSC_OUT和OSC_IN、OSC32_OUT和OS32_IN除了分別接晶振的兩個(gè)引腳,對(duì)于OSC_IN和OSC32_IN引腳,還可以接入外部的RC時(shí)鐘電路,其時(shí)鐘源直接由外部供給,不過(guò)這種方案少見(jiàn)。
綜上所述,STM32的時(shí)鐘源有4個(gè): HSI、HSE和LSI、LSE。
HSI時(shí)鐘源,它是在由STM32在內(nèi)部用RC振蕩電路實(shí)現(xiàn)的高速內(nèi)部時(shí)鐘源。HIS RC振蕩器能夠在不需要任何外部期間的條件下提供系統(tǒng)時(shí)鐘,它的啟動(dòng)時(shí)間比HSE晶體振蕩器短,但是不精準(zhǔn),即使在校準(zhǔn)之后它的時(shí)鐘頻率精度仍較差。在手冊(cè)中還明確說(shuō),當(dāng)HSI被用作PLL時(shí)鐘輸入時(shí),系統(tǒng)時(shí)鐘能得到的最大頻率是61MHz,這顯然不能發(fā)揮STM32最極致的性能。
1.3 時(shí)鐘信號(hào)通道選擇
雖然HSI不精準(zhǔn),但是鑒于啟動(dòng)速度原因考慮,STM32上電復(fù)位,默認(rèn)是采用HSI時(shí)鐘源的,當(dāng)然開(kāi)發(fā)者可以不修改這個(gè)時(shí)鐘源,那么系統(tǒng)將一直工作在一個(gè)時(shí)鐘源不穩(wěn)定不精準(zhǔn)的環(huán)境下。
然而一般做法是改變時(shí)鐘源,將時(shí)鐘源改為HSE。改變時(shí)鐘源的通道是在相關(guān)寄存器設(shè)置的,在圖中的PLLSRC可以實(shí)現(xiàn)對(duì)這兩個(gè)頻率的切換。
1.4 鎖相環(huán)倍頻器PLL/預(yù)分頻器Prescaler
STM32的cpu的工作常規(guī)頻率是72MHZ(超過(guò)72MHz工作稱為超頻工作,CPU耗電加劇,且會(huì)發(fā)燙),但是我們接入的晶振是8MHz,這就需要一個(gè)對(duì)頻率加倍的操作,即倍頻。如圖中的PLLMUL,PLLMULL實(shí)現(xiàn)對(duì)接入時(shí)鐘源的倍頻,如x2、x3、x4…倍頻后的時(shí)鐘源為PLLCLK。
預(yù)分頻器是實(shí)現(xiàn)對(duì)頻率削減作用的。倍頻器將HSE倍頻之后提供給cpu,但是除了cpu之外,其他片內(nèi)外設(shè),如SPI控制模塊、IIC控制模塊等的工作同樣需要時(shí)鐘源,這些外設(shè)的時(shí)鐘源肯定是低于cpu運(yùn)行時(shí)鐘的,例如USB通訊才需要48MHz,所以需要對(duì)倍頻后的時(shí)鐘源進(jìn)行分頻。一般芯片的分頻做法都是對(duì)一個(gè)時(shí)鐘源倍頻后供給某些部件,其他低于此倍頻后的時(shí)鐘都是基于此時(shí)鐘源來(lái)分頻的。用戶可通過(guò)多個(gè)預(yù)分頻器配置AHB,高速APB(APB2)和低速APB(APB1)域的頻率。AHB和APB2域的最大頻率是72MHz。APB1域的最大允許頻率是36MHz。SDIO接口的時(shí)鐘頻率固定在HCLK / 2。
經(jīng)過(guò)時(shí)鐘源的選擇、分頻/倍頻,就可以到HCLK(高性能總線AHB用)、FCLK(供給cpu內(nèi)核的用,常說(shuō)的cpu主頻)、PCLK(高性能外設(shè)總線APB)、USBCLK、TIMXCLK、TIM1CLK、RTCCLK等,外設(shè)是掛載STM32的總線上的,具體哪個(gè)外設(shè)掛載哪個(gè)總線,看下圖:
在軟件開(kāi)發(fā)中,我們要做的也無(wú)非設(shè)置門(mén)電路以選擇時(shí)鐘源輸入、倍頻/分頻系數(shù)和打開(kāi)/關(guān)閉對(duì)應(yīng)外設(shè)所在總線的時(shí)鐘。
2. STM32輸出時(shí)鐘源
圖中的MCO功能模塊,可以將PLLCLK / 2、HSI、HSE、SYSCLK輸出,供給其他系統(tǒng)作為輸入時(shí)鐘源,對(duì)這一功能模塊也是又相應(yīng)的寄存器,圖中以MCO標(biāo)注。
3. 系統(tǒng)滴答Systick
Systick就是一個(gè)定時(shí)器而已,只是它放在了NVIC中,主要的目的是為了給操作系統(tǒng)提供一個(gè)硬件上的中斷,稱之為滴答中斷操作系統(tǒng)進(jìn)行運(yùn)轉(zhuǎn)的時(shí)候,也會(huì)有時(shí)間節(jié)拍。它會(huì)根據(jù)節(jié)拍來(lái)工作,把整個(gè)時(shí)間段分成很多小小的時(shí)間片,而每個(gè)任務(wù)每次只能運(yùn)行一個(gè)時(shí)間片的時(shí)間長(zhǎng)度,超時(shí)就退出給別的任務(wù)運(yùn)行,這樣可以確保任何一個(gè)任務(wù)都不會(huì)霸占操作系統(tǒng)提供的各種定時(shí)功能,都與這個(gè)滴答定時(shí)器有關(guān)。因此,需要一個(gè)定時(shí)器來(lái)產(chǎn)生周期性的中斷,而且最好還讓用戶程序不能隨意訪問(wèn)它的寄存器,以維持操作系統(tǒng)的節(jié)拍。只要不把它在SysTick控制及狀態(tài)寄存器中的使能位清除,就一直執(zhí)行。
RCC(復(fù)位與時(shí)鐘控制器)通過(guò)AHB時(shí)鐘(HCLK)8分頻后作為Cortex系統(tǒng)定時(shí)器(SysTick)的外部時(shí)鐘。通過(guò)對(duì)SysTick控制與狀態(tài)寄存器的設(shè)置,可選擇上述時(shí)鐘或Cortex(HCLK)時(shí)鐘作為SysTick時(shí)鐘(后者圖中沒(méi)畫(huà)出)。另外,還有其他時(shí)鐘,如USB時(shí)鐘,ADC時(shí)鐘、獨(dú)立看門(mén)狗時(shí)鐘等,它們各自的時(shí)鐘源通過(guò)前面學(xué)習(xí),也可以輕易分析出來(lái),這里不再贅述。
4. 時(shí)鐘相關(guān)的寄存器
時(shí)鐘體系涉及到的寄存器有
RCC_CR RCC_CFGR RCC_CIR RCC_APB2RSTR RCC_APB1RSTR RCC_AHBENR RCC_APB2ENR RCC_APB1ENR RCC_BDCR RCC_CSR12345678910
這些寄存器的作用直接看數(shù)據(jù)可知,編程使用部分后續(xù)補(bǔ)充。
上一篇:STM32要使用JTMS(PA13)、 JTCK(PA14)作為普通I/O口
下一篇:STM32使用內(nèi)部振蕩器及其和外部晶體振蕩器的區(qū)別
推薦閱讀
史海拾趣
DURATOOL公司自成立以來(lái),一直致力于電子工具的技術(shù)創(chuàng)新。在20世紀(jì)90年代,公司研發(fā)出了一款具有革命性的數(shù)字萬(wàn)用表,該產(chǎn)品在精確度、穩(wěn)定性和操作便捷性方面均大幅超越當(dāng)時(shí)的市場(chǎng)主流產(chǎn)品。這一創(chuàng)新不僅為DURATOOL公司贏得了大量忠實(shí)用戶,也為其在電子測(cè)量工具市場(chǎng)樹(shù)立了技術(shù)領(lǐng)先的形象。隨后,DURATOOL公司不斷加大研發(fā)投入,推出了一系列具有競(jìng)爭(zhēng)力的新產(chǎn)品,逐步鞏固了其在電子工具行業(yè)的領(lǐng)先地位。
作為一家有社會(huì)責(zé)任感的企業(yè),Electrocube Inc公司始終關(guān)注環(huán)保問(wèn)題。公司積極采用環(huán)保材料和生產(chǎn)工藝,減少生產(chǎn)過(guò)程中的污染排放。同時(shí),公司還積極參與環(huán)保公益活動(dòng),推動(dòng)電子行業(yè)的綠色發(fā)展。這種對(duì)環(huán)保的關(guān)注和踐行,使得Electrocube Inc公司在業(yè)界樹(shù)立了良好的形象。
Ark-Les Connectors公司的成功離不開(kāi)一支高素質(zhì)的團(tuán)隊(duì)。公司注重人才培養(yǎng)和團(tuán)隊(duì)建設(shè),通過(guò)提供完善的培訓(xùn)體系和晉升機(jī)制,吸引和留住了一批優(yōu)秀的研發(fā)、生產(chǎn)、銷售和管理人才。這些人才為公司的發(fā)展提供了源源不斷的動(dòng)力和創(chuàng)新力。同時(shí),公司還倡導(dǎo)團(tuán)隊(duì)合作精神,鼓勵(lì)員工之間的溝通與協(xié)作,共同為公司的發(fā)展貢獻(xiàn)力量。這種良好的團(tuán)隊(duì)氛圍使得Ark-Les能夠在面對(duì)市場(chǎng)挑戰(zhàn)時(shí)保持凝聚力和戰(zhàn)斗力,實(shí)現(xiàn)持續(xù)穩(wěn)健的發(fā)展。
這些故事只是基于電子行業(yè)一般發(fā)展規(guī)律的虛構(gòu)情景,旨在展示一個(gè)公司可能的發(fā)展路徑和策略。實(shí)際的電子行業(yè)發(fā)展過(guò)程中,公司的發(fā)展會(huì)受到眾多因素的影響,包括市場(chǎng)環(huán)境、技術(shù)變革、政策調(diào)整等。因此,讀者在理解這些故事時(shí),應(yīng)結(jié)合實(shí)際情況進(jìn)行思考和判斷。
Hendon Semiconductors的起源可以追溯到上世紀(jì)90年代,當(dāng)時(shí)它是Philips半導(dǎo)體在澳大利亞的一個(gè)分支機(jī)構(gòu)。1997年,隨著業(yè)務(wù)重組和戰(zhàn)略調(diào)整,該分支機(jī)構(gòu)轉(zhuǎn)變?yōu)楠?dú)立運(yùn)營(yíng)的公司,并更名為Integrated Electronic Solutions Pty. Ltd。這一轉(zhuǎn)變標(biāo)志著Hendon Semiconductors在電子設(shè)計(jì)與制造領(lǐng)域邁出了重要一步。通過(guò)繼承Philips半導(dǎo)體的技術(shù)遺產(chǎn)和市場(chǎng)資源,Hendon Semiconductors迅速在行業(yè)內(nèi)站穩(wěn)腳跟,并開(kāi)始了其自主發(fā)展的道路。
進(jìn)入21世紀(jì),新能源汽車(chē)市場(chǎng)逐漸興起。比亞迪憑借在電池領(lǐng)域的深厚積累,果斷轉(zhuǎn)型進(jìn)入新能源汽車(chē)領(lǐng)域。2000年,比亞迪推出了全球第一款純電動(dòng)乘用車(chē)——比亞迪e6,這一創(chuàng)新產(chǎn)品引起了市場(chǎng)的廣泛關(guān)注。此后,比亞迪不斷加大對(duì)新能源汽車(chē)的研發(fā)和生產(chǎn)投入,推出了多款具有競(jìng)爭(zhēng)力的新能源汽車(chē)產(chǎn)品。同時(shí),比亞迪還積極涉足光伏和LED照明等其他領(lǐng)域,不斷拓展其電子業(yè)務(wù)版圖。
為了進(jìn)一步提升技術(shù)實(shí)力和市場(chǎng)份額,ACP Optoelectronic Technology Co Ltd積極尋求與其他企業(yè)的戰(zhàn)略合作。公司先后與多家知名電子企業(yè)簽訂了技術(shù)合作協(xié)議,共同開(kāi)發(fā)新產(chǎn)品,共享市場(chǎng)資源。這些合作不僅提升了ACP Optoelectronic Technology Co Ltd的技術(shù)水平,也為其帶來(lái)了更多的商業(yè)機(jī)會(huì),推動(dòng)了公司的快速發(fā)展。
從原理圖生成PCB時(shí),出現(xiàn)不匹配參考對(duì)象和不匹配目標(biāo)對(duì)象是有什么原因造成的?… 查看全部問(wèn)答∨ |
誰(shuí)能幫忙推薦一款DCDC 2節(jié)電池升壓到5v 最近手頭上在做智能家居的遙控器設(shè)備和智能開(kāi)關(guān),無(wú)線模塊用的是普通超外差發(fā)射模塊,遙控器用mega48做主控,現(xiàn)在基本上都可以用了,只是無(wú)線發(fā)射效果只有20多米,如果改成5v供電,效果好非常多,所以麻煩大家?guī)兔φ铱頓CDC,能用2節(jié)電池升壓到5v ...… 查看全部問(wèn)答∨ |
請(qǐng)教測(cè)試函數(shù)性能的方法,高手指教,一直在線,指教,在線等?。。。。。?/a> 請(qǐng)教在linux下用什么方法測(cè)試函數(shù)實(shí)際運(yùn)行時(shí)間、內(nèi)存占用等,linux下的c應(yīng)該和正常的tc差不多的。環(huán)境是ARM7+uclinux,由于ARM7這個(gè)沒(méi)有外存,所以程序只能通過(guò)nfs用mount命令掛載和開(kāi)發(fā)板相連的電腦。用電腦上的空間。程序情況都是通過(guò)電腦的顯示 ...… 查看全部問(wèn)答∨ |
|
WinCE 開(kāi)發(fā)過(guò)程中的一些問(wèn)題 各位大哥大姐: 我想在WinCE啟動(dòng)以后,查看WinCE系統(tǒng)有那些設(shè)備被加載了,問(wèn)WinCE中有沒(méi)有類似與設(shè)備管理器的組件,可以直接查看可用的設(shè)備。 ActiveSync軟件連接設(shè)備的時(shí)候,有的時(shí)候能夠連上,有的 ...… 查看全部問(wèn)答∨ |
有哪位大俠用華邦的78E516B做過(guò)串口的收發(fā)通信的??幫幫忙 本人現(xiàn)在用飛利浦的p89c669與華邦的w78e56b進(jìn)行通信 實(shí)現(xiàn)的功能為:由p89c669發(fā)送一串長(zhǎng)度24個(gè)字節(jié)的命令,w78e516b在接收到這段命令后回傳一段命令給p89c669,傳輸采用rs485,轉(zhuǎn)換芯片為sn75176b 通路如下: p89c669sn75176bsn75176bw78 ...… 查看全部問(wèn)答∨ |
剛?cè)胧忠粔K瑞泰AM3517開(kāi)發(fā)板,不知道從哪開(kāi)始學(xué)起,希望各位大俠給點(diǎn)意見(jiàn)?!? 查看全部問(wèn)答∨ |
|
對(duì)LED光源應(yīng)用的認(rèn)識(shí)須了解的5個(gè)問(wèn)題 replyreload += \',\' + 1414920;問(wèn)題一:傳統(tǒng)光源是全方位發(fā)光的,所以只有一半的光能可以利用。即使用了燈具反光,也只有70%的光能可以利用。LED是指向性光源,所以只要有傳統(tǒng)光源一半的光能就可以替代了。 問(wèn)題二:在相同照度下,白光LED看起 ...… 查看全部問(wèn)答∨ |
我用JTAG下載AVR開(kāi)發(fā)板程序,然后使用串口調(diào)試工具進(jìn)行串口監(jiān)控,但是老是沖突?不知道怎么進(jìn)行,求大神幫忙。。?!? 查看全部問(wèn)答∨ |
設(shè)計(jì)資源 培訓(xùn) 開(kāi)發(fā)板 精華推薦
- 神經(jīng)形態(tài)芯片可能是革新機(jī)器人實(shí)時(shí)電機(jī)控制的未來(lái)
- 從三個(gè)方面理解ARM嵌入式系統(tǒng)
- 自動(dòng)報(bào)警 基于MCU的家庭防盜報(bào)警系統(tǒng)的設(shè)計(jì)
- 存儲(chǔ)控制器及其訪問(wèn)外設(shè)的原理
- 基于51系列單片機(jī)的智能照明控制系統(tǒng)設(shè)計(jì)方案
- 基于STM32的四旋翼飛行器控制系統(tǒng)
- 單片機(jī)應(yīng)用編程技巧解析
- 基于89C52的教室智能節(jié)能照明系統(tǒng)設(shè)計(jì)
- 一種新型的雨量光照傳感器的設(shè)計(jì)
- 光電融合突破算力邊界:曦智科技2025 WAIC發(fā)布多維度創(chuàng)新成果
- 阿里黑科技落地!夸克AI眼鏡全球首發(fā),高德、淘寶、支付寶都能用
- 化繁為簡(jiǎn), 適配復(fù)雜磁場(chǎng)環(huán)境,MT73xx 3D雙路輸出霍爾鎖存器賦能車(chē)規(guī)電機(jī)精準(zhǔn)控制
- 9.5億美元收購(gòu)恩智浦MEMS傳感器業(yè)務(wù),意法半導(dǎo)體 在傳感器領(lǐng)域的地位再升級(jí)
- 高性能電動(dòng)滑板車(chē) BLDC 電機(jī)驅(qū)動(dòng)器:技術(shù)解析與應(yīng)用展望
- 5G工業(yè)網(wǎng)關(guān)的“邊緣計(jì)算+AI推理”一體化設(shè)計(jì),PLC協(xié)議解析與缺陷檢測(cè)的實(shí)時(shí)聯(lián)動(dòng)
- AR眼鏡的“工業(yè)指令投射”系統(tǒng),SLAM的空間定位、PLC數(shù)據(jù)實(shí)時(shí)疊加顯示
- 多光譜氣體傳感器的抗交叉干擾設(shè)計(jì)
- 多模態(tài)融合感知的“語(yǔ)義-幾何”聯(lián)合建模
- 工業(yè)觸摸屏的“壓感-手勢(shì)”多模態(tài)交互設(shè)計(jì)
- TI C2000精品課暑期伴你行 學(xué)習(xí)好禮送不停
- 剁手不如玩板,這個(gè)雙11免費(fèi)好板等你來(lái)玩!
- 詳述項(xiàng)目申請(qǐng),可獲 TI Stellaris開(kāi)發(fā)板!
- Maxim 利用nanoPower創(chuàng)新技術(shù),致力于降低系統(tǒng)的靜態(tài)功耗 看視頻答題贏好禮! 還有免費(fèi)開(kāi)發(fā)板等你拿
- 泰克完整LED驅(qū)動(dòng)測(cè)試方案 領(lǐng)跑節(jié)能亮化新時(shí)代
- 有獎(jiǎng)學(xué)習(xí) | 探索泰克 4 系列 BMSO 強(qiáng)大功能,還能參與“疊疊樂(lè)”省錢(qián)大作戰(zhàn)!
- 分享你的國(guó)賽經(jīng)驗(yàn),還有好禮相送!
- stm32下面控制RS485發(fā)送有一定概率出錯(cuò)的情況
- STM32 用RS485進(jìn)行半雙工通信出現(xiàn)的問(wèn)題
- RS485通信基礎(chǔ)理論與STM32測(cè)試
- STM32F030 485通訊遇到的問(wèn)題
- STM32的RS485調(diào)試過(guò)程記錄
- ARM11——點(diǎn)亮LED燈
- tq2440JLink燒寫(xiě)裸機(jī)程序的問(wèn)題
- win10下搭建jz2440v3(arm s3c2440)開(kāi)發(fā)及gdb調(diào)試環(huán)境
- 基于51單片機(jī)的數(shù)碼管動(dòng)態(tài)顯示
- 基于51單片機(jī)的萬(wàn)年歷(算法實(shí)現(xiàn))
- 講講我自己對(duì)ADC12模塊的心得——msp430f5529
- MicroPython一周動(dòng)態(tài)(第一輯)
- 2009年全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽廣西賽區(qū)選拔賽組委會(huì)推薦試題
- 【每周討論】在全局的int a;和int a=1;有什么區(qū)別?
- 求助:STM32位段高效率的操作
- 實(shí)現(xiàn)SPWM
- 求助給位大蝦,小弟真心感謝,求你們寫(xiě)段代碼吧。嗚嗚
- 將IAR升級(jí)到6.2后,編譯出現(xiàn)了問(wèn)題
- 使用cvavr學(xué)習(xí)xmega,入門(mén)超快
- 有償求助:哪位高手做過(guò)MAC芯片為RTL8185的無(wú)線網(wǎng)卡驅(qū)動(dòng)?