数电综合实实验报告.docVIP

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数电综合实验—简易函数发生器 实验报告 班级:07118班 姓名:杨帆 学号:070547 班内序号:26 2009年1月10日星期六 目录 实验目的 3 二、 任务要求 3 基本任务: 3 提高要求: 3 三、 系统设计 3 1. 设计思路 3 2. 总体设计框图 3 3. 分块设计 4 a) 分频模块: 4 b) 三角波产生模块: 4 c) 方波产生模块: 4 d) 选波模块: 4 e) 正弦波产生模块: 5 f) 并串转换模块: 5 四、 程序框图 6 五、 总体电路图及管脚信息 6 六、 源程序 7 七、 功能说明及操作步骤 9 1. 功能 9 2. 操作步骤 9 八、 资源利用率 10 九、 仿真波形 11 十、 元件清单 12 十一、 关键技术、遇到的问题及解决方案的详述 12 1. 正弦波输出问题 12 2. DA转换问题 12 十二、 实验结论及总结 12 实验目的 1. 熟练掌握 VHDL 语言和QuartusII 软件的使用; 2. 理解状态机的工作原理和设计方法; 3. 掌握利用 EDA 工具进行自顶向下的电子系统设计方法; 4. 熟悉 D/A 变换电路的设计; 任务要求 基本任务: 设计制作一个简易函数发生器。 1. 输出波形为方波和三角波,频率范围为1kHZ-2kHZ; 2. 频率可进行调节并用数码管显示,加、减步进均为100HZ; 3. 输出三角波的峰峰值为4-5V,方波幅度为TTL 电平的大小; 提高要求: 1. 产生频率范围为1kHZ-2kHZ、峰峰值为4-5V 的正弦波信号; 2. 产生占空比可调的矩形波或其它波形; 3. 自拟其它功能。 系统设计 设计思路 用VHDL语言结合原理图编辑方式设计实现一个函数信号发生器,输出频率可调方波和三角波,正弦波三种波形。将波形选择、频率控制与分频、三角波、正弦波、方波发生各个模块分别用VHDL语言编程为一个子程序,并把每一个模块转换成图形文件,然后在原理图编辑框调用这些图形模块。由于考虑到按键开关工作的不确定性,通过拨码开关模块的SW0到SW3控制频率调节f〔3...0〕,用SW4、SW5控制DELTA、SINE、SQUARE波形选通,最后把八位输出经过并串转换,接到开发板上的DA模块(TLV5638),通过D/A转换,从示波器上就能看到波形输出。 总体设计框图 (图一:系统设计框图) 分块设计 本设计共使用了六个模块,分别解释如下: 分频模块: 本模块主要功能是输出两个分频时钟clk_m和clk_p,前者用于波形的每一点的并行值输出频率,后者是前者的32倍频,用于并串转换(16bit并行输入转串行输出,并且要输出一个二分频时钟)。经过多方考虑(受制于DA芯片的最高工作频率),选择波形分辨率为64点(即一个周期取样64次)。这里输出的1KHz到2KHz的频率(步进100Hz)都是近似的。 frq.vhd文件还包含了数码管输出的功能。采用高频时钟(50M)扫描cat,输出当前的频率值。这里不再分析。 三角波产生模块: 这个模块输出三角波波形。每次clk_m上升沿输出一个8bit的数据。周期分辨率为64点。方波产生模块: 本模块输出占空比可调的方波。默认占空比为50%。周期分辨率为64点。按键调节占空比,步进增/减幅度为12.5%。选波模块: 本模块根据用户操作拨码开关来选择输出的波形。默认输出低电平。正弦波产生模块: 本模块输出周期分辨率为64点的正弦波。用Excel或者Matlab算出二进制8bit的正弦波的取样值,然后采用在程序里查表的方式输出数据。这要比用程序直接计算正弦波的值快捷和简便得多,虽然损失一定精度,但换回的是程序执行的时间和空间资源。并串转换模块: 每次外部复位信号(reset_i)或者内部复位信号(reset_int)有效时,系统进行各信号清零复位的工作。cs_o信号作用是对TLV5638的片选,cs_o的下降沿触发TLV5638的数据写入,cs_o上升沿时TLV5638停止数据写入(数据锁存)。系统默认状态为IDLE(空闲),不进行任何操作。当DA工作触发信号(start_i)有效时,系统被触发,进入BUSY(工作)状态。系统状态为BUSY时,进行一次16bit输入数据的并串转换,使用输入并行数据频率的32倍频,将其二分频后输出给TLV5638作为时钟信号。输出16bit数据后,系统将cs_o复位(停止数据写入芯片),并且将eoc置位(进行一次各信号清零复位的工作)。系统输出串行数据时首先输出并行输入数据的高位。 程序框图 (图二:系统操作流程图)总体电路图及管脚信息 (图:系统电路图) (图:管脚连接信息) 源程序 功能说明及操作步骤 功能 实现

文档评论(0)

younaifcg + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档