1513.基于CPLD手动触发计数器的设计_第1页
1513.基于CPLD手动触发计数器的设计_第2页
1513.基于CPLD手动触发计数器的设计_第3页
1513.基于CPLD手动触发计数器的设计_第4页
1513.基于CPLD手动触发计数器的设计_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、 课程设计(论文)说明书题 目: 基于cpld手动触发 计数器的设计 院 (系): 专 业: 学生姓名: 学 号: 指导教师: 职 称: 年 月 日摘 要cpld是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统。本课程设计就是利用xilinx的xc9572pc44进行设计,可以完成十进制计数,通过芯片的i/o口和串口,可实现本地数码管显示,同时能手动触发计数器计数。通过本次系统的设计,感觉自己收获颇多,要能真正地完成一个系统的设

2、计与实现,要注意注意资料的收集,硬件电路设计,软件部分的设计等方面。关键词:cpld;xilinx;数码管;计数器;vhdl;jtag;xc9572目 录引言 11 系统结构设计 21.1 系统概述 21.2 系统设计要求 21.2 系统结构框架 22 硬件设计 22.1原理介绍 22.2 数码管显示部分 32.3 芯片介绍 42.4 原理图设计 53 软件设计 83.1 软件设计流程 83.2 程序设计 84 调试部分 104.1 硬件调试 104.2 软件调试 114.3 调试结果 115 结论与体会12谢辞 13参考文献 14引言20世纪70年代,最早的可编程逻辑器件-pld诞生了。其输

3、出结构是可编程的逻辑宏单元,因为它的硬件结构设计可由软件完成(相当于房子盖好后人工设计局部室内结构),因而它的设计比起硬件的数字电路具有很强的灵活性,但其过于简单的结构也使它们只能实现规模较小的电路。为弥补pld只能设计小规模电路这一缺陷,20世纪80年代中期,推出了复杂可编程逻辑器件-cpld。目前应用已深入网络、仪器仪表、汽车电子、数控机床、航天测控设备等方面。cpld具有编程灵活、集成度高、设计开发周期短、适用范围宽、开发工具先进、设计制造成本低、对设计者的硬件经验要求低、标准产品无需测试、保密性强、价格大众化等特点,可实现较大规模的电路设计,因此被广泛应用于产品的原型设计和产品生产(一

4、般在10,000件以下)之中。几乎所有应用中小规模通用数字集成电路的场合均可应用cpld器件。cpld器件已成为电子产品不可缺少的组成部分,它的设计和应用成为电子工程师必备的一种技能。 cpld是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统。经过几十年的发展,许多公司都开发出了cpld可编程逻辑器件。比较典型的就是altera、lattice、xilinx世界三大权威公司的产品,这里给出常用芯片: altera epm7128

5、s (plcc84) lattice lc4128v (tqfp100) xilinx xc95108 (plcc84)。 本课程设计就是利用xilinx的xc9572pc44进行设计,可以完成十进制计数,通过芯片的i/o口和串口,可实现本地数码管显示,同时能手动触发计数器计数。1 系统结构设计1.1 系统概述本课题利用xc9572驱动数码管显示十进制计数,并制作xiline公司的jtag编程器下载线,可以实现xiline公司的cpld下载。1.2 系统设计要求 能用控制芯片记数,并在数码管上显示; 实现计算机与芯片之间的串行数据通信; 在计算机上实现编辑界面,设置记数周期,并能下载到芯片。1

6、.3 系统结构框架根据系统设计的要求,计数器的系统框架如图1所示。计算机编程xc9572数码管显示开关控制上电复位图 1 计数器的结构框图本系统能完成十进制记数功能。2、硬件设计 2、1原理介绍20世纪70年代,最早的可编程逻辑器件-pld诞生了。其输出结构是可编程的逻辑宏单元,因为它的硬件结构设计可由软件完成(相当于房子盖好后人工设计局部室内结构),因而它的设计比纯硬件的数字电路具有很强的灵活性,但其过于简单的结构也使它们只能实现规模较小的电路。为弥补pld只能设计小规模电路这一缺陷,20世纪80年代中期,推出了复杂可编程逻辑器件-cpld。目前应用已深入网络、仪器仪表、汽车电子、数控机床、

