首页 > 应用 > EDA
[导读]

必威 www.uti-home.com

摘 要: 实现了一种用于上位机和FPGA处理板之间通信的可重配置接口,详细介绍了该接口的包格式设计和FPGA逻辑设计。仿真结果表明,该可重配置接口能根据信令,实现准实时在线参数配置,满足多种主流通信体制的不同速率要求。
关键词: 软件无线电;重配置;FPGA;网络接口

本文引用地址: http://www.uti-home.com/app/eda/201807/799502.htm

随着2.5 G和3 G的出现,使多种通信体制并存发展,它们在工作频段、波形结构、调制方式、编码方式、加密方式等方面的不同,既限制了系统之间操作的互通性,也影响了用户使用的便捷性。由于软件无线电SDR(Software Defined Radio)必威可以将??榛?、标准化和通用化的硬件单元和软件??榧稍谝桓鐾ㄓ玫奈锢砥教ㄉ?,通过软硬件的可重构,实现多种无线通信功能,故以软件无线电为基础、面向多种通信体制的兼容信号处理必威成为研究热点。
本文研制了一个能实现多种无线通信体制的软件无线电平台。该平台如图1所示,由上位机、FPGA处理板、射频板和天线组成。其中,上位机提供用户界面,并完成基带信号处理和系统控制。FPGA处理板主要完成各种通信体制的信号预处理。

考虑到平台对多体制速率的兼容性、用户远程配置处理平台的便捷性以及平台与现有网络的融合和向分布式处理[1]方向的可升级性和易扩展性等,该平台选用以太网接口作为上位机与FPGA处理板之间的连接方式。该以太网接口需要支持实时的在线重配置功能。
由于平台选用的FPGA器件是Alteral公司的CyclloneII2C70F672C8,芯片本身没有动态部分可重构的功能,不能利用文献[2,3]中介绍的Xilinx的VirtexFPGA的动态部分重构功能,只需要重新配置FPGA的部分区域,而FPGA其余部分正常工作。Off-Chip动态重构[4]的重构时间太长。??榈目芍匮≡馵5]的重构时间短,但耗费FPGA资源较多。为了满足平台的以太网接口对于一种配置时间较短而且耗用资源较少的配置方式的需要,本文提出并实现了一种上位机和FPGA处理板之间信令驱动的、参数可重加载的、可实时在线重配置的以太网接口,并详细介绍了该接口的数据/信令包的格式设计和FPGA中的逻辑设计。
1 可配置接口设计
1.1 接口电路原理描述
上位机和FPGA之间的接口电路如图2所示,主要由网络交换芯片BCM5325E和接口转换芯片RTL8201组成。其中,BCM5325E为网络交换芯片[6],工作频率为25 MHz。芯片集成了10/100 Mb/s切换控制器和6个端口,除了一个MII(Media Independent Interface)端口以外,另外5个端口(port0-port4)为全双工的10/100 Mb/s快速以太网收发器(满足IEEE802.3 u标准接口),完成以太网物理接口功能。RTL8201是一个快速以太网物理层收发器,工作频率为25 MHz,可以将IEEE802.3 u标准接口转化为MII接口。

发送过程中,上位机先将用户原始数据/信令按照一定的格式封装成网络包,通过网口发送到交换芯片的端口(port0或者port1),网络交换芯片将该网络包转发到相应端口(port3或者port4),然后经过相应的8201进行数据格式的转换,最后到达相应的FPGA,FPGA再对接收到的网络包进行解析处理,以恢复上位机发送的用户原始数据/信令。接收过程相反,FPGA发送的数据包依次经过8201、网络交换芯片后到达上位机。
1.2 接口包格式设计
上位机与FPGA之间需要交换数据包来完成通信双方的信息传输,还需要交换信令包来完成系统的重配置,因此需要接口能够区分不同类型的包。此外,不同通信体制下或不同传输业务中,数据速率不同可能要求包的长度不同,因此还需要接口能够灵活地识别不同长度的网络数据包。
标准EthernetII协议下的包格式如图3所示,其中D_MAC为数据包的目的地址,S_MAC为数据包的源地址,TYPE为数据包的类型,FCS为校验位。标准的EthernetII包不能满足所需接口的要求,需要在EthernetII协议的基础上做一些改动,形成适合于统一平台的网络包格式,如图4所示,图4(a)为数据包格式,图4(b)为信令包格式。

