在以前的推文中《STM32網絡之SMI接口》《STM32網絡之MII和RMII接口》,介紹了STM32以太網和外部PHY的全部接口。網絡
若是有同窗對SMI,MII和RMII接口不熟悉,建議看一下上面提到的兩篇文章,否則可能看不太懂下文。app
區域1:咱們稱爲SMI接口,用於配置外部PHY芯片。spa
區域2:是數據交換接口,也就是上面咱們說的MII接口和RMII接口。設計
利用這些接口能夠有多種不一樣的網絡電路設計方案,這裏我來總結下。3d
MII接口在文章《STM32網絡之MII和RMII》已經詳細介紹過了,從中得知,須要一個25MHz的時鐘。blog
對於MII接口,最經常使用的方案是,STM32外接25MHz的晶振。接口
內部的PLL配置HCLK,提供給內核和外設等。圖片
外部PHY鏈接提供了25MHz的MCO腳。element
此方案適合STM32F107/2x7/4x7。開發
RMII接口在文章《STM32網絡之MII和RMII》已經詳細介紹過了,從中得知,須要一個50MHz的時鐘。
這個方案須要外接連裏兩個晶振。
外接25MHz晶振,內部的PLL配置HCLK,提供給內核和外設等。
外接50MHz晶振,輸出50MHz時鐘,提供給MAC控制器和外部PHY。
此方案適合STM32F107/2x7/4x7。
這種方案外部只須要接1個50M晶振。一個晶振同時給STM32和外部PHY提供時鐘,這樣能夠省成本。
重點:STM32F2X7不能使用這種方案,只適用於STM32F107/4x7。
你們注意上圖的區別
這是由於,將HSE的OSC部分濾除掉,經過HSE的bypass,已經將50MHz的時鐘經過OSCIN輸入到PLL,再經過PLL產生提供內核和外設的時鐘。
這個方案也使用一個25MHz的晶振,可是須要一個功能強大的PHY芯片,這顆PHY能夠將輸入的25MHz的時鐘內部倍頻到50MHz時鐘,而後輸出給STM32的MAC控制模塊。
外接25MHz晶振,內部的PLL配置HCLK,提供給內核和外設等。
STM32經過MCO引腳提供25MHz時鐘給外部PHY。
外部PHY內部生成50MHz的時鐘提供給STM32的MAC控制模塊。
此方案適合STM32F107/2x7/4x7。
我的不建議這種方案,不利於後期更換物料。