基于FPGA的交通信号灯控制系统硬件设计
本章主要介绍了硬件部分的整体框架及器件选型,包括FPGA芯片、电源模块、储存芯片、有源晶振电路和JTAG下载电路等。同时还介绍了外部硬件电路,包括LED电路、数码管电路、按键电路、红外传感器模块和排针接口电路等。
- 整体框架 如图3所示为硬件的整体框架,时钟、按键和检测的车流量作为输入,LED灯显示模块和数码管显示模块作为输出。
图 3 整体框架图
- 器件选型
2.1 FPGA芯片 如图4所示为Altera公司的EP1C3T144C8N芯片,此芯片是具有2910个逻辑元件的表面贴装现场可编程门阵列。
图4 FPGA芯片
EP1C3T144C8N是具有2910个逻辑元件的表面贴装现场可编程门阵列IC。Cyclone现场可编程门阵列具有用于时钟的锁相环(PLL)和专用双倍数据速率(DDR)接口等功能,可满足DDR SDRAM和快速循环RAM(FCRAM)存储器要求。它支持多种知识产权(IP)内核,包括Altera®MegaCore®功能和Altera宏功能合作伙伴计划(AMPPSM)宏功能。
- 高达294912 RAM位
- 支持LVTTL,LVCMOS,SSTL-2和SSTL-3 I/O标准
- 高速(640Mbps)LVDS I/O支持
- 低速(311Mbps)LVDS I/O支持
- 311Mbps RSDS I/O支持
如表1所示为其具体参数:
表1 EP1C3T144C8N参数表
| 参数 | 值 | |---|---| | 制造商 | Intel / Altera | | 最小工作温度 | 0℃ | | 产品种类 | FPGA - 现场可编程门阵列 | | 最大工作温度 | +70℃ | | 产品 | Cyclone | | 安装风格 | SMD/SMT | | 逻辑元件数量 | 2910 | | 封装 /箱体 | TQFP-144 | | 逻辑数组块数量一LAB | 291 | | 系列 | Cyclone EPC3 | | 输入/输出端数量 | 104 /O | | 最大工作频率 | 250 MHz | | 1.5 V to 3.3 V | 250 MHz | | 湿度敏感性 | Yes |
如图5所示为芯片原理图,
图5 芯片原理图
2.2 电源模块 如图6所示为电源模块,FPGA芯片需要两种电压进行供电,内核需要1.5V电压供电,外核需要3.3V电压进行供电,而ALEAD公司并没有提供供电,我们需要外围供电提供电压。我们选用的芯片是AMS1117系列芯片来实现降压工作。
图6 电源模块
AMS1117是一种线性稳压器,用于提供稳定的电压输出。它由美国AMS公司开发,可提供1A的电流,可以将输入电压降低至3.3V或5V等较低的电压。AMS1117稳压器有多种封装形式,如SOT-223、TO-252等,适用于各种电子设备和应用,如手机、平板电脑、网络设备等。AMS1117的优点是具有高效率、低功耗、低噪声等特点,同时还具有过载保护、过热保护等安全保护功能。
2.3 储存芯片 如图7所示为储存芯片:
图7 储存芯片
EPCS1是一种闪存芯片,通常用于FPGA(现场可编程门阵列)中存储程序和数据。它是一种串行闪存,具有1 Mb的容量,使用SPI(串行外围接口)进行通信。EPCS1芯片通常用于存储FPGA的配置文件,这些文件包含了FPGA的设计和功能。在启动FPGA时,配置文件会被加载到FPGA中,使其开始执行特定的任务和操作。EPCS1芯片的特点包括快速的读写速度、低功耗、易于集成和使用。在FPGA开发中,EPCS1通常用于存储FPGA的配置文件,以便在每次上电时加载FPGA配置。
2.4 有源晶振电路 如图8所示为有源晶振电路:
图8 晶振电路
由于采用的FPGA芯片的时钟频率是50MHz。
OSC1是有源晶振电路是一种电路,用于产生高精度的时钟信号。它使用有源晶体振荡器作为电路的核心元件,通过对晶振谐振频率的精确控制,产生高精度的时钟信号。该电路一般用于数字电路中的时钟电路,如微处理器、FPGA、DSP等。
OSC1有源晶振电路的特点如下:
- 高精度:由于使用了有源晶体振荡器,其频率稳定度和精度均非常高,可以达到百万分之一的精度。
- 可调性好:OSC1有源晶振电路可以通过改变晶振的谐振频率来改变输出时钟信号的频率,从而实现频率可调。
- 抗干扰性好:由于有源晶体振荡器具有高抗干扰性,可以有效地抵抗外部电磁干扰和振荡回路内部产生的噪声。
- 稳定性好:有源晶体振荡器的稳定性非常好,可以在较宽的温度范围内保持较高的精度和稳定性。
- 体积小:由于有源晶体振荡器本身体积小,因此OSC1有源晶振电路的尺寸也非常小,适合在集成电路中使用。
总之,OSC1有源晶振电路是一种高精度、可调性好、抗干扰性好、稳定性好、体积小的时钟电路,广泛应用于数字电路中。
2.5 JTAJ下载电路 如图9所示为JTAG电路:
图9 JTAG电路
JTAG电路模块用来下载程序,使quaruer II中仿真的程序下载到芯片中,是FPGA小系统的重要组成部分。
JTAG(Joint Test Action Group)是由多个半导体厂商联合发布的一种用于测试和调试电路的标准。JTAG接口在FPGA中被广泛使用,可以通过这个接口实现FPGA的调试、编程和配置等功能。
FPGA中的JTAG接口通常包括一个TAP(Test Access Port)控制器和多个TAP信道。TAP控制器负责控制TAP信道的操作,TAP信道可以用来访问FPGA中的内部寄存器或逻辑单元。
通过JTAG接口,可以实现以下功能:
- FPGA的编程和配置 通过JTAG接口,可以将FPGA的配置文件下载到FPGA芯片中,完成FPGA的编程和配置。
- FPGA的调试 通过JTAG接口,可以访问FPGA中的寄存器和逻辑单元,实现对FPGA的调试和故障诊断。
- FPGA的测试 通过JTAG接口,可以实现对FPGA的测试和验证,包括时序测试、逻辑测试等。
总之,JTAG接口在FPGA中起到了非常重要的作用,是实现FPGA编程、配置、调试和测试的必要工具。
- 外部硬件电路:
3.1 LED电路 如图10所示为LED电路,通过led灯模拟交通信号灯通过不同颜色模拟不同的交通信号以达到目的。
图10 LED电路
3.2 数码管电路 如图11所示为数码管电路,一共12个引脚,4个位选,8个段选,为共阳极接法。
图11数码管
七段数码管可以显示数字、字母、符号等信息。它的每一段都可以发光,通过控制哪些段发光,就可以组合出不同的数字、字母或符号。具体来说,七段数码管的每一段都有一个对应的编号,通常表示为a、b、c、d、e、f、g。要显示数字0,需要点亮a、b、c、d、e、f这6段;要显示数字1,需要点亮b、c这2段;以此类推,可以通过组合不同的段来显示任意数字。例如,数字8需要点亮所有7段。在实际应用中,可以使用控制芯片或驱动电路来控制七段数码管的每一段,从而实现各种显示效果。
3.3 按键电路 如图17所示为按键电路,此模块共有9个低电平有效按键用于输入不同的信号,来实现交通灯不同的功能。
图17按键电路
3.4 红外传感器模块 如图18所示为红外光电传感器模块,红外传感器以及LM393双电压比较器芯片构成。
图18红外传感
槽型光耦介绍: 使用进口槽型光耦传感器,槽宽度10mm,有输出状态指示灯,输出高电平灯灭,输出低电平灯亮。当有遮挡时,输出高电平;无遮挡时,输出低电平。工作电压为3.3V-5V,输出形式 为数字开关量输出(0 和 1)
LM393介绍: LM393是一种双路比较器IC芯片,由美国国家半导体公司生产。它是一种低功耗、高精度、广泛应用于电子系统中的集成电路。LM393具有两个比较器,每个比较器都具有一个非反相输入端和一个反相输入端,以及一个输出端,可以进行电压比较。它的工作电压范围为2V至36V,输出电流为6mA,具有较高的稳定性和可靠性。LM393广泛应用于电压检测、电池管理、电源管理、自动控制、电动机控制等领域。作用是将和槽型光耦相连接。比较输入,当没有检测车流的时候2端口无供电3端口电压高于2端口1端口输出高电平。当槽型光耦检测到车流量的时候使2端电压高于3端电压输出结果时为低电平作为检测信号。
3.5 排针接口电路 如图19所示为排针接口电路:
图19 排针接口电路
其作用是在电路内被阻断处或孤立不通的电路之间,起到桥梁的功能,担负起电流或信号传输的任务。
FPGA硬件电路中的排针接口是一种常见的连接方式,它通常用于将FPGA芯片与其他电路板或外部设备连接起来。该接口通常由一排排针组成,每个针脚都对应着FPGA芯片中的一个引脚。通过将这些针脚连接到其他电路板或外部设备上,可以实现FPGA芯片与其他设备之间的数据传输或控制信号传递。
排针接口可以连接到不同类型的外部设备,如LED灯、按键、传感器、电机驱动器、通信模块等。通过FPGA的GPIO端口和模拟输入输出端口,可以实现对这些外设的控制和数据采集。排针接口还可以连接到其他FPGA芯片或者外部存储器,实现高速数据传输和存储。
总之,排针接口在FPGA硬件电路中具有非常重要的作用,它为FPGA芯片提供了与外部设备的接口,实现了FPGA芯片与其他电路的连接和交互。
通过详细的介绍,读者可以了解每个模块的作用、特点和功能,为后续的硬件设计和实现提供了基础。
原文地址: https://www.cveoy.top/t/topic/n2Mv 著作权归作者所有。请勿转载和采集!