0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

MM32F0040的時鐘安全系統(tǒng)有什么作用

科技綠洲 ? 來源:靈動MM32 ? 作者:靈動MM32 ? 2022-05-07 14:32 ? 次閱讀

MM32F0040 是一款搭載高性能 Arm? Cortex?-M0 作為內(nèi)核的 32 位微控制器,最高工作頻率可達到72MHz,提供 32KB FLASH 和 4KB SRAM。MM32F0040 系列 MCU 適用于多種應(yīng)用場合,如工業(yè)物聯(lián)網(wǎng)設(shè)備、PC外設(shè)、電子門鎖控制、醫(yī)療和保健設(shè)備、手持設(shè)備、電機控制、電梯呼叫面板、游戲娛樂以及 8/16 位 MCU 升級替換。

我們對客戶經(jīng)常問到的問題進行一一解答。

MM32F0040 的時鐘源有哪些?

分析案例

MM32F00040有四個系統(tǒng)時鐘源:

高速內(nèi)部時鐘(HSI 上電后默認),頻率為 8MHz,全溫全壓范圍時鐘精度 ±2.5%

高速外部時鐘(HSE),有源晶振頻率范圍是 2MHz ~ 32MHz ,無源晶振頻率范圍是 4MHz ~ 24MHz

鎖相環(huán)(PLL):當(dāng) HSI(或 HSE)作為 PLL 時鐘源時, HSI(或 HSE)不可關(guān)閉

低速內(nèi)部時鐘(LSI)

poYBAGJ2EhuAImUNAACU9ifjZ_Q235.png

參考建議

MCU 時鐘輸出(MCO)允許時鐘輸出到外部 MCO 引腳上。相應(yīng) GPIO 端口的配置寄存器必須被配置為相應(yīng)功能??梢赃x擇以下 6 個時鐘信號中的一個作為 MCO 時鐘:

pYYBAGJ2EiiAZopcAAAv9OQ9Au0903.png

用戶可以通過 MCU 時鐘輸出確認配置的時鐘,受限于 MCU 的 IO 的速度,建議 MCO 輸出頻率小于 24M,配置如下:

poYBAGJ2EjaAF5keAABKGrx4CAY329.png

案例十

MM32F0040 的時鐘安全系統(tǒng)有什么作用?要怎么使用?

分析案例

時鐘安全系統(tǒng)可以監(jiān)測HSE時鐘是否失效,一旦發(fā)現(xiàn) HSE 時鐘失效,將自動切換系統(tǒng)時鐘源到 HSI,并引發(fā)NMI 中斷,在 NMI 中斷中對時鐘做處理,從而確保時鐘系統(tǒng)的穩(wěn)定性和可靠性。

用戶可以根據(jù)實際的需求選擇是否使能時鐘安全系統(tǒng),一旦啟用 CSS,如果 HSE 時鐘發(fā)生故障,CSS 中斷發(fā)生,并自動生成 NMI 中斷。除非 CSS 中斷掛起位被清除,否則 NMI 將被不停地執(zhí)行。因此,在 NMI 的處理程序中,用戶必須通過設(shè)置時鐘中斷寄存器(RCC_CIR)的 CSSC 位為 1 來清除 CSS 中斷。

時鐘安全系統(tǒng)啟用的步驟如下:

配置控制狀態(tài)寄存器 (RCC_CSR)的 LSION 位為 1 和 LSI_OEN_LV 位為 1,使能 LSI

等待控制狀態(tài)寄存器 (RCC_CSR) 中的 LSIRDY 位被置位為 1,表示 LSI 穩(wěn)定,可輸出有效時鐘

配置時鐘控制寄存器(RCC_CR)中的 CSSON 位為 1 ,時鐘安全系統(tǒng)使能

案例十一

MM32F0040 有 SysTick 嗎?如何配置?

分析案例

SysTick 系統(tǒng)定時器是屬于 ARM-M 內(nèi)核中的一個外設(shè)。系統(tǒng)定時器是一個 24bit 的向下遞減的計數(shù)器,RCC 通過 AHB 時鐘 8 分頻后供給 CPU 系統(tǒng)定時器的(SysTick)外部時鐘。當(dāng)重裝載數(shù)值寄存器的值遞減到 0 的時候,系統(tǒng)定時器就產(chǎn)生一次中斷,將從RELOAD 寄存器中自動重裝載定時初值,開始新一輪計數(shù),以此循環(huán)往復(fù)。只要不把它在 SysTick 控制及狀態(tài)寄存器中的使能位清除,就永不停息。

SysTick定時器位于在NVIC中,用于產(chǎn)生SysTick異常,并且SysTick中斷的優(yōu)先級也可以設(shè)置。

參考建議

SysTick有四個寄存器,分別為CTRL(控制與狀態(tài)寄存器)、LOAD(自動重裝載值寄存器)、VAL(當(dāng)前值寄存器)、CALIB(校準值寄存器)。配置參考鏈接:

Cortex-M0中斷控制和系統(tǒng)控制

案例十二

MM32F0040 有幾種看門狗?它們分別有什么作用?

