lan9514中文資料


LAN9514中文資料:深度解析、應(yīng)用指南與技術(shù)細(xì)節(jié)
引言
在當(dāng)今高度互聯(lián)的數(shù)字世界中,數(shù)據(jù)傳輸?shù)男逝c穩(wěn)定性至關(guān)重要。作為一款高度集成的USB 2.0以太網(wǎng)控制器,LAN9514憑借其出色的性能、豐富的功能以及易于集成的特性,在嵌入式系統(tǒng)、工業(yè)控制、消費(fèi)電子等多個(gè)領(lǐng)域得到了廣泛應(yīng)用。它不僅將USB接口的通用性和以太網(wǎng)的高速可靠性完美結(jié)合,還集成了USB集線器(Hub)功能,為設(shè)計(jì)人員提供了靈活且高效的解決方案。本文旨在提供一份全面、深入的LAN9514中文資料,詳細(xì)介紹其核心特性、工作原理、硬件設(shè)計(jì)、軟件驅(qū)動(dòng)、以及在各種應(yīng)用場景下的實(shí)踐經(jīng)驗(yàn),以期為相關(guān)工程師和技術(shù)愛好者提供一份有價(jià)值的參考。
第一章:LAN9514芯片概述與核心特性
1.1 芯片簡介
LAN9514是由Microchip Technology(微芯科技)公司推出的一款高性能、低功耗的USB 2.0以太網(wǎng)控制器,其內(nèi)部集成了多項(xiàng)關(guān)鍵技術(shù),旨在簡化系統(tǒng)設(shè)計(jì)并提升整體性能。它將一個(gè)全速(Full-Speed)或高速(High-Speed)的USB 2.0接口轉(zhuǎn)換成一個(gè)10/100 Mbps的以太網(wǎng)接口,并且內(nèi)置了一個(gè)四端口的USB 2.0集線器。這一獨(dú)特的組合使得LAN9514能夠在一個(gè)芯片上同時(shí)管理網(wǎng)絡(luò)連接和多個(gè)USB外設(shè),極大地節(jié)省了PCB空間,降低了BOM成本,并簡化了系統(tǒng)架構(gòu)。
1.2 核心特性深度解析
1.2.1 高速USB 2.0接口
LAN9514支持USB 2.0規(guī)范,能夠以480 Mbps的速率與主機(jī)進(jìn)行通信。這確保了以太網(wǎng)數(shù)據(jù)傳輸?shù)钠款i不會出現(xiàn)在USB總線上。它能夠兼容USB 1.1,保證了向后兼容性。USB接口支持“自供電”(self-powered)和“總線供電”(bus-powered)兩種模式,為不同的應(yīng)用場景提供了靈活的電源管理方案。
1.2.2 集成式10/100 Mbps以太網(wǎng)PHY
芯片內(nèi)部集成了符合IEEE 802.3標(biāo)準(zhǔn)的10/100 Mbps以太網(wǎng)物理層(PHY),支持全雙工和半雙工模式。PHY層的集成省去了外部PHY芯片,減少了元件數(shù)量和設(shè)計(jì)復(fù)雜性。它支持自動(dòng)協(xié)商(Auto-Negotiation)功能,能夠自動(dòng)檢測并匹配網(wǎng)絡(luò)連接的速度和雙工模式,確保了與各種網(wǎng)絡(luò)設(shè)備的兼容性。此外,PHY還支持MDI/MDIX自動(dòng)交叉(Auto-MDIX),無需使用交叉網(wǎng)線,進(jìn)一步簡化了連接。
1.2.3 四端口USB 2.0集線器
這是LAN9514的一大亮點(diǎn)。內(nèi)置的四端口集線器允許開發(fā)者將多個(gè)USB設(shè)備連接到一個(gè)USB主機(jī)端口上。每個(gè)下行端口(Downstream Port)都符合USB 2.0規(guī)范,并支持獨(dú)立的電源管理,可以實(shí)現(xiàn)端口的供電開關(guān)控制。這一功能在需要連接多個(gè)USB設(shè)備(如鍵盤、鼠標(biāo)、存儲設(shè)備、攝像頭等)的嵌入式系統(tǒng)中尤其有用,例如在智能電視、機(jī)頂盒或工業(yè)控制面板中。
1.2.4 硬件加速功能
為了提高以太網(wǎng)數(shù)據(jù)處理效率,LAN9514內(nèi)置了多種硬件加速功能。其中包括:
TCP/IP校驗(yàn)和卸載(Checksum Offload):芯片可以在硬件層面計(jì)算和驗(yàn)證IPv4、TCP、UDP和ICMP協(xié)議的校驗(yàn)和,從而減輕了主CPU的負(fù)擔(dān),提高了數(shù)據(jù)處理速度。
大型發(fā)送卸載(Large Send Offload, LSO):芯片支持將一個(gè)大型數(shù)據(jù)包分解成多個(gè)以太網(wǎng)幀進(jìn)行傳輸,而不是由CPU完成這一工作,進(jìn)一步提升了網(wǎng)絡(luò)性能。
流控制(Flow Control):支持IEEE 802.3x流控制,當(dāng)接收緩沖區(qū)滿時(shí),芯片可以發(fā)送PAUSE幀來通知對端暫停數(shù)據(jù)發(fā)送,防止數(shù)據(jù)丟失。
1.2.5 靈活的I/O接口與電源管理
LAN9514提供了多種靈活的I/O接口,包括通用I/O(GPIO)引腳,可用于狀態(tài)指示、設(shè)備控制等。芯片還支持多種電源管理模式,如低功耗待機(jī)模式,能夠顯著降低系統(tǒng)功耗,尤其適用于電池供電的便攜式設(shè)備。其工作電壓范圍為3.3V,但I(xiàn)/O引腳可容忍5V電平,這使得它能夠方便地與不同電壓電平的微控制器或SoC進(jìn)行連接。
第二章:LAN9514工作原理與系統(tǒng)架構(gòu)
2.1 內(nèi)部架構(gòu)概覽
LAN9514的內(nèi)部架構(gòu)可以分為幾個(gè)主要部分:USB 2.0 PHY/SIE(串行接口引擎)、以太網(wǎng)MAC(媒體訪問控制器)、以太網(wǎng)PHY、USB集線器控制器、以及一個(gè)內(nèi)置的微處理器(Microcontroller Unit, MCU)和SRAM存儲器。
USB 2.0 PHY/SIE:負(fù)責(zé)處理USB總線上的物理信號,并將數(shù)據(jù)包進(jìn)行編解碼。SIE負(fù)責(zé)USB協(xié)議的解析,包括數(shù)據(jù)包的調(diào)度、端點(diǎn)(Endpoint)管理等。
以太網(wǎng)MAC:這是以太網(wǎng)控制器的大腦,負(fù)責(zé)處理以太網(wǎng)幀的封裝、解封裝,以及CSMA/CD(載波偵聽多路訪問/沖突檢測)等MAC層協(xié)議。
以太網(wǎng)PHY:負(fù)責(zé)以太網(wǎng)信號的物理傳輸,包括10BASE-T/100BASE-TX信號的收發(fā),以及自動(dòng)協(xié)商等功能。
USB集線器控制器:管理四個(gè)下行USB端口,負(fù)責(zé)處理USB枚舉、電源管理、以及下行端口與上行端口之間的數(shù)據(jù)路由。
MCU與SRAM:內(nèi)置的微處理器運(yùn)行著芯片內(nèi)部的固件,管理著芯片的各種功能和配置。SRAM用于存儲固件和臨時(shí)數(shù)據(jù)。
2.2 數(shù)據(jù)傳輸流程
數(shù)據(jù)傳輸在LAN9514中是一個(gè)復(fù)雜而高效的過程。以主機(jī)向網(wǎng)絡(luò)發(fā)送數(shù)據(jù)為例:
USB數(shù)據(jù)接收:主機(jī)通過USB總線將數(shù)據(jù)發(fā)送給LAN9514。USB 2.0 PHY/SIE接收并解碼這些數(shù)據(jù)包。
數(shù)據(jù)緩沖與處理:數(shù)據(jù)包進(jìn)入LAN9514內(nèi)部的SRAM緩沖區(qū)。內(nèi)置的MCU根據(jù)數(shù)據(jù)包類型(以太網(wǎng)數(shù)據(jù)、USB集線器控制命令等)進(jìn)行分類和處理。
以太網(wǎng)封裝:如果是以太網(wǎng)數(shù)據(jù),MCU和以太網(wǎng)MAC會根據(jù)TCP/IP協(xié)議棧的要求,對數(shù)據(jù)進(jìn)行封裝,添加以太網(wǎng)幀頭、校驗(yàn)和等信息。TCP/IP校驗(yàn)和卸載等硬件加速功能在此階段發(fā)揮作用。
以太網(wǎng)傳輸:封裝好的以太網(wǎng)幀通過內(nèi)部總線傳送到以太網(wǎng)PHY。PHY將數(shù)字信號轉(zhuǎn)換為模擬信號,并通過網(wǎng)線發(fā)送出去。
從網(wǎng)絡(luò)接收數(shù)據(jù)的過程則相反:以太網(wǎng)PHY接收到模擬信號并轉(zhuǎn)換成數(shù)字信號,以太網(wǎng)MAC對以太網(wǎng)幀進(jìn)行解封裝,去除幀頭等信息。數(shù)據(jù)通過內(nèi)部總線傳輸?shù)経SB 2.0 PHY/SIE,最終通過USB總線發(fā)送給主機(jī)。整個(gè)過程由芯片內(nèi)部的MCU和硬件邏輯協(xié)同完成,保證了高效、低延遲的數(shù)據(jù)傳輸。
第三章:LAN9514硬件設(shè)計(jì)指南
3.1 電源設(shè)計(jì)
LAN9514需要一個(gè)穩(wěn)定的3.3V電源供電。為了保證芯片的正常工作,電源設(shè)計(jì)需要特別注意以下幾點(diǎn):
低噪聲電源:為芯片提供一個(gè)干凈、低噪聲的電源是至關(guān)重要的。建議使用LDO(低壓差線性穩(wěn)壓器)或DC-DC轉(zhuǎn)換器來生成3.3V電源,并確保電源紋波盡可能小。
去耦電容:在LAN9514的電源引腳附近,應(yīng)放置多個(gè)去耦電容,包括一個(gè)大容量的電解電容(如10uF)和一個(gè)小容量的陶瓷電容(如0.1uF),以濾除高頻噪聲并提供瞬時(shí)電流。
USB總線供電:如果采用總線供電模式,需要確保USB總線提供的電流足夠芯片和所有下行USB設(shè)備使用。通常需要一個(gè)帶有過流保護(hù)功能的電源開關(guān)芯片來管理下行USB端口的供電,以符合USB規(guī)范。
3.2 USB接口設(shè)計(jì)
差分走線:USB 2.0的高速數(shù)據(jù)線(D+和D-)是差分信號。PCB布線時(shí),必須采用差分走線,并確保兩條走線等長且平行,以保持差分信號的完整性。走線阻抗應(yīng)控制在90歐姆。
靜電保護(hù)(ESD):USB接口暴露在外,容易受到靜電放電的損害。建議在USB數(shù)據(jù)線上串聯(lián)ESD保護(hù)二極管,以增強(qiáng)電路的抗靜電能力。
3.3 以太網(wǎng)接口設(shè)計(jì)
磁性隔離(Magnetics):以太網(wǎng)接口必須通過一個(gè)網(wǎng)絡(luò)變壓器(Magnetics)與外部網(wǎng)絡(luò)連接。網(wǎng)絡(luò)變壓器不僅提供直流隔離,還能濾除共模噪聲,并實(shí)現(xiàn)阻抗匹配。應(yīng)選擇符合10/100 Mbps以太網(wǎng)標(biāo)準(zhǔn)的網(wǎng)絡(luò)變壓器。
RJ45連接器:RJ45連接器通常與網(wǎng)絡(luò)變壓器集成在一起(集成式磁性RJ45),簡化了布線。需要注意連接器的引腳定義,確保與LAN9514的PHY引腳正確連接。
走線要求:以太網(wǎng)的差分信號線(TD+/TD-和RD+/RD-)同樣需要進(jìn)行等長、平行走線,以保持信號完整性。
3.4 晶振與復(fù)位電路
晶振:LAN9514需要一個(gè)25 MHz的外部晶體振蕩器作為時(shí)鐘源。晶振的布局應(yīng)盡可能靠近芯片的XTAL1和XTAL2引腳,并使用地線進(jìn)行屏蔽,以減少電磁干擾。
復(fù)位電路:芯片的復(fù)位引腳(RESET#)為低電平有效。需要設(shè)計(jì)一個(gè)上電復(fù)位電路,通常由一個(gè)RC電路或?qū)S玫膹?fù)位芯片構(gòu)成,以確保芯片在上電時(shí)能夠被正確復(fù)位。
3.5 PCB布局與布線要點(diǎn)
電源平面與地平面:良好的電源平面和地平面是高速數(shù)字電路設(shè)計(jì)的基礎(chǔ)。應(yīng)采用多層PCB,并為3.3V電源和地提供獨(dú)立的平面。
熱設(shè)計(jì):LAN9514在工作時(shí)會產(chǎn)生一定的熱量,尤其是在高速數(shù)據(jù)傳輸時(shí)。應(yīng)在芯片下方布設(shè)大面積的地平面,并通過過孔與內(nèi)部地平面連接,以利于散熱。
信號完整性:除了差分走線,還需要注意其他信號線的長度匹配,盡量減少信號線的拐角(避免直角),以降低信號反射和串?dāng)_。
第四章:軟件驅(qū)動(dòng)與固件配置
4.1 操作系統(tǒng)驅(qū)動(dòng)支持
LAN9514作為一款廣泛應(yīng)用的USB以太網(wǎng)控制器,得到了主流操作系統(tǒng)的良好支持。
Linux:Linux內(nèi)核從很早的版本就開始原生支持LAN9514,其驅(qū)動(dòng)程序通常命名為
smsc95xx
。在使用Linux系統(tǒng)時(shí),通常無需額外安裝驅(qū)動(dòng),系統(tǒng)會自動(dòng)識別并加載。如果需要編譯驅(qū)動(dòng),可以在內(nèi)核配置中啟用CONFIG_USB_NET_SMSC95XX
選項(xiàng)。Windows:Microchip為Windows操作系統(tǒng)提供了官方的驅(qū)動(dòng)程序,支持從Windows XP到最新的Windows 10/11等多個(gè)版本。用戶需要從Microchip官網(wǎng)下載并安裝驅(qū)動(dòng)程序。
Android:Android基于Linux內(nèi)核,因此也同樣支持LAN9514驅(qū)動(dòng)。在Android設(shè)備中,如果需要使用LAN9514,通常只需要確保內(nèi)核配置中包含了相應(yīng)的驅(qū)動(dòng)模塊。
4.2 固件配置與OTP內(nèi)存
LAN9514內(nèi)置了一個(gè)一次性可編程(One-Time Programmable, OTP)內(nèi)存,用于存儲芯片的配置信息,如MAC地址、供應(yīng)商ID(VID)、產(chǎn)品ID(PID)等。
MAC地址:每個(gè)以太網(wǎng)設(shè)備都需要一個(gè)唯一的MAC地址。LAN9514在出廠時(shí)通常沒有預(yù)編程MAC地址。開發(fā)者需要根據(jù)自己的需求,將唯一的MAC地址編程到芯片的OTP內(nèi)存中。這個(gè)過程通常需要專用的編程工具或通過軟件接口來實(shí)現(xiàn)。
USB VID/PID:為了讓主機(jī)操作系統(tǒng)正確識別設(shè)備,需要配置USB的VID和PID。VID由USB-IF(USB實(shí)施者論壇)分配給公司,PID則由公司自行定義。將正確的VID/PID編程到OTP內(nèi)存中,可以確保設(shè)備被正確識別為LAN9514以太網(wǎng)控制器和集線器。
4.3 軟件編程接口
對于需要與LAN9514進(jìn)行更深層次交互的應(yīng)用,比如自定義功能或者狀態(tài)監(jiān)控,可以通過USB總線發(fā)送特定的控制命令來訪問芯片的內(nèi)部寄存器。這些命令通常遵循USB的廠商特定請求(Vendor-Specific Request)規(guī)范。開發(fā)者可以通過編寫自定義的USB驅(qū)動(dòng)或應(yīng)用程序,利用這些接口來讀取芯片狀態(tài)、配置GPIO引腳、甚至更新固件。
第五章:LAN9514在典型應(yīng)用中的實(shí)踐
5.1 嵌入式系統(tǒng)與單板計(jì)算機(jī)
在樹莓派(Raspberry Pi)等單板計(jì)算機(jī)(SBC)中,LAN9514是一個(gè)常見的組件。它通過USB接口與主CPU連接,為主板提供以太網(wǎng)和額外的USB接口。這種設(shè)計(jì)使得樹莓派能夠在一個(gè)小巧的板子上實(shí)現(xiàn)有線網(wǎng)絡(luò)連接,同時(shí)還能連接鍵盤、鼠標(biāo)等多個(gè)USB外設(shè),極大地增強(qiáng)了其功能性和擴(kuò)展性。
5.2 工業(yè)自動(dòng)化與控制
工業(yè)控制設(shè)備通常需要穩(wěn)定可靠的網(wǎng)絡(luò)連接,并且可能需要連接多個(gè)外設(shè)。LAN9514的集成式設(shè)計(jì)非常適合這類應(yīng)用。例如,在工業(yè)HMI(人機(jī)界面)或PLC(可編程邏輯控制器)中,LAN9514可以提供以太網(wǎng)連接用于與上位機(jī)通信,同時(shí)其USB集線器功能可以連接條碼掃描儀、打印機(jī)或觸摸屏等設(shè)備。其硬件加速功能和低功耗特性也使其在嚴(yán)苛的工業(yè)環(huán)境中表現(xiàn)出色。
5.3 消費(fèi)電子設(shè)備
在智能電視、機(jī)頂盒(Set-Top Box)或網(wǎng)絡(luò)播放器等消費(fèi)電子設(shè)備中,LAN9514的應(yīng)用也十分廣泛。它為這些設(shè)備提供了穩(wěn)定的有線網(wǎng)絡(luò)連接,確保了高清視頻流的流暢播放,同時(shí)其USB集線器可以用于連接USB存儲設(shè)備、游戲手柄等,增強(qiáng)了用戶的體驗(yàn)。
5.4 USB擴(kuò)展塢與擴(kuò)展卡
LAN9514的核心功能就是將USB擴(kuò)展為以太網(wǎng)和多個(gè)USB接口。這使得它成為制作USB擴(kuò)展塢或擴(kuò)展卡的理想選擇。一個(gè)基于LAN9514的擴(kuò)展塢可以輕松地為筆記本電腦或其他沒有網(wǎng)口的設(shè)備提供一個(gè)千兆以太網(wǎng)接口和多個(gè)USB 2.0接口。
第六章:常見問題與故障排除
6.1 設(shè)備無法識別
電源問題:首先檢查電源供電是否穩(wěn)定,電壓是否在3.3V±5%的范圍內(nèi)。
硬件連接:檢查USB D+/D-差分走線是否正確連接,以及晶振是否正常工作。
OTP配置:如果設(shè)備無法識別,可能是OTP內(nèi)存中的VID/PID配置有誤。需要使用專用工具或軟件接口重新編程。
驅(qū)動(dòng)問題:在Windows系統(tǒng)中,如果驅(qū)動(dòng)沒有正確安裝,設(shè)備可能無法正常工作。需要從官方網(wǎng)站下載并安裝驅(qū)動(dòng)程序。
6.2 網(wǎng)絡(luò)連接不穩(wěn)定
硬件設(shè)計(jì):檢查以太網(wǎng)接口的硬件設(shè)計(jì),尤其是網(wǎng)絡(luò)變壓器和RJ45連接器部分,確保布線正確且沒有受到干擾。
電磁干擾(EMI):高速信號線容易受到電磁干擾。檢查PCB布局,確保以太網(wǎng)走線與高頻時(shí)鐘線或其他數(shù)字信號線有足夠的間距,并在必要時(shí)進(jìn)行地線屏蔽。
網(wǎng)絡(luò)變壓器選擇:確保所選的網(wǎng)絡(luò)變壓器與LAN9514兼容,并且質(zhì)量可靠。
6.3 USB集線器功能異常
電源管理:檢查下行USB端口的電源管理電路,確保供電正常且符合USB規(guī)范。如果使用總線供電,需要確保總線提供的電流足夠所有連接的設(shè)備使用。
熱插拔問題:在某些情況下,設(shè)備的熱插拔可能導(dǎo)致問題。檢查軟件驅(qū)動(dòng)是否正確處理了設(shè)備的插拔事件。
第七章:結(jié)論與展望
LAN9514作為一款成熟且功能強(qiáng)大的USB 2.0以太網(wǎng)控制器,在市場上取得了巨大的成功。它憑借高度集成的設(shè)計(jì)、出色的性能和廣泛的操作系統(tǒng)支持,為工程師們提供了一個(gè)高效、可靠的解決方案。
未來,隨著千兆以太網(wǎng)和USB 3.0/3.1/3.2接口的普及,Microchip也推出了LAN7500、LAN7800等更高速率的后續(xù)產(chǎn)品,以滿足不斷增長的數(shù)據(jù)傳輸需求。這些新產(chǎn)品繼承了LAN9514的優(yōu)點(diǎn),并在此基礎(chǔ)上提供了更高的性能。然而,對于大多數(shù)嵌入式系統(tǒng)和工業(yè)應(yīng)用而言,10/100 Mbps的以太網(wǎng)速率和USB 2.0的帶寬仍然是足夠的,因此LAN9514在未來很長一段時(shí)間內(nèi)仍將是許多項(xiàng)目的理想選擇。
總而言之,LAN9514不僅僅是一個(gè)簡單的USB轉(zhuǎn)以太網(wǎng)芯片,它是一個(gè)集網(wǎng)絡(luò)、擴(kuò)展和控制于一體的綜合解決方案。通過深入理解其工作原理、遵循嚴(yán)格的硬件設(shè)計(jì)規(guī)范、并正確配置軟件驅(qū)動(dòng),開發(fā)者可以充分利用其強(qiáng)大功能,為各種應(yīng)用打造出高性能、高可靠性的產(chǎn)品。
附錄:LAN9514技術(shù)參數(shù)速覽
接口:USB 2.0 (480 Mbps)
以太網(wǎng):10/100 Mbps (全雙工/半雙工)
集成功能:四端口USB 2.0集線器,以太網(wǎng)PHY
硬件加速:TCP/IP校驗(yàn)和卸載,大型發(fā)送卸載
電源:3.3V核心電壓,5V耐壓I/O
封裝:56引腳QFN或64引腳LQFP
工作溫度:-40°C 至 +85°C (工業(yè)級)
操作系統(tǒng)支持:Linux, Windows, Android, Mac OS X等
第八章:LAN9514的深度技術(shù)細(xì)節(jié)與寄存器詳解
8.1 芯片內(nèi)部總線與寄存器映射
LAN9514內(nèi)部擁有一個(gè)復(fù)雜的總線系統(tǒng),用于連接各個(gè)功能模塊,如USB SIE、以太網(wǎng)MAC、集線器控制器以及內(nèi)部SRAM。開發(fā)者通過USB總線發(fā)送廠商特定請求(Vendor-Specific Requests),可以訪問芯片內(nèi)部的寄存器。這些寄存器是配置和控制LAN9514各個(gè)功能模塊的關(guān)鍵。
重要的寄存器包括:
ID_REV寄存器:用于讀取芯片的ID和版本號。
HW_CFG寄存器:用于配置硬件功能,如PHY復(fù)位、LED模式等。
PM_CTRL寄存器:用于控制電源管理模式,如進(jìn)入低功耗待機(jī)模式。
GPIO_CFG寄存器:用于配置通用I/O引腳的功能,如輸入、輸出、中斷等。
MAC_CR寄存器:以太網(wǎng)MAC控制寄存器,用于使能/禁用MAC功能,配置全雙工/半雙工模式。
ADDR_LOW/ADDR_HIGH寄存器:用于設(shè)置或讀取芯片的MAC地址。
WUCSR寄存器:用于配置“喚醒主機(jī)”(Wake-on-LAN)功能。
通過編程這些寄存器,開發(fā)者可以實(shí)現(xiàn)對LAN9514的精細(xì)化控制,以滿足特定的應(yīng)用需求。例如,通過配置GPIO寄存器,可以將某個(gè)引腳設(shè)置為網(wǎng)絡(luò)活動(dòng)指示燈,或者作為外部設(shè)備的控制信號。
8.2 USB集線器電源管理與端口控制
LAN9514的USB集線器功能提供了強(qiáng)大的電源管理能力。每個(gè)下行端口都可以通過軟件進(jìn)行獨(dú)立的電源開關(guān)控制。這是通過集線器控制寄存器實(shí)現(xiàn)的。
GANGED模式:在默認(rèn)情況下,四個(gè)下行端口的電源是“聯(lián)動(dòng)”的,即一個(gè)端口上電,所有端口都上電。
INDIVIDUAL模式:通過配置相應(yīng)的寄存器,可以將集線器設(shè)置為“獨(dú)立”模式。在此模式下,每個(gè)端口的電源都可以單獨(dú)控制,這對于需要精確控制外設(shè)供電的應(yīng)用非常有用。例如,在電池供電的設(shè)備中,可以在不需要時(shí)關(guān)閉某個(gè)USB端口的電源,以節(jié)省功耗。
此外,集線器還支持過流保護(hù)。當(dāng)某個(gè)下行端口發(fā)生過流事件時(shí),集線器控制器會發(fā)送一個(gè)狀態(tài)報(bào)告給主機(jī),并自動(dòng)關(guān)閉該端口的電源,從而保護(hù)系統(tǒng)不受損害。
8.3 EEPROM與OTP編程
LAN9514支持通過外部EEPROM或其內(nèi)部OTP(一次性可編程)內(nèi)存來存儲配置信息。
EEPROM:如果使用外部EEPROM,芯片在上電復(fù)位后會自動(dòng)從EEPROM中讀取配置數(shù)據(jù),如MAC地址、VID/PID、端口配置等。這為開發(fā)者提供了靈活性,可以在生產(chǎn)后通過編程EEPROM來修改配置。
OTP:OTP內(nèi)存是一種“一次性寫入”的存儲器。一旦數(shù)據(jù)被寫入,就無法修改。由于其不可更改性,OTP常用于存儲設(shè)備的永久性身份信息,如MAC地址。在批量生產(chǎn)中,通常會將每個(gè)設(shè)備的唯一MAC地址編程到OTP中。
編程OTP或EEPROM通常需要一個(gè)特殊的軟件工具和硬件接口。Microchip為其芯片提供了相應(yīng)的編程工具。在軟件驅(qū)動(dòng)層面,驅(qū)動(dòng)程序會首先嘗試從芯片內(nèi)部讀取配置信息,如果無法讀取,則會使用默認(rèn)值,或者使用操作系統(tǒng)提供的默認(rèn)MAC地址。
8.4 喚醒主機(jī)(Wake-on-LAN)功能
LAN9514支持Wake-on-LAN(WOL)功能,允許設(shè)備在低功耗狀態(tài)下通過網(wǎng)絡(luò)事件(如接收到一個(gè)特定的“魔術(shù)包”或特定的以太網(wǎng)幀)喚醒主機(jī)。
WOL功能的配置包括:
WUCSR寄存器:用于啟用WOL功能,并配置喚醒事件的類型。
MAC地址匹配:配置芯片只在接收到與自身MAC地址匹配的“魔術(shù)包”時(shí)才喚醒主機(jī)。
ARP匹配:配置芯片在接收到ARP請求時(shí)喚醒主機(jī)。
當(dāng)WOL功能啟用時(shí),LAN9514會進(jìn)入低功耗模式,但仍會監(jiān)聽以太網(wǎng)上的數(shù)據(jù)包。一旦接收到預(yù)設(shè)的喚醒數(shù)據(jù)包,芯片會觸發(fā)一個(gè)中斷信號給主機(jī),從而喚醒整個(gè)系統(tǒng)。這一功能對于遠(yuǎn)程管理和節(jié)能應(yīng)用非常有用。
8.5 硬件加速功能實(shí)現(xiàn)原理
TCP/IP校驗(yàn)和卸載:在數(shù)據(jù)發(fā)送時(shí),主CPU將數(shù)據(jù)塊和協(xié)議頭發(fā)送給LAN9514,但并不計(jì)算校驗(yàn)和。LAN9514在硬件層面,通過專用的邏輯電路快速計(jì)算出校驗(yàn)和,并將其插入到以太網(wǎng)幀中。在數(shù)據(jù)接收時(shí),同樣由硬件計(jì)算并驗(yàn)證校驗(yàn)和,如果校驗(yàn)和正確,則將數(shù)據(jù)塊發(fā)送給主機(jī),并向驅(qū)動(dòng)程序報(bào)告校驗(yàn)和已驗(yàn)證。這極大地減輕了CPU的負(fù)擔(dān),尤其是在處理大量網(wǎng)絡(luò)數(shù)據(jù)時(shí)。
大型發(fā)送卸載(LSO):當(dāng)主機(jī)需要發(fā)送一個(gè)非常大的數(shù)據(jù)包(如一個(gè)文件),且該數(shù)據(jù)包的大小超過了以太網(wǎng)幀的最大有效載荷(Maximum Transmission Unit, MTU)時(shí),通常需要由CPU將該數(shù)據(jù)包分割成多個(gè)MTU大小的以太網(wǎng)幀。LSO功能使得這個(gè)分割任務(wù)由LAN9514的硬件完成。主機(jī)只需將整個(gè)大型數(shù)據(jù)包一次性發(fā)送給LAN9514,芯片的硬件邏輯會自動(dòng)將其分割成多個(gè)符合MTU大小的幀,并逐一發(fā)送,從而節(jié)省了CPU的周期。
第九章:LAN9514的軟件編程與驅(qū)動(dòng)開發(fā)
9.1 Linux驅(qū)動(dòng)詳解
Linux驅(qū)動(dòng)是理解LAN9514軟件工作方式的最佳切入點(diǎn)。LAN9514的Linux驅(qū)動(dòng)程序通常集成在內(nèi)核中,位于drivers/net/usb/smsc95xx.c
文件中。
9.1.1 驅(qū)動(dòng)程序初始化
當(dāng)LAN9514設(shè)備插入到Linux主機(jī)時(shí),USB子系統(tǒng)會檢測到新設(shè)備,并根據(jù)其VID/PID查找匹配的驅(qū)動(dòng)程序。smsc95xx
驅(qū)動(dòng)程序會調(diào)用其probe
函數(shù)進(jìn)行初始化。
USB設(shè)備配置:
probe
函數(shù)會配置USB設(shè)備,包括獲取設(shè)備描述符、配置描述符等。寄存器初始化:驅(qū)動(dòng)程序會通過USB控制傳輸(Control Transfer)訪問LAN9514的內(nèi)部寄存器,進(jìn)行初始化配置。這包括讀取芯片ID、版本號,設(shè)置MAC地址,配置GPIO等。
網(wǎng)絡(luò)接口注冊:驅(qū)動(dòng)程序會向Linux網(wǎng)絡(luò)子系統(tǒng)注冊一個(gè)新的網(wǎng)絡(luò)接口(例如
eth0
)。這個(gè)網(wǎng)絡(luò)接口提供了標(biāo)準(zhǔn)的API,允許用戶空間應(yīng)用程序通過套接字(sockets)進(jìn)行網(wǎng)絡(luò)通信。中斷處理:驅(qū)動(dòng)程序會設(shè)置USB中斷端點(diǎn),用于接收來自LAN9514的中斷通知,例如網(wǎng)絡(luò)連接狀態(tài)改變、喚醒事件等。
9.1.2 數(shù)據(jù)傳輸
數(shù)據(jù)傳輸通過USB批量傳輸(Bulk Transfer)進(jìn)行。
數(shù)據(jù)發(fā)送:當(dāng)網(wǎng)絡(luò)協(xié)議棧(TCP/IP)需要發(fā)送數(shù)據(jù)時(shí),它會調(diào)用驅(qū)動(dòng)程序的
ndo_start_xmit
函數(shù)。驅(qū)動(dòng)程序?qū)?shù)據(jù)包封裝成USB批量傳輸請求(URB),并將其提交給USB核心。LAN9514接收到數(shù)據(jù)后,其內(nèi)部的以太網(wǎng)MAC和PHY會將其發(fā)送到網(wǎng)絡(luò)上。數(shù)據(jù)接收:LAN9514從網(wǎng)絡(luò)上接收到數(shù)據(jù)后,會將其封裝成USB批量傳輸數(shù)據(jù)包,并將其發(fā)送給主機(jī)。驅(qū)動(dòng)程序在接收到這些數(shù)據(jù)包后,會調(diào)用
netif_rx
函數(shù)將其提交給網(wǎng)絡(luò)協(xié)議棧,進(jìn)行后續(xù)處理。
9.2 USB集線器驅(qū)動(dòng)
LAN9514內(nèi)置的集線器功能由Linux USB子系統(tǒng)的集線器驅(qū)動(dòng)程序(hub.c
)處理。當(dāng)LAN9514被識別為集線器時(shí),USB核心會自動(dòng)加載集線器驅(qū)動(dòng)。該驅(qū)動(dòng)程序會枚舉LAN9514的四個(gè)下行端口,并為每個(gè)端口創(chuàng)建設(shè)備節(jié)點(diǎn)。當(dāng)有USB設(shè)備插入到這些端口時(shí),集線器驅(qū)動(dòng)會檢測到新的設(shè)備,并通知USB核心,從而加載相應(yīng)設(shè)備的驅(qū)動(dòng)程序。
9.3 固件編程工具
Microchip為LAN9514提供了一個(gè)名為LAN95xx EEPROM Programming Utility的工具。該工具可以在Windows或Linux環(huán)境下運(yùn)行,通過USB接口對芯片的EEPROM或OTP內(nèi)存進(jìn)行編程。
功能:該工具可以讀取和寫入MAC地址、VID/PID、端口配置等參數(shù)。
操作:用戶可以在圖形界面中輸入 desired 的值,然后點(diǎn)擊“寫入”按鈕,工具會通過USB控制傳輸將數(shù)據(jù)寫入芯片的存儲器中。
對于大規(guī)模生產(chǎn),通常會使用自動(dòng)化腳本和工具來批量編程MAC地址。每個(gè)設(shè)備的MAC地址都應(yīng)該是唯一的,因此需要一個(gè)專門的管理系統(tǒng)來生成和分配MAC地址,并確保每個(gè)芯片只被寫入一次。
第十章:LAN9514的選型與替代方案
10.1 如何選擇正確的LAN9514版本
LAN9514系列芯片有多種封裝和版本,主要區(qū)別在于封裝類型(QFN、LQFP)和一些微小的功能差異。在選型時(shí),需要考慮以下幾點(diǎn):
封裝:QFN封裝體積更小,適合對空間要求嚴(yán)格的應(yīng)用;LQFP封裝引腳更多,通常更容易進(jìn)行手工焊接和調(diào)試。
工作溫度范圍:如果應(yīng)用于工業(yè)或車載環(huán)境,需要選擇工業(yè)級或汽車級的版本,其工作溫度范圍更寬。
功能集成:有些版本的LAN9514可能省略了某些功能,例如USB集線器。在選型時(shí),需要仔細(xì)查看產(chǎn)品手冊,確保所選型號具備所需的所有功能。
10.2 LAN9514的替代方案
盡管LAN9514是一款優(yōu)秀的產(chǎn)品,但在某些應(yīng)用場景下,可能需要考慮其替代方案。
更高速度:如果需要千兆以太網(wǎng),可以考慮Microchip的LAN7500或LAN7800系列芯片。這些芯片支持USB 3.0或USB 3.1接口,并提供千兆以太網(wǎng)功能,性能更強(qiáng)。
不同接口:如果主機(jī)端沒有USB接口,或者需要更傳統(tǒng)的接口,可以考慮使用PCIe或SDIO接口的以太網(wǎng)控制器。例如,Realtek的RTL8111系列是常見的PCIe千兆以太網(wǎng)控制器。
更低功耗:對于對功耗有極高要求的應(yīng)用,可以考慮使用一些功耗更低的嵌入式以太網(wǎng)控制器,但可能需要犧牲一些功能或性能。
10.3 設(shè)計(jì)上的注意事項(xiàng)總結(jié)
在結(jié)束本文之前,再次強(qiáng)調(diào)幾個(gè)設(shè)計(jì)上的重要注意事項(xiàng):
電源設(shè)計(jì):確保為芯片提供穩(wěn)定、低噪聲的電源,并做好去耦。
信號完整性:高速差分信號線(USB D+/D-和以太網(wǎng))必須進(jìn)行等長、平行走線,并控制好阻抗。
ESD保護(hù):在暴露在外的接口上添加ESD保護(hù)器件,以增強(qiáng)系統(tǒng)的可靠性。
固件配置:在生產(chǎn)階段,必須確保每個(gè)設(shè)備的MAC地址被正確、唯一地編程到芯片中。
散熱:LAN9514在高速工作時(shí)會產(chǎn)生熱量,良好的散熱設(shè)計(jì)是保證其長期穩(wěn)定工作的關(guān)鍵。
通過全面理解和遵循上述指南,工程師可以有效地利用LAN9514的強(qiáng)大功能,設(shè)計(jì)出穩(wěn)定、高效且成本優(yōu)化的產(chǎn)品。LAN9514是一款經(jīng)典的芯片,它將繼續(xù)在各種嵌入式和工業(yè)應(yīng)用中扮演重要的角色。
責(zé)任編輯:David
【免責(zé)聲明】
1、本文內(nèi)容、數(shù)據(jù)、圖表等來源于網(wǎng)絡(luò)引用或其他公開資料,版權(quán)歸屬原作者、原發(fā)表出處。若版權(quán)所有方對本文的引用持有異議,請聯(lián)系拍明芯城(marketing@iczoom.com),本方將及時(shí)處理。
2、本文的引用僅供讀者交流學(xué)習(xí)使用,不涉及商業(yè)目的。
3、本文內(nèi)容僅代表作者觀點(diǎn),拍明芯城不對內(nèi)容的準(zhǔn)確性、可靠性或完整性提供明示或暗示的保證。讀者閱讀本文后做出的決定或行為,是基于自主意愿和獨(dú)立判斷做出的,請讀者明確相關(guān)結(jié)果。
4、如需轉(zhuǎn)載本方擁有版權(quán)的文章,請聯(lián)系拍明芯城(marketing@iczoom.com)注明“轉(zhuǎn)載原因”。未經(jīng)允許私自轉(zhuǎn)載拍明芯城將保留追究其法律責(zé)任的權(quán)利。
拍明芯城擁有對此聲明的最終解釋權(quán)。