完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
随着我国经济的快速发展,车辆拥有量也随之急剧增加,再加上人口数量的膨胀,城市的交通拥挤问题变得日益突出。如何使交通灯的控制更加合理,使现有的交通资源发挥更大的效益,已经成为城市管理者和科技工作者共同关心的问题。为此,我们设计开发了一个交通灯控制系统,由于该系统采用VHDL语言自顶向下的设计方法,利用可编程逻辑器件CPLD来实现,通过外部输入可方便地设定交通灯的延迟时间,使交通灯控制数字电路设计得到了优化,提高了系统的灵活性、可靠性和可扩展性。该系统可以较好地缓解交通压力,并可实现对突发事件进行紧急处理。
在数字系统设计领域,电子设计自动化(EDA)工具已经成为主要的设计手段,随着硬件描述语言VHDL和可编程逻辑器件CPLD的广泛应用,使数字电路的设计得到了优化,并且具有很强的设计和仿真功能。 1 系统原理及方案 交通信号灯是由交通灯控制器控制其红绿灯周期变化的,现在的大部分十字路*通灯采用的都是固定周期,由于实际路况较为复杂,不能有效地实时对时间资源的合理调配,达到缓解交通的目的。本文设计的交通灯控制系统的周期可以改变,黄灯和东西方向以及南北方向红灯时间由外部输入设定,绿灯由系统依据设定值自动计算。 交通灯控制器控制两个方向交叉路口的交通,以秒为单位,采用倒计时的方式显示通行或者禁止通行的剩余时间。系统设置外部输入复位信号,复位信号有效时,控制信号处于东西方向绿灯状态,并读取设定输入值,再将复位信号返回无效状态后,系统按新读入的设定值运行,绿灯变至红灯时,黄灯亮,以便于车辆能停在停车线内。如果能够与传感器相结合就具有智能功能,能够根据当时的路况的随时做出相应的调整。交通灯工作时序见图1。 交通灯在东西南北方向安装信号灯和数码管,两个方向共6个信号灯,4个数码管。下表1是交通灯控制系统红灯与黄灯可供改变的值。 2 系统硬件设计 复杂可编程器件(CPLD)采用CMOS EPROM、E2PROM和快闪存储器等编程技术,构成了高密度、高速度和低功耗的可编程逻辑器件。本文设计的交通灯控制器采用的是Lattice公司提供的CPLD产品-ISPLSI 1032,一片ISPLSI1032*有192个寄存器,64个I/O管脚,8个特定输入输出管脚,4个特定输入时钟管脚和一个全局布线池。该器件所需的时钟脉冲信号由外部电路提供,设为16MHz。 本文设计的交通灯用两组红黄绿三色的发光数码管LED作为两方向的红黄绿灯,用两组数码管作为东西和南北方向的倒计时显示,用一个七位的拨动开关作为外部按键输入,还需要741s47译码器驱动数码管来实现数字的倒计时显示。 拨动开关高电平位表示“1”,低电平表示“0”,复位信号占拨动开关的一位,有“1”、“0”两种状态;东西方向和南北方向的红灯以及黄灯各占两位,各有“00”、“01”、“10”、“11”四种状态,相对应表1中的四种时间。设计框图如下: 3 系统软件设计及实现 3.1 顶层设计 根据交通灯控制系统的要求,我们将主控电路分为分频器、信号控制器两个模块,在isplever开发平台上,分别编译这两个模块的VHDL程序,然后用原理图输入法做出项层设计模块(见图3),其中输入的信号有16MHz的基准时钟脉冲、设定值输入及复位信号;输出信号包括两个方向的绿灯、黄灯、红灯控制信号,倒计时计数器的十位、个位的8421BCD码信号。 3.2 分频器模块 分频器模块是对输入16MHz的脉冲进行分频,把这个固定频率的时钟脉冲通过分频转化为低频率的脉冲,得到的1Hz信号用作控制器的时钟信号。图4为分频器模块的框图。下面为分频主要程序: 3.3 控制器模块 控制器模块的功能是控制信号灯的亮灭和数码管的显示。对于控制器模块,其输入信号为1Hz的方波信号、复位信号、黄灯和东西方向红灯和南北方向红灯时间设定值。输出信号包括东西方向和南北方向绿灯、黄灯、红灯控制信号。图5为控制器模块的框图。控制器模块程序 图中:cp、reset分别为时钟脉冲和复位输入信号。yellow_1,yellow_0,ew_red_l,ew_red_0,sn_red_1,sn_red_0分别为黄灯和东西方向红灯和南北方向红灯可调输入变量。 r_ew,y_ew,g_ew,r_8n,y_sn,g_sn分别为东西方向和南北方向的红绿灯控制信号。 qhew,qlew,qhsn,qlsn则是东西方向和南北方向的红绿灯倒数计时显示信号。 控制器模块工作流程: 先由外部开关控制可调的南北方向红灯、东西方向红灯和黄灯时间的高位和低位。 (设南北方向红灯通行时间为X、东西方向红灯通行时间为Y、黄灯时间通行时间为Z,一个总周期的时间为X+Y) 首先东西方向通行,东西方向绿灯亮,南北方向红灯亮,且两个方向上的倒数计时显示器由X向下作减法计时。当倒计时显示器减法计时到Z时,东西方向黄灯亮,南北方向继续红灯。当两个方向的的倒计时显示器减法计时到1,然后由1变为Y后,转为南北方向通行。 南北方向通行:东西方向红灯亮,南北方向绿灯亮,且两个方向上的倒计时显示器由Y向下作减法计时。当倒计时显示器减法计时到z时,南北方向黄灯亮,东西方向继续红灯。当两个方向的的倒计时显示器减法计时到1,然后由1变为X后,转为东西方向通行。如此交替运行。 3.4 仿真结果 对控制器模块的VHDL程序利用ispLEVER输入如下的一测试向量: 在isp[EVER平台上进行仿真,在波形观察器的窗口观察仿真结果。对应上面仿真向量的仿真波形如图6所示,改变仿真向量可以做出其他仿真波形,结果都显示基于VHDL语言的交通灯控制器的硬件实现方法是可行的。 3.5 软件到硬件的过度 Lattice器件的在系统编程是借助ispVM system软件来实现的。ispVM SystemTM是一个综合的将设计下载到器件的软件包。运用这一完整的器件编程工具快速简便地通过i spSTREAMTM将编写好的程序烧写到可编程逻辑器件CPLD上,实现软件到硬件的过渡。 4 结束语 本设计由于采用自顶向下法设计交通灯控制器,合理地处理灯时分配,分频,控制显示与编码的相互关系,采用VHDL语言层次化和模块化的设计方法,减少了设计芯片的数量、减少系统开发周期,降低了功耗,可以通过改变程序或着外部输入来控制交通灯,经过调试,运行正常。此设计是基于硬件描述语言VHDL,借助CPLD器件完成的数字系统的设计,显示了可编程器件广阔前景,加之工艺的改进,可编程逻辑器件的集成度和速度将进一步提高,性能将进一步完善。 |
|
|
|
只有小组成员才能发言,加入小组>>
692 浏览 0 评论
1106 浏览 1 评论
2473 浏览 5 评论
2808 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2646 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
653浏览 9评论
649浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
781浏览 6评论
628浏览 5评论
668浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-21 22:41 , Processed in 1.050467 second(s), Total 78, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号