分析案例

MM32 系列 MCU 都有兩個看門狗:獨立看門狗和窗口看門狗。

獨立看門狗:

獨立看門狗是一個 12 位的遞減計數(shù)器,當(dāng)計數(shù)器的值從某個值一直減到 0 的時候,系統(tǒng)就會產(chǎn)生一個復(fù)位信號或者中斷信號,即 IWDG_RESET或IWDG_IRQ。如果在計數(shù)沒減到 0 之前,刷新了計數(shù)器的值的話,那么就不會產(chǎn)生復(fù)位信號,這個動作就是我們經(jīng)常說的喂狗。

獨立看門狗的時鐘由獨立的 RC 振蕩器 LSI 提供,即使主時鐘發(fā)生故障它仍然有效,有獨立的時鐘源,可以與內(nèi)部高速時鐘形成相互監(jiān)督的功能。LSI 的頻率一般在 20~80KHz 之間,根據(jù)溫度和工作場合會有一定的漂移,我們一般取 40KHz,所以獨立看門狗的定時時間并不是非常精確,只適用于對時間精度要求比較低的場合。

poYBAGJ2EkeAAIcDAACMLTexP3E373.png

窗口看門狗:

窗口看門狗跟獨立看門狗一樣,也是一個遞減計數(shù)器不斷的往下遞減計數(shù),當(dāng)減到一個固定值 0x40 時還不喂狗的話,產(chǎn)生復(fù)位,這個值叫窗口的下限,是固定的值,不能改變。這個是跟獨立看門狗類似的地方,不同的地方是窗口看門狗的計數(shù)器的值在減到某一個數(shù)之前喂狗的話也會產(chǎn)生復(fù)位,這個值叫窗口的上限,上限值由用戶獨立設(shè)置。窗口看門狗計數(shù)器的值必須在上窗口和下窗口之間才可以喂狗。

pYYBAGJ2ElCAC39OAABKCi_15F0825.png

參考建議

獨立看門狗的設(shè)計初衷是為了檢測和解決由軟件錯誤所引起的故障,它的原理可簡述為:當(dāng)獨立看門狗(IWDG)計數(shù)器不斷遞減到達給定數(shù)值時,產(chǎn)生一個系統(tǒng)復(fù)位信號使系統(tǒng)復(fù)位,從而提高系統(tǒng)整體安全性能。

在 MM32F0040 中,獨立看門狗可以配置成不復(fù)位系統(tǒng)的外部中斷方式,可用于對時鐘精度要求不高的短周期低功耗喚醒的應(yīng)用場景。

硬件看門狗及選項字節(jié)操作配置參考鏈接:

硬件看門狗及選項字節(jié)操作

窗口看門狗就是其喂狗時間有上下限范圍的(窗口) 看門狗,主要用于檢測由外部干擾和可預(yù)測的邏輯條件導(dǎo)致程序跑飛所引起的軟件問題。

案例十三

MM32F0040 的 I2C 接口有兩種速率模式,我們在實際應(yīng)用中需要注意些什么嗎?

分析案例

MM32F0040 的 I2C 支持兩種速率模式:

標準模式,數(shù)據(jù)傳輸速率為 0~100kbps

快速模式,數(shù)據(jù)傳輸速率最大為400kbps

I2C 接口是掛載在 PCLK1 時鐘總線上的,為達到標準I2C 的最大頻率,要求 PCLK1 的時鐘頻率必須大于 3MHz;為達到快速 I2C 的最大頻率,要求 PCLK1 的時鐘頻率必須大小 12MHz。

MM32F0040 的 I2C 接口符合標準 I2C 通信協(xié)議,但有如下限制:SDA 和 SCK 不是“真”的開漏引腳,當(dāng)配置為開漏輸出時,在引出腳和 VDD 之間的 PMOS 管被關(guān)閉,但仍然存在,這個在實際應(yīng)用電路設(shè)計時,需要關(guān)注。

案例十四

MM32F0040 的 UART 通訊波特率容忍度如何?

分析案例

在實際項目中使用 UART 接口與其它設(shè)備進行通訊交互數(shù)據(jù)時,由于運行環(huán)境等多因素的影響,存在因時鐘偏差導(dǎo)致收發(fā)雙方波特率產(chǎn)生偏差的情況。MM32F0040 為了提高接收端對波特率變化的容忍度,在 STOP 狀態(tài)時,當(dāng)三次數(shù)據(jù)采樣完成后,接收端就會開始準備下一幀數(shù)據(jù)的接收。當(dāng)收發(fā)雙方波特率偏差處于 ±3% 以內(nèi)時,仍然能夠保證數(shù)據(jù)的正確傳輸。

同時 MM32F0040 支持硬件波特率自適應(yīng)功能,配置參考鏈接:

UART硬件波特率自適應(yīng)

