历史上的今天
返回首页

历史上的今天

今天是:2025年02月12日(星期三)

正在发生

2018年02月12日 | 基于S3C2440嵌入式系统的以太网接口电路设计方案

2018-02-12 来源:eefocus

    文章主要介绍了一个基于三星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.jpg?imageView2/2/w/550
图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.jpg?imageView2/2/w/550
图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.jpg?imageView2/2/w/550
图3 以太网接口电路

    4.网络接口模块的软件设计

    本系统采用Windows CE操作系统,具有强大的网络支持功能,Windows CE支持包括TCP / IP在内的Internet的所有网络协议。Windows CE的网络驱动程序都遵循NDIS(Network Driver Interface Specification,网络驱动接口规范),NDIS提供了两个抽象层,用来把网络驱动程序和协议栈相连。NDIS模型的示意图图4所示。

4.jpg?imageView2/2/w/550

图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.jpg?imageView2/2/w/550

图5 DM9000驱动的工作流程

      在完成了驱动程序之后,我们还需要在Platform.reg文件中对DM9000的注册表项进行相应的设置:

    [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"

    将设计的模块与本地局域网连通,并分配MAC地址和IP地址,利用PC的PINg程序,得到回应,说明ARP、IP、ICMP协议正常。利用自己编写的基于windows的应用程序,向模块发送连接请求,模块返回正确的应答信息,TCP协议正常。

    5.结束语

    本文详细介绍了基于三星公司ARM9芯片S3C2440嵌入式系统的网络接口设计方案,在实际应用中该系统运行稳定,能够十分方便地实现嵌入式系统的网络互连。由于采用了高性能的工业级以太网控制器DM9000AE,系统通讯快速可靠,具有很高的实时性。在以太网日益普及的今天,此方案能够给那些传统不具备网络通讯能力的嵌入式设备进行智能化改造,也适用于新型智能仪器仪表和工业自动化系统设备的开发,有着广泛的应用前景。


推荐阅读

史海拾趣

Advantech公司的发展小趣事

Advantech公司是一家全球领先的工业计算机、自动化和嵌入式解决方案提供商,其发展历程充满了创新、合作和技术进步。以下是关于Advantech公司发展的五个相关故事:

  1. 创立与早期发展: Advantech公司成立于1983年,最初名为台湾多媒体公司,其初衷是提供音频和视频卡。随着技术的发展和市场需求的变化,公司逐渐转型为提供工业计算机和自动化解决方案的领先供应商。

  2. 全球化战略: 随着全球市场的不断扩大,Advantech制定了全球化战略,积极拓展海外业务。1994年,公司在美国成立了第一家子公司,标志着其国际化发展的开始。此后,Advantech陆续在欧洲、亚洲和其他地区建立了办事处和分支机构,构建起了覆盖全球的销售和服务网络。

  3. 技术创新与合作伙伴关系: 作为工业自动化领域的领导者之一,Advantech不断进行技术创新,并与全球各类合作伙伴密切合作。公司积极投入研发资金,不断推出新产品和解决方案,以满足客户不断变化的需求。同时,Advantech与众多软件和硬件供应商建立了紧密的合作关系,共同推动行业的发展。

  4. 智能化转型: 随着工业4.0和物联网的迅速发展,Advantech积极响应智能化转型的趋势,推出了一系列智能化解决方案,涵盖工业自动化、智慧城市、智能交通等多个领域。公司致力于为客户提供智能化、数字化的整体解决方案,助力其实现生产效率提升和智能化升级。

  5. 生态系统建设: 为了进一步提升解决方案的综合性和竞争力,Advantech积极构建生态系统,与行业合作伙伴共同打造全方位的服务体系。公司通过开放式的合作模式,与合作伙伴共享资源和技术,实现优势互补,共同拓展市场,推动行业的发展和进步。

以上述五个方面为基础,Advantech在电子行业中不断发展壮大,成为了全球工业自动化和智能化领域的领导者之一。

ELM Technology Corporation公司的发展小趣事

ELM Technology Corporation自创立之初,就致力于电子技术的研发与创新。公司聚集了一批顶尖的科研人才,不断探索新的电子技术和解决方案。在某一关键时期,ELM推出了一款具有革命性的电子产品,该产品在市场上引起了巨大反响,不仅极大地提升了用户体验,还推动了整个电子行业的发展。通过不断的技术创新,ELM逐渐在电子行业中树立了领先地位。

Delkin Devices公司的发展小趣事

Delkin Devices始终将客户放在第一位,致力于为客户提供优质的服务和体验。公司建立了完善的客户服务体系,包括售前咨询、售后服务、技术支持等多个方面。通过专业的服务团队和高效的服务流程,Delkin Devices能够及时解决客户的问题和需求,赢得了客户的信任和好评。同时,Delkin Devices还注重品牌塑造和宣传推广,通过参加行业展会、举办技术研讨会等方式,不断提升品牌知名度和影响力。这些努力使得Delkin Devices在电子行业中树立了良好的口碑和形象。

以上是关于Delkin Devices在电子行业发展的五个故事线索的概述。你可以根据这些线索进一步扩展和深入研究,以了解更多关于Delkin Devices的发展历程和成功经验。

Dover Corporation公司的发展小趣事

Dover Corporation的电梯业务始于1955年,当时Dover Elevator从Rotary Lift中分离出来,成为一家独立运营的公司。此后,公司通过一系列的收购,如谢泼德华纳电梯公司、Acme Elevator等,迅速扩大了其电梯业务。这些收购不仅使Dover成为美国第三大电梯公司,也为其在电梯行业中的持续领先地位奠定了基础。

Holmes Co Inc公司的发展小趣事

为了进一步提升竞争力,Holmes Electronics采取了一系列并购重组措施。他们首先收购了一家在物联网技术方面具有深厚积累的小型科技公司,通过整合双方资源,迅速在智能家居和智慧城市领域取得突破。随后,公司又成功并购了一家专业的半导体封装测试企业,进一步完善了产业链布局。这些并购重组不仅增强了Holmes Electronics的技术实力和市场地位,还为公司带来了新的增长动力。

Aptos Technology公司的发展小趣事

为了加速发展,Aptos积极寻求与行业内外的合作伙伴建立合作关系。通过与微软、阿里云等知名公司的合作,Aptos获得了更多的技术支持和市场资源。这些合作伙伴关系的建立,不仅提升了Aptos的技术实力和市场竞争力,还为其未来的发展奠定了坚实的基础。

问答坊 | AI 解惑

《新型电源电路应用实例》作者:薛永毅

再来交流点资料。尊重版权,勿作商用。 …

查看全部问答>

【招聘】奥笙北京公司软件部招聘信息(重新发帖)

奥笙公司软件部门招聘信息(北京职位) 公司简介    奥笙时代科技(北京)有限公司(www.orpheusys.com) 是成立于2007年的高科技企业,位于中关村腹地才智大厦,毗邻北大、清华和中科院,本公司与中科院声学研究所建立了战略合作关系, ...…

查看全部问答>

cximage600_ce绘制图片闪烁

cximage600_ce在连续绘制多幅图片的时候会不停的闪烁,如果要用双缓冲修改的话,应该改哪个地方呢?…

查看全部问答>

STC12C5A32S2这个片子,串口下载的时候,无法下载。出现以下提示

这个片子我按照厂家提供的下载电路搭建的,第一次下载成功了,再下载就无法下载了,上次下的程序还再执行,只要上上电就执行程序,就是不下载,我也按照顺序,先点下载然后再上电,还是不行,哪位给解决一下,谢谢。 Chinese:正在尝试与 MCU/单片 ...…

查看全部问答>

请教如何在arm9上使用mysql数据库

要做个项目,以arm9为基础,控制器是别人开发的,提供接口给我们,我们负责应用程序的开发,自己做的程序需要查询mysql数据库,所以想把mysql集成到板子里去,想请教下这么做是否可行,可行的话要如何做,能推荐几本参考书?谢谢…

查看全部问答>

LED点阵显示仿真

LED点阵显示仿真----由浅入深之8X8,16X16,24X24LED点阵流动显示 一直以来,对LED点阵显示很感兴趣,特别是流动点阵显示。论坛里有不少例子,可是在我的电脑上大多无法正常运行。有的一运行就S机,能运行的,也是字符不清。于是,自己动手 ...…

查看全部问答>

fifo缓存

请问有谁做过,用FIFO来构成数据缓存窗口的啊,比如3*3的数据缓存窗口?请教,谢谢…

查看全部问答>

MSP430g2 launch pad 下载问题

看了David_Lee https://bbs.eeworld.com.cn/thread-303736-1-1.html 那Grace很不错,跟着他做了个实验,以前用的是CCS3.3,产生一个out 文件,要在file 里load program的,可现在的CCS4没有这个选择,只需要lauch TI debugger,可我的出现下面的 ...…

查看全部问答>

职场:出色拍档的六大要素

  步入社会,你每天要和形形色色的人打交道,在社会的每个角落,你都不可能是孤立的,你必须要通过与其他人合作完成自己的工作任务。如果你在公司里工作,那么,你是否具有团队精神,直接关系到你的业绩。一些大公司招聘人才时,十分注重人才的团 ...…

查看全部问答>

ARM学习,从语言到系统的葵花宝典!

由于资料比较大,附件传不上,只能用百度云分享给大家了。 百度云: http://pan.baidu.com/s/1sjsb76d 密码: a6uk 百度链接经常出问题,如以上链接不能访问请访问我的个人分析空间查找。 地址:http://pan.baidu.com/share/home? ... are#catego ...…

查看全部问答>