




已阅读5页,还剩50页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计 交通灯信号控制器的设计 学 院 专 业:电子信息科学与技术 姓 名: 学 号 指导教师: 2011 年 6 月 摘 要 摘 要 随着集成电路(IC)技术的发展,电子设计自动化(EDA)逐渐成为重要的设计 手段,已经广泛应用于模拟与数字电路系统等许多领域。本设计采用 EDA 技 术,选用目前应用较广泛的 VHDL 硬件电路描述语言,应用 CPLD 芯片及相应 的外围器件实现交通灯信号控制器的设计。该系统电路包括晶体振荡器、分频 器、键盘控制模块、控制器模块、驱动电流模块和显示模块六个部分。晶体振 荡器产生的高频信号经分频器分频,为键盘动态扫描及控制器模块提供脉冲信 号;键盘控制模块通过对方式的选择实现控制器模块状态的选择;控制器模块 发出的信号经驱动电流模块的驱动,实现显示模块功能。以上部分由外围电路 完成,其余电路由 CPLD 器件通过软件编程实现,最终完成对交通的指示功能。 EDA 技术使得电子电路设计者的工作只需利用硬件描述语言和 EDA 软件平台 就能完成对系统硬件功能的实现,极大地提高了设计效率,缩短了设计周期, 节省了设计成本。 关键词:信号控制器,电子设计自动化(EDA),复杂可编程门器件(CPLD) Abstract II Abstract With the development of the integrated circuit (IC) technology, electronic design automation (EDA) has gradually become the important design method. It has already widely applied in the analog and the digital circuit system and many other domains. This design uses the EDA technology, selects VHDL hardware circuit description language which is widespread applied present, and the CPLD chip and the corresponding periphery component to realize the traffic light signal controller design. This system circuit includes crystal oscillator, frequency divider, keyboard control module, controller module, drive current module and display module six parts. The high frequency signal which is produced by the crystal oscillator produces is divided by frequency division to a time impulse and provides the signal impulse for the keyboard dynamic scanning and the controller module; The keyboard control module realizes the controller module condition choice by the way choice; The controller module sends out the signal after the drive current modules actuation, realizes the display module function. The above part completes are realized by the peripheral circuit. The others are realized by CPLD component through the software programming and complete the transportation directive function finally. The EDA technology causes the electronic circuit designer can complete system hardware function realization only with the hardware description language and the EDA software platform. It also raises the rated capacity enormously, reduces the design cycle and saves the designed cost. Key words: signal controller, electronic design automation (EDA), complex programmable logic device (CPLD) 目 录 III 目 录 摘 要. ABSTRACT(英文摘要) 目 录. 第一章 绪 论1 1.1 课题的背景和意义1 1.2 现代电子设计方法EDA 技术.2 1.3 EDA 技术的基本特征 .3 1.4 EDA 技术的开发工具 .5 1.5 EDA 技术的设计语言 .5 1.5.1 EDA 技术的设计语言的介 绍5 1.5.2 VHDL 程序基本结构7 1.6 CPLD 简介.8 1.6.1 CPLD 结构与工作原理8 1.6.2 CPLD 的开发流程10 1.7 常用 EDA 开发软件 MAX+PLUS简介.11 第二章 方案选择与系统结构.14 2.1 信号控制器的方案选择 .14 2.2 系统整体构架 15 第三章 信号控制器模块的设计.17 3.1 控制模块 JTD_CTRL 的设计 .19 3.2 计时模块 JTD_TIME 的设计 .21 3.3 译码驱动模块 JTD_LIGHT 的设计.24 3.4 显示模块 JTD_DIS 的设计.25 3.5 分频器 JTD_FQU 的设计29 3.6 顶层文件原图.30 第四章 系统硬件电路实现.31 第一章 绪 论 IV 4.1 外围电路31 4.1.1 键盘接口31 4.1.2 显示接口34 结 论 40 参考文献.41 致 谢 42 附录 A 系统执行功能程序流程图43 附录 B 部分 VHDL 程序代码44 第一章 绪 论 - 1 - 第一章 绪 论 1.1课题的背景和意义 集成电路技术和计算机的发展,使得数字系统的设计理论、设计方法和 设计手段发生了很大的变化。数字系统所使用的逻辑器件由20 世纪六七 十年代的标准逻辑功能部件,发展到目前的专用集成电路(ASIC, Application Specific Integrated Circuit)和系统芯片( SOC, System On a Chip),以及可编程系统芯片( SOPC, System On a Programmable Chip)。 尤其是进入 21 世纪以来,电子设计自动化( EDA, Electronic Design Automation)和电子系统设计自动化( ESDA, Electronic System Design Automation)已成为现代电子系统设计和制造的主要技术手段。 本设计采用了 EDA 技术,它是用于电子产品设计中比较先进的技术, 可以代替设计者完成电子系统设计中的大部分工作,而且可以直接从程序中 修改错误及系统功能而不需要硬件电路 的支持,既缩短了研发周期,又大 大节约了成本,受到了电子工程师的青睐。 实际中实现路口交通灯系统的控制方法很多,可以用标准逻辑器件、 可编程序控制器 PLC、单片机等方案来实现。但是这些控制方法的功能修 改及调试都需要硬件电路的支持,在一定程度上增加了功能修改及系统调试 的困难。因此,在设计中采用EDA 技术,应用目前广泛应用的VHDL 硬 件电路描述语言,实现交通灯系统控制器的设计,利用MAX+PLUS集 成开发环境进行综合、仿真,并下载到CPLD 可编程逻辑器件中,完成系 统的控制作用。 本文详细介绍了交通灯信号控制器的设计过程及其特点。在实现过程 中,本设计选用了 Altera 公司的 EPF10K10LC84-4 芯片作为数字处理主芯 片,充分利用了该芯片的超大集成性和快速性。本设计中,PLD 芯片的 设计与控制芯片的接口设计是一个难点,利用Altera 的设计工具 MAX+PLUS并结合 VHDL 语言,采用软硬件编程的方法可很好地解决这 一问题。本文首先介绍了 EDA 技术的理论的基础。然后对本设计中选用的 第一章 绪 论 - 2 - 芯片 EPF10K10LC84-4 进行了简要地介绍,这是本设计的基础。接着分析 了整个设计中应处理的问题,根据设计原理就功能上进行划分了几个模块并 分别详细介绍了其工作原理。通过 CPLD 芯片与外围电路的配合实现对交 通灯信号控制的发 生,最终实现设计的要求。 1.2现代电子设计方法EDA技术 EDA(Electronic Design Automation)即电子设计自动化,伴随着计算机、 集成电路、电子系统设计的发展,经历了计算机辅助设计(CAD)、计 算机辅助工程设计设计( CAE)和电子设计自动化( EDA)三个发展阶段。 在现代电子系统设计领域, EDA 技术已经成为电子系统设计的重要手段。 无论是设计逻辑芯片还是数字系统,其设计作业的复杂程度都在不断增加, 现今仅仅依靠手工进行数字系统设计已经不能满足要求,所有的设计工作都 需要在计算机上借助于 EDA 软件工具进行。在 EDA 软件的支持下,设计 者只需完成对系统的扫描,就可以由计算机软件进行处理得到的设计结果, 修改设计如同修改程序一样方便。利用EDA 设计工具,设计者可以预知 设计结果,减少设计的盲目性,极大的提高设计的效率。 对于 EDA 技术的定义有狭义和广义之分,狭义上的EDA 技术,就是 以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主 要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统 为设计工具,通过有关的开发软件,自动完成用软件的方式设计的电子系统 到硬件系统的的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布 局布线、逻辑仿真,直至完成对于特定目标芯片的适配编译、逻辑映射、逻 辑下载等工作,最终形成集成电子系统或专用集成芯片的一门技术。又称为 IES/ASIC 自动设计技术。 广义的 EDA 设计是指计算机辅助分析 CAA 技术,如 PSPICE、EWB、MATLAB 等,印刷电路板计算机辅助设计PCB-CAD 技 术,如 PROTEL、DR-CAD 等。通常情况下, EDA 技术的广泛定义范围 包括以下几个方面 第一章 绪 论 - 3 - (1)半导体工业版图设计自动化; (2)可编程逻辑器件设计自动化; (3)电子系统设计自动化; (4)印刷电路板设计自动化; (5)功能仿真、故障测试和形式验证自动化。 EDA 技术是近些年来迅速发展起来的计算机硬件、微电子设计交叉的 现代电子设计技术,它涉及到计算机操作系统、数据库管理、编译原理、计 算数学、人工智能、电路理论、微电子学、集成电路设计等领域。在现代电 子设计领域中, EDA 技术已成为主要的设计手段。采用EDA 技术可以大 大缩短电子系统设计的开发周期,极大的提高了工业效率。 之所以这样主要由 EDA 技术的主要特点决定的。一般来说, EDA 技 术的特点主要包括:硬件采用工作站或者高档计算机;软件采用EDA 工 具,它的功能包括原理图输入、硬件描述语言输入、波形输入、仿真设计、 可测试设计、逻辑综合、形式验证、时序分析等方面;设计方法采用自顶 向下的设计方法,即设计工作从高层开始,自顶层向下跨过各个层次,从而 完成整个电子系统的设计;设计原则采用模块化的设计思想,目的是使程序 结构清晰、便于复用和共享; EDA 工具软件结构采用开放性和标准化的框 架,能够实现资源的共享 。 1.3 EDA技术的基本特征 现代 EDA 技术的基本特征是采用高级语言描述,具有系统仿真和综合 能力。 1、并行工程和 “自顶向下 ”设计方法 根据美国防卫分析研究所 R-338 报告中的定义,所谓并行工程是指 一 种系统化的、集成化的、并行的产品及相关过程的开发模式(相关过程主要 指制造和维护)。这一模式使开发者从一开始就要考虑到产品生存周期的诸 多方面,包括质量、成本、开发时间及用户的需要,等等。 第一章 绪 论 - 4 - “自顶向下 ”(Top_down)的设计方法由 “自底向上 ” (Bottom_up) 这种设计方法改变而来。首先需要进行行为设计,确定该 电子系统或 VLSI 芯片的功能、性能及允许的芯片面积和成本等。接着进行 结构设计,这个结构可能包括算术运算单元、控制单元、数据通道、各种算 法状态机等。下一步是把结构转换成逻辑图,即进行逻辑设计。在这一步中, 希望尽可能采用规则的逻辑结构或采用自己经过考验的逻辑单元或模块。接 着进行电路设计,逻辑图将进一步转换成电路图,在很多情况下,这时需进 行硬件仿真,以最终确定逻辑设计的正确性。最后是进行版图设计,即将电 路图转换成版图。 2、硬件描述语言( HDL) 用硬件描述语言进行电路与系统的设计是 当前 EDA 技术的一个重要 特征。与 传统的原理图输入设计方法相比较,硬件描述语言更适合规模日 益增大的电子系统,它还是进行逻辑综合优化的重要工具。硬件描述语言使 得设计者在比较抽象的层次上描述设计的结构和内部特征。它的突出优点是: 语言的公开可利用性;设计与工艺的无关性;宽范围的描述能力;便于组织 大规模系统的设计;便于设计的复用和继承等。目前最常用的硬件描述语言 有 VHDL 和 Verilog-HDL,它们都已经成为 IEEE 标准。 3、逻辑综合和优化 逻辑综合功能将高层次的系统行为设计自动翻译成门级逻辑的电路描述, 做到了设计与工艺的独立。优化则是对于上述综合生成的电路网表,根据布 尔方程功能等效的原则,用更小、更快的综合结果代替一些复杂的逻辑电路 单元。根据指定的目标库映射成新的网表。 4、开放性和标准性 框架是一种软件平台结构,它为EDA 工具提供了操作环境。框架的关 键在于提供与硬件平台无关的图形用户界面以及工具之间的通信、设计数据 和设计流程的管理等,此外还应包括各种与数据库相关的服务项目。任何一 个 EDA 系统只要建立了一个符合标准的开放式框架结构,就可以接纳其他 厂商的 EDA 工具一起进行设计工作。这样,框架作为使用和配置EDA 第一章 绪 论 - 5 - 软件包的规范,就可以实现各种EDA 工具间的优化组合,并集成在一个 易于管理的统一的环境之下,实现资源共享。 近年来,随着硬件描述语言等设计数据格式的逐步标准化,不同设计风 格和应用的要求导致各具特色EDA 工具被集成在同一个工作站上,从而 使 EDA 框架标准化。新的 EDA 系统不仅能够实现高层次的自动逻辑综合、 版图综合和测试码生成,而且可以使各个仿真器对同一个设计进行协同仿真, 进一步提高了 EDA 系统的工作效率和设计的正确性。 1.4 EDA技术的开发工具 EDA 工具是指以工作站或者高档计算机为基本工作平台,利用计算机 图形学,拓扑逻辑学、计算机教学和人工智能等多种应用学科的最新成果而 开发出来的一套软件工具,它是一种帮助设计工程师进行电子产品或者电子 系统设计的辅助工具。 EDA 工具在 EDA 技术应用中占据极其重要的位置, EDA 的核心是利用计算机完成电子设计全程自动化,因此,基于计算机环 境的 EDA 软件的支持是必不可少的。 目前,EDA 技术的开发工具包括编辑器、仿真器、检查/分析工具和 优化/综合工具等。其中优化 /综合工具是指用来完成优化功能和逻辑综合功 能的一种开发工具。其中,优化功能是指根据布尔方程功能等效的原则,采 用不同的优化方法来对设计进行优化操作,从而提高设计的性能和占用较少 的资源;逻辑综合功能是将抽象描述转化成电路网表或者一组逻辑方程的形 式,目的是方便设计系统的具体电路实现。 1.5 EDA技术的设计语言 1.5.1 EDA 技术的设计语言的介绍 EDA 技术的设计语言是硬件描述语言,它采用软件编程的方法来描述 电子系统逻辑功能、电路结构和连接方式等。利用硬件描述语言设计电子系 统要比传统的原理图法简洁、准确、方便;同时它可以对电子系统的设计进 第一章 绪 论 - 6 - 行不同层次、不同领域的仿真验证和综合优化等处理,从而实现设计的高度 自动化。 目前国内外硬件描述语言的种类比较多,其中广泛应用的硬件描述性语 言有 ABEL、AHDL、Verilog HDL 和 VHDL。本次设计中采用 VHDL 语 言。原因是由 VHDL 强大的自身功能和特点决定的。 VHDL 语言作为一 种标准的硬件描述语言,具有结构严谨、描述能力强的特点,支持从系统级 电路到逻辑门级电路所有层次的设计,适合于复杂逻辑电路和系统的设计。 作为一种高级硬件描述语言, VHDL 语言特点如下: 1、具有强大的描述能力:与其它的硬件描述语言相比,VHDL 具有 更强的行为描述能力。既可描述系统级电路,也可以描述门级电路;既可采 用行为描述、寄存器传输描述或者结构描述,也可采用三者的混合描述方法; 同时它也支持惯性延迟和传输延迟,可以方便的建立电子系统的模型。强大 的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电 子系统的重要保证。就目前流行的EDA 工具和 VHDL 综合器而言,将基 于抽象的行为描述风格的 VHDL 程序综合成为具体的 FPGA 和 CPLD 等 目标器件的网表文件已不成问题,只是在综合与优化效率上略有差异。 2、具有共享与复用的能力: VHDL 采用基于库的设计方法。库中可存 放大量的预先设计或以前项目设计中曾经使用过的模块,这样设计人员在新 项目设计过程可以直接复用这些功能模块,从而大大减少了工作量,缩短了 开发周期。 3、具有独立于器件和工艺设计的能力: VHDL 允许设计人员生成一 个设计而并不需要首先选择一个用于实现设计的器件;对于一个相同的设计 描述,设计人员实际上可以采用不同的器件结构来实现设计描述的功能。同 样,如果设计人员需要对设计进行资源利用和性能方面的优化,这样也不要 求设计人员非常熟悉器件的内部结构。 4、具有良好的可移植能力: VHDL 的可移植能力体现在:对于同一个 设计描述,它可以从一个仿真工具移植到另一个仿真工具进行仿真;可以从 第一章 绪 论 - 7 - 一个综合工具移植到另一个综合工具进行综合;可以从一个操作平台移植到 另一个操作平台上执行。同一个设计描述可以被不同的工具所支持。 5、具有良好的性能评估能力;独立于器件和工艺的设计和可移植性允 许设计人员采用不同的器件结构、工艺水平和综合工具等来对自己的设计进 行评估。在开始具体的设计描述以前,设计人员并不需了解该采用何种逻辑 器件。设计人员可以采用 VHDL 进行一个完整的设计描述,同时可以对它 进行综合,生成选定器件结构的逻辑功能;然后再对设计结果进行评估,从 而选择适合于设计要求的逻辑器件。 6、具有向 ASIC 移植的能力;由于高密度现场可编程逻辑器件具有很 好的灵活性,因此非常适合于短研制周期、小批量产品开发,同样也可用于 大批量产品的研制。如果设计的目标是想将设计综合到高密度现场可编程逻 辑器件中,那么, VHDL 可以高效的使设计产品快速上市 。 1.5.2 VHDL 程序基本结构 一个相对完整的 VHDL 程序(或称为设计实体)具有如图1-1 所示的 比较固定的结构。至少应包括三个基本组成部分:库、程序包使用说明,实 体说明和实体对应的结构体说明。其中,库、程序包使用说明用于打开(调 用)本设计实体将要用到的库、程序包;实体说明用于描述该设计实体与外 界的接口信号说 明,是可视部分;结构体说明用于描述该设计实体内部工 作的逻辑关系 ,是不可视部分。 如何才算一个完整的 VHDL 程序(设计实体),并没有完全一致的结 论,因为不 同的程序设计目的可以有不同的程序设计结构,通常认为,一 个完整的 设计实体的最低要求应该能为VHDL 综合器所接受,并能作为一 个独立设计单元,即以单元的形式存在的VHDL 程序。这里所谓的元件, 既可以被高层次的系统所调用,成为该系统的一部分,也可以作为一个电路 功能块独立存在和独立运行。 第一章 绪 论 - 8 - 图 1-1 VHDL 程序设计基本结构 1.6 CPLD简介 复杂可编程逻辑器件( CPLD, Complex Programmable Logic Device) 是在 EPLD(Erasable Programmable Logic Device)的基础上改进而发展起来 的,大多采用 CMOS EPROM/EEPROM 和快闪存储器等编程技术,因而具 有高密度、高速度和低功耗等优点。与EPLD 相比,CPLD 增加了内部连 线,并对逻辑宏单元和 I/O 单元做了重大改进,从而改善了系统的性能, 提高了器件的集成度。尤其是在CPLD 中引入系统编程( ISP,In System Programmable)技术后,使 CPLD 的应用更加方便灵活,深受设计人员的 青睐,现已成为电子系统设计的首选器件之一。 目前,生产 CPLD 器件的著名公司主要有 Altera、AMD、Lattice、Cypress、Xilinx 等公司。所生产的产品多种多样, 器件的结构也有很大的差异,但大多数公司的CPLD 仍使用基于乘积项的 阵列型单元结构。例如 Altera 公司的 MAX 系列 CPLD 产品、Xilinx 公司 和 Lattice 公司的 CPLD 产品都采用可编程乘积项阵列结构。 1.6.1 CPLD 结构与工作原理 基于乘积项阵列型 CPLD 的基本结构如图 1-2 所示,主要有可编程内 部连线、逻辑块和 I/O 单元组成。 第一章 绪 论 - 9 - 图 1-2 基于乘积项阵列型 CPLD 的基本结构 1、可编程逻辑宏单元 逻辑宏单元内部主要包括与或阵列、可编程触发器和多路选择器等电路, 能独立地配置为时序或组合工作方式。 CPLD 除了密度高之外,许多优点 都反映在逻辑宏单元上。表现在多触发器结构和“隐埋”触发器结构、乘 积项共享结构、异步时钟和时钟选择上等。 2、可编程 I/O 单元 I/O 单元是内部信号到 I/O 引脚的接口部分。由于阵列型CPLD 通常 只有少数几个专用输入端大部分端口均为I/O 端,而且系统的输入常常需 要锁存,因此 I/O 常常作为一个独立的单元来处理。 3、可编程连线阵列 可编程连线阵列的作用是在各逻辑宏单元之间以及逻辑宏单元和I/O 单元之间提供互连网络。各逻辑宏单元通过可编程连线阵列接受来自专用 输入或输出 端的信号,并将宏单元的信号反馈到其需要到达的目的地。这 种互连机制有很大的灵活性,它允许在不影响引脚分配的情况下改变内部的 设计。 本设计中使用 Altera 公司提供的 PLD 系列产品中的 FLEX10K 系列器 件,它是高密度阵列嵌入式可编程逻辑器件系列。主要有嵌入式阵列快 第一章 绪 论 - 10 - EAB(Embedded Array Block)、逻辑阵列块 LAB(Logic Array Block)、行列 快速互连通道和 I/O 单元几部分组成。其中逻辑阵列块是由多个逻辑单元 LE(Logic Element)构成。 逻辑单元 LE 是 FLEX10K 系列器件结构中最小的逻辑单元,每个LE 含有一个提供 4 输入组合逻辑函数的查找表( LUTLook Up Table), 以及一个能提供时序逻辑能力的可编程寄存器。每8 个 LE 组成一组,构 成一个逻辑阵列块 LAB。每个 LAB 在器件中是独立的一个模块, LAB 中的 LE 具有共同的输入、互连与控制信号。同一模块的电路一般安排在同 一 LAB 中,因此只有少部分输入和输出使用行列快速互连通道,从而降低 了逻辑阵列规模。 嵌入阵列块 EAB 是由 RAM/ROM 和相关的输入、输出寄存器构成。 它可提供 2048 位片内寄存器。 EAB 也可编程作 为大型的复杂逻辑功能查 找表,实现乘法器、微控制器、状态机、数字信号处理等复杂的逻辑功能。 在 FLEX10K 系列器件中, LAB 和 EAB 排成行与列,构成二维逻辑阵 列。位于行和列两端的 I/O 单元。每个 I/O 有一个双向的 I/O 缓冲器和以 即可作输入寄存器也可作输出寄存器的触发器。FLEX10K 系列器件内部 信号的互连是通过行列快速互连通道和LAB 局部互连通道实现的 。 1.6.2 CPLD 的开发流程 基于 EDA 软件的 CPLD 一般性的开发流程如下: (1) 工程师根据 “自顶向下 ”的设计方法进行系统层次化分 ; (2) 输入 VHDL 代码。也可采用比较直观的图形输入方式设计输入; (3) 将以上的设计输入编译成标准的VHDL 文件; (4) 进行代码 级的功能仿真(不涉及硬件结构),主要是检验系统 功能设计的正确性; (5)利用综合器对 VHDL 源代码进行综合优化处理,生成门级描述的 网络表文件; 第一章 绪 论 - 11 - (6)时序仿真 ; (7)适配(产生下载文件、仿真文件、适配技术报告); (8)下载到 FPGA 器件。 1.7常用EDA开发软件MAX+PLUS简介 MAX+PLUS是 Altera 公司推出的第三代 CPLD/FPGA 应用开发系统, 它将用户所设计的电路原理图或电路描述转变为CPLD/FPGA 内部的基本 逻辑单元,写入芯片中,从而在硬件上实现用户所设计的地电路。 MAX+PLUS的具体功能主要包括:支持原理图和文本 (AHDL、VHDL、Verilog HDL)设计;自带综合器、仿真器;支持波形 输入;支持波形模拟;时间分析;编译及下载。特别在原理图输入方面,可 以说是最容易使用,尤其适合初学者使用,因为它具有运行速度快,界面统 一,功能集中,易学易用等特点。 MAX+PLUS界面友好,使用方便、易 用易学; 它支持层次化设计,可以在一个新的编辑输入环境中对使用不同 输入设计方式完成的工程模块(元件)进行调用,从而解决了原理图与 HDL 混合输入设计的问题。在设计输入后, MAX+PLUS的编辑器将给 出设计输入的错误报告。 MAX+PLUS拥有良好的设计错误定位器,用于 确定文本或图形设计中的错误。 它的器件系列从最初的 Max 系列到最新的 FLEXIOK 系列,从 500 门 到 10 万门提供了满足各种条件需要的一系列器件。其中最为先进的 FLEX 系列采用独特的快通道技术,使得器件的可预测性大大增强,速度也 得到提高,资源利用率达 70%左右时, FLEX1OK 系列可以提供 70MHz 左右的工作速度。 MAX+PLUS结合各种系列器件的物理结构,提供了各 种的优化措施,以在提高工作速度和资源利用率之间给以平衡。从而对大多 数设计提供解决方案。利用该工具所配备的编辑、编译、仿真、综合、芯片 编程等功能,可将设计电路图或电路描述程序变成基本的逻辑单元写入到可 编程的芯片中 (如 CPLD 芯片),做成 ASIC 芯片。MAX+PLUS具有的新、 旧宏功能模块及在平台的帮助菜单,十分便于设计者运用这些模块完成较复 杂的设计。 第一章 绪 论 - 12 - 用户首先对所做项目进行设计,明确设计目的、设计要求;然后利用原 理图输入方式或文本输入方式进行 设计输入输出 完成后,进行编译,若 编译过程中发现错误,则检查设计输入,修改编码,直至没有错误发生 : 编译完成后,就可以进行仿真, MAX+PLUS具有门级仿真器,可以进行 功能仿真和时序仿真,能产生精确的仿真结果,检查设计是否达到设计要求, 否则还需要重新检查设计输入 ; 在适配( Fitter)之后, MAX+PLUS生 成供时序仿真用的不同格式的网表文件。在进入编译网提取功能后, MAX+PLUS将从适配文件中提取 SNF 时序仿真文件 Simulation Netlist File(仿真网表文件)。 SNF 文件详细记录了当前适配的延时和逻辑功能 的信息,可用于对设计进行时序仿真。在作仿真前,需要利用波形编辑器编 辑一个波形激励文件,用于仿真验证时的激励。编译和仿真经检验无误后, 就可以进行烧录,把设计程序下载到目的芯片中;最后把芯片放到实际系 统中进行验证、测试。 MAX+PLUS借助 EDIF 网表文件, SRAM 目标文 件(.sof), LPM 和 VHDL 能与 Candence, Mentor Graphics, Or CAD, Synopsys, Synplicity 和 Viewlogic 等公司提供的其他多种 EDA 工具接口。 MAX+PLUS编译器可在 PC 机及各种工作站平台上运行,这使 MAX+PLUS成为工业界唯一与平台和结构无关的可编程逻辑设计环境。 由于本设计过程中主要用到文本输入所以这里就介绍文本输入的基本操 作首先选择菜单 “File”“New” ,出现一个对话框,在框中选中 “Text Editor file”,按“OK”按钮,即选中了文本编辑方式。在出现的 “Untitled- Text Editor”文本编辑窗口中输入程序 。输入完毕后,选择菜单 “FileSave”,首先在 “Directories”目录中选择存放本文件的目录,然后在 “File Name”框中输入文件名, 此时要注意,文件名的后缀是 “.vhd”,然 后按“OK”按钮,即把输入的文件放在 “Directories”目录中了。 文件的后缀 名将决定使用的语言形式,在MAX+PLUS中,后缀为 .VHD 表示 VHDL 文件;后缀为 .TDF 表示 AHDL 文件;后缀为 .V 表示 Verilog 文件。 文件存盘后,需要进行编译、仿真。此时先选择“FILE” “PROGECT”“SET PROGECT TO CURRENT FILE”即将当前文件 第一章 绪 论 - 13 - 设为当前工程。然后在选择 “MAX+PLUS”“compiler”,之后再点 击“start”进行编译。在编译之前,可先进行功能仿真。在点击 “compiler”之后,在菜单栏中选择 “processing”,出现下拉菜单,在 “Function SNF extractor”前打对号即选择了功能仿真,再 开始编译。此 时若会提示有无错误,若无错误则编译成功,否则就会出现错误提示,我 们可根据提示进行修改,直到无错误为止。之后,再去掉“Function SNF .extractor”前的对号,进行时序仿真。 为了能在图形编辑器中调用我们所需要的模块,需要为 次模块创建一 个元件图形符号。选择菜单 “File”“Creat Default Symbol”, MAX+PLUS出现一个对话框,询问是否将当前工程设为我们所需要的 文件,可按下 “确定”按钮。这时 MAX+PLUS调出编译器对 刚才的文件 进行编译,编译后生成 对应的图形符号。如果源程序有错,要对源程序进 行修改,重复上面的步骤,知道此元件符号创建成功。成功后出现元件符号 创建成功的对话框。退出编译器,再退出编译器,回到主窗口。 第二章 方案选择与系统结构 - 14 - 第二章 方案选择与系统结构 2.1信号控制器的方案选择 随着计算机、集成电路等技术的发展与不断完善,电子产品的设计方法也 越来越多样化。在交通灯信号控制器设计过程中由于考虑到器件选择、设计规 模、电路功耗、设计是否简单可靠等诸多因素,设计方案选择如下: 方案一:采用数字逻辑电路制作,用 IC 拼凑焊接实现。其特点是直接用 现成的 IC 组合而成,简单方便,但由于使用的器件较多,连线复杂,体积大, 功耗大,焊点和线路较多将使成品稳定度与精确度大打折扣。 方案二:采用单片机实现,通过软件编程,仿真后将程序用编辑器写入到 单片机芯片上,该方案成本低,稳定度好,但外围电路也较多,调试不够直观 方便灵活。 方案三:采用可编程逻辑器件(PLD)制作,利用 EDA 软件编程,下载实 现。将所有器件集成在一块芯片上,体积大大减小的同时,还提高了稳定性, 并且可应用 EDA 软件仿真,调试,每个设计人员可以充分利用软件代码,提 高开发效率,缩短研发周期,降低研发成本。易于进行功能扩展,可以利用频 率计的核心技术,改造成其它成品。实现方法灵活,调试方便,修改容易。 比较以上几种方案,易见采用方案三更优。 根据设计的规模及实现可操作性,方案三的设计中具体方法与器件的选择 如下: 可编程逻辑器件(PLD)包括复杂可编程逻辑器件(CPLD)和现场可编程门阵 列(FPGA) ,两者的功能基本相同,只是实现原理略有不同。CPLD 最早由 Altera 公司推出,多为 Flash、EEPROM 架构或乘积项架构的 PLD。FPGA 最早 由 Xilinx 公司推出,多为 SRAM 架构或查表(Look Up Table)架构,需要外 接配置用的 EPROM 下载。两者的比较如下: 1、CPLD 与 FPGA 的相同点 CPLD 与 FPGA 在很大程度上具有类似之处,概括起来可以 认为它们都是 由三个部分组成:输入/输出单元、二维逻辑块阵列(是 PLD 器件的逻辑组成 的核心) 、可编程内部连线。 第二章 方案选择与系统结构 - 15 - 2、CPLD 与 FPGA 的差别 CPLD 与 FPGA 的差别主要表现在以下几个方面 (1)根据 CPLD/FPGA 的结构,可以把 CPLD 看成是由多个可编程阵列逻 辑(PAL)器件集成到一个芯片,具有类似 PAL 的结构,而 FPGA 则具有类似 门阵列或者类似 ASIC 的结构。 (2)FPGA 通常采用 CMOS SRAM 工艺,因此单元电路逻辑需上电配置, 掉电后配置数据丢失,芯片功能随之丢失。CPLD 器件是 GAL 技术发展而来, 其中关键技术是 EECOMS。即点可擦除 CMOS 工艺,使器件可以长期保存数 据。 (3)CPLD 采用现场在系统编程的方法为器件定义功能;而 FPGA 采用了 在线重构配置的方法为器件定义功能。 (4)FPGA 通过静态随机存储器以查表方式来实现具有固定数目输入与输 出的任何组合逻辑函数,而 CPLD 是由结构类似掩模式可编程阵列逻辑功能块 排列成的阵列组成,并通过可编程的内部连线链接这些逻辑功能块来实现不同 的设计。FPGA 器件体积小,集成化程度高。 由于 CPLD/DPGA 在内部结构上的差别,因而在功能与性能上有其特点, 具体如下: (1)CPLD 特殊的内部连线结构使其具有较高的内部连线成功率;而 FPGA 有有限的布线线段,因此 CPLD 比 FPGA 更适合电子系统设计自动化中 芯片级设计的验证。 (2)CPLD 内连续性的布线结构使其时序延迟具有均匀性和可预测性;而 PFGA 具有的分布线结构使其时序延迟具有不可预测性。 (3)CPLD 比较适合于实现各种算法和组合逻辑;而 FPGA 比较适合于有 时序逻辑较多的电路。 基于上述 CPLD 与 FPGA 有这么多的异同点,根据其各自结构、功能等特 点,以及交通灯的产品规模、耗费实际因素,选择本设计应用 CPLD 来实现。 2.2系统整体构架 由于本系统是基于 CPLD 的交通灯控制器,所以采用自顶向下(top 第二章 方案选择与系统结构 - 16 - down)设计方法。在本次设计中总共分以下几级: 第一级分为五个子系统:控制模块 JTD_CTRL、计时模块 JTD_TIME、译码 驱动模块 JTD_LIGHT、显示模块 JTD_DIS、分频器模块 JTD_FQU。 第二级分为其它辅助模块:硬件分频器模块、键盘控制模块、驱动电流模 块、数码管显示模块、指示灯显示模块。 它的工作过程如下:晶体振荡器产生的高频脉冲波形经分频器实现分频, 为控制器部分提供时钟信号,同时为动态扫描电路和键盘控制信号提供 1kHz 的时钟脉冲。正常情况下键盘按键选择使 M2M1M0=100,是交通灯正常状态, 灯的循环显示顺序为:左拐弯黄灯绿灯黄灯红灯左拐弯,出现特殊 情况时,通过按键可选择方式一到方式四中的任何一种,停止正常运行,进入 特殊运行状态。特殊情况运行完再切换回来。这种键盘式的设计方法比较灵活 机动。电源经三极管被放大,为控制器提供驱动功率。控制器在驱动功率的驱 动下,根据接收到的键盘信号请求及时钟信号作用,使数码管进行倒计时显示 和红黄绿灯的交通指示,信号控制器的功能得到实现。 图 2-1 系统电路原理框图 第三章 信号控制器模块的设计 - 17 - 第三章 信号控制器模块的设计 本次设计的核心部分是对信号控制器的设计,是设计的重点。对于交通灯 控制器,本设计是基于 MAX+PLUS II 开发软件,采用层次化混合输入方式进 行设计,即顶层采用原理图设计,底层采用 VHDL 语言设计。 根据设计要求和系统所具有的功能,交通灯控制器系统框图如下: 3-1 交通灯控制器系统框图 系统框图由五个部分组成:控制模块 JTD_CTRL、计时模块 JTD_TIME、 译码驱动模块 JTD_LIGHT、显示模块 JTD_DIS、分频器模块 JTD_FQU。 其中,CLR 为系统总复位,M2M0 为系统工作方式设置输入信号,CLK 为秒脉冲信号,ag 为七段显示的段码输出,sel3sel0 为数码管的位码输出。 控制电路:根据 M2M0 信号,产生系统状态,控制其他部分协调工作。 计时电路:按照交通灯的灯亮时间和灯亮顺序,设定 A 和 B 两个方向的计 时器的初值,以及在秒脉冲 CLK 的作用下进行减 1 的计数,并为扫描电路提 供倒计时时间。 扫描显示电路:对计时电路的输出计时信号进行选通、译码,实现倒计时 的动态显示。 第三章 信号控制器模块的设计 - 18 - 译码驱动电路:根据电路的控制信号,驱动交通灯红黄绿灯的显示,指导 车辆和人们按规则有秩序的通过十字路口。 根据设计要求,该系统共有五种工作方式,由 M2M0 设定。具体设定如 下: 当 M2M1M0=000 时,系统工作在方式一,即 A 方向左拐灯长时间亮, B 方向红灯亮,允许 A 方向左转车辆通行。 当 M2M1M0=001 时,系统工作在方式二,即 A 方向绿灯长时间亮,B 方向红灯亮,允许 A 方向车辆直行。 当 M2M1M0=010 时,系统工作在方式三,即 B 方向左拐灯长时间亮, A 方向红灯亮,允许 B 方向左转车辆通行。 当 M2M1M0=011 时,系统工作在方式四,即 B 方向绿灯长时间亮,A 方向红灯亮,允许 B 方向车辆直行。 当 M2M1M0=100 时,系统工作在方式五,即自动工作方式,两个方向 的灯按照显示顺序,交替循环显示。 当系统处于自动运行(方式五)时,其交通灯的状态转换表如表 3-1 所示。 A 和 B 两个方向的的左拐、黄灯、绿灯和红灯分别用 al、ay、ag、ar 和 bl、by、bg、by 表示。从状态转换表可以看出,每个方向的四盏灯依次点亮并 不断循环。亮灯的状态由 S1S2 S3 S4 S5 S6 S7 S0 S1 不断循 环。显示的时间要求:al+ay+ag+ar=65s,bl+by+bg+br=55s。 表 3-1 交通灯状态转换表 状态 SS1S2S3S4S5S6S7S0 A 方向左拐 al黄灯 ay绿灯 ag黄灯 ay红灯 ar红灯 ar红灯 ar红灯 ar 亮灯时间15s5s40s5s55s B 方向红灯 br红灯 br红灯 br红灯 br左拐 bl黄灯 by绿灯 bg黄灯 by 亮灯时间65s15s5s30s5s 当出现特殊情况时,可选择方式一到方式四中的任何一种方式,停止正常 运行,进入特殊运行状态。此时交通灯按照工作方式,计时电路停止计时,计 时时间闪烁显示。当特殊运行结束后,系统继续正常工作。 第三章 信号控制器模块的设计 - 19 - 当系统总复位时,控制电路和计时电路复位,信号灯全部熄灭。 3.1控制模块JTD_CTRL的设计 正常状态时,控制器工作于方式五。有特殊情况时,通过对输入信号 M2M0 的选择实现控制器工作方式的转换。对输入信号 M2M0 的选择通过高 低电平控制来实现。控制模块根据外部输入信号 M2M0 和计时模块 JTD_TIME 的输出信号控制其它部分协调工作。这个模块主要由中心模块 JTD_CTRL 实现,如下图示: 图 3-2 控制模块 控制模块的源文件程序如下: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论