碧波液压网 欢迎你,游客。 登录 注册

利用微控制器进行网络通信的网卡配置

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  利用单片机进行网络通信的关键是驱动和配置网络接口卡,而RTL8019是REALTEK公司高集成度的专用以太网接口芯片,支持PnP自动探测,并且内嵌16K SRAM,有全双工的通信接口,可以通过交换机在双绞线上同时发送和接收数据,使带宽从10兆增加到20兆,是用来进行以太网通信的理想芯片。

  RTL8019AS是针对ISA总线设计的,在PC上用来实现网络的物理层协议,主要包括网卡与网络电缆的物理连接、介质访问控制(如CSMA/CD)、数据帧的拆装、帧的发送与接收、错误校验、数据信号的编/解码(如曼彻斯特码和NRZ码的转换等)、数据的串、并行转换等功能。而要实现这些功能,必须要对网络接口芯片进行正确的配置。

  而大部分微控制器是8位的,所以用8位单片机和RTL8019AS接口时必须把接口芯片置成8位模式,现用具体代码来详细说明用单片机对RTL8019AS进行配置,从而实现利用微控制器进行网络通信。

  RTL8019共有四页寄存器组,每页寄存器组有16个寄存器。实际上网络通信也就是对这些寄存器进行设置。其中CR寄存器是控制命令寄存器,地址是00h,其各个位的含义如表1所示,这个寄存器用来选择寄存器页,控制远程DMA操作。

  PS1,PS0用来指定寄存器的页。在实际配置寄存器时,首先要指定要配置的寄存器属于哪一页(就是进行PS1和PS0的设置),然后对那一页中的寄存器写入配置信息。

  要进行网络通信必须对网络控制芯片初始化,初始化比较烦琐,但非常重要,它决定者网络通信的一些重要参数,详细配置过程如下。

  1.初始化复位寄存器,地址1fh,代码如下。

  mov nicIOAddr,#$1F;给出复位寄存器的地址

  mov w,#0;写入数据0

  call NICWrite;调写子程序,把数据写入

  2.选择RTL8019as为用户配置模式,然后对9346CR寄存器进行写使能,再对RTL8019AS的配置寄存器2进行设置,代码如下。

  clr nicIOAddr;选CR寄存器

  mov w,#d1h;选第三页,停止传输操作

  call NICWrite;写入数据

  mov nicIOAddr,#$01;选9346CR寄存器

  mov w,#d0h;配置寄存器写使能

  call NICWrite;写入数据

  mov nicIOAddr,#05h;选配置寄存器2

  mov w,#0h;网络连接自动检测使能(10BaseT)

  call NICWrite;写入数据

  3.配置当前页寄存器(写时选择第一页07h寄存器,读时选择第二页07h寄存器)。

  inc nicIOAddr;($07) CURR寄存器指向接收缓冲区的第一页(每页256个字节)

  mov w,#RXBUF_START;把开始地址写入CUR寄存器中

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论