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

獨立看門狗( IWDG)和窗口看門狗( WWDG)
STM32看門狗配置(獨立看門狗IWDG和窗口看門狗WWDG)

【MCU】基于STM32CubeMX 實現獨立看門狗 IWDG

STM32L051使用HAL庫操作實例(6)-(IWDG)獨立看門狗實驗

評論