0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于dm9000ae的s3c2440嵌入式系統(tǒng)的以太網(wǎng)接口設(shè)計

ss ? 作者:工程師譚軍 ? 2018-09-11 15:24 ? 次閱讀

本文主要是關(guān)于dm9000ae的相關(guān)介紹,并著重對基于dm9000ae的s3c2440嵌入式系統(tǒng)以太網(wǎng)接口設(shè)計進(jìn)行了詳盡的闡述。

dm9000ae

DM9000AE是一款電子產(chǎn)品,存儲轉(zhuǎn)發(fā)。

主要特性:

* 支持處理器接口類型:字節(jié)/字/雙字的I/O指令進(jìn)行內(nèi)部數(shù)據(jù)運(yùn)算。

* 集成10/100M 收發(fā)器。

* 支持MII/RMII接口。

* 支持半雙工背壓流量控制模式。

* IEEE802.3全雙工流量控制模式。

* 支持遠(yuǎn)端喚醒和連接狀態(tài)變化。

* 集成4K的雙字SRAM。

* 支持存儲轉(zhuǎn)發(fā)和EEPROM芯片ID。

* 支持4個GPIO管腳。

* 可選EEPROM設(shè)置。

* 低功耗模式。

* I/O管腳 3.3V--5V兼容。

* 48-pin cmos工藝 LQFP封裝。

應(yīng)用:接口轉(zhuǎn)換,機(jī)頂盒,IP phone,監(jiān)控處理等

產(chǎn)品優(yōu)勢:

與同類產(chǎn)品比較具有以下獨(dú)特優(yōu)勢:

* LOCAL BUS芯片,DM9000AE其基本特性是 48pin,10/100MLOCAL-BUS interface;工作模式8/16bit

* 2.5/3.5V低功耗;DM9000AE是全球最小顆粒單芯片, 體積小,便于布線制版

* 通過惠普認(rèn)證AUTO-Midx(支持直接互連自動翻轉(zhuǎn))TCP/Ip加速(IPV4 check sum offioad

減輕CPU負(fù)擔(dān),提高整機(jī)效能,20nsl/o讀寫時間

基于dm9000ae的s3c2440嵌入式系統(tǒng)的以太網(wǎng)接口設(shè)計

隨著微電子技術(shù)和計算機(jī)技術(shù)的發(fā)展,嵌入式技術(shù)得到廣闊的發(fā)展,已成為現(xiàn)代工業(yè)控制通信類和消費(fèi)類產(chǎn)品發(fā)展的方向。以太網(wǎng)在實時操作、可靠傳輸、標(biāo)準(zhǔn)統(tǒng)一等方面的卓越性能及其便于安裝、維護(hù)簡單、不受通信距離限制等優(yōu)點(diǎn),已經(jīng)被國內(nèi)外很多監(jiān)控、控制領(lǐng)域的研究人員廣泛關(guān)注,并在實際應(yīng)用中展露出顯著的優(yōu)勢。本文提出了一種基于DM9000AE網(wǎng)絡(luò)接口芯片和32位三星ARM9處理器S3C2440嵌入式系統(tǒng)的以太網(wǎng)接口的設(shè)計方案,并在Windows CE操作系統(tǒng)上開發(fā)移植了網(wǎng)絡(luò)驅(qū)動程序?qū)崿F(xiàn)網(wǎng)絡(luò)的接入。

2. DM9000AE工作原理

2.1 DM9000的主要特性和總體結(jié)構(gòu)

DM9000AE是DEVICOM(***聯(lián)杰國際)研發(fā)的一款10/100M快速以太網(wǎng)控制芯片。DM9000AE實現(xiàn)以太網(wǎng)媒體介質(zhì)訪問層(MAC)和物理層( PHY)的功能,包括MAC數(shù)據(jù)幀的組裝/拆分與收發(fā)、地址識別、CRC編碼/校驗、MLT-3編碼器、接收噪聲抑制、輸出脈沖成形、超時重傳、鏈路完整性測試、信號極性檢測與糾正等。DM9000AE內(nèi)部邏輯結(jié)構(gòu)如圖1所示。

DM9000AE具有以下主要性能:①48管腳的LQFP封裝,管腳少體積??;②支持8/16位數(shù)據(jù)總線;③適用于10Base-T和100Base-T,10/100M自適應(yīng),適應(yīng)不同的網(wǎng)絡(luò)速度要求,④內(nèi)置16KB的SRAM,用于收發(fā)緩沖,降低對主處理器的速度要求;⑤支持IP /TCP /UDP加速,減輕了CPU負(fù)擔(dān),提高網(wǎng)絡(luò)速度;⑥支持Back pressure半雙工流量控制,與IEEE802.3u兼容,支持IEEE802.3x全雙工流量控制;⑦20ns響應(yīng)時間,2.5V/3.3V低功耗。

