本帖最后由 czd886 于 2023-5-17 14:05 编辑

1、总体电路设计
        当主干道是绿色和黄色时,次要道路为红色,人行道为红色。 当主干道变绿右转弯,先从第一阶段向左转车向右转,然后从第一阶段向右向左转,然后再把路变黑。 这将使道路保持蓝色,而其它方向的车辆也必须按同样的顺序通行。 在这个过程中,如果你没有按照正常路线行走,那么你就必须调整好自己的行驶方式。因为,每个人每天所习惯的行进路线不同。 例如:从左到右20秒,从右到左40秒,从东向西50秒,从西向东80分钟。 这样循环下去。如果主干道出现堵车现象的话,那么就必须让所有的交通参与者按照一定的次序进入路口进行通行。因为每个人都会遇到绿灯与红灯交替使用的情况。 此时,主干和次干将点亮约15秒。 当主干路也亮起30秒,左转车道亮起2秒,右转车道亮起1秒。 然后,主干道亮30秒,左转弯灯5秒,黄灯3秒,最后到主干道灯。 如果这样一直走下去的话,则会出现堵车现象。为了减少拥堵,最好选择左转方式;但是也不一定要采用右转方式。因为直行可以节省很多时间。 此时,主干道上的红绿灯左转,主干道上的红灯同时向行人闪烁。 如果在主干道上没有信号灯,或者只有一个十字路口在左边,你需要在红灯处切换到白天模式,或者在十字路口的右边有多个红绿灯时你就不能开车。 当主干线有红光或绿光时,切换到中间亮灯模式;没有红光时,切换到中光模式约10秒;没有红光时,切换到中光模式约20秒。 当次干道正常行驶时,切换至夜间、黄色、紧急及行人信号灯。其系统电路图如下图所示:
image.png

2、FPGA系统模块电路设计
     FPGA最小系统电路模块的设计主要包含以下几个方面的资源配置:
1)CycloneII 系列EP2C5T144芯片;
2)配置EPROM芯片采用EPCS4,大小为4Mbit;
3)板载50M有源贴片晶振;
4)电源采用单5V电源,带自锁按键开关,操作方便;
5)板上有电源指示灯和复位开关;
6)板载4个贴片 LED,可以做LED的测试实验;
7)板载4个贴片 按键,按键按下低电平;
8)所有IO口和时钟引脚都是通过排针安排绘制的,通过排针可以扩展任何存储器和外设;
9)采用 1117‐1.2V 稳压芯片,FPGA内核电压为1.2V稳压芯片,FPGAIO口电压为117RP3.3V稳定芯片,优质电容板滤波器;
10)与文件对应的JTAG下载界面是SOA文件,通过JTAG下载JTAG下载程序接口快速直接进入FPGA,然后固化为I2C格式的文件下载。其芯片如下图所示。
image.png

       FPGA供电电源是保证系统正常运行最重要的组成部分。电源由电源变压器、电源开关管、功率放大器和驱动芯片四个独立的模块组成。 D4是电源工作指示灯,D1是1N5819,高速肖特基二极管防止电源连接,同时每个电源的输入和输出部件都经过优质钽电容器功率过滤,以提高系统的系统电源稳定性。AMS1117稳压器提供FPGA内部核工作和局部锁相环电源。其电源电路如下图所示。
image.png

       下载配置电路包括JTAG接口设计,EPCS4或EPCS16组态芯片和相应的配置电阻,供程序下载和存储。其中,EPCS4配置芯片为并行数据流输入型;EPCS16或EPCS2配置芯片为串行数据传输型。其中,JTAG接口电路的电路是串行数据输出型。EPC-16和EPCS6是串行总线驱动型,该方法实现的下载与配置电路可应用于多种嵌入式设备。下载与配置相关的电路如下图所示。

image.png

3、数码管电路
     系统中包含着两个共阴数码管,分别显示着主干道南北方向的倒计时与次干道东西方向的倒计时,通过数码管上显示的倒计时来表示各道路上的通行时间。数码管的各管脚连接表示如下图所示:
