基于cpld的路灯控制系统设计内容摘要:

的电路框图 a b a y clk clk1 clk sell(02) r clk g y tim1(03) timh(03) r clk g y timl(03) timh(03) clk y ≥ 1 sel(02) do(03) d1(03) q(03) d2(03) d3(03) d(03) 1 amp。 clkyk sel fen clk xiaopro no fen2 amp。 sell(02) r1 g1 y1 corna cornb q(06) dispa & r2 g2 y2 ≥ 1 1 & & ch41a Reset 11 交通灯控制器 分频单元 消抖单元 控制器单元 片选单元 同步显示单元 特殊控制单元 图 37 层次化设计中单元层次的结构框图 控制器单元中,定时模块设置 25S, 20S, 5S 计时电路,倒计时可以用减法计数器实现。 系统工作状态转换表,如表 31 所示: 表 31 系统工作状态转换表 状 态 A 干道 B 干道 时间 /S S1 绿灯亮,允许通行 红灯亮,禁止通行 20 S2 黄灯亮,停车 红灯亮,禁止通行 5 S3 红灯亮,禁止通行 绿灯亮,允许通行 20 S4 红灯亮,禁止通行 黄灯亮,停车 5 S5 红灯亮,禁止通行 红灯亮,禁止通行 / 交通灯有五种工作状态:状态一为 A 干道通行、 B 干道禁止,状态二为 A 干 道停止、 B 干道禁止,状态三为 A 干道禁止、 B 干道通行,状态四为 A 干道禁止、B 干道停止,状态五为 A 干道禁止、 B 干道禁止。 由控制器计数控制各状态之间的转换,其工作流程图如图 38 所示: 12 图 38 交通灯工作流程图 A 干道通行, B 干道禁止 Reset=1? T=20s? A 干道停止 , B 干道禁止 Reset=1? T=5s? A 干道禁止, B 干道通行 Reset=1? T=20s? A 干道禁止, B 干道停止 Reset=1? T=5s? A 干道禁止, B 干道禁止 S1 S2 S3 S4 S5 Y N N Y Y N Y N Y Y N Y N N Y N 13 使用振荡频率为 10000Hz 的晶体振荡器,稳定度高,经 fen 模块分频后得到1Hz 的秒脉冲,经 fen2 模块分频后得到 2Hz 的脉冲,分频器以计数方式实现。 采用 fen 模块进行分频产生占空比为 1: 10000 的 方波,并且与两个消抖同步模块 xiaopro 联合使用;用模块 fen2 将时钟进行 5000 分频,得到占空比为 1: 1 的方波,以实现紧急情况时的倒计时闪烁 [7]。 VHDL 程序见第 21 页附录一。 特殊控制单元设计 特殊情况控制采用外部按键输入方式,当外部输入 Reset 置高时有效。 当任意一条路上出现特殊情况,各方向均点亮红灯,倒计时停止,且显示数字在闪烁。 只有在特殊运行情况结束后,控制器恢复原来状态,继续正常运行。 倒计时显示数字闪烁由 fen2 模块实现,紧急情况与正常情况的转换由 no 模块实现。 VHDL程序见第 22 页附录二。 消除抖动单元设计 如果使用机械式键盘,由于存在机械触动的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时候也不会马上断开,因而在闭合及断开按键的瞬间均伴随有一连串的抖动。 抖动时间的长短由按键的机械特性决定,一般为5~10ms。 按键的闭合稳定时间的长短由操作人员的按键动作决定,一般为零点几秒至数秒。 按键抖动会引起按键被误读多次,为了确保 CPLD 对键的闭合仅作一次处理,必须去除按键抖动 [8]。 因此,为消除手的抖动,增加了消抖 xiaopro模块,通过延时来实现该功能。 VHDL 程序见第 22 页附录三。 控制器单元设计 该单元是系统的核心模块,用两个模块 corna、 cornb 分别来实现两组三种颜色信号灯的交替点亮、时间的倒计时控制。 系统要进行 25S、 20S、 5S 3 种定时,定时计数器采用倒序计时的方式,以秒为单位倒计时,当计数值减为零时,主控电路改变输出状态,电路进入下一个状态的倒计时。 VHDL 程序见第 23 页附录四。 片选单元设计 交通灯控制系统中,有四个数码管来显示倒计时,两个用于 A 干道个位与十位倒计时,两个用于 B 干道个位与十位倒计时,相应的控制由 sel 模块产生对数码管的片选信号。 VHDL 程序见第 25 页附录五。 同步显示单元设计 dispa 模块将十进制数转换为七段数码管需要的数据,即把计数器输出的信号 d(03)进行译码,输出译码信号 q(06),与 LED 数码管相连,由数码管显示当前的计数值。 ch41a 模块将不同数码管要显示的数据在与片选信号相同的时间送到端口,实现同步显示。 VHDL 程序见第 26 页附录六。 14 门电路的设计 在该系统中,正常情况与特殊状况转换时,红黄绿灯的变化,倒计时的闪烁,都需使用门电路。 按键输入高电平有效,当有特殊情 况时亮红灯,因此正常情况与特殊状况转换时,红灯的连接用与门,黄灯绿灯均灭,用非门或门连接。 VHDL程序见第 28 页附录七。 第四章 仿真分析 仿真运行是 HDL的强大功能之一 ,虽然与现场环境不可能完全一致 ,但可以帮助设计者解决逻辑错误 ,如果在设计时能够将器件时序和时延时间考虑完整 ,并作好准确的描述 ,就可以最大程度的模拟真实环境 ,对最后生成的电路改动较少 ,节约了成本 [9]。 在 MAX+PlusⅡ 的文本编辑器中完成源程序的设计,接着对其进行编译。 选MAX+PlusⅡ 菜单下的 Compiler 打开编译 窗口,此时的编译窗口中有 Compiler Netlist Extractor、 Database Builder、 Logic Synthesizer、 Partitioner、Fitter、 Timing SNF Extractor、 Assembler 共七个模块,包括了综合、布线到生成下载文件的整个过程。 选择好了器件及其他细节要求,可以按 START 键开始编译了。 编译通过,只能说明源文件没有语法错误,尚不能确定功能是否正确 ,要检验是否能完成预定的功能,可对其进行仿真。 各模块仿真波形如 图 41 到图411 所示: 图 41 fen模块 仿真结果图 该模块对时钟信号进行分频,当计数器计到 9999 时, clk1 电平发生跳变,得到 1Hz 的秒脉冲,用于控制器内的倒计时计数。 15 图 42 fen2 模块仿真结果图 该模块也是对时钟信号进行分频,得到 2Hz 的脉冲,实现紧急情况的倒计时闪烁。 图 43 no 模块仿真结果图 该模块实现紧急情况与正常情况的转换,当 a 上升沿到时,输出 y 的状态发生变化。 图 44 xiaopr 模块仿真结果图 该模块通过延时来消除手的抖动。 16 图 45 corna 模块仿真结果图 该模块是核心部分,由内部计数控制三种信号灯的亮灭。 当计数达到 20 秒时,绿灯灭,黄灯亮,与此同时,另一方向一直亮红灯, 5 秒后,变为红灯亮,而另一方向改为绿灯亮,如此循环。 图 46 sel 模块仿真结果图 该模块产生对数码管的片选信号。 17 图 47 ch41a 模块仿真结果图 该模块将不同数码管要显示的数据在与片选信号相同的时间送到端口。 sel0、 sel sel2 片选信 号输入, d0、 d d d3 是四个数码管要显示的数据。 图 48 dispa 模块仿真结果图 该模块通过译码,实现七段数码管的显示,将十进制数转换为七段数码管需要的数据。 18 图 49 与门仿真结果图 a、 b 为输入, y 为输出, a、 b 相与的结果由 y 输出,由于信号赋值有延时,所以输出有延时。 图 410 或门仿真结果图 观察该仿真图,可见实现了或门的功能。 图 411 非门仿真结果图 当输入为高电平时,输出为低电平,输入为低电平时,输出为高电平 ,仿真结果正确。 所有仿真结果表明,各模块功能正常,本设计按要求实现了对交通灯的控制。 把程序下载到 EP1C6 芯片后,装载入设计好的硬件电路,发现电路工作正常,控制结果能达到相应的要求。 19 第五章 结束语 VHDL语言设计的出现从根本上改变了以往数字电路的设计模式 ,使电路由硬件设计转变为软件设计 , 这样提高了设计的灵活性 ,降低了电路的复杂程度 ,修改起来也很方便 [10]。 用 VHDL语言设计该系统,整个设计过程相对于传统的设计方法,有较大的突破,主要体现在: (1)VHDL的设计采用自顶向下的设计法。 这种 模块化、逐步细化的方法有利于系统的分工操作,并且能够及早发现各子模块及系统中的错误,提高系统设计的效率。 (2)VHDL有非常丰富的数据类型:位、位矢量、标准逻辑位、标准逻辑矢量、整数、实数、布尔等,可以非常灵活地描述系统总线和实现算法。 (3)VHDL引入工作库,存放各种已编译的资源,使得一个设计的子模块可以被另一设计引用,达到资源共享的目的。 (4)VHDL是标准化硬件描述语言,屏蔽了具体工艺及器件的差异,不会因工艺及器件的变化而变化。 同时由于 VHDL是国际标准,易于 ASIC和 EDA领域的国际交流。 VHDL作为先进的硬件描述语言,以其灵活、简洁的设计风格在电路设计中发挥着越来越重要的作用 [11]。 本系统是利用 Altera公司的 FPGA芯片 EP1C6在 Max+PlusⅡ 软件平台上设计的交通灯控制系统。 它的优点是 FPGA具有用户可在线编程、时序可预测、速度高和容易使用,电路变的简单明了;其缺点是目前 FPGA芯片价格比单片机芯片要高。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。