一.前言 項目競標(biāo):GE PHY芯片設(shè)計 STM32Fxx7 系列(互聯(lián)型產(chǎn)品)中內(nèi)置了 MAC,配合外置的 PHY 可以實現(xiàn)以太網(wǎng)通訊。這篇文檔將介紹以太網(wǎng)接口的信號定義,重點介紹時鐘電路的設(shè)計,并給出在實踐中已成功應(yīng)用的設(shè)計方案,希望可以對需要進(jìn)行以太網(wǎng)電路設(shè)計的朋友提供 幫助。 二.以太網(wǎng)接口 STM32 的以太網(wǎng)支持 10M/100M bits 的全雙工和半雙工的工作方式,其中的 MAC 通過 MII 接口或者 RMII 接口與 PHY 通訊。 1. MII MII 接口標(biāo)準(zhǔn)定義了 16 跟信號線,根據(jù)功能將其可以分為 3 組(發(fā)送,接收,載波偵聽 和沖突監(jiān)測),另外還 有用于對 PHY 進(jìn)行配置的 SMI 接口。
發(fā)送 ·TX_CLK:MII 接口需要 25MHz 的時鐘(100Mbits 傳輸速率時),當(dāng)以 10Mbits 的速率工作,PHY 內(nèi)部的電路會對 25MHz 的信號進(jìn)行十分頻以得到 2.5MHz 的時鐘。 ·TXD[3 :0] : 根據(jù)時鐘速率,不難算出 TXD 需要 4 根數(shù)據(jù)線。數(shù)據(jù)線需要與時鐘保持同步。 ·TX_EN : 發(fā)送使能信號,也需要與時鐘保持同步。 ·TX_ER : 發(fā)送錯誤指示信號,MAC 通過此信號向 PHY 表示數(shù)據(jù)無效。需要注意的是在許多 PHY 和 MAC 中,這個 信號是沒有的(STM32 就沒有這個信號,圖中用虛線表示),由于在另一端的接 收信號中包含 RX_ER,因此這個 信號是不必要的。 接收·RX_CLK: 接收時鐘與發(fā)送時鐘完全類似。 ·RXD[3 :0]: 與發(fā)送數(shù)據(jù)線完全類似。 ·RX_ER:接收錯誤指示信號,PHY 通過此信號向 MAC 層表示在某一幀數(shù)據(jù)中發(fā)現(xiàn)問題。需要與RX_DV 一起使用。 ·RX_DV:與 RX_ER 一起進(jìn)行出錯分析。 載波偵聽和沖突監(jiān)測CRS,COL:這兩根信號線在半雙工工作方式下提供載波偵聽和沖突監(jiān)測功能,全雙工下無用。
SMI 接口MDC,MDIO:對 PHY 進(jìn)行配置的接口。可以通過 GPIO 口進(jìn)行模擬。 2. RMII
RMII 接口可以簡單的理解為(Reduce-MII)接口,即減少了 MII 接口中信號線的數(shù)量。基本原理是通 過提高時鐘速率來完成的(RMII 的時鐘為 50MHz),因此發(fā)送/接收數(shù)據(jù)線都只需要兩根,并合并了一定功能引腳。 CRS_DV:此信號是 MII 接口中 CRS 和 RX_DV 的復(fù)合信號。
三. 時鐘電路設(shè)計
仔細(xì)觀察圖 1 和圖 2,細(xì)心的讀者會發(fā)現(xiàn)兩者在時鐘電路上有著明顯的區(qū)別。在 MII 接口電路中,時鐘由 PHY 向 MAC 提供 (時鐘源由通訊的一方來提供);在 RMII 接口電路中,MAC 和 PHY 共同使用來 自外部的時鐘信號(數(shù)據(jù)的發(fā)送方和接收 方采用同一個時鐘源)。 由于 MAC 和 PHY 的通訊速率相對較快,為保證硬件電路的可靠性,在設(shè)計中應(yīng)該通過器件的數(shù)據(jù)手冊了解相關(guān)參數(shù)以確定 具體的電路方式。一般需要注意的有: ·上升時間/下降時間 t_rise/t_fall : STM32 的 GPIO 口可以進(jìn)行擺率的設(shè)置,不同擺率下上升時間和下降時間是不同的。 尤為需要注意的是,當(dāng)使用 MCO(Main Clock Output 需要了解此功能的讀者 請閱讀參考手冊)對多個 PHY 提供 時鐘,需考慮負(fù)載的增加,對輸出能力的要求的影響。 ·時鐘抖動(短周期)jitter(short term):特別需要注意的是此項參數(shù),不同的 PHY 對此項參數(shù)的有不同的要求,一般 多要求 jitter 小于幾十個 ps,有些 PHY 的則要求 jitter 小于幾百個 ps。STM32 的 MCO 直接輸出 HSE 的時鐘抖動 一般在 30~40ps,但若使用 PLL 對 HSE 倍頻后,再由 MCO 輸出 會帶來幾百個 ps 的時鐘抖動。 下面將分別介紹目前在實踐中應(yīng)用最為廣泛的兩種接口電路。
1.MII 接口設(shè)計
圖 3 MII 接口設(shè)計實例 如圖 3 所示,此系統(tǒng)是典型的 MII 接口電路設(shè)計,PHY 所需的時鐘由 STM32 的 MCO 管腳輸出(直接輸出 HSE 的信號,沒 有經(jīng)過 PLL 處理)。需保證 MCO 輸出的時鐘滿足 PHY 的要求。 2.RMII 時鐘電路
圖 4 RMII 接口設(shè)計實例 如圖 4 所示,此系統(tǒng)是典型的 RMII 接口電路設(shè)計,MAC 和 PHY 所需的時鐘由外部的有源晶振(50MHz)提供,需保證OSC 輸出的時鐘滿足 MAC 和 PHY 的要求。 四. 結(jié)語 盡管本文討論的是以太網(wǎng)電路的設(shè)計要點,事實上,在數(shù)字電路接口的設(shè)計中,了解信號鏈走向和器件的參數(shù)要求都是必要 的,也只要如此,才可以保證數(shù)字電路接口的硬件可靠性。
文章來源:微信公眾號 融創(chuàng)芯城(一站式電子元器件、PCB、PCBA購買服務(wù)平臺,項目眾包平臺,方案共享平臺)
|