您当前的位置:五五电子网电子知识单片机-工控设备单片机通信W3100芯片在DSP系统以太网接口的应用 正文
W3100芯片在DSP系统以太网接口的应用

W3100芯片在DSP系统以太网接口的应用

点击数:7415 次   录入时间:03-04 11:44:59   整理:http://www.55dianzi.com   单片机通信

  一、W3100芯片功能简介
  
  W3100是韩国Wiznet公司生产的Internet接人芯片。它包含了TCP、IP Ver.4、UDP、ICMP、ARP、DHCP等Internet协议和DLC、MAC以太网协议。其功能框图如图1- 162所示。W3100芯片由4部分组成:微控器接口单元、网络协议引擎、双口RAM及网络物理层介质开关接口MII( Media Independent Interface)单元。W3100支持全双工4~5 Mb/s的数据通信,并可同时支持4个独立的网络连接;提供24 KB的数据缓冲双口RAM;采用0.35 μm的CMOS工艺,64引脚LQFP封装;采用3.3 V电源电压,其I/O接口兼容5V的数字逻辑电平,可非常方便地与单片机和DSP接口。

  W3100的引脚分布如图1- 163所示。它通过数据线D[O]~D[7]、地址线A[0]~A[14]和写信号WR、读信号RD、中断信号INT、片选线CS与微控器接口,电源VCC为3.3 V,REST是芯片的外部复位信号。其余的接口线与标准MII物理层芯片(如RTL8210)的接口线相同,在此不再赘述。


  
  W3100集成了功能强大的网络接入协议,设计者完全可以像在局域网中配置IP地址一样简单地配置设计的系统,通过灵活创建和选择TCP或UDP套接字(socket)来完成网上的数据交换。以上工作都是通过设置W3100内部的控制寄存器来完成的。微控器通过执行外部RAM的操作时序来写或读这些寄存器,发送和接收的数据均保存在W3100内部的双口RAM中。W3100的存储空间分配如图1- 164所示。控制寄存器位于地址的低512字节,其中0~255字节是控制寄存器空间,256~16 383是8 KB的发送数据缓冲器区,地址空间16384~32762是16 KB的接收数据缓冲区。其中,低512字节内的控制寄存器分为3类:①与网络命令、状态和中断相关的寄存器;②与IP地址、网关地址、子网掩码、物理地址、超时值相关的寄存器;③与网络连接通道相关的寄存器。本节重点介绍常用的几个重要的控制寄存器:通道控制寄存器、通道中断状态寄存器、中断寄存器、中断屏蔽寄存器、系统寄存器。


  
  1.通道控制寄存器
  
  因W3100同时支持4个连接,所以分别有4个通道控制寄存器。除DO、D7位在通道0控制寄存器中有定义外,其余几位的定义完全一样。DO、D7位在通道控制寄存器1、2、3中均作为保留位。其各位定义如图1- 165所示。

  ●Sys_lnit(仅通道O有定义):系统初始化位。用于设置系统的IP地址、网关、子网掩码、物理地址。
  
  ●Sock_lnit:通道初始化位。当选择了相应的Internet协议后,用此命令进行初始化。
  
  ●Connect:连接命令,用于以客户(client)模式连接到服务器。
  
  ●Listen:监听模式,用于以服务器模块监听下面客户的连接。
  
  ●Close:关闭通道及其连接。
  
  ●Send:启动数据发送位。
  
  ●Recv:启动数据接收位。
  
  ●S/W Reset(仅通道0有定义):用于初始化芯片内部的复位设定值。
  
  2.通道中断状态寄存器
  
  4个通道各对应一个中断状态寄存器。这些寄存器分别对应各通道的控制寄存器。当微控器利用通道控制寄存器发出相应的命令后,中断状态寄存器将返回其执行的结果。DO位除在通道0中有定义外,在其余的3个通道中是保留位。其各位定义如图1 - 166所示。


  
  图1-166通道中断状态寄存器各位定义
  
  ●Init_OK:系统初始化成功标志位(仅通道0有定义)。
  
  ●Sinit_OK:通道初始化成功标志位。
  
  ●Established:通道连接已建立标志位。
  
  ●Closed:通道已关闭标志位。

  ●Timeout:通道连接建立超时标志位。
  
  ●Send_OK:数据成功发送标志位。
  
  ●Recv_OK:数据成功接收标志位。
  
  3.中断寄存器
  
  中断寄存器用于指示当前发生中断的具体事件。当某事件发生时,如果它未被中断屏蔽寄存器屏蔽掉,则W3100将通过INT引脚通知微控器。微控器再查询中断寄存器,就可知道具体发生了什么事件。其各位的定义如图1- 167所示。
  
  其中:CO~C3分别指示通道O~3引发了中断,COR~C3R分别标明通道0~3接收到了数据。
  
  4.中断屏蔽寄存器
  
  与中断寄存器的各位一一对应,用于屏蔽(置0)或允许(置1)相应的中断。其各位的定义如图1 - 168所示。
  
  系统寄存器包含网关寄存器、子网掩码寄存器、AMC地址(物理地址)寄存器、IP地址寄存器、超时值寄存器,分别用于设置系统相应的连接参数。

