基于ARM9的以太网接口设计1课题研究背景嵌入式系统是以应用为中心和以计算机为基础的,并且软硬件是可裁剪的,能满足应用系统对功能、可靠性、成本、体积、功耗等指标的严格要求的专用计算机系统。随着微电子技术和计算机技术的发展,嵌入式技术得到广阔的发展,已成为现代工业控制、通信类和消费类产品发展的方向。以太网最典型的应用时以太网和TCP/IP,即灵活的以太网底层加上已经成为通用标准的网路传输协议TCP/IP,使得以太网能够非常容易地集成到以Internet和Web技术为代表的信息中。以太网在实时操作、可靠传输、标准统一等方面的卓越性能及其便于安装、维护简单、不受通信距离限制等优点,已经被国内外很多监控、控制领域的研究人员广泛关注,并在实际应用中展露出显著的优势。随着嵌入式系统和网路技术的兴起已经飞速发展,使系统的通信有了更好的传输方式——系统通过连接以太网,借助以太网网路通信,成为一个切实可行的办法。2网络基础知识计算机网络概述计算机网路是由多种计算机和终端设备通过通信线路连接起来的复合系统。并建立了OSI参考模型。如图1所示:图1OSI参考模型OSI模型中的前2层作为软硬件来实现的,后5层则作为软件来实现的。参考模型中低层主要用于处理数据的传输,高层则负责连接的建立和数据的表示。以太网技术概述以太网是指数字设备公司、英特尔公司和Xerox公司联合在1982年公布的一个标准,具有传输速率高、网路软件丰富、系统功能强、安装连接简单等很多优点。以太网遵守IEEE802.3网络标准。以太网系统有硬件和软件两部分组成,二者共同实现以太网系统各计算机之间传输信息和共享信息。以太网系统具有介质访问控制协议、接口部件、物理介质、帧传输四个基本要素。3、嵌入式系统基础知识嵌入式系统技术的发展、特点及发展趋势20世纪70年代,以微处理器为核心的微型计算机以其小型、价廉。高可靠性特点,迅速进入市场,基于高速数值计算能力的微型机,表现出的智能化水平引起了各个领域的专业人士的兴趣。为了区别原有的通用计算机系统,把嵌入到对象体系中,实现对象体系智能化控制的计算机,称为嵌入式计算机系统。嵌入性、专用性与计算机系统是嵌入式的三个基本要素。本文介绍了一个基于三星ARM9芯片S3C2440嵌入式系统的以太网接口电路设计方案,采用了工业级以太网控制器DM9000AE成功实现了嵌入式系统网络数据交换。4、DM9000AE工作原理DM9000的主要特性和总体结构DM9000AE是DEVICOM(台湾联杰国际)研发的一款10/100M快速以太网控制芯片。DM9000AE实现以太网媒体介质访问层(MAC)和物理层(PHY)的功能,包括MAC数据帧的组装/拆分与收发、地址识别、CRC编码/校验、MLT-3编码器、接收噪声抑制、输出脉冲成形、超时重传、链路完整性测试、信号极性检测与纠正等。DM9000AE内部逻辑结构如图2所示100Base-TXPCS100Base-TX收收收AUTO-MDIX100Base-Tx/RxMI收收收收收收收收收收收收收EEPROM收收收收收收收收收收收收收收收收MII收收收收收SDRAMLED图2DM9000AE内部逻辑结构DM9000AE具有以下主要性能:①48管脚的LQFP封装,管脚少体积小;②支持8/16位数据总线;③适用于10Base-T和100Base-T,10/100M自适应,适应不同的网络速度要求;④内置16KB的SRAM,用于收发缓冲,降低对主处理器的速度要求;⑤支持IP/TCP/UDP加速,减轻了CPU负担,提高网络速度;⑥支持Backpressure半双工流量控制,与IEEE802.3u兼容,支持IEEE802.3x全双工流量控制;⑦20ns响应时间,2.5V/3.3V低功耗。工作原理DM9000AE可与微处理器以8bit或16bit的总线方式连接,并可根据需要以单工或全双工等模式运行。在系统上电时,处理器通过总线配置DM9000AE内部网络控制寄存器(NCR)、中断寄存器(ISR)等,完成DM9000AE的初始化。随后DM9000A进入数据收发等待状态。当处理器要向以太网发送数据帧时,先将数据打包成UDP或IP数据包,并通过8bit或16bit总线逐字节发送到DM9000A的数据发送缓存中,然后将数据长度等信息填充到DM9000AE相应寄存器内,随后发送使能命令,DM9000AE将缓存的数据和数据帧信息进行MAC组帧,并发送出去。当DM9000AE接收到外部网络送来的以太网数据时,首先检测数据帧的合法性,如果帧头标志有误或存在CRC校验错误,则将该帧数据丢弃,否则将数据帧缓存到内部RAM,并通过中断标志位通知处理器,处理器收到中断后对DM9000AE接收RAM的数据进行处理。DM9000AE自动检测网络连接情况,根据网速设置内部的数据收发速率为10Mb/s或100Mb/s。同时,DM9000AE还能根据RJ45接口连接方式改变数据收发引脚的方向,因此无论外部网线是采用对等还是交叉方式,系统均能正常通信。5.网络接口硬件电路设计在嵌入式系统中增加以太网接口,通常由如下两种方法实现。第一种方法采用带有以太网接口的嵌入式处理器。这种方法要求嵌入式处理器有通用的网络接口,通常这种处理器是面向网络应用而设计的,通过内部总线的方法实现处理器和网络数据的交换。另一种方法采用嵌入式处理器+网卡芯片结构。这种方法对嵌入式处理器没有特殊要求,只要把以太网芯片连接到嵌入式处理器的总线上即可。此方法通用性强,不受处理器的限制,但是,处理器和网络数据交换通过外部总线交换数据。本设计采用的是S3C2440这款通用的嵌入式微处理器上扩展以太网接口的方式,即第二种方式。S3C2440A处理器与DM9000AE连接的结构如图3所示,DM9000AE通过总线与处理器相连,中断与处理器外部中断相接。收收收收收收收S3C2440A收收收收收收(DM9000AE)RJ-45收收收收收收收收收图3S3C2440A处理器与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相连。隔离变压器的主要作用是将嵌入式系统与外部线路相隔离,防止干扰和烧坏元器件,实现带电的插拔功能。BDATA[15:0]BDATA[25:0]DM_IORDM_IOWDM_CSENIT7DM_RSTS3C2440ASD[15:0]CMDIORIOWCSINTPWRSTTX-TX+RX-RX+DM9000AET-T+R-R+E-2023RJ8_45图4以太网接口电路6.网络接口模块的软件设计本系统采用WindowsCE操作系统,具有强大的网络支持功能,WindowsCE支持包括TCP/IP在内的Internet的所有网络协议。WindowsCE的网络驱动程序都遵循NDIS(NetworkDriverInterfaceSpecification,网络驱动接口规范),NDIS提供了两个抽象层,用来把网络驱动程序和协议栈相连。NDIS模型的示意图图5所示。NDIS上位层TCP/IPIrDA中间驱动程序以太网小端口IrDA小端口下层驱动程序下层驱动程序红外端口PC以太网适配器DNIS底层图5NDIS模型的示意图将设计的模块与本地局域网连通,并分配MAC地址和IP地址,利用PC的ping程序,得到回应,说明ARP、IP、ICMP协议正常。利用自己编写的基于windows的应用程序,向模块发送连接请求,模块返回正确的应答信息,TCP协议正常。7.结束语本文介绍了基于三星公司ARM9芯片S3C2440嵌入式系统的网络接口设计方案,在实际应用中该系统运行稳定,能够十分方便地实现嵌入式系统的网络互连。由于采用了高性能的工业级以太网控制器DM9000AE,系统通讯快速可靠,具有很高的实时性。在以太网日益普及的今天,此方案能够给那些传统不具备网络通讯能力的嵌入式设备进行智能化改造,也适用于新型智能仪器仪表和工业自动化系统设备的开发,有着广泛的应用前景。