<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          STM32時(shí)鐘理解

          作者: 時(shí)間:2016-11-27 來(lái)源:網(wǎng)絡(luò) 收藏
          一、硬件上的連接問(wèn)題


          本文引用地址:http://www.ex-cimer.com/article/201611/322482.htm

          如果使用內(nèi)部RC振蕩器而不使用外部晶振,請(qǐng)按照如下方法處理:

          1)對(duì)于100腳或144腳的產(chǎn)品,OSC_IN應(yīng)接地,OSC_OUT應(yīng)懸空。
          2)對(duì)于少于100腳的產(chǎn)品,有2種接法:
          i)OSC_IN和OSC_OUT分別通過(guò)10K電阻接地。此方法可提高EMC性能。
          ii)分別重映射OSC_IN和OSC_OUT至PD0和PD1,再配置PD0和PD1為推挽輸出并輸出0。此方法可以減小功耗并(相對(duì)上面i)節(jié)省2個(gè)外部電阻。


          STM32時(shí)鐘系統(tǒng)結(jié)構(gòu)圖

          時(shí)鐘是STM32單片機(jī)的脈搏,是單片機(jī)的驅(qū)動(dòng)源。使用任何一個(gè)外設(shè)都必須打開(kāi)相應(yīng)的時(shí)鐘。這樣的好處就是,如果不使用一個(gè)外設(shè)的時(shí)候,就把它的時(shí)鐘關(guān)掉,從而可以降低系統(tǒng)的功耗,達(dá)到節(jié)能,實(shí)現(xiàn)低功耗的效果。

          STM32單片機(jī)的時(shí)鐘可以由以下3個(gè)時(shí)鐘源提供:

          1、HSI:高速內(nèi)部時(shí)鐘信號(hào)STM32單片機(jī)內(nèi)帶的時(shí)鐘 (8M頻率), 精度較差

          2、HSE:高速外部時(shí)鐘信號(hào),精度高。

          來(lái)源:i. HSE外部晶體/陶瓷諧振器(晶振);

          ii.HSE用戶外部時(shí)鐘

          3、LSE:低速外部晶體 32.768kHz 主要提供一個(gè)精確的時(shí)鐘源 一般作為RTC時(shí)鐘使用

          STM32單片機(jī)的將時(shí)鐘信號(hào)(例如HSE)經(jīng)過(guò)分頻或倍頻(PLL)后,得到系統(tǒng)時(shí)鐘,系統(tǒng)時(shí)鐘經(jīng)過(guò)分頻,產(chǎn)生外設(shè)所使用的時(shí)鐘。

          上圖為STM32整個(gè)時(shí)鐘架構(gòu)。

          為了便于更好了解STM32單片機(jī)的時(shí)鐘,下面以HSE時(shí)鐘的使用為例。

          設(shè)置時(shí)鐘流程:

          1、將RCC寄存器重新設(shè)置為默認(rèn)值RCC_DeInit

          2、打開(kāi)外部高速時(shí)鐘晶振HSERCC_HSEConfig(RCC_HSE_ON);

          3、等待外部高速時(shí)鐘晶振工作HSEStartUpStatus = RCC_WaitForHSEStartUp();

          4、設(shè)置AHB時(shí)鐘RCC_HCLKConfig;

          5、設(shè)置高速AHB時(shí)鐘RCC_PCLK2Config;

          6、設(shè)置低速速AHB時(shí)鐘RCC_PCLK1Config

          7、設(shè)置PLLRCC_PLLConfig

          8、打開(kāi)PLLRCC_PLLCmd(ENABLE);

          9、等待PLL工作while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)

          10、設(shè)置系統(tǒng)時(shí)鐘RCC_SYSCLKConfig

          11、判斷是否PLL是系統(tǒng)時(shí)鐘while(RCC_GetSYSCLKSource() != 0x08)

          12、打開(kāi)要使用的外設(shè)時(shí)鐘RCC_APB2PeriphClockCmd()/RCC_APB1PeriphClockCmd()

          在STM32中,有五個(gè)時(shí)鐘源,為HSI、HSE、LSI、LSE、PLL。

          HSI是高速內(nèi)部時(shí)鐘,RC振蕩器,頻率為8MHz。

          HSE是高速外部時(shí)鐘,可接石英/陶瓷諧振器,或者接外部時(shí)鐘源,頻率范圍為4MHz~16MHz。

          LSI是低速內(nèi)部時(shí)鐘,RC振蕩器,頻率為40kHz。

          LSE是低速外部時(shí)鐘,接頻率為32.768kHz的石英晶體。

          PLL為鎖相環(huán)倍頻輸出,其時(shí)鐘輸入源可選擇為HSI/2、HSE或者HSE/2。倍頻可選擇為2~16倍,但是其輸出頻率最大不得超過(guò)72MHz。

          其中40kHz的LSI供獨(dú)立看門狗IWDG使用,另外它還可以被選擇為實(shí)時(shí)時(shí)鐘RTC的時(shí)鐘源。另外,實(shí)時(shí)時(shí)鐘RTC的時(shí)鐘源還可以選擇LSE,或者是HSE的128分頻。RTC的時(shí)鐘源通過(guò)RTCSEL[1:0]來(lái)選擇。

          STM32中有一個(gè)全速功能的USB模塊,其串行接口引擎需要一個(gè)頻率為48MHz的時(shí)鐘源。該時(shí)鐘源只能從PLL輸出端獲取,可以選擇為1.5分頻或者1分頻,也就是,當(dāng)需要使用USB模塊時(shí),PLL必須使能,并且時(shí)鐘頻率配置為48MHz或72MHz。

          另外,STM32還可以選擇一個(gè)時(shí)鐘信號(hào)輸出到MCO腳(PA8)上,可以選擇為PLL輸出的2分頻、HSI、HSE、或者系統(tǒng)時(shí)鐘。


          上一頁(yè) 1 2 下一頁(yè)

          關(guān)鍵詞: STM32時(shí)鐘理

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();