基于FPGA的扩频序列产生与检测电路设计
实验题目:基于 FPGA 的扩频序列产生与检测电路设计
1. 课程简要信息
课程名称:数字电路与系统实验
课程学时:12
项目学时:3
适用专业:信息与通信工程
学生年级:2年级、上学期
2. 实验内容与任务(限 500 字,可与“实验过程及要求”合并)
项目需要完成的任务(如需要观察的现象,分析某种现象的成因、需要解决的问题等);是否设计有不同层次的任务。
1) 基于 FPGA 平台,设计一个长度为 7 的 m 码序列生成器:
任务层次 1 级,通过时间控制语句实现;任务层次 2级,通过多路选择器和模 7 计数器的方式实现;任务层次 3级,通过译码器器和模7计数器的方式实现;任务层次 4 级,通过 ROM 存储预存码序列,并通过计数器循环读取的方式生成序列;(5) 任务层次 5级,通过反馈移位寄存器方式实现。
2) 基于 FPGA 平台,设计一个长度为 7 的 m 码序列检测器:
(1) 任务层次 1级,通过串并转换和 if语句实现;
(2) 任务层次 2级,通过匹配滤波器实现;
(3) 任务层次 3级,通过串行相关器实现;
(4) 任务层次 4级,通过并行相关器实现。
3) 将上述 m 序列的生成器与检测器联调,观察相关函数:
(1) 任务层次 1级,通过软件仿真实现;
(2) 任务层次 2 级,通过远程 FPGA 平台实现并观测;
(3) 任务层次 3级,硬件实现,并通过内部逻辑分析仪观测;
(4) 任务层次 4 级,硬件实现,并通过示波器观测。
3. 实验过程及要求(限 300 字)
如对学生在实验过程中在需求分析、资料查询、自学预习、思考讨论、方法设计、进程规划、软件仿真、平台构建、器件选择、表格设计、现象观察、数据测试、问题分析、总结报告、验收答辩、演讲交流等各方面的要求。
1) 理论课给出学生查阅资料的引导信息,学生通过自学尽可能多地查找伪随机序列的生成与检测方法;
2) 教师总结伪随机序列生成算法,以长度为 7 的 m 码为例介绍反馈移位寄存器结构,并引导学生们联想理论课内容,通过不同手段生成序列;
3) 教师总结伪随机序列检测算法,结合移位寄存器介绍不同检测手段,并引导学生联想理论课内容,通过异或实现乘法,通过移位寄存器作串并转换,思考讨论7 比特长的伪随机序列如何做 FFT;
4) 学生自主选择硬件结构和实现手段,实现电路;
5)通过预先准备的各级电路输出波形和标准 7 比特 m 码生成与检测电路,帮助学生们调试电路;6) 撰写设计总结报告,并通过分组演讲和视频演示,学习交流不同解决方案的特点。
4. 相关知识及背景(限 150 字)
项目涉及所需的知识方法、实践技能、应用背景、工程案例。
这是一个以时序电路设计为核心,综合运用数字电路知识并联系后续专业课程的题目。涉及反馈移位寄存器,多路选择器,译码器,计数器模值参数设定等相关知识与技术方法。关联扩频理论、信号检测理论,及时序电路自启动问题,异步清零问题,模块使能与系统能耗、硬件规模与制造成本,设计复杂度与可靠性等工程概念。
5. 实验环境条件
项目实施需要实验资源,包括实验装置功能、实验仪器设备、设计软件工具、主要电子元器件等。
1) FPGA 口袋机;
教学组引入了一款便携式。口袋机核心芯片型号为 EP4CE30F23C8N,整套采用主母板形式,分为核心板、母板和功能底板,核心板集成最小系统,集成 SRAM、NorFlash、EPCS、时钟和MCU等,方便用户二次开发,母板集有外部基础功能,有以太网、HDMI、音频、SD卡、USB Host和USB转UART等接口,功能底板为功能扩展使用。
口袋机尺寸仅 $1 3 5 \mathrm { m m \times 9 0 m m }$ ,具有较为坚固的保护性外壳,如图1 所示。该系统在便携性和可靠性上都满足学生带出课堂,自行学习的需求。可以作为本实验的主力平台在实验开始时分发给学生,方便其利用课余时间完成设计与调试工作。

