基于FPGA的函数信号发生器a.pdf_第1页
基于FPGA的函数信号发生器a.pdf_第2页
基于FPGA的函数信号发生器a.pdf_第3页
基于FPGA的函数信号发生器a.pdf_第4页
全文预览已结束

下载本文档

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

文档简介

摘要 提出了一种通过直接数字合成 DDS 技术 利用FPGA 现场可编程门阵列 设计并实现函数信号发生器的方 法 通过仿真与实验验证该方案可以产生各种常用的基本电信号 关键词 直接数字合成 FPGA 函数信号发生器 分频 AbstractAbstract This paper presents a method to produce signal generator by using direct digital synthesis DDS technology and the FPGA field programmable gate array design It s proved that the program can generate a variety of commonly used electri cal signal through simulation and experimental validation Key wordsKey words direct digital synthesis FPGA function signal generator fractional frequency 中图分类号 TP331文献标识码 B文章编号 1001 9227 2013 02 0126 03 收稿日期 2012 11 20 作者简介 徐平友 1973 男 高级工程师 中国振华集团 技术中心副主任 主要研究方向 军用电子元件生产及其应用 基金项目 贵阳市重点科技项目 新型电子元器组件产业 化攻关 筑科工合同字第1 4 9号 基于FPGA的函数信号发生器 徐平友 1 周 骅 2 1中国振华集团技术中心 贵阳市 550025 2贵阳大学 贵阳市 550025 0前言 在现代电子电路及设备的设计 研究和测试的过程中 为了 测定电路中的一些参数 都需要提供符合所需技术要求的电信 号 用来模拟实际工作中待测电路或设备的激励源 因此函数信 号发生器是应用最广泛的电子仪器之一 目前采用集成电路组 成的函数信号发生器 大都需手动进行波形切换 一般可靠性较 差 准确度较低 难以满足科研和高精度实验的需要 基于函数信号发生器的广泛应用 对信号发生器的设计与 研究就显得非常有意义 本设计中利用直接数字合成 Direct Digital Synthesis DDS 技术设计了一种函数信号发生器 它具 有相位变换连续 频率转换速度快 频率分辨率高 相位噪声低 频率稳定度高 可产生正弦波 方波 三角波 锯齿波等多种基本 点信号 具有可编程 全数字化 控制灵活方便等优点 1系统设计原理 基于FPGA的函数信号发生器要求输出1Hz 32KHz的四 种波形 因此该系统最主要的是部分是 频率控制部分 波形产 生部分 数 模转换及滤波部分共三部分 其中频率控制部分和 波形产生部分由FPGA实现 数 模转换及滤波部分由外围设计 电路实现 其框图如图1所示 频率控制 部分 波形产生 部分 数 模转换及滤 波部分 控制信号输出波形 图1系统的架构框图 其中频率控制部分包括PPL模块与分频模块 用于产生 1Hz 32kHz范围内的任一频率 波形产生部分包括正弦波地址 产生模块 ROM模块 方波发生模块 三角波发生模块 锯齿波 发生模块与选择器模块 用于产生设计要求的四种基本波形 数 模转换及滤波部分包括D A控制模块 D A转换器与低通滤 波器模块 其作用是将数字波形转换为模拟波形 并滤除高频噪 声 其细化的系统结构框图如图2所示 PLL 模块 分频 模块 正弦波 地址产 生模块 ROM 模块 方波发 生模块 三角波发生 模块 锯齿波 模块 选择器 模块 D A 控 制 模 块 D A 转换器 模块 低通滤波器 模块 波形产生模块 输出波形 系统时钟 预置频率 波形选择 FPGA 图2基于FPGA的函数信号发生器的系统结构框图 2模块的设计 2 1PLL模块 为了提高输出波形的频率 需要利用可编程锁相环PLL来 提高系统的时钟频率 以达到输出波形的最高频率 FPGA片内嵌入式锁相环PLL可以与输入的时钟信号同步 并以其作为参考信号实现锁相 从而输出一个或多个同步倍频 或分频的片内时钟 以供逻辑系统使用 PLL可以通过直接调 用宏单元使用 调用过程中需要设置输入频率 输出频率 占空 比等参数 在本设计中 输入频率是系统的时钟频率 输出频率 为33 554MHz 占空比为50 2 2分频模块 分频模块的原理是 通过改变预置频率的数值 利用相位累 加器对预置频率进行累加 相位累加器的进位输出信号就是分 频得到的信号 设输入的预置频率为K 通过PLL模块输出信号 的频率为fclk 频率字的长度为N位 则累加器输出的进位信号 的频率fout为 fout K fclk 2 N 1 因为系统要求输出的频率范围为1Hz 32KHz 所以频率 字的长度应为N 15 将PLL模块的输出频率定为225Hz 则 fout K 2 9 512K Hz 基于FPGA的函数信号发生器徐平友 等 126 自动化与仪器仪表 2013年第2期 总第166期 又因为正弦波ROM中每个周期存储了512个量化数据 所 以输出一个周期的正弦波需要512个fout周期 即对fout进行512 分频 此时输出的正弦波的周期为 f 512K 512 K Hz 输出的正弦波的频率就是预置频率K 因此该系统可以得 到1Hz 2 15Hz 范围内的任意频率的四种波形 2 3正弦波发生模块 正弦波发生模块包括地址产生模块和ROM存储器 地址 产生模块是为ROM存储器提供地址 从而连续输出ROM中的正 弦波数据 其工作原理是计数时钟周期 从而使得地址一次累加 1 产生连续的地址 由于ROM中存储了512个正弦波数据 所 以需要用9位地址来读取ROM中的数据 ROM模块的设计采用FPGA提供的LPM宏单元库中的存储 器设计模块 lpm rom 存储器的容量定义为512 8bit ROM中 的数据初始化文件 mif 内容为一个周期的正弦波抽样产生的 512个数据 如图3所示 图3ROM中存储的正弦波数据 2 4方波发生模块 方波信号的波形图如图4所示 方波产生的原理比较简单 其输出的数据只有两种取值 高电平和低电平 只需要在一个周 期的中间时刻将信号反转即可 图4方波信号的波形 因为方波的频率也由分频模块的输出频率控制 为了使得 方波的频率与预置频率相等 所以在一个方波周期内需要输出 512个数据 其中高 低电平分别256个数据 从而输出一个周期 的方波信号 2 5三角波发生模块 三角波信号的波形图如图5所示 三角波产生原理 信号的 幅度按照一定的频率依次增大 在信号幅值达到规定值后 再将 信号的幅度按照相同的频率依次减小为0 从而得到三角波 图5三角波信号的波形 为了保证在相同的预置频率下 三角波的频率与方波 正 弦波的频率相同 三角波在一个周期内应该输出512个数据 即 上升过程和下降过程中各输出256个数据 从而输出一个周期 的三角波信号 2 6锯齿波发生模块 锯齿波信号的波形图如图6所示 锯齿波产生原理 信号的 幅度按照一定的频率依次增大 在信号幅值达到规定值后 信号 的幅度变为0 从而得到一个周期的锯齿波信号 图6锯齿波信号的波形 与三角波相同 为了保持频率一致 在实现锯齿波的过程 中对时钟信号进行计数 每两个时钟周期 输出信号累加1 所以 在512个周期内 一共输出256个数据 即0 255 从而输出一 个周期的锯齿波信号 3顶层架构及仿真 3 1系统的顶层架构 将各元件例化模块按照对应的关系连接起来 就构成了函 数信号发生器的数字实现系统 如图7所示 然后对整个数字 系统进行仿真 系统的输入信号有 波形选择端 预置频率端 时 钟信号 复位信号 输出为四种波形数据 VCC kz 1 0 INPUT VCC sw 14 0 INPUT VCC sure INPUT VCC rst INPUT 8 bits 512 words Block type AUTO address 8 0 clock q 7 0 zxrom inst fclk rst sbq 7 0 sjb inst1 fclk rst fbq 7 0 fb inst2 fclk rst jbq 7 0 jcb inst3 kz 1 0 zxq 7 0 sbq 7 0 fbq 7 0 jbq 7 0 qout 7 0 xzq inst4 q outaddress 8 0 dzbm inst6 NOT inst7 plz 14 0 clkdiv q out fclk inst8 clk rst sure sw 14 0 plz 14 0 srpl inst10 Stratix II inclk0 frequency 100 000 MHz Operation Mode Normal Clk RatioPh dg DC c01024 31250 0050 00 inclk0c0 pll inst9 VCC clk INPUT qout 7 0 OUTPUT cs OUTPUT wr OUTPUT dac ab OUTPUT fclk rst datain 7 0 cs wr dac ab data 7 0 dazh inst5 图7函数信号发生器的数字部分 3 2仿真及结果分析 1 通过Quartus II软件仿真输出频率为32KHz的正弦波 三角波 方波 锯齿波四种波形 仿真结果如图8所示 图832KHz的正弦波 三角波 方波 锯齿波 下转第134页 127 TD 1 N i 1 N Tj TD TD To M 设备工作空间的测量点数 N 测量次数 Tij 设备工作空间第j点第i次的温度测量值 Tj 设备第j次指示温度值 To 设备工作空间全部测量点的温度测量平均值 引用指示误差时 要注意结合温度上下偏差进行修正 修正 后的数值与上下偏差都能保持在允差范围 一般是 2 以内 4核查结果的评价 期间核查结束后 需对期间核查的结果进行评价 以便确定 温度箱是否可以继续使用 若核查结果超出规定的允差范围 应 找出原因 提出修正意见 然后重新核查 若反复核查的结果均 不在规定的允差范围内 应考虑检修修复 然后重新核查甚至请 上级部门检定 校准 直至符合实验室要求为止 期间核查结 束后还应对期间核查计划的执行情况进行分析 评审 根据此评 审结果 制订设备年度检定 校准 计划 最后对期间核查的所有 记录以及相关文件整理归档 5结束语 综上所述 对温度箱进行定期或不定期的核查 既能及时掌 控温度箱的技术状态 保证温度箱的技术性能稳定可靠 确保检 测结果准确有效 本文提出的期间核查方法简便 直观 易操 作 还能为实验室节约检定 校准 费用 因此每个实验室 可根 据自己实验室具体使用情况对温度箱定期或不定期进行核查 由仿真图可以得出 波形无明显失真 且仿真波形的周期为 31 33us 即频率为1 31 33us 计算得到相对误差为 0 25 2 通过软件仿真输出频率为10KHz 1 KHz 100 Hz的正弦 波 仿真结果如图9所示 图910KHz 1 KHz 100 Hz的正弦波 由仿真图 对于10KHz波形 波形周期为100us 即频率为1 100us 相对误差为0 对于1KHz波形 波形周期为0 995ms 即频率为1 0 995ms 相对误差为0 5 对于100Hz波形 波形 周期为9 973ms 即频率为1 9 973ms 相对误差为0 27 5结语 本文通过硬件描述语言VHDL利用数字频率合成技术对函 数信号发生器进行建模和设计 提出了一种在一块可编程芯片 上实现函数信号发生器的具体方案 并通过Quartus II软件进行 仿真及实验验证 能够产生1Hz 32KHz频率范围内任意频率的 四种基本波形 文中设计的函数信号发生器集成度高 速度快 可移植性强 成本低 使得函数信号发生器的使用越来越方便 成本越来越低 参考文献 1 江思敏 VHDL数字电路及系统设计 M 机械工业出版社 2006年 2 王振红 VHDL 数字电路设计与应用实践教程 M 机械工业出版 社 2003年 3 汉泽西 孙燕妮 基于FPGA和单片机的信号发生器设计 J 电子科技 2007年 4 周俊峰 基于FPGA 的直接数字频率合成器的设计和实现 J 电子技 术应用 2006年 5 高有堂 EDA技术及应用实践 M 清华大学出版社 2006年 上接第127页 充电器电源供电 一个是为小车供电 另一个为单片机及传感器 模块供电 也可以安装四颗电池供电 把电源插好后 先打开 小车的电源开关 再打开单片机控制系统的电源开头 即可运 行 运行时将小车垂直对准障碍物一米二左右 等到红色LED 数码管上显示30时 即与障碍物距离为30CM 此距离可通过程 度进行更改 小车停止且蜂鸣器响 红色LED灯亮 侧方倒车 时 将小车与障碍物形成一定角度 约30 放置 随着倒车的进 行 车尾距离虽然大于30CM 但由于侧方红外避障传感器已经 检测到障碍 小车仍然停止并声光报警 注意此时超声波传感 器已停止探测车尾距离 数码管上显示的是小车停止前最后一 次探测的距离 由于能自动停止 该系统实现了主动防撞 参考文献 1 吴琼 封维忠 马文杰 汽车倒车雷达系统的设计与实现 J 现代电子技 术 2009 9 2 牛余朋 基于单片机的高

温馨提示

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

评论

0/150

提交评论