嵌入式系统的以太网接口设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
嵌入式系统的以太网接口设计
作者:于申申
来源:《硅谷》2011年第17期
摘要:随着网络和嵌入式系统的发展,嵌入式系统与网络的结合已经成为最新的研究方向。使用处理器S3C44B0X和以太网接口芯片RTL8019AS,设计一种通用的嵌入式系统以太网接口设计与实现方案。这种设计结构简单,实现方便,具有很好的实用价值。
关键词: S3C44BOX; RTL8019AS; uCLinux操作系统
中图分类号:TP368 文献标识码:A 文章编号:1671-7597(2011)0910067-01
目前,随着计算机技术、通信技术的飞速发展,以太网以它的普遍性及低廉的接口价格,已经作为一种最通用的网络,广泛应用于生产和生活中。使得我们在计算机进行网络互连的同时,许多领域的嵌入式设备如工业控制、数据采集、数控机床和智能仪表等也有接入网络的需求。伴随着信息家电出现,嵌入式设备的网络化必将拥有更广阔的发展前途。在这个过程里,首先要解决的是嵌入式设备如何实现网络互连。
本文基于常用的嵌人式处理器S3C44B0X和以太网驱动器RTL8019AS以及µClinux系统设计了一款嵌人式以太网接口。该方案和其它设计比较具有高性能、低功耗、软硬件易扩展特点,是当前及今后工业以太网控制器的理想选择方案。本设计的特点是,既可仅用于嵌人式以太网驱动设备,方便简单,又可进行扩展其他模块,必要时可以移植操作系统,应用于其他复杂领域。
1 芯片简介
1.1 S3C44B0X芯片概述
系统的CPU采用S3C44B0X,它是Samsung公司推出的16/32位RISC处理器,采用了ARM7TDMI内核,0.25um工艺的CMOS标准宏单元和存储编译器。S3C44B0X还采用了一种新的总线结构,即SAMBA-II(三星ARM嵌入式微处理器总线结构)。S3C44B0X[1]通过提供全面的、通用的片上外设,大大减少了系统电路中外围元器件配置,从而最小化系统的成本,它为一般应用提供了高性价比和高性能的微处理器解决方案。
由于S3C44B0X微处理器集成了丰富的外设,非常适合控制管理。而µClinux系统又可对多种硬件资源进行控制,加之S3C44B0X对µClinux操作系统的完美支持,故采用了三星公司S3C44B0X芯片作为微处理器。
1.2 RTL8019AS芯片概述
RTL8019AS是台湾REALTEK公司的产品。RTL8019AS是性价比很高的、带有即插即用功能的全双工以太网控制器。由于其优良的性能、低廉的价格,使其在上网卡中有很高的市场占有率。
1)RTL8019AS芯片的主要性能
RTL8019AS的8条IRQ总线和16条基本地址总线为大资源情况下提供了宽松的环境。RTL8019AS支持16K、32K和64K字节BROM和闪存接口。它仍然提供页面模式功能,这种功能可支持16K字节内存系统空间下的4M字节的BROM。此外,BROM的无用命令被用来释放BROM内存空间。RTL8019AS用16K字节SRAM设计在单片芯片上,它的设计不仅提供了更多友好的功能,而且节省了SRAM存储资源。
2)RTL8019AS芯片内部结构
RTL8019AS内部可分为远程DMA接口、本地DMA接口、MAC(介质访问控制)逻辑、数据编码、解码逻辑等端口。远程DMA接口是指ARM对RTL8019AS内部RAM进行读写的总线,完成RTL8019AS内部SRAM与微控制器一侧的数据交换。ARM收发数据只需对远程DMA操作。本地DMA接口是指RTL8019AS內部SRAM与网线的连接通道,完成控制器与网络传输线一侧的数据交换。MAC逻辑完成以下功能:当微控制器向网上发送数据时,先将一帧数据通过远程DMA通道送到RTL8019AS中的发送缓存区,然后发出传送命令。当RTL8019AS完成了上一帧的发送后,再开始此帧的发送。RTL8019AS
接收到的数据通过MAC比较、CRC校验后,由FIFO存到接收缓冲区。收满一帧后,以中断或寄存器标志的方式通知微控制器。FIFO逻辑对收发数据作16字节的缓冲,以减少对本地DMA请求的频率。
3)RTL8019AS的硬件电路设计
RTL8019AS有三种工作方式:
跳线方式:I/O和中断由跳线决定。
即插即用方式(PNP):由软件进行自动配置,使用这种方法时,系统的启动程序必须包含支持PNP的函数。
免跳线方式:I/O和中断由外接的EEPROM(93C46)中的内容决定。
2 S3C44B0X与RTL8019AS的接口电路
RTL8019AS的工作电压为5V,为提高收发速度,采用16位数据总线方式。RTL8019AS
的SD[15:0]与S3C44B0X的DATA[15:0]相连。由于采用16位数据总线方式,RTL8019AS[9:0]与S3C44B0X[10:1]相连。由于在本设计中RTL8019AS的AEN与S3C44B0X的nGCS5相连,所以对应S3C44B0X的存储器的起始地址0x0a000000。S3C44B0X的nOE、nWE分别与
RTL8019AS的IORB、IOWB相连,控制数据的读和写操作,低电平有效。RTL8019AS使用
中断INT0,对应S3C44B0X的外部中断EXINT1。RSTDRV经74LS04接到复位电路,模块复位时RTL8019AS也同时复位。OSC0、OSC1分别为20MHz晶振的输入输出端。LED0、LED1分别连接一个发光二极管,指示网络连接、数据传输和发送的情况。FC-518LS为网卡滤波
器、变压器,内部包含一对低通滤波器和一对隔离变压器,其输出TX+/TX-、RX+/RX-与
RJ45相连。
3 总结
本设计经过软硬件的调试,并已成功地进行以太网数据传输。具体实现了在
S3C44BOX+uCLinux操作系统平台下的嵌入式以太网控制器的软硬件设计;详细分析了嵌入
式以太网控制器模块设备在嵌入式uCLinux操作系统下驱动程序结构和开发过程,编写出驱动模块,实现了嵌入式以太网驱动模块设备的控制,已成功地应用到嵌人式仪器仪表、工业数据采集网络、嵌人式网络控制等许多领域。
参考文献:
[1]杜春雷,ARM体系结构与编程,北京:清华大学出版社,2003:11-20.
[2]Realtek Semiconductor Corp.RTL8019AS Datasheet.http:
///projects//tinynet.files/RTL8019AS(REALTEK).pdf.
[3]丁晓波,基于嵌入式Linux的BSP技术研究,电子科技大学硕士学位论文,2002.
[4]刘安昱、温晓辉、刘志红,基于S3C44B0X的uClinucx的移植,单片机与嵌入式系统
应用,2003(12):76-79.
[5]刘淼,嵌入式系统接口设计与Linux驱动程序开发,北京:航空航天大学出版社,2006.