基于dm9000ae的s3c2440嵌入式系統(tǒng)的以太網(wǎng)接口設(shè)計

圖1 DM9000AE內(nèi)部邏輯結(jié)構(gòu)

2.2 工作原理

DM9000AE可與微處理器以8 bit或16 bit的總線方式連接,并可根據(jù)需要以單工或全雙工等模式運(yùn)行。在系統(tǒng)上電時,處理器通過總線配置DM9000AE內(nèi)部網(wǎng)絡(luò)控制寄存器 (NCR)、中斷寄存器(ISR)等,完成DM9000AE的初始化。隨后DM9000A進(jìn)入數(shù)據(jù)收發(fā)等待狀態(tài)。

當(dāng)處理器要向以太網(wǎng)發(fā)送數(shù)據(jù)幀時,先將數(shù)據(jù)打包成UDP或IP數(shù)據(jù)包,并通過8 bit或16bit總線逐字節(jié)發(fā)送到DM9000A的數(shù)據(jù)發(fā)送緩存中,然后將數(shù)據(jù)長度等信息填充到DM9000AE相應(yīng)寄存器內(nèi),隨后發(fā)送使能命令,DM9000AE將緩存的數(shù)據(jù)和數(shù)據(jù)幀信息進(jìn)行MAC組幀,并發(fā)送出去。

當(dāng)DM9000AE接收到外部網(wǎng)絡(luò)送來的以太網(wǎng)數(shù)據(jù)時,首先檢測數(shù)據(jù)幀的合法性,如果幀頭標(biāo)志有誤或存在CRC校驗錯誤,則將該幀數(shù)據(jù)丟棄,否則將數(shù)據(jù)幀緩存到內(nèi)部RAM,并通過中斷標(biāo)志位通知處理器,處理器收到中斷后對DM9000AE接收RAM的數(shù)據(jù)進(jìn)行處理。

DM9000AE自動檢測網(wǎng)絡(luò)連接情況,根據(jù)網(wǎng)速設(shè)置內(nèi)部的數(shù)據(jù)收發(fā)速率為10Mb/s或100 Mb/s。同時,DM9000AE還能根據(jù)RJ45接口連接方式改變數(shù)據(jù)收發(fā)引腳的方向,因此無論外部網(wǎng)線是采用對等還是交叉方式,系統(tǒng)均能正常通信。

3.網(wǎng)絡(luò)接口硬件電路設(shè)計

在嵌入式系統(tǒng)中增加以太網(wǎng)接口,通常由如下兩種方法實現(xiàn)。第一種方法采用帶有以太網(wǎng)接口的嵌入式處理器。這種方法要求嵌入式處理器有通用的網(wǎng)絡(luò)接口,通常這種處理器是面向網(wǎng)絡(luò)應(yīng)用而設(shè)計的,通過內(nèi)部總線的方法實現(xiàn)處理器和網(wǎng)絡(luò)數(shù)據(jù)的交換。另一種方法采用嵌入式處理器+網(wǎng)卡芯片結(jié)構(gòu)。這種方法對嵌入式處理器沒有特殊要求,只要把以太網(wǎng)芯片連接到嵌入式處理器的總線上即可。此方法通用性強(qiáng),不受處理器的限制,但是,處理器和網(wǎng)絡(luò)數(shù)據(jù)交換通過外部總線交換數(shù)據(jù)[3]。

本設(shè)計采用的是S3C2440這款通用的嵌入式微處理器上擴(kuò)展以太網(wǎng)接口的方式,即第二種方式。S3C2440A處理器與DM9000AE連接的結(jié)構(gòu)如圖2所示,DM9000AE通過總線與處理器相連,中斷與處理器外部中斷相接。

基于dm9000ae的s3c2440嵌入式系統(tǒng)的以太網(wǎng)接口設(shè)計

圖2 S3C2440A處理器與DM9000AE連接的結(jié)構(gòu)

