<var id="fnfpo"><source id="fnfpo"></source></var>
<rp id="fnfpo"></rp>

<em id="fnfpo"><object id="fnfpo"><input id="fnfpo"></input></object></em>
<em id="fnfpo"><acronym id="fnfpo"></acronym></em>
  • <th id="fnfpo"><track id="fnfpo"></track></th>
  • <progress id="fnfpo"><track id="fnfpo"></track></progress>
  • <tbody id="fnfpo"><pre id="fnfpo"></pre></tbody>

  • x
    x

    基于DM9000AE的S3C2440嵌入式系統的以太網接口設計

    發布時間:2012-12-4 17:00    發布者:zbzb12345
    關鍵詞: DM9000AE , S3C2440
    本文介紹了一個基于三星ARM9芯片S3C2440嵌入式系統的以太網接口電路設計方案,采用了工業級以太網控制器DM9000AEP成功實現了嵌入式系統網絡數據交換。論文在重點闡述了網絡接口電路基礎之上,對Windows CE系統控制軟件部分DM9000AEP的驅動程序和注冊表項進行了具體分析。

    隨著微電子技術和計算機技術的發展,嵌入式技術得到廣闊的發展,已成為現代工業控制、通信類和消費類產品發展的方向。以太網在實時操作、可靠傳輸、標準統一等方面的卓越性能及其便于安裝、維護簡單、不受通信距離限制等優點,已經被國內外很多監控、控制領域的研究人員廣泛關注,并在實際應用中展露出顯著的優勢。本文提出了一種基于DM9000AE網絡接口芯片和32位三星ARM9處理器S3C2440嵌入式系統的以太網接口的設計方案,并在Windows CE操作系統上開發移植了網絡驅動程序實現網絡的接入。

    2. DM9000AE工作原理
    2.1 DM9000的主要特性和總體結構
       
    DM9000AE是DEVICOM(臺灣聯杰國際)研發的一款10/100M快速以太網控制芯片。DM9000AE實現以太網媒體介質訪問層(MAC)和物理層( PHY)的功能,包括MAC數據幀的組裝/拆分與收發、地址識別、CRC編碼/校驗、MLT-3編碼器、接收噪聲抑制、輸出脈沖成形、超時重傳、鏈路完整性測試、信號極性檢測與糾正等。DM9000AE內部邏輯結構如圖1所示。   
             
        DM9000AE具有以下主要性能:①48管腳的LQFP封裝,管腳少體積;②支持8/16位數據總線;③適用于10Base-T和100Base-T,10/100M自適應,適應不同的網絡速度要求,④內置16KB的SRAM,用于收發緩沖,降低對主處理器的速度要求;⑤支持IP /TCP /UDP加速,減輕了CPU負擔,提高網絡速度;⑥支持Back pressure半雙工流量控制,與IEEE802.3u兼容,支持IEEE802.3x全雙工流量控制;⑦20ns響應時間,2.5V/3.3V低功耗。   


    圖1 DM9000AE內部邏輯結構

    2.2 工作原理
       
    DM9000AE可與微處理器以8 bit或16 bit的總線方式連接,并可根據需要以單工或全雙工等模式運行。在系統上電時,處理器通過總線配置DM9000AE內部網絡控制寄存器 (NCR)、中斷寄存器(ISR)等,完成DM9000AE的初始化。隨后DM9000A進入數據收發等待狀態。
       
    當處理器要向以太網發送數據幀時,先將數據打包成UDP或IP數據包,并通過8 bit或16bit總線逐字節發送到DM9000A的數據發送緩存中,然后將數據長度等信息填充到DM9000AE相應寄存器內,隨后發送使能命令,DM9000AE將緩存的數據和數據幀信息進行MAC組幀,并發送出去。
       
    當DM9000AE接收到外部網絡送來的以太網數據時,首先檢測數據幀的合法性,如果幀頭標志有誤或存在CRC校驗錯誤,則將該幀數據丟棄,否則將數據幀緩存到內部RAM,并通過中斷標志位通知處理器,處理器收到中斷后對DM9000AE接收RAM的數據進行處理。
       
    DM9000AE自動檢測網絡連接情況,根據網速設置內部的數據收發速率為10Mb/s或100 Mb/s。同時,DM9000AE還能根據RJ45接口連接方式改變數據收發引腳的方向,因此無論外部網線是采用對等還是交叉方式,系統均能正常通信。
            
    3.網絡接口硬件電路設計
       
    在嵌入式系統中增加以太網接口,通常由如下兩種方法實現。第一種方法采用帶有以太網接口的嵌入式處理器。這種方法要求嵌入式處理器有通用的網絡接口,通常這種處理器是面向網絡應用而設計的,通過內部總線的方法實現處理器和網絡數據的交換。另一種方法采用嵌入式處理器+網卡芯片結構。這種方法對嵌入式處理器沒有特殊要求,只要把以太網芯片連接到嵌入式處理器的總線上即可。此方法通用性強,不受處理器的限制,但是,處理器和網絡數據交換通過外部總線交換數據[3]。
       
    本設計采用的是S3C2440這款通用的嵌入式微處理器上擴展以太網接口的方式,即第二種方式。S3C2440A處理器與DM9000AE連接的結構如圖2所示,DM9000AE通過總線與處理器相連,中斷與處理器外部中斷相接。


    圖2 S3C2440A處理器與DM9000AE連接的結構

    S3C2440A微處理器是一款由Samsung半導體公司為手持設備和各種多用途應用設計,基于ARM920T內核的16/32位RISC的低功耗、高集成度的微處理器,,采用五級流水線和哈佛結構,289腳FBGA封裝,。S3C2440在包含ARM920T核的同時,增加了豐富的外圍資源,主要包括1個LCD控制器;3個通道的UART;4個通道的DMA;4個具有PWM功能的16位定時/計數器和1個16位內部定時器,支持外部時鐘源;8通道的10位ADC;觸摸屏、IIC總線、IIS總線、SD卡和MMC卡、攝像頭接口;130位通用I/O口和24位外部中斷源。
       
    DM9000AE以太網接口電路如圖的連接如圖3所示。處理器利用片選DM_CS和地址線BADDR分別連接DM9000AE芯片的CS引腳和CMD引腳,S3C2440的數據線BDATA[15:0]與DM9000AE的數據線SD[15:0]連接,用來實現DM9000與S3C2440之間的數據傳輸;S3C2440的DM_IOR引腳連接DM9000AE的讀引腳IOR#,DM_IOW引腳連接DM9000AE的寫引腳IOW#;同時,DM9000AE占用S3C2440的中斷引腳EINT7,使得S3C2440能夠響應DM9000AE的中斷。DM9000AE與網絡的連接由接收信號線RX+、RX-和發送信號線TX+、TX-通過隔離變壓器E-2023與以太網水晶接頭RJ_45相連。隔離變壓器的主要作用是將嵌入式系統與外部線路相隔離,防止干擾和燒壞元器件,實現帶電的插拔功能。


    圖3 以太網接口電路

    4.網絡接口模塊的軟件設計
       
    本系統采用Windows CE操作系統,具有強大的網絡支持功能,Windows CE支持包括TCP / IP在內的Internet的所有網絡協議。Windows CE的網絡驅動程序都遵循NDIS(Network Driver Interface Specification,網絡驅動接口規范),NDIS提供了兩個抽象層,用來把網絡驅動程序和協議棧相連。NDIS模型的示意圖圖4所示。


    圖4 NDIS模型的示意圖

    DM9000AE在windows CE下的驅動程序就是基于這個模型而編寫,被編譯成動態鏈接庫,以用戶態下的DLL文件形式存在。入口函數為DriverEntry()。DM9000驅動的工作流程如圖5所示。
       
    NdisMInitializeWrapper()函數的作用是通知NDIS 一個小端口網卡正在被初始化,此函數在ndis.dll中提供。然后對NDIS40_MINIPORT_CHARACTERISTICS結構體變量初始化,主要是設置一些回調函數(MiniportInitialize(),MiniportReset(),MiniportInterruptHandler(),MiniportISRHandler(),MiniportQueryInformation(),MiniportSetInformation(),MiniportSend()。接著就是通過NdisMRegisterMiniport()函數利用NDIS40_MINIPORT_CHARACTERISTICS這個結構體向NDIS系統進行注冊。再接下來就是MiniportInitialize(),在其中有NIC_DRIVER_OBJECT類的初始化,以及該類的EDriverInitialize()函數調用,在此函數中全面展開了dm9000的所有初始化操作。
       
    對DM9000的所有初始化操作的實現在dm9000.cpp文件中,主要也是通過DeviceEntry()這個函數來實現。在DeviceEntry()這個函數中只做了一件事:new了一個C_DM9000類的實例并return。緊接著就是C_DM9000的實例通過DeviceSetDefaultSettings();DeviceSetEepromFormat();DeviceRetriveConfigurations(hconfig);EDeviceValidateConfigurations()等等對DM9000AE進行的一系列初始化操作。然后NIC_DRIVER_OBJECT指向DriverStart(),在DriverStart()中C_DM9000只進行了一個非常簡單但最重要的操作就是它在此DeviceEnableInterrupt()啟動了中斷,接下來就是無休止的等待、接收、發送,DM9000就此開始工作了。


    圖5 DM9000驅動的工作流程

    在完成了驅動程序之后,我們還需要在Platform.reg文件中對DM9000的注冊表項進行相應的設置:

    [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"
       
    將設計的模塊與本地局域網連通,并分配MAC地址和IP地址,利用PC的ping程序,得到回應,說明ARP、IP、ICMP協議正常。利用自己編寫的基于windows的應用程序,向模塊發送連接請求,模塊返回正確的應答信息,TCP協議正常。

    5.結束語
       
    本文詳細介紹了基于三星公司ARM9芯片S3C2440嵌入式系統的網絡接口設計方案,在實際應用中該系統運行穩定,能夠十分方便地實現嵌入式系統的網絡互連。由于采用了高性能的工業級以太網控制器DM9000AE,系統通訊快速可靠,具有很高的實時性。在以太網日益普及的今天,此方案能夠給那些傳統不具備網絡通訊能力的嵌入式設備進行智能化改造,也適用于新型智能儀器儀表和工業自動化系統設備的開發,有著廣泛的應用前景。

    本文由www.originic.hk整理。


    本文地址:http://www.portaltwn.com/thread-102481-1-1.html     【打印本頁】

    本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
    qftek 發表于 2012-12-10 17:58:33
    S3C6410、S3C2410、S3C2440、S3C2450、S5PV210、FPGA、STM32
    擴展網絡接口方案。提供uTCP/IP lwTCP/IP協議棧。
    深圳市僑峰科技有限公司 (DAVICOM中國總代理)
    嵌入式以太網絡接口芯片供應商,軟件及硬件設計服務與咨詢
    聯絡方式:Jonny.chu@qftek.com  電話:13554902206
    DM9000A  DM9000C  DM9161A  DM9161C DM8203 DM9620 DM9162N
    tony02778 發表于 2013-9-18 12:53:25
    thank u
    您需要登錄后才可以發表評論 登錄 | 立即注冊

    廠商推薦

    • Microchip視頻專區
    • 利用模擬開發工具生態系統進行安全電路設計
    • 更佳設計的解決方案——Microchip模擬開發生態系統
    • Cortex-M4外設 —— TC&TCC結合事件系統&DMA優化任務培訓教程
    • 想要避免發生災難,就用MPLAB SiC電源仿真器!
    • 貿澤電子(Mouser)專區
    關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
    電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
    快速回復 返回頂部 返回列表
    精品一区二区三区自拍图片区_国产成人亚洲精品_亚洲Va欧美va国产综合888_久久亚洲国产精品五月天婷