相关热词搜索:
胡迎刚 四川师范大学成都学院 四川成都 611745
【文章摘要】
为了提高FPGA 仿真器的运行速度,降低硬件设计成本,通过对现有仿真器的硬件电路结构和原理进行深入研究,提出并构造了一种高性能、低成本的新型FPGA 仿真器设计实现电路。与传统仿真器硬件设计相比,该电路功能仅由一片单片机(PIC18F14K50)得以实现,电路芯片数量变少,成本降低,电路结构更简单,固件烧写操作更易。利用该设计电路完成的FPGA 仿真器经测试证明,其电路设计完全正确,运行效果有明显改进,稳定性更好,速度更快,是传统设计方案的3-5 倍,设计成本仅为十分之一。
【关键词】
仿真器;高性能;低成本;单片机; FPGA
中图分类号:TP393.04
文献标识码:A
【Abstract】
In order to improve the running speed and reduce the cost of hardware design of FPGA simulator, by in-depth study on the structure and principle of the simulator’s hardware circuit, giving and building a high performance, low cost implementation circuit design of new FPGA simulator. With the traditional simulator hardware design, the circuit function can be achieved only by a single chip (PIC
【Keywords】
simulator; high performance; low cost; mcu;FPGA
0 引言
随着大规模可编程逻辑器件在现代电子系统设计中的应用日渐增多,其功能的优越性也日益凸显,更多的工程师越来越多的青睐于FPGA 或CPLD 芯片。然而在他们进行系统设计过程中,毫无例外的都需要将系统工程数据配置于所使用的FPGA 或CPLD,而实现这一配置的仿真器工具(USB Blaster)性能的好坏将起到至关重要的作用。
USB Blaster 是针对Altera 公司的FPGA/CPLD 可编程器件进行下载的一种电缆连接方式,该方式主要通过计算机的USB 接口实现对FPGA/CPLD 以及配置芯片进行编程、仿真调试等操作。目前通用的USB Blaster 具有以下特性:
◆支持1.2V、1.8V、 2.5V、3.3V 和5.0V 应用系统;
◆支持SignalTap II 嵌入式逻辑分析仪功能;
◆支持ALTERA 公司全系列器件; ◆支持NIOS II 调试, 支持NIOS II 下的FLASH 烧写;
◆ 支持三种下载模式(AS、PS 和JTAG) ;
速度快, 性能稳定;
虽然USB Blaster 是所有FPGA 工程师进行系统开发时不可或缺的仿真工具,但是市面上现有的USB Blaster 仿真器设计电路结构复杂,设计成本都很高,价格非常昂贵,下载性能也并非是最优良的。本文旨在通过深入研究,提出了一种全新的设计方案,该方案的优势在于能大大降低仿真器设计成本,提高运行性能,增强工具的稳定性。
1 传统设计方案
根据Altera 公司提供的USB Blaster 的工作协议标准,目前在业界流行以下两种设计实现方案,就其设计成本而言,采用的芯片价格均非常昂贵,下载速度并非最快。
1.1 方案1 :EPM7064+FT245BI 实现
目前业界主流的设计方案均采用“EP M7064+FT245BI+93LC56A+74HC244DR” 实现。在该方案中,EPM7064AETC44-7 是Altera 公司CPLD 可编程逻辑器件, 主要用于实现JTAG LOGIC 控制,以及对FPGA 下载文件数据格式转换。FT245BI 芯片是通用的USB 接口芯片。93LC56A 是ATMEL 公司的存储器芯片, 74HC244DR 则是TI 公司的电平转换芯片。该方案的缺点是设计电路较为复杂,芯片数量多,PCB 面积较大,设计成本高。
1.2 方案2 :CY
除了方案1,还有第2 种通用方案,即采用“CY7C68013A+EEPROM”实现。这种
图1 硬件原理图
电子科技
Electronics Technology
电子制作
方案是以USB 控制芯片为核心,通过相应的开发手段,将实现USB Blaster 通信协议的固件代码烧写到存储器中,从而实现其功能。与方案1 比较而言,该方案的优点在于芯片数量少,设计电路简单,成本相应节省一半,但是设计过程中烧写固件方法较为复杂,很难掌握。
对比现有实现方案,每种方案均存在不足之处,有待改进。因此后文将重点介绍一种高速、低成本的设计方案及实现过程。
2 高速、低成本设计方案
在深入研究现有开源设计方案和查阅相关技术资料的基础上,设计实现了一款高速、低成本的USB Blaster 仿真器。该设计方案电路结构简单,只由一片单片机(PIC18F14K50 实现,设计成本是现有开源设计方案中最低成本的十分之一,下载速度是现有所有方案的3-5 倍。
2.1 硬件设计
经过查阅相关技术资料,该方案的具体硬件电路设计如图1 所示。
在该电路中P1 是USB 接口,可以采用迷你封装或者通用USB 插座,其主要功能是实现对系统提供5V 电源供电和U1 单片机程序下载接口。P2 是10 针的牛角座元件,主要功能是提供FPGA 程序下载的JTAG 和AS 下载接口。U1 则是整个电路的核心——PIC18F14K50 单片机,该单片机电源VCC 是5V 供电,晶振Y1 采用12M 有源晶振,其余元件则是由辅助电容电阻构成。整个电路结构简单,元件数量少。
按照图1 的电路结构,采用Altium Designer 13[4] 软件即可完成相应PCB 设计,其PCB 设计效果图如图2 所示。整个PCB 布局完成后,大小为30(mm)x16 (mm),因此该下载器电路面积非常小。
最后将PCB 制作成相应的电路板,再进行元器件的焊接,就可以完成该下载器的硬件设计,其实物效果如图3 所示。
2.2 固件烧写
在完成USB Blaster 下载器实物设计以后,还需要进行第二项非常重要的操作——烧写固件。该操作的功能是将能够实现FPGA/CPLD 的JTAG 通信协议的软件程序代码烧写到单片机中,以实现USB-Blaster 相应的下载、调试功能。
首先在microchip 单片机的开发软件(MPLAB IDE)中建立工程,并编写相应软件代码程序,编译工程后,利用PIC kit 3 编程器/ 调试器,将软件程序代码固化到单片机的存储器中。如图4 所示是下载程序的操作界面,在“Programmer”菜单中执行“Program”选项,即可启动下载程序功能,固件烧写成功后
如图5 所示。
固件烧写成功后,插上下载器到PC 机的USB 接口,再利用Quartus II 安装目录中自带的USB-Blaster 驱动文件,安装驱动程序,此时可以在设备管理器中看到Altera USB-Blaster 的串行通信总线设备, 表明下载器可以正常使用,便可以利用该USB-Blaster 对FPGA 进行正常下载。
3 结束语
利用该设计方案完成的FPGA 仿真器经测试证明,其电路设计完全正确,运行效果有明显改进,速度更快,稳定性更好。同时与传统设计方案相比,具有电路结构简单,设计成本低,操作更加容易等特点。此设计真正是一款高性能、低成本的新型FPGA 仿真器,一定能受到广大FPGA 工程师、FPGA 爱好者的青睐。
【参考文献】
[1] 潘松,黄继业.EDA 技术实用教程[M]. 北京:科学出版社,2006 : 110-111.
[2] 杨刚,杨霏. 用单片机配置CPLD 器件[J]. 电子设计应用,2002,(11):49-51.
[3] 刘爱荣.EDA 技术与CPLD/FPGA 开发应用简明教程[M]. 北京:清华大学出版社,2013:50-80.
[4] 胡文华,胡仁喜. Altium Designer 13 电路设计入门与提高[M]. 北京:化学工业出版社,2013 :13-45.
[5] 李学海.PIC 单片机实用教程[M]. 北京:北京航天航空大学出版社, 2007 :85-108.
[6] 谢锋然,谢龙汉.PIC 单片机原理及程序设计[M]. 北京:机械工业出版社,2013 :105-135.
【作者简介】
胡迎刚(1982-),男(汉族),四川成都人,硕士研究生,讲师,主要研究领域为FPGA 数字电路设计、自动控制及图像处理。
图2 USB Blaster PCB
图3 USB Blaster 实物图
图5 烧写成功
图4 启动烧写003