中科大通信与电子系统综合实验报告.docVIP

中科大通信与电子系统综合实验报告.doc

  1. 1、本文档共6页,可阅读全部内容。
  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文档。上传文档
查看更多
中科大通信与电子系统综合实验报告

通信与电子系统综合实验 设计一 实现FPGA对CPLD外设的全部利用 实验要求 编写CPLD()程序控制其外设(LED,数码管,输入开关等)。2)编写CPLD与FPGA(XC2V2000)的接口电路,实现FPGA与CPLD外设的直接对应关系。3)编写FPGA程序测试CPLD的外设。 实验说明和分析 1. 硬件分析 本次实验涉及的硬件包括:4个脉冲触发开关;8个拨码开关;8个7段数码管;32个LED发光二级管;以及如图1所示的相连接的CPLD和FPGA芯片。 图 1 硬件连接关系图 2. 实验要求分析 要求通过FPGA对CPLD外设进行全部控制,我们看到如果不进行编码我们需要4+8+32+16=60根连接线,而实际只有23条,后来我就考虑4位脉冲信号和8位拨码信号直接传输,32位LED灯只需要5位信号就可以实现全控制了,对数码管控制信号只需要3位片选信号和4位信号控制信号,这样一共需要4+8+5+7=24根内部连接,依然多了一根。这个时候,我们就可以考虑到串并和并串转换了,对于8位LED发光二级管我们只需要4位就可以了,三位表示二极管的位数,1位表示二极管的状态。这样我们一共只需要4+4+5+7=20根内部连接,小于23根,可以满足实验需求。图2为FPGA控制CPLD外设的结构示意图。 图 2 FPGA控制CPLD外设连接结构示意图 设计方案 1. CPLD程序设计 4路脉冲信号按硬件连接接收进来不做变换直接传给FPGA,8路拨码开关信号按硬件连接接入进来进行并串转换,变成4位串行信号,前三位表示拨码开关的位选,最后一位表示开关的状态,程序实现如下: process(counter) //counter为计数信号,每计到16从0开始循环一次 begin case counter is when 00000 = dip_out(0) = dip(0);dip_out(3 downto 1) = 000; when 00010 = dip_out(0) = dip(1);dip_out(3 downto 1) = 001; when 00100 = dip_out(0) = dip(2);dip_out(3 downto 1) = 010; when 00110 = dip_out(0) = dip(3);dip_out(3 downto 1) = 011; when 01000 = dip_out(0) = dip(4);dip_out(3 downto 1) = 100; when 01010 = dip_out(0) = dip(5);dip_out(3 downto 1) = 101; when 01100 = dip_out(0) = dip(6);dip_out(3 downto 1) = 110; when 01110 = dip_out(0) = dip(7);dip_out(3 downto 1) = 111; when others = dip_out(0) = dip(7); end case; //dip_out为4为并串转换后的信号 LED发光二极管控制:通过32路选择器实现5位来自FPGA的对发光二极管的控制信号对外设的发光二极管译码控制,其中 0 为灭,1 为亮;每次亮 5 位二进制数据对应序号的一个发光二极管。实现程序如下: case lednum_con is when 00000 = lednum = 00000000000000000000000000000001 ; when 00001 = lednum = 00000000000000000000000000000010 ; when 00010 = lednum = 00000000000000000000000000000100 ; … … when 11101 = lednum = 00100000000000000000000000000000 ; when 11110 = lednum = 01000000000000000000000000000000 ; when others = lednum = 10000000000000000000000000000000 ; end case; 数码管的控制:7位来自FPGA的信号实现对数码管的控制,其中三位实现数码管的位选,4位实现对数码管进行译码显示。实现程序如下: case chipch_con is when 000 = chipch =; when 001 = chipch =; … … when 110 = chipch =; when others =

文档评论(0)

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

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

1亿VIP精品文档

相关文档