瑞薩電子的MCU產品RX72M是一款適用于工業網絡解決方案的高性能32位微控制器,在應用時需搭配外部的以太網PHY芯片。本次我們介紹RX72M和PHY芯片連接時的注意事項。
一
所需引腳定義
首先,RX72M和PHY芯片整體的連接關系如下圖(RX72M Hardware Manual中Example of Connection with the PHY-LSI)所示:
圖1 RX72M和PHY-LSI連接示例
由于RX72M具備兩個ESC端口,因此需要連接兩顆PHY芯片。
對于每個PHY芯片,和RX72M連接時用到的引腳如下:
圖2 每個PHY芯片和RX72M引腳的連接
注:*的值為0或1。
兩個PHY芯片共同連接到RX72M的引腳如下:
圖3 兩個PHY芯片和RX72M連接時共用的引腳
注:MDIO引腳需增加4.7K上拉電阻。
二
PHY接口模式選擇
每個PHY芯片的Power on strapping要求不盡相同,由于RX72M ESC僅支持MII模式,因此引腳配置請參考MII對應的要求(下表中黃色高亮的部分):
圖4 PHY芯片Power on strapping - Mode Config
三
PHY地址配置
對于MCU和PHY芯片通信來說,PHY芯片地址是非常重要的參數。由于RX72M具備兩個ESC端口,因此需要通過地址對兩顆PHY芯片進行區分。此情況下,00b地址不可用。請從下表中的3種可選項中選取任意兩個。
圖5 PHY芯片Power on strapping – Phy Address
由于需要利用兩顆LED分別指示PHY芯片的Link和Activity狀態,因此將Pin 10 RXD1設定為LED Mode,如下圖所示:
圖6 PHY芯片 Power on strapping – Wake On LAN Selection
四
系統設計流程
有了前面的基礎信息,我們可以按照以下的步驟進行系統設計。
01
選取板上兩顆PHY芯片的Phy Address,由此決定LED/PHYADD0和LED1/PHYADD1的初始電平。
02
依據Phy Address決定LED的有效驅動電平,設計RJ45接口電路。下圖是RJ45的參考設計,保留了充分的冗余設計,可適配不同Phy Address選項。
圖7 RJ45部分參考設計
03
以LED0(Green)表示Link Status,LED1(Yellow)表示Activity Status為例,不同的Phy Address選項下,對應了不同的電阻配置,參考下表中的說明調整RJ45中電阻的焊接/不焊接配置。
圖8 Phy Address和電阻設定對照表
04
對照硬件設計,需要在RX72M Project的Smart Configurator中進行Phy Address和Link Signal Polarity設定,下圖以Phy Address分別為2和3時的設定值。注意,Phy Address的低位(bit 0)決定了Link Signal Active Level。具體地說,如果bit 0為0,則表示上電時該引腳電平已為低,則PHY芯片Link起來時,該引腳電平會變高,因此Link Signal Active Level應設定為Active-High。bit 0為1時則剛好相反。
圖9 PHY Address和Link Signal Polarity設定方式
五
軟件引腳初始化
最后,需要在RX72M代碼(r_ecat_setting_rx72m.c中函數esc_init())中增加對PHY芯片初始化的配置,使得PHY芯片按照設定的模式工作。
左右滑動查看完整內容
//configuration for phy0
write_phyreg((ECAT_CFG_CH0_PHY_ADDRESS - ECAT_CFG_PHY_OFFSET_ADDRESS), 0x1e, 0x40C0); // EXT 40C0
write_phyreg((ECAT_CFG_CH0_PHY_ADDRESS - ECAT_CFG_PHY_OFFSET_ADDRESS), 0x1f, 0x0030);
write_phyreg((ECAT_CFG_CH0_PHY_ADDRESS - ECAT_CFG_PHY_OFFSET_ADDRESS), 0x1e, 0x40C0);
write_phyreg((ECAT_CFG_CH0_PHY_ADDRESS - ECAT_CFG_PHY_OFFSET_ADDRESS), 0x1e, 0x40C3); // EXT 40C3
write_phyreg((ECAT_CFG_CH0_PHY_ADDRESS - ECAT_CFG_PHY_OFFSET_ADDRESS), 0x1f, 0x0320);
write_phyreg((ECAT_CFG_CH0_PHY_ADDRESS - ECAT_CFG_PHY_OFFSET_ADDRESS), 0x1e, 0x40C3);
//configuration for phy1
write_phyreg((ECAT_CFG_CH1_PHY_ADDRESS - ECAT_CFG_PHY_OFFSET_ADDRESS), 0x1e, 0x40C0); // EXT 40C0
write_phyreg((ECAT_CFG_CH1_PHY_ADDRESS - ECAT_CFG_PHY_OFFSET_ADDRESS), 0x1f, 0x0030);
write_phyreg((ECAT_CFG_CH1_PHY_ADDRESS - ECAT_CFG_PHY_OFFSET_ADDRESS), 0x1e, 0x40C0);
write_phyreg((ECAT_CFG_CH1_PHY_ADDRESS - ECAT_CFG_PHY_OFFSET_ADDRESS), 0x1e, 0x40C3); // EXT 40C3
write_phyreg((ECAT_CFG_CH1_PHY_ADDRESS - ECAT_CFG_PHY_OFFSET_ADDRESS), 0x1f, 0x0320);
write_phyreg((ECAT_CFG_CH1_PHY_ADDRESS - ECAT_CFG_PHY_OFFSET_ADDRESS), 0x1e, 0x40C3);
-
mcu
+關注
關注
146文章
17317瀏覽量
352646 -
瑞薩
+關注
關注
35文章
22310瀏覽量
86746
原文標題:RX72M和PHY芯片連接時的注意事項
文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論