image.png

4、指示灯电路
   系统的指示灯电路分为四组,分别是东南西北四个方向。每组指示灯都由五个灯组成,分别是直行绿灯和左转灯,以及黄灯与红灯、人行道灯。指示灯电路如下图所示:

image.png

5.、主程序设计
      用于设计智能交通信号灯的系统模块由4个模块组成,即分频器模块、计数显示模块、控制器模块、顶层连接模块。这四个单元以互补和自我实现的方式运作,使整个系统得以协调运作。 交通信号灯控制系统。 主要包括软硬件软件子系统。 在硬件方面,着重介绍了系统的功能模块及其组成,在软件设计方面,详细介绍了控制程序的控制控制过程和流程图。 交通灯系统模块设计框图的设计框图如下图所示:
image.png

        程序设计有三种模式:白天模式、夜间模式模式和紧急模式,您可以根据需要在它们之间切换外围电路。 介绍一种基于单片机的城市干道交通信号控制系统. 采用双CPU结构,即一级和二级控制方式以及双机通讯方式。 主处理器从每个交叉路口收集车流量信息并发送数据到从机;它从从机接收数据并对其进行处理。 同时将经处理结果发送给上位机;上位机对数据处理结果进行显示,并且可通过串口发送控制指令给从机。 该系统主要由中心控制器和外围电路组成,中心控制器是主控芯片,外围电路包含交通信号灯、道路监控设备等附属设施。 白天的行车灯是红色的,晚上的红绿灯是绿色的,应急模式信号灯是红色或者蓝色的。 其中:道路交通信号机作为整个系统的控制中心,其硬件设计分为两部分:电源板、驱动板和显示板;软件方面采用C语言编程。该控制系统已经应用于实际工程中。 本设计方案采用模块化的结构,每个模块都有自己的电源供电接口,具有一定的扩展能力。 它还包括路灯等辅助功能。 主干道上的人行道灯向左连接,二级公路上的黄灯向左连接,二级公路上的黄灯向主干道连接。下图是流程图:

image.png

6、分频器模块的设计
       分频器模块的目的是要以此来获得低频时钟信号,要做到这个要求不难,只需要将高频时钟信号进行转换即可。接收低频时钟信号后,将该命令发送给下一个控制器. 然后根据这些指令,从下级控制器发出相应的控制命令。如果被触发的话,则执行下一级控制程序;否则,返回初始步骤。这样循环下去,直到满足预定条件为止。 控制命令按相应的时序逻辑驱动和调整被被控对象. 为了确保控制系统的稳定性,必须达到规定的频率值。 实现这一目标需要使用适当的分频方法。本文提出了一种基于FPGA和DSP芯片的新型高精度时间同步方案——数字锁相环(DPLL)技术。它能够很好地满足实际工程的要求。并且具有很强的实用性。 在此设计中,核心板所提供的时钟频率过高,而秒计数器所需的时钟频率过低,因此需要将核心板所提供的高频率时钟信号转换成所需的低频率时钟信号。 我们把这种频率变换关系称为分频. 分频电路是嵌入式系统发展中不可缺少的组成部分。 随着嵌入式系统规模的不断扩大,分频器性能变得越来越重要。 但传统的分频方法已不能满足现代嵌入式应用的要求,因此有必要对新型高效分频器进行研究。 由于分频误差较大,造成系统性能降低甚至不正常运行。因此,分频器成为整个电路的关键部分。目前分频器主要采用模拟技术。如何提高分频精度,缩短电路仿真周期一直是设计者关注的问题。 在分析现有芯片和原理图的基础上,提出了一种基于FPGA的分频器的设计方案。 该方案集成度高,功耗低。 同时,根据实际情况可以进行修改,以达到不同的功能。 原分频器模块的设计如下图所示:
image.png