S3C2440A微處理器是一款由Samsung半導(dǎo)體公司為手持設(shè)備和各種多用途應(yīng)用設(shè)計,基于ARM920T內(nèi)核的16/32位RISC的低功耗、高集成度的微處理器,,采用五級流水線和哈佛結(jié)構(gòu),289腳FBGA封裝,。S3C2440在包含ARM920T核的同時,增加了豐富的外圍資源,主要包括1個LCD控制器;3個通道的UART;4個通道的DMA;4個具有PWM功能的16位定時/計數(shù)器和1個16位內(nèi)部定時器,支持外部時鐘源;8通道的10位ADC;觸摸屏、IIC總線、IIS總線、SD卡和MMC卡、攝像頭接口;130位通用I/O口和24位外部中斷源。

DM9000AE以太網(wǎng)接口電路如圖的連接如圖3所示。處理器利用片選DM_CS和地址線BADDR分別連接DM9000AE芯片的CS引腳和CMD引腳,S3C2440的數(shù)據(jù)線BDATA[15:0]與DM9000AE的數(shù)據(jù)線SD[15:0]連接,用來實現(xiàn)DM9000與S3C2440之間的數(shù)據(jù)傳輸;S3C2440的DM_IOR引腳連接DM9000AE的讀引腳IOR#,DM_IOW引腳連接DM9000AE的寫引腳IOW#;同時,DM9000AE占用S3C2440的中斷引腳EINT7,使得S3C2440能夠響應(yīng)DM9000AE的中斷。DM9000AE與網(wǎng)絡(luò)的連接由接收信號線RX+、RX-和發(fā)送信號線TX+、TX-通過隔離變壓器E-2023與以太網(wǎng)水晶接頭RJ_45相連。隔離變壓器的主要作用是將嵌入式系統(tǒng)與外部線路相隔離,防止干擾和燒壞元器件,實現(xiàn)帶電的插拔功能。

基于dm9000ae的s3c2440嵌入式系統(tǒng)的以太網(wǎng)接口設(shè)計

圖3 以太網(wǎng)接口電路

4.網(wǎng)絡(luò)接口模塊的軟件設(shè)計

本系統(tǒng)采用Windows CE操作系統(tǒng),具有強(qiáng)大的網(wǎng)絡(luò)支持功能,Windows CE支持包括TCP / IP在內(nèi)的Internet的所有網(wǎng)絡(luò)協(xié)議。Windows CE的網(wǎng)絡(luò)驅(qū)動程序都遵循NDIS(Network Driver Interface Specification,網(wǎng)絡(luò)驅(qū)動接口規(guī)范),NDIS提供了兩個抽象層,用來把網(wǎng)絡(luò)驅(qū)動程序和協(xié)議棧相連。NDIS模型的示意圖圖4所示。

基于dm9000ae的s3c2440嵌入式系統(tǒng)的以太網(wǎng)接口設(shè)計

圖4 NDIS模型的示意圖

DM9000AE在Windows CE下的驅(qū)動程序就是基于這個模型而編寫,被編譯成動態(tài)鏈接庫,以用戶態(tài)下的DLL文件形式存在。入口函數(shù)為DriverEntry()。DM9000驅(qū)動的工作流程如圖5所示。

