0 引 言
跟着互联网的迅速开展,各种家电设备、仪器仪表也在逐渐走向网络化,以便同享网络信息资源、长途监控等,这也是嵌入式体系开展的趋势。而以太网作为现在运用最为广泛的局域网,在工业主动化和进程操控范畴得到了越来越多的运用,因而,关于很多存在的8位微操控器而言,完成以太网通讯具有重要的实际意义。现在运用较多的是根据51内核单片机的上网计划,由于处理才干的约束,要完成较杂乱的网络传输和操控有点困难。本体系选用ATMEL公司的高功用单片机Mega64和10 Mb/s以太网操控芯片RTL8019AS完成了以太网接口,具体介绍了硬件电路的衔接以及嵌入 式TCP/IP的完成,使单片机具有了互联网络的接入功用。
1 硬件电路规划
1.1 首要器材挑选
微操控器选用高功用的AVR单片机Mega64,AVR是ATMEL公司结合了老练的51系列和PIC系列单片机的长处而推出的高功用8位单片机,具有性价比高、资源丰富、速度快、功耗低、开发便利等特色。Mega64选用RISC结构,作业频率可达16 MHz,彻底满意运转多种网络协议的要求,片内具有4 KB的SRAM,64 KB的FLASH,以太网最大数据包为1 514 B,4 KB的RAM满足以太网帧的存储,64 KB的FLASH关于恰当的程序以及简略的Web Page来说也是能够的,所以无需再外扩资源,大大简化了外围电路,进步了可靠性。
以太网操控芯片选用的是台湾REALTEK公司出产的RTL8019AS,该芯片集成了介质拜访操控子层(MAC)和物理层的功用,能够便利地规划根据ISA总线的体系。别的,它还具有与NE2000兼容、软件移植性好、与单片机接口简略、价格低货源好等长处,其首要功用特性如下:
(1)契合EthernetⅡ与IEEE802.3(10Base5,10Base2,10BaseT)规范。
(2)软件和8位及16位插槽的NE2000兼容。
(3)全双工,收发可一起到达10 Mb/s的速率。
(4)内置16 KB的SRAM,用于收发缓存,下降对主处理器的速度要求。
(5)支撑8/16位数据总线,8条中止请求线以及16个I/0基地址挑选。
(6)支撑UTP,AUI,BNC主动检测以及对10BaseT拓扑结构的主动极性批改。
(7)答应4个确诊LED引脚可编程输出。
1.2 RTL8019AS与单片机的衔接
RTL8019AS支撑三种作业方法:第一种为跳线方法,网络操控器的I/O地址和中止都由跳线决议;第二种为免跳线方法,I/O地址和中止由外接的E2PROM 93C46里的内容所决议;第三种为即插即用方法(PNP),I/O地址和中止都由软件或操作体系主动进行办理和装备,用户不用过多干涉,当然这种方法要消耗体系资源。网络操控器选用哪种方法由RTL8019AS的65脚(JP)决议,本体系选用第一种即跳线方法,这时JP要接高电平;第三种方法一般用于PC机中,关于8位单片机来说无法完成,未用第二种方法又能够省掉一片93C46芯片,不光简化了硬件电路规划,并且下降了本钱。
RTL8019AS有两种复位方法:冷复位和热复位。给8019的复位引脚施加一个1μs以上的高电平就能够完成冷复位;先读再写8019的恣意一个复位端口都能够完成热复位,这在PC机顶用的较多。能够将8019的复位引脚和单片机的复位引脚相连,单片机复位的时分8019也复位,这种状况能够削减单片机的一个引脚的运用,但为了确保能够彻底复位,能够在程序中进行热复位。但是Mega64为低电平复位,而8019为高电平复位,假如这样衔接的话还需求加一个非门进行反相,鉴于Mega64的引脚较多,所以将8019的复位引脚衔接到Mega64的一个I/O口上,由该引脚对8019进行冷复位。
图1所示为RTL8019AS的部分电路图,其作业时钟为20 MHz。RTL8019AS的引脚悬空时,输入状况为低电平,由于芯片引脚内部现已接了一个100 kΩ的下拉电阻。AEN引脚为I/O端口操作答应使能脚,接地使地址一向处于有用;IOCSl6B引脚用一个27 kΩ的电阻下拉到地,复位时间为低电平,挑选8位总线形式;读写引脚IORB、IOWB别离与单片机的RD,WR引脚相连;8位数据总线SD0~sD7接到单片机的PA口;IOSO~IOS3为I/O基地址挑选引脚,悬空设置为300H,所以SA5~SA7,SAl0~SAl9接地,SA8和SA9接高电平,真实用到的地址线只要SA0~SA4,接到单片机的地址线上;IRQS0~IRQS2为中止挑选引脚,悬空挑选中止INT0,实际上并没有运用中止,而是运用了查询方法;AUI引脚用于AUI接口外部MAU检测,决议运用AUI仍是BNC接口,BNC接口方法支撑8线双绞或同轴电缆,所以将该引脚悬空挑选运用RJ45接口;SMEMRB和SMEMWB为存储器读写引脚,由于咱们运用的是I/O形式读写网络芯片,所以将它们接高电平;TPIN和TPOUT为差分输入输出引脚,别离用来接纳来自双绞线和向双绞线发送10 Mb/s的差分曼彻斯特编码信号,RTL8019AS需求通过阻隔处理才干和RJ45接口相连,然后接入以太网,阻隔低通滤波器选用的是20F001N,内部有两个传输变压器,用来传输信号以及按捺噪声搅扰。
2 体系软件完成
2.1 RTL8019AS地址空间与寄存器
RTL8019AS内部的16 KB的RAM用于收发缓冲,地址为Ox4000~0x7FFF,收发缓冲以页为单位,每页256 B,共64页,假如某页没有彻底填满数据,则下包数据也不能持续运用该页,只能运用新的页。一般将前12页作为发送缓冲区,分为两个6页的缓冲区(由于一个最大数据包占6页),两个发送缓冲区替换运用,可进步发送功率,后52页作为接纳缓冲区。该RAM是双端口的,具有两套总线,一套是RTL8019AS读写该RAM,即本地DMA;另一套是单片机读写该RAM,即长途DMA,要接纳和发送数据包就必须对这块RAM进行DMA读写。