图 1 口袋机实验平台
2)远程实训平台;
互联网+电子技术基础实训平台,采用 3U 标准机箱式结构,客户端学生实验均有实际硬件电路对应,硬件资源动态分配,每个实验平台能并发 20个学生同时实验;多个平台可级联。支持:电路分析、模拟电子线路、数字逻辑电路(如图 2 所示)、信号系统、高频电子线路 5 门课程的实验实训。实验系统在网管软件和操作平台的支持下,能在客户端浏览器上实时搭建和控制硬件电路,配置实验电路激励参数,选择测试点,虚拟仪器实时测量实验数据。操作平台标配多种以实际仪器面板设计的虚拟仪器,学生既能用虚拟仪器实时测量各种电信号,又能达到训练学生熟练使用实际仪器的目的;虚拟仪器标配:4 通道示波器、8通道逻辑分析仪、函数信号源、双路稳压电源等。

图 2 远程数电实验(自由选择芯片、自由连线)
该平台能够打破实验课对于场地,时间和管理人员的依赖性,使学生可以灵活自由的进行实验。同时针对疫情防控和远程教育也具有重要意义。
3)电工电子实验中心;
实验主要装置为线上互联网 $^ +$ 数字电路实验系统和RZ9658新型数字电路(EDA)综合实验箱。实验箱上可以通过采用标准芯片和 FPGA进行设计,带有按键以及数码管和LED 模块,传感器电路需要自己搭建。线上互联网 $^ +$ 数字电路实验系统可以完成系统中核心控制电路的模拟,传感器电路可以通过开关或者按键等模拟。设计软件包括 QuartusII13.0 和 Modelsim13.0 等,可以满足FPGA从软件仿真到硬件验证的全部需求。试验中心具备充足的电源,示波器,频谱仪等通用设备,可以为学生的线下硬件实验提供有力保障。
6. 教学目标与目的(限 150 字)
如学习、运用知识、技术、方法等;培养、提升技能、能力、素质等。
在较为完整的通信收发系统实现过程中加深学生对时序电路的理解,引导学生自主进行扩展学习。通过任务导向方式提升 FPGA实践能力,并衔接后续专业课程。在多种实现方法的对比中培养解决复杂工程问题的实践能力。引导学生分析、设计、调试过程,通过分组并明确任务的方式提高协作能力。基于技术方案的层次与完成度给出技术评价。
7. 教学设计与实施进程
课堂知识讲解、方法引导、背景解释;实验中的方法指导,问题设置、思路引导等。教学模式、实验渠道、研讨主题、观察节点、验收重点、质询问题等方面设计等。实验实施进程的各个环节(如任务安排、预习自学、现场教学、分组研讨、现场操作、结果验收、总结演讲、报告批改等)中教学设计的思路、目的,教师、学生各自需要完成的工作任务,需要关注的重点与细节。
本实验是一个比较完整的工程实践过程,需要经历学习研究、方案论证、系统设计、实现调试、设计总结等过程。在实验教学中,应在以下几个方面加强对学生的引导:
1)学习伪随机序列的基本特性,扩频序列的生成手段和扩频序列的检测方法。
2)结合课堂所授的时序电路知识,将扩频序列生成问题抽象成一个时序逻辑问题,引导学生
合运用数字电路知识点,自行思考得出通过计数器和数据分配器或译码器构成的信号生成电路。3)着重介绍通过反馈移位寄存器产生 m 序列的方法,以及通过移位寄存器实现配滤波器的序列检测手段。原理和特性简要介绍,着重给出硬件结构图。4) 可以简略地介绍串行相关和并行相关算法,给出其原理图。5) 结合理论课对异步信号和使能信号的介绍,提示同学们注意控制端的设计。6) 介绍电路规模与成本,可靠性以及兼容性的关系,并以此分析各种电路实现方式。7) 学生自由组队,明确个人分工,选择设计方案以实现手段。8) 在电路设计、搭试、调试过程中根据学生的需要,使用课题组备好的数据进行对比,帮助学生检错。9)在实验完成后,可以组织学生以项目演讲、答辩、评讲的形式进行交流。对照学生生成的相关函数介绍伪随机序列的应用,衔接后续课程。10) 依据每组的完成程度给每个组员分别打分。
8. 实验原理及方案
实验的基本原理、设计依据、完成任务的思路方法,可能采用的方法、技术、电路、器件。
1) 伪随机序列的产生
伪随机序列的产生原理:利用线性反馈移位寄存器很容易产生出这种具有周期性的伪随机序列。如图3所示。