7、航天测控设备等方面。 cpld具有编程灵活、集成度高、设计开发周期短、适用范围宽、开发工具先进、设计制造成本低、对设计者的硬件经验要求低、标准产品无需测试、保密性强、价格大众化等特点,可实现较大规模的电路设计,因此被广泛应用于产品的原型设计和产品生产(一般在10,000件以下)之中。几乎所有应用中小规模通用数字集成电路的场合均可应用cpld器件。cpld器件已成为电子产品不可缺少的组成部分,它的设计和应用成为电子工程师必备的一种技能。 cpld是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载

8、电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统。本课程设计是计数器设计,下面介绍芯片的设计流程。cpld的工作大部分是在电脑上完成的。打开集成开发软件xilinx ise 7.1i画原理图、写硬件描述语言(vhdl,verilog)编译给出逻辑电路的输入激励信号,进行仿真,查看逻辑输出结果是否正确进行管脚输入、输出锁定生成代码通过下载板将代码传送并存储在cpld芯片中。通过触发式开关的控制可以实现计数,复位,使能。 2、2数码管显示部分数码管有共阴和共阳之分,单片机都可以驱动,但是驱动的方法不同,并且相应的09的显示代码也刚好相反。这里采用4位共阳数码管,前面两位用于显示温度

9、整数,后两位显示小数,因为要显示四位不同的数字,所以必须用动态扫描的方法来实现,不断循环,这样只要扫描时间小于1/50秒,就会因为人眼的视觉残留效应,看到四位不同的数字稳定显示。数码管使用的电流,静态时一般使用1015ma;动态时平均电流45ma,峰值电流5060ma。所以,为了提高输入电流,选择的限流电阻不能太大。其与单片机的连接如下:图2 数码管显示部分原理图2、3 芯片介绍本次课程设计采用的是xiline公司的xc9572芯片。xiline公司的xc9500系列低成本cpld系列提供了当今前沿系统设计所需要的高性能、丰富的性能组合以及灵活性。 另外,出色的管脚锁定功能使设计者能够修改其c

10、pld设计,而不会影响电路板布局。 与竞争cpld产品相比,xc9500系列在每个密度点都提供了多12%以上的逻辑资源,而且不需要额外的成本。下面简单介绍xc9572的结构性能。xc9572有44个引脚,其中34个为用户的i/0脚,其它为jtag脚和电源引脚,具体管脚分布如下表所示表 1 芯片引脚分布芯片的外部构造以及芯片命名如下图所示图 3 芯片外部构造及命名芯片内部构造如下图所示 图 4 芯片内部构造2、4 原理图设计 jtag(joint test action group)联合测试行动小组是一种国际标准测试协议(ieee 1149.1兼容),主要用于芯片内部测试。现在多数的高级器件都支

11、持jtag协议,如dsp、fpga器件等。标准的jtag接口是4线:tms、 tck、tdi、tdo,分别为模式选择、时钟、数据输入和数据输出线。 jtag最初是用来对芯片进行测试的,基本原理是在器件内部定义一个tap(test access port测试访问口)通过专用的jtag测试工具对进行内部节点进行测试。jtag测试允许多个器件通过jtag接口串联在一起,形成一个jtag链,能实现对各个器件分别测试。现在,jtag接口还常用于实现isp(in-system rogrammable在线编程),对flash等器件进行编程。 jtag编程方式是在线编程,传统生产流程中先对芯片进行预编程现再装

12、到板上因此而改变,简化的流程为先固定器件到电路板上,再用jtag编程,从而大大加快工程进度。jtag接口可对psd芯片内部的所有部件进行编程jtag下载板的原理图如下图所示图 5 jtag下载板原理图jtag下载板的pcb 图如下图所示图 6 jtag下载板pcb图xiline板的原理图如下图所示,利用jtag将驱动程序下载到xc9572并用xc9572的i/o口控制数码管的显示。图 7 xiline板的原理图xiline板的pcb图如下图所示图 8 xiline板的pcb图3 软件设计 3、1软件设计流程本次课程设计使用xilinx.ise.v7.1i进行工程设计,具体流程是:建立工程项目利

