一款基于FPGA的无线电系统教学平台

利用赛灵思spartan-6器件和一些外设组件轻松为学生和新手构建一款有趣的演示平台。
我们近期打算北京理工大学开发一款数字设计教学平台,它能展现fpga在通信和信号处理领域的实际效用。这个平台要直观易用,能帮助学生了解数字设计的各个方面,同时还要便于学生针对自己独特的系统设计进行定制。
当时我们电子工程系进就能否用fpga的i/o引脚作为比较器或直接采用1位模数转换器展开了一场激烈辩论。我们决定验证一下前提条件,试图在xradio平台设计中采用fpga比较器。该平台就是我们采用赛灵思低成本spartan®-6 fpga和一些常见外设组件设计而成的一个全数字fm无线电接收器。去年赛灵思大学计划(xup)总监patrick lysaght刚好来北京理工大学访问,我们借机向其演示了这款能正常工作的无线电。这款设计的简易性给他留下了深刻印象,他鼓励我们在全球学术社区上分享xradio设计经历。
系统架构
我们几乎完全用fpga来构建xradio平台,省略了放大器或分立滤波器等传统模拟组件的使用(如图1所示)。首先,我们将用电线连接成的简单耦合电路链接至fpga的i/o引脚,创建出基本天线。该天线用于发射rf信号到fpga,fpga通过数字下变频和频率解调实现fm接收器的信号处理。我们随后通过i/o引脚向耳机输出音频信号。我们添加机械旋转增量解码器来控制xradio的调频和音量。我们设计该系统可让调频和音量信息显示在7段led模块上。
图2显示了fpga的顶层逻辑方框图。在这个设计中,耦合到fpga输入缓冲器的rf信号量化为1位数字信号。量化的信号乘以数控震荡器(nco)生成的本地震荡信号,倍频后的信号经滤波可得到正交iq(同相正交)基带信号。它随后通过频率解调器和低通滤波器从iq信号获得音频数据流。
实现细节
我们要解决的第一大难题就是如何将天线接收到的信号耦合到fpga。在首次试验性设计中,我们将fpga i/o配置为标准单端i/o,然后我们用电阻r1和r2构建分压器,以在fpga引脚处的vih和vil之间生成偏置电压。天线接收的信号可通过耦合电容c1来驱动输入缓冲器。由内部240mhz时钟驱动的d触发器的两级负责对该信号进行采样。触发器输出端获得等间隔的1位采样数据流。
数据流随后进入脉宽调制(pwm)模块,在其输出端上生成脉冲信号。脉冲信号经过滤波,可得到驱动耳机的比例模拟值。我们将控制器模块连接到机械旋转增量编码器和led。该模块从增量编码器获得脉冲信号,以调节nco的输出频率以及pwm模块控制的音频音量。
为了测试这个电路,我们将结果馈送给另一个fpga引脚并用频谱分析仪进行测量,看看fpga是否能准确接收信号。不过,它工作得并不好,因为分析器显示spartan-6 fpga的输入缓冲器有一个较小的120毫伏磁滞电压。虽然磁滞一般来说有利于避免噪声,但在本应用中我们并不希望有磁滞。我们必须想办法提高信号强度。
该设计大幅降低了信噪比,这是因为1位采样生成的噪声量化的结果。不过4个台在背景噪声下仍能正常收到。因此我们能证明这样一个理论,那就是fpga的i/o引脚能用作比较器或xradio中的1位模数转换器。
为了解决这一问题,我们发现差分输入缓冲器(ibufds)原语在正负终端之间灵敏度极高。我们的测试显示低至1 mv的峰至峰差分电压足以让ibufds在0和1之间摆动。图3显示了所设计的输入电路。在本实现方案中,电阻r1、r2和r3在ibufds的终端p和终端n处生成普通电压。接收到的信号通过耦合电容c1馈送给终端p(sidefile:///app/ds/)。ac信号经n侧的c2电容滤波后,其可用作ac基准信号。就此电路而言,fpga将fm广播信号成功转换为1位数据流。
无线电能收到强度不同的大约7个fm频道,包括103.9mhz北京交通台。该设计大幅降低了信噪比,这是因为1位采样生成的噪声量化的结果。不过4个台在背景噪声下仍能正常收到。因此我们能证明这样一个理论,那就是fpga的i/o引脚能有效用作比较器或xradio中的1位模数转换器。
就数字下变频而言,我们采用dds compiler 4.0 ip核构建数控振荡器,其系统时钟为240-mhz。正弦和余弦输出频率介于87mhz—108 mhz之间。nco生成的本地振荡器信号乘以1位采样流,并通过低通滤波器获得正交基带信号。这里,我们采用cic compiler 2.0 ip核来构建三阶低通cic抽取滤波器,其向下采样率r=240。由于滤波的基带正交信号为窄带信号,采样率降至1 msps。
图4显示了可将iq基带信号频率转换为音频信号的频率解调器。我们用rom中的查找表提取iq数据的瞬时相位角。整合iq数据并用作rom地址。随后rom输出相应复角(complex angle)的实部和虚部。接下来我们进行差异操作,按一下触发器,就会延迟相角数据。从原始数据中减去非实时数据,所得结果刚好为所需的音频数据。为了改进输出信噪比,我们通过低通滤波器用简单平均法对音频信号进行滤波。
频率解调器的8位音频数据流输出可根据音量控制参数缩放,并发送到8位pwm模块。pwm脉冲的占空比反映了音频信号的强度。脉冲在fpga的i/o引脚处输出,且通过电容驱动耳机。这里,耳机发挥低通滤波器的作用,去除音频信号中残余的脉冲的高频成分。
两个旋转增量编码器控制无线电的频率和音量。每个编码器输出两个脉冲信号。旋转方向和速度可由脉冲宽度和相位确定。状态机和计数器可将旋转状态转变为频率控制字和音量控制字。与此同时,对频率音量值进行解码,并显示在7段led上。
定制余地
xradio平台的印刷电路板如图5所示。利用spartan-6 xc6slx9 fpga,您可设计出一个只占很少一部分fpga逻辑资源的广播节目,如表1所示。这就意味着学生们可以定制设计并加以改善。举例来说,就1位采样而言,xradio的音质不如标准fm无线电,不过这给学生们留下了很大的遐想空间,让他们设法如何改进xradio音质以及如何实现立体声。
图5 – 合著者、研究生xingran yang展示工作模型

怎样用18650给手电筒供电
生物毒性分析仪的应用领域及特点
Google Earth让我们探索整个地球
数字电位器在液晶显示模块温度补偿电路中的应用
ECS运维:操作系统有异常?诊断日志来帮忙!
一款基于FPGA的无线电系统教学平台
环绕式摄像头和超声波传感器是否已具备实现停车的能力
基于一个搭建区块链系统的Substrate开源平台介绍
iphone7售价预计多少,苹果7国行价未开卖先成迷
数字时代家居新零售的五大趋势介绍
基于单片机和FPGA的简易数字存储示波器设计
主动红外对射探测器应用于无人值守地磅系统
基于Infineon的汽油发动机管理设计方案
喜讯丨翠展微电子连续第四次荣登毕马威“芯科技”新锐企业50强榜单
伺服电机零点校准_伺服电机回原点不准
为什么PCB布线中要尽量避免锐角和直角走线
SKYLAB简单介绍WiFi模块与ZigBee模块的三大区别
三星要求ASML在一个月内交付9台EUV光刻设备
夏普与富士康合作研发出能掰弯OLED手机屏抢夺苹果未来订单
电源变压器的设计与制作