基于W3150A+的虚拟仪器通用以太网接口设计

发布者:limm20032003最新更新时间:2011-06-08 关键字:虚拟仪器  以太网  W3150A+ 手机看文章 扫描二维码
随时随地手机看文章
0 引言
    虚拟仪器以其性价比高、开放性强等优势迅速占领了市场,并成为测控仪器新的经济增长点。步入信息化时代最显著的标志就是信息网络在各行业中的渗透和普及,其中以太网最为典型。以太网作为一种成本低廉、吞吐能力强、适应性好、网络管理能力日益提高的网络,它可以方便地将数据采集系统纳入局域网甚至Internet。而以太网总线则有可能代替现行的其他总线方式而成为虚拟仪器数据采集系统的首选接口。

1 以太网接口的总体设计
1.1 以太网接口设计方案选择
    以太网接口的设计通常有三种方案:其一是采用FPGA实现物理层、网络层、接入层和传输层等各层的描述,该方案要自行实现复杂的TCP /IP协议,难度较大;二是基于物理层网络控制器和微处理器来实现网络传输,该方案的优点是灵活性强,可以针对不同的系统采用不同的协议,可实现协议的精简:三是采用专用的协议处理芯片实现以太网数据传输,该方案的硬件电路相对简单,开发周期短,并有越来越多的芯片可供选择,且集成了多种协议,使用十分方便。
    本设计采用第三种接口方案,即采用专用的TCP/IP协议集成芯片,并由FPGA实现对协议处理芯片的控制,从而实现以太网数据传输。协议处理芯片选用内部固化了TCP/IP协议的W3150A+并配合物理层芯片RTL8201,该方法硬件电路相对简单,并可利用逻辑硬件实现,从而使系统设计更加简单、紧凑。
1.2 以太网控制芯片W3150A+简介
    W3150A+是WIZnet公司专门为以太网互联和嵌入式系统推出的TCP/IP协议栈芯片。W3150A+能够实现TCP、UDP、IP Ver.4、DHCP、ARP和ICMP等协议,同时,网络接口层(包括MAC子层和DLC子层)也可在该芯片中实现。同时还能提供四路网络连接,其内部有16KB的双口RAM可
作为数据缓冲区,并可支持全双工模式,同时带有标准的MD接口,可方便连接物理层接口芯片。此外,WIZnet公司还提供了Socket API程序包,可以加速应用程序的开发。
    图1所示是W3150A+芯片的结构框图。由图1可见,W3150A+主要由4部分组成。其中第一部分是MCU接口。W3150A+提供有直接总线接口、
间接总线接口和SPI总线接口。既适合与类似8051单片机的总线连接,也非常适合与只有IO口而没有总线接口的控制器连接;第二部分是TCP /IP协议栈。W3150A+已经完全固化了从MAC层、网络层到传输层所需要的协议,因此,用户无需了解这些协议的具体实现方法和实现代码;第三部分是接收和发送缓冲区,通过以太网进行通信的数据就是通过这些缓冲区来交换的;第四部分是以太网物理层接口(MII接口)。W3150A +可以与物理层芯片RTL8201无缝连接,从而实现10/100BaseT以太网物理接口。

1.jpg


    W3150A+内部的寄存器分为两个存储器和两类寄存器。两个存储器分别用于数据传输的输入和输出,两类寄存器分别是通用寄存器和端口寄存器,每类寄存器都含有大量的状态字控制寄存器。下面简要介绍比较重要的状态字控制寄存器。
    Sn_MR:端口n模式寄存器,该寄存器用于设置端口的选项或协议类型;
    Sn_CR:端口n命令寄存器,该寄存器用来设置端口的初始化、关闭、建立连接、断开连接、数据传输以及命令接受等;
    Sn_IR:端口n中断寄存器,该寄存器用于显示建立和中止连接、接收数据、发送完成以及时间溢出等信息;
    Sn_PORT:端口n的端口号寄存器,该寄存器可在TCP或UDP模式下设定对应的端口号;
    S_TX_FSR:端口n发送存储器剩余空间寄存器,该寄存器用于指示用户可以使用的发送数据空间的大小,在发送数据前,用户必须先检查剩余空间的大小,然后控制发送数据的字节数;
    Sn_TX_RR:端口n发送存储器读指针寄存器,该寄存器用于指示端口在发送过程完成后发送存储器的当前位置。当端口n的命令寄存器收
到SEND命令后,可随即从当前Sn_TX_RR到Sn_TX_WR的数据中发送出去,发送完成后,Sn_TX_RR的值自动改变;
    Sn_TX_WR:端口n传输写指针寄存器,该寄存器可指示向TX存储器写入数据时的地址;
    Sn_RX_RSR:端口n接收数据字节数寄存器,该寄存器只是端口接收数据缓冲区接收数据的字节数,通常可由Sn_TX_RR到Sn_TX_WR的值计
