基于VHDL的交通绿波带控制系统设计

来源 :新生代·上半月 | 被引量 : 0次 | 上传用户:PILIYADAN
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘要】:交通信号灯以其工程上易实现以及易理解的逻辑规则的特性被广泛认可。交通绿波带的主要原理是通过模拟一个恒流速的交通流获得一路段的通行时间,以此协调各个路口的交通灯变化,从而实现绿波交通。本文探析一种交通绿波带系统,本质上是基于VHDL的多个路口的交通控制系统,采用硬件描述语言进行程序设计和Quartus Ⅱ软件仿真测试。仿真结果表明,三个路口的交通灯能够实现双向的交通绿波带。如果付诸实践,在各个路段都采用这种基于FPGA的交通绿波系统,预计会大大提升车辆流速以及在此路段的行车体验。
  【关键词】:交通绿波系统 仿真 VHDL语言
  解决城市主干道拥堵问题,行之有效的方法是搭建交通绿波带,让车辆尽快通过,从而提高单位时间内车辆通行效率。对此,需要先设计出各个路口合适的交通灯模式,测算和获取设计所需的交通参数和信号灯参数,测算出最人性化的行人绿灯时间,选择合适的交通灯变换周期。本文选择某城市WY大道上的三个路口,利用VHDL硬件描述语言进行绿波带交通灯系统设计,具有很强的移植性,稍作改编,可用于更大更复杂的交通绿波带设计。
  1 参数的获取与处理
  在设计一条在主干线上的交通绿波带时,主要原则利用优化算法对各种参数进行处理,从而确定出一条延误时间最短的干线绿波帶。有很多参数需要实地考察或者建模计算来确定。
  1、路段长度及车速:
  路段选择以WY大道牌楼口为起点A,其与WY大道桃子湖路口B相距476米,而B与WY大道新民路口C相距924米。从起点A到终点C总长达1.4公里。
  经实地考察,南北走向车辆速度一般为60Km/h,而东西走向直行都是行人和非机动车,东西左转的车流量较小。
  2、周期时长
  为了干线上的各交叉口的信号灯能协调统一,各个信号灯的周期必须相同。一般情况下,信号灯周期不能小于一分钟,否则会出现车辆和行人无法及时通过路口以致交叉路口堵塞。周期也不能太长,因为A路口到B路口的距离只有四百多米,在车流速度平均为50-60Km/h的情况下,只需半分钟车辆就可以穿过,若周期时长大于三分钟,就会造成较长放入延误时间,甚至会导致延误放入车辆由第一个路口延伸到下一路口。本文将A、B、C三个路口的信号灯周期都定为180秒。
  3、绿信比
  绿信比定义为:在一个周期下,一个路口的绿灯时长与总周期时长的比率。绿信比是调节其所在路口的通行能力的重要参数。在交叉路口中,一个方向的绿信比增加必须是以减少另一方向的绿信比为代价,所以在确定绿信比时一定要如实反映路口的车流量,以达到各个方向的通行能力一致。
  4、相位及相位差
  一个路口的交通灯相位设置要兼顾各个方向车辆通行的需求,不合理的相位设置会导致交通混乱及交通堵塞。
  本文所实现的交通绿波带主要靠调节相位差,使相位差的时间刚好是车流通过这些交叉口的时间差。这样,当车辆从路口出发到达下一路口时,刚好是绿灯。由于三个路口的信号灯周期一致,只要实现第一次信号灯相位差优化成绿波带,接下来每个周期的相位差就固定下来了,从而实现一条持续的绿波带。
  在测得各路口的车流速度和路段距离的情况下,可依据公式pn=sn/v求得相位差。
  其中pn为相位差,单位是秒,sn为路段的长度,单位是米,v是平均车流速度,单位是m/s。实际中不同方向的平均车速是一个不定值,它会随着上下班高峰期、节假日出城高峰或返程高峰、上下学时间变动。为了工程上的简便,让相位差是整数,取v=57Km/h,s1=476m,s2=924m代入上式,得p1=30s,p2=60s。
  2 绿波系统的设计及仿真
  2.1 系统框架和程序设计
  本文采用双向绿波带模式进行设计,可以全时段地实现干线的上行和下行无滞留调制。对于两个端口,要求当其开放主干线的通行权时,既要作为入口去放行一波将驶入绿波带的车流,同时要作为出口去精准无滞留地放行一波已驶过绿波带的车流。对于路段中间的交叉口,由于上下游的路口距离不同,很难做到每次放行都是刚好囊括两个方向的绿波带,所以其主干线的通行时间较长,同时绿信比增大、效率下降。这是无法避免却可以通过系统设计来优化的问题。
  2.1.1 绿波系统框架的设计
  在一个周期中A、C路口相位1的通行权时间为80s,其他相位的总通行时间为100s,而B路口的相位1通行时间为140s,其他相位的总通行时间为40s。对于A、C路口,其绿信比是能够忠实反映个方向的车流量的,在对其进行信号灯设计时,按照正常的相位依次转换模式设计即可。而对于B路口,显然其主干线的绿信比过大,留给其他的相位的通行权时间总共只有40s,再采用上述模式是行不通的,需要适当权衡和改变。
  假设0s时刻C点交叉口调制出80s主干道的通行权,那么大概在60s的时刻,放行的这一波车流开始通过B点交叉口,大概在90s时刻开始通过A点交叉口。在A点交叉口开放80s通行权时,也有自A至C的车流驶入,这时候反向推算上述绿波即可。A、B、C交叉口的信号周期皆为180s,其中C路口的绿波带从0s开始,B路口的绿波带从60s开始,A路口的绿波带从90s开始。值得注意的是:由于双向绿波带的特性,B路口的相位1的绿信比要大于A、C两路口的,故对其要单独设计。
  对于C路口,主干线绿波带从0s开始,持续80s,所以在0-80s,主干线直行绿灯亮,其他方向红灯亮,尔后跳转到其他相位通行;如果选择相位2通行,会造成支干线的红灯大于100s,由于交通灯的计时显示设计大多两位数,产生计时溢出;如果选择相位3通行,就可以完美避免这种问题。所以在80-110s,相位3获得通行权,支干线直行绿灯亮,其他方向红灯亮。在110-150s,相位2获得通行权,主干线左转绿灯亮,其他方向红灯亮。在150-180s,相位4获得通行权,支干线左转绿灯亮,其他方向红灯亮。至此,一个周期完毕,进入下一个周期循环。   对于A路口,其相位1的绿信比与C路口一样,但是其绿波带开始时间要滞后于C路口90s。为了工程简便,A、C路口交通灯设计一样。
  B路口的情况要复杂一些,140s的相位1需转换成70s的相位1通行权加上70s的相位1和相位2的通行权。在前70s,自C至A方向的绿波带所带来的车流差不多都通行完毕,而后70s的车流量主要是自A至C方向的车辆,再结合WY大道特殊的T字型路口,这时候主干线的直行和左转(也就是相位1和相位2)一起进行,不会给B路口带来大的交通混乱。所以B路口可以实行以下信号灯模式:从C路口周期时间的60s起,前70s相位1获得通行权,主干线直行绿灯亮,其他方向红灯亮。接下来70s里,相位1和相位2获得通行权,主干线直行和主干线左转绿灯亮,其他方向红灯亮。然后是20s的相位3获得通行权,支干线直行绿灯亮,其他方向红灯亮。最后是20s的相位4获得通行权,支干线左转绿灯亮,其他方向红灯亮。至此一个180s为周期的信号灯设计完毕。
  2.1.2 单个交通灯的程序设计
  本文只采用红绿两种灯色和两位LED倒计时显示器来设计。根据系统框架所设计的四种相位,状态机也应有四种状态:zz、zl、cz、cl,分别代表相位1、相位2、相位3、相位4。采用TYPE类型(用户自定义的数据类型)来定义这些状态。
  type states is (zz,zl,cz,cl);
  variable change0,change1,change2:states;
  然后再具体的状态下进行减数计时和状态判断转换。
  elsif change0=zz then
  if a='0' then zhu0<="10000000";zhi0<="10000000";
  led0<="100001";a:='1';
  else if zhu0="00000000" then a:='0'; change0:=cz;
  elsif zhu0(3 downto 0)=0 then zhu0<=zhu0-7;zhi0<=zhi0-7;
  else zhu0<=zhu0-1;zhi0<=zhi0-1;
  end if; end if;
  其中要注意存储倒计时的变量是8位二进制,要转换成8为BCD码,以便于显示模块的表达。转换方法是遇到第四位全为0且减数计时上升沿发生时,整个向量减去7,其他情况均是减去1。
  设计时钟计时模块时,假设外部时钟源的频率是10MHZ,要利用其生成一个频率为1HZ的一位字,以供减数计时参考。这个模块需要用进程子程序来实现,优势是只要外部时钟源有变动,进程就会顺序执行一次内部命令。
  process(f)
  begin
  if f'event and f='1' then
  if cnt= 4999999 then
  cnt<=0;
  clk<=not clk;
  else cnt<=cnt+1;
  end if;
  end if;
  end process;
  2.1.3 程序设计
  VHDL语言IF语句是并行执行的,而三个路口联动需要顺序判断。首先在系统刚开始就让C路口进入工作状态,任一工作状态皆可。如果计时所用存储变量超过正常的数值,就强制其进入周期的开始阶段。
  if zhu0>"10000001"then
  a:='0';change0:=zz;zhu0<="01111001";zhi0<="01111001";
  接着是判断C路口的状态从而让B路口适时进入新的周期循环,绿波系统设计指明在C路口开始计数60s后B路口开始新的周期,这就需要if判断语句:
  If zhu0="00100000" and led0="100001"
  then zhu1<="01110000";zhi1<="01110000";led1<="100001";b:='1';
  b的作用有两个,一个是起始标记向量,当周期开始条件满足时,b为1,表示B路口交通灯程序已经在运行,b为0时,表示B路口交通灯程序还未开始。另一个是状态机转换标记向量,在程序运行中,要不停的判断是否进行状态转换,b=0时,表示正在转换,b=1时,表示无需转换。
  最后是A路口的交通灯联动,A路口的程序设计与B路口类似,只是触发周期条件不同,A路口是在C路口交通灯周期开始后的90s开始循环。
  if zhu0="00100000" and led0="001010"
  then zhu2<="10000000";zhi2<="10000000";led2<="100001";
  c:='1';change2:=zz;
  三个交通灯的周期时长都是180s,可以很完美的嵌合循环。
  头文件中需引用std_logic_unsigned程序包文件,便于不同的数据类型相互赋值和计算。分别用Process进程语句构建时钟计时模块和交通状态机模块。
  2.2 运用QuartusⅡ汇编与仿真
  为了方便仿真,将f分配为一组每2ns改变一次电平的方波,选择QuartusⅡ Simulator下的功能仿真。
  仿真结果表明,在外部时钟源跳变的开始,C路口就进入了工作状态的相位1并且开始倒数计时,对应的存储倒计时变量zhu0和zhi0一起从10000000开始减数变化,代表着从80s开始倒计时。
  在C路口开始工作后的60s之内,B路口的交通灯一直处于待机状态,各种变量持续为0。从60s时起,B路口开启工作状态,进入以180s为周期的交通灯循环。
  在C路口的80s倒计时结束时,C路口的交通灯模式便发生了转换。zhu0和zhi0计时寄存器重载数值为30s倒计时,而且led0的数值变为001010,标志着相位2获得通行权。
  从90s时起,zhu0和zhi0寄存器数值为00100000,A路口开始进入工作状态,工作模式和运作流程与C路口一样,只是在周期上延迟了90s。结果表明这些波纹图形和数据表明仿真结果与预期一致。
  结论
  本文通过VHDL语言设计交通绿波带,并通过QuartusⅡ的编译仿真功能来解决WY大道存在的拥堵问题,通过交通灯所需的各种参数分析,比如岔路口形状、相位差、绿信比、平均车速等,根据测算出的数据构建出绿波带系统的框架,然后根据硬件描述语言的特性去编写程序,选择芯片,编译分析与仿真。仿真结果表明本设计能很好地达到预期效果。
  【參考文献】:
  【1】 高锐, 高芳. 可编程逻辑器件设计项目教程[M]. 机械工业出版社, 2012.
  【2】 吴厚航. FPGA设计实战演练 : Practice-based learning of FPGA logic level design, 逻辑篇[M]. 清华大学出版社, 2015.
  【3】 Zwoliński M. Digital System Design with VHDL[M]// Digital system design with VHDL =. Pub. House of Electronics Industry, 2002.
  【4】 李俊. EDA技术与VHDL编程[M]. 电子工业出版社, 2012.
  【5】 PeterJ.Ashenden. VHDL设计指南[M]. 机械工业出版社, 2005.
  作者简介:薛开伍 1964.8 男 汉族 湖南常德 本科 高级实验师 研究方向:电子设计
