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

虚拟仪器以其性价比高、开放性强等优势迅速占领了市场,并成为测控仪器新的经济增长点。步入信息化时代最显著的标志就是信息网络在各行业中的渗透和普及,其中以太网最为典型。以太网作为一种成本低廉、吞吐能力强、适应性好、网络管理能力日益提高的网络,它可以方便地将数据采集系统纳入局域网甚至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以太网物理接口。

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

基于FPGA与W3150A+的以太网接口设计

端口初始化主要是对端口进行初始化,包括设置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 结束语

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

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

全球嵌入式技术领域的年度盛会2026嵌入式世界展(Embedded World 2026,简称EW26)于3月10日至12日在德国纽伦堡成功举办。作为物联网和边缘AI领域的领先企业,Silicon Labs(亦称“芯科科...

关键字: 物联网 边缘AI 嵌入式

中国,上海——2026年3月26日——低功耗可编程领域的领导者,莱迪思半导体(NASDAQ: LSCC)今日宣布正式加入英伟达(NVIDIA) Halos AI系统检测实验室生态体系。该实验室是首个获得美国国家标准协会认...

关键字: 物理人工智能 传感器 FPGA

3月10日至12日,2026年嵌入式世界展(Embedded World 2026,简称EW26)在德国纽伦堡展览中心成功举办。作为领先的边缘AI与智能音频等媒体处理技术和芯片解决方案提供商,XMOS以沉浸式演示与技术交...

关键字: 边缘AI 智能音频 嵌入式

在工业自动化的“神经网络”中,EtherCAT凭借其独特的“飞过处理”机制,已成为实时控制领域的王者。不同于传统以太网的存储转发,EtherCAT数据帧在经过每个从站时,硬件直接从中提取数据并插入响应,这种“边飞边修”的...

关键字: EtherCAT FPGA 总线

在复杂的SoC芯片设计流程中,硬件与软件的“割裂”往往是导致项目延期的元凶。当RTL代码还在仿真阶段时,软件团队只能基于指令集模拟器(ISS)进行开发,不仅速度慢如蜗牛,且无法捕捉真实硬件的时序细节。此时,FPGA原型验...

关键字: SoC 硬件加速 FPGA

在工业4.0浪潮中,边缘计算网关正成为连接物理世界与数字世界的核心枢纽。面对多路传感器产生的海量数据洪流,传统单芯片架构已难以满足实时性与算力的双重需求。NVIDIA Jetson与FPGA的异构组合,通过"前端FPGA...

关键字: 边缘计算 NVIDIA Jetson FPGA

在嵌入式系统开发中,SoC(System on Chip)的多样性始终是横亘在开发者面前的难题。以某工业物联网网关项目为例,其需同时支持NXP i.MX8M、Rockchip RK3566和Allwinner H616三...

关键字: Platform Driver模型 嵌入式

在高速网络通信领域,FPGA凭借其并行处理能力成为实现以太网MAC(媒体访问控制)层的理想平台。然而,面对1G甚至10Gbps的线速流量,传统的“软件式”逐包处理早已力不从心。构建高效的包处理流水线(Packet Pro...

关键字: 以太网 MAC FPGA

在FPGA实现数字信号处理(DSP)算法时,DSP Slice作为专用硬件资源,其利用效率直接影响系统性能与成本。本文聚焦乘加运算(MAC)的优化实现,分享流水线设计与资源复用的实用技巧,帮助开发者在有限资源下实现更高吞...

关键字: FPGA DSP

在异构计算的浪潮中,FPGA凭借其可重构特性与高能效比,成为突破算力瓶颈的“利刃”。然而,当我们试图通过OpenCL将FPGA纳入统一计算平台时,一个巨大的幽灵始终盘旋在系统上方——内存带宽瓶颈。PCIe总线的有限带宽与...

关键字: OpenCL FPGA
关闭