在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            STM8 時鐘

            作者: 時間:2016-11-11 來源:網(wǎng)絡(luò) 收藏
            時鐘控制器功能強(qiáng)大而且靈活易用。其目的在于使用戶在獲得最好性能的同時,亦能保證消耗的功率最低。用戶可獨(dú)立地管理各個時鐘源,并將它們分配到CPU或各個外設(shè)。主時鐘和CPU時鐘均帶有預(yù)分頻器。具有安全可靠的無故障時鐘切換機(jī)制,可在程序運(yùn)行中將主時鐘從一個時鐘源切換到另一個時鐘源???strong>電磁干擾時鐘配置寄存器,STM8為了避免由電磁干擾造成的對應(yīng)用程序誤寫操作或系統(tǒng)掛起,大多數(shù)關(guān)鍵的時鐘配置寄存器都有一個互補(bǔ)寄存器與之相對應(yīng)。系統(tǒng)將會自動檢測這些關(guān)鍵寄存器與其互補(bǔ)寄存器之間是否匹配。如果不匹配,則產(chǎn)生一個EMS復(fù)位,從而使應(yīng)用程序恢復(fù)到正常操作。詳情請參見時鐘寄存器描述。

            本文引用地址:http://www.biyoush.com/article/201611/316705.htm

            主時鐘源:


            1-24MHz高速外部晶體振蕩器(HSE)
            最大24MHz高速外部時鐘信號(HSE user-ext)
            16MHz高速內(nèi)部RC振蕩器(HSI)
            128KHz低速內(nèi)部RC(LSI)

            各個時鐘源可單獨(dú)打開或關(guān)閉,從而優(yōu)化功耗。


            (一)HSE
            高速外部時鐘信號可由下面兩個時鐘源產(chǎn)生:


            HSE外部晶體/陶瓷諧振器
            HSE用戶外部有源時鐘

            為了最大限度減小輸出失真和減小啟動的穩(wěn)定時間,諧振器和負(fù)載電容應(yīng)盡可能得靠近振蕩器引腳。負(fù)載電容值應(yīng)根據(jù)所選的振蕩器進(jìn)行調(diào)整。

            • 外部晶體/陶瓷諧振器(HSE晶體)
              外部1至24MHz的振蕩器其優(yōu)點(diǎn)在于能夠產(chǎn)生精確的占空比為50%的主時鐘信號。
              硬件連接如圖14所示。更多詳情請參見數(shù)據(jù)手冊電特性章節(jié)。振蕩器在啟動時的輸出時鐘信號是不穩(wěn)定的,默認(rèn)情況下,在時鐘信號被使用之前會插入2048個振蕩器周期的延遲。用戶可通過設(shè)置選項字節(jié)HSECNT來縮短穩(wěn)定時間,請參見數(shù)據(jù)手冊的選項字節(jié)章節(jié)。外部時鐘寄存器CLK_ECKR中的標(biāo)志位HSERDY用以指示高速外部振蕩器是否穩(wěn)定。啟動時,HSE時鐘信號將不會生效直至此標(biāo)志位被硬件置位。
              HSE晶體可通過設(shè)置外部時鐘寄存器CLK_ECKR中的HSEEN位來打開或關(guān)閉。
            • 外部時鐘源(HSE用戶外部時鐘)
              這種模式下,必須由用戶提供一個外部時鐘,此時鐘的最高頻率可為24MHz。用戶可通過編程選項位EXTCLK選擇此模式。詳情請參見數(shù)據(jù)手冊的選項字節(jié)章節(jié)。此時,占空比約50%的外部時鐘信號(方波,正弦波,三角波)用以驅(qū)動OSCIN引腳,而OSCOUT引腳可做為通用輸入/輸出管腳使用。

            (二)HSI
            HSI信號由內(nèi)部16MHz RC振蕩器與一個可編程分頻器(分頻因子從1至8)產(chǎn)生。分頻因子由寄存器CLK_CKDIVR決定。

            注意:啟動時,主時鐘源默認(rèn)為HSI RC時鐘的8分頻,即fHSI/8
            HSI RC可以提供一個低成本的16MHz時鐘源(無需外部器件),其占空比為50%。HSI啟動速度比HSE晶體振蕩器快,但是其精度即使經(jīng)過校準(zhǔn)也仍然比外部晶體振蕩器或陶瓷諧振器低。內(nèi)部時鐘寄存器CLK_ICKR中的標(biāo)志位HSIRDY用以指示HSI RC是否穩(wěn)定。啟動時,HSI時鐘信號將不會生效直至此標(biāo)志位被硬件置位。HSI RC可通過設(shè)置內(nèi)部時鐘寄存器CLK_ICKR中的HSIEN位打開或關(guān)閉。


            備份時鐘源
            當(dāng)HSE晶體振蕩器失效時,HSI/8可作為備份時鐘源(輔助時鐘源)使用。請參見8.6時鐘安全系統(tǒng)(CSS)。
            快速啟動特性
            如果寄存器CLK_ICKR中的FHWU位被置1,則MCU從停機(jī)(Halt)模式或活躍停機(jī)(Active Halt)模式喚醒時,HSI將自動被設(shè)為主時鐘源。
            校準(zhǔn)
            每個產(chǎn)品在出廠時均已經(jīng)ST校準(zhǔn)。
            復(fù)位后,出廠校準(zhǔn)值將被自動加載至內(nèi)部校準(zhǔn)寄存器。
            如果實際應(yīng)用中電壓或溫度偏差較大,將會影響RC振蕩器的速度。用戶可使用HSI時鐘校準(zhǔn)寄存器(CLK_HSITRIMR)修正HSI的時鐘頻率。此寄存器中有3或4位用以存放一個附加的修正值,并與內(nèi)部HSI校準(zhǔn)寄存器的值相加來對時鐘進(jìn)行校正。

            (三)LSI
            128KHz的LSI RC時鐘是一個低功耗,低成本的可選主時鐘源,也可在停機(jī)(Halt)模式下作為維持獨(dú)立看門狗和自動喚醒單元(AWU)運(yùn)行的低功耗時鐘源。LSI可通過設(shè)置內(nèi)部時鐘寄存器CLK_ICKR中的LSIEN位打開或關(guān)閉。
            內(nèi)部時鐘寄存器CLK_ICKR中的標(biāo)志位LSIRDY用以指示LSI是否穩(wěn)定。啟動時,LSI時鐘信號將
            不會生效直至此標(biāo)志位被硬件置位。
            同HIS一樣,LSI出廠時已經(jīng)校準(zhǔn)。但是,不可能再執(zhí)行進(jìn)一步的校準(zhǔn)。
            注意:當(dāng)獨(dú)立看門狗使用LSI為時鐘源時,為了保證CPU在系統(tǒng)出錯時不與獨(dú)立看門狗使用同一個時鐘,
            當(dāng)選項字節(jié)位LSI_EN為0時,LSI不能做為主時鐘。請參見STM8數(shù)據(jù)手冊中的選項字節(jié)章節(jié)。

            時鐘切換

            時鐘切換功能為STM8用戶提供了一種易用、快速、安全的從一個時鐘源切換到另一個時鐘源的途徑。
            系統(tǒng)啟動


            為使STM8系統(tǒng)快速啟動,復(fù)位后時鐘控制器自動使用HSI的8分頻(HSI/8)做為主時鐘。其原因為HSI的穩(wěn)定時間短,而8分頻可保證系統(tǒng)在較差的VDD條件下安全啟動。一旦主時鐘源穩(wěn)定,用戶程序可將主時鐘切換到另外的時鐘源。


            主時鐘切換的過程
            用戶可選擇下面兩種方式切換時鐘源:


            自動切換
            自動切換使用戶可使用最少的指令完成時鐘源的切換。應(yīng)用軟件可繼續(xù)其它操作而不用考慮切換事件所占的確切時間。

            1.設(shè)置切換控制寄存器(CLK_SWCR)中的位SWEN,使能切換機(jī)制。
            2.向主時鐘切換寄存器(CLK_SWR)寫入一個8位的值,用以選擇目標(biāo)時鐘源。寄存器CLK_SWCR中的SWBSY被硬件置位,目標(biāo)源振蕩器啟動。原時鐘源依然被用于驅(qū)動內(nèi)核和外設(shè)。

            一旦目標(biāo)時鐘源穩(wěn)定,寄存器CLK_SWR中的值將被復(fù)制到主時鐘狀態(tài)寄存器(CLK_CMSR)中去。
            此時,SWBSY位被清除,新時鐘源替代舊時鐘源。寄存器CLK_SWCR中的標(biāo)志位SWIF被置位,如果SWIEN為1,則會產(chǎn)生一個中斷。

            • 手動切換
              手動切換與自動切換不同,不能夠立即切換,但它允許用戶精確地控制切換事件發(fā)生的時間

            1.向主時鐘切換寄存器(CLK_SWR)寫入一個8位的值,用以選擇目標(biāo)時鐘源。寄存器CLK_SWCR中的SWBSY被硬件置位,目標(biāo)源振蕩器啟動。原時鐘源依然被用于驅(qū)動內(nèi)核和外設(shè)。
            2.用戶軟件需等待至目標(biāo)時鐘源穩(wěn)定。寄存器CLK_SWCR中的標(biāo)志位SWIF用以指示目標(biāo)時鐘源是否已穩(wěn)定,如果SWIEN為1,則會產(chǎn)生一個中斷。
            3.最后,由用戶軟件在所選的時間點(diǎn),設(shè)置寄存器CLK_SWCR中的位SWEN,執(zhí)行切換。無論是手動切換還是自動切換,如果原時鐘源仍然在被其他模塊使用(如LSI在被獨(dú)立看門狗使用),則原時鐘源將不會被自動關(guān)閉。配置內(nèi)部時鐘寄存器CLK_ICKR和外部時鐘寄存器
            CLK_ECKR中的相應(yīng)位,可關(guān)閉原時鐘源。如果由于某種原因時鐘切換沒有成功,軟件可通過清除標(biāo)志位SWBSY以復(fù)位當(dāng)前的切換操作,使寄存器CLK_SWR恢復(fù)原值(原時鐘源)。

            外設(shè)時鐘門控

            關(guān)閉未使用外設(shè)的時鐘可使STM8降低功耗。外設(shè)的時鐘門控(PCG)模式使用戶可在運(yùn)行模式下隨時打開或關(guān)閉fMASTER與下列外設(shè)的連接:

            • ADC
            • I2C
            • AWU(寄存器時鐘,而非計數(shù)器時鐘)
            • SPI
            • TIM[4:1]
            • UART
            • CAN(寄存器時鐘,而非CAN時鐘)

            STM8系統(tǒng)復(fù)位后,所有外設(shè)時鐘均處于開的狀態(tài)。用戶可通過清除CLK_PCKENR1或CLK_PCKENR2中的PCKEN位來關(guān)閉相應(yīng)的外設(shè)時鐘。但是在關(guān)閉外設(shè)的時鐘前,用戶必須設(shè)置相應(yīng)的位禁用該外設(shè)。
            為了使能一個外設(shè),用戶必須先設(shè)置寄存器CLK_PCKENR中對應(yīng)的PCKEN位,然后設(shè)置外設(shè)控制寄存器中的外設(shè)使能位。
            AWU計數(shù)器是由獨(dú)立于fMASTER的內(nèi)部或外部時鐘(LSI或HSE)驅(qū)動,因此,即使寄存器的時鐘已被關(guān)掉,該外設(shè)依然可以繼續(xù)運(yùn)行。

            時鐘安全系統(tǒng)

            時鐘安全系統(tǒng)用于監(jiān)控HSE時鐘源是否失效。當(dāng)fMASTER使用HSE做為時鐘源時,如果HSE時鐘由于諧振器損壞、斷開或其它原因而失效,時鐘控制器將激活安全恢復(fù)機(jī)制,將fMASTER自動切換到輔助時鐘源HSI/8。STM8系統(tǒng)將一直使用輔助時鐘源,直至MCU被復(fù)位。


            設(shè)置時鐘安全系統(tǒng)寄存器CLK_CSSR中的CSSEN位,可使能STM8的時鐘安全系統(tǒng)。為安全起見,CSS一旦使能就不能被關(guān)閉,直到下一次復(fù)位。
            必須滿足下面的條件,CSS方可檢測HSE石英晶體的失效:

            • HSE晶體開:(外部時鐘寄存器CLK_ECKR中的位HSEEN=1)
            • HSE振蕩器被置為石英晶體(選項位EXTCLK為1)
            • CSS功能開:(寄存器CLK_CSSR中CSSEN=1)
              如果當(dāng)前的主時鐘源為HSE,當(dāng)失效被檢測到時,CSS將執(zhí)行以下操作:
            • 寄存器CLK_CSSR中的CSSD位被置位,如果CSSIEN為1,則同時產(chǎn)生一個中斷。
            • CLK_CMSR,CLK_SWR,及CLK_CKDIVR中的HSIDIV[1:0]位被置為復(fù)位值(CKM[7:0]=SWI[7:0]=E1h)。HSI/8成為主時鐘。
            • 內(nèi)部時鐘寄存器CLK_ICKR中的HSIEN被置位(HSI開)。
            • 外部時鐘寄存器CLK_ECKR中的HSEEN被清除(HSE關(guān))。
            • AXU位被置位,用以指示輔助時鐘源HSI/8被強(qiáng)制使用。
              用戶可通過軟件清除CSSD位,但AXU位只能由復(fù)位清除。為了提高時鐘頻率,用戶在清除寄存器CLK_CSSR中的CSSD位以后,可修改寄存器
              CLK_CKDIVR中的HSIDIV[1:0]位。
              如果失效發(fā)生時HSE不是主時鐘源,STM8主時鐘將不會被切換到輔助時鐘源,以上操作也不會發(fā)生,僅執(zhí)行下面的操作:
            • 外部時鐘寄存器CLK_ECKR中的HSEEN被清除,HSE關(guān)閉。
            • 寄存器CLK_CSSR中的位CSSD被置位,如果CSSIEN為1,則同時產(chǎn)生一個中斷。
              如果HSE不是當(dāng)前主時鐘源,且主時鐘正在被切換至HSE,則在清除CSSD位之前,必須先清除寄存器CLK_SWCR的SWBSY位。
              如果當(dāng)失效被檢測到時,HSE被CCOSEL選擇為時鐘輸出模式(參見時鐘輸出功能(CCO)),則HSI(HSIDIV)將替代HSE,被自動強(qiáng)制選擇為輸出時鐘。

            時鐘輸出CCO

            可配置的時鐘輸出功能使STM8用戶可在外部管腳CCO上輸出指定的時鐘。STM8S的用戶可選擇下面6種時鐘信號之一做為CCO時鐘:

            • fHSE
            • fHSI
            • fHSIDIV
            • fLSI
            • fMASTER
            • fCPU(可選擇分頻值)

            注意:在所有可能的分頻值下,不能保證信號的占空比全部為50%

            通過配置時鐘輸出寄存器CLK_CCOR中域CCOSEL[3:0]可選擇輸出的時鐘。用戶需為指定的I/O引腳(參見管腳描述章節(jié))選擇期望輸出的時鐘。此I/O必須通過配置寄存器Px_CR1對應(yīng)的位為1來設(shè)置為上拉輸入或推挽輸出模式。
            一旦可配置時鐘輸出寄存器CLK_CCOR的位CCOEN=1,就開始輸出所選定的時鐘信號。

            如果CCOBSY為1,則表明可配置時鐘輸出系統(tǒng)正在工作。只要CCOBSY為1,CCOSEL位就會被寫保護(hù)。
            如果需要,CCO可自動激活目標(biāo)振蕩器。當(dāng)所選時鐘就緒時,CCORDY被置位。

            STM8用戶可通過清除CCOEN位來禁用時鐘輸出功能。CCOBSY位和CCORDY位都將保持為1直到禁用操作結(jié)束。從清除CCOEN位到這兩個標(biāo)志位被復(fù)位之間的時間可能會很長,例如當(dāng)所選的輸出時鐘相對于fCPU頻率很低時。

            時鐘中斷

            當(dāng)下列事件發(fā)生時,時鐘控制器可產(chǎn)生中斷:

            • 主時鐘源切換事件
            • CSS事件

            這兩個中斷均可被獨(dú)立屏蔽。



            關(guān)鍵詞: STM8時

            評論


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

            關(guān)閉