怎么实现CPLD计数功能的调试??

发布于2022-01-13 08:00:10
3个回答
admin
网友回答2022-01-13
数控系统中基于复杂可编程逻辑器件(Complex Programable Logic Device,CPLD)的正交计数器的实现.实验所用的CPLD器件为Altera公司开发的EPM7128SLC84-15,采用MAX+plusⅡ编程环境,通过原理图输入法对其进行开发,精确实现了四倍频鉴向及30位的计数功能,大大减少数控系统内分立元件的使用,同时增强系统的抗干扰能力,降低了开发成本,具有一定的实用价值.
(1).设计输入:设计输入有多种方式,目前最常用的有电路图和硬件描述语言两种,对于简单的设计,可采用原理图的方式设计,对于复杂的设计可使用原理图或硬件描述语言(Verilog、AHDL、VHDL语言),或者两者混用,采用层次化设计方法,分模块层次地进行描述。原理图设计方法主要是按照数字系统的功能采用具体的逻辑器件组合来实现的,把这些由具体器件实现逻辑功能的电路图输入到软件当中。这种设计方法比较直观。硬件描述语言设计方法主要把数字系统的逻辑功能用硬件语言来描述
(2)编译:编译前先选择器件的系列、型号,分配输入/输出管脚进行管脚,然后开始编译编译是指从设计输入文件到熔丝图文件(cpld)或位流文件(fpga)的编译过程。在该过程中,编译软件自动地对设计文件进行综合、优化,并针对所选中的器件进行映射、布局、布线、产生相应的熔丝图或位流数据文件。
(3)仿真:分为功能仿真(Functional)和时延(Timing)仿真:编译成功的设计并不一定完全正确,可通过仿真来验证电路是否达到设计要求,基本思路是首先用波形编辑器编辑仿真文件,给输入加载不同的激励信号,然后运行仿真器,产生对应的输出,根据输入和输出的关系,以此判别设计的正确性。
(4)器件编程:器件编程就是将熔丝图文件或位流数据文件下载到相应的cpld或fpga器件中。
(5)系统硬件电路测试
admin
网友回答2022-01-13
,结构完整
admin
网友回答2022-01-13
;启动入口
ORG 0000H ;复位启动
LJMP START ;
ORG 000BH ;T0中断
LJMP T0INT ;
ORG 0100H ;
LJMP START ;
YSJS EQU 30H
;
;主控程序
START: MOV SP,#80H ;初始堆栈值
MOV TMOD,#01H ;定时器0工作于方式1
MOV TH0,#0ECH ;定时器0定时时间=5000uS
MOV TL0,#78H ;
SETB ET0 ;使能定时器0中断
SETB EA ;开总中断
SETB TR0 ;定时器0启动,开始定时
MOV YSJS,#200
JMP $ ;
;
;定时器0中断服务程序
T0INT: MOV TH0,#0ECH ;定时器0定时时间=5000uS
MOV TL0,#78H ;
DJNZ YSJS,QT0
MOV YSJS,#200
CPL P1.1 ;
QT0: RETI ;
END ;

回到
顶部