当前位置:首页 > 工业控制 > 电子设计自动化

  当前,SoC向着面积更小、速度更高的方向发展,百兆网通信已不能满足人们的生产和工作需要,用千兆网通信成为工作中迫切的要求。用FPGA实现千兆网的通信,有二种模式可以选择:其一,编写一个IP软核;其二,用FPGA内嵌的MAC内核。方法一的灵活性大,但要实现并不容易,因此,赛灵公司将其归为收费IP;方法二中,MAC的三态可配置特性为实现千兆网通信提供了可能。本设计就是基于此内嵌的Ethernet MAC模块,在Vx-Works操作系统下成功实现了千兆网的通信。

  1 Virtex4 FX系列FPGA中内嵌的千兆通信硬核架构

  Virtex4 FX系列FPGA中内嵌了多个用于千兆通信的硬核。以XC4VFX20为例,如图1所示,它通过一个主机接口连接了2个EMAC核。2个EMAC可以一起使用,也可以只使用其中的一个。

  Virtex4中嵌入的Ethernet MAC硬核主要特点:

  ◆支持半双工和(或)全双工操作;

  ◆设计符合IEEE 802.3-2002标准;

  ◆支持3种操作模式:1 Gb/s、100 Mb/s、10 Mb/s;

  ◆支持MII、GMII、RGMII、SGMII通信方式;

  ◆为不限长度的VLAN帧和JUMBO帧提供技术支持;

  ◆提供了可选的网络管理特性,包括基于每个分组的统计数据矢量和流程控制。

  通过一个与处理器无关的接口,可以对TEMAC核进行配置和监控,其为用户选择适合其应用的理想处理器提供了附加的灵活性。

  在1 Gb模式下,TEMAC支持千兆位级媒体独立接口(GMII)和降低千兆位级媒体独立接口(RGMII)。GMII是一个运行频率为125 MHz的字节宽并行SDR接口,而RGMII是一个运行频率为25 MHz的半位元组并行DDR接口,可以提供的总带宽为1 Gb/s。而且,在100 Mb/s和10 Mb/s模式下,TEMAC均支持MII接口。MII接口是4位宽,在100 Mb/s模式下其工作频率为25 MHz。在10 Mb/s模式下,MII接口的工作频率为2.5 MHz。

  由于Virtex4中嵌入了Ethernet MAC硬核,同时,FX系列还嵌入了PowerPC,这样,就可以用PowerPC控制Ethernet MAC实现千兆网的通信。

  2 VxWorks下BSP的移植

  VxWorks 操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS)。它采用微内核的结构,具有支持多种处理器、丰富的网络协议、良好的兼容性和裁剪性等特点,同时具有程序动态链接和下载的功能。自从20世纪80年代问世以来,以其不断推出的升级版本、高性能内核以及友好的用户开发环境,在嵌入式实时操作系统领域逐渐占据一席之地,尤其以成功应用于火星探测车和爱国者导弹等高科技产品而闻名。VxWorks的板级支持包BSP (Board Support Package)是介于底层硬件和上层软件之间的底层软件开发包,主要功能是屏蔽硬件,提供操作系统的驱动。具体功能包括:

  ◆单板硬件初始化,主要是CPU的初始化,为整个软件系统提供底层硬件支持;

  ◆为操作系统提供设备驱动和系统中断服务程序;

  ◆定制操作系统的功能,为软件系统提供一个实时多任务的运行环境;

  ◆初始化操作系统,为操作系统的正常运行做准备。

  在嵌入式系统设计中,BSP的开发是一项非常复杂而繁琐的工作,Xilinx公司提供的EDK套件,可以在很大程度上减轻开发者的工作负担。EDK中的 BSP生成器(BSPgen)可以根据不同的微处理器、外设和RTOS组合自动产生用户可裁剪的BSP。它包含了系统所必需的支持软件,包括Boot代码、设备驱动和RTOS的初始化。利用BSPgen可以把Xilinx器件驱动打包到BSP的子目录下,并且把Xilinx器件驱动与VxWorks及其 Tornado集成开发环境无缝集成,充分缩短开发周期。

  但是,BSPgen生成的BSP只是一个固定的BSP模板,并不能正确地反映RAM/ROM的存储器映射,不支持用户通过BSPgen流程自定义的核/驱动等。因此还需要对BSPgen产生的BSP进行修改。

  对BSP开发人员来讲,借助EDK的BSPgen,还必须要做以下几项工作:

  ①修改config.h和Makefile中的RAM、ROM地址及串口速率;

  ②修改sysSerial.c,对串口进行正确的设置;

  ③增加不能与VxWorks无缝集成的器件的驱动文件,关键性中断、GPIO接口等;

  ④配置sysNet.c中的以太网参数,设置MAC地址;

  ⑤根据EDK中的配置,禁止或使能Cache;

  ⑥修改sysL ib.c,以显示正确的信息;

  ⑦设置主机IP地址。

  经过以上修改之后,将新的BSP放在Tornado的安装目录Tornado_root\target\config下。根据这个BSP,在Tornado集成环境下生成一个新的VxWorks工程,然后就可以进行一般的嵌入式操作系统开发了。

  EDK中RAM和ROM的地址映射如表1所列。

  若为表1所列的工程,则在config.h和Makfile文件中要进行如下修改:

  sysNet.c中通过以下语句定义了网络的MAC地址,必须根据真实的MAC地址进行修改,如本文的MAC地址:00:0A:35:01:88:25

  sysSerial.c对串口进行初始化,因为要正确地指定串口ID,sysLib.c中可以显示VxWorks镜像的信息,因此也要进行相应的修改,如将

  通过对EDK下牛成的BSP的修改,并在Tornado集成环境下生成正确的VxWorks镜像后,可以将其下载到FPGA中。观察串口的输出是否正确,可以进行相应的调试工作,以确定BSP的移植是正确的。

  3 UDP服务器/客户端程序

  对VxWorks BSP进行正确的配置和修改后,在useAppInit.c中书写自己的UDP服务器端程序。本设计用基于socket的UDP通信。

  网络通信一般可通过socket实现。socket编程均采用客户机/服务器模式,VxWorks提供了标准的BSDsocket调用,支持UDP协议。UDP协议即数据传输协议,它允许创建和维护与远程计算机的连接,使其彼此可以进行数据传输。通信过程如图2所示。

  服务器首先调用socket()建立一个套接字socket,然后调用bind()将套接字与一个本地网络地址(IP地址和端口号)捆绑在一起,以保证客户端正确识别。接着服务器再调用listen()使套接字处于被动的准备接收状态,同时规定它的请求队列长度,随后调用accept()来接收客户连接。服务器进程随即进入阻塞状态。客户与服务器的关系是不对称的。服务器先启动。然后在某时刻客户主动发出请求,服务器被动应答。

  客户端程序首先调用socket(),这个函数产生用于与各分系统连接的套接口,并为每个套接口返回一个ID号。然后初始化一个套接口结构体,为其赋上该 ID号以及服务端的IP地址和端口号,并将其作为函数connect()的参数.调用connect()函数主动去连接服务端。

  当服务端与客户端建立连接之后,就可以发送(write)和接收(read)数据。部分代码如下:

  客户端应用程序在Windows下用VC实现,代码略。

  4 实验结果

  结合工程实际开发的顺序,分2步对VxWorks下千兆网通信进行测试:

  第1步,在usrAppInit.c中打印hello the world,若出现图3所示窗口,则证明VxWorks内核已正确加载,以及BSP移植的正确性。程序跑到用户编写的usrAppInit.c。

  第2步,对编写的UDP服务器/客户端进行测试,结果如表2所列。

  5 结 论

  由于FPGA中嵌入了PowerPC处理器及用于千兆网通信的Ethernet MAC,这样,为利用FPGA实现高速网络通信奠定了基础。本文在VxWorks操作系统下实现了UDP的千兆网通信,实测速度达到294.68 Mb/s,吞吐量达到近30%。

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

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 信息技术
关闭
关闭