改进的包格式有以下特点:首先,将EthernetII协议的标准包格式中的数据段中划分出一部分作为标示域,其中长度域(Length)用来标示包中数据/信令的长度,时间戳域(Timestamp)用来标示包的发送或者接收时间。其次,通过Type域的内容来区分数据包和信令包。最后,数据包中的Data域用来装载用户数据,信令包的Infor域用来装载信令,如滤波器的参数配置信息、成帧??榈牟问渲眯畔?、编码??榈牟问渲眯畔⒌?。每个??槎杂Φ呐渲眯帕畹母袷轿?ldquo;Addr+Len+Para”,如图4(b)所示。首先是4 B的信令头信息,其中2 B表示该信令对应的内部??榈刂稟ddr,另外2 B表示该信令的长度Len;接下来的n B是信令的内容,即各??榈呐渲貌问齈ara。因此,用户可以灵活地选择需要配置的???,也可以根据需要设定这些??榈呐渲貌问?,而且每个??榈呐渲貌问某ざ瓤梢员浠?。

改进的网络包为统一平台,为实现灵活的切换方式提供了很好的基础,而且由于改进的网络包保留了EthernetII协议的基本特性,可以在现有的以太网中传输。
1.3 FPGA的逻辑设计
在接口电路中传输的是装载了用户数据/信令的网络包,在接口两端(即上位机和FPGA)都需要有相应的接口??槔炊酝绨薪馕龊头庾?。本文重点介绍FPGA端的接口???,如图5所示,由6个子??樽槌桑航獍?、打包、信令/数据切换控制、信令控制器以及FIFO。其中,解包是从MII口收取网络包,根据网络包的格式取出其中的信令/数据;打包是将信令/数据按照网络包的格式封装起来,发送到MII口;切换控制是用来选择控制信令通路或数据通路的开启;信令控制器解析信令,送往相应??榈呐渲枚丝?;FIFO用于缓存上行数据和下行数据。

