基于S3C2440嵌入式系统的以太网接口电路设计方案

发布者:温馨小屋最新更新时间:2018-02-12 来源: eefocus关键字: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.jpg
图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
图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
图3 以太网接口电路

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

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

4.jpg

图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

图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,系统通讯快速可靠,具有很高的实时性。在以太网日益普及的今天,此方案能够给那些传统不具备网络通讯能力的嵌入式设备进行智能化改造,也适用于新型智能仪器仪表和工业自动化系统设备的开发,有着广泛的应用前景。


关键字:S3C2440  嵌入式系统  以太网接口 引用地址:基于S3C2440嵌入式系统的以太网接口电路设计方案

上一篇:基于STM32和CC2520的TinyOS移植方法
下一篇:网络存储NAS系统的设计

推荐阅读最新更新时间:2024-03-16 15:54

S3C2440 Nor Flash驱动(二十四)
1、Nor Flash硬件介绍: 从原理图中我们能看待NOR FLASH有地址线,有数据线,它和我们的SDRAM接口类似,能直接读取数据,但不能想SDRAM直接写入数据,需要有命令才行。 1.1 其中我们2440的地址线共有27根(LADDR0~26),为什么是27根? 因为2440共有7个bank内存块,每个bank=128M=(2^27)B,所以共有27根数据线 1.2 为什么Nor Flash的地址线A0是接在2440的LADDR1上? 因为Nor Flash的数据共有16位,也就是每个地址保存了2B数据,而我们的2440的每个地址是保存1B数据 比如: 当2440访问0x00地址时,就会读取到N
[单片机]
<font color='red'>S3C2440</font> Nor Flash驱动(二十四)
ESCRYPT和GlobalSign加入英飞凌安全合作伙伴网络
2016年9月7日,德国慕尼黑讯 英飞凌安全合作伙伴网络(ISPN)迎来新伙伴 ESCRYPT Embedded Security和GlobalSign。两家公司都提供面向工业4.0应用、基于英飞凌OPTIGA 可信平台模块(TPM)的专用安全解决方案。ISPN是一个由领先安全解决方案提供商组成的网络,它们为物联网设备制造商和服务提供商提供基于硬件的安全解决方案。 工业4.0亦称工业互联网,它将嵌入式系统技术与智能生产工艺相结合,以提升总体生产效率。其核心是将工业价值链和生产价值链相连接的智能工厂。智能工厂必须给予其充分保护,因为安全漏洞可能导致间谍活动和知识产权失窃,甚或造成大规模停工。 作为ISPN的成员,ES
[物联网]
ESCRYPT和GlobalSign加入英飞凌安全合作伙伴网络
S3C2440学习笔记五(2440slib.s源程序的分析)
以下程序是什么意思: 为啥这个文件是一堆的汇编代码,因为这里面涉及到了底层驱动,这里既是CPU的核心控制。涉及到了直接操作的寄存器和高速缓存,实际上和51的CPU是一回事,就是51可以干一件事,他就要干几十件事,没有强悍的架构和强大的寄存器和缓存团队,他就没法强悍!就跑400M吧,他为了效率加了cp15这个比较高速的协处理器,这个cp15的本质是数据处理中心。只有早期的PC机和现行的ARM还有这个东西,现在的PC机跑得非常快了,不需要CP15这类东西帮忙了。 补充一点是,CP15可以理解为MMU,它主要的工作是地址映射,也就是给CPU提供地址。SDRAM一般为32M或64M,但是对于32位的CPU,可以管理4G的空间。那么就把这个4
[单片机]
“FPGA在嵌入式系统中的应用”主题讨论会圆满结束
随着微电子技术和软件技术的发展,嵌入式处理器、专用数字器件、外设和DSP算法正在以IP核的方式嵌入到FGPA中,以单芯片可编程FPGA完成整个嵌入式系统设计已成为现实。国际和国内的众多FPGA公司都具有这样的芯片产品,并在通信、工业控制等领域具有广泛的应用。 基于这种现状,2012年11月17日,嵌入式系统联谊会在北京航空航天大学举办了一场名为“FPGA在嵌入式系统中的应用”的主题讨论会。来自产业界和教育界的工程师和学者们分享了各自在实际工程应用和教学实践中的宝贵经验,并就最新SOPC(PSoC)的FPGA芯片技术、开发工具、解决方案,以及现存问题和未来发展等内容,进行了深入探讨。 京微雅格业务发展部总监王海力博士在主题发言《
[嵌入式]
“FPGA在<font color='red'>嵌入式系统</font>中的应用”主题讨论会圆满结束
解读三种嵌入式系统控制电路设计
嵌入式系统是一种 完全嵌入受控器件内部,为特定应用而设计的专用计算机系统 ,为控制、监视或辅助设备、机器或用于工厂运作的设备,核心是由一个或几个预先编程好以用来执行少数几项任务的微处理器或者单片机组成。本文将介绍三种基于嵌入式技术应用电路设计,分别是 电机驱动控制器 、SOHO路由器电路与嵌入式语音识别电路。 电机驱动控制器 采用DSP芯片和外围电路构成速度捕获电路,电机驱动控制器采用微控制芯片和外围电路构成了电流采样、过流保护、压力调节等电路,利用CPLD实现无刷直流电机的转子位置信号的逻辑换相。赛车刹车控制器是由防滑控制器和电机驱动控制器组成。两个控制器都是以DSP芯片为核心。防滑控制器主要是以滑移率为控制对象,输出给定的刹车
[单片机]
解读三种<font color='red'>嵌入式系统</font>控制电路设计
基于ARM核的IntelTMStrongARM嵌入式系统
介绍InteltTMStrongarm的起源以及SA-1110和SA-1111之间的关系,重点介绍了SA-1110处理器和SA-1111套片的结构、功能和接口特性,给出了这两种芯片的连接关系示意图。 1 简介 StrongARM是一种性能很高,同时也可满足常规应用需要的微处理器技术。SA110处理器、SA1100、SA1110 PDA系统芯片和SA1500多媒体处理器芯片均采用了这一技术。其中IntelTMStrongARMSA-1110微处理器是一款集成了32位StrongarmRISC处理器核和系统支持逻辑以及多通信通道、LCD控制器、存储器、PCMCIA控制器、通用I/O口的高集成度通信控制器。该处理器最高可在2
[单片机]
基于ARM核的IntelTMStrongARM<font color='red'>嵌入式系统</font>
CS4235在DSP嵌入式系统的应用研究
引 言      目前,由于采用的录放音芯片结构简单、采样率过低而使得嵌入式系统中的音质效果比较差,远远满足不了人们对高档生活、学习用嵌入式系统的要求。如果能将声卡技术应用到 嵌入式系统 中,由于声卡的强大功能,必将使整个系统的声音质量上升一个新的台阶。通过分析,WSS(Windows Sound System)兼容声卡和PC机ISA总线的接口原理,我们将其中的声效芯片CS4235应用到基于DSP的嵌入式系统中。不用现成的声卡而利用其上的声效芯片是因为这样做设计起来更灵活方便,可根据系统需要增删相应的功能;不用MCS51系列而采用DSP,是因为对声卡操作需要太多的系统资源,MCS51并不具备此能力,否则硬件接口电路将相当复杂。
[模拟电子]
CS4235在DSP<font color='red'>嵌入式系统</font>的应用研究
嵌入式系统设计方法的演化—从单片机到单片系统
摘要:在介绍嵌入式系统设计方法变化背景的基础上,综述嵌入式系统设计方法的不同层次,从单片 机应用到单片系统设计的演化,并提出了发展战略。 关键词:嵌入式系统 设计 单片系统(SOC) 硬件描述语言(HDL) IP内核 一、嵌入式系统设计方法变化的背景 嵌入式系统设计方法的演化总的来说是因为应用需求的牵引和IT技术的推动。 1.随着微电子技术的不断创新和发展,大规模集成电路的集成度和工艺水平不断提高。硅材料与人类智慧的结合,生产出大批量的低成本、高可靠性和高精度的微电子结构模块,推动了一个全新的技术领域和产业的发展。在此基础上发展起来的器件可编程思想和微处理(器)技术可以用软件来改变和实现硬件的功能。微处理器和各种可编程大规
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved