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

技术分类: 嵌入式系统  微处理器与DSP  | 2006-01-12
来源:中国电源网 | 作者:蔡宁果

       5  软件设计

      
对网卡的编程就是对网络接口控制器(NIC)RTL8019AS中各种寄存器进行编程控制,从而完成数据分组的正确发送和接收。所有程序采用Franclin C51语言编制,具有可读性强,移植性好,开发周期短的特点。即使在代码的使用效率上,也完全可以和汇编语言相比。

       5.1  主程序

      
主程序可分为网络通讯和串行通讯两部分。网络通讯过程又可分为网卡初始化、发送控制和接收控制等三部分。主程序框图如图2所示。

主程序框图

       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所示。

发送程序框图

       5.4  接收控制过程

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

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

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

1】【2】【3
加载中

对文章的评论

剩余字数:  

浏览该文章的用户还看过...

  • 文 章

  • 论 坛

  • 博 客

  • 小 组

设计资源与分销