王明蕾 王莹
摘要:本文利用FPGA与VC++设计了一套基于软件无线电架构的通信原理实验教学平台,介绍了实验平台的硬件与软件设计。可在VC++环境下实现各种通信功能模块,并由FPGA部分完成基带信号的发送与接收,能够帮助学生熟练掌握通信原理的基本概念。
关键词:FPGA;VC++;通信原理;实验教学平台
中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2018)30-0268-02
通信原理是通信工程等电子信息类专业的重要专业基础课,其前序课程包括线性电子线路、非线性电子线路、信号与系统、数字电路与逻辑设计等课程,在通信原理的教学中理论教学与实践需要相辅相成,实验课在帮助学生熟练掌握通信理论的过程中发挥着关键作用[1]。近年来,随着软件无线电技术的不断成熟,将软件无线电技术应用于本科生通信原理课程实验教学,引导学生通过软件设计实现并验证通信原理理论知识,从而扎实掌握理论知识,并培养学生运用所学知识解决实际问题的能力,已引起人们的广泛关注[2]。
可编程逻辑器件FPGA具有资源丰富、逻辑功能强大、开发周期短、成本低等优点,并支持反复编程修改,非常适合于构建软件无线电系统的硬件平台,本文利用FPGA实现软件无线电的基带信号底层硬件实验平台,由FPGA控制D/A和A/D转换器实现基带通信信号的发送和接收。上位机的软件实验环境基于VC++语言实现,通过设计的API函数为用户提供数据交换接口,支持学生利用C++语言设计实现通信系统的各种功能模块,如信道编译码、调制解调、信道估计、同步等,并形成系统,实现可视化数分析。上位机与FPGA底层收发单元通过通用串行总线(USB)交换数据,从而形成一个通信基带信号产生、基带信号发送、基带信号接收和通信信号处理于一体的系统,从而增加了实验平台的通用性。学生可对实验平台进行焊接调试、编程设计等,增强实践经验。此外,实验平台还可作为课程设计、电工实习、毕业设计等教学环节。
一、实验平台的硬件设计实现
实验硬件平台中以Altera公司的EP1C12Q240C8N作为主控芯片,其他部分包括A/D、D/A、USB接口、Flash、RS232接口等电路,从功能上划分为数字电路和模拟电路两部分。
1.FPGA的配置电路。实验平台选用Altera公司的Cyclone I系列的EP1C12Q240C8N,这是一款低成本、低功耗的FPGA芯片,共有12060个逻辑块,239616比特RAM,240个管脚。这款FPGA芯片支持复杂的逻辑功能设计,并具有足够的资源实现USB通信功能,完成与上位机的通信。FPGA的配置电路包括时钟电路、复位电路、下载配置电路、供电接口电路。系统时钟由50MHz的有源晶振提供,采用专用复位芯片IMP811组成复位电路,使用JTAG和AS两种下载模式,供电接口电路由系统供电模块提供。
2.系统供电电路。对实验平台进行模块化设计,分为数字电路板和模拟电路板。数字电路板由FPGA、SRAM、串口、USB接口芯片组成,模拟电路板由D/A、A/D、低通滤波模块组成,两者通过卡槽连接。数字电路板采用自供电或USB总线供电两种方式,可通过跳线进行选择。当外部电源模块提供±12V电源时,系统供电电路利用AMS1117-5V、AMS1117-3.3V、AMS1117-1.5V分别得到+5V、+3.3V和+1.5V,并通过卡槽为数字和模拟两块板卡实现供电。
3.数-模转换。为了实现复基带信号的发送,选用了TI公司生产的双通道数-模转换电路芯片DAC8822。DAC8822是一款分辨率为16位的高性能数-模转换器,供电范围是+2.7V至+5V,适用于低功耗、低噪声、高速转换的应用。本文设计的硬件平台产生的模拟信号电压范围是-5V至+5V,故配置DAC8822工作在双极性模式下,参考电压设定为+5V。此外,本文还在DAC8822的信号输出端设置了基于运算放大器的电流信号到电压信号的转换电路,将DAC8822输出的电流信号转化为电压信号,以便于测量与观察。
4.模-数转换。硬件平台中的模-数转器的作用是对复基带模拟信号进行采样,本文发送端产生的模拟信号最高频率为50kHz,基于此,模-数转器选用了TI公司生产的最高采样频率为250kHz的ADS8509芯片。ADS8509是一款逐次逼近型模-数转换,转换精度为16位,采用串行数据输出方式,可以显著减少占用FPGA芯片的管脚数目。本文将ADS8509配置于内部时钟、双极性输入电压信号、二进制补码数据输出格式的工作模式。
5.低通滤波模块。硬件平台的低通滤波器模块主要作用是对数-模转换器的输出信号进行平滑处理,和对模-数转换器的输入信号进行限带滤波,从而避免产生混叠现象。本文使用TI公司FilterPro滤波器设计软件[3]进行低通滤波器的设计。将所需滤波器参数输入FilterPro软件,FilterPro便可以计算显示出目标滤波器的幅频特性、相频特性曲线,并提供相应硬件电路的参考设计。
6.通信接口模块。通信接口模块是硬件平台与上位机之间的通信通道,本文采用了基于USB方式的通信接口,相应的USB接口芯片为CY7C68013A,这是Cypress公司推出的一款集成了USB2.0通信协议的接口芯片,可为用户提供高速的数据交换接口。CY7C68013A的内部核心功能部件包括USB 2.0收发器、增强型8051内核、可编程接口等模块[4]。Cypress公司针对CY7C68013A的开发提供了完善的开发包工具,使用户能够快速地进行USB2.0通信接口设计。
二、应用程序設计实现
VC++6.0由于具有可视化和面向对象的编程技术,功能强大,界面友好,易于使用,因此在通信原理实验仿真系统的设计中得到采用。本文是在VC++6.0的开发环境下创建了一个基于MFC框架的对话框应用程序,在应用程序中提供了数据的发送与接收模块可以完成数据在底层设备中的传输;为了使应用程序具有显示功能以及基本的数据分析能力,在应用程序中开辟了绘图区域,来完成数据的波形绘制以及频谱分析波形。此外,为了响应应用程序的操作,还需USB固件程序以及驱动程序的配合。
三、实验平台应用案例
本文在上位机的实验软件系统中提供了多种接口API函数,学生在实验过程中可以方便地将用C++语言编写的通信系统程序嵌入到本实验平台中,可以达到灵活配置的目的。这里通过OFDM通信实验来介绍基于本实验平台的实验过程。OFDM首先将待发送的串行比特流映射成数据符号,并根据设定的子载波数目,将串行的数据符号转成并行的数据符号,之后,利用快速傅里叶变换将频域数据转成待发送的时域信号。而接收端则利用逆傅里叶变换将接收到的时域数据转变为频域数据,并通过解映射恢复出发送的信息。数据发送端在上位机上通过C++语言编写程序实现OFDM调制功能,得到待发送的复基带数据,并经过USB接口发送到硬件平台上,硬件平台在接收到上位机的发送指令后,就控制数-模转换器将数据转换成模拟信号输出。数据接收端的硬件平台控制模-数转换器持续采样,并将采样数据经USB接口发送至上位机软件系统,学生编写C++程序,对接收到的数据进行处理,实现OFDM通信解调功能,并支持在窗口内绘制发送与接收的数据的波形,对数据可以进行频谱分析,还可以根据实际情况进行另外的功能设计等等。
四、结束语
本文采用Altera公司Cyclone I系列的FPGA芯片结合VC++编程设计实现了一套基于软件无线电技术的通信原理实验教学平台,能够产生模拟基带通信信号并实现基带通信信号的采样,支持灵活地实现通信系统的各种功能模块。该实验平台提供的各项实验以及开放性的设计思想能够培养学生的创新能力和动手能力,使学生能够直观体会到设计与开发的乐趣。
参考文献:
[1]徐彦凯,双凯,姜珊.通信原理实验教学的探索[J].实验室研究与探索,2011,30(6):316-318.
[2]杨宇红,袁焱,田砾,陈大华,李安琪.基于软件无线电平台的通信实验教[J].实验室研究与探索,2015,34(4):186-188.
[3]赵晓群,张洁.巴特沃斯低通滤波器的实现方法研究[J].大连民族学院学报,2013,15(1):72-75.
[4]刘志华,郭付才,彭新伟,陈吉东.基于CY7C68013A的FPGA配置和通信接口设计[J].电子技术应用,2013,39(2):18-21.