当前位置:首页 > 通信技术 > 通信技术
[导读]虚拟仪器以其性价比高、开放性强等优势迅速占领了市场,并成为测控仪器新的经济增长点。步入信息化时代最显著的标志就是信息网络在各行业中的渗透和普及,其中以太网最为典型。以太网总线有可能代替现行的其他总线方

虚拟仪器以其性价比高、开放性强等优势迅速占领了市场,并成为测控仪器新的经济增长点。步入信息化时代最显著的标志就是信息网络在各行业中的渗透和普及,其中以太网最为典型。以太网总线有可能代替现行的其他总线方式而成为虚拟仪器数据采集系统的首选接口。

  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以太网物理接口。
  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地址和端口号,以及端口接收和发送数据控制等。
  2 以太网接口的硬件设计
  本接口的硬件设计主要包括FPGA与W3150A+的接口设计,物理层芯片RTL8201与W3150A+的接口设计以及时钟模块和电源模块的设计。其硬件设计框图如图2所示。

 


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

 

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

 


  端口初始化主要是对端口进行初始化,包括设置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 结束语
  本文介绍了以太网接口的设计及其数据传输的实现过程。利用本文的方法可以使以太网接口正常运行,故可为后续的虚拟仪器开发奠定基础。事实上,本方法已经过多次试验证明:完全满足工程需要。

 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