使用以太網(wǎng)技術(shù)及架構(gòu)作為下一代車載網(wǎng)絡(luò)的發(fā)展方向受到了汽車行業(yè)內(nèi)部及通訊業(yè)技術(shù)人員的廣泛關(guān)注,娛樂系統(tǒng)和高級駕駛輔助系統(tǒng)(ADAS)對傳輸帶寬的迫切需求推動了以太網(wǎng)介入汽車網(wǎng)絡(luò)的進程。本文將介紹如何將NXP的TJA1101移植到i.MX6UL上,并測試其性能。
TJA1101
TJA1101是一款高性能單端口、符合IEEE 100BASE-T1標準的以太網(wǎng)PHY收發(fā)器。該器件專為汽車應(yīng)用而設(shè)計且符合相關(guān)標準,在長達15米的未屏蔽雙絞線(UTP)上,每端口提供100Mbit/s發(fā)送和接收能力。高集成度的可靠器件設(shè)計,節(jié)省了外部元件、成本和空間。其功能框圖如圖1所示:
圖1 TJA1101功能框圖
硬件設(shè)計:
TJA1101支持MII和RMII接口模式,現(xiàn)以RMII接口為例,介紹其硬件設(shè)計方案。RMII接口的典型應(yīng)用電路如圖2所示,相比于MII,RMII僅需要4根數(shù)據(jù)線、最少7根線,參考時鐘由PHY提供,頻率為50MHz。
圖2 RMII典型應(yīng)用電路
圖3 TJA1101原理圖
軟件移植:
NXP提供了基于Linux的TJA1101驅(qū)動源碼,可以在如下地址獲取,或者點擊“閱讀原文”獲?。?/p>
https://source.codeaurora.org/external/autoivnsw/tja110x_linux_phydev
以4.1.15_2.0.0版本的內(nèi)核為例,將下載下來的源碼復(fù)制到kernel/drivers/net/phy/目錄下,編輯kernel/drivers/net/phy/Kconfig,添加編譯選項:
config NXP_TJA110X_PHY tristate "Driver for TJA110X PHYs" ---help--- Supports the TJA110X PHYs.
編輯kernel/drivers/net/phy/Makefile,添加編譯內(nèi)容:
obj-$(CONFIG_NXP_TJA110X_PHY)+=tja110x.o
配置menuconfig:
Device Drivers ---> [*] Network device support ---> -*- PHY Device support and infrastructure ---> <*> Driver for TJA110X PHYs
(左右滑動可看完整代碼)
由于i.MX以太網(wǎng)控制器默認配置為MII模式,enet時鐘由MAC向PHY提供,與RMII的時鐘方向不一致,因此需要修改kernel/ arch/arm/mach-imx/mach-imx6ul.c, 將時鐘方向配置為PHY到MAC:
static void __init imx6ul_enet_clk_init(void) { … if (!IS_ERR(gpr)) { regmap_update_bits(gpr, IOMUXC_GPR1, IMX6UL_GPR1_ENET_CLK_DIR, 0); regmap_update_bits(gpr, IOMUXC_GPR1, (1 << 13), 1); regmap_update_bits(gpr, IOMUXC_GPR1, (1 << 14), 1); } … }
(左右滑動可看完整代碼)
修改設(shè)備樹配置:
&fec1 { … mdio { #address-cells = <1>; #size-cells = <0>; ethphy0: ethernet-phy@0 { compatible = "ethernet-phy-ieee802.3-c22"; reg = <0>; }; };};pinctrl_enet1: enet1grp { fsl,pins = < MX6UL_PAD_GPIO1_IO07__ENET1_MDC 0x1b0b0 MX6UL_PAD_GPIO1_IO06__ENET1_MDIO 0x1b0b0 MX6UL_PAD_ENET1_RX_EN__ENET1_RX_EN 0x1b0b0 MX6UL_PAD_ENET1_RX_DATA0__ENET1_RDATA00 0x1b0b0 MX6UL_PAD_ENET1_RX_DATA1__ENET1_RDATA01 0x1b0b0 MX6UL_PAD_ENET1_TX_EN__ENET1_TX_EN 0x1b0b0 MX6UL_PAD_ENET1_TX_DATA0__ENET1_TDATA00 0x1b0b0 MX6UL_PAD_ENET1_TX_DATA1__ENET1_TDATA01 0x1b0b0 MX6UL_PAD_ENET1_TX_CLK__ENET1_REF_CLK1 0x4001b031 >;
(左右滑動可看完整代碼)
帶寬測試:
利用iperf3進行帶寬測試,其帶寬最高可達到96.0Mbps,平均為93.0Mbps,測試結(jié)果見圖4。
圖4 TJA1101帶寬測試結(jié)果
ZLG一直致力于汽車方案的開發(fā)與支持。作為NXP的產(chǎn)品代理商,我們在汽車電子應(yīng)用領(lǐng)域耕耘已久,希望可以幫助您快速、高效地完成產(chǎn)品設(shè)計開發(fā)。
-
以太網(wǎng)
+關(guān)注
關(guān)注
40文章
5465瀏覽量
172842 -
車載
+關(guān)注
關(guān)注
18文章
617瀏覽量
83488 -
i.MX6
+關(guān)注
關(guān)注
1文章
37瀏覽量
16360
原文標題:車聯(lián)網(wǎng)時代——i.MX6車載以太網(wǎng)移植
文章出處:【微信號:Zlgmcu7890,微信公眾號:周立功單片機】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論