8、计数显示模块的设计
      计数器模块设计为30秒到0秒的计数广度,随着计数时间的变化和下降到0秒,随着时钟的变化,计数器模块立即变为30秒,进入新的循环。然后计数器相同的顺序进行下一次计数,得到循环数。 循环数可分为三个阶段:1)初始状态;2)停止状态;3)重新开始状态。当第一个阶段结束时,计数器模块将会自动恢复原来的位置,并继续运行下去。 因此循环数将保持不变,直到达到所需的次数。当这个循环数大于或等于某个阈值时,计数器才开始计时,并发出一个脉冲信号;反之,计数器停止计时,同时也发出另一个脉冲信号。整个过程由定时中断控制来控制。 在这一过程中,由于每个周期都有一个脉冲脉冲信号输入计数模块,电路具有延时能力。为此,需要安装一些辅助元件。 如果计数器模块以这种方式工作,则计数器在启动后将立即提高输出,而不是从0逐渐增加到其最大值;否则,它将不会产生此结果。 如果检测到其他情况,计数器数字立即停止。紧接着,计数器的数字则会被系统的复位信号擦除,产生新的数值变化。
      智能交通灯将由柜台计数器和消光时间。 随着时间的流逝,计数器显示的数字越来越少,因此需要30秒倒计时来设计计数模块。 计数器显示的个数随时间减少,意味着输入了一个有效的时钟信号。 因为绿灯在变红之前3秒变成黄色,所以计时器在剩下3秒的时间里发出黄色的信号。 在这个设计中,信号灯有一个数字倒计时显示. 如果红灯亮起来的话,则表示红灯已经开始闪烁。如果没有红灯亮起时,则表示红灯不闪。当车辆通过十字路口或者其他路口时,红绿灯都处于关闭状态。 主、次干道上的倒计时时间分别用两根共阴数码管表示,信号由计数器输出,计数器是二进制的,需要转换才能得到所需的信号。 这个8段式数码管很容易做到这一点。 根据实际需求选择合适的LED灯珠数量以及颜色。当红绿灯亮起时,可以看到LED灯珠亮起来并点亮红灯。 由于LED显示屏采用12色发光二极管阵列,亮度随颜色而增加。 每种颜色对应不同的色温值。 通常,七段数码管需要十进制信号。 因此,设计辅助显示解码模块时首先要考虑的是将3的输出从二进制转换成十进制。 当红灯亮起来后,LED灯珠会闪烁5-10秒以提醒司机注意避让。通过对红绿灯的工作原理分析可知,如果要延长绿灯的使用期限必须使LED灯处于关闭状态。 为了避免汽车因计时不准而卡住的问题,本设计采用了一种简便实用的方法来计算LED灯珠的发光时间。 由此产生十进制数被转换为两个单独的二进制数,为两个7段数码管显示器供电。

image.png

8、顶层连接模块的设计
      在设计此模块前,已经设计了三个模块,它们是分频器模块、计数显示模块、控制器模块。在顶层连接模块中,包含着分频器模块和计数显示模块以及控制器模块。分频器模块作用在两个部分:一个是计数显示模块,另一个是控制器模块。控制器模块同时控制着计数显示模块,计数显示模块反应着南北、东西方向的倒计时,控制器模块控制着南北、东西的信号灯,如图所示。
image.png

9、源程序的设计
    程序中指示灯分为主干道与次干道两部分,数码管也分为主干道数码管与次干道数码管两部分。以下是信号的定义与说明:
clk: 同步时钟信号;
rst: 复位信号;
ledzhu: 主干道上的四盏灯的亮灭,分别为直行绿灯、左转灯、黄灯和红灯;
ledci: 次干道上的四盏灯的亮灭,分别为直行绿灯、左转灯、黄灯和红灯;
smgout_zhu:主干道上的倒计时显示;
smgout_ci: 次干道上的倒计时显示;
源程序如下图所示:
image.png

10、硬件实物图

image.png

11、主要程序介绍:

image.png

image.png

image.png