新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 用8位单片机实现串口-以太网转换器

用8位单片机实现串口-以太网转换器

作者:时间:2009-10-16来源:网络收藏
5.2 网卡初始化过程

对网卡的初始化就是对相关寄存器进行初始化。这些寄存器包括CR、DCR、RBCR、PSTART、PSTOP、
ISR、IMR、PAR0-PAR5、MAR0-MAR5、CURR、TCR和RCR等。初始化过程如下:

(1)CR=0x21:选择页0寄存器,将NIC处于离线状态;

(2)DCR=0x88:8位内存访问,正常工作方式;

(3)RBCR0=0,RBCR1=0:远程DMA操作时传递字节数清零;

(4)RCR=0xc0:接收到的帧存入缓冲环;

(5)TCR=0xe2:环路测试状态;

(6)PSTART=0x4c,PSTOP=0x80:构造缓冲环;

(7)ISR=0xff:中断寄存器清零;

(8)IMR=0x00:屏蔽所有的中断;

(9)CR=0x61:选择页1;

(10)设置网卡地址PAR0-PAR5;

(11)设置多址寄存器MAR0-MAR5;

(12)CURR=0x4d:初始化当前页寄存器;

(13)CR=0x22:选择页1,正常工作状态;

(14)TCR=0XE0:发送器正常工作状态;

5.3 发送控制过程

在网络中,帧传输的过程就是发送方将待发送的数据按帧格式要求封装成帧,然后通过网卡发送到网络的传输线上。发送程序框图如图3所示。

本文引用地址:http://www.eepw.com.cn/article/173588.htm

发送程序框图

5.4 接收控制过程

帧的接收过程分为两步:第一步由本地DMA将帧存入接收缓冲环中;第二步由远程DMA将接收缓冲环中的帧读入内存。即将网络上的数据帧接收并缓存在网卡的接收缓冲环中,然后由主机程序将缓存在缓冲环中的帧读走并存入内存中。

帧的接收工作由网卡自动完成,只需对与相关的寄存器如PSTART、PSTOP、CURR和BNRY进行适当的初始化即可。

帧读入较帧接收要复杂一些。首先必须初始化相应的寄存器RSAR、RBCR,然后再启动远程DMA读操作和主机程序的读端口操作。

以下是接收数据帧的子程序,为了获得数据长度,我们先读入18个字节的数据,然后根据有效数据的长度将帧完整读入。为了启动远程DMA读操作,应该令CR=0AH,远程DMA将从接收缓冲环的DMA地址处读入1字节并送往I/O数据端口,由主机程序读入内存。这一过程将一直持续到RBCR寄存器为0。

程序


5.5 通讯子程序

数据文件的传输编制了一个通讯协议,该协议由引导帧、长度帧、数据帧和确认帧等组成。其中引导帧是用于同步每一包数据的引导头,长度帧是这一包数据的总长度,数据帧是其中的数据信息,确认帧是接收方对发送方的回应。每帧数据由16个字节组成,每帧的第14个字节为标志位,第15字节为校验位。标志位中有2位帧标志位,3位序号位;校验采用和校验,只计算0-13字节,溢出值舍去。在发送方有数据发送时,先检测线路是否空闲,如线路空闲则向接收方发送“请求发送数据”命令帧。接收机收到后,如准备就绪,则回送“可以发送”的确认

命令。发送方得到确认后开始发送数据。接收方对收到的每一帧数据进行和校验,校验正确发送“和校验正确”命令,发送方发送下一帧;否则发送“重发”命令,发送方重发此帧。协议中还具有等待超时处理、帧不同步处理和线路冲突检测功能。

6 结束语

利用8位8031驱动ISA总线网卡,串口设备通过进行通讯,可以方便、可靠、低廉地将数据传输到远端设备。而且,通过串口设备与的相连,可以很好的解决多种工业总线的系统集成问题,同时也大大丰富了工业总线的体系,促使其向更高层次发展。可以预计,小型串口设备与相连将带来一场新的技术浪潮。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