完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
1 引言
当前在EDA领域,只要具备台式或笔记本电脑并装有工具软件,就可以方便地对可编程ASIC(CPLD/FPGA)进行设计开发,在系统可编程(ISP)器件为我们提供了这种便利条件。ISP方式虽然可以用一根下载电缆代替了编程器,但兼有提供下载和演示环境两大功能的可编程ASIC开发系统对于用户来说仍是必须的。本文提出的主从式下载开发系统可以适配多种目标芯片,具有较宽的开发应用范围,经过几年的教学、科研实践,使用效果良好。 2 系统结构及工作原理 对ASIC器件设计开发的前期工作主要依靠对某种EDA工具软件使用。对于其工具软件和硬件编程语言,必须通过实践锻炼方能熟练使用和达到掌握技巧的程度。对应用系统和目标芯片进行开发,先要使用EDA工具软件所提供的文本和图形输入方式进行描述和综合,并要通过仿真验证。而后的工作就是将设计完成并通过仿真的熔丝图文件对目标芯片下载,并在系统板提供的开发环境中直接进行功能演示。因而下载开发系统的基本结构必须具备输入和输出功能。设计数字电路或系统往往需要多种频率资源,故系统板要提供时钟配置和频率选择功能。而要完成开发系统的复杂工作和模式选择,系统控制功能也是必须的。基于以上思路设计开发的系统电路框图如图1所示。 [tr] [/tr] 2.1 主从式结构 本机最大的特点是系统采用主从式开发结构,将目标芯片安装在一个小型转接板上,再将转接子板插到系统母板上配合工作。主系统母板是固定的,对不同的芯片只需换用不同的转接子板,避免了以往开发系统只能对单一型号芯片进行开发应用的弊端,大大拓宽了目标芯片的可选性和开发系统的应用范围。目前设计的开发系统适用于6000门规模的芯片开发,以及LATTICE、XILINX、ALTERA等多家公司的不同芯片。主从式开发结构保证了系统的通用性和易于升级,只要稍加改进就可形成从2000门到100000门以上逻辑资源、从5V 到3.3V、2.5V、1.8V兼容工作电压的系列产品。 2.2 输出部分 输出部分主要采用数码管显示并有发光二极管显示以及扬声器发声装置。考虑到数码管占用较多的用户资源,我们采用一种动态扫描方式,在输出数码管显示数据时同时输出与该数据相对应的数码管地址,经地址译码器形成数码管选通信号。具体实现时用一片Isp LSI1016可编程器件配置数据选择器和译码器,地址译码功能通过89C51单片机控制实现。这种方案大大节省了输出口资源和译码驱动器件,提高系统可靠性同时减少印板空间。 设计系统具有三种显示模式:准静态显示、十六进制码输入动态显示和段码输入动态显示,用户通过拨码开关或跳线进行模式选择。 2.3 输入部分 采用8键KEY 0~ KEY 7,键盘信号经89C51单片机处理后通过三态缓冲门送至用户芯片,根据不同工作要求,键盘设计有四种输入模式:琴键模式、乒乓模式、脉冲模式和二进制计数模式。除此之外第八键还可为特殊功能做单步时钟输入模式。 2.4 时钟资源及分频 使用IspLSI1016同时配置时钟产生单元,系统由晶振产生32768 Hz时钟,经1016内部分频可以输出十种频率,这十种频率与另外单独产生的12 MHz信号组合使用(分为四组),可基本满足设计需要。对1016的ABEL-HDL语言描述(包括配置信号源部分的计数、分频和显示部分的译码器、数据选择器)如下: MODULEDIVCLK TITLE ‘THIS IS THE HEX BITS COUNTER OF BIN &BCD CODE TO 7 SEGMENT CODE CODER’ CK PIN 11; “Y0时钟输入” EN PIN 15; “段码输入使能” Q0,Q2,Q4,Q8,Q9,Q10,Q11,Q12,Q13,Q14,Q15 PIN 43,42,41,40,39,38,37,32,27,26,10 ISTYPE ‘COM’; “分频器输出” NQ0,NQ2,NQ4,NQ8,NQ9,NQ10,NQ11,NQ12,NQ13, NQ14,NQ15 NODE ISTYPE ‘REG_D’; C0,C1,C2,C3,C4,C5,C6 PIN 8,7,6,5,4,3,44 ISTYPE ‘COM’; “最终结果输出” A,B,C,D PIN 19,18,17,16; “十六进制码输入” IN0,IN1,IN3,IN4,IN5,IN6 PIN 20,21,22,31,30,29,28; “段码输入” CLKIN NODE ISTYPE’COM’; Q1,Q3,Q5,Q6,Q7 NODE ISTYPE’COM’; NQ1,NQ3,NQ5,NQ6,NQ7 NODE ISTYPE ‘REG_D’; QA,QB,QC,QD,QE,QF,QG NODE ISTYPE ‘COM’; BOUNT=〔Q15..Q0〕; “分频器输出” COUNT=〔NQ15..NQ0〕; INPUT1=〔QA,QB,QC,QD,QE,QF,QG〕; “译码结果输出” INPUT0=〔IN0..IN6〕; “段码输入” OUTPUT0=〔C0..C6〕; “最终结果输出” EQUATIONS CLKIN=!CK; “该段为计数分频器” COUNT.CLK=CLKIN; COUNT.D=COUNT.Q+1; BOUNT=COUNT.Q; TRUTH_TABLE﹙〔D,C,B,A〕-》〔QA,QB,QC,QD, QE,QF,QG〕﹚ 〔0,0,0,0〕-》〔1,1,1,1,1,1,0〕; “该段为译码器” 〔0,0,0,1〕-》〔0,1,1,0,0,0,0〕; 〔0,0,1,0〕-》〔1,1,0,1,1,0,1〕; 〔0,0,1,1〕-》〔1,1,1,1,0,0,1〕; 〔0,1,0,0〕-》〔0,1,1,0,0,1,1〕; 〔0,1,0,1〕-》〔1,0,1,10,1,1〕; 〔0,1,1,0〕-》〔1,0,1,1,1,1,1〕; 〔0,11,1〕-》〔1,1,1,0,0,0,0〕; 〔1,0,0,0〕-》〔1,1,1,1,1,1,1〕; 〔1,0,0,1〕-》〔1,1,1,1,0,1,1〕; 〔1,0,1,0〕-》〔1,1,1,01,1,1〕; 〔1,0,1,1〕-》〔0,0,1,1,1,1,1〕; 〔1,1,0,0〕-》〔1,0,0,1,1,1,0〕; 〔1,1,0,1〕-》〔0,1,1,1,1,0,1〕; 〔1,1,1,0〕-》〔1,0,0,1,1,1,1〕; 〔1,1,1,1〕-》〔1,0,0,0,1,1,1〕; EQUATIONS WHEN EN==1 THEN OUTPUT0=INPUT1; “该段为数据选择器” WHEN EN==0 THEN OUTPUT0= INPUT0; END 2.5 控制部分 控制部分是系统整机协调工作和智能化管理的核心部分,采用89C51单片机实现控制功能是其关键,采用单片机不但方便监控,并且大大减少硬件设计。如上所述,其主要控制功能包括显示译码与时钟模式选择,数码管扫描和键盘数据的处理均由软件完成。其中软件设计时考虑到“去抖动”、 “单键处理”问题,并且为防止运行程序受干扰时“跑飞”而造成死机,在程序中加入软件“看门狗”,通过89C51的T1中断实现监控功能。 2.6 A/D、D/A转换接口及其它 系统设置A/D、D/A转换接口,采用美国TI 公司的高速串行8位模数转换器TLC549和四通道串行数模转换器TLC5620,可以满足要求。另外预留 VGA视频输入端和九芯用户外接接口以备之需。 3 整机电路及技术指标 3.1 整机设计 完成整机设计结构如图2所示,电路图和印制版图略。 [tr] [/tr] 3.2 主要技术指标和特点 稳压电源:+5V 工作电流:360mA ISP下载方式和七芯下载电缆 89C51监控方式 数码显示:8位数码管;三种显示模式:静态显示、十六进制码输入动态显示、段码输入动态显示;静态数码管扫描频率:10Ms/帧;动态显示允许用户最高扫描频率:>100Hz 输入部分:八个键盘、11种频率信号;四辅助电路的同步整流电路。经仿真和实验表明,采用这些优化拓扑将会有效地降低损耗,使同步整流效率明显提高。 [tr] [/tr] |
|
|
|
只有小组成员才能发言,加入小组>>
705 浏览 0 评论
1114 浏览 1 评论
2491 浏览 5 评论
2826 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2671 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
661浏览 9评论
669浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
789浏览 6评论
634浏览 5评论
679浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 18:00 , Processed in 1.211736 second(s), Total 81, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号