1、 第 I 页 共 38 页I摘 要FPGA 即现场可编程门阵列,它是在可编程阵列逻辑 PAL,门阵列逻辑 GAL,可编程逻辑器件 PLD 等可编程器件的基础上进一步发展的产物。它是作为专用集成电路 ASIC领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA 能完成任何数字器件的功能,上至高性能 CPU,下至简单的 74 系列电路,都可以用 FPGA 来实现。FPGA 如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入法或是硬件描述语言自由设计一个数字系统。通过软件仿真,我们可以事先验证设计的正确性。在 PCB 完成以后,还可以利用
2、FPGA 的在线修改能力,随时修改设计而不必改动硬件电路。使用 FPGA 来开发数字电路,可以大大缩短设计时间,减少 PCB 面积,提高系统的可靠性。采用 FPGA 设计 ASIC 电路,用户不需要投片生产,就能得到合用的芯片。FPGA 可做其它全定制或半定制 ASIC 电路的中试样片。FPGA 是 ASIC 电路中设计周期最短、开发费用最低、风险最小的器件之一。FPGA采用高速 CHMOS 工艺,功耗低,可以与 CMOS、TTL 电平兼容。可以说,FPGA 芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。FPGA 能够反复使用。FPGA 的编程无须专用的 FPGA 编程器,只须用通用的
3、 EPROM、PROM 编程器即可。当需要修改 FPGA功能时,只需换一片 EPROM 即可。这样,同一片 FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA 的使用非常灵活。设计人员利用它可以在办公室或实验室里设计出所需的专用集成电路,从而大大缩短了产品上市时间,降低了开发成本。此外,FPGA 还具有静态可重复编程和动态在系统重构的特性,使得硬件的功能可以像软件一样通过编程来修改。FPGA 以其体积小、功耗低、稳定性高等优点被广泛应用于各类电子产品的设计中。因此,FPGA 技术的应用前景非常广阔。第 II 页 共 38 页IIAbstractFPGA (Field Progra
4、mmable Gate Array) is the further development product based on the PAL ( Programmable Array Logic), GAL (Gate Array Logic), PLD ( Programmable Logic Device). It is appeared as a semi-custom circuit in the area of ASIC (Application Specific Integrated Circuit). It not only resolves the lack of custom
5、 circuits and shortcomings of programmable devices to overcome the original gate a limited number too . FPGA can complete the any function of digital devices, from high-performance CPU to simple 74 series circuit , can be achieved by FPGA. FPGA is as a piece of white paper or a pile of building bloc
6、ks, engineers can map the traditional input method of the principle, or hardware description language to design a digital system freely. Through software simulation, we can advance to verify the correctness of the design. After the completion of the PCB, FPGA can also be used to modify the online ab
7、ility to modify the design at any time without having to change the hardware circuit. Using FPGA to develop digital circuits, can significantly shorten the design time and reduce PCB space, improve system reliability. These advantages of PLD technology enables PLD to be rapid development after the 9
8、0s the, but also greatly promotes the EDA (Electronic Design Automatic) software and hardware description language VHDL (Very-High-Speed Integrated Circuit Hardware Description) progress. With the same FPGA, different programming data, can produce different circuit functions. Therefore, FPGAs very f
9、lexible to use. Designers can use it in the office or laboratory needed for the design of application specific integrated circuit, thereby significantly reducing time to market, reduced development costs. In addition, FPGA also has static and dynamic re-programming features in the system reconfigura
10、tion, the hardware, as software can be programmed to modify the same. FPGA for its small size, low power consumption, high stability has been widely used in various types of electronic products design. Therefore, FPGA technology is very broad application prospects.第 III 页 共 38 页III目 录引言 .11 系统简介 .11
11、.1 主要特点 .21.2 系统配置 .22 硬件电路设计及原理 .221 硬件电路整体结构 222 设计电路模块及原理42.2.1 电源电路 42.2.2 滤波电路设计 .62.2.3 下载编程电路和配置92.2.4 存储器件 142.2.5 LED 指 示 模 块 .152.2.6 复 位 模 块 172.2.7 系 统 时 钟 模 块 172.2.8 接 口 模 块 193 工程设计 .203.1 Protel99 功能简述 203.2 电路原理图设计 .213.3 PCB 板图的设计 223.3.1 PCB 元件布局 223.3.2 PCB 的布线 243.4 电路板的生产制造 274
12、 电路元器件清单以及说明 275 开发板的测试 .28附录 .32第 1 页 共 38 页1引言现场可编程门阵列(FPGA,Field Programmable Gate Array)的出现是超大规模集成电路(VISI)技术和计算机辅助设计(CAD)技术发展的结果。FPGA 器件集成度高、体积小,具有通过用户编程实现专门应用的的功能。它允许电路设计者利用基于计算机的开发平台,经过设计输入、仿真、测试和校验,直到达到预期的效果。利用 FPGA 可以大大缩短系统的研制周期,减少资金投入。更吸引人的是采用 FPGA 器件可以将原来的电路板级产品集成为芯片级产品,从而降低了功耗,提高了可靠性,同时还可
13、以很方便的对设计进行在线修改。FPGA 器件成为研制开发的理想器件,特别适于产品的样机开发和小批量生产,因此人们也把 FPGA 称为可编程的 ASIC。可以断定 FPGA 在结构、密度、功能、速度和灵活性方面将得到进一步的发展。随着工艺和结构的改进,FPGA 的集成度将进一步提高,性能将进一步完善,成本将逐渐下降,在现代电子系统设计中将起到越来越重要的作用。本毕设采用 Altera 公司的 Cyclone_II FPGA 进行开发板设计。这里选用 Altera公司 Cyclone 系列的 EP2C8Q208CN 器件。Cyclone II EP2C8Q208 芯片,等效门数为 42万门,其内部
14、有 90Kb 的存储容量,6K 个逻辑单元,2 个 PLL。Altera 新款 Cyclone II系列是基于获得极大成功的 Cyclone 系列之上推出的,具有更低的成本、更大的容量和更多特殊性能的特性。这个新的器件系列具有 4,608 至 68,416 个逻辑单元(LE) ,设计了一组优化的特性,其中包括多达 150 个嵌入 1818 乘法器、专用外部存储器接口电路、4Kbit 嵌入存储块、锁相环(PLL)和高速差分 I/O 能力。设计出的开发板既能应用于学习 FPGA 技术,又能学习 SOPC NIOS II 技术。可以根据自己爱好和需要,选择何种学习功能。FPGA 的所有 I/O 口全
15、部引出来,均可用于扩展。用户可以根据自己的需要,设计实际电路,然后通过这些 I/O 口连接到 FPGA 上,完成所需功能。1 系统简介基于 FPGA 可编程单芯片系统(SOPC)设计技术,是当前电子设计系统领域最前沿的技术之一。此次设计的 FPGA 开发板采用 Altera 公司的 Cyclone_II 系列的 FPGA 为核心的 EDA 实验平台,支持 NIOS II,提供了 SOPC 解决方案。支持 FPGA 开发、NIOS 开发,提供引脚扩展,开发板直接引出 80 个 I/O 引脚接口,预留 PLL 资源,支持扩展设计; 核心板适合于产品原型的快速开发、参加各种电子设计大赛、学习 FPG
16、A 和 SOPC设计技术等,亦可用于系统设计前期快速评估设计方案。 可以用 Verilog 和 VHDL 两种语言编程,实用性强。 这个 FPGA 开发板适合大多逻辑器件开发和 IP Core 的设计验证,电子、计算机、通信、控制等专业本科生,相关专业的技术工程师,对 FPGA/NIOS 系统设计及嵌入式系统开发有兴趣的研发人员使用。第 2 页 共 38 页21.1 主要特点: 系统功能强大:采用 Altera 公司的 Cyclone 系列主流 FPGA,支持 NIOS II 软核嵌入式处理器 存储器件丰富:配有高速 SDRAM 以及 FPGA 配置存储器 I/O 扩展能力强:引出 80 个
17、I/O 端口,都是独立的 I/O 不存在端口复用的问题,方便用户测试和扩展应用 多电源供电:外部电源输入为 5V ,可以用 DC5V 开关电源供电,另外提供 USB 电源插口,方便使用,直接使用一条 USB 打印线(方口线)即可工作 电源保护:采用二极管防止电源接反 电源稳压:为保持电源电压稳定,采用 AMS1117 系列稳压芯片 LED 指示运行:NIOS 开发板的左上角有四个 LED,正常情况下 LED 应该闪烁,电源指示灯闪亮。接上 ASP,往配置芯片中下载程序,下载的时候 ASP 旁边的指示灯亮,成功下载后,灯灭 下载模式:支持 JTAG 和 ASP 两种模式下载调试1.2 系统配置
18、FPAG 芯片:Altera 公司的 Cyclone 系列 EP2C8Q208N,208 个引脚,TQFP 封装,它包含 8256 个逻辑宏单元、8745 个触发器,16 万个可编辑 RAM/ROM 存储单元,182 个用户 I/O 配置芯片:EPCS4(4M bit)Flash 存储器 SDRAM:K4S641632H 64M bit(同步动态随机存取存储器) 有源晶振:50MHz(50MHz 外部时钟,FPGA 内部 PLL 可做倍频、分频、移相处理) 电源芯片:1117 3.3V、1117 1.2V 滤波电容:采用高成本的贴片铝电解电容 下载调试接口:ASP、JTAG 调试接口(具有 A
19、S、PS、JTAG 三种配置方式) 引出 I/O 数目:80 个,都是独立的 IO 不存在端口复用的问题。 5V 电源输入, 含有二极管防止反向输入保护 4 个独立 LED 及电源指示 LED 2 个独立复位按键2 硬件电路设计及原理 21 硬件电路整体结构在做一项设计之前,我们首先要了解和确定的就是电路的总体结构。只有了解了电路的总体结构,我们才有设计的总体思路,才能根据电路的各个结构模块实现电路第 3 页 共 38 页3原理图的详细连接。本次毕业设计的开发板电路主要包括以下几个部分:下载电路、下载接口 JTAG、主芯片 FPGA、5V 的电源电路、FLASH 存储器、复位按键、有源晶振、L
20、ED 接口和扩展接口。其电路结构框图如下:图(1)电路结构框图211 主芯片 EP2C8Q208NAltera Cyclone 系列 FPGA 是 A1tera 公司基于在 Altera 大获成功的第一代Cyclone 器件系列基础之上从根本上针对低成本进行设计。Cyclone II 器件扩展了FPGA 在成本敏感性、大批量应用领域的影响力,延续了第一代 Cyclone 器件系列的成功。 Altera Cyclone II 采用全铜层、低 K 值、1.2 伏 SRAM ,O13m 工艺设计,裸片尺寸被尽可能最小的优化。采用 300 毫米晶圆,以 TSMC 成功的 90nm 工艺技术为基础,Cy
21、clone II 器件提供了 4,608 到 68,416 个逻辑单元(LE) ,并具有一整套最佳的功能,包括嵌入式 18 比特 x18 比特乘法器、专用外部存储器接口电路、4kbit 嵌入式存储器块、锁相环(PLL)和高速差分 I/O 能力。逻辑容量比上一代多三倍。其中EP2C8Q208 是 Cyclone II 系列中的一员,共有 8256 逻辑单元,8745 个触发器,16 万个可编辑 RAM/ROM 存储单元,2 个 PLLs,最多有 182 个用户 I/O,36 个 9bitX9bit 可编辑的硬件乘法器,可以说这款 FPGA 的资源非常丰富,足够满足大型设计的需要。本设计选用 Al
22、tera 公司的 Cyclone 系列芯片,芯片型号为 EP2C8Q208,因为该芯片是 Altera 公司推出的低价格、高容量的 FPGA,其以较低的价格、优良的特性及丰富的片上资源在实际应用中被广泛的采用,这些都是其他同类产品无法相比的。EP2C8Q208 芯片采用 1.2V 内核电压,033 mSRAM 工艺,与其他同类产品相比具有以下特点: (1)逻辑资源丰富,逻辑单元(LE)数量为 8256 个。(2)有 182 个可用 I/O 引脚,I/O 输出可以根据需要调整驱动能力,并具有压摆率控制、三态缓冲、总线保持等功能:整个器件的 I/O 引脚分为四个区,每个区可以独立采用不同的输入电压
23、,并可提供不同电压等级的 I/O 输出。(3)多电压接口,支持 LVTTL,LVCMOS,LVDS 等 I/O 标准。FPGA5V 电源 I/O 接口JTAG 接口 FLASH晶振LED 接口按键第 4 页 共 38 页4(4)灵活的时钟管理,片内配有 2 个锁相环(PLL)电路,有可调频率锁相环,可以提供输入时钟的 132 倍频或分频、156417ps 相移和可变占空比的时钟输出,输出时钟的特性可直接在开发软件 Quartos II 里设定。经锁相环输出的时钟信号既可以作为内部的全局时钟,也可以输出到片外供其它电路使用。(5)内有 SignalTap 嵌入式逻辑分析器,极大地方便了设计者对芯
24、片内部逻辑进行检查,而不需要将内部信号输出到 IO 管脚上。表 1 所示为 Cyclone II FPGA 系列的特性和能力器件 EP2C5 EP2C8 EP2C20 EP2C35 EP2C50 EP2C70逻辑单元 4,608 8,256 18,752 33,216 50,528 68,416M4K RAM 块(4 k 比特 + 512 校验比特) 26 36 52 105 129 250总比特数 119,808 165,888 239,616 483,840 594,432 1,152,000嵌入式 18x18 乘法器 13 18 26 35 86 150PLLs 2 2 4 4 4 4最
25、多用户 I/O 管脚 142 182 315 475 450 622差分通道 58 77 132 205 193 262表(1) Cyclone II FPGA 简介22 设计电路模块及原理221 电源电路电源模块:支持 USB 和 DC5V 供电两种方式。并且在电源接入处对电源进行了滤波处理,降低骚扰电压的干扰。能提高电路的抗扰度,阻挡不干净电源对设备的影响,使电源更加安全可靠。 具体电路如下: 图(2)电源提供电路第 5 页 共 38 页5电源转换电路: FPGA 芯片需要多个不同的供电电压,例如“核心”电压 (0.9V 至 2.5V)、I/O 电压 (2.5V 至 3.3V) 以及另一专
26、为辅助电路提供供电的低噪音、低纹波电压(典型 2.5V 或 3.3V)。本设计采用 AMS1117 系列芯片为电路提供稳定的电源。AMS1117 是一系列工作在10mA 负载电流下,最大输入电压为 12V 的低输出电压控制器。在本设计中用于为 FPGA提供 12V 和 33V 电源电压。电源部分采用 1117-3.3 将 5V 输入电压转化成 3.3V 作为 I/O 电压,采用 1117-1.2v 将 3.3V 电压转化成 1.2V 作为核电压以及 PLL 电压。采用二极管防止电源接反,具有电源保护功能。具体电路如图(3)所示:图(3)电源转换电路该电路将 5V 的电源电压从左端输入转化为 3
27、3V 从电路右端输出,采用的芯片是AMS11173.3,为电路中需要 3.3V 电源电压的部分提供电压。其中 Du2 是肖特基二极管,其正向导通压降仅 0.4V 左右,多用作高频、低压、大电流整流二极管、续流二极管、保护二极管,用在这里可以保护电路,防止电源反接。电路中电容均为滤波之用,C45、C46、C49 为高频滤波电容,C47 为低频滤波电容。接着将 3.3V 的电源电压从左端输入转化为 1.2V 从电路右端输出,采用的芯片是AMS11171.2,该电路同上边的电源部分原理基本相同该芯片输出电压可调,为电路中需要 1.2V 电源电压的部分提供电压。该电路同上边的部分原理基本相同。电路的这
28、两部分采用了 AMS1117 系列芯片(LDO 线性稳压器) ,电路中接有滤波电容,使整个电路设计非常合理输出非常稳定,可以分别担负起为电路提供稳定的33V、12V 电压的的作用,保障了电路的正常工作。之所以选用 AMS1117 调压芯片,是因为两个都是 LDO,即低压差线性调整器。LDO 线性稳压器适用于降压变换,具体效果与输入/输出电压比有关。从基本原理来说,LDO根据负载电阻的变化情况来调节自身的内电阻,从而保证稳压输出端的电压不变。其变换效率可以简单地看作输出与输入电压之比。如今很多厂商都有适合 FPGA 应用的低第 6 页 共 38 页6电压、大电流 LDO 芯片。而且 LDO 芯片
29、所占面积仅为几个平方毫米,只要求外接输入和输出电容即可工作。由于采用线性调节原理,LDO 本质上没有输出纹波。不过随着LDO 的输入/输出电压差别增大或者输出电流增加,LDO 的发热比也会按比例增大,所以,对散热控制方面要求很高。但为了保证供电源电压稳定不变,几乎所有的电子设备都采用稳压器供电。AMS1117 系列有 1.2、1.5、1.8、2.5、3.3V 和可调电压输出,最大输出电流均为 5A,非常适合于大电流负载应用。2.2.2 滤波电路设计电源滤波的作用就是减少电源干扰,而电源干扰可以分为两类:普通模式和共通模式。普通模式是两组输入电源线之间的杂讯,这种杂讯通常是在关机和开机时产生。而
30、共通模式是指因为器材接地不良,又或是广播无线电及冰箱马达电磁、日光节能灯镇流器、洗衣机、风扇可控硅调速等引发的干扰!我们常在直流电源电路中加一 RC 电路来抑制纹波,电源滤波器的作用就是抑制交流电源上的干扰。本开发板也对电源和各个模块进行了滤波,减少传导干扰、辐射干扰,使电源和器件的工作更加安全稳定。常用的滤波电路有无源滤波和有源滤波两大类。有源滤波的主要形式是有源 RC 滤波,也被称作电子滤波器。无源滤波的主要形式有电容滤波、电感滤波和复式滤波(包括倒 L 型、LC 滤波、LC 型滤波和 RC 型滤波等)。因为形状很象字母 ,所以叫 型滤波器。它是利 用 电 感 、 电 容 和 电 阻 的
31、组 合 设 计 构 成 的 电 路 , 可 滤 除 某 一 次 或多 次 谐 波 , 最 普 通 易 于 采 用 的 无 源 滤 波 器 结 构 是 将 电 感 与 电 容 串 联 , 可 对 主 要 次 谐波 ( 3、 5、 7) 构 成 低 阻 抗 旁 路 ; 无 源 滤 波 器 又 称 LC 滤 波 器 , 单 调 谐 滤 波 器 、 双调 谐 滤 波 器 、 高 通 滤 波 器 都 属 于 无 源 滤 波 器 。在本设计中,DC 电源、FPGA 和存储器件等都采用电容滤波电路。并且采用高成本的铝电解贴片电容作为滤波电容。采用电容并联的形式,增强了滤波的性能和效果。使电路的稳定性更加可靠
32、。其滤波电路如下图所示:图(4)电容滤波处理电路电容器是一个储存电能的仓库。在电路中,当有电压加到电容器两端的时候,便对电容器充电,把电能储存在电容器中;当外加电压失去(或降低)之后,电容器将把储存的电能再放出来。充电的时候,电容器两端的电压逐渐升高,直到接近充电电第 7 页 共 38 页7压;放电的时候,电容器两端的电压逐渐降低,直到完全消失。电容器的容量越大,负载电阻值越大,充电和放电所需要的时间越长。这种电容带两端电压不能突变的特性,正好可以用来承担滤波的任务。电容并联一大一小是由于电容的非电容特性引起的。一般见到的大容量的电解电容都是铝电解电容,是由卷曲结构构成的,所以引入了不小的电感
33、,并和其他特性一起导致了在高频情况的电容容量急剧降低电容损耗急剧增大等不利情况的出现。小电容对高频滤波效果要好很多,一般陶瓷电容滤高频,电解电容滤低频。因此搭配使用会对电源质量和可靠性有很大提高。电容滤波电路利用电容的充、放电作用,使输出电压趋于平滑。RLC 为放电时间常数,因为 RL 较大,放电时间常数远大于充电时间常数,因此,滤波效果取决于放电时间常数。电容 C 愈大,负载电阻 RL 愈大,滤波后输出电压愈平滑,并且其平均值愈大。显然,电容量越大,滤波效果越好,输出波形越趋于平滑,输出电压也越高。但是,电容量达到一定值以后,再加大电容量对提高滤波效果已无明显作用。通常应根据负载电用和输出电
34、说的大小选择最佳电容量。而 FPGA 开发板的锁相环部分采用 型滤波电路处理,同时每路独立的 PLL 分别有电容滤波。其电路原理图如下:图(5)锁相 型滤波电路FPGA 芯片 EP2C8Q208 提供 8 路时钟供用户使用,板载 50M 有源晶振,可以根据需要进行 PLL(锁相环)定制,P LL 用 于 振 荡 器 中 的 反 馈 技 术 或者直接分频处理,其余 7 路供用户在外部时钟输入的时候使用。锁相环是一种反馈电路,其作用是使得电路上的时钟和某一外部时钟的相位同步。PLL 通过比较外部信号的相位和由压控晶振(VCXO)的相位来实现同步的,在比较的过程中,锁相环电路会不断根据外部信号的相位
35、来调整本地晶振的时钟相位,直到两个信号的相位同步。在数据采集系统中,锁相环是一种非常有用的同步技术,因为通过锁相环,可以使得不同的数据采集板卡共享同一个采样时钟。由于相 环 用 来 统 一 整 合 时 脉 讯 号 ,使 内 存 能 正 确 的 存 取 资 料 。第 8 页 共 38 页8所 以 为了增加稳定性,对时钟输入部分做了 型滤波处理,同时含有电阻缓冲。图(6)为对时钟输入部分进行 型滤波处理的原理图:图(6)时钟 型滤波电路如上分析,电源和 PLL 部分均是经过 型滤波处理的。把电容按在负载并联支路,把电感或电阻接在串联支路,可以组成复式滤波器,达到更佳的滤波效果口这种电路的形状很象字
36、母 ,所以叫 型滤波器。其中间利用电感对交流阻抗大而对直流用抗小的特点,可以用带铁芯的线圈做成滤波器。电磁滤波输出电压较低,相输出电压波动小,随负载变化也很小,适用于负载电流较大的场合。其滤波效能很高,几乎没有直流电压损失,适用于负载电流较大、要求纹波很小的场合。但是,这种滤波器由于电感体积和重量大(高频时可减小),比较笨重,成本也较高,一般情况下使用得不多。这种复式滤波器结构简单,能兼起降压、限流作用,滤波效能也较高,是最后用的一种滤波器。上述两种复式滤波器,由于接有电容,带负载能力都较差。但本设计中对滤波器的负载能力要求不是很严格。 型滤波电路是根据电抗性元件对交、直流阻抗的不同,由电容
37、C 及电感 L 所组成的滤波电路。因为电容器 C 对直流开路,对交流阻抗小,所以 C 并联在负载两端。当流过电感的电流变化时,电感线圈中产生的感生电动势将阻止电流的变化。而电感器 L 对直流阻抗小,对交流阻抗大,因此 L 应与负载串联。并联的电容器 C 在输入电压升高时,给电容器充电,可把部分能量存储在电容器中。而当输入电压降低时,电容两端电压以指数规律放电,就可以把存储的能量释放出来。经过滤波电路向负载放电,负载上得到的输出电压就比较平滑,起到了平波作用。其中的电感滤波,当输入电压增高时,与负载串联的电感 L 中的电流增加,因此电感 L 将存储部分磁场能量,当电流减小时,又将能量释放出来,使
38、负载电流变得平滑,因此,电感 L 也有平波作用。利用储能元件电感器 L 的电流不能突变的特点,在整流电路的负载回路中串联一个电感,使输出电流波形较为平滑。因为电感对直流的阻抗小,交流的阻抗大,因此本设计中选用 型滤波能够得到较好的滤波效果而直流损失小。第 9 页 共 38 页92.2.3 下载编程电路和配置下载编程电路:下载调试配置接口为 JTAG 和 ASP,此外配置管脚通过插针引出,分别为在线编程和烧写 EPCS1 芯片用。下面图(7)给出他们的具体电路连接方式:图(7)JTAG 和 ASP 接口电路JTAG 是 串 行 接 口 主 要 应 用 于 : 电 路 的 边 界 扫 描 测 试
39、和 可 编 程 芯 片 的 在 系 统 编程 。 标 准 的 JTAG 接 口 是 4 线 : TMS、 TCK、 TDI、 TDO,分 别 为 模 式 选 择 、 时 钟 、 数 据输 入 和 数 据 输 出 线 。 相 关 JTAG 引 脚 的 定 义 为 : TCK 为 测 试 时 钟 输 入 ; TDI 为 测 试数 据 输 入 , 数 据 通 过 TDI 引 脚 输 入 JTAG 接 口 ; TDO 为 测 试 数 据 输 出 , 数 据 通 过TDO 引 脚 从 JTAG 接 口 输 出 ; TMS 为 测 试 模 式 选 择 , TMS 用 来 设 置 JTAG 接 口 处 于
40、某种 特 定 的 测 试 模 式 ; TRST 为 测 试 复 位 , 输 入 引 脚 , 低 电 平 有 效 ; GND 接 地 。这里设计选用的 JTAG 接口最初是用来对芯片进行测试的,基本原理是在器件内部定义一个 TAP 通过专用 JTAG 测试工具对进行内部节点进行测试。JTAG 测试允许多个器件通过 JTAG 接口串联在一起,形成一个 JTAG 链,能实现对各个器件分别测试。现在,JTAG 接口还常用于实现 ISP 在线编程,对 FLASH 等器件进行编程。JTAG 编程方式是在线编程,传统生产流程中先对芯片进行预编程现再装到板上因此而改变,简化的流程为先固定器件到电路板上,再用
41、JTAG 编程,从而大大加快工程进度。JTAG 接口可对 FPGA 芯片内部的所有部件进行编程。ASP 即主动串行配置(AS) 、被动串行(PS) 。芯片 EPCS1 和 EPCS4、EPCS16 下载程序常用主动串行(AS)模式;Stratix 和 Stratix GX 测试时采用被动串行(PS)模式。使用到的引脚主要配置引脚如下:MSEL1、MSEL0:输入;接地。nSTATUS:双向漏极开路;命令状态下器件的状态输出。加电后,FPGA 立即驱动该引脚到低电位,然后在 100ms 内释放掉它,nSTATUS 必须经过 1.0k 电阻上拉到 Vcc,如果配置中发生错误,FPGA 将其拉低。第
42、 10 页 共 38 页10nCONFIG:输入;配置控制输入。低电位使 FPGA 器件复位,在由低到高的跳变过程中启动配置。CONF_DONE:双向漏极开路;状态输出。在配置期间,FPGA 将其驱动为低。所有配置数据无误差接收后,FPGA 将其置为三态,由于有上拉电阻,所以将变为高电平,表示配置成功。状态输入。输入高电位引导器件执行初始化过程并进入用户状态。CONF_DONE 必须经过 1.0k 电阻上拉到 Vcc,而且可以将外电路驱动为低以延时 FPGA 初始化过程。 DCLK:输入;为外部数据源提供时钟。nCE:输入;FPGA 器件使能输入,nCE 为低时使能配置过程,而且为单片配置时,
43、nCE 必须始终为低。nCEO:输出(专用于多片器件)FPGA 配置完成后,输出为低。在多片级联配置时,驱动下一片的 nCE 端。DATA0:输入;数据输入,在 DATA0 引脚上的一位配置数据。在被动串行配置(PS)方式中,由 ByteBlaster、FLEX 下载电缆或微处理器产生一个由低到高的跳变送到 nCONFIG 引脚,然后微处理器或编程硬件将配置数据送到DATA0 引脚,该数据锁存至 CONF_DONE 变为高电位,它是先将每字节的最低位 LSB 送到FLEX10K 器件。CONF_DONE 变为高电位后,DCLK 必须多余的 10 个周期来初始化该器件,器件的初始化是由下载电缆自
44、动执行的电路配置:FPGA 是基于门阵列方式为用户提供可编程资源的,其内部逻辑结构的形成是由配置数据决定的。这些配置数据通过外部控制电路或微处理器加载到 FPGA 内部的 SRAM中,由于 SRAM 的易失性,每次上电时,都必须对 FPGA 进行重新配置,在不掉电的情况下,这些逻辑结构将会始终被保持,从而完成用户编程所要实现的功能。在用户模式下,当 nCONFIG 引脚持续低电平 40s 时,FPGA 将进入复位状态。复位时,FPGA 采样 MSEL 引脚的电平值,以确定采用的配置方式;同时,nSTATUS 和CONF_DONE 引脚由 FPGA 置为低电平,所有 I/0 引脚为三态且 FPG
45、A 内部配置寄存器被清空。复位后,nCONFIG 被外部上拉电阻拉高,进入配置阶段。此时,nSTATUS 被 FPGA 释放并由外部上拉电阻拉为高电平后进入配置状态。Cyclone 芯片通过将 nCSO 输出的信号置低来使能串行配置芯片,nCS0 引脚连接配置芯片的片选段(nCS),用串行时钟(DCLK)和串行数据输出(ASDO)引脚来发送操作指令,或将地址信号读到串行配置芯片中。接着配置芯片将数据送到串行数据输出(DATA)引脚,DATA 引脚连接 Cyclone 芯片的 DATA0 输入脚。配置数据在 DCLK 时钟的上升沿载入FPGA。当接收完所有的配置位后(CRC 校验无误),Cycl
46、one 芯片悬空 CONF_DONE 引脚,该引脚由外部 10 k 电阻拉高;同时,停止驱动 DCLK 信号。当 CONF_DONE 到达一定的逻辑高电平后,初始化配置开始。第 11 页 共 38 页11FPGA 的配置方式分为主动式和被动式,数据宽度有 8 位并行方式和串行方式两种。在主动模式下,FPGA 在上电后,自动将配置数据从相应的外存储器读入到 SRAM 中,实现内部结构映射;而在被动模式下,FPGA 则作为从属器件,由相应的控制电路或微处理器提供配置所需的时序,实现配置数据的下载。 1. 配置引脚:FPGA 的配置引脚可分为两类:专用配置引脚和非专用配置引脚。专用配置引脚只有在配置
47、时起作用,而非专用配置引脚在配置完成后则可以作为普通的 I/O 口使用。 专用的配置引脚有:配置模式脚 M2、M1、M0;配置时钟 CCLK;配置逻辑异步复位PROG,启动控制 DONE 及边界扫描 TDI,TDO,TMS,TCK。非专用配置引脚有Din,D0:D7,CS,WRITE,BUSY,INIT。在不同的配置模式下,配置时钟 CCLK 可由 FPGA 内部产生,也可以由外部控制电路提供。2. FPGA 的配置模式:FPGA 共有四种配置模式:从串模式(Slave Serial),主串模式(MasterSerial),从并模式(Slave Farallel/SelecMap)以及边界扫描
48、模式(Boundary-Scan)。具体的配置模式由模式选择引脚 M2、M1、M0 决定。不同的配置模式对应不同的 M2、M1、M0,配置时钟的方向以及相应的数据位宽。从另外一个方面,FPGA 器件又可分三类配置下载方式:主动配置方式(AS)和被动配置方式(PS)和最常用的(JTAG)配置方式。AS 由 FPGA 器件引导配置操作过程,它控制着外部存储器和初始化过程,EPCS 系列。如 EPCS1,EPCS4 配置器件专供 AS 模式,目前只支持 Cyclone 系列。使用 Altera 串行配置器件来完成。Cyclone 期间处于主动地位,配置期间处于从属地位。配置数据通过 DATA0 引脚
49、送入 FPGA。配置数据被同步在 DCLK 输入上,1 个时钟周期传送 1 位数据。PS 则由外部计算机或控制器控制配置过程。通过加强型配置器件(EPC16,EPC8,EPC4)等配置器件来完成,在 PS 配置期间,配置数据从外部储存部件,通过 DATA0 引脚送入 FPGA。配置数据在 DCLK 上升沿锁存,1 个时钟周期传送 1 位数据。3. Cyclone II JTAG 和 ASP 配置下载在电脑上写好程序.pof 文件直接通过 JTAG 写到 FPGA SRAM 里,掉电丢失。只有把.pof 写到串行配置器件上,板子上电后串行配置器件 EPCS4 将程序自动写到 FPGA 中才不会丢失。JTAG 是直接烧到 FPGA 里面的,由于是 SRAM,所以断电后要重烧;AS 是烧到 FPGA 的配置芯片里保存的,每次上电就写到 FPGA 里;pof 文件可以通过 As 方式下载(保证byteblasterII/usb blaster 连接正确);sof 文件(FPGA 配置数据:是 sof 文件,将sof 文件编程到 Fla