引 言
當(dāng)今社會(huì)已經(jīng)進(jìn)入數(shù)字信息技術(shù)和網(wǎng)絡(luò)技術(shù)高速發(fā)展的后PC(Post-PC)時(shí)代,嵌入式系統(tǒng)已經(jīng)廣泛滲透到科學(xué)研究、工程設(shè)計(jì)、軍事技術(shù)、各類(lèi)產(chǎn)業(yè)和商業(yè)文化藝術(shù)、娛樂(lè)業(yè)以及人們的日常生活等方方面面;而網(wǎng)絡(luò)技術(shù)的快速發(fā)展和互聯(lián)網(wǎng)的廣泛應(yīng)用,使得嵌入式產(chǎn)品有了更廣泛的前景。各種家電設(shè)備、PDA、儀器儀表、工業(yè)生產(chǎn)中數(shù)據(jù)的采集與控制等設(shè)備正在逐漸走向網(wǎng)絡(luò)化,以共享互聯(lián)網(wǎng)絡(luò)中龐大的信息資源。嵌入式設(shè)備的網(wǎng)絡(luò)化開(kāi)發(fā)有著廣闊的前景。
本文以SMSC公司的LAN91C96嵌入式以太網(wǎng)控制器為例,介紹嵌入式系統(tǒng)網(wǎng)絡(luò)接口卡(NIC)的軟硬件設(shè)計(jì)。
1 以太網(wǎng)控制器LAN91C96簡(jiǎn)介
LAN91C96是SMSC公司生產(chǎn)的專(zhuān)門(mén)用于嵌入式產(chǎn)品的10M以太網(wǎng)控制器。其優(yōu)良的性能、低功耗及小尺寸,使LAN91C96成為嵌入式NIC中的主流產(chǎn)品。
圖1
1.1 主要特點(diǎn)
◆ 支持IEEE802.3(ANSI8802-3)以太網(wǎng)標(biāo)準(zhǔn)
◆ 全雙工收發(fā)方式,具有睡眠模式
◆ 6KB的片上RAM
◆ 與處理器接口可采用PCMCIA、ISA或Motorola 68000
◆ 支持先進(jìn)的傳輸隊(duì)列管理
◆ 硬件MMU
◆通過(guò)串行EEPROM選擇性配置
◆ 全雙工傳輸模式
◆可連接同軸電纜和雙絞線,支持10Base5、10Base2、10BaseT,并可自動(dòng)檢測(cè)所連介質(zhì)
◆ 高級(jí)的電源管理特性
◆ 支持“Magic Packet”電源管理技術(shù)
◆ 低功耗的CMOS設(shè)計(jì)
1.2 內(nèi)部框架
圖1是LAN91C96原理框圖。
LAN91C96網(wǎng)卡控制其內(nèi)部集成了6KB的RAM,用來(lái)存放數(shù)據(jù)包。內(nèi)部的MMU、判決器和DMA對(duì)數(shù)據(jù)包的傳輸發(fā)送進(jìn)行有效的管理。CSMA/CD(載波監(jiān)聽(tīng)多路訪問(wèn)/沖突避免)模塊集成了IEEE 802.3 MAC層協(xié)議,負(fù)責(zé)監(jiān)聽(tīng)網(wǎng)絡(luò)情況和地址過(guò)濾,若目的地址是LAN91C96的地址、廣播地址或多播地址,則接收此數(shù)據(jù)包,否則拋棄。內(nèi)部物理接口(PHY)包含一個(gè)ENDEC和10BaseT Transceiver。編解碼器(ENDEC)負(fù)責(zé)曼徹斯特(Manchester)編解碼,并提供標(biāo)準(zhǔn)6腳連接單元接口(AUI),外接同軸傳輸接收器,應(yīng)用10Base2/5。傳輸數(shù)據(jù)時(shí),10BaseT Transceiver負(fù)責(zé)把主控制器傳過(guò)來(lái)的反向不歸零碼(NRZ)數(shù)據(jù)轉(zhuǎn)換為Manchester數(shù)據(jù),并以適當(dāng)?shù)碾娖郊右则?qū)動(dòng);接收時(shí)負(fù)責(zé)連接完整性測(cè)試。外接的串行電可擦除只讀ROM(EEPROM)中可存儲(chǔ)網(wǎng)卡的MAC地址,當(dāng)OS啟動(dòng)加載網(wǎng)卡時(shí),以太網(wǎng)控制器就從EEPROM的固定地址中讀取MAC地址并存儲(chǔ)在相應(yīng)的寄存器中。
1.3 工作原理
LAN91C96內(nèi)部6KB的RAM為數(shù)據(jù)包的傳輸接收提供緩沖,使全雙工工作模式下數(shù)據(jù)傳輸率可達(dá)10Mbps;MMU把RAM分成256B的頁(yè),并負(fù)責(zé)為每個(gè)數(shù)據(jù)幀分配一個(gè)或多個(gè)頁(yè)。
當(dāng)主處理器傳輸數(shù)據(jù)時(shí),MMU首先根據(jù)數(shù)據(jù)大小為其在RAM中分配若干頁(yè)。在數(shù)據(jù)傳送到RAM時(shí),此數(shù)據(jù)幀的幀號(hào)也在TX FIFO中排隊(duì),然后此數(shù)據(jù)幀在輪到時(shí)傳送到PHY模塊進(jìn)行Manchester編碼,最后根據(jù)CSMA/CD協(xié)議把此數(shù)據(jù)幀傳送到相應(yīng)的介質(zhì)上。
在介質(zhì)上有數(shù)據(jù)時(shí),LAN91C96將數(shù)據(jù)幀復(fù)制一份并傳送到ENDEC模塊進(jìn)行Manchester解碼,而CSMA/CD模塊根據(jù)該數(shù)據(jù)幀頭的目的地址是否為本網(wǎng)卡MAC地址、廣播或多播地址來(lái)決定此數(shù)據(jù)幀的取舍。若地址匹配,MMU為其在RAM中開(kāi)辟相應(yīng)大小的空間,并以中斷的方式告知主處理器。在數(shù)據(jù)幀被取走后,MMU釋放此塊內(nèi)存。
1.4 數(shù)據(jù)幀的構(gòu)成
一個(gè)IEEE 802.3數(shù)據(jù)幀由以下幾個(gè)部分組成:前導(dǎo)位(preamle)、幀起始位(SFD)、目的地址(destination)、源地址(source)、數(shù)據(jù)長(zhǎng)度(length)、數(shù)據(jù)(data)、幀校驗(yàn)字(FCS)。如圖2所示,數(shù)據(jù)的數(shù)量范圍46~1500B,如一組要傳送的數(shù)據(jù)為46B,就用零補(bǔ)足;超過(guò)1500B時(shí),需要拆成多個(gè)幀傳送。前導(dǎo)位、幀起始位和幀校驗(yàn)字僅供控制器本身用,主處理器收到的數(shù)據(jù)幀的組成依次包括:接收狀態(tài)(1B)、下一幀的頁(yè)地址指針(1B)、目的地址(6B)、源地址(6B)、數(shù)據(jù)長(zhǎng)度/幀類(lèi)型(2B)、數(shù)據(jù)。數(shù)據(jù)長(zhǎng)度/幀類(lèi)型的值小于或等于1500B時(shí),表示數(shù)據(jù)場(chǎng)的長(zhǎng)度;反之,表示數(shù)據(jù)幀的類(lèi)型。如值依次為 0x08、0x00,表示數(shù)據(jù)為IP包;值依次為0x08、0x06,表示數(shù)據(jù)為ARP包。
2 以太網(wǎng)卡設(shè)計(jì)方案
2.1 硬件設(shè)計(jì)方案
此設(shè)計(jì)方案采用的嵌入式處理器是Intel公司的PXA250(XScale)。該處理器是Intel為了滿足便攜式和嵌入式應(yīng)用需求而優(yōu)化的微處理器。PXA250基于Intel XScale微體系結(jié)構(gòu),RISC架構(gòu),最高可以運(yùn)行400MHz。 PXA250采用ARM指令、數(shù)據(jù)高速緩存、內(nèi)存管理單元(MMU)和讀/寫(xiě)緩沖器。另外,PXA250提供系統(tǒng)支持邏輯、多串行通信通道、彩色/灰度刻度LCD控制器、支持PCMCIA、通用I/O端口、USB、串口、紅外接口、JTAG、音頻等。
圖3是嵌入式以太網(wǎng)卡的原理圖。LANC91C96內(nèi)部寄存器可通過(guò)對(duì)地址線A0、A1、A2、A3……的操作來(lái)訪問(wèn),LAN91C96內(nèi)部寄存器寬度是16bit;而PXA250的訪問(wèn)寬度是32bit,所以LANC91C96的A1、A2、A3……分別與PXA250的A2、A3、A4……相連。LANC91C96的數(shù)據(jù)訪問(wèn)寬度是16bit,所以其16根數(shù)據(jù)線與PXA250的低16根數(shù)據(jù)線相連。中斷INTR0與PXA250的GPIO11相連。
外接的93C46是1Kbit的串行EEPROM,64×16陣列,按字訪問(wèn),用來(lái)存儲(chǔ)以太網(wǎng)卡的MAC地址。MAC地址是48bit,預(yù)先燒寫(xiě)在EEPROM的指定位置。每次系統(tǒng)啟動(dòng)時(shí),LAN91C96從EEPROM重讀出自己的MAC地址,存在指定的寄存器中。EX2001是針對(duì)10M以太網(wǎng)的變壓濾波器。
圖3
2.2 軟件設(shè)計(jì)方案
該嵌入式設(shè)備運(yùn)行Windows CE.net操作系統(tǒng)。Windows CE是一個(gè)搶先式多任務(wù)并具有強(qiáng)大通信和圖形顯示功能的Win32嵌入式操作系統(tǒng),具有可移植性、實(shí)時(shí)性、模塊化等特點(diǎn);是微軟專(zhuān)門(mén)為信息設(shè)備、移動(dòng)應(yīng)用、消費(fèi)類(lèi)電子產(chǎn)品、嵌入式應(yīng)用設(shè)計(jì)的高性能操作系統(tǒng)。Windows CE是從整體上為有限資源的平臺(tái)設(shè)計(jì)的多線程、完整優(yōu)先級(jí)、多任務(wù)的操作系統(tǒng)。其模塊化設(shè)計(jì)允許它對(duì)于從掌上電腦到專(zhuān)用工業(yè)控制器的用戶(hù)電子設(shè)備進(jìn)行定制。
對(duì)LAN91C96的軟件操作采用中斷處理方式:當(dāng)系統(tǒng)有數(shù)據(jù)要傳輸時(shí),首先把該數(shù)據(jù)傳到LAN91C96,LAN91C96把數(shù)據(jù)封裝成幀,加上前導(dǎo)字、校驗(yàn)字等部分,并檢測(cè)到網(wǎng)絡(luò)中沒(méi)有數(shù)據(jù)在傳輸,才把此數(shù)據(jù)幀傳輸?shù)骄W(wǎng)絡(luò)中,并向系統(tǒng)提出中斷,告知已成功傳輸數(shù)據(jù);當(dāng)LAN91C96接收到一數(shù)據(jù)幀時(shí),首先由CSMA/CD模塊察看此數(shù)據(jù)幀的目的地址,若為此網(wǎng)卡MAC地址、廣播地址或多播地址,才向系統(tǒng)提出中斷,并把此數(shù)據(jù)幀傳到LAN91C96的數(shù)據(jù)寄存器中。系統(tǒng)對(duì)此包進(jìn)行處理,察看是否校驗(yàn)字錯(cuò)誤等,并剝?nèi)デ皩?dǎo)字,然后傳給上層NDIS進(jìn)行處理。
3 結(jié) 論
基于上述方案的嵌入式以太網(wǎng)卡可以穩(wěn)定地工作,實(shí)際網(wǎng)絡(luò)速度可以達(dá)到9Mbps(依網(wǎng)絡(luò)狀況而定),并具有FTP等功能。
- 嵌入式系(14247)
- 1C96(5911)
基于嵌入式系統(tǒng)的以太網(wǎng)控制器設(shè)計(jì)
5895
嵌入式工業(yè)以太網(wǎng)控制器的設(shè)計(jì)和應(yīng)用
1198嵌入式工業(yè)以太網(wǎng)的應(yīng)用研究
6655
高性能嵌入式工業(yè)以太網(wǎng)監(jiān)控系統(tǒng)電路設(shè)計(jì)
1395
AC7840x-W5500嵌入式以太網(wǎng)控制器方案簡(jiǎn)介
3652
LAN91C96
以太網(wǎng)接口怎么實(shí)現(xiàn)嵌入式系統(tǒng)的網(wǎng)絡(luò)互連?
嵌入式以太網(wǎng)控制器WIZNET相關(guān)資料推薦
Android系統(tǒng)啟動(dòng)以太網(wǎng)卡及支持雙網(wǎng)卡共存的操作流程
SOPC在嵌入式工業(yè)以太網(wǎng)控制器中有哪些應(yīng)用?
TMS320LF2407與LAN91C111型嵌入式以太網(wǎng)接口電路的實(shí)現(xiàn)方法是什么?
單片機(jī)以太網(wǎng)控制器LAN91C111資料推薦
基于嵌入式以太網(wǎng)控制的接口電路及軟硬件實(shí)現(xiàn)方法
基于嵌入式系統(tǒng)的以太網(wǎng)接口電路實(shí)現(xiàn)設(shè)計(jì)
基于嵌入式操作系統(tǒng)μcLinux怎么實(shí)現(xiàn)對(duì)網(wǎng)卡的驅(qū)動(dòng)?
基于嵌入式模塊comX的實(shí)時(shí)以太網(wǎng)
基于AM186ed嵌入式系統(tǒng)以太網(wǎng)接口設(shè)計(jì)和實(shí)現(xiàn)
基于ARM7內(nèi)核和嵌入式系統(tǒng)的VME總線控制器的研制
基于CP2200的嵌入式系統(tǒng)以太網(wǎng)接口
基于DSP的嵌入式以太網(wǎng)接口電路設(shè)計(jì)
基于FPGA的嵌入式以太網(wǎng)接口硬件設(shè)計(jì)
基于TCP IP協(xié)議棧的嵌入式以太網(wǎng)終端設(shè)計(jì)
如何去實(shí)現(xiàn)嵌入式以太網(wǎng)與Matlab通信系統(tǒng)的設(shè)計(jì)?
如何去實(shí)現(xiàn)S3C2440嵌入式系統(tǒng)的以太網(wǎng)接口設(shè)計(jì)?
如何去實(shí)現(xiàn)一種基于CPCI總線的以太網(wǎng)卡?
如何完成嵌入式串行千兆以太網(wǎng)的設(shè)計(jì)
如何設(shè)計(jì)一個(gè)由LPC2378和MAX4357構(gòu)成的嵌入式系統(tǒng)?
怎么實(shí)現(xiàn)基于S3C4480X的嵌入式以太網(wǎng)接口設(shè)計(jì)?
怎樣去設(shè)計(jì)一種基于嵌入式Linux的千兆以太網(wǎng)卡驅(qū)動(dòng)程序
怎樣在嵌入式操作系統(tǒng)μcLinux下實(shí)現(xiàn)對(duì)網(wǎng)卡的驅(qū)動(dòng)?
推薦:AT91RM9200嵌入式核心控制器模塊
求一種嵌入式以太網(wǎng)接口的設(shè)計(jì)方案
請(qǐng)問(wèn)怎樣去設(shè)計(jì)嵌入式以太網(wǎng)控制器?
請(qǐng)問(wèn)有synopsys三速以太網(wǎng)卡的驅(qū)動(dòng)文件嗎?
誰(shuí)知道SOPC技術(shù)在嵌入式工業(yè)以太網(wǎng)中有哪些應(yīng)用呢?
高效的以太網(wǎng)卡電路怎么實(shí)現(xiàn)?
基于EPA的嵌入式控制器軟件協(xié)議棧實(shí)現(xiàn)
12嵌入式高性能GPIB控制器
14基于CP2200 的嵌入式系統(tǒng)以太網(wǎng)接口設(shè)計(jì)
15基于ARM 嵌入式以太網(wǎng)接口設(shè)計(jì)與實(shí)現(xiàn)Design and
52基于S3C44B0X+μcLinux的嵌入式以太網(wǎng)設(shè)計(jì)與分析
16基于嵌入式實(shí)時(shí)操作系統(tǒng)的現(xiàn)場(chǎng)控制系統(tǒng)
13嵌入式以太網(wǎng)工業(yè)設(shè)備接入系統(tǒng)的設(shè)計(jì)
12嵌入式設(shè)備與以太網(wǎng)互連系統(tǒng)的設(shè)計(jì)
13高性能嵌入式工業(yè)以太網(wǎng)監(jiān)控系統(tǒng)設(shè)計(jì)
14基于ARM的嵌入式通信控制器的設(shè)計(jì)與應(yīng)用
13基于以太網(wǎng)和嵌入式Web Server的控制系統(tǒng)設(shè)計(jì)研究
25基于OpenTCP的嵌入式以太網(wǎng)模塊設(shè)計(jì)
15嵌入式以太網(wǎng)設(shè)計(jì)
1007
DSP與PCI網(wǎng)卡接口設(shè)計(jì)
1567基于CPCI總線10/100 Mb/s以太網(wǎng)卡的設(shè)計(jì)與實(shí)現(xiàn)
1373
圖解以太網(wǎng)卡功能與用料
2388Intel發(fā)布業(yè)界首款雙網(wǎng)口10Gb以太網(wǎng)卡
1330亞信電子推出低功耗SPI或Non-PCI以太網(wǎng)控制器AX88
1122嵌入式以太網(wǎng)數(shù)字語(yǔ)音廣播系統(tǒng)技術(shù)設(shè)計(jì)
1067
SFN5122F低功耗低延遲10G以太網(wǎng)卡
1829基于DSP的嵌入式TCP/IP協(xié)議棧在μC/OS-Ⅱ上的實(shí)現(xiàn)
65基于OR1200微處理器的嵌入式以太網(wǎng)設(shè)計(jì)
32基于以太網(wǎng)的PXI系統(tǒng)控制器
32結(jié)合LAN91C96的嵌入式TCP/IP開(kāi)發(fā)
2276嵌入式系統(tǒng)以太網(wǎng)網(wǎng)絡(luò)接口卡的實(shí)現(xiàn)
95TMS320LF2407與LAN91C111型嵌入式以太網(wǎng)接口電路的實(shí)現(xiàn)
4281
以太網(wǎng)控制器_以太網(wǎng)控制器2012完整版
0亞信電子推出針對(duì)嵌入式網(wǎng)絡(luò)應(yīng)用USB轉(zhuǎn)以太網(wǎng)控制芯片AX88772C
4908lan91c96局部總線PCMCIA集成以太網(wǎng)控制器
1基于ARM和以太網(wǎng)控制器為基礎(chǔ)的網(wǎng)絡(luò)接口設(shè)計(jì)方案
2嵌入式以太網(wǎng)控制器設(shè)計(jì)
1058
嵌入式三軸運(yùn)動(dòng)控制系統(tǒng)的以太網(wǎng)通信問(wèn)題和解決方案
9具有RGMII的超高速USB的以太網(wǎng)控制器LAN7801詳細(xì)中文數(shù)據(jù)手冊(cè)
72W5500全硬件TCP IP嵌入式以太網(wǎng)控制器中英文版本數(shù)據(jù)手冊(cè)免費(fèi)下載
0基于SOPC技術(shù)的嵌入式以太網(wǎng)網(wǎng)絡(luò)終端設(shè)備解決方案設(shè)計(jì)詳解
1792
W5500全硬件TCP IP嵌入式以太網(wǎng)控制器的中文數(shù)據(jù)手冊(cè)免費(fèi)下載
14LAN7500和LAN7500i高速USB 2.0以太網(wǎng)控制器的數(shù)據(jù)手冊(cè)免費(fèi)下載
5W5500 TCP IP嵌入式以太網(wǎng)控制器的數(shù)據(jù)手冊(cè)免費(fèi)下載
1W5500全硬件TCP IP嵌入式以太網(wǎng)控制器芯片的數(shù)據(jù)手冊(cè)免費(fèi)下載
1智能千兆以太網(wǎng)網(wǎng)絡(luò)門(mén)禁控制器專(zhuān)為惡略軍事環(huán)境設(shè)計(jì)
5007基于通用型單片機(jī)和以太網(wǎng)控制器實(shí)現(xiàn)嵌入式以太網(wǎng)接口的設(shè)計(jì)
3960
LAN9512和LAN9513及LAN9514以太網(wǎng)控制器的數(shù)據(jù)手冊(cè)免費(fèi)下載
12基于以太網(wǎng)控制器NC28J60和HR901170A實(shí)現(xiàn)以太網(wǎng)通信
4163
基于Intel 82551以太網(wǎng)控制芯片實(shí)現(xiàn)CPCI以太網(wǎng)卡電路的設(shè)計(jì)
4872
基于工業(yè)以太網(wǎng)嵌入式DNC集成通訊控制系統(tǒng)研究與開(kāi)發(fā)
6什么是以太網(wǎng)卡 以太網(wǎng)卡的未來(lái)
2078全硬件TCP/IP嵌入式以太網(wǎng)控制器w5500中文資料
31以太網(wǎng)卡、IB網(wǎng)卡的詳細(xì)介紹以及區(qū)別分析
11577
LAN9221I-ABZJ 以太網(wǎng)控制器詳細(xì)參數(shù)
2660
LAN9360A-I/CQB-100 以太網(wǎng)控制器的中文資料
1632
LAN9730I-ABZJ 以太網(wǎng)控制器
2396
高度靈活的以太網(wǎng)控制器|LAN Module 13.2上線!
1808
PXIe40G以太網(wǎng)卡資料文件
7Microchip LAN9211-ABZJ 集成 10/100 以太網(wǎng) PHY的以太網(wǎng)控制器
912
解析 LAN9215i:16 位非 PCI 10/100 以太網(wǎng)控制器的卓越之選
294
電子發(fā)燒友App


評(píng)論