基于FPGA的失真度测试仪 毕业设计论文.doc_第1页
基于FPGA的失真度测试仪 毕业设计论文.doc_第2页
基于FPGA的失真度测试仪 毕业设计论文.doc_第3页
基于FPGA的失真度测试仪 毕业设计论文.doc_第4页
基于FPGA的失真度测试仪 毕业设计论文.doc_第5页
免费预览已结束,剩余39页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第 i 页 基于 fpga的失真度测试仪 摘 要 在电子工程的设计和应用中,信号无论在开路传输或闭路传输过程中都受到环境、传输网 络的工作状态和应用元器件参数变化的影响使其或多或少的改变了原有信号的性质,这种变化 就是所谓的信号畸变现象,通常叫做失真。信号的失真分为三种:频率失真,相位失真和波形失 真。波形失真又称非线性失真,它是由放大电路的非线性引起的,非线性失真又包括谐波失真 和互调失真。 通过非线性失真测试可以考察传输网络的失真性质,有利于改进传输网络的性质。因此在 信息产生,传递,接受过程中,必须认真分析处理好失真问题。各种非线性失真测试仪在电力、 电子、通信领域中得到广泛应用。常用的失真度检测仪器按测量原理大致可分为二大类:基波剔 除法和频谱分析法。一般模拟式的测量仪采用基波剔除法,其缺点是需要提供未失真的基波信 号而且其低频测量精度低。频谱分析法是用频率分析仪测量各次谐波的方法计算出波形失真度, 但采用此种方法的仪器价格较昂贵。 随着微型计算机、单片机尤其是数字处理芯片 dsp 的发展与应用,本文提出了一种基于 dsp 芯片的采用快速傅立叶变换(fft)算法,计算出信号基波及各次谐波的电压有效值,从而根 据失真度计算公式计算失真度的测量方法。论文首先介绍国内外传统失真度分析仪的测量方法 及应用前景,然后对几种测量方案进行比较并选择较好方案,然后进一步阐述并分析该方案的 硬件实现和软件实现及其 matlba 仿真结果,接着对该方案的软硬件测量误差进行分析,最后是 全文的总结。 关键词:fft; fpga; 失真度 第 ii 页 abstract in the design and application of electronic engineering, both in open circuit and in closed circuit, signal is certainly affected by environment, the status of the transport network and the change of parameters of the component applied. then the characters of useful information will be changed more or less and the change is generally called as distortion, namely so-called signal distortion. signal distortion includes three kinds of distortion: frequency,phase and waveform .the waveform distortion ic caused by the nonlinearity of the amplifier circuits it is often called as nonlinearity distortion. the nonlinearity distortion also include harmonic distortion and intermodulation distortion. we can test the charater of the transport newtok by detecting the nonlinear distortion and this is useufl to improve the character of the newtork. in the generation,transport and reception of singal, we must careuflly analyze and handle distortion. kinds of nonlinear distortion meters have been widely used in many fields such as electronies,electricity and communication,and so on.the distortion meters used in common generally be divide in tow kinds as the method of theory of test. they are the method of suppressed first frequency and the method of frequeney table analysis. most of analog distortion meters apply the method of suppressed fisrt frequency. but the disadvantages are need to suppply the first frequency and the lower test precision of the low frequency.the method of analysis frequency table is using the meter of frequency table to test all kinds of frequency and then calculate the distortion of the wave. but the meter of analysis frequency tbale is more expensive. as the development of micro-computer and singlechip,especially the dsp chip ,the paper advance a method of measure the disotrtion of sine singal,which is using the dsp chip to carry out the fft to get the magnitude of all kinds of frequency then using the formula calculate the distortion. the paper fisrt introduce the measure method of generally diostrtion meter of internal and overseas and the application of the meter and secondly compare several measure mehtods,then choose the best method and expound how to carry out this measure method in hardware and sotfware. using matlab emulate the method and show the result. at the last give the erro analysis of hardware and software during the measurement and the summarize. keywords: fft ;fpga; distortion. 第 iii 页 目 录 摘 要 iv abstract.v 第 1章 绪 论 .1 1.1 本论文的背景和意义 1 1.2 失真度测试仪介绍 1 1.3 失真度测试仪的发展状况 1 1.4 技术指标 1 第 2章 软件工具介绍 2 2.1 fpga基本知识 2 2.1.1 fpga的基本结构简介 .2 2.1.1 fpga的设计流程 2 2.2 quartus ii基本知识 2 2.2.1 quaturs ii的优点功能简介 .2 2.2.2 quaturs ii设计流程 .2 2.3现代 dsp技术简介 2 2.3.1现代 dsp实现方案及设计流程概述 .2 2.3.2 基于 fpga的 dsp设计 .2 2.4 protel dxp 简介 2 第 3章 方案设计 2 3.1 提出方案 .1 3.2 方案选择 1 3.3 系统整体设计思路 1 3.4 a/d转换电路 .1 3.4.1 fpga的基本结构简介 .2 3.4.2 fpga的设计流程 .2 3.4.3 fpga的基本结构简介 .2 3.5 fpga软件部分设计 1 3.5.1快速傅里叶变换(fft) .2 3.5.2利用 fft进行频谱分析 .2 3.5.3 fifo存储单元在 fft算法中的应用 .2 第 iv 页 3.5.4 fft输入控制信号 .2 3.5.5基波幅值参数和各次谐波复制参数的提取 .2 3.5.6失真度计算 .2 3.6 lcd显示电路设计 .1 3.6.1 hb240128m1a显示器的 特色 .2 3.6.2 hb240128m1a显示器硬件接口 .2 3.7 整体电路设计 1 3.8 本章小结 1 第 4章 实物完成情况 1 4.1 a/d板完成情况 1 4.2 lcd完成情况 .1 4.3 整体电路板完成情况 .1 4.4 fpga完成情况 1 4.5 本章小结 1 第 5章 失真度测量误差分析 1 5.1 a/d测量误差 1 5.2 运算过程中有限字长效应造成的误差 1 5.3 混迭效应和频谱泄漏造成的误差 1 5.4 基波测量误差 1 5.5 本章小结 1 第 6章 总结 2 第 2章 软件工具介绍 2 结 论 5 致 谢 6 参考文 献 7 附 录 1 标题 8 附 录 2 标题 9 第 0 页 第 1 章 绪 论 1.1 课题意义 在电子工程的设计和应用中,信号无论在开路传输或闭环传输过程中都会受到 环境、传输网络的工作状态和应用元件参数变化的影响,其或多或少的改变了原始 信号的性质,这种变化就是所谓的信号畸变现象,通常叫做失真。失真度是无线电 信号的一个重要参数。在无线电计量测试中,许多参数的准确测量都涉及失真度测 量问题。例如:在检定电压表、功率表和交流数字式电压表时,为了减小不同检波 式仪表的波形误差、提高检定的准确度,就必须减小信号源的失真。其次通过非线 性失真测试还可以考察传输网络的失真性质,有利于改进传输网络的性质。因此在 信息产生、传递、接受过程中,必须认真分析处理好失真问题,并且在低频和超低 频的标准波形的测试和计量中,在电力系统以及其他要求检测信号波形纯正性时, 如振动信号、电力系统信号和工业控制中的激励信号和输出信号的波形纯正性的检 测中,均需要检测波形的失真度。因此认真分析并处理好失真度问题是非常重要的。 1.2 失真度测试仪介绍 失真度表征一个信号偏离纯正弦信号的程度.失真度定义为信号中全部谐波分量 的能量与基波能量之比的平方根值。“如果负载与信号频率无关“ ,则信号的失真度 也可以定义为全部谐波电压的有效值与基波电压的有效值之比并以百分数表示“即 22311.0%nupr 式中:r 为失真度;p 为信号总功率;p1 为基波信号功率; u1 为基波电压的有效值; u1un 为谐波电压的有效值。 目前测量失真度的仪器根据测量原理大致可以分为两大类:基波剔除法和频谱分 析法。一般模拟式的失真度测试仪都采用基波剔除法,此类失真度测试仪所能测量 的最低频率为 2hz。但是此类失真度测量仪一般需要提供基波信号或未失真的信号, 而且误差较大,尤其对低失真度的测量精度很低。第二类失真度测量方法为频谱分 析法。这类方法用频率分析仪测量各次谐波的方法计算出波形失真度,它可以测量 出测信号中的 1-10 次谐波分量,采用该方法较好的解决了超低频率失真度的测量问 题,它一般用于失真度较小的场合。本课题采用 fft 法测量失真度。测量时首先通 过模数变换电路,将被测信号数字化,然后通过 fft 变换完成信号的快速傅立叶变 换,计算出被测信号中各频率成分的幅度有效值,进而带入失真度计算公式计算出 第 1 页 相对准确的失真度。 1.3 失真度测试仪的发展状况 在上世纪 50 年代以前,由于受技术条件的限制对非线性失真的分析方法采用典 型的单信号输入法。通过被测网络逐一的输入一个不同频率的相对纯正的正弦信号, 在其输出端监测其产生的谐波信号的大小,决定信号的非线性失真程度。由于当时 不可能有优良的选频电压表去监测被测网络的各次谐波成分,而是采用基波抑制法 直接测量总谐波的有效值,通过技术处理读取被测网络的失真度值。 上个世纪 50 年代处于电子管的发展时期,在国际上设计有各种电子管程式的谐 波失真度测量仪。我国直到上个世纪 50 年代末才开始试制电子管程式的失真度测试 仪,并在国内相继推出 52 一 i 型、52 一 ii 型、52 一 ia 型失真度测试仪。这些仪 器的频率范围为 20hz 一 20khz,失真度可测量程为 1%-10%。 上个世纪 60 年代末期,国际上己经普遍的应用晶体管程式的失真度测试仪。我 国在上个世纪 70 年代国内市场上相继出现了 bsi 型、bzs 型、b1sa 型等晶体管失真 度测试仪其频率范围按照我国技术和发展要求,扩展为 2hz-200khz,失真度可测量 程为 0.1%-100%。在此期间,为配合收音机、录音机生产流水线的快速测量非线性 失真特性指标,设计出 bs4 型、bss 型等自动点频失真仪。 上个世纪 80 年代随着我国集成电路设计规模的扩大,立体声广播对传媒设备性 能要求的提高,我国开始利用集成电路技术设计低失真度测试仪和全自动失真度测 试仪,初步满足了国内市场的需求。 早期的失真度测量仪均采用单组基波抑制网络,其基波抑制点处的平衡状态受 实际元件参数随温度、湿度的变化影响很大,稳定性差。后期设计的全自动失真度 测量仪、低失真度测量仪、低频分析仪等均采用三组以上的基波抑制网络,构成一 个基波抑制阻带,保证了测试性能的稳定。 自上个世纪 30 年代后出现失真度测量以后,其基本原理均采用基波抑制法,应 用电路以采用文式电路、双 t 网络最为普遍。上个世纪 50 年代曾出现波形分析仪可 以按照失真度理论定义测量非线性谐波失真,如:英国的 tf455e、tf2330 等仪器。 由于技术难度较高,操作不便,计算复杂而不易推广。因此到目前为止,广泛使用 的仍然是基波抑制法的谐波失真度测试仪。 随着微处理器的发展,特别是上个世纪 90 年代后,谐波分析法重新返回了失真 度测量分析的舞台。这种仪器通过以微处理器为核心的软硬件结合,它能快速的测 定被测信号中的基波和谐波的频率、幅度、相位,并能快速的计算谐波失真度,不 第 2 页 仅可以进行通常的谐波失真测量,为了提高仪表的性价比,系统往往设计成多功能。 这种仪器对音频传输设备的性能分析非常方便,是失真度测量设备的最新发展技术。 1.4 技术指标 本设计要求制作基于 fpga 的失真度测试仪,采用的方法为频谱分析法,具体要 求如下: 1、 能完成 10 位 adc 模数转换电路的制作与采样程序的设计。 2、 显示电路能够完成失真度的显示。 3、 音频信号频率范围要求 2020khz,音频信号失真度5%。 第 3 页 第 2 章 软件工具介绍 2.1 fpga 基本知识 2.1.1 fpga 基本结构简介 fpga 即现场可编程门阵列,它是在 pal、gal、epld 等可编程器件的基础上进一 步发展的产物。它作为专用集成电路(asic)领域中的一种半定制电路而出现的, 既解决了定制电路的不足,又克服了原有可编程器件门电路有限的缺点。 fpga 采用了逻辑单元阵列 lca 这样一个新概念,内部包含可配置逻辑模块 clb、 输入/输出模块 iob(input output block)和内部连线(interconnect)三个部分。 目前 fpga 的品种很多,有 xilinx 的 xc 系列、ti 公司的 tpc 系列、altera 公司的 fiex 系列。 fpga 具有掩膜可编程门阵列的通用结构,它由逻辑功能块排成阵列,并由可编 程的互联资源连接这些逻辑功能块来实现不同的设计。fpga 由 6 部分组成,分别为 可编程输入/输出单元、基本可编程逻辑单元、嵌入式块 ram、丰富的布线资源、底 层嵌入功能单元和内嵌专用硬核等。每个单元简介如下: 1、可编程输入/输出单元(i/o 单元) 目前大多数 fpga 的 i/o 单元被设计为可编程模式,即通过软件的灵活配 置,可适应不同的电器标准与 i/o 物理特性;可以调整匹配阻抗特性,上下拉 电阻;可以调整输出驱动电流的大小等。 2、基本可编程逻辑单元 fpga 的基本可编程逻辑单元是由查找表(lut)和寄存器(register)组成 的,查找表完成纯组合逻辑功能。fpga 内部寄存器可配置为带同步/异步复位和 置位、时钟使能的触发器,也可以配置成为锁存器。fpga 一般依赖寄存器完成 同步时序逻辑设计。一般来说,比较经典的基本可编程单元的配置是一个寄存 器加一个查找表,但不同厂商的寄存器和查找表的内部结构有一定的差异,而 且寄存器和查找表的组合模式也不同。 学习底层配置单元的 lut 和 register 比率的一个重要意义在于器件选型和规 模估算。由于 fpga 内部除了基本可编程逻辑单元外,还有嵌入式的 ram、pll 或者 是 dll,专用的 hard ip core 等,这些模块也能等效出一定规模的系统门,所以 简单科学的方法是用器件的 register 或 lut 的数量衡量。 第 4 页 3、嵌入式块 ram 目前大多数 fpga 都有内嵌的块 ram。嵌入式块 ram 可以配置为单端口 ram、 双端口 ram、伪双端口 ram、cam、fifo 等存储结构。 cam,即为内容地址存储器。写入 cam 的数据会和其内部存储的每一个数据进 行比较,并返回与端口数据相同的所有内部数据的地址。简单的说,ram 是一种写 地址,读数据的存储单元;cam 与 ram 恰恰相反。 除了块 ram,xilinx 和 lattice 的 fpga 还可以灵活地将 lut 配置成 ram、rom、fifo 等存储结构。 4、丰富的布线资源 布线资源连通 fpga 内部所有单元,连线的长度和工艺决定着信号在连线上的 驱动能力和传输速度。布线资源的划分: 1)全局性的专用布线资源:以完成器件内部的全局时钟和全局复位/置位的 布线; 2)长线资源:用以完成器件 bank 间的一些高速信号和一些第二全局时钟信 号的布线(这里不懂什么是“第二全局时钟信号” ) ; 3)短线资源:用来完成基本逻辑单元间的逻辑互连与布线; 4)其他:在逻辑单元内部还有着各种布线资源和专用时钟、复位等控制信号 线。 由于在设计过程中,往往由布局布线器自动根据输入的逻辑网表的拓扑结构 和约束条件选择可用的布线资源连通所用的底层单元模块,所以常常忽略布线资源。 其实布线资源的优化与使用和实现结果有直接关系。 5、底层嵌入 6 、内嵌专用硬核 与“底层嵌入单元 ”是有区别的,这里指的硬核主要是那些通用性相对较 弱,不是所有 fpga 器件都包含硬核。 2.1.2 fpga 设计流程 fpga 设计大体分为设计输入、综合、功能仿真(前仿真)、实现、时序仿真(后仿 真)、配置下载等六个步骤,设计流程如图 2 所示。下面分别介绍各个设计步骤。 1、设计输入 第 5 页 设计输入包括使用硬件描述语言 hdl、状态图与原理图输入三种方式.hdl 设 计方式是现今设计大规模数字集成电路的良好形式,除 ieee 标准中 vhdl 与 verilog hdl 两种形式外,尚有各自 fpga 厂家推出的专用语言,如 quartus 下 的 ahdl.hdl 语言描述在状态机、控制逻辑、总线功能方面较强,使其描述的电 路能特定综合器(如 synopsys 公司的 fpga compiler ii 或 fpga express)作用 下以具体硬件单元较好地实现;而原理图输入在顶层设计、数据通路逻辑、手工 最优化电路等方面具有图形化强、单元节俭、功能明确等特点,另外,在 altera 公司 quartus 软件环境下,可以使用 memory editor 对内部 memory 进行 直接编辑置入数据。常用方式是以 hdl 语言为主,原理图为辅,进行混合设计 以发挥二者各自特色。 通常,fpga 厂商软件与第三方软件设有接口,可以把第三方设计文件导入 进行处理。如 quartus 与 foundation 都可以把 edif 网表作为输入网表而直接 进行布局布线,布局布线后,可再将生成的相应文件交给第三方进行后续处理。 2、设计综合 综合,就是针对给定的电路实现功能和实现此电路的约束条件如速度、功耗、 成本及电路类型等,通过计算机进行优化处理,获得一个能满足上述要求的电 路设计方案,也就是是说,被综合的文件是 hdl 文件(或相应文件等),综合的 依据是逻辑设计的描述和各种约束条件,综合的结果则是一个硬件电路的实现 方案,该方案必须同时满足预期的功能和约束条件,对于综合来说,满足要求 的方案可能有多个,综合器将产生一个最优的或接近最优的结果。因此,综合 的过程也就是设计目标的优化过程,最后获得的结构与综合器的工作性能有关. fpga compiler ii 是一个完善的 fpga 逻辑分析、综合和优化工具,它从 hdl 形式未优化的网表中产生优化的网表文件,包括分析、综合和优化三个步骤.其 中,分析是采用 synopsys 标准的 hdl 语法规则对 hdl 源文件进行分析并纠正语 法错误;综合是以选定的 fpga 结构和器件为目标,对 hdl 和 fpga 网表文件进行 逻辑综合;而优化则是根据用户的设计约束对速度和面积进行逻辑优化,产生一 个优化的 fpga 网表文件,以供 fpga 布局和布线工具使用,即将电路优化于特 定厂家器件库,独立于硅持性,但可以被约束条件所驱动。 利用 fpga compiler ii 进行设计综合时,应在当前 project 下导入设计源 文件,自动进行语法分析,在语法无误并确定综合方式、目标器件、综合强度、 多层保持选择、优化目标等设置后,即可进行综合与优化。在此可以将两步独 立进行,在两步之间进行约束指定,如时钟的确定、通路与端口的延时、模块 第 6 页 的算子共享、寄存器的扇出等.如果设计模型较大,可以采用层次化方式进行综 合,先综合下级模块,后综合上级模块.在进行上级模块综合埋设置下级模块为 dont touch,使设计与综合过程合理化.综合后形成的网表可以以 edif 格式输 出,也可以以 vhdl 或 verilog hdl 格式输出,将其导入 fpga 设计厂商提供的 可支持第三方设计输入的专用软件中,就可进行后续的 fpga 芯片的实现。综合 完成后可以输出报告文件,列出综合状态与综合结果,如资源使用情况、综合 后层次信息等。 3、仿真验证 从广义上讲,设计验证包括功能与时序仿真和电路验证仿真是指使用设计软 件包对已实现的设计进行完整测试,模拟实际物理环境下的工作情况。前仿真 是指仅对逻辑功能进行测试模拟,以了解其实现的功能否满足原设计的要求, 仿真过程没有加入时序信息,不涉及具体器件的硬件特性,如延时特性;而在布 局布线后,提取有关的器件延迟、连线延时等时序参数,并在此基础上进行的 仿真称为后仿真,它是接近真实器件运行的仿真。 4、设计实现 1. 实现可理解为利用实现工具把逻辑映射到目标器件结构的资源中,决定逻辑 的最佳布局,选择逻辑与输入输出功能连接的布线通道进行连线,并产生相 应文件(如配置文件与相关报告).通常可分为如下五个步骤。 (1) 转换:将多个设计文件进行转换并合并到一个设计库文件中。 (2) 映射:将网表中逻辑门映射成物理元素,即把逻辑设计分割到构成可编 程逻辑阵列内的可配置逻辑块与输入输出块及其它资源中的过程。 (3)布局 与布线:布局是指从映射取出定义的逻辑和输入输出块,并把它们分配到 fpga 内部的物理位置,通常基于某种先进的算法,如最小分割、模拟退火 和一般的受力方向张弛等来完成;布线是指利用自动布线软件使用布线资源 选择路径试着完成所有的逻辑连接。因最新的设计实现工具是时序驱动的, 即在器件的布局布线期间对整个信号通道执行时序分析,因此可以使用约束 条件*作布线软件,完成设计规定的性能要求.在布局布线过程中,可同时提 取时序信息形成报表。 (4) 时序提取:产生一反标文件,供给后续的时序仿真使用。 (5) 配置:产生 fpga 配置时的需要的位流文件。 在实现过程中可以进行选项设置。因其支持增量设计,可以使其重复多次布 第 7 页 线,且每次布线利用上一次布线信息以使布线更优或达到设计目标.在实现 过程中应 2.2 quartus ii 基本知识 2.2.1 quartus ii 的优点功能简介 quartusii 设计软件提供了完全集成且与电路结构无关的开发包环境,它提供 了数字逻辑设计所需要的全部特性,包括: 1、可利用原理图、结构框图、veriog hdl、ahdl 和 vhdl 完成电路描述,并将 其保存为设计实体文件; 2、芯片(电路)平面布局连线编辑; 3、logiclock 增量设计方法,用户可建立并优化系统,然后添加对原始系统 的性能影响较小或没有影响的后续模块; 4、功能强大的逻辑综合工具; 5、完备的电路功能仿真与实现逻辑仿真工具; 6、设计的定时/时序分析与关键路径延时分析; 7、可使用 signaltap ii 逻辑分析工具进行嵌入式的逻辑分析; 8、可支持软件原文件的添加、创建,将它们连接起来生成编程文件; 9、使用组合编译方式可一次完成整体设计流程,利用软件工程概念有效地管 理设计文件; 10、 可自动定位编译错误; 11、提供高效的器件编程与验证工具。 quartusii 设计软件可读入标准的 edif 网表文件、vhdl 网表文件和 verilog 网 表文件,同时它也能生产供第三方 eda 软件使用的 vhdl 和 verilog 网表文件。此外, 设计者可以很方便地将不同类型的设计文件组合起来,以工程的形式进行管理;可 以选择特定的描述方式来描述系统中的模块,使它们达到最佳的工作效率。 在调试过程中,rtl 查看器设计者提供了整体设计的门级原理图和层次结构列 表,并列出了整体设计的网表实例、基本单元、引脚和网络。它可过滤显示在视图 上的信息,浏览设计视图的不同层面,以检查设计并确定更改。rtl 查看器将帮助 设计者快速地定位错误,并确保所有设计模块在功能上是正确的。 2.2.2 quartus ii 设计流程 quartus ii 设计软件提供完整的多平台设计环境,能够直接满足特定设计需要, 第 8 页 为可编程芯片系统(sopc)提供全面的设计环境。quartus ii 软件含有 fpga 和 cpld 设计所有阶段的解决方案,如图 2.2-1 所示: 设计输入 综合 布局布线 时序分析 仿真 编程和配置 功耗分析 调试 工程更改管理 时序逼近 图 2.2-1 quartus ii 设计流程 2.3 现代 dsp 技术简介 数字信号处理器 dsp(digitalsignalprocessor)是在模拟信号变换成数字信号 以后进行高速实时处理的专用处理器,其处理速度比最快的 cpu 还快 10-50 倍。在 通常的实时信号处理中,它具有可程控、可预见性、精度高、稳定性好、可靠性和 可重复性好、易于实现自适应算法、大规模集成电路等优点,这都是模拟系统所不 及的。在当今的数字化时代背景下,dsp 已经成为通信、计算机、消费类电子产品 等领域的基础器件。dps 具有如下一些特点: 1、在一个指令周期内可完成一次乘法和一次加法; 2、程序和数据空间分开,可以同时访问数据和指令; 3、片内具有快速 arm,通常可通过独立的数据总线在两块中同时访问; 4、具有低开销或无开销循环及跳转的硬件支持; 5、快速的中断处理和硬件 i/o 支持; 6、具有在单周期内操作的多个硬件地址产生器; 7、可以并行执行多个操作; 8、支持流水线操作,使取址、译码和执行等操作可以重叠执行。 2.3.1 现代 dsp 实现方案及设计流程概述 第 9 页 图 2.3-1 是传统的 dsp 系统的典型开发流程。大致步骤如下: (1)dsp 开发者首先使用诸如 maltab 这样的数学开发工具对 dsp 算法进行优化 设计和仿真测试,或者用 simulink 进行 dsp 系统建模,以获得满足功能要求和适应 硬件特点的算法模型。 (2)根据 dsp 目标系统的功能要求、技术指标、系统升级可行性、性能标准可 能的变化以及成本限度等因素,具体确定 dsp 处理器(并行使用的)数量和型号。 这时必须十分熟悉当前主流 dsp 器件的详细硬件特性与价格范围,同时还要与手头 的 dsp 开发硬件工具和功能模块程序综合起来考虑。由于目前 dsp 处理器的厂商 品种、系列、功能、使用面以及价格等因素的差异颇大,准确无误地确定 dsp 处理 器的品种不但十分棘手,同时也事关重大。因为如果当系统最终设计并调试完成后, 若发现由于 dsp 处理器导致的某项技术指标不能达到,或在以后的某项技术规范的 升级要求中无法实现,将出现整个硬件系统必须重新开发的严重局面。 (3)根据选定的 dsp 处理器和系统功能要求,完成应用系统评估板或测试板设 计。否则无从调试软件程序,更无法验证实际系统中各项技术指标的可实现性及应 用系统的可行性。 (4)根据 matlab 的算法模型和 dsp 评估板的硬件结构,编写程序。在 dsp 标 准开发环境中(如 ti 的 ccs)进行编译、仿真,然后通过 dsp 硬件仿真器在应用板 和评估板上进行调试和实时仿真。 (5)最后完成应用硬件系统的实现。 第 10 页 图 2.3-1 基于 dsp 处理器的开发流程 2.3.2 基于 fpga 的 dsp 设计 在早些时候,dsp 开发者只能直接用 vhdl 或 veriloghdl 语言进行 fpga 的 dsp 系统设计,难度比较大。现在已经出现了许多新的基于 fpga 的 dsp 开发工具,如: dspbuilder、sopc builder、system generator 等,以及完整的软件开发平台。从 而使设计者能遵循一条类似于软件设计流程的开发方法进行 fpga 的 dsp 设计,设计 效率大为提高。图 1-5 至图 1-8 概括了基于 fpga 的几种不同的 dsp 系统设计流程。 第 11 页 图 2.3-3 基于 fpga 的软件与硬件开发流程 图 2.3-4 基于 fpga 的软件与硬件加速器设计流 第 12 页 图 2.3-5 基于 fpga 的硬件开发流程 图 2.3-6 基于 fpga 的系统升级开发流程 本设计采用 altera 公司的 dsp builder 开发工具完成基于 fpga 的 dsp 设计, 完成设计过程和仿真,然后把设计好的 dsp 系统文件转化为 vhdl 文件,并利用 quartus ii 下载到 fpga 中。dsp builder 将用户设计的 dsp 模块转换成硬件描述语 言(hdl) ,最终在 fpga 上实现。dsp builder 是一个系统及(或算法级)设计工具, 它架构在多个软件工具之上,并把系统和 rtl 级两个设计领域的设计工具连接起来, 第 13 页 最大程度地发挥了两种工具的优势。dsp builder 依赖于 mathworks 公司的 matlab/simulink,以 simulink 的 blockset 出现,可以在 sinulink 中进行图形化 设计和仿真,同时又通过 sigalcompiler 可以把 matlab/simulink 设计文件 (.mdl)转换成相应的硬件描述语言 vhdl 设计文件(.vhd)以及用于控制综合与编 辑 tcl 脚本。 2.4 protel dxp 简介 protel 是 protel 公司在 20 世纪 80 年代末推出的 cad 工具,是 pcb 设计者的 首选软件。它较早在国内使用,普及率最高,有些高校的电路专业还专门开设 protel 课程,几乎所在的电路公司都要用到它。早期的 protel 主要作为印刷板自 动布线工具使用,现在普遍使用的是 altium2004 dxp sp2,它是个完整的全方位电 路设计系统,包含了电原理图绘制、模拟电路与数字电路混合信号仿真、多层印刷 电路板设计(包含印刷电路板自动布局布线) ,可编程逻辑器件设计、图表生成、电 路表格生成、支持宏操作等功能,并具有 client/server(客户/服务器体系结构, 同时还兼容一些其它设计软件的文件格式,如 orcad、pspice、excel 等。使用多层 印制线路板的自动布线,可实现高密度 pcb 的 100%布通率。protel 软件功能强大、 界面友好、使用方便,但它最具代表性的是电路设计和 pcb 设计。 1、protel 的主要特点 (1) 通过设计文件包的方式,将原理图编辑、电路仿真、 pcb 设计及打 印这些功能有机地结合在一起,提供了一个集成开发环境。 (2) 提供了混合电路仿真功能,为设计实验原理图电路中某些功能模块的 正确与否提供了方便。 (3) 提供了丰富的原理图元件库和 pcb 封装库,并且为设计新的器件提 供了封装向导程序,简化了封装设计过程。 (4) 提供了层次原理图设计方法,支持“自上向下”的设计思想,使大型 电路设计的工作组开发方式成为可能。 (5) 提供了强大的查错功能。原理图中的 erc (电气法则检查)工具和 pcb 的 drc (设计规则检查)工具能帮助设计者更快地查出和改正错误。 (6)全面兼容 protel 系列以前版本的设计文件,并提供了 orcad 格式文 件的转换功能。 (7)提供了全新的 fpga 设计的功能,这好似以前的版本所没有提供的功 能。 2、电路原理图设计 原理图设计是电路设计的基础,只有在设计好原理图的基础上才可以进行 印刷电路板的设计和电路仿真等。下面详细介绍了如何设计电路原理图、编辑 第 14 页 修改原理图。通过学习,掌握原理图设计的过程和技巧。 原理图具体设计步骤: (1)新建原理图文件 在进人 sch 设计系统之前,首先要构思好原理图,即必须知道所设计的项目 需要哪些电路来完成,然后用 protel dxp 来画出电路原理图。 (2)设置工作环境 根据实际电路的复杂程度来设置图纸的大小。在电路设计的整个过程中,图 纸的大小都可以不断地调整,设置合适的图纸大小是完成原理图设计的第一步。 (3)放置元件 从元件库中选取元件,布置到图纸的合适位置,并对元件的名称、封装进行 定义和设定,根据元件之间的走线等联系对元件在工作平面上的位置进行调整和修 改使得原理图美观而且易懂。 (4)原理图的布线 根据实际电路的需要,利用 sch 提供的各种工具、指令进行布线,将工作平 面上的器件用具有电气意义的导线、符号连接起来,构成一幅完整的电路原理图。 (5)建立网络表 完成上面的步骤以后,可以看到一张完整的电路原理图了,但是要完成电路 板的设计,就需要生成一个网络表文件。网络表是电路板和电路原理图之间的重要 纽带。 (6)原理图的电气检查 当完成原理图布线后,需要设置项目选项来编译当前项目,利用 protel dxp 提供的错误检查报告修改原理图。 (7)编译和调整 如果原理图已通过电气检查,那么原理图的设计就完成了。这是对于一般电 路设计而言,尤其是较大的项目,通常需要对电路的多次修改才能够通过电气检查。 (8)存盘和报表输出 protel dxp 提供了利用各种报表工具生成的报表(如网络表、元件清单等) , 同时可以对设计好的原理图和各种报表进行存盘和输出打印,为印刷板电路的设计 做好准备 。 第 15 页 原理图设计流程: 3、pcb 电路板的设计流程 pcb 电路板设计的流程如图 第 16 页 pcb 板设计流程图 (1)设计原理图 这是设计 pcb 电路的第一步,就是利用原理图设计工具先绘制好原理图文件。如 图 3.4-1 ad876 引脚排列 各引脚功能: 引脚 名称 编号 i/o 说明 agnd 1,19 模拟地 ain 27 i 模拟输入 avdd 28 5v 模拟电源 clk 15 i 时钟输入 cml 26 o 内部偏置点旁路,典型应用将最小 0.1uf 电容从 此引脚接至地 dgnd 14,20 数字地 dvdd 18 5v 数字电源 drvdd 2 3.3v/5v 数字电源,数字输入和输出缓冲电源 drgnd 13 3.3v/5v 数字地,数字输入和输出缓冲地 d0-d9 3-12 o 数字数据输出 /oe 16 o 输出使能 refbf 24 o 基准底部强制 refbs 25 o 基准底部检测 stby 17 o 等待使能 reftf 22 o 基准顶部强制 3.4.2 a/d采样电路 (1) a/d 采样电路原理图: 第 17 页 (2)a/d 采样电路 pcb 图 top layer bottom layer 第 18 页 3.4.3 a/d转换电路测试数据 (1)模拟信号经 a/d 采样后的数字信号输出 第 19 页 (2)将 ad 采样得到的数字信号作为 da 转换器的输入,da 的输出为: 说明:黄色的信号是原模拟信号,蓝色的信号是 da 转换后的输出信号 第 20 页 3.5 fpga软件部分设计 fpga 软件设计部分主要完成时域信号到频域信号的转化、滤波、基波分量和各次谐波分量的提 取以及失真度的计算。流程图如下: 图 3.5-1fpga 软化设计流程图 3.5.1快速傅里叶变换(fft) 快速傅立叶变换(fft)在数字信号处理中具有非常重要的地位,并且有着广 泛的应用,其中 fft 的运算速度和占用的存储单元是设计中重点考虑的方面,在实 现 fft 算法的各种方法中,基于 fpga 的实现在速度、精度和性价比等方面具有不可 比拟的优势,现将 fft 原理简单介绍如下: 长度为 n 的序列 的离散傅立叶变换 为:)(nx)(kx 第 21 页10 1,.0)()(nnnknwxkx n 点的 dft 可以分解为两个 n/2 点的 dft,每个 n/2 点的 dft 又可以分解为两 个 n/4 点的 dft。依此类推,当 n 为 2 的整数次幂时( ),由于每分解一次降mn2 低一阶幂次,所以通过 m 次的分解,最后全部成为一系列 2 点 dft 运算。以上就是 按时间抽取的快速傅立叶变换(fft)算法。当需要进行变换的序列的长度不是 2 的整 数次方的时候,为了使用以 2 为基的 fft,可以用末尾补零的方法,使其长度延长 至 2 的整数次方。 序列 的离散傅立叶反变换为:)(kxxnnwnnnnkk,.1010 离散傅立叶反变换与正变换的区别在于 变为 ,并多了一个 的运算。因为wn1 和 对于推导按时间抽取的快速傅立叶变换算法并无实质性区别,因此可将n 1 fft 和快速傅立叶反变换(ifft)算法合并在同一个程序中。 一般简单的 fft 实现框图如下: 3.5.2利用 fft进行频谱分析 若信号本身是有限长的序列,计算序列的频谱就是直接对序列进行 fft 运算求 得 , 就代表了序列在 之间的频谱值。)(kx2,0 幅度谱 : )()()( 2kxkxir 第 22 页 相位谱 : )( arctn)(kxkri 若信号是模拟信号,用 fft 进行谱分析时,首先必须对信号进行采样,使之变 成离散信号,然后就可按照前面的方法用 fft 来对连续信号进行谱分析。按采样定 理,采样频率 应大于 2 倍信号的最高频率,为了满足采样定理,一般在采样之前sf 要设置一个抗混叠低通滤波器。用 fft 对模拟信号进行谱分析的方框图如下所示。 抗混叠低通滤波器 采样 t=1/fs n 点 fft 3.5.3 fifo存储单元在 fft算法中的应用 fft 算法的处理过程开始于数据输入过程,此过程中,采样数据被读入并保存 在存储器中;接下来用存储的数据作 fft 计算并输出结果。 存储单元 ram 是用来存储输入数据和中间运算结果的单元,每次蝶形运算都要 经由 ram 读写输入输出数据,在进行下一级变换的同时,首先应将结果回写到读出 数据的 ram 存贮器中,为加快 fft 运算速度,构造了双端口 fifo ram 来加大数据的 吞吐量,其输入输出共用一个时钟,在时钟的下降沿写入数据,上升沿读出数据。 双端口 fifo ram 可配置在片内或片外。内置 ram 是 fpga 的一种新增资源。将 ram 设置在 fpag 内部不存在驱动和 pad 延时问题,速度快且控制简单,可提高系统的可 靠性。为此,本设计应用 atera fpga 的内置 ram 资源设计内置 ram,提高系统总体 速度和可靠性。以下是在 dsp builder 里面设计的 fifo 控制模块: 图 3.5-2 3.5.4 fft输入控制信号 1、dsp builder 生成的 fft 模块如下图所示: 第 23 页 图 3.5-3 2、fft 模块的输入控制信号时序图: 图 3.5-4fft 输入控制信号时序图 3、fft 输入控制信号模块如下图所示: 图 3.5-5fft 输入信号控制模块 第 24 页 4、fft 输入控制信号: 图 3.5-6fft 输入控制信号 3.5.5峰峰值检测 1、fft 输出波形 (1)实部 图 3.5-7 (2)虚部 图 3.5-8 第 25 页 (3)实部和虚部的模 图 3.5-9 2、峰峰值检测电路 图 3.5-10 峰峰值检测仿真输出波形: 图 3.5-11 第 26 页 3.5.6基波幅值参数和各次谐波幅值参数的提取 1、在 dsp builder 中提取基波幅值参数和歌词谐波幅值参数的模块如图 3.5-5 所 示: 图 3.5-12 2、幅值提取仿真波形 第 27 页 3.6 lcd显示电路设计 3.6.1 hb240128m1a显示器的特色 本设计所用的 lcd 显示器是 hb9188 系列的中文液晶显示器,型号为: hb240128m1a,该 lcd 显示器具有以下特色: 1、 电源操作范围:2.4v -3.6v 2、 点阵显示范围:12832-320x320 3、 提供八位并行及标准 uart 接口 4、 自动复位和指令复位 5、 图片显示及动画功能 6、 绘图及文字画面混合显示功能 7、 软件控制背光开启及闭合 8、 低功耗省电设计(微安级别) 9、 模组自带自检功能便于生产 10、 体 watch dog 功能 11、 自带 16 个键盘口 12、 同时内置 16*16 和 12*12 点阵 13、 可直接

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论