新闻中心

EEPW首页>嵌入式系统>设计应用> 基于AVR的网络用具接口的设计与实现

基于AVR的网络用具接口的设计与实现

作者: 时间:2016-12-02 来源:网络 收藏


RTL8019AS片内有16K的SRAM,地址0X40000-0X7FFF,这16KRAM被初始化成2个部分:①接收以太网数据缓冲②发送以太网数据缓冲,具体2个缓冲大小可编程设定。

电路连接如图3,RTL8019AS电源采用直流5V.它的SDOSD7数据总线,通过一个74HC573锁存器与单片机连接,单片机用LE使能控制锁存器。RTL$019AS采用8位总线,SA地址总线只使用SA0-SA4与单片机连接,其它SA5-SAl9都接地。这里基址为0。INTO为RTL8019AS8个中断之一,与单片机的外部中断连接,在接收数据时使用。RSTDRV为复位线,高电平有效,要求复位时间长于800ms。IOR/10W为读写控制线。AEN为地址使能,低电平有效。

芯片与网线接口RJ45通过TPIN+、TPIN-、TPOUT+、TPOUT-连接。TPIN+/TPIN-为双绞线接收,TPOUT+、TPOUT-为双绞线的发送脚。但是不能直接连接,要经过网络隔离变压器隔离,本设计采用20F—Ol。它起的作用主要有两个,一是传输数据,把PHY送出来的差分信号用差模耦合的线圈耦合滤波以增强信号,并且通过电磁场的转换耦合到不同电平的连接网线的另外一端;二是隔离网线连接的不同网络设备问的不同电平,以防止不同电压通过网线传输损坏设备。

3 RTL8019驱动程序

RLS019AS包含大量的片内寄存器单元,在工作的过程中需要实现数据包的接收和发送,必须正确的对相关的寄存器进行设置。对RTLSOl9AS的驱动程序主要包括3个部分:RTL80l 9AS初始化部分,数据包接收部分,数据包发送部分。

3.1初始化

初始化主要是对寄存器的初始化,主要包括初始化复位寄存器,初始化RTLS019AS的配置寄存器:CONFIG0-CONFIG3,初始化接收和发送缓冲区,初始化RTL9019AS的中断,初始化接收配置,发送配置等,设置以太网物理地址等。

3.2数据接收

数据的接收可以用查询方式,芯片不断向网络中查询是否有信息到达本节点;也可以用中断方式,这里选择中断方式。RTL8019AS的INTO接ATMEGA32的INT0,当有中断发生。AVR进入中断服务,先通过读取ISR,对中断类型进行判断,看是否正确接收。根据先前工程定义好的网卡接收缓存区地址,用CURR指针将接收到的数据读取到内存中。当CURR指针同BURY指针地址相同时说明接收数据结束。所以要先判断是否接收结束,再调用取包函数WY_GETPACK()。

取包函数主要包括停止8019的工作,复位中断,判断是否边界寄存器是否越界,启动DMA操作,读取DMA,计算数据包长度.移动接收地址然后再读。接收流程图如图4所示。


图4数据接收流程图

3.3数据发送

发送过程分为3个步骤:封装数据包;将数据送至发送缓冲区;发送数据。发送缓冲区空问为3k,可以保存2个完整的数据帧。可以把缓冲区分为两部分,一部分用来发送,另一部分用来封装数据包,达到提高效率的目的。如果发送的数据少于60字节,则将数据填充至60个字节再发送出去。若数据大于1514个字节就要将数据分割到小于1514个字节后再发送。所以—个数据包的数据字节数必须控制在60—1514字节.这是以太网8023协议规定的。如果发送失败则重发。发送流程如下图5所示。


图5数据发送流程图

4 结束语

网络用具义称网络家电、信息家电,是未来家用电器的主要发展方向。在未来家庭中。多台网络用具设备协调工作,并组成一个互动的网络环境,以方便用户的使用,这个网络环境被称为数字家庭网络,简称家庭网络。家庭网络是信息技术发展创新的必然趋势。

本文创新点在于,设计了基于AVR的网络用具接口方案,简单易用,成本低,符合了信息家电的要求,更可以应用于远程工业控制,远程仪表抄表等领域。目前开发的开发板,使用单片机直接通过RTLSOl9AS芯片,用网线与PC机通讯,工作正常。

上一页 1 2 下一页

关键词:AVR网络用具接

评论


技术专区

关闭