<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 嵌入式系統以太網(wǎng)卡控制器LAN91C96

嵌入式系統以太網(wǎng)卡控制器LAN91C96

作者: 時(shí)間:2004-12-11 來(lái)源:網(wǎng)絡(luò ) 收藏
摘要:為例,介紹網(wǎng)基本結構;結合PXA250(XScale),分析網(wǎng)絡(luò )接口卡(NIC)軟硬件設計。

關(guān)鍵詞: NIC 網(wǎng)絡(luò )接口卡

引 言

  當今社會(huì )已經(jīng)進(jìn)入數字信息技術(shù)和網(wǎng)絡(luò )技術(shù)高速發(fā)展的后PC(Post-PC)時(shí)代,嵌入式已經(jīng)廣泛滲透到科學(xué)研究、工程設計、軍事技術(shù)、各類(lèi)產(chǎn)業(yè)和商業(yè)文化藝術(shù)、娛樂(lè )業(yè)以及人們的日常生活等方方面面;而網(wǎng)絡(luò )技術(shù)的快速發(fā)展和互聯(lián)網(wǎng)的廣泛應用,使得嵌入式產(chǎn)品有了更廣泛的前景。各種家電設備、PDA、儀器儀表、工業(yè)生產(chǎn)中數據的采集與控制等設備正在逐漸走向網(wǎng)絡(luò )化,以共享互聯(lián)網(wǎng)絡(luò )中龐大的信息資源。嵌入式設備的網(wǎng)絡(luò )化開(kāi)發(fā)有著(zhù)廣闊的前景。

  本文以SMSC公司的嵌入式網(wǎng)為例,介紹嵌入式系統網(wǎng)絡(luò )接口卡(NIC)的軟硬件設計。

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)標準

◆ 全雙工收發(fā)方式,具有睡眠模式

◆ 6KB的片上RAM

◆ 與處理器接口可采用PCMCIA、ISA或Motorola 68000

◆ 支持先進(jìn)的傳輸隊列管理

◆ 硬件MMU

◆通過(guò)串行EEPROM選擇性配置

◆ 全雙工傳輸模式

◆可連接同軸電纜和雙絞線(xiàn),支持10Base5、10Base2、10BaseT,并可自動(dòng)檢測所連介質(zhì)

◆ 高級的電源管理特性

◆ 支持“Magic Packet”電源管理技術(shù)

◆ 低功耗的CMOS設計

1.2 內部框架

  圖1是LAN91C96原理框圖。

  LAN91C96控制其內部集成了6KB的RAM,用來(lái)存放數據包。內部的MMU、判決器和DMA對數據包的傳輸發(fā)送進(jìn)行有效的管理。CSMA/CD(載波監聽(tīng)多路訪(fǎng)問(wèn)/沖突避免)模塊集成了IEEE 802.3 MAC層協(xié)議,負責監聽(tīng)網(wǎng)絡(luò )情況和地址過(guò)濾,若目的地址是LAN91C96的地址、廣播地址或多播地址,則接收此數據包,否則拋棄。內部物理接口(PHY)包含一個(gè)ENDEC和10BaseT Transceiver。編解碼器(ENDEC)負責曼徹斯特(Manchester)編解碼,并提供標準6腳連接單元接口(AUI),外接同軸傳輸接收器,應用10Base2/5。傳輸數據時(shí),10BaseT Transceiver負責把主控制器傳過(guò)來(lái)的反向不歸零碼(NRZ)數據轉換為Manchester數據,并以適當的電平加以驅動(dòng);接收時(shí)負責連接完整性測試。外接的串行電可擦除只讀ROM(EEPROM)中可存儲的MAC地址,當OS啟動(dòng)加載時(shí),以太網(wǎng)控制器就從EEPROM的固定地址中讀取MAC地址并存儲在相應的寄存器中。

1.3 工作原理

  LAN91C96內部6KB的RAM為數據包的傳輸接收提供緩沖,使全雙工工作模式下數據傳輸率可達10Mbps;MMU把RAM分成256B的頁(yè),并負責為每個(gè)數據幀分配一個(gè)或多個(gè)頁(yè)。

  當主處理器傳輸數據時(shí),MMU首先根據數據大小為其在RAM中分配若干頁(yè)。在數據傳送到RAM時(shí),此數據幀的幀號也在TX FIFO中排隊,然后此數據幀在輪到時(shí)傳送到PHY模塊進(jìn)行Manchester編碼,最后根據CSMA/CD協(xié)議把此數據幀傳送到相應的介質(zhì)上。

  在介質(zhì)上有數據時(shí),LAN91C96將數據幀復制一份并傳送到ENDEC模塊進(jìn)行Manchester解碼,而CSMA/CD模塊根據該數據幀頭的目的地址是否為本網(wǎng)卡MAC地址、廣播或多播地址來(lái)決定此數據幀的取舍。若地址匹配,MMU為其在RAM中開(kāi)辟相應大小的空間,并以中斷的方式告知主處理器。在數據幀被取走后,MMU釋放此塊內存。

