wandabing_论文(3)

2019-04-05 15:19

基于嵌入式系统网卡驱动的实现

对等的网络层使用网络层协议通信。当实际上只有两个物理层之间才通过媒体进行真正的数据通信。

当通信实体通过一个通信子网进行通信时,必然会经过一些中间节点,通信子网中的节点只涉及到低三层的结构.在OSI/RM中系统间的通信信息流动过程如下:发送端的各层从上到下逐步加上各层的控制信息构成的比特流传递到物理信道,然后再传输到接收端的物理层,经过从下到上逐层去掉相应层的控制住信息得到的数据流最终传送到应用层的进程。 Internet的体系结构

Internet是由无数不同类型的服务器,用户终端以及路由器,网关,通信线路等连接组成,不同网络之间,不同类型设备之间要完成信息的交换,资源的共享需要有功能强大的网络软件的支持,TCP/IP就是能够完成互联网这些功能的协议集。

2.1.2. 以太网和IEEE 802封装

以太网这个术语一般是指数字设备公司( Digital Equipment Corp.)、英特尔公司( I n t e l C o r p .)和X e r o x公司在1 9 8 2年联合公布的一个标准。它是当今T C P / I P采用的主要的局域网技术。它采用一种称作C S M A / C D的媒体接入方法,其意思是带冲突检测的载波侦听多路接入(Carrier Sense, Multiple Access with Collision Detection)。它的速率为10 Mb/s,地址为48 bit。几年后, I E E E(电子电气工程师协会) 8 0 2委员会公布了一个稍有不同的标准集,其中8 0 2 . 3针对整个C S M A / C D网络,8 0 2 . 4针对令牌总线网络, 8 0 2 . 5针对令牌环网络。这三者的共同特性由8 0 2 . 2标准来定义,那就是8 0 2网络共有的逻辑链路控制( L L C)。不幸的是,8 0 2 . 2和8 0 2 . 3定义了一个与以太网不同的帧格式。文献[Stallings 1987]对所有的IEEE 802标准进行了详细的介绍。在T C P / I P世界中,以太网I P数据报的封装是在RFC 894[Hornig 1984]中定义的,IEEE 802网络的I P数据报封装是在RFC 1042[Postel and Reynolds 1988]中定义的。主机需求R F C要求每台I n t e r n e t主机都与一个10 Mb/s的以太网电缆相连接:

1) 必须能发送和接收采用RFC 894(以太网)封装格式的分组。

2) 应该能接收与RFC 894混合的RFC 1042(IEEE 802)封装格式的分组。

3) 也许能够发送采用RFC 1042格式封装的分组。如果主机能同时发送两种类型的分组数据,那么发送的分组必须是可以设置的,而且默认条件下必须是RFC 894分组。

- 5-

2. 解决问题的理论和方法

2.2. SPI通信原理

2.2.1. SPI的基本概念

SPI(Serial Peripheral Interface,串行外围设备接口):是Motorola公司推出的一种同步串行通讯方式,采用四线同步总线传输数据。在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议。SPI接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。

SPI总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。外围设置FLASHRAM、网络控制器、LCD显示驱动器、A/D转换器和MCU等。SPI总线系统可直接与各个厂家生产的多种标准外围器件直接接口,该接口一般使用4条线:串行时钟线(SCK)、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOSI和低电平有效的从机选择线SS(有的SPI接口芯片带有中断信号线INT或INT、有的SPI接口芯片没有主机输出/从机输入数据线MOSI)。

2.2.2. SPI的通信原理[5]

SPI主要是以主从方式工作的,这种模式通常有一个主设备和一个或多个从设备,需要至少4根线,事实上3根也可以(用于单向传输时,也就是半双工方式)。也是所有基于SPI的设备共有的,它们是:

SDO(数据输出) – 主设备数据输出,从设备数据输入; SDI(数据输入) – 主设备数据输入,从设备数据输出; SCLK(时钟) – 时钟信号,由主设备产生;

CS(片选)– 从设备使能信号,由主设备控制。

其中CS是控制芯片是否被选中的,也就是说只有片选信号为预先规定的使能信号时(高电位或低电位),对此芯片的操作才有效。这就允许在同一总线上连接多个SPI设备成为可能。接下来就负责通讯的3根线了。通讯是通过数据交换完成的,这里先要知道SPI是串行通讯协议,也就是说数据是一位一位的传输的。这就是SCK时钟线存在的原因,由SCK提供时钟脉冲,SDI,SDO则基于此脉冲完成数据传输。数据输出通过 SDO线,数据在时钟上升沿或下降沿时改变,在紧接着的下降沿或上升沿被读取。完成一位数据传输,输入也使用同

- 6-

基于嵌入式系统网卡驱动的实现

样原理。这样,在至少8次时钟信号的改变(上沿和下沿为一次),就可以完成8位数据的传输。

要注意的是,SCK信号线只由主设备控制,从设备不能控制信号线。同样,在一个基于SPI的设备中,至少有一个主控设备。这样传输的特点:这样的传输方式有一个优点,与普通的串行通讯不同,普通的串行通讯一次连续传送至少8位数据,而SPI允许数据一位一位的传送,甚至允许暂停,因为SCK时钟线由主控设备控制,当没有时钟跳变时,从设备不采集或传送数据。也就是说,主设备通过对SCK时钟线的控制可以完成对通讯的控制。SPI还是一个数据交换协议:因为SPI的数据输入和输出线独立,所以允许同时完成数据的输入和输出。不同的SPI设备的实现方式不尽相同,主要是数据改变和采集的时间不同,在时钟信号上沿或下沿采集有不同定义,具体请参考相关器件的文档。

2.2.3. SPI传输数据的时序