算得出,向端口n命令寄存器写入RECV命令后,寄存器的值将自动改变,并可以接收远程对端的数据;
    Sn_RX_RD:端口n接收缓冲区读指针寄存器,该寄存器只是端口接收过程完成后的读地址信息。
    W3150A+内部有4个独立的端口(Socket),它们的状态、控制分别映射在第二到第五寄存器区。主要用于实现端口工作模式的控制(TCP服
务器、TCP客户端、UDP或PPPOE等)、设置该端口的端口号,设置该端口目的主机IP地址和端口号,以及端口接收和发送数据控制等。[page]

2 以太网接口的硬件设计
    本接口的硬件设计主要包括FPGA与W3150A+的接口设计,物理层芯片RTL8201与W3150A+的接口设计以及时钟模块和电源模块的设计。其硬件设计框图如图2所示。

2.jpg


2.1 W3150A+与FPGA的接口设计
    随着半导体技术的飞速发展,FPGA(Field Programmable Gate Array)的计算能力、容量以及可靠性有了很大的提高。它正以高度灵活的用户现场编程功能、反复可改写功能、高可靠性等优点,成为数字电路、数字信号处理等领域的新宠。
    考虑到成本、实用性以及功耗,本设计选用的FPGA芯片是Altera公司MAXII系列的EPM570GT100C4。MAXII系列器件是一种非易失性CPLD,采用0.18μm的制造工艺,并包含有240到2210个逻辑单元和8Kbits非易失性存储器,它相对于其他的CPLD可以提供快速、稳定、数量更多的I/O管脚。
    W3150A+与微处理器芯片的接口方式有三种:直接总线接口模式、间接总线接口模式和SPI模式。其中直接总线接口模式适用于大数据量传输的情况;SPI模式的接口连线较少,适用于数据量不大,传输速率相对较低的情况;间接总线接口模式下的数据传输性能则介于它们两者
之间。本系统采用直接总线接口模式,以便最大限度地提高数据的传输速率。其具体的接口电路如图3所示。

3.jpg


2.2 物理层芯片与W3150A+的接口设计
    RTL8201BL是一个单端口的物理层收发器,它只有一个MII/SNI(媒体独立接口/串行网络接口)接口。可用于实现全部的10/100M以太网物理层功能,包括物理层编码子层(PCS)、物理层介质连接设备(PMA)、双绞线物理媒介相关子层(TP~PMD)、10Base-Tx编解码和双绞线媒介访问单元(TPMAU)。PECL接口可支持连接一个外部的100Base-FX光纤收发器。这款芯片使用先进的CMOS工艺制作,可以满足低压低功耗的需求。
    RTL8201BL与W3150A+可通过标准MII接口相连,其中引脚RX_CLK、RXDV、RXD[0:3]以及COL用于数据的接收,而TX_CLK、TXE、TXD[0:3]用于数据的发送。其具体的电路图如图4所示。

4.jpg

[page]

3 数据传输的实现过程
    通过控制器对寄存器进行读写访问操作,W3150A+就可以进行网络连接。下面介绍具体的操作过程。
    首先应进行初始化。初始化设置包括基本设置、网络信息设置,端口存储器信息设置等,设置完后就可进行数据传输。数据传输可以
采用TCP、UDP、IP_RAW和MAC_RAW模式进行,并可在端口n模式寄存器(Sn_MR)的协议类型中选择通信模式。其中,基本设置包括模式寄存器(MR)、中断屏蔽寄存器(SIMR)、重发时间寄存器(RTR)、重发计数寄存器(RGR)等;设置网络信息包括设定网关(GAR)、设定源硬件地址(SHAR)、设定子网掩码(SUBR)、设定源IP地址(SIPR)等;而设置端口存储器信息则主要是设定发送缓冲区和接收缓冲区的大小分配,具体可通过设置RMSR、TMSR寄存器实现。
    本系统在FPGA芯片EPM570GT100C4的基础上可利用软件Quartus II来开发逻辑控制功能,从而实现对W3150A+的控制。其主要端口如下:
    nrst:复位输入键,低电平有效;
    clk:时钟输入;
    nwrst:复位输出,可复位W3150A+和RTL8201;
    nwr:对W3150A+写使能信号,低电平有效;
    nrd:对W3150A+读使能信号,低电平有效;
    ncs:W3150A+片选信号,低电平有效;
    address:15位地址信号;
    data:8位数据信号;
    本接口通信设计采用的是UDP通信方式,其通信流程图如图5所示。