二、W3100与TMS320C6201的接口设计
  
  TMS320C6201是TI公司C6000并行处理DSP系列中的定点型产品。它在片内集成了EMIF(扩展存储器接口),通过设置EMIF的控制寄存器,可以方便地与SDRAM(同步动态随机存储器)、ASRAM(异步静态随机存储器)和ROM实现无缝连接。EMIF采用独立的地址总线和数据总线,且针对不同速度的存储器,EMIF可以单独地设定读/写周期的总线延迟时间,以适应大多数的外接存储器。EMIF提供CEO、CE1、CE2、CE3 4个独立的存储空间。尽管其数据总线的宽度是32位,但是通过对应的字节使能控制位BEO、BE1、BE2和BE3,可以方便地实现单周期按字节、半字(16 bit)、字(32 bit)进行访问。我们利用EMIF的异步接口,成功地完成了对W3100的控制。其原理图如图1- 169所示。
  
  EMIF提供了W3100所需的全部信号线,将W3100安排在TMS320C6201的CE3地址空间。W3100的中断输出信号接到DSP的外中断输入引脚上(图1-169中的网络标号DSP_INT)。DSP可以时钟周期为单位,为每个存储空间设置读/写操作的建立时间、触发时间、保持时间。DSP的异步写时序如图1- 170所示。考虑到DSP读/写的速度相对较高,系统在初始化中设置EMIF寄存器组时,将建立时间和触发时间设为2个周期,保持时间设为3个周期。这样DSP在120 MHz的主频下,读/写操作的时间余量是充足的。

三、DSP以太网控制程序设计
  
  TMS320C6201的控制程序是在TI公司的CCS(Code Composer Studio)集成DSP开发环境下,采用C语言编写的。就DSP而言,由于采用了W3100来完成以太网协议,其控制程序简单了许多。DSP基本的操作与读/写ASRAM -样,程序包括6个子模块:初始化模块、创建socket模块、网络连接模块、数据发送模块、数据接收模块、关闭socket模块。初始化模块主要完成对DSP自身的初始化和对W3100的初始化。DSP的初始化任务主要是设置中断,设定EMIF接口参数。W3100的初始化包括对网关、子网掩码、IP地址、MAC地址的设置。
  
  下面是W3100的初始化程序。在头文件W3100.h中分别声明了各变量名并分配了与其对应的控制寄存器地址。对W3100的所有设置均采用写一查询的模式进行,即先往W3100的控制寄存器中写控制字,再查询其状态寄存器,这样就可知道设置是否成功。其他模块的操作与初始化程序的基本原理相同。值得注意的是:由于W3100的发送缓冲双口RAM仅为8 KB,当成批数据发送时,一定要先查询1次发送数据指针,从而计算出可以利用的发送缓冲区的大小。

  用W3100完成系统以太网接口具有硬件简单,软件编写容易等特点,几乎无须了解TCP/IP和以太网协议就可以方便地开发出具有Internet接入能力的产品。它一方面可以充分利用丰富的网上资源;另一方面系统功能也可以在网上实现共享。随着Intetnet应用的进一步普及与开发,原先的PC至PC连接模式将被彻底打破,必然出现PC到各种设备的连接和设备间的连接等各种模式。W3100芯片的应用会越来越广泛。




本文关键字:以太网  接口  单片机通信单片机-工控设备 - 单片机通信

《W3100芯片在DSP系统以太网接口的应用》相关文章>>>