数据是否能够正确的发送和接受关键在于接收与发送的时机是否恰当。可能还没有片选发送的从机,我们就已经迫不及待的将数据写到发送寄存器中了。以为数据发送完了有时恰好发送完第二字节的数据时,从机才认为收到的是第一字节数据。所以我们必须搞清楚他们通信的时序。

SPI是一个环形总线结构,由CS、SCK、SDI、SDO构成,其时序主要是在SCK的控制下,两个双向移位寄存器进行数据交换。假设现在有一字节数据(01010101)写进8位发送寄存器中,上升沿发送、下降沿接收、高位先发送。

那么第一个上升沿来的时候 数据将会是SDI=0;寄存器中的01010101左移一位,后面补入送来的一位未知数x,成了0101010x。下降沿到来的时候,SDI上的电平将锁存到寄存器中去,那么这时寄存器=0101010SDI,这样在 8个时钟脉冲以后,两个寄存器的内容互相交换一次。这样就完成了一个SPI时序。

2.2.4. SPI指令集

主控制器访问网卡主要是通过SPI对网卡写相应的命令,然后通过SPI把需要访问的数据传给主控制器,或者主控制把自己的数据写给网卡。怎样才能区分这些操作呢?所以我们必须规定特定指令去区分所做的事。ENC28J60 所执行的操作完全依据外部主控制器通过SPI 接口发出的命令。 这些命令为一个或多个字节的指令,用于访问控制存储器和以太网

- 7-

2. 解决问题的理论和方法

缓冲区。 指令至少包含一个3 位操作码和一个用于指定寄存器地址或数据常量的5 位参数。 写和位域指令后还会有一个或多个字节的数据。

2.3. 网卡控制器

2.3.1. 网卡基本概念

NIC (Network Interface Card,网卡)是计算机局域网中最重要的连接设备,计算机主要通过网卡连接网络.在网络中,网卡的工作是双重的:一方面它负责接收网络上传过来的数据包,解包后,将数据通过主板上的总线传输给本地计算机;另一方面它将本地计算机上的数据打包后送入网络。

2.3.2. 网卡接口的种类

RJ-45接口:这是最为常见的一种网卡,也是应用最广的一种接口类型网卡,这主要得益于双绞线以太网应用的普及。因为这种RJ-45接口类型的网卡就是应用于以双绞线为传输介质的以太网中,它的接口类似于常见的电话接口RJ-11,但RJ-45是8芯线,而电话线的接口是4芯的,通常只接2芯线(ISDN的电话线接4芯线)。在网卡上还自带两个状态批示灯,通过这两个指示灯颜色可初步判断网卡的工作状态。

BNC接口:这种接口网卡对应用于用细同轴电缆为传输介质的以太网或令牌网中,目前这种接口类型的网卡较少见,主要因为用细同轴电缆作为传输介质的网络就比较少。 AUI接口:这种接口类型的网卡对应用于以粗同轴电缆为传输介质的以太网或令牌网中,这种接口类型的网卡目前更是很少见。

FDDI接口:这种接口的网卡是适应于FDDI(光纤分布数据接口)网络中,这种网络具有100Mbps的带宽,但它所使用的传输介质是光纤,所以这种FDDI接口的接口也是光纤接口的。随着快速以太网的出现,它的速度优越性已不复存在,但它须采用昂贵的光纤作为传输介质的缺点并没有改变,所以目前也非常少见。

ATM接口:这种接口类型的网卡是应用于ATM(异步传输模式)光纤(或双绞线)网络中。它能提供物理的传输速度达155Mbps。

- 8-

基于嵌入式系统网卡驱动的实现

2.3.3. 以太网控制器

以太网是Xerox公司发明的基带LAN标准。它采用带冲突检测的载波监听多路访问协议(CSMA/CD),速率为10Mbps,传输介质为同轴电缆。以太网是在20世纪70年代为解决网络中零散的和偶然的堵塞而开发的,而IEEE802.3标准是在最初的以太网技术基础上于1980年开发成功的。现在,以太网一词泛指所有采用CSMA/CD协议的局域网。以太网2.0版由数字设备公司、Intel公司和Xerox公司联合开发,它与IEEE802.3兼容。以太网和IEEE802.3通常由接口卡(网卡)或主电路板上的电路实现。以太网电缆协议规定用收发器将电缆连到网络物理设备上。收发器执行物理层的大部分功能,其中包括冲突检测及收发器电缆将收发器连接到工作站上。

IEEE802.3提供了多种电缆规范,10Base5就是其中的一种,它与以太网最为接近。在这一规范中,连接电缆称作连接单元接口(AUI),网络连接设备称为介质访问单元(MAU)而不再是收发器。

以太网数据的发送有以下两种方式:

半双工:它的意思是虽然网卡可以接收发送数据,但是一次只能做一种动作,不能同时收发。

全双工:就是能够\同时\接收与发送信号,譬如电话就是一种全双工传输设备,我们在听对方讲话的同时,也可以发话给对方。理论上,全双工传输可以提高网络效率,但是实际上仍是配合其他相关设备才有用。例如必须选用双绞线的网络缆线才可以全双工传输,而且中间所接的集线器(HUB),也要能全双工传输;最后,所采用的网络操作系统也得支持全双工作业,如此才能真正发挥全双工传输的威力。

注意:不同的网卡对可以根据配置的不同而选择,但有些网卡不支持双工模式自适应,不能根据与之相连的设备的传输方式和速度,自动的改变自己的传输模式而适应数据的传输。

2.3.4. 以太网控制器基本结构

我们可以看看以太网控制器(ENC28J60)的结构:

- 9-


wandabing_论文(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:南充高中2015年面向省内外自主招生考试英语试题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: