日韩欧美自拍在线观看-欧美精品在线看片一区二区-高清性视频一区二区播放-欧美日韩女优制服另类-国产精品久久久久久av蜜臀-成人在线黄色av网站-肥臀熟妇一区二区三区-亚洲视频在线播放老色-在线成人激情自拍视频

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

出處:gxl2005 發(fā)布于:2012-12-24 10:41:01

  摘要:本文介紹了一個(gè)基于三星ARM9芯片S3C2440嵌入式系統(tǒng)的以太網(wǎng)接口電路設(shè)計(jì)方案,采用了工業(yè)級(jí)以太網(wǎng)控制器DM9000AE成功實(shí)現(xiàn)了嵌入式系統(tǒng)網(wǎng)絡(luò)數(shù)據(jù)交換。論文在重點(diǎn)闡述了網(wǎng)絡(luò)接口電路基礎(chǔ)之上,對(duì)Windows CE系統(tǒng)控制軟件部分DM9000AE的驅(qū)動(dòng)程序和注冊(cè)表項(xiàng)進(jìn)行了具體分析。

  關(guān)鍵詞: 嵌入式;S3C2440;以太網(wǎng)接口;DM9000;Windows CE

  1.引言

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

  2. DM9000AE工作原理

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

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

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

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

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

  2.2工作原理

  DM9000AE可與微處理器以8 bit或16 bit的總線(xiàn)方式連接,并可根據(jù)需要以單工或全雙工等模式運(yùn)行。在系統(tǒng)上電時(shí),處理器通過(guò)總線(xiàn)配置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í),先將數(shù)據(jù)打包成UDP或IP數(shù)據(jù)包,并通過(guò)8 bit或16bit總線(xiàn)逐字節(jié)發(fā)送到DM9000A的數(shù)據(jù)發(fā)送緩存中,然后將數(shù)據(jù)長(zhǎng)度等信息填充到DM9000AE相應(yīng)寄存器內(nèi),隨后發(fā)送使能命令,DM9000AE將緩存的數(shù)據(jù)和數(shù)據(jù)幀信息進(jìn)行MAC組幀,并發(fā)送出去。

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

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

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

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

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

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

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

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

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

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

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

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

  本系統(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ū)動(dòng)程序都遵循NDIS(Network Driver Interface Specification,網(wǎng)絡(luò)驅(qū)動(dòng)接口規(guī)范),NDIS提供了兩個(gè)抽象層,用來(lái)把網(wǎng)絡(luò)驅(qū)動(dòng)程序和協(xié)議棧相連。NDIS模型的示意圖圖4所示。

NDIS模型的示意圖

  圖4 NDIS模型的示意圖

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

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

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

DM9000驅(qū)動(dòng)的工作流程

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

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

  [HKEY_LOCAL_MACHINE\Comm\DM9000]

  “DisplayName”=“Crystal DM9000 ISA Ethernet Controller”

  “Group”=“NDIS”

  “ImagePath”=“DM9000.DLL”

  [HKEY_LOCAL_MACHINE\Comm\DM9000\Linkage]

  “Route”=multi_sz:“DM90001”

  [HKEY_LOCAL_MACHINE\Comm\DM90001\Parms]

  “BusNumber”=dword:0

  “BusType”=dword:0

  “InterruptNumber”=dword:3E

  “IoBaseAddress”=dword:D3000000

  “RxMode”=“PIO”

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

  [HKEY_LOCAL_MACHINE\Comm\DM90001\Parms\TcpIp]

  “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_MACHINE\Comm\Tcpip\Linkage]

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

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

  5.結(jié)束語(yǔ)

  本文詳細(xì)介紹了基于三星公司ARM9芯片S3C2440嵌入式系統(tǒng)的網(wǎng)絡(luò)接口設(shè)計(jì)方案,在實(shí)際應(yīng)用中該系統(tǒng)運(yùn)行穩(wěn)定,能夠十分方便地實(shí)現(xiàn)嵌入式系統(tǒng)的網(wǎng)絡(luò)互連。由于采用了高性能的工業(yè)級(jí)以太網(wǎng)控制器DM9000AE,系統(tǒng)通訊快速可靠,具有很高的實(shí)時(shí)性。在以太網(wǎng)日益普及的今天,此方案能夠給那些傳統(tǒng)不具備網(wǎng)絡(luò)通訊能力的嵌入式設(shè)備進(jìn)行智能化改造,也適用于新型智能儀器儀表和工業(yè)自動(dòng)化系統(tǒng)設(shè)備的開(kāi)發(fā),有著廣泛的應(yīng)用前景。

關(guān)鍵詞:基于DM9000AE的S3C2440嵌入式系統(tǒng)的以太網(wǎng)接口設(shè)計(jì)DM9000AES3C2440以太網(wǎng)接口

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類(lèi)作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號(hào)碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線(xiàn)人工客服

買(mǎi)家服務(wù):
賣(mài)家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線(xiàn)時(shí)間周一至周五
9:00-17:30

關(guān)注官方微信號(hào),
第一時(shí)間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫(kù)提出的寶貴意見(jiàn),您的參與是維庫(kù)提升服務(wù)的動(dòng)力!意見(jiàn)一經(jīng)采納,將有感恩紅包奉上哦!