1.4 數據幀的構成

  一個(gè)IEEE 802.3數據幀由以下幾個(gè)部分組成:前導位(preamle)、幀起始位(SFD)、目的地址(destination)、源地址(source)、數據長(cháng)度(length)、數據(data)、幀校驗字(FCS)。如圖2所示,數據的數量范圍46~1500B,如一組要傳送的數據為46B,就用零補足;超過(guò)1500B時(shí),需要拆成多個(gè)幀傳送。前導位、幀起始位和幀校驗字僅供控制器本身用,主處理器收到的數據幀的組成依次包括:接收狀態(tài)(1B)、下一幀的頁(yè)地址指針(1B)、目的地址(6B)、源地址(6B)、數據長(cháng)度/幀類(lèi)型(2B)、數據。數據長(cháng)度/幀類(lèi)型的值小于或等于1500B時(shí),表示數據場(chǎng)的長(cháng)度;反之,表示數據幀的類(lèi)型。如值依次為 0x08、0x00,表示數據為IP包;值依次為0x08、0x06,表示數據為ARP包。

2 以太網(wǎng)卡設計方案

2.1 硬件設計方案

  此設計方案采用的嵌入式處理器是Intel公司的PXA250(XScale)。該處理器是Intel為了滿(mǎn)足便攜式和嵌入式應用需求而優(yōu)化的微處理器。PXA250基于Intel XScale微體系結構,RISC架構,最高可以運行400MHz。 PXA250采用ARM指令、數據高速緩存、內存管理單元(MMU)和讀/寫(xiě)緩沖器。另外,PXA250提供系統支持邏輯、多串行通信通道、彩色/灰度刻度LCD控制器、支持PCMCIA、通用I/O端口、USB、串口、紅外接口、JTAG、音頻等。

  圖3是嵌入式以太網(wǎng)卡的原理圖。LANC91C96內部寄存器可通過(guò)對地址線(xiàn)A0、A1、A2、A3……的操作來(lái)訪(fǎng)問(wèn),LAN91C96內部寄存器寬度是16bit;而PXA250的訪(fǎng)問(wèn)寬度是32bit,所以L(fǎng)ANC91C96的A1、A2、A3……分別與PXA250的A2、A3、A4……相連。LANC91C96的數據訪(fǎng)問(wèn)寬度是16bit,所以其16根數據線(xiàn)與PXA250的低16根數據線(xiàn)相連。中斷INTR0與PXA250的GPIO11相連。

  外接的93C46是1Kbit的串行EEPROM,6416陣列,按字訪(fǎng)問(wèn),用來(lái)存儲以太網(wǎng)卡的MAC地址。MAC地址是48bit,預先燒寫(xiě)在EEPROM的指定位置。每次系統啟動(dòng)時(shí),LAN91C96從EEPROM重讀出自己的MAC地址,存在指定的寄存器中。EX2001是針對10M以太網(wǎng)的變壓濾波器。

圖3

2.2 軟件設計方案

  該嵌入式設備運行Windows CE.net操作系統。Windows CE是一個(gè)搶先式多任務(wù)并具有強大通信和圖形顯示功能的Win32嵌入式操作系統,具有可移植性、實(shí)時(shí)性、模塊化等特點(diǎn);是微軟專(zhuān)門(mén)為信息設備、移動(dòng)應用、消費類(lèi)電子產(chǎn)品、嵌入式應用設計的高性能操作系統。Windows CE是從整體上為有限資源的平臺設計的多線(xiàn)程、完整優(yōu)先級、多任務(wù)的操作系統。其模塊化設計允許它對于從掌上電腦到專(zhuān)用工業(yè)控制器的用戶(hù)電子設備進(jìn)行定制。

  對LAN91C96的軟件操作采用中斷處理方式:當系統有數據要傳輸時(shí),首先把該數據傳到LAN91C96,LAN91C96把數據封裝成幀,加上前導字、校驗字等部分,并檢測到網(wǎng)絡(luò )中沒(méi)有數據在傳輸,才把此數據幀傳輸到網(wǎng)絡(luò )中,并向系統提出中斷,告知已成功傳輸數據;當LAN91C96接收到一數據幀時(shí),首先由CSMA/CD模塊察看此數據幀的目的地址,若為此網(wǎng)卡MAC地址、廣播地址或多播地址,才向系統提出中斷,并把此數據幀傳到LAN91C96的數據寄存器中。系統對此包進(jìn)行處理,察看是否校驗字錯誤等,并剝去前導字,然后傳給上層NDIS進(jìn)行處理。

3 結 論

  基于上述方案的嵌入式以太網(wǎng)卡可以穩定地工作,實(shí)際網(wǎng)絡(luò )速度可以達到9Mbps(依網(wǎng)絡(luò )狀況而定),并具有FTP等功能。

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)


評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>