侵权投诉
当前位置:

OFweek电子工程网

RF/无线

正文

经验分享:我在无线通信芯片验证中的那些事

导读: 实验室的UWB演示系统是国家某重大专项,在超宽带的试验网上也算走在国内前列,数年前小弟对FPGA了解不多,却有幸能参与其中,接受历练,如今芯片就要回来了,回顾这些日子里的生活,感触良多。刚好马上就要找工作了

  实验室的UWB演示系统是国家某重大专项,在超宽带的试验网上也算走在国内前列,数年前小弟对FPGA了解不多,却有幸能参与其中,接受历练,如今芯片就要回来了,回顾这些日子里的生活,感触良多。刚好马上就要找工作了,也算是给自己攒人品吧,跟大家分享一点自己在无线通信芯片的实现和验证中的那点事吧。

  我们演示系统是类似于无线个域网的多点传输系统。主要由RF、基带、MAC、PC侧应用四个部分组成。RF主要完成信号的调制解调及高频信号的发送与接收,传输频率在4GHZ,信号带宽为1G,2Ghz的采样率(赖奎斯特采样)。基带部分主要完成同步及编解码功能。MAC则主要是完成时隙管理及分配、MAC帧的拆组帧、物理帧的拆组帧、误码校验、数据缓存等等功能。PC侧应用主要是摄像头的实时采集压缩、高清视频的生成与播放,此外还包括很多的无线应用,如无线打印机等等各种实际应用器件。个人主要完成MAC部分的实现、验证以及整个系统的联调。

  我们FPGA主要是Altera的stratix1\2\3,方案的设计与各功能块的具体实现是整个项目的重点,不过由于系统联合测试是个人觉得最为恶心的部分,也可能是大家最有共性的部分,所以仅就此扒一扒当初的那些苦逼的点点滴滴中少许收获。

  首先,是对繁多的模块的正常工作的监控。由于各个模块的负责人对接口的理解可能有偏差,所以某些模块的不正常工作可是常事。而往往一个问题,就会使得整个系统的数据传输完全乱成一团,定位费时费力,大家都知道逻辑分析仪的每次重新绑定都要重新编绎,而我们总的程序又很大,编绎一跑下来就是半个小时,压力肯定山大。为此,我们设计了监控模块,对各个模块的关键信号进行统计并计数,统计结果组成IP包,通过嵌入数据接收包内,传输到PC机侧。修改应用程序面板,识别我们做过标记的IP包,实时显示各个关键数据,如同步位,帧标志位、误码误帧结果等等。这一下就省心多了,有一种坐在驾驶座前的感觉,面对各项指标有了了然于胸的轻松。

  第二,误码。这个时候,其实数据流已经可以对传了,在信道衰减40dB下,双向高清视频的开启还是很流畅的,但是时不时出现的马赛克着实让人揪心,除去BER,各项指标还挺正常。不跑高清跑测试数据吧,BER立马就下来了,完全搞不清问题在哪,连在发送节点还是接收节点都不能确定。我们只好在底层保持高清数据流的产生,维持其突发性,但偷偷把数据替换成从我们配置好的ROM里读出来的数据。再用matlab默默的仿真出其在加各种头,以及编解码后的结果。再在程序各个位置加误码统计功能模块。对每10的8次方字节的数据进行统计,并保持其历史最高值,连信道里波形都用示波器抓下来看了。最终成功的把错误找出来了。

  事实上,在应用DSP中断、SDRAM、USB68013、DDR2及各模块调试等等上我们都绕了挺多弯路,也遇到很多问题。比如,我们最初的代码里的FIFO都是showahead模式的,不过由于后仿实现中normal模式的更简单可靠,我们不得不花不少时间重新修改并调试,如果这些知识在最初就知道,就不会有这么折腾的事发生了。不过,上面两个是我觉得不理性最容易出问题的地方,但愿各位和我一样懵懂的同学,能有点启示。
 

声明: 本文由入驻OFweek公众平台的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。

我来说两句

(共0条评论,0人参与)

请输入评论内容...

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

文章纠错
x
*文字标题:
*纠错内容:
联系邮箱:
*验 证 码:

粤公网安备 44030502002758号