微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 基于AVR的网络用具接口的设计与实现

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

时间:04-02 来源:互联网 点击:
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机通讯,工作正常。

作者:蔡韬,陆以勤      来源:《微计算机信息》(嵌入式与SOC)2009年第6-2期

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top