其他文献
【摘要】:我國的民族声乐已经经过了几千年的发展,处在当前的新世纪背景下,意识形态领域文化艺术在创作风格层面也比较多变,很容易受到商业化的影响,而原生态唱法一词的出现就受到很大的关注。本文主要就中国民族唱法的特征以及发展现状进行阐述,然后就原生态唱法以及发展的现状进行阐述,最后就中国民族唱法和原生态唱法进行比较,并对其传承发展结合实际加以探究,希望通过此次的理论研究对我国的原生态唱法和民族唱法的良好
期刊
【摘要】: “巫术说”是研究史前美术起源的重要学说之一,巫术在史前美术的起源和发展中具有不可忽视的作用,本文基于前人的理论基础,阐述巫术在史前美术的起源和发展中的作用。  【关键词】:巫术 史前美术 起源  史前美术是指没有文字记载时期的艺术,正因为这一点人们对早期人类的生活活动知之甚少,而我们对于原始美术起源的好奇就好比儿童总是发出“我是从哪里来的”疑问一样,这是人类自身对于前世今生的一种本能追
期刊
【摘要】:风险必将伴随着人工智能时代一同到来,届时可能会产生一系列新的犯罪,或者高端的人工智能产品通过自我完善和学习摆脱人类控制,进而做出了具有严重的社会危害性的犯罪行为。面对千变万化的现代社会,法律的滞后性和局限性不可避免,但对于将来大概率出现的危机,也应当未雨绸缪,进行超前立法。刑法应从立法源头对研究人员和使用人员以及相关人工智能方面犯罪的刑事主体有所增加,但刑法秉承“宽严相济”原则以及刑法的
期刊
【摘要】:泛娱乐直播间里每天都在进行着各式各样的常态化“演出”,主播和受众齐聚在一个直播房间里,各自扮演起自己的角色。这种群体性的集聚催生出了群体秩序,满足了受众的情感需求,让大家获得了一种极致性的狂欢体验。这不仅是现实人际互动范围和深度的延展,更是人际互动娱乐化趋势的一种表现。  【关键词】:泛娱乐直播 群体秩序 情感能量 合作演出  2016年是直播行业迅速兴起、发展壮大的一年,各大直播平台在
期刊
【摘要】:随着我国国民生活水平的不断提高,对传统媒体发展也提出了更高的要求。新闻作为一种信息的传播载体,随着我国社会意识形态不断在发生变化,很多新闻专业名词也在不断更新,这就对民族新闻事业的发展提出了严峻的考验,尤其是对民族新闻翻译工作来说更是如此。本文礼广播新闻中藏汉翻译为例进行探讨,旨在为当下我国民族新闻事业的发展提供一点微弱的帮助。  【关键词】:广播新闻 藏汉翻译 问题 对策  语言是人们
期刊
【摘要】:在多元化的网络时代,我们习惯用图像来感受世界,插画和摄影都被推崇。插画不仅仅是作为文字的形象化手段,其表现形式也趋于与不同艺术相融合,释放出更丰富的联想空间。在摄影、插画二者不同的艺术表现形式中,通过现有的摄影与插画的结合作品中思考和研究,浅谈插画与摄影的奇妙碰撞,体现其独特魅力,为插画与摄影相融合的进一步发展打下良好基础。  【关键词】:插画 摄影 碰撞  引言  当有人问超级现实主义
期刊
【摘要】:近年来,工厂排放的工业废水中含有大量的偶氮染料,对水生物和人类构成严重的危害。本论文详细描述了负载还原铜铁氧化物的活性碳纳米纤维(Reduced CuFe2O4@ACNF)的制备方法。通过静电纺丝、高温碳化法和氢氧化钾活化碳纳米纤维的方法制备Reduced CuFe2O4@ACNF。以酸性橙7(AO7)为目标污染物,过硫酸氢钾复合盐(PMS)为氧化剂,研究催化剂的催化活性。对于质量浓度为
期刊
【摘要】:随着近几年建筑行业的不断发展,施工成本的不断提升,装配式建筑在建筑设计施工中的应用进一步广泛化。装配式建筑在建筑设计施工在应用的过程中不仅能够对人们多样的装饰需求进行满足,还能够提升施工的精度,进一步提升施工过程中的效率,将现场作业进行简化,并且还能够降低建筑过程中对环境产生的影响。装配式设计施工改变了传统设计施工中的缺陷,提升了施工的综合效率,并且降低了工程的造价,很大程度的促进了当前
期刊
【摘要】:随着社会经济的不断发展,我国的机动车保有数量逐年上升,取得驾驶证的驾驶人数量也不断增加,道路交通安全越来越受到社会的广泛关注,机动车驾驶培训的重要目的就是保障驾驶人行车规范与行车安全,然而,通过交管部门对近年来的驾驶人交通事故统计中我们可以发现,具有3年驾龄的驾驶人发生道路交通安全事故的数量也呈现出逐年上升的趋势。新驾驶人驾驶技术不过关的重要原因就是驾驶培训机构对驾驶人培训的服务质量不合
期刊
【摘要】:拉特舍夫是近年来先进翻译理论的代表人物,在翻译理论方面提出的翻译等值原则和决定可译性的因素,研究成果具有重要的现实意义与实用价值。同时在翻译教学等方面做出了突出贡献,对翻译工作者的影响颇深。  【关键词】:拉特舍夫 翻译理论  列夫·康斯坦丁诺维奇·拉特舍夫,语言学博士,现任州立莫斯科大学语言学系德语教研室主任。拉特舍夫是一位职业翻译家和翻译理论家,在德语及翻译理论研究方面成果颇丰,出版
期刊