單芯片解決方案,開(kāi)啟全新體驗(yàn)——W55MH32 高性能以太網(wǎng)單片機(jī)
W55MH32是WIZnet重磅推出的高性能以太網(wǎng)單片機(jī),它為用戶帶來(lái)前所未有的集成化體驗(yàn)。這顆芯片將強(qiáng)大的組件集于一身,具體來(lái)說(shuō),一顆W55MH32內(nèi)置高性能Arm? Cortex-M3核心,其主頻最高可達(dá)216MHz;配備1024KB FLASH與96KB SRAM,滿足存儲(chǔ)與數(shù)據(jù)處理需求;集成TOE引擎,包含WIZnet全硬件TCP/IP協(xié)議棧、內(nèi)置MAC以及PHY,擁有獨(dú)立的32KB以太網(wǎng)收發(fā)緩存,可供8個(gè)獨(dú)立硬件socket使用。如此配置,真正實(shí)現(xiàn)了All-in-One解決方案,為開(kāi)發(fā)者提供極大便利。
在封裝規(guī)格上,W55MH32 提供了兩種選擇:QFN68和QFN100。
W55MH32Q采用QFN68封裝版本,尺寸為8x8mm,它擁有36個(gè)GPIO、3個(gè)ADC、12通道DMA、17個(gè)定時(shí)器、2個(gè)I2C、3個(gè)串口、2個(gè)SPI接口(其中1個(gè)帶I2S接口復(fù)用)、1個(gè)CAN以及1個(gè)USB2.0。在保持與同系列其他版本一致的核心性能基礎(chǔ)上,僅減少了部分GPIO以及SDIO接口,其他參數(shù)保持一致,性價(jià)比優(yōu)勢(shì)顯著,尤其適合網(wǎng)關(guān)模組等對(duì)空間布局要求較高的場(chǎng)景。緊湊的尺寸和精簡(jiǎ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ù)雜工控場(chǎng)景,軟件使用方法一致。更多信息和資料請(qǐng)進(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ò)通信安全再添保障。
為助力開(kāi)發(fā)者快速上手與深入開(kāi)發(fā),基于W55MH32Q這顆芯片,WIZnet精心打造了配套開(kāi)發(fā)板。開(kāi)發(fā)板集成WIZ-Link芯片,借助一根USB C口數(shù)據(jù)線,就能輕松實(shí)現(xiàn)調(diào)試、下載以及串口打印日志等功能。開(kāi)發(fā)板將所有外設(shè)全部引出,拓展功能也大幅提升,便于開(kāi)發(fā)者全面評(píng)估芯片性能。
若您想獲取芯片和開(kāi)發(fā)板的更多詳細(xì)信息,包括產(chǎn)品特性、技術(shù)參數(shù)以及價(jià)格等,歡迎訪問(wèn)官方網(wǎng)頁(yè):http://www.w5500.com/,我們期待與您共同探索W55MH32的無(wú)限可能。
第二十章 BKP
1 BKP 簡(jiǎn)介
備份寄存器是 42 個(gè) 16 位的寄存器,可用來(lái)存儲(chǔ) 84 個(gè)字節(jié)的用戶應(yīng)用程序數(shù)據(jù)。他們處在備份域里,當(dāng) VDD 電源被切斷,他們?nèi)匀挥?VBAT 維持供電。當(dāng)系統(tǒng)在待機(jī)模式下被喚醒,或系統(tǒng)復(fù)位或電源復(fù)位時(shí),他們也不會(huì)被復(fù)位。
此外,BKP 控制寄存器用來(lái)管理侵入檢測(cè)和 RTC 校準(zhǔn)功能。復(fù)位后,對(duì)備份寄存器和 RTC 的訪問(wèn)被禁止,并且備份域被保護(hù)以防止可能存在的意外的寫(xiě)操作。
執(zhí)行以下操作可以使能對(duì)備份寄存器和 RTC 的訪問(wèn)。
?通過(guò)設(shè)置寄存器 RCC_APB1ENR 的 PWREN 和 BKPEN 位來(lái)打開(kāi)電源和后備接口的時(shí)鐘。
?電源控制寄存器(PWR_CR)的 DBP 位來(lái)使能對(duì)后備寄存器和 RTC 的訪問(wèn)。
2 BKP 特性
?數(shù)據(jù)后備寄存器。
?用來(lái)管理防侵入檢測(cè)并具有中斷功能的狀態(tài)/控制寄存器。
?用來(lái)存儲(chǔ) RTC 校驗(yàn)值的校驗(yàn)寄存器。
?在 PC13 引腳(當(dāng)該引腳不用于侵入檢測(cè)時(shí))上輸出 RTC 校準(zhǔn)時(shí)鐘,RTC 鬧鐘脈沖或者秒脈沖。
3 BKP 功能描述
3.1 侵入檢測(cè)
當(dāng) TAMPER 引腳上的信號(hào)從'0'變成'1'或者從'1'變成'0'(取決于備份控制寄存器 BKP_CR 的 TPAL 位),會(huì)產(chǎn)生一個(gè)侵入檢測(cè)事件。侵入檢測(cè)事件將所有數(shù)據(jù)備份寄存器內(nèi)容清除。然而為了避免丟失侵入事件,侵入檢測(cè)信號(hào)是邊沿檢測(cè)的信號(hào)與侵入檢測(cè)允許位的邏輯與,從而在侵入檢測(cè)引腳被允許前發(fā)生的侵入事件也可以被檢測(cè)到。
?當(dāng) TPAL=0 時(shí):如果在啟動(dòng)侵入檢測(cè) TAMPER 引腳前(通過(guò)設(shè)置 TPE 位)該引腳已經(jīng)為高電平,一旦啟動(dòng)侵入檢測(cè)功能,則會(huì)產(chǎn)生一個(gè)額外的侵入事件(盡管在 TPE 位置'1'后并沒(méi)有出現(xiàn)上升沿)。
?當(dāng) TPAL=1 時(shí):如果在啟動(dòng)侵入檢測(cè)引腳 TAMPER 前(通過(guò)設(shè)置 TPE 位)該引腳已經(jīng)為低電平,一旦啟動(dòng)侵入檢測(cè)功能,則會(huì)產(chǎn)生一個(gè)額外的侵入事件(盡管在 TPE 位置'1'后并沒(méi)有出現(xiàn)下降沿)。
設(shè)置 BKP_CSR 寄存器的 TPIE 位為'1',當(dāng)檢測(cè)到侵入事件時(shí)就會(huì)產(chǎn)生一個(gè)中斷。在一個(gè)侵入事件被檢測(cè)到并被清除后,侵入檢測(cè)引腳 TAMPER 應(yīng)該被禁止。然后,在再次寫(xiě)入備份數(shù)據(jù)寄存器前重新用 TPE 位啟動(dòng)侵入檢測(cè)功能。這樣,可以阻止軟件在侵入檢測(cè)引腳上仍然有侵入事件時(shí)對(duì)備份數(shù)據(jù)寄存器進(jìn)行寫(xiě)操作。這相當(dāng)于對(duì)侵入引腳 TAMPER 進(jìn)行電平檢測(cè)。
注:當(dāng) VDD 電源斷開(kāi)時(shí),侵入檢測(cè)功能仍然有效。為了避免不必要的復(fù)位數(shù)據(jù)備份寄存器,TAMPER 引腳應(yīng)該在片外連接到正確的電平。
3.2 RTC 校準(zhǔn)
為方便測(cè)量,RTC 時(shí)鐘可以經(jīng) 64 分頻輸出到侵入檢測(cè)引腳 TAMPER 上。通過(guò)設(shè)置 RTC 校驗(yàn)寄存器(BKP_RTCCR)的 CCO 位來(lái)開(kāi)啟這一功能。通過(guò)配置 CAL[6:0]位,此時(shí)鐘可以最多減慢 121ppm。
4 例程設(shè)計(jì)
4.1 BKP_BackupData
?UART 通信模塊UART_Configuration函數(shù):使能 USART1 和 GPIOA 時(shí)鐘,配置 GPIO 引腳用于 UART 通信,初始化 USART 參數(shù)(波特率、數(shù)據(jù)位、停止位等),并使能 USART1。
······重定向printf函數(shù):通過(guò)SER_PutChar和fputc函數(shù)將printf輸出重定向到 USART1,方便通過(guò)串口輸出調(diào)試信息。
?備份寄存器操作模塊WriteToBackupReg函數(shù):將一系列遞增的數(shù)據(jù)寫(xiě)入備份寄存器。數(shù)據(jù)從FirstBackupData開(kāi)始,每個(gè)寄存器的值遞增0x5A。
······CheckBackupReg函數(shù):檢查備份寄存器中的數(shù)據(jù)是否與預(yù)期一致。若所有寄存器的數(shù)據(jù)都正確,返回 0;若有不一致,返回第一個(gè)不一致的寄存器索引加 1。
?主函數(shù)模塊初始化系統(tǒng)時(shí)鐘、延時(shí)函數(shù)和 UART。
?使能備份寄存器和電源管理外設(shè)的時(shí)鐘,清除備份寄存器標(biāo)志。
?輸出系統(tǒng)時(shí)鐘信息和測(cè)試提示信息。
?檢查復(fù)位標(biāo)志RCC_FLAG_PORRST:若該標(biāo)志置位,表明是 POR/PDR 復(fù)位,調(diào)用WriteToBackupReg函數(shù)寫(xiě)入數(shù)據(jù),并輸出寫(xiě)入成功信息。
······ 若該標(biāo)志復(fù)位,調(diào)用CheckBackupReg函數(shù)檢查數(shù)據(jù),并根據(jù)檢查結(jié)果輸出相應(yīng)信息。
?進(jìn)入無(wú)限循環(huán),保持程序運(yùn)行。
4.2 BKP_Tamper
該例程是一個(gè)基于 W55MH32 的備份寄存器(Backup Registers)測(cè)試程序,用于驗(yàn)證備份寄存器的數(shù)據(jù)保存功能及篡改檢測(cè)(Tamper Detection)機(jī)制。以下是程序的主要工作流程總結(jié):
1. 初始化階段
(1)使能電源和備份域時(shí)鐘
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);
開(kāi)啟電源控制(PWR)和備份域(BKP)的時(shí)鐘,為后續(xù)操作做準(zhǔn)備。
(2)延時(shí)函數(shù)和串口初始化
delay_init(); UART_Configuration(115200);
?delay_init():初始化延時(shí)函數(shù)。
?UART_Configuration(115200):配置串口 1,波特率為 115200,用于調(diào)試信息輸出。
(3)獲取并打印時(shí)鐘信息
RCC_GetClocksFreq(&clocks); printf("SYSCLK: %3.1fMhz, HCLK: %3.1fMhz, PCLK1: %3.1fMhz, PCLK2: %3.1fMhz, ADCCLK: %3.1fMhzn", ...);
獲取并打印系統(tǒng)各總線時(shí)鐘頻率,便于調(diào)試。
2. 備份域配置
(1)使能備份區(qū)域訪問(wèn)
PWR_BackupAccessCmd(ENABLE);
允許訪問(wèn)備份寄存器和 RTC 寄存器。
(2)配置篡改檢測(cè)功能
BKP_TamperPinCmd(DISABLE); BKP_ITConfig(DISABLE); BKP_TamperPinLevelConfig(BKP_TamperPinLevel_Low); BKP_ClearFlag();
?禁用篡改引腳和中斷,設(shè)置引腳觸發(fā)電平為低。
?清除備份域標(biāo)志位。
(3)重新使能篡改檢測(cè)
BKP_ITConfig(ENABLE); BKP_TamperPinCmd(ENABLE);
使能篡改中斷和引腳檢測(cè)功能。
3. 寫(xiě)入備份寄存器
(1)寫(xiě)入數(shù)據(jù)
WriteToBackupReg(0xA53C);
向 42 個(gè)備份寄存器寫(xiě)入遞增數(shù)據(jù)(起始值 0xA53C,每個(gè)寄存器遞增 0x5A)。
示例寫(xiě)入值:0xA53C, 0xA596, 0xA5F0, ..., 0xA53C + 41×0x5A。
4. 驗(yàn)證數(shù)據(jù)完整性
(1)檢查寫(xiě)入結(jié)果
if (CheckBackupReg(0xA53C) == 0x00) printf("Backup Data Write Successn"); else printf("Backup Data Write Failn");
CheckBackupReg() 函數(shù)遍歷所有備份寄存器,驗(yàn)證數(shù)據(jù)是否與期望值一致。
若所有寄存器正確,打印成功信息;否則打印失敗并返回錯(cuò)誤寄存器索引。
5. 篡改檢測(cè)機(jī)制
(1)中斷配置
NVIC_Configuration();
配置篡改中斷(TAMPER_IRQn)的優(yōu)先級(jí)為搶占優(yōu)先級(jí) 0,子優(yōu)先級(jí) 0。
(2)中斷處理函數(shù)
void TAMPER_IRQHandler(void) { if (IsBackupRegReset() == 0) printf("Backup Tameper Attackn"); // 所有寄存器被復(fù)位,檢測(cè)到篡改 else printf("Backup Tameper No Attackn"); // 寄存器數(shù)據(jù)正常 // 清除標(biāo)志并重新使能篡改檢測(cè) }
?當(dāng)篡改引腳(默認(rèn) PB12)檢測(cè)到低電平觸發(fā)時(shí),觸發(fā)中斷。
?通過(guò) IsBackupRegReset() 檢查所有備份寄存器是否被復(fù)位:若全為 0x0000,說(shuō)明數(shù)據(jù)被清除,報(bào)告攻擊。
······否則,認(rèn)為數(shù)據(jù)正常。
5 下載驗(yàn)證
5.1 BKP_BackupData
程序啟動(dòng)
?串口輸出系統(tǒng)時(shí)鐘頻率信息,包含 SYSCLK、HCLK、PCLK1、PCLK2 和 ADCCLK 的頻率,幫助確認(rèn)系統(tǒng)時(shí)鐘配置是否正確。
?顯示 “Backup Data Test.”,表明開(kāi)始進(jìn)行備份數(shù)據(jù)測(cè)試。
?輸出RCC->CSR寄存器的值。
上電復(fù)位或掉電復(fù)位情況
?若檢測(cè)到 POR/PDR 復(fù)位標(biāo)志(RCC_FLAG_PORRST)置位,串口輸出 “POR/PDR Reset Flag Set”。
?隨后調(diào)用WriteToBackupReg函數(shù)向備份寄存器寫(xiě)入數(shù)據(jù),完成后串口輸出 “Backup Data Write Success”。
非上電復(fù)位或掉電復(fù)位情況
?若檢測(cè)到 POR/PDR 復(fù)位標(biāo)志復(fù)位,串口輸出 “POR/PDR Reset Flag Reset”。
?調(diào)用CheckBackupReg函數(shù)檢查備份寄存器中的數(shù)據(jù):若數(shù)據(jù)檢查成功,串口輸出 “Backup Data Check Success”。
······若數(shù)據(jù)檢查失敗,串口輸出 “Backup Data Check Fail”。
程序持續(xù)運(yùn)行
完成上述操作后,程序進(jìn)入無(wú)限循環(huán),持續(xù)運(yùn)行但不再有其他輸出,除非系統(tǒng)再次發(fā)生復(fù)位觸發(fā)相應(yīng)操作。
5.2 BKP_Tamper
WIZnet 是一家無(wú)晶圓廠半導(dǎo)體公司,成立于 1998 年。產(chǎn)品包括互聯(lián)網(wǎng)處理器 iMCU?,它采用 TOE(TCP/IP 卸載引擎)技術(shù),基于獨(dú)特的專利全硬連線 TCP/IP。iMCU? 面向各種應(yīng)用中的嵌入式互聯(lián)網(wǎng)設(shè)備。
WIZnet 在全球擁有 70 多家分銷商,在香港、韓國(guó)、美國(guó)設(shè)有辦事處,提供技術(shù)支持和產(chǎn)品營(yíng)銷。
香港辦事處管理的區(qū)域包括:澳大利亞、印度、土耳其、亞洲(韓國(guó)和日本除外)。
審核編輯 黃宇
-
寄存器
+關(guān)注
關(guān)注
31文章
5421瀏覽量
123370 -
BKP
+關(guān)注
關(guān)注
0文章
5瀏覽量
2609
發(fā)布評(píng)論請(qǐng)先 登錄
火力發(fā)電廠水汽分析方法 第二十八部分:有機(jī)物的測(cè)定(紫外吸收法)
明德?lián)P視頻分享點(diǎn)撥FPGA課程--第二十章??提高效率技巧
明德?lián)P視頻分享點(diǎn)撥FPGA課程--第二十一章 ?矩陣鍵盤(pán)工程
實(shí)時(shí)頻譜儀原理及操作指南
第二十講 加法器和數(shù)值比較器

第二十一講 組合邏輯電路中的競(jìng)爭(zhēng)冒險(xiǎn)

第二十二講 同步時(shí)序邏輯電路的分析方法

第二十五講 同步計(jì)數(shù)器

第二十七講 同步時(shí)序邏輯電路的設(shè)計(jì)

第二十八講 數(shù)模和模數(shù)轉(zhuǎn)換器

第二十九講 A/D轉(zhuǎn)換器

模擬電路網(wǎng)絡(luò)課件 第二十節(jié):場(chǎng)效應(yīng)管放大電路

模擬電路網(wǎng)絡(luò)課件 第二十六節(jié):差分式放大電路

上海貝嶺榮獲第二十六屆上市公司金信披獎(jiǎng)
Aigtek高光回顧!第二十屆全國(guó)電介質(zhì)物理、材料與應(yīng)用學(xué)術(shù)會(huì)議!

評(píng)論