下载此文档

基于51单片机网卡驱动程序.doc


文档分类:IT计算机 | 页数:约10页 举报非法文档有奖
1/10
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/10 下载此文档
文档列表 文档介绍
基于51单片机网卡驱动程序时间:2006-09-05     我的SNMP网管板使用了RTL8019AS10MISA网卡芯片接入以太网。选它的好处是:NE2000兼容,软件移植性好;接口简单不用转换芯片如PCI-ISA桥;$/片(我的购入价为22元RMB/片);带宽充裕(针对51);较长一段时间内不会停产。8019有3种配置模式:跳线方式、即插即用P&P方式、串行Flash配置方式。为了节省成本,我去掉了9346而使用X5045作为闪盘存储MAC地址和其他可配置信息。P&P模式用在PC机中,这里用不上。只剩下跳线配置模式可用,它的电路设计参考REALTEK提供的DEMO板图纸。一天时间就可以完成,相对来说硬件设计比较简单。   与这部分硬件相对应的软件是网卡驱动。所谓驱动程序是指一组子程序,它们屏蔽了底层硬件处理细节,同时向上层软件提供硬件无关接口。驱动程序可以写成子程序嵌入到应用程序里(如DOS下的I/O端口操作和ISR),也可以放在动态链接库里,用到的时候再动态调入以便节省内存。在WIN98中,为了使V86、WIN16、WIN32三种模式的应用程序共存,提出了虚拟机的概念,在CPU的配合下,系统工作在保护模式,OS接管了I/O、中断、内存访问,应用程序不能直接访问硬件。这样提高了系统可靠性和兼容性,也带来了软件编程复杂的问题。任何网卡驱动都要按VXD或WDM模式编写,对于硬件一侧要处理虚拟机操作、总线协议(如ISA、PCI)、即插即用、电源管理;上层软件一侧要实现NDIS规范。因此在WIN98下实现网卡驱动是一件相当复杂的事情。   我这里说的驱动程序特指实模式下的一组硬件芯片驱动子程序。从程序员的角度看,8019工作流程非常简单,驱动程序将要发送的数据包按指定格式写入芯片并启动发送命令,8019会自动把数据包转换成物理帧格式在物理信道上传输。反之,8019收到物理信号后将其还原成数据,按指定格式存放在芯片RAM中以便主机程序取用。简言之就是8019完成数据包和电信号之间的相互转换:数据包<===>电信号。以太网协议由芯片硬件自动完成,对程序员透明。驱动程序有3种功能:芯片初始化、收包、发包。   以太网协议不止一种,。它的帧结构如图1所示。物理信道上的收发操作均使用这个帧格式。其中,前导序列、帧起始位、CRC校验由硬件自动添加/删除,与上层软件无关。值得注意的是,,而是如图2所示。明显地,8019自动添加了“接收状态、下一页指针、以太网帧长度(以字节为单位)”三个数据成员(共4字节)。这些数据成员的引入方便了驱动程序的设计,体现了软硬件互相配合协同工作的设计思路。当然,,如图3所示。             有了收发包的格式,如何发送和接收数据包呢?如图4所示,先将待发送的数据包存入芯片RAM,给出发送缓冲区首地址和数据包长度(写入TPSR、TBCR0,1),启动发送命令(CR=0x3E)即可实现8019发送功能。8019会自动按以太网协议完成发送并将结果写入状态寄存器。如图5所示,接收缓冲区构成一个循环FIFO队列,PSTART、PSTOP两个寄存器限定了循环队列的开始和结束页,CURR为写入指针,受芯片控制,BNRY为读出指针,由

基于51单片机网卡驱动程序 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数10
  • 收藏数0 收藏
  • 顶次数0
  • 上传人ipod0c
  • 文件大小134 KB
  • 时间2019-08-10