13、用综合器进行综合定义输入输出管脚约束布局布线下载配置。3、2 程序设计为了使计数器系统能正常工作,必须对芯片正确的设置。计数器的程序设计如下所示。library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity counter10 isport(clk,reset,en: in std_logic; led7s : out std_logic_vector(6 downto 0);end counter10;architecture behavior of counter10 issignal cou

14、nt:std_logic_vector(3 downto 0);begin process(reset,clk,en) begin if reset=1then count(3 downto 0)=0000; else if(clkevent and clk=1)then if(en=1)then if(count=1001)then count=0000; else count led7s led7s led7s led7s led7s led7s led7s led7s led7s led7s null ; end case;end process;end behavior;其具体流程图如

15、所示。开始使能开关启动芯片工作触发开关,开始计数en=1?清0结束ny图9 计数器流程图4 调试部分此系统的调试可以分为硬件调试和软件调试。其中硬件调试,是软件调试的基础,硬件设计上的任何错误,都会导致不必要的麻烦,所以在设计时就应当注意。在硬件没有了问题,重点就放到软件程序上了,它是整个调试过程的核心,也是整套系统功能的基本要求,难度较大,需要耐心仔细地检测每一语句。4.1 硬件调试硬件部分的电路在前面已经作了介绍,这里不再重复,将两个模块有效地组合在一起,就构成了最终的电路。在硬件调试过程中,应该注意的问题有: 电路各元件装配焊接好后,首先检查是否存在虚焊的情况,这是很容易忽略的。具体的方

16、法为,接上+3v直流电源,用万用表逐一检查,看电压是否正常。 xc9572工作时的几个极限参数调试时可用这几个参数来衡量。 芯片必须存在复位电路和外接晶振或者触发脉冲,其引脚接高电平。 数码管必须清楚地区分是共阴,还是共阳的,这二者之间有很大的不同,包括原理和代码。数码管需要在较大的驱动电流时才具有较高的亮度,但也不能因追求亮度而无限降低其电阻值,试验中要根据情况选择。本设计中选择电阻为100欧姆。 保证芯片jtag口和芯片之间的正确匹配,其输入、输出必须对应,我在此就犯了错,以致调试时出现了问题。当硬件的检查没有了问题之后,外接+3v电源之后,元件正常工作,数码管能正常显示时,就可以进入软件

17、的调试了。4.2 软件调试前面介绍的为软件部分的流程图以及部分代码,详细的见源程序,对它们进行配置和链接之后,加上硬件电路,就可以实现整个系统的功能了。软件调试要注意以下几点: 软件调试是建立在硬件的基础之上的,因此,其中参数的设置,必须与硬件相符合,不能妄自设定其参数值。 程序的测试步骤,一般是先对其中某个模块进行测试,在这一模块的功能实现了之后,再调试下一模块。这样更利于找出程序中哪里出现了问题,也更容易进行改进。本系统即可先检测数码管显示部分,看其在程序下载之后能否正常显示,若不能,则需对数码管显示程序进行改进。 软件的调试难度大于硬件,有时候即使是缺少了一个符号,最终的结果也不会正确,

18、而且软件的调试,也不是花一点时间就可以解决的事情,所以在调试时应特别注意。vhdl程序的仿真图如下图所示图 10 vhdl程序的仿真图4.3 调试结果本系统能实现十进制计数,通过芯片的i/o口和串口,可实现本地数码管显示,同时能手动触发计数器计数,基本满足设计的要求。主机界面采用vhdl设计,界面操作以及代码的编写难度都不是很大。jtag口下载板部分也是调试时应该注意的问题。5. 结论与体会通过本次系统的设计,感觉自己收获颇多,要能真正地完成一个系统的设计与实现,有几方面值得注意。第一,资料的收集。在确定了研究设计的方向之后,接下来的时间就是电路设计前的准备工作,这一步看似简单,却起着至关重要的作用,资料准备的充分与否直接影响后面的工作。第二,硬件电路设计。对自己所要用到的芯片以及其它的器件的性能要有充分的了解,这样才能设计出合适的电路,自己在开始做的时候就忽略了这一点,以致影响了硬件电路的正常工作。第三,软件部分的设计。对自己来说,由于平时涉及的项目太少

温馨提示

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

评论

0/150

提交评论