審核編輯:彭菁
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 微控制器
    +關(guān)注

    關(guān)注

    48

    文章

    7454

    瀏覽量

    150853
  • 軟件
    +關(guān)注

    關(guān)注

    69

    文章

    4699

    瀏覽量

    87088
  • 安全系統(tǒng)
    +關(guān)注

    關(guān)注

    0

    文章

    410

    瀏覽量

    66886
  • MM32
    +關(guān)注

    關(guān)注

    1

    文章

    106

    瀏覽量

    735
收藏 人收藏

    評論

    相關(guān)推薦

    安全系統(tǒng)需要保護什么?

    新聞總是樂于報道安全系統(tǒng)遭到攻擊的事件:操作系統(tǒng)漏洞、非法入侵***網(wǎng)絡(luò)、筆記本電腦的*帳戶信息被竊等等。安全性不僅僅涉及到筆記本電腦和服務(wù)器,嵌入式領(lǐng)域也越來越關(guān)注安全性問題,例如交
    發(fā)表于 08-06 08:01

    求大壩安全系統(tǒng)監(jiān)測的labview程序

    畢設(shè)要用labview做一個大壩安全系統(tǒng)監(jiān)測,大神會嗎,幫幫忙,謝了
    發(fā)表于 05-08 21:39

    如何設(shè)計功能安全系統(tǒng)

    如何簡化安全系統(tǒng)的設(shè)計?
    發(fā)表于 01-28 07:29

    智能無線通訊的介紹及其在汽車安全系統(tǒng)中的應(yīng)用示例與作用

    本文介紹了智能無線通訊,以及智能無線通信在促進汽車安全系統(tǒng)中的應(yīng)用與作用。
    發(fā)表于 11-14 17:25 ?4次下載
    智能無線通訊的介紹及其在汽車<b class='flag-5'>安全系統(tǒng)</b>中的應(yīng)用示例與<b class='flag-5'>作用</b>

    靈動微MM32F0040替換MM32SPIN05時ADC部分功能有何區(qū)別

    靈動微MM32F0040是一款搭載高性能Arm?Cortex?-M0作為內(nèi)核的32位微控制器,工作頻率可高達到72兆赫茲,提供32KB FLASH和4KB SRAM。MM32F0040系列MCU
    的頭像 發(fā)表于 11-21 17:12 ?583次閱讀

    什么是機械安全系統(tǒng)?機械安全系統(tǒng)需要什么?

    提高機器安全性,就是提升企業(yè)的效益?,F(xiàn)如今,隨著全社會安全意識的提高,越來越多的機器和生產(chǎn)線都標配了安全系統(tǒng)。一個標準的機械安全系統(tǒng)是什么樣的?怎樣才可以得到國際
    發(fā)表于 12-29 12:00 ?540次閱讀

    MM32F0040 產(chǎn)品手冊(中文版)

    MM32F0040 產(chǎn)品手冊(中文版)
    發(fā)表于 02-22 18:52 ?0次下載
    <b class='flag-5'>MM32F0040</b> 產(chǎn)品手冊(中文版)

    MM32F0040 產(chǎn)品手冊(英文版)

    MM32F0040 產(chǎn)品手冊(英文版)
    發(fā)表于 02-22 18:53 ?0次下載
    <b class='flag-5'>MM32F0040</b> 產(chǎn)品手冊(英文版)

    MM32F0040 用戶手冊(中文版)

    MM32F0040 用戶手冊(中文版)
    發(fā)表于 02-22 18:54 ?0次下載
    <b class='flag-5'>MM32F0040</b> 用戶手冊(中文版)

    MM32F0040 用戶手冊(英文版)

    MM32F0040 用戶手冊(英文版)
    發(fā)表于 02-22 18:54 ?0次下載
    <b class='flag-5'>MM32F0040</b> 用戶手冊(英文版)

    MM32F0040 勘誤表(中文版)

    MM32F0040 勘誤表(中文版)
    發(fā)表于 02-22 18:55 ?0次下載
    <b class='flag-5'>MM32F0040</b> 勘誤表(中文版)

    MM32F0040 勘誤表(英文版)

    MM32F0040 勘誤表(英文版)
    發(fā)表于 02-23 18:34 ?0次下載
    <b class='flag-5'>MM32F0040</b> 勘誤表(英文版)

    AN0054 從MM32SPIN05移植到MM32F0040(中文版)

    AN0054 從MM32SPIN05移植到MM32F0040(中文版)
    發(fā)表于 02-23 18:35 ?0次下載
    AN0054 從<b class='flag-5'>MM</b>32SPIN05移植到<b class='flag-5'>MM32F0040</b>(中文版)

    AN0054 從MM32SPIN05移植到MM32F0040(英文版)

    AN0054 從MM32SPIN05移植到MM32F0040(英文版)
    發(fā)表于 02-23 18:35 ?0次下載
    AN0054 從<b class='flag-5'>MM</b>32SPIN05移植到<b class='flag-5'>MM32F0040</b>(英文版)

    工程師筆記——MM32F0040使用總結(jié)

    工程師筆記——MM32F0040使用總結(jié)
    的頭像 發(fā)表于 10-26 18:09 ?489次閱讀
    工程師筆記——<b class='flag-5'>MM32F0040</b>使用總結(jié)