5.jpg


    端口初始化主要是对端口进行初始化,包括设置UDP模式、设置端口号,设置OPEN命令;通过Sn_RX_RSR寄存器的值可检测是否收到数
据,若非零,即进入数据接收处理;接收处理时,首先读取Sn_RX_RSR寄存器的值,即接收数据字节数,然后计算偏址和实际物理地址,再根
据物理地址读取数据。在读取数据过程中,如果物理地址到达该端口设定的高限地址,则先读高限地址的数据,然后将物理地址改为基地址,然后再从基地址继续读取剩余的数据。读完所有的数据后,可将Sn_RX_RR的值加上读取的数据长度,然后写入sn_RX_BASE,最后再向端口n的指令寄存器写入RECV命令。
    发送数据?/发送处理的实现过程是首先读取S_TX_FSR寄存器的值以便能使用发送数据空间的大小来计算偏址和实际物理地址,然后再从
物理地址写入要发送的数据。在发送数据过程中,如果物理地址已到达该端口设定的高限地址,则先将数据写入高限地址,然后再将物理地
址改为基地址,接着从基地址继续写入数据。写完所有的数据后,再将Sn_TX_WR的值加上发送的数据长度,然后写入Sn_TX_BASE,最后向端
口n的指令寄存器写入SEND命令。
    发送完成的确定可在发送(SEND)命令后,通过检测Sn_CR的值来判断数据是否全部发送完成。
    当远程对端不存在或数据传输不正常时,将产生超时错误。此次可以通过对Sn_IR(TIMEOUT bit)检测来判断是否超时。
    当操作全部完成时,应关闭窗口,即将Sn_CR寄存器置为CLOSE。

4 结束语
    本文介绍了以太网接口的设计及其数据传输的实现过程。利用本文的方法可以使以太网接口正常运行,故可为后续的虚拟仪器开发奠定基础。事实上,本方法已经过多次试验证明:完全满足工程需要。

 

 

关键字:虚拟仪器  以太网  W3150A+ 引用地址:基于W3150A+的虚拟仪器通用以太网接口设计

上一篇:LabVIEW Robotics 2010图形化系统设计软件
下一篇:虚拟仪器在位移测试系统中的应用

推荐阅读最新更新时间:2024-03-30 22:14

以太网的远程控制信号调理系统
引言 在许多物理实验(核聚变实验装置托卡马克的放电实验)的数据采集过程中,由于待测信号微弱且测试环境电磁辐射严重等因素,在数据采集前端往往需要对信号进行滤波和放大等信号调理操作,以滤除信号噪声并将待测信号调整到后端数据采集卡的最佳量程范围,最终提高整个数据采集系统的分辨率。 一般认为在A/D转换器前加一个增益为2的前置放大电路可使测量分辨率增加1位,增益为4则分辨率将增加2位,以此类推。因此,在数据采集系统前端增加信号调理电路以扩展其动态范围是必要的。信号调理系统的以太网远程控制可以实现信号调理系统的统一管理,有效提高实验效率,并且减少实验人员进入实验现场调节调理电路的次数。 1 程控信号调理系统方案设计 设计需求
[电源管理]
<font color='red'>以太网</font>的远程控制信号调理系统
以太网控制器ENC28J60及其接口技术
引言   ENC28J60是Microchip Technology(美国微芯科技公司)近期推出的28引脚独立以太网控制器。   在此之前,嵌入式系统开发可选的独立以太网控制器都是为个人计算机系统设计的,如RTL8019、AX88796L、DM9008、CS8900A、LAN91C111等。这些器件不仅结构复杂,体积庞大,且比较昂贵。目前市场上大部分以太网控制器的封装均超过80引脚,而符合IEEE 802.3协议的ENC28J60只有28引脚,既能提供相应的功能,又可以大大简化相关设计,减小空间。 图1  ENC28J60的硬件连接 1  结构和功能   采用业界标准串行外设接口(SPI)的以太网控制器ENC2
[嵌入式]
激光声遥感系统显控软件的功能及设计
  1 引言   Windows操作系统因其卓越的性能已成为各个领域广泛采用的操作系统平台,由于Windows对系统底层操作采取了屏蔽的策略,因而对用户而言,系统变得更为安全,但这却给众多的硬件或者系统软件开发人员带来了不小的困难,因为只要应用中涉及到底层的操作,如直接访问I/O端口和物理内存等,开发人员就不得不深入到Windows的内核去编写属于系统级的虚拟设备驱动程序。笔者开发的激光声遥感系统显控软件中涉及到物理内存的访问和信号波形的显示,如采用VC++等语言开发,一方面开发虚拟设备驱动程序工作难度较大,另外波形的显示及选取定位等工作实现起来也较繁杂,而如果在Lab Windows/ CVI 环境下完成这一工作,这一切将变