该??橹饕瓿闪较罟ぷ鳎阂皇谴覯II口收发信令包,并将解析的信令送给各基带处理???,进行参数配置和模式切换;二是从MII口收发数据包,提供上位机到FPGA内部各个基带处理??橹涞氖萃?。
当系统在某种通信体制下正常工作时,上位机与FPGA之间的数据通路开启,同时完成双向数据的传输。待发送的下行数据经过解包、切换控制、FIFO_1传输到后续???;接收到的上行数据经过FIFO_2、切换控制、打包传送到上位机。
当系统需要切换到另一种通信体制时,上位机与FPGA之间的信令通路开启,完成??榈闹嘏渲?。配置信令经过解包、切换控制、信令控制后,解析出各配置参数送往相应??榻胁问嘏渲?;待各??榕渲猛瓿珊螅╩cu_reply有效),启动打包??榉⑺鸵桓鲂帕罨刂窗愿嬷衔换?。上位机收到FPGA的回执包后,系统已切换到新通信体制下,可以进行双向数据(上下行数据)的传输。
解包??椋捍覯II口获取网络包后,首先应核对网络包中D_MAC域的内容,若D_MAC域与本地MAC地址相同则接收该网络包,否则丢弃。然后取出网络包的Type域和Length域的内容,并根据Length域的长度信息取出包中的信令/数据,一并送往切换控制器。
切换控制??椋焊輙ype端口的信息选择开启信令通路或者数据通路。当开启信令通路时,将从datain端口输入的信令送到信令控制器;同时当检测到mcu_reply端口的有效脉冲后,驱动打包??榉⑺鸵桓鎏囟ǜ袷降男帕罨刂?。当开启数据通路时,将从datain端口输入的数据送到FIFO_1;同时将从端口fout_data输入的FIFO_2的数据送到打包???。
信令控制器:解析信令,并将根据配置信息完成??榈闹嘏渲?。信令控制器在mcu_en端口为高电平期间从mcu_data读取信令,并开始按信令格式“AddrN+LenN+ParaN”解析信令。首先根据内部预设的一个??槎丝诓檎冶?,查出AddrN对应??榈呐渲枚丝?包括configN_en,configN_data,configN_done)。配置时,configN_en为高电平,configN_data中传送的是配置信息(ParaN),configN_done在配置完成时会出现一个正脉冲。当信令控制器搜集完各个配置??榈腸onfig_done有效脉冲后,才输出一个mcu_reply有效脉冲反馈给切换控制器。
可重配置FIFO:缓存上行数据和下行数据,可以根据当前体制或业务需求来调整某些参数,以完成数据流的控制。例如FIFO一端连接的是固定的硬件网口速率(25 MHz时钟RXCLK/TXCLK),而另一端则需要实时改变数据速率,以匹配各种通信体制的上下行速率。本文中,可重配置FIFO中内嵌了一个参数可调的PLL,该PLL可以根据配置端口的config_data内容来实时改变时钟,因此FIFO能快速可靠地实现不同数据速率的切换。config_data的内容可以由用户在配置信令中自行设置,位宽为16 bit,可以完成216种不同速率(基本时钟为80 MHz,可以在基本时钟上倍频或分频)。
2 接口重配置过程的仿真
为了验证接口??榈恼4涫莸墓δ芤约霸谙咧嘏渲玫墓δ?,对接口??榻辛朔抡嫜橹?。仿真中,数据包的长度(即Length域)设置为1 490 B,Type1为080 A。信令包的长度(即Length域)设置为1 490 B,Type2为080 B,FIFO的配置信令长度设置为2 B。
仿真环境选用Modelsim,仿真中需要验证的场景是:
(1)初始配置过程,即在上电后,FPGA中的接口??榇覯II口接收到第一个信令包(图6中信令1),信令控制器根据其中的信令信息完成FIFO1和FIFO2的速率参数rate1的配置,并反馈给MII口一个信令回执包。
(2)数据传输过程,即FPGA中的接口??榇覯II口连续接收几个数据包(图6中数据1和数据2),数据通过切换控制器到FIFO1缓冲,再由rate1速率输出给后续的处理???。
(3)在线重配置过程,即在系统工作中,FPGA中的接口??榇覯II口接收到第二个信令包(图6中信令2),按(1)的过程配置FIFO的速率rate2,并反馈信令回执。

(4)新的数据传输过程,即同(2)的过程,数据由rate2速率输出给后续的处理???。
利用TestBentch产生rxdv、rxd、rxclk等MII口的输入信号以及sys_clk、reset_n等系统全局输入信号,即可模拟以上网络接口的运行过程。仿真结果如图6所示。
通过仿真表明,该接口能在上位机与FPGA之间准确地传输数据包,而且通过该接口还能实现FPGA中各个基带处理???如FIFO)的在线重配置功能。该接口从系统整体的角度出发,采用??榛枷牒侠淼鼗至烁鞲瞿?楣δ?,不仅资源利用率高,而且配置时间短,如单个FIFO??榈呐渲玫氖奔湫∮? μs,满足设计需求。
该接口通过在FPGA上进一步调试,已经在试验平台上开展测试。目前该接口可以满足几种主流通信体制的不同速率要求,用户可以自行选择需要配置的???,也可以设定这些??榈呐渲貌问?,切换过程灵活。
该接口在软件无线电平台上也已经开展测试,可以满足几种主流通信体制的不同速率要求,具有很好的兼容性、灵活性和稳定性,适合用于多种主流无线通信体制的不同速率要求。
参考文献
[1] 粟欣,许希斌,姚彦.基于网络的软件无线电系统及实现[J].电信科学,2001(11).
[2] EDSON L.HORTA,JOHN W.L,DAVID P.Dynamic hardware plugins in an FPGA with partial run-time reconfiguration.In DAC 2002(New Orleans,Louisiana,USA),2002(6):343-348.
[3] HADLEY J.D,HUTCHINGS B.L.Designing a partially reconfigured system.In FPGAs for Fast Board Development and Reconfigurable Computing,in Proc.SPIE 2607,1995:210-220.
[4] 谷銮,徐贵力,王友仁.FPGA动态可重构理论及其研究进展[J].计算机测量与控制,2007,15(11):1415-1418.
[5] 张海亮,赵行波,王亮,等.基于FPGA的可配置通信平台设计[J].微计算机信息,2006,22(11-2):192-194.
[6] http://www.broadcom.com/collateral/pb/5325-PB05-R.pdf.