NdisMInitializeWrapper()函數(shù)的作用是通知NDIS 一個小端口網(wǎng)卡正在被初始化,此函數(shù)在ndis.dll中提供。然后對NDIS40_MINIPORT_CHARACTERISTICS結(jié)構(gòu)體變量初始化,主要是設(shè)置一些回調(diào)函數(shù)(MiniportInitialize(),MiniportReset(),MiniportInterruptHandler(),MiniportISRHandler(),MiniportQueryInformation(),MiniportSetInformation(),MiniportSend()。接著就是通過NdisMRegisterMiniport()函數(shù)利用NDIS40_MINIPORT_CHARACTERISTICS這個結(jié)構(gòu)體向NDIS系統(tǒng)進(jìn)行注冊。再接下來就是MiniportInitialize(),在其中有NIC_DRIVER_OBJECT類的初始化,以及該類的EDriverInitialize()函數(shù)調(diào)用,在此函數(shù)中全面展開了dm9000的所有初始化操作。

對DM9000的所有初始化操作的實現(xiàn)在dm9000.cpp文件中,主要也是通過DeviceEntry()這個函數(shù)來實現(xiàn)。在DeviceEntry()這個函數(shù)中只做了一件事:new了一個C_DM9000類的實例并return。緊接著就是C_DM9000的實例通過DeviceSetDefaultSettings();DeviceSetEepromFormat();DeviceRetriveConfigurations(hconfig);EDeviceValidateConfigurations()等等對DM9000AE進(jìn)行的一系列初始化操作。然后NIC_DRIVER_OBJECT指向DriverStart(),在DriverStart()中C_DM9000只進(jìn)行了一個非常簡單但最重要的操作就是它在此DeviceEnableInterrupt()啟動了中斷,接下來就是無休止的等待、接收、發(fā)送,DM9000就此開始工作了。

基于dm9000ae的s3c2440嵌入式系統(tǒng)的以太網(wǎng)接口設(shè)計

圖5 DM9000驅(qū)動的工作流程

在完成了驅(qū)動程序之后,我們還需要在Platform.reg文件中對DM9000的注冊表項進(jìn)行相應(yīng)的設(shè)置:

[HKEY_LOCAL_MACHINECommDM9000]

“DisplayName”=“Crystal DM9000 ISA Ethernet Controller”

“Group”=“NDIS”

“ImagePath”=“DM9000.DLL”

[HKEY_LOCAL_MACHINECommDM9000Linkage]

“Route”=multi_sz:“DM90001”

[HKEY_LOCAL_MACHINECommDM90001Parms

“BusNumber”=dword:0

“BusType”=dword:0

“InterruptNumber”=dword:3E

“IoBaseAddress”=dword:D3000000

“RxMode”=“PIO”

“NetworkAddress”=“00-01-33-33-33-33”

[HKEY_LOCAL_MACHINECommDM90001ParmsTcpIp]

“EnabLEDHCP”=dword:0

“DefaultGateway”=“192.168.126.1”

“UseZeroBroadcast”=dword:0

“IpAddress”=“192.168.126.100”

Subnetmask”=“255.255.255.0”

“DNS”=“192.168.126.1”

[HKEY_LOCAL_MACHINECommTcpipLinkage]

“Bind”=multi_sz: “ppp”, “DM90001”

將設(shè)計的模塊與本地局域網(wǎng)連通,并分配MAC地址和IP地址,利用PC的PINg程序,得到回應(yīng),說明ARP、IP、ICMP協(xié)議正常。利用自己編寫的基于windows的應(yīng)用程序,向模塊發(fā)送連接請求,模塊返回正確的應(yīng)答信息,TCP協(xié)議正常。

結(jié)語

關(guān)于dm9000ae的相關(guān)介紹就到這了,希望通過本文能讓你對dm9000ae有更全面的認(rèn)識。

相關(guān)閱讀推薦:DM9000A與基帶信號處理平臺的結(jié)合應(yīng)用

相關(guān)閱讀推薦:DM9000AE工作原理 以太網(wǎng)接口電路設(shè)計

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式系統(tǒng)
    +關(guān)注

    關(guān)注

    41

    文章

    3551

    瀏覽量

    129108
  • dm9000ae
    +關(guān)注

    關(guān)注

    0

    文章

    3

    瀏覽量

    7433
收藏 人收藏

    評論

    相關(guān)推薦

    基于Blackfin處理器和DM9000AE實現(xiàn)嵌入式軟件系統(tǒng)的設(shè)計

    本方案所選用的基本芯片包括Blackfin處理器ADSP-BF533、以太網(wǎng)控制器DM9000AE等,功能框圖如圖1所示。
    的頭像 發(fā)表于 09-03 17:11 ?2953次閱讀
    基于Blackfin處理器和<b class='flag-5'>DM9000AE</b>實現(xiàn)<b class='flag-5'>嵌入式</b>軟件<b class='flag-5'>系統(tǒng)</b>的設(shè)計

    S3C2440嵌入式音頻系統(tǒng)設(shè)計與實現(xiàn)

    設(shè)計開發(fā)的基于ARM處理器可同時實現(xiàn)網(wǎng)絡(luò)收音機(jī)和MP3播放器功能的嵌入式平臺。利用S3C2440芯片的特點(diǎn),以ARM處理器及其外圍模塊為硬件平臺,采用嵌入式Linux作為操作
    發(fā)表于 05-06 09:06

    DM9000A,DM9000C網(wǎng)絡(luò)接口電路圖

    ,照顧了MCU地址空間有限的情況,MCU和DM9000A的軟件/硬件設(shè)計非常方便。(我在給S3C2440選一款以太網(wǎng)控制,看到DM9000A,確認(rèn)可以很方便購買,就立即決定用她了。我把
    發(fā)表于 04-07 15:29

    嵌入式百兆以太網(wǎng)參考設(shè)計-DM9000CIEP-參考設(shè)計

    嵌入式百兆以太網(wǎng)參考設(shè)計-DM9000CIEP-參考設(shè)計工業(yè)級的以太網(wǎng)芯片應(yīng)用,有需要的可以看看。QQ***
    發(fā)表于 03-17 17:48

    U-Boot移植DM9000網(wǎng)卡分享!

    S3C2440 NAND K9F2G08SDRAMK4S561632 * 2網(wǎng)DM90003.Linux: ubuntu 9.10二、
    發(fā)表于 07-29 00:06

    以太網(wǎng)接口怎么實現(xiàn)嵌入式系統(tǒng)的網(wǎng)絡(luò)互連?

    本文介紹了一個基于三星ARM9芯片S3C2440嵌入式系統(tǒng)以太網(wǎng)接口電路設(shè)計方案,采用了工業(yè)級以太網(wǎng)
    發(fā)表于 04-13 08:29

    怎么實現(xiàn)基于S3C4480X的嵌入式以太網(wǎng)接口設(shè)計?

    本文基于最常用的嵌入式處理器S3C44B0X和以太網(wǎng)驅(qū)動器RTL8019AS來設(shè)計了一款嵌入式以太網(wǎng)接口
    發(fā)表于 05-21 06:00

    如何去實現(xiàn)S3C2440嵌入式系統(tǒng)以太網(wǎng)接口設(shè)計?

    DM9000AE工作原理是什么?如何去實現(xiàn)S3C2440嵌入式系統(tǒng)以太網(wǎng)接口設(shè)計?
    發(fā)表于 05-24 07:28

    基于S3C2440DM9000AE以太網(wǎng)接口的設(shè)計

    的是S3C2440這款通用的嵌入式微處理器上擴(kuò)展以太網(wǎng)接口的方式,即第二種方式。S3C2440A處理器與
    發(fā)表于 11-05 06:30

    基于S3C44B0X+μcLinux的嵌入式以太網(wǎng)設(shè)計與分析

    本文介紹了基于一款A(yù)RM 處理器——S3C44B0X 的以太網(wǎng)接口電路設(shè)計,并詳細(xì)地闡述了在嵌入式操作系統(tǒng)μcLinux 下網(wǎng)卡驅(qū)動的實現(xiàn)。
    發(fā)表于 06-15 11:36 ?16次下載

    以太網(wǎng)接口芯片DM9000A在嵌入式系統(tǒng)中的應(yīng)用

    以太網(wǎng)接口芯片DM9000A在嵌入式系統(tǒng)中的應(yīng)用 目前,網(wǎng)絡(luò)技術(shù)在電子產(chǎn)品中的應(yīng)用越來越廣,更多的嵌入
    發(fā)表于 12-26 09:42 ?2880次閱讀
    <b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>接口</b>芯片<b class='flag-5'>DM9000</b>A在<b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>中的應(yīng)用

    嵌入式Linux在s3c2440上的移植研究

    針對嵌入式Linux在s3c2440上的移植目的,通過將嵌入式Linux 內(nèi)核移植到 S3C2440 處理器的目標(biāo)板上, 提出了嵌入式Lin
    發(fā)表于 08-15 11:30 ?67次下載

    DM9000AE工作原理 以太網(wǎng)接口電路設(shè)計

    限制等優(yōu)點(diǎn),已經(jīng)被國內(nèi)外很多監(jiān)控、控制領(lǐng)域的研究人員廣泛關(guān)注,并在實際應(yīng)用中展露出顯著的優(yōu)勢。本文提出了一種基于DM9000AE網(wǎng)絡(luò)接口芯片和32位三星ARM9處理器S3C2440嵌入式
    發(fā)表于 04-01 11:58 ?1.3w次閱讀
    <b class='flag-5'>DM9000AE</b>工作原理 <b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>接口</b>電路設(shè)計

    S3C2440如何設(shè)置系統(tǒng)時鐘

    S3C2440如何設(shè)置系統(tǒng)時鐘 S3C2440是一款嵌入式處理器,屬于SAMSUNG公司的ARM9系列。系統(tǒng)時鐘是
    的頭像 發(fā)表于 09-02 15:12 ?930次閱讀

    基于ARM Linux和S3C2440嵌入式Linux內(nèi)核設(shè)計

    電子發(fā)燒友網(wǎng)站提供《基于ARM Linux和S3C2440嵌入式Linux內(nèi)核設(shè)計.pdf》資料免費(fèi)下載
    發(fā)表于 10-12 10:37 ?4次下載
    基于ARM Linux和<b class='flag-5'>S3C2440</b>的<b class='flag-5'>嵌入式</b>Linux內(nèi)核設(shè)計