單芯片解決方案,開(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提供了兩種選擇:QFN100和QFN68。
W55MH32L采用QFN100封裝版本,尺寸為12x12mm,其資源豐富,專(zhuān)為各種復(fù)雜工控場(chǎng)景設(shè)計(jì)。它擁有66個(gè)GPIO、3個(gè)ADC、12通道DMA、17個(gè)定時(shí)器、2個(gè)I2C、5個(gè)串口、2個(gè)SPI接口(其中1個(gè)帶I2S接口復(fù)用)、1個(gè)CAN、1個(gè)USB2.0以及1個(gè)SDIO接口。如此豐富的外設(shè)資源,能夠輕松應(yīng)對(duì)工業(yè)控制中多樣化的連接需求,無(wú)論是與各類(lèi)傳感器、執(zhí)行器的通信,還是對(duì)復(fù)雜工業(yè)協(xié)議的支持,都能游刃有余,成為復(fù)雜工控領(lǐng)域的理想選擇。同系列還有QFN68封裝的W55MH32Q版本,該版本體積更小,僅為8x8mm,成本低,適合集成度高的網(wǎng)關(guān)模組等場(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ā),基于W55MH32L這顆芯片,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ú)限可能。
第三十一章 MCO——PA8從主頻分頻輸出
W55MH32的MCO(Microcontroller Clock Output)是一個(gè)重要的時(shí)鐘輸出功能,允許將內(nèi)部時(shí)鐘信號(hào)通過(guò)特定引腳輸出到外部,供其他設(shè)備或系統(tǒng)同步使用。以下是關(guān)于MCO功能概述、應(yīng)用場(chǎng)景及配置步驟的詳細(xì)說(shuō)明:
1MCO功能概述
1.1簡(jiǎn)介
W55MH32的MCO(Microcontroller Clock Output)是微控制器的時(shí)鐘輸出引腳,允許將內(nèi)部時(shí)鐘源(如HSI、HSE、PLL或系統(tǒng)時(shí)鐘)輸出到外部,主要用于系統(tǒng)調(diào)試、外部設(shè)備同步或時(shí)鐘測(cè)量。
1.2基本概念
MCO引腳:通常為特定的GPIO(如W55MH32系列的PA8),需配置為復(fù)用功能(AF)模式。
時(shí)鐘源:MCO的時(shí)鐘源可來(lái)自W55MH32內(nèi)部的多種時(shí)鐘信號(hào),例如:
HSI(內(nèi)部高速時(shí)鐘):默認(rèn)8MHz(不同型號(hào)可能不同)。
HSE(外部高速時(shí)鐘):外接晶振或時(shí)鐘源(如8MHz)。
PLL輸出:經(jīng)過(guò)鎖相環(huán)倍頻后的系統(tǒng)時(shí)鐘(SYSCLK)。
LSI/LSE(低速時(shí)鐘):通常用于低功耗場(chǎng)景(如RTC),但較少用于MCO輸出。
1.3分頻原理
通過(guò)RCC時(shí)鐘控制寄存器(如RCC_CFGR)中的MCO預(yù)分頻器(MCO Prescaler),可對(duì)時(shí)鐘源進(jìn)行分頻,輸出頻率公式為:
(時(shí)鐘源分頻系數(shù)分頻系數(shù)可選:1、2、4、8、16)
例如:若系統(tǒng)時(shí)鐘(SYSCLK)為72MHz,分頻系數(shù)設(shè)為4,則MCO輸出頻率為18MHz。
2應(yīng)用場(chǎng)景
MCO的核心價(jià)值在于精準(zhǔn)時(shí)鐘輸出和系統(tǒng)調(diào)試便利性,以下是其典型應(yīng)用場(chǎng)景:
2.1為外部設(shè)備提供時(shí)鐘源
場(chǎng)景:當(dāng)外部傳感器、ADC、DAC、通信模塊(如WiFi/藍(lán)牙芯片)需要精準(zhǔn)時(shí)鐘時(shí),可直接使用MCO輸出的時(shí)鐘信號(hào),避免額外時(shí)鐘電路設(shè)計(jì)。
示例:為外部ADC芯片提供同步時(shí)鐘,確保采樣頻率與W55MH32系統(tǒng)時(shí)鐘同步。
2.2多芯片同步(主從模式)
場(chǎng)景:多個(gè)W55MH32或其他MCU協(xié)同工作時(shí),通過(guò)MCO輸出主芯片的時(shí)鐘,使從芯片以相同頻率運(yùn)行,避免異步通信帶來(lái)的時(shí)序問(wèn)題。
示例:工業(yè)控制中多處理器同步執(zhí)行任務(wù),或分布式系統(tǒng)中的時(shí)鐘同步。
2.3調(diào)試與測(cè)量
場(chǎng)景:開(kāi)發(fā)階段通過(guò)示波器測(cè)量MCO引腳,驗(yàn)證內(nèi)部時(shí)鐘配置是否正確(如PLL倍頻、分頻系數(shù)是否生效)。
用途:快速定位時(shí)鐘配置錯(cuò)誤(如系統(tǒng)時(shí)鐘未按預(yù)期分頻)。
2.4通信協(xié)議的時(shí)鐘同步
場(chǎng)景:在需要精確時(shí)鐘的通信協(xié)議中(如SPI、I2S、CAN),MCO可作為從設(shè)備的時(shí)鐘參考,確保數(shù)據(jù)傳輸?shù)姆€(wěn)定性。
示例:W55MH32作為SPI主機(jī)時(shí),MCO輸出時(shí)鐘供從機(jī)(如Flash芯片)同步,避免因時(shí)鐘偏差導(dǎo)致的數(shù)據(jù)錯(cuò)誤。
2.5低功耗系統(tǒng)的時(shí)鐘管理
場(chǎng)景:在電池供電系統(tǒng)中,通過(guò)MCO輸出低頻時(shí)鐘(如將HSI分頻至1MHz),供外部外設(shè)進(jìn)入低功耗模式,同時(shí)保持系統(tǒng)部分功能運(yùn)行。
3注意事項(xiàng)
引腳驅(qū)動(dòng)能力:MCO輸出頻率不宜過(guò)高(需低于GPIO的最大可靠頻率,通常建議不超過(guò)50MHz),高頻時(shí)需考慮信號(hào)完整性(如阻抗匹配)。
時(shí)鐘源使能順序:配置MCO前需確保時(shí)鐘源已穩(wěn)定(如HSE起振完成),避免輸出無(wú)效信號(hào)。
4程序設(shè)計(jì)
配置MCO需依次完成時(shí)鐘源使能、GPIO功能設(shè)置、寄存器分頻配置等步驟,具體如下:
4.1使能時(shí)鐘源
若時(shí)鐘源為PLL或HSE,需先通過(guò)RCC寄存器使能對(duì)應(yīng)的時(shí)鐘(如RCC_HSEConfig(RCC_HSE_ON))。
若選擇SYSCLK(系統(tǒng)時(shí)鐘)作為源,需確保系統(tǒng)時(shí)鐘已正確配置(如PLL倍頻完成)。
4.2配置GPIO為MCO復(fù)用功能
將MCO引腳(如PA8)設(shè)置為復(fù)用推挽輸出,確保信號(hào)穩(wěn)定輸出:
void MCO_GpioConfig(void) { GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; GPIO_InitStructure.GPIO_Speed= GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_Init(GPIOA,&GPIO_InitStructure); }
選擇引腳:確定使用PA8(GPIO_Pin_8)。
設(shè)置速度:因外設(shè)需要高頻信號(hào)(如MCO輸出幾十MHz的時(shí)鐘),所以選擇50MHz高速模式。
配置模式:復(fù)用推挽輸出模式使引腳可輸出外設(shè)的專(zhuān)用信號(hào)(而非普通GPIO電平)。
寄存器寫(xiě)入:通過(guò)GPIO_Init()函數(shù)將配置寫(xiě)入硬件寄存器,使引腳按設(shè)定模式工作。
4.3選擇時(shí)鐘源并設(shè)置分頻系數(shù)
通過(guò)RCC_CFGR寄存器的MCO位段選擇時(shí)鐘源,MCOPRE位段設(shè)置分頻系數(shù):
void RCC_MCOConfig(uint8_t RCC_MCO) { /* Check the parameters */ assert_param(IS_RCC_MCO(RCC_MCO)); if(RCC_MCO<= RCC_MCO_PLLCLK_Div2) ???????? { ?????????????????? /* Perform Byte access to MCO bits to select the MCO source */ ?????????????????? *(__IO?uint8_t?*) CFGR_BYTE4_ADDRESS?= RCC_MCO; ???????? } ???????? else ???????? { ?????????????????? *(__IO?uint8_t?*) CFGR_BYTE4_ADDRESS?= RCC_MCO_PLLCLK_Div2; ???????? } ???????? RCC-?>RCC_MCO_VAL= RCC_MCO-6; }
該函數(shù)主要實(shí)現(xiàn)的功能為:
參數(shù)校驗(yàn):確保輸入的 MCO配置是W55MH32支持的合法選項(xiàng)。
寄存器寫(xiě)入:通過(guò)字節(jié)訪問(wèn) RCC_CFGR寄存器的特定位段,設(shè)置 MCO的時(shí)鐘源和分頻系數(shù)。
異常保護(hù):若輸入非法參數(shù),強(qiáng)制使用安全的默認(rèn)配置(RCC_MCO_PLLCLK_Div2)。
4.4主程序
主程序main()實(shí)現(xiàn)整體功能,驗(yàn)證時(shí)鐘配置并提供時(shí)鐘輸出測(cè)試:
int main(void) { RCC_ClocksTypeDef clocks; delay_init(); RCC_ClkConfiguration(); UART_Configuration(115200); printf("MCO Out Pll Div Test.n"); RCC_GetClocksFreq(&clocks); printf("SYSCLK: %3.1fMhz, HCLK: %3.1fMhz, PCLK1: %3.1fMhz, PCLK2: %3.1fMhz, ADCCLK: %3.1fMhzn", (float)clocks.SYSCLK_Frequency /1000000,(float)clocks.HCLK_Frequency/1000000, (float)clocks.PCLK1_Frequency /1000000,(float)clocks.PCLK2_Frequency/1000000,(float)clocks.ADCCLK_Frequency/1000000); MCO_GpioConfig(); RCC_MCOConfig(RCC_MCO_PLLCLK_Div16); while(1); }
程序首先初始化延時(shí)函數(shù)和系統(tǒng)時(shí)鐘,配置UART以115200波特率輸出調(diào)試信息,然后獲取并打印系統(tǒng)時(shí)鐘、AHB總線、APB1/APB2總線及ADC時(shí)鐘的頻率。接著配置MCO引腳(PA8)并將PLL時(shí)鐘除以16后通過(guò)該引腳輸出。最后程序進(jìn)入無(wú)限循環(huán)保持運(yùn)行狀態(tài),
5下載驗(yàn)證
程序下載運(yùn)行后,首先打印了示例名稱和各系統(tǒng)時(shí)鐘頻率,然后PA8引腳持續(xù)輸出波形:
6總結(jié)
MCO功能通過(guò)靈活配置時(shí)鐘源和分頻系數(shù),為W55MH32提供了對(duì)外輸出時(shí)鐘的能力,簡(jiǎn)化了系統(tǒng)設(shè)計(jì)中的時(shí)鐘同步問(wèn)題。先理解其應(yīng)用場(chǎng)景(如多芯片同步、調(diào)試測(cè)量),再掌握配置步驟(時(shí)鐘源選擇、GPIO設(shè)置、分頻配置),可更高效地應(yīng)用于實(shí)際項(xiàng)目中。
WIZnet是一家無(wú)晶圓廠半導(dǎo)體公司,成立于 1998年。產(chǎn)品包括互聯(lián)網(wǎng)處理器 iMCU?,它采用 TOE(TCP/IP卸載引擎)技術(shù),基于獨(dú)特的專(zhuān)利全硬連線 TCP/IP。iMCU?面向各種應(yīng)用中的嵌入式互聯(lián)網(wǎng)設(shè)備。
WIZnet在全球擁有 70多家分銷(xiāo)商,在香港、韓國(guó)、美國(guó)設(shè)有辦事處,提供技術(shù)支持和產(chǎn)品營(yíng)銷(xiāo)。
香港辦事處管理的區(qū)域包括:澳大利亞、印度、土耳其、亞洲(韓國(guó)和日本除外)。
審核編輯 黃宇
-
時(shí)鐘同步
+關(guān)注
關(guān)注
0文章
115瀏覽量
12991 -
時(shí)鐘輸出
+關(guān)注
關(guān)注
0文章
5瀏覽量
5755
發(fā)布評(píng)論請(qǐng)先 登錄
MCO(PA8)在DEBUG的時(shí)候不輸出波形會(huì)是什么原因?
MCO輸出的管腳是固定的PA8嗎?
STM32 PA8 MCO輸出32.768Khz頻率
MCO(PA8)在DEBUG的時(shí)候不輸出波形,會(huì)是什么原因??
「ALIENTEK 探索者 STM32F407 開(kāi)發(fā)板資料連載」第三十一章 485 實(shí)驗(yàn)
STM32配置MCO
如何設(shè)置PA8作為MCO輸出?
為什么STM32G0B0VE的PA8引腳會(huì)反向輸出信號(hào)呢
第三十一講 隨機(jī)存取存儲(chǔ)器

模擬電路網(wǎng)絡(luò)課件 第三十一節(jié):負(fù)反饋放大電路的四種類(lèi)型

STM32F103 PA8不能輸出PWM波問(wèn)題

中信網(wǎng)絡(luò)參加第三十一屆中國(guó)國(guó)際信息通信展覽會(huì)

評(píng)論