[测试测量]
激光声遥感系统显控软件的功能及设计
通过CHNet-Q实现以太网通信及ModbusTCP配置方法
三菱Q系列PLC连接CHNet-Q实现以太网通信配置方法 CHNet-Q是兴达易控研制的一款经济型的以太网通讯处理器,是为满足日益增多的工厂设备信息化需求(设备网络监控和生产管理)而设计,用于三菱Q系列PLC圆口的以太网数据采集,非常方便构建生产管理系统。 CHNet-Q采用模块化设计,带通讯线。不占用PLC编程口,即编程软件/上位机软件通过以太网对PLC数据监控的同时,触摸屏可以通过复用接口X2与PLC进行通讯。 CHNet-Q支持工控领域内绝大多数SCADA软件,支持三菱MC以太网协议和ModbusTCP两种通讯方式。 CHNet-Q功能: 1、安装在35mm的导轨上,无需外接电源。COM1口连Q的MD6编程通
[嵌入式]
通过CHNet-Q实现<font color='red'>以太网</font>通信及ModbusTCP配置方法
基于虚拟仪器技术的校准软件研制开发
自主研制的激光跟踪测量系统通过激光测距和精密测角实现对空间目标的坐标测量。作为一个精密测角测距仪器,激光跟踪测量系统在出厂之前需要进行相应的校准,以获得仪器内部光学系统、机械结构、伺服系统的相关参数,并对仪器测量精度进行评估。为了使仪器校准过程简捷有效,开发通用型的校准软件很有必要。LabWindows/CVI是由美国NI公司推出的一种虚拟仪器软件开发工具,为熟悉C语言的技术开发人员在测控领域建立计算机仪器系统-虚拟仪器,提供了一个理想的软件开发环境。该软件的应用领域极其广泛,涵盖了军工、电讯、工业生产和航天等各种行业[1-2]。本文应用虚拟仪器技术,为自主研制的激光跟踪测量系统开发了基于LabWindows/CVI的校准软件。
[测试测量]
Vitesse将为以太网提出全新的系统架构和安全规范
将参加2014年以太网技术峰会的两个技术性讨论。 美国加州卡马里奥,2014年4月– 为电信网、企业网和物联网(IoT)网络提供先进芯片解决方案的领先供应商Vitesse Semiconductor公司(纳斯达克股票代码:VTSS)日前宣布:Vitesse首席技术官Martin Nuss博士将出席2014年以太网技术峰会(Ethernet Technology Summit 2014),并将在该峰会上提出针对系统架构和网络安全的新规范。该活动将于2014年4月29日至5月1日在美国加利福尼亚州圣克拉拉市(Santa Clara, Calif.)举办。 他将出席的活动包括: ·“确保以太网网络的安全:以太网网络中的身份验
[网络通信]
汽车工业中的虚拟仪器与虚拟试验技术
一. 虚拟仪器技术  1. 虚拟仪器技术简介  虚拟仪器(Virtual Instrument)是由美国国家仪器公司(National Instrument)于20世纪80年代首先提出的。他是基于计算机的软硬件测试平台,是计算机技术与现代仪器技术深层次结合的产物。在一个虚拟仪器系统中,硬件是整个系统赖以工作的物理平台,用来建立信号与计算机的连接通道,形成计算机的I/O接口。软件是整个虚拟仪器硬件系统工作的灵魂,用户通过由软件设计产生的接口界面才能与虚拟仪器硬件系统进行交流,而虚拟仪器的数据采集,分析,处理和显示功能也只有通过软件才能实现。虚拟仪器通过应用程序将通用计算机与仪器硬件结合起来,以透明的方式把计算机资源和仪器硬件的
[嵌入式]
嵌入式系统以太网接口的设计
    摘要: 介绍以8051系列单片机系统为例的嵌入式系统与10Mbps以太网控制器芯片DM9008的硬件接口电路的实现及编程方法。     关键词: 嵌入式系统 以太网 DM9008芯片 单片机 TCP/IP协议 目前,以太网(Ethernet)协议已经非常广泛地应用于各种计算机网络,如办公局域网、工业控制网络、因特网等场合,并且还不断地发展。基于以太网的新技术和联网设备不断出现,以太网已经成为事实上最常用的网络标准之一。 但是,基于以太网的嵌入式系统目前并是很多。其原因除了嵌入式系统本身运行速度较慢、资源较少且不足以实现以太网的各种协议外,更重要是设计以太网的接口及协议相对比较复杂,使人望而却步。
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新测试测量文章
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved