基于FPGA的交通灯控制器.doc_第1页
基于FPGA的交通灯控制器.doc_第2页
基于FPGA的交通灯控制器.doc_第3页
基于FPGA的交通灯控制器.doc_第4页
基于FPGA的交通灯控制器.doc_第5页
已阅读5页,还剩40页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

I 摘 要 交通灯,全名是交通信号指示灯,它被安放在道路的交叉路口,承担着指 挥道路交通的重大任务,人们根据交通灯的指示,做出符合交通法规的交通行 为,保证了道路交通的有序顺畅和安全通行。基于交通灯的重要作用,本文利 用 FPGA 技术,设计了一套交通灯控制器系统。在道路的十字路口,东南西北 四个方向,均设置有红黄绿和左转四种交通信号指示灯,并显示有通行和停止 等待的倒计时时间。根据道路实际的流量情况,设置了绿灯 50 秒,红灯 80 秒, 黄灯 5 秒,左转灯 20 秒。本系统以 Altera 公司 Cyclone II 系列的 EP2C5T144C8N 芯片作为核心最小系统,利用 VHDL 语言在 Quartus II 开发平 台上进行软件部分的设计,利用电路设计软件 Protel 进行硬件原理图和 PCB 的 设计,通过波形仿真和硬件实现两种方式,验证了交通灯系统的功能。 关键字:关键字:FPGA 最小系统、交通灯、倒计时、最小系统、交通灯、倒计时、VHDL II ABSTRACT Traffic lights, full name is traffic signal lights, it was placed at the intersection of roads, undertaking the significant mission command in road traffic, the people according to the traffic lights, traffic behavior comply with traffic regulations, to ensure the smooth and orderly and safe passage of road traffic. Based on the important role of traffic lights, using FPGA technology, design a set of traffic lights control system. At the crossroads, North four directions, are provided with a red yellow green and turn left at the four traffic signal lamp, and display a countdown time pass and stop waiting. According to the actual situation of road traffic, the green light for 50 seconds 80 seconds, the red light, yellow light for 5 seconds, 20 seconds left lamp. This system to Altera company Cyclone II series EP2C5T144C8N chip as the core of the minimum system, the software design in the Quartus II development platform using VHDL language, the design of hardware schematic and PCB circuit designed by the software Protel, two ways of realizing the waveform simulation and hardware, traffic lights to verify the function of the system. Key Words: FPGA minimum system,traffic light,countdown,VHDL 目录 III 目录 摘 要.I ABSTRACT.II 目录 .III 第 1 章 绪论 .1 1.1 课题任务.1 1.2 课题要求.1 1.3 研究意义.1 第 2 章 设计方案 .3 2.1 硬件部分.3 2.1.1 电源电路.3 2.1.2 复位电路.4 2.1.3 晶振电路.5 2.1.4 下载电路.5 2.1.5 系统外围电路.6 2.1.6 硬件开发工具.7 2.2 软件部分.7 2.2.1 Quartus II 软件.8 2.2.2 VHDL 语言.8 第 3 章 系统功能设计 .10 3.2 电路原理图设计.10 3.2.1 电源电路设计.10 3.2.2 晶振电路设计.11 3.2.3 复位电路.11 3.2.4 下载电路设计.11 3.2.5 数码管显示电路.12 3.2.6 LED 指示灯电路.12 3.2.7 系统的总原理图.13 3.3.1 PCB 库元件的设计 .13 3.3.2 PCB 图的绘制 .16 3.4 软件设计.19 3.4.1 时钟分频模块.19 3.4.2 功能控制模块.20 3.4.3 译码模块.23 3.4.4 系统顶层电路.24 第 4 章 调试与实现 .25 4.1 软件仿真调试.25 4.1.1 时钟分频模块仿真.25 目录 IV 4.1.2 功能控制模块仿真.25 4.1.3 译码模块仿真.26 4.1.4 顶层电路仿真.26 第 5 章 总结 .31 参考文献 .32 致谢 .33 附录 .34 附录 1 系统硬件电路原理图.34 附录 2 硬件电路 PCB 图.35 附录 3 时钟分频模块完整的 VHDL 程序.36 附录 4 功能控制模块完整的 VHDL 程序:.37 附录 5 译码模块的完整 VHDL 程序.41 第 1 章 绪论 1 第 1 章 绪论 1.1 课题任务 本课题是基于 FPGA 的交通灯控制器的设计,应用 EDA 技术,设计一个 十字路口的交通灯来形象指挥行人和车辆的安全通行。十字路口处方向分为东 南西北四个方向,东西方向的交通信号灯状态保持一致,南北方向的交通信号 灯状态也保持一致。其中每个方向均要求有四盏指示灯,分别是左转灯、红灯、 绿灯和黄灯。左转灯亮说明车辆可以左转通行;红灯亮说明禁止车辆直行和左 转;绿灯亮说明允许车辆直行和右转;黄灯亮说明指示灯即将进行变换,提示 车辆减速至停止或做好启动准备,此时也是禁止车辆直行和左转。在每个方向 上均设有一个倒计时显示器,以显示禁止或允许通行的倒计时间。东西、南北 方向的指示灯循环变化,实现交通灯的功能。 1.2 课题要求 设计基于 FPGA 的交通灯控制器,实现交通灯的基本功能,要求十字路口 东西、南北方向的红绿黄灯以及左转灯能够循环变化,并且以倒计时的形式进 行指示;各指示灯的持续时间分别为:红灯 80 秒,绿灯 50 秒,黄灯 5 秒,左 转灯 20 秒;紧急情况下能够进行特殊处理,紧急情况过后可恢复。 要求软件和硬件结合来实现交通灯控制器,其中采用硬件描述 VHDL 语言 进行交通灯控制器系统的软件设计,在 EDA 软件 Quartus II 下进行编译以及波 形仿真,硬件采用 Altera 公司 Cyclone II 系列的 EP2C5T144C8N 芯片作为核心 最小系统,绘制出电路原理图和 PCB 图。 1.3 研究意义 交通灯最早出现在 19 世纪的英国,在伦敦的主要街头安装了已燃煤气为光 源的红蓝两色的机械扳手信号指示灯,用于指挥马车通行。后来在美国出现了 电气启动的红绿灯,还有带控制的红绿灯和红外红绿灯。交通信号灯的出现, 使交通得以有效控制,对于疏导流量、提高道路通行能力,减少交通事故有明 显的效果。如今,交通灯被应用在各个道路分叉口上,已经成为疏导交通车辆 的最常见和最有效的方式。随着社会的发展和人们生活水平的提高,汽车的数 量迅速增加,交通管制变得越来越重要,交通灯已成为交通管制必不可少的重 绪论 2 要工具,它能保证机动车辆的安全运行,维持城市道路的顺畅。 以前普通的交通灯控制器只能根据事先给定时间进行通道的通禁控制,但 由于如今车辆的迅速增多,所以传统的交通灯控制器已经表现出明显的缺点: 红绿灯时间相对固定,不能随车流量调整红绿灯的显示时间,在时间和空间方 面造成了交通资源的浪费,加重了道路交通压力。还有一个缺点是没有显示红 绿灯的持续时间,不能及时地做出相应的操作,影响了通行的效率。因此,要 求寻找一种可以随时针对通道上车辆的密集度来控制和调节此通道的通禁时间, 以期达到自动控制的目的,从而减少不合理的堵车现象的发生。 交通灯的功能都是通过交通灯控制器实现的,而交通灯控制器的实现大致 有几种方法,第一种是采用中小规模集成电路实现的,采用的电路元件多,线 路复杂,可靠性低,故障率高,维修难度大。第二种方法是采用单片机方案来 实现, 简化了电路,使得性能更加稳定,而且能够实现多种功能,但也存在着 缺点,就是在修改电路功能以及调试的时候需要硬件电路的支持,这在很大程 度上增加了功能修改以及系统调试的难度。第三种是采用可编程控制器 PLC 来 实现,其优点是提高可靠性和稳定性,但由于 PLC 的体系结构是封闭的,各个 厂家的 PLC 的硬件体系互不兼容,编程语言和指令系统也有差异,降低了用户 的选择性和增加了使用难度。第四种是采用 FPGA 技术,FPGA 是可编程逻辑 器件,利用硬件可描述语言对以 FPGA 芯片为核心的系统进行开发,在设计的 各个阶段,各个层次都可以用计算机进行仿真验证,编程简单,程序修改容易, 不需要硬件电路的支持,而且不受 FPGA 型号的影响,使用更加方便,使得开 发周期缩短。基于 FPGA 的众多优点,使其深受广大设计者的喜爱。采用 FPGA 来实现交通灯控制器,迎合了电子技术的发展趋势,使得电子产品性能 更加稳定,应用更加简单方便。 3 第 2 章 设计方案 2.1 硬件部分 一个 FPGA 系统,通常由 FPGA 芯片组成的核心部分和外围应用电路组成。 本设计采用 EP2C5T144C8N 芯片作为系统核心,加上电源电路,复位电路,晶 振电路,下载电路等,组成 FPGA 最小系统,再加上外围电路的数码管和 LED 指示灯,构成了整个交通灯控制器系统的硬件电路。硬件电路框图如下: EP2C5T144C8N 晶振电路 电源电路 复位电路 下载电路 数码管显示电路 LED指示灯电路 图 2.1 交通灯控制器系统硬件电路框图 2.1.1 电源电路 电源电路是系统工作供电的来源。FPGA 系统的电源取决于内部电路的要求。 FPGA 有三个要配置元素:可配置逻辑块(CLB),I/O 块(IOB)及其相互连接。 CLB 提供功能性逻辑元素,IOB 提供封装引脚和内部信号线之间的接口,可编 程相互连接资源提供布线途径以连接 CLB 和 IOB 的输入和输出至合适的网络。 施加于 CLB(或核心)的电压被称为 VCCINT,VCCO 为 IOB 的供电电压,一些 FPGA 有被称为 VCCAUX 的另外一个电压输入。 VCCINT 的典型的电压为 1.2 V、1.5 V、1.8 V、2.5 V 和 3V,电流达 12A。CLB 数越大,电压越小而电流越高。此外,VCCINT 应该单调上升,不 允许有下降。 最常见的 VCCO 电压为 1.2 V、1.5 V、1.8 V、2.5 V、3.3 V,在以前的系统中 甚至为 5V,电流范围在 120 A 之间。 4 典型的辅助电压 VCCAUX 为 3.3 V 或 2.5 V,它对 FPGA 中有严格时间要 求的资源进行供电,所以它很容易受电源噪声的影响,除非 VCCO 不产生过大 的噪声,VCCAUX 可以与 VCCO 共用电源层。 FPGA 电源要求包括电压输出在 1.2 V5 V 之间,电流输出大几十毫安到几 安培之间,三种可能的解决方案为低漏失(LDO)线性整流电路、开关模式变压 器以及开关模式电源模组。 图 2.2 LDO 的内部连接图 LDO 是 low dropout regulator,意为低压差线性稳压器,是相对于传统的线 性稳压器来说的。传统的线性稳压器,如 78xx 系列的芯片都要求输入电压要比 输出电压高出 2v3V 以上,否则就不能正常工作。但是在一些情况下,这样的 条件显然是太苛刻了,如 5v 转 3.3v,输入与输出的压差只有 1.7v,显然是不满 足条件的。针对这种情况,才有了 LDO 类的电源转换芯片。低输出噪声很重要, 或者系统要求对输入和瞬态现象快速响应,就应该采用 LDO 整流器。LDO 提 供了中低输出电流,输入电容器通常会切断输入至 LDO 的阻抗和噪声。LDO 还要求在输出侧有一个电容器,以处理系统瞬态现象并提供稳定性。双输出 LDO 还能同时向 VCCINT 和 VCCO 供电。 当设计效率非常关键且系统要求大输出电流时,则采用开关模式电源。开 关电源提供比 LDO 更高的效率,但其开关特性使其对噪声更敏感。与 LDO 不 同,开关模式变压器需要使用电感器,而且可能需要变压器进行 DC-DC 转换。 2.1.2 复位电路 一个可编程芯片,通常在上电的瞬间需要一个短暂的时间进行内部参数的 初始,这个时候芯片无法立即进入工作状态。通常称上电初始化为复位,实现 这个功能的电路称为复位电路。系统的复位通常采用的是低电平复位,RESET 按键按下后产生低电平,正常工作状态下,复位信号为高电平。 5 图 2.3 系统复位电路 2.1.3 晶振电路 晶振是为电路提供频率基准的元器件,通常分为有源晶振和无源晶振两个 大类,无源晶振需要芯片内部有振荡器,并且晶振的信号电压根据起振电路而 定,允许不同的电压,但无源晶振通常信号质量和精度较差,需要精确匹配外 围电路(电感、电容、电阻等) ,如需更换晶振时需同时更换外围的电路。有源 晶振不需要芯片的内部振荡器,可以提高高精度的频率基准,信号质量也较无 源晶振要好很多。 2.1.4 下载电路 FPGA 器件有三类配置下载方式:主动配置方式(AS)和被动配置方式 (PS)和最常用的(JTAG)配置方式。 AS 由 FPGA 器件引导配置操作过程,它控制着外部存储器和初始化过程, EPCS 系列.如 EPCS1,EPCS4 配置器件专供 AS 模式,目前只支持 Cyclone 系列。 使用 Altera 串行配置器件来完成。Cyclone 期间处于主动地位,配置期间处于从 属地位。配置数据通过 DATA0 引脚送入 FPGA。配置数据被同步在 DCLK 输 入上,1 个时钟周期传送 1 位数据。 PS 则由外部计算机或控制器控制配置过程。通过加强型配置器件 (EPC16,EPC8,EPC4)等配置器件来完成,在 PS 配置期间,配置数据从外 部储存部件,通过 DATA0 引脚送入 FPGA。配置数据在 DCLK 上升沿锁存,1 个时钟周期传送 1 位数据。 JTAG 接口是一个业界标准,主要用于芯片测试等功能,使用 IEEE Std 1149.1 联合边界扫描接口引脚,支持 JAM STAPL 标准,可以使用 Altera 下载电缆或 主控器来完成。 FPGA 在正常工作时,它的配置数据存储在 SRAM 中,加电时须重新下载。 在实验系统中,通常用计算机或控制器进行调试,因此可以使用 PS。在实用系 统中,多数情况下必须由 FPGA 主动引导配置操作过程,这时 FPGA 将主动从 6 外围专用存储芯片中获得配置数据,而此芯片中 fpga 配置信息是用普通编程器 将设计所得的 pof 格式的文件烧录进去。 三种配置方式的区别: AS 模式: 烧到 FPGA 的配置芯片里保存的,FPGA 器件每次上电时,作为 控制器从配置器件 EPCS 主动发出读取数据信号,从而把 EPCS 的数据读入 FPGA 中,实现对 FPGA 的编程。下载的是.pof 文件。 PS 模式:EPCS 作为控制器件,把 FPGA 当做存储器,把数据写人到 FPGA 中,实现对 FPGA 的编程。该模式可以实现对 FPGA 在线可编程。 JTAG:直接烧到 FPGA 里面的,由于是 SRAM,断电后要重烧。.sof 文件 或者转换的.jic 可以通过 JTAG 方式下载。 2.1.5 系统外围电路 电源电路、晶振电路、复位电路、下载电路构成了 FPGA 的最小系统,是 FPGA 系统能正常工作所必须的电路,利用 FPGA 实现具体的功能,需要添加 外围电路。可根据具体的需求进行添加,包括显示模块电路、按键控制模块电 路,LED 指示灯模块电路、实体功能模块电路等等。FPGA 芯片提供了大量的 IO 口资源,可满足大规模数字电路系统的使用要求,用户参照芯片资料,选择 需要的 IO 引脚进行外部连接。 图 2.4 数码管结构图 本设计需要的外围电路包括数码管显示电路和 LED 指示灯电路。数码管是 用来显示各信号指示灯的持续时间,交通灯的指示灯持续时间基本都在 90 秒内, 而东南西北四个方向均需要配置一组两个的数码管。LED 指示灯电路是东南西 北四个方向的红灯、绿灯、黄灯和左转灯,四种灯为一组,每个方向一组。 七段数码管的结构图如图 2.4,用 7 个 LED 组成一个 8 字构成,每一个 LED 称 7 为一段,分别标记为 a、b、c、d、e、f、g,图上也表明了排列的顺序。数码管 分为共阳和共阴两种,也有单个和多位之分。共阳是数码管的 com 端接电源 VCC,共阴则是 com 端接地 GND。实际使用时,需要在每一段 LED 上串联一 个电阻,阻值根据图 2.4 中的计算公式来选择。 2.1.6 硬件开发工具 要制作硬件,首先要绘制出系统电路的原理图和 PCB 图,这就需要运用电 路设计软件。本设计采用的是 protel99se 软件,该软件是 ProklTechnology 公司 基于 Windows 环境下开发的电路板设计软件。功能强大,人机界面友好,易学 易用,是业界人士首选的电路板设计工具。 Protel 99SE 由两大部分组成:电路原理图 SCH 设计和多层印刷电路板 PCB 设 计。常用的部分有电路图编辑器,元件库编辑器,PCB 图编辑器和 PCB 库编辑 器。 2.2 软件部分 本设计采用模块层次化设计方法,运用自顶向下的设计思路,将交通灯控 制器系统划分为三个模块,分别是时钟分频模块,功能控制模块和译码器模块。 使用硬件描述 VHDL 语言对每个模块进行功能描述编程,并生成相应的原理图 模块,最后用原理图输入法做成整个系统设计的顶层文件。同时,借助 Quartus II 软件进行模拟仿真,观察每一个模块及整体的仿真波形,确认正确之后,将 程序下载到目标 FPGA 芯片上,进行硬件的调试验证,证明所设计的交通灯控 制器系统完全可以实现预定的功能。软件的系统框图如下: 分频模块 功能控制模 块 译码模块 各方向的红绿黄灯及左转灯 各方向的倒计时显示 图 2.5 系统软件框图 分频模块的作用是对系统的输入时钟进行分频处理,获得系统工作实际需 要的频率;功能控制模块则是实现交通灯控制器的具体控制功能,包括东南西 北各方向红灯、黄灯、绿灯、左转灯的循环点亮控制和各指示灯持续时间的显 示控制等;译码模块则是对功能控制模块输出的时间显示编码进行译码,获得 数码管显示需要的段码,以便显示出相应的数字。 8 根据要求,系统的软件开发平台采用 Quartus II 软件,利用 VHDL 语言进 行编程设计,下面将对 Quartus II 软件和 VHDL 语言进行简要介绍。 2.2.1 Quartus II 软件 Quartus II 可编程逻辑软件是 Altera 公司的综合性 PLD 开发软件,属于第 四代 PLD 开发平台。该平台支持一个工作组环境下的设计要求,其中包括支持 基于 Internet 的协作设计。它拥有现场可编程门阵列(FPGA)和复杂可编程逻 辑器件(CPLD)设计的所有阶段的解决方案。支持原理图、 VHDL、VerilogHDL 以及 AHDL(Altera Hardware Description Language)等多 种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件 配置的完整 PLD 设计流程。 使用 Quartus II 进行设计和开发数字系统的基本过程与一般的数字系统设计 过程基本一致,其开发流程包括以下几个步骤:设计输入、项目编译、仿真与 定时分析、编译下载和测试。 用户首先对所做项目进行设计,明确设计目的、设计要求;然后利用原理 图输入方式或文本输入方式进行设计输入;输入完成后,进行编译,若编译过 程中发现错误,则检查设计输入,直至没有错误发生;编译完成后,就可以进 行仿真,检查设计是否达到设计要求,否则还需要重新检查设计输入;仿真结 果达到要求后,就可以进行烧录,把设计程序下载到目的芯片中;最后把芯片 放到实际系统中进行验证、测试。 2.2.2 VHDL 语言 VHDL 全名 Very-High-Speed Integrated Circuit HardwareDescription Language,即超高速集成电路硬件描述语言,是一种用形式化方法描述数字电 路和系统的语言。 VHDL 语言是一种用于电路设计的高级语言,主要是应用在数字电路的设 计中。用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件 特征的语句外,VHDL 的语言形式、描述风格以及语法是十分类似于一般的计 算机高级语言。VHDL 的程序结构特点是将一项工程设计,或称设计实体(可 以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分,及端口)和 内部(或称不可视部分) ,既涉及实体的内部功能和算法完成部分。在对一个设 计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调 用这个实体。这种将设计实体分成内外部分的概念是 VHDL 系统设计的基本点。 VHDL 语言的主要特点包括:功能强大,设计灵活;支持广泛、易于修改; 强大的系统硬件描述能力;独立于器件的设计、与工艺无关;很强的移植能力; 9 易于共享和复用。具有下面几大优势: (1)与其他的硬件描述语言相比,VHDL 具有更强的行为描述能力,从而决定 了他成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体 的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。 (2)VHDL 丰富的仿真语句和库函数,使得在任何大系统的设计早期就能 查验设计系统的功能可行性,随时可对设计进行仿真模拟。 (3)VHDL 语句的行为描述能力和程序结构决定了他具有支持大规模设计 的分解和已有设计的再利用功能。符合市场需求的大规模系统高效,高速的完 成必须有多人甚至多个代发组共同并行工作才能实现。 (4)对于用 VHDL 完成的一个确定的设计,可以利用 EDA 工具进行逻辑 综合和优化,并自动的把 VHDL 描述设计转变成门级网表。 (5)VHDL 对设计的描述具有相对独立性,设计者可以不懂硬件的结构, 也不必管理最终设计实现的目标器件是什么,而进行独立的设计。 10 第 3 章 系统功能设计 3.1 硬件描述 根据设计方案,交通灯控制器系统是以 FPGA 芯片 EP2C5T144C8N 为核心 处理器组成的应用系统。芯片加上电源电路、晶振电路、复位电路、下载电路 实现最小系统电路,外围应用电路包括数码管显示电路和 LED 指示灯电路。 EP2C5T144C8N 是 Altera 公司推出的 Cyclone II 系列的芯片,有 4608 个逻 辑单元,总比特数为 119808,PLLs 有 2 个,总引脚数为 144,最多用户 IO 管 脚为 89 个,采用 144-pin TQFP 的封装形式。Cyclone II 系列芯片可以说是目前 市场上性价比最高的芯片,比第一代的 EP1C6 和 EP1C12 等芯片设计上、内部 的逻辑资源上都有很大的改进,同时价格也可以被广大客户接受。 下面将对交通灯控制器系统的硬件电路进行详细的设计介绍。 3.2 电路原理图设计 3.2.1 电源电路设计 本系统使用两种供电方式,一种是使用独立的 5V/1A 开关电源供电,另一 种是使用 USB 线供电。配置了电源接口和 USB 接口,并有电源控制开关,使 用过程中可以在不拔去电源的情况下切断电源,方便使用。还设置了一个 LED 作为电源上电指示灯,在接上电源的时候亮起,表明系统已上电,可以开始工 作了。电路图如图 3.1。 图 3.1 交通灯控制器电源电路 用 LDO 稳压芯片 AMS-117_3.3V 把外部输入的 5V 电压转变为系统工作电 压 3.3V。而另一个 LDO 稳压芯片 AMS-117_1.2V 则是把 3.3V 输出电压转变为 1.2V,作为 FPGA 核的供电。 11 在直流电源回路中,负载的变化会引起电源噪声。例如在数字电路中,当 电路从一个状态转换为另一个状态,就会在电源线上产生一个很大的尖峰电流, 形成瞬变的噪声电压,配置去耦电容可以抑制因负载变化而产生的噪声,是印 制电路板的可靠性设计的一种常规做法。一般在电源部分都采用大电容与小电 容并联在电源两端的,这样对高频与低频都有一定抑制作用。在 LDO 的输入输 出上,均有一个 47uF 电解电容和一个 0.1uF 的瓷片电容。 3.2.2 晶振电路设计 本系统使用 50MHZ 的有源贴片晶振作为板子工作的时钟输入。电路如下。 CLK 与 EP2C5T144C8N 的 CLK0 端连接。 图 3.2 交通灯控制器的晶振电路 3.2.3 复位电路 图 3.3 交通灯控制器的复位电路 用一个按键与 EP2C5T144C8N 的 CLK5 端相连接组成系统的复位电路,按 下按键,产生一个低电平信号,触发系统进行复位。 3.2.4 下载电路设计 Cyclone II 系列的 EP2C 通常采用的是 JTAG 配置方式。本系统采用的便是 JTAG 配置下载方式,提供了一个 JTAG 接口。标准的 JTAG 接口是 4 线的, TMS 为模式选择,TCK 为时钟,TDI 是数据输入,TDO 为数据输出。4 根线分 别与 EP2C5T144C8N 的 11、12、13 和 10 脚相连接。电路如下图。 12 图 3.4 交通灯控制器的下载接口电路 3.2.5 数码管显示电路 图 3.5 交通灯控制器的数码管显示电路 本系统采用 4 组两个七段共阳数码管作为指示灯持续时间显示的模块,分 别用在东南西北 4 个方向上。4 组为一样的数码管,其中的一组数码管电路如 图 3.5。数码管的 com 端接到 3.3V 电源上,段码 ag 与一个 300 欧的排阻相 连接,排阻的另一端接到 FPGA 芯片的 IO 口上。当 IO 口输出高电平的时候, 数码管不点亮,当 IO 口输出低电平的时候,数码管才被点亮。东西方向、南北 方向的数码管是同时被点亮和熄灭的。 3.2.6 LED 指示灯电路 系统分为东南西北四个方向,共四组相同的指示灯,每个方向有一组 LED 指示灯,一组指示灯由 4 个 LED 组成,分别是红灯、绿灯、黄灯和左转灯。其 中一组指示灯的电路如图 3.6。一个 LED 串接一个 300 欧的电阻,连接到 13 FPGA 芯片的 IO 口上,一个 IO 口控制一个 LED 指示灯,当 IO 口输出低电平 的时候,LED 被点亮。 图 3.6 交通灯控制器的 LED 指示灯电路 3.2.7 系统的总原理图 在完成了各个电路的原理图设计之后,根据 EP2C5T144C8N 的芯片资料, 选择提供的用户 IO 口与设计电路进行连接。用户 IO 区分为 4 个 BANK,为了 清楚直观地展示交通灯,一组数码管显示和一组 LED 指示灯分别与 4 个 BANK 的 IO 口进行连接,便得出了交通灯控制器系统的总原理图,见附录。 3.3 电路 PCB 设计 在完成了电路原理图的设计之后,接下来便是进行 PCB 图的设计。PCB 图 是制作硬件的最重要的线路图,PCB 图的线路直接反映在硬件的板子上,所以 PCB 的设计至关重要,避免出现重大连接错误,导致设计的失败。 在绘制 PCB 图之前,首先要对原理图进行编译,排查错误;然后根据所选 元件的实际封装设置每个元件的封装;再生成一个网络表,把这个网络表导入 到 PCB 文件中,最后才能按照 PCB 设计规范进行 PCB 图的设计。 3.3.1 PCB 库元件的设计 在设计过程中,通常在 protel 软件的自带 PCB 库中,找不到需要的元件封 装,而元件的封装与实际的实物元件是一一对应的,管脚、外形的尺寸都要精 确一致。这时候就需要设计者参照实物的尺寸绘制 PCB 封装。把多个自行设计 的封装集合在一个文件中,就形成了一个 PCB 库文件。本设计中,使用到的元 件与该元件的封装如表 3.1。 14 表 3.1 交通灯控制器的元件与封装参考表 元件型号封装 电源插座 POWERPOWER USB 电源插座 USB_POWERUSB-B 电源开关POWER_SW 复位按键RESET LDO-AMS117SOT223 50MHz 贴片有源晶振CRYSTAL_SM D JTAG 下载口IDC10 单个七段数码管-0.56 英寸7-SEG 300 欧的排阻RES8 EP2C5T144C8NTQFP144 电阻、电容、LED0603 47uF 电解电容CAP_47 经过查找 protel 软件自带的 PCB 库,除了 0603 封装,其他的封装都找不到, 需要自行绘制。下面以绘制单个 0.56 英寸的七段数码管为例,简述下制作元件 PCB 封装的方法。 首先,新建一个 PCB 库文件 PCBLIB.LIB,保存在所设计的工程里。 其次,在 protel 的工具栏中,点 tools 目录下的 new component,生成一个空白 的 PCB 封装图,经过查找资料,得出单个数码管的尺寸图

温馨提示

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

评论

0/150

提交评论