單芯片解決方案,開啟全新體驗(yàn)——W55MH32 高性能以太網(wǎng)單片機(jī)
W55MH32是WIZnet重磅推出的高性能以太網(wǎng)單片機(jī),它為用戶帶來前所未有的集成化體驗(yàn)。這顆芯片將強(qiáng)大的組件集于一身,具體來說,一顆W55MH32內(nèi)置高性能Arm? Cortex-M3核心,其主頻最高可達(dá)216MHz;配備1024KB FLASH與96KB SRAM,滿足存儲與數(shù)據(jù)處理需求;集成TOE引擎,包含WIZnet全硬件TCP/IP協(xié)議棧、內(nèi)置MAC以及PHY,擁有獨(dú)立的32KB以太網(wǎng)收發(fā)緩存,可供8個獨(dú)立硬件socket使用。如此配置,真正實(shí)現(xiàn)了All-in-One解決方案,為開發(fā)者提供極大便利。
在封裝規(guī)格上,W55MH32 提供了兩種選擇:QFN68和QFN100。
W55MH32Q采用QFN68封裝版本,尺寸為8x8mm,它擁有36個GPIO、3個ADC、12通道DMA、17個定時器、2個I2C、3個串口、2個SPI接口(其中1個帶I2S接口復(fù)用)、1個CAN以及1個USB2.0。在保持與同系列其他版本一致的核心性能基礎(chǔ)上,僅減少了部分GPIO以及SDIO接口,其他參數(shù)保持一致,性價比優(yōu)勢顯著,尤其適合網(wǎng)關(guān)模組等對空間布局要求較高的場景。緊湊的尺寸和精簡化外設(shè)配置,使其能夠在有限空間內(nèi)實(shí)現(xiàn)高效的網(wǎng)絡(luò)連接與數(shù)據(jù)交互,成為物聯(lián)網(wǎng)網(wǎng)關(guān)、邊緣計(jì)算節(jié)點(diǎn)等緊湊型設(shè)備的理想選擇。 同系列還有QFN100封裝的W55MH32L版本,該版本擁有更豐富的外設(shè)資源,適用于需要多接口擴(kuò)展的復(fù)雜工控場景,軟件使用方法一致。更多信息和資料請進(jìn)入http://www.w5500.com/網(wǎng)站或者私信獲取。
此外,本W(wǎng)55MH32支持硬件加密算法單元,WIZnet還推出TOE+SSL應(yīng)用,涵蓋TCP SSL、HTTP SSL以及MQTT SSL等,為網(wǎng)絡(luò)通信安全再添保障。
為助力開發(fā)者快速上手與深入開發(fā),基于W55MH32Q這顆芯片,WIZnet精心打造了配套開發(fā)板。開發(fā)板集成WIZ-Link芯片,借助一根USB C口數(shù)據(jù)線,就能輕松實(shí)現(xiàn)調(diào)試、下載以及串口打印日志等功能。開發(fā)板將所有外設(shè)全部引出,拓展功能也大幅提升,便于開發(fā)者全面評估芯片性能。
若您想獲取芯片和開發(fā)板的更多詳細(xì)信息,包括產(chǎn)品特性、技術(shù)參數(shù)以及價格等,歡迎訪問官方網(wǎng)頁:http://www.w5500.com/,我們期待與您共同探索W55MH32的無限可能。
第八章 獨(dú)立看門狗(IWDG)
本章分為如下幾個小節(jié):
1 IWDG 簡介
2 IWDG 寄存器描述
3 程序設(shè)計(jì)
4 下載驗(yàn)證
1 IWDG 簡介
W55MH32 內(nèi)置兩個看門狗,提供了更高的安全性、時間的精確性和使用的靈活性。兩個看門狗設(shè)備(獨(dú)立看門狗和窗口看門狗)可用來檢測和解決由軟件錯誤引起的故障;當(dāng)計(jì)數(shù)器達(dá)到給定的超時值時,觸發(fā)一個中斷(僅適用于窗口型看門狗)或產(chǎn)生系統(tǒng)復(fù)位。獨(dú)立看門狗(IWDG)由專用的低速時鐘(LSI)驅(qū)動,即使主時鐘發(fā)生故障它也仍然有效。窗口看門狗由從APB1時鐘分頻后得到的時鐘驅(qū)動,通過可配置的時間窗口來檢測應(yīng)用程序非正常的過遲或過早的操作。IWDG最適合應(yīng)用于那些需要看門狗作為一個在主程序之外,能夠完全獨(dú)立工作,并且對時間精度要求較低的場合。WWDG 最適合那些要求看門狗在精確計(jì)時窗口起作用的應(yīng)用程序。
1.1 IWDG 主要性能
自由運(yùn)行的遞減計(jì)數(shù)器。
時鐘由獨(dú)立的 RC 振蕩器提供(可在停止和待機(jī)模式下工作)。
看門狗被激活后,則在計(jì)數(shù)器計(jì)數(shù)至 0x000 時產(chǎn)生復(fù)位。
1.2 WDG 功能描述
在鍵寄存器(IWDG_KR)中寫入 0xCCCC ,開始啟用獨(dú)立看門狗;此時計(jì)數(shù)器開始從其復(fù)位值 0xFFF遞減計(jì)數(shù)。當(dāng)計(jì)數(shù)器計(jì)數(shù)到末尾 0x000 時,會產(chǎn)生一個復(fù)位信號(IWDG_RESET)。
無論何時,只要在鍵寄存器 IWDG_KR 中寫入 0xAAAA ,IWDG_RLR 中的值就會被重新加載到計(jì)數(shù)器,從而避免產(chǎn)生看門狗復(fù)位。
1.3 硬件看門狗
如果用戶在選擇字節(jié)中啟用了“硬件看門狗”功能,在系統(tǒng)上電復(fù)位后,看門狗會自動開始運(yùn)行;如果在計(jì)數(shù)器計(jì)數(shù)結(jié)束前,若軟件沒有向鍵寄存器寫入相應(yīng)的值,則系統(tǒng)會產(chǎn)生復(fù)位。
1.4 寄存器訪問保護(hù)
IWDG_PR 和 IWDG_RLR 寄存器具有寫保護(hù)功能。要修改這兩個寄存器的值,必須先向 IWDG_KR寄存器中寫入 0x5555 。以不同的值寫入這個寄存器將會打亂操作順序,寄存器將重新被保護(hù)。重裝載操作(即寫入 0xAAAA )也會啟動寫保護(hù)功能。狀態(tài)寄存器指示預(yù)分頻值和遞減計(jì)數(shù)器是否正在被更新。
1.5 調(diào)試模式
當(dāng)微控制器進(jìn)入調(diào)試模式時(Cortex-M3 核心停止),根據(jù)調(diào)試模塊中的 DBG_IWDG_STOP 配置位的狀態(tài),IWDG 的計(jì)數(shù)器能夠繼續(xù)工作或停止。詳見有關(guān)調(diào)試模塊的章節(jié)。獨(dú)立看門狗框圖如下:
注: 看門狗功能處于 VDD 供電區(qū),即在停機(jī)和待機(jī)模式時仍能正常工作??撮T狗超時時間(40kHz 的輸入時鐘(LSI)。
預(yù)分頻系數(shù) | PR [2:0] 位 | 最短時間 (ms) RL [11:0]=0x000 | 最長時間 (ms) RL [11:0]=0xFFF |
/4 | 0 | 0.1 | 409.6 |
/8 | 1 | 0.2 | 819.2 |
/16 | 2 | 0.4 | 1638.4 |
/32 | 3 | 0.8 | 3276.8 |
/64 | 4 | 1.6 | 6553.6 |
/128 | 5 | 3.2 | 13107.2 |
/256 | 6 或 7 | 6.4 | 26214.4 |
注: 這些時間是按照 40kHz 時鐘給出。實(shí)際上,MCU 內(nèi)部的 RC 頻率會在 30kHz 到 60kHz 之間變化。此外,即使 RC 振蕩器的頻率是精確的,確切的時序仍然依賴于 APB 接口時鐘與 RC 振蕩器時鐘之間的相位差,因此總會有一個完整的 RC 周期是不確定的。通過對 LSI 進(jìn)行校準(zhǔn)可獲得相對精確的看門狗超時時間。有關(guān) LSI 校準(zhǔn)的問題。
2 IWDG 寄存器描述
可以用半字(16 位)或字(32 位)的方式操作這些外設(shè)寄存器。
2.1 (IWDG_KR)
地址偏移:0x00
復(fù)位值:0x0000 0000(在待機(jī)模式復(fù)位)
2.2 預(yù)分頻寄存器(IWDG_PR)
地址偏移:0x04
復(fù)位值:0x0000 0000
2.3 重裝載寄存器(IWDG_RLR)
地址偏移:0x08
復(fù)位值:0x0000 0FFF(待機(jī)模式時復(fù)位)
2.4 狀態(tài)寄存器(IWDG_SR)
地址偏移:0x0C
復(fù)位值:0x0000 0000(待機(jī)模式時不復(fù)位)
注: 如果在應(yīng)用程序中使用了多個重裝載值或預(yù)分頻值,則必須在 RVU 位被清除后才能重新改變預(yù)裝載值,在 PVU 位被清除后才能重新改變預(yù)分頻值。然而,在預(yù)分頻和/或重裝值更新后,不必等待 RVU 或 PVU 復(fù)位,可繼續(xù)執(zhí)行下面的代碼。(即是在低功耗模式下,此寫操作仍會被繼續(xù)執(zhí)行完成。)
2.5 WDG 寄存器映像
IWDG 寄存器映像和復(fù)位值。
3 程序設(shè)計(jì)
這段代碼是基于W55MH32微控制器,主要實(shí)現(xiàn)了一個獨(dú)立看門狗(IWDG)復(fù)位測試程序。獨(dú)立看門狗是一種硬件定時器,用于監(jiān)控系統(tǒng)運(yùn)行狀態(tài),當(dāng)系統(tǒng)因軟件故障等原因無法正常工作時,看門狗會產(chǎn)生復(fù)位信號,使系統(tǒng)重新啟動。該程序的具體功能如下:
1.初始化系統(tǒng):初始化延時函數(shù)、串口通信,并獲取系統(tǒng)時鐘頻率信息。
2.輸出系統(tǒng)時鐘信息:通過串口打印系統(tǒng)時鐘(SYSCLK)、高速總線時鐘(HCLK)、低速外設(shè)時鐘(PCLK1)、高速外設(shè)時鐘(PCLK2)和 ADC 時鐘(ADCCLK)的頻率。
3.初始化獨(dú)立看門狗:配置獨(dú)立看門狗的預(yù)分頻器和重裝載值,并使能獨(dú)立看門狗。
// 使能對IWDG寄存器的寫訪問 IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable); // 設(shè)置IWDG預(yù)分頻器(64)和重裝載值(2047) IWDG_SetPrescaler(IWDG_Prescaler_64); IWDG_SetReload(0x7FF); // 初始化并啟用獨(dú)立看門狗 IWDG_ReloadCounter(); IWDG_Enable();
4.等待用戶輸入:在主循環(huán)中不斷檢查用戶是否通過串口輸入字符 'r',如果輸入 'r',則喂狗(重置看門狗計(jì)數(shù)器),并通過串口輸出喂狗成功的信息。
// 從串口獲取用戶輸入字符 uint8_t GetCmd(void); // 判斷是否需要喂狗并執(zhí)行喂狗操作 if (GetCmd() == 'r') { IWDG_ReloadCounter(); printf("Feed Dog Successn"); }
4 下載驗(yàn)證
審核編輯 黃宇
-
單片機(jī)
+關(guān)注
關(guān)注
6067文章
44998瀏覽量
650722 -
看門狗
+關(guān)注
關(guān)注
10文章
583瀏覽量
71831 -
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2931文章
46263瀏覽量
392867 -
IWDG
+關(guān)注
關(guān)注
0文章
23瀏覽量
5527
發(fā)布評論請先 登錄
獨(dú)立看門狗(IWDG)的基礎(chǔ)知識

獨(dú)立看門狗(IWDG)
獨(dú)立看門狗( IWDG)和窗口看門狗( WWDG)
51單片機(jī)第八章素材
STM32看門狗配置(獨(dú)立看門狗IWDG和窗口看門狗WWDG)

MCU學(xué)習(xí)筆記_IWDG獨(dú)立看門狗

【MCU】基于STM32CubeMX 實(shí)現(xiàn)獨(dú)立看門狗 IWDG

STM32L051使用HAL庫操作實(shí)例(6)-(IWDG)獨(dú)立看門狗實(shí)驗(yàn)

評論