换一批

延伸阅读

[真心话] 必威工程师焦点谈:软件与硬件的入门难度与精通时间跨度

必威工程师焦点谈:软件与硬件的入门难度与精通时间跨度

软件比硬件。简单多了。意思是说,软件任何初中毕业的人士都可以容易地入门。事实上很多年轻人在小学就精通软件了。......

关键字:软件 硬件

[猎聘集] 搞硬件工资比搞软件的低?是工作难度决定的

搞硬件工资比搞软件的低?是工作难度决定的

最近看到一件必威业界悲剧:一位博士毕业的高才生,在硅谷排名前十的一家半导体公司工作近20年,最近工资被他女儿超过了。他女儿加州理工本科毕业,在Facebook工作了2年。......

关键字:硬件 软件

[真心话] 做硬件9年了,心好累,当初就应该做软件!

做硬件9年了,心好累,当初就应该做软件!

在当今的时代,「三百六十行,行行出状元」这样的谚语,适合送给那些百分之两百热爱自己专业又埋头苦干的朋友们。......

关键字:硬件 软件

[真心话] 必威工程师眼中的软件同行儿们

必威工程师眼中的软件同行儿们

现在继续说说跟必威通讯算是隔壁的软件行业,其实这个行业我并不真的知道多少,只是很多学必威的也很大可能混进这个行业,所以顺带说说。......

关键字:必威工程师 软件工程师

[图酷] 危险的玩具:无线电??亓淳饪煽罩姓妒籽┤?/a>

危险的玩具:无线电??亓淳饪煽罩姓妒籽┤?></a></span><span class=危险的玩具:无线电??亓淳饪煽罩姓妒籽┤?></a></span><span class=危险的玩具:无线电??亓淳饪煽罩姓妒籽┤?></a></span></div></div></div><div id=

[真心话] 硬件工程师首次迈入软件领域,这11点是你必须注意的

硬件工程师首次迈入软件领域,这11点是你必须注意的

嵌入式系统设计不仅要求了解硬件,还要求了解软件的作用方式,以及如何与之交互。设计硬件需要的某种范式可能与设计软件完全相反。当从硬件设计转向包含软件的设计时,硬件工程师应牢记以下十个技巧。......

关键字:硬件工程师 软件领域

[疯狂史] PCB设计软件大解析,哪一款才是你的菜?

PCB设计软件大解析,哪一款才是你的菜?

PCB(Printed Circuit Board)设计软件经过多年的发展、不断地修改和完善,或优存劣汰、或收购兼并、或强强联合,现在只剩下Cadence和Mentor两家公司独大?!?.....

关键字:PCB设计软件

[新鲜事] 半导体企业工作20年的老爸工资被Facebook工作两年的女儿超越?

半导体企业工作20年的老爸工资被Facebook工作两年的女儿超越?

做硬件好还是做软件好?硬件真的不如软件有前(钱)途?这不是一个新鲜的话题,而是很多必威硬件工程师长久以来的无奈和痛楚。......

关键字:硬件 软件 工资

[真心话] 一位81年软件开发工程师老司机的自述

一位81年软件开发工程师老司机的自述

一位81年,工作了10年一直从事软件项目开发, 加入过五家公司的软件开发工程师的自述。......

关键字:工程师 软件开发
条评论

我 要 评 论

网友评论

必威子站

更多

人才招聘

更多

项目外包

更多

推荐博客