图 3 反馈移位寄存器
相比于使用计数器和译码器或多路选择器的设计方法,以及 ROM 存储的设计方法,反馈移位寄存器法才是更加惯常使用的 m 序列生成法。其具有结构简单带来的可靠性高的特点,同时仅需要更改抽头即可改变序列,具有更好的可扩展性。反馈移位寄存器是课程中一位寄存器的变种,需要外接一个多输入的异或电路构成反馈来实现。单纯通过时间控制语句生成信号的做法虽然也能生成信号,但并未深入理解其硬件原理,因此层级较低。
2) 伪随机序列的检测
i. 串行相关
串行相关运算,遍历所有的码相位,以寻找相关峰值。其具体工作过程如下:接收信号进入系统后与本地信号串行相乘,在一个码周期内将相乘的结果进行积分,积分结果如果超过判决门限则认为相关峰存在,信号检测成功,若积分结果未超过门限,则将本地码移动半个码片重复这一过程。这种办法硬件消耗最少,成本最低,速度最慢。
ii. 并行相关
并行相关是在频域执行卷积运算,将码相位方向上的搜索过程集中到一次 FFT 运算当中。和传统的串行相关方法相比,FFT 技术运算时间短。对于序列 X [n]和CA[n]来说,相关值 R[m]为:
$$ \begin{array} { l } { { \displaystyle R \big [ m \big ] = \sum _ { n = 0 } ^ { K - 1 } X \big [ n \big ] \mathcal { C } A \Big [ \big ( n + m \big ) \Big ] = X \big [ n \big ] \otimes \cal { C } A \big [ - n \big ] } } \ { { \displaystyle \quad = I F F T \Big [ F F T \big ( X \big [ n \big ] \big ) \mathcal { C } F F T ^ { * } \big ( C A \big [ n \big ] \big ) \Big ] } } \end{array} $$
该方法复杂,硬件消耗大,但具有速度快,可扩展性好的优点,正在逐步普及。由于其在所有方案中最为复杂,工作量最大,对于学生自学能力要求最高,与课程已知器件相似度最小,可以被视为本实验中难度最大,最有挑战度的单元。其需要学生真正理解并活用数字电路的基本思想,将FPGA 的 IP 核当做芯片器件来使用。因此该方案的层级最高,最难点在于如何为 7 位的序列做 FFT。
iii. 匹配滤波器
前两种结构都是匹配滤波器的变种或称为特殊实现方式。匹配滤波器才是检测伪随机序列的最原始思路。匹配滤波器有移位寄存器实现接收信号流水线式的的串并转换,每级寄存器的状态值都与待检测序列的一位对位做乘法,所有乘法结果做加法得到相关值。当一周期序列都通过匹配滤波器后,相关函数将被计算出来。
该方案速度快,思路清晰,但每一位都使用乘法器会带来大量的资源消耗。本实验中由于没有载波的参与,可以通过异或门来实现二进制乘法。
9. 实验报告要求
需要学生在实验报告中反映的工作(如:实验需求分析、实现方案论证、理论推导计算、设计仿真分析、电路参数选择、实验过程设计、数据测量记录、数据处理分析、实验结果总结等等),如:
实验报告需要反映以下工作:
1)实现方案选择,实现手段的选择
2)组员负责的具体工作内容
3) 电路设计与参数选择
4) 电路测试方法
5) 实验过程记录
6) 硬件 RTL 图
7)实验结果总结
10.考核要求与方法(限 300 字)
考核的节点、时间、标准及考核方法。
1) 实物验收:功能与性能指标的完成程度(如相关峰是否出现、生成码字是否正确),完成时间。
2)实验质量:电路方案的合理性,是或否有清零端、使能端。
3) 自主创新:功能构思、电路设计的创新性,自主思考与独立实践能力。
4)实验成本:与课题组实现的同类模块相比,学生作品的硬件规模占用情况。
5) 实验数据:实验视频录制,反应实验操作过程中是否规范 。
6)实验报告:实验报告的规范性与完整性。
11.项目特色或创新(可空缺,限 150 字)
项目的特色在于:项目背景的工程性强,知识应用的综合性强,实现方法的多样性以及与后续课程联动。能够将数学表述与工程实践相联系,有利于培养工程思维能力,提高学生对通信工程的整体理解。实验过程发挥学生的主观能动性,分层次的实现方案满足不同学生的需求。团队协作分别打分的机制既提高合作能力又避免滥竽充数现象。