随着互联网的迅速发展,各种家电设备、仪器仪表也在逐步走向网络化,以便共享网络信息资源、远程监控等,这也是嵌入式系统发展的趋势。而以太网作为目前应用最为广泛的局域网,在工业自动化和过程控制领域得到了越来越多的应用,因此,对于大量存在的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进行冷复位。