基于FPGA的交通灯控制电路的设计

2025-03-25 版权声明 我要投稿

基于FPGA的交通灯控制电路的设计

基于FPGA的交通灯控制电路的设计 篇1

EDA技术

实训(论文)说明书

题 目: 交通灯控制电路的设计 院(系): 信息与通信学院 专 业: 电子信息工程 学生姓名: 学 号: 指导教师:

2013年月日

桂林电子科技大学实训说明书用纸

摘要

EDA工具对于电子设计人员来说极其重要,它可以在电子设计的各个阶段、层次进行计算机模拟验证,确保设计的准确性,可缩短设计周期,降低设计成本。交通灯可以实现十字路口红绿灯的自动控制。基于FPGA的交通灯设计系统具有可靠性强、实时快速擦写、运算速度高、故障率低、电路简单,且体积小的特点。本设计采用的是Altera公司CycloneII系列的EP2C5T144芯片作为核心最小系统,它可以方便嵌入到实际的交通灯应用系统中,可以完成简单的逻辑控制、数据采集、信号处理、数学计算等功能;使用QuartusII软件作为开发平台;采用自顶向下的设计思路对系统进行模块化设计和综合,并通过波形仿真和硬件实现两种方式实现并验证交通灯的功能。关键词:交通灯、EDA、FPGA

桂林电子科技大学实训说明书用纸

Abstract EDA tools for electronic design personnel is very important, it can be in the electronic design of each stage, levels of computer simulation verification, to ensure the accuracy of the design, can shorten the design cycle, reduce design cost.The traffic light can realize intersection traffic light automatic control.Based on the FPGA of traffic light design system has the reliability, real-time fast operation speed is high, integration.it, low failure rate, circuit is simple, and the characteristics of small volume.This design USES is Altera company CycloneII series of EP2C5T144 chip as the core minimum system, it can be convenient to the actual traffic lights embedded application system, can complete the simple logic control, data acquisition, signal processing, mathematical calculations, etc;Use QuartusII software as a development platform, Using the top-down design idea of system modular design and comprehensive, and through the waveform simulation and hardware realization two ways to realize and verify the function of the traffic lights.Key words: traffic lights;EDA;FPGA

桂林电子科技大学实训说明书用纸

引言

“EDA技术”是一门实践性和实用性都很强的课程,学习的目的在于应用。本设计实训是配合“EDA技术”课堂教学的一个重要的实践教学环节,在本课程设计指导书中列举了一些常用的小型设计系统,旨在起到巩固课堂和书本上所学知识,加强综合能力,提高系统设计水平,启发创新思想的效果。

1设计任务与要求

1.1本综合设计实训任务的内容和要求

① 用EDA实训仪上的4只八段数码管分别显示道路东西和南北通行和禁止的倒计时时间。

② 能设置道路东西和南北两侧通行和禁止的倒计时时间,最大设置时间为99秒,最小设置时间为1秒。

③ 交通灯用红、绿、黄三种发光二极管(LED)显示控制的结果。④ 红、绿、黄灯显示的次序应符合实际交通道路控制的要求。系统概述及设计原理

2.1 系统的主要功能

交通灯控制电路是用于城市交通疏导的管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。交通信号灯指挥着人和各种车辆的安全运行,实现红、黄、绿灯的自动指挥是城乡交通管理现代化的重要课题。在城乡街道的十字交叉路口,为了保证交通秩序和行人安全,一般在每条道路上各有一组红、黄、绿交通信号灯。交通灯控制电路自动控制十字路口两组红、黄、绿交通灯的状态转换,指挥各种车辆和行人安全通行,实现十字路口城乡交通管理自动化。设计一个十字路口交通控制器,方向分为东南西北四个方向。东西方向的红绿灯状态一样,南北方向的红绿灯状态一样。每个方向上,有四盏灯,分别是左转灯、红灯、绿灯和黄灯。左拐灯亮表示左转车辆可以通行;红灯亮表示左转和直行车辆禁行;绿灯亮表示直行车辆和右转的车辆可以通行;黄灯亮表示左转和直行的车辆即将禁行。

本论文简要介绍了FPGA器件的特点和设计意义,以QuartusII软件为开发平台,通过VHDL硬件描述语言以及原理图的输入方式来设计交通灯。交通灯控制器用于自动控制十字路口交通灯和计时器。

系统的主要功能模块方框图如图2-1所示

桂林电子科技大学实训说明书用纸

图2-1 系统主要功能模块

2.2交通灯的设计原理

交通灯控制电路的原理框图如图1.3所示。其中,clkgen是分频器,将EDA实训仪主板提供的20MHz的主频经20000000分频后,得到电路所需的1Hz(秒)时钟。Cnt10de(两个)是十进制减法计数器,产生道路东西和南北通行和禁止的倒计时时间。Contr是控制电路,控制整个系统的工作。控制器接收倒计时的结果,当倒计时归0时,改变电路的控制模式,输出倒计时的初始时间和交通灯亮灭控制信号。

图2-2 交通灯控制电路的原理图 系统各个模块的的设计与仿真

3.1 分频器模块的设计

由于采用的FPGA芯片的时钟频率是50MHz,需要将其分频为1Hz。该模块即是实现50M的分频,将频率变为1Hz的脉冲波,从而得到周期为1s的脉冲波。如果要真正的实现分频50M,在仿真结果图中是很难观察的,甚至是没有办法验证的,故在仿真过程中,将分频的倍数变小,变为20分频,这样从图中可容易的得到并验证对时钟输入信号的20分频,如图3-1所示,Reset是复位信号,CLK_50MHz是输入时钟频率,CLK_1Hz是

桂林电子科技大学实训说明书用纸

输出时钟频率,从图中可以看出,输出频率CLK_1Hz确实是输入时钟频率CLK_50MHz的20分频。

图3-1 分频器仿真图

3.2 状态控制模块的设计

状态控制模块根据输入CLK_1Hz的脉冲信号输出不同的STATUS值,下游的模块依据STATUS的值来确定红绿灯的状态;于此同时对倒计时信号赋初值。在状态控制模块仿真图中,输入信号CLK是一个频率为1Hz的时钟脉冲信号,RESET是复位信号;输出信号STATUS是状态转换信号,控制着下游交通信号灯显示模块的显示情况;LOAD_EW、LOAD_SN是东西、南北方向倒计时开始控制信号,DJS_EW、DJS_SN是东西、南北方向倒计时间信号。其仿真结果图如图3-2所示,由图可得,STATUS共有000(S1)、001(S2)、010(S3)、011(S4)、100(S5)、101(S6)共6个状态,80s为红灯和左转灯的倒计时间,45s为绿灯的倒计时间,5s是黄灯的倒计时间,和状态转换表的状态一致。

图3-2 状态控制模块仿真图

3.3 交通灯信号灯显示模块的设计

交通信号灯显示模块根据输入的STATUS信号,输出对应的红绿黄灯信号,并直接驱动交通信号灯的亮灭。在交通灯信号灯显示模块程序仿真结果图中,STATUS为输入信号,而它依赖于状态控制模块产生的信号STATUS信号,一种六种状态,依次为000(S1)、001(S2)、010(S3)、011(S4)、100(S5)、101(S6);EW_LRGY(8位)是东西方向上交通信号灯的状态,SN_LRGY(8位)是南北方向上交通信号灯的状态,依次为左转、红、绿、黄,对应着EW_LRGY、SN_LRGY的前四位,‘1’表示点亮,‘0’表示熄灭,后四位均为0,表示四个灯的阴极接负极。例如,在STATUS为001时,对应的是东西方向红灯亮,南北方向绿灯亮,仿真结果符合预期,完全正确。其仿真图如3-3所示:

图3-3 信号灯显示模块仿真图

桂林电子科技大学实训说明书用纸

3.4东西方向倒计时模块设计

东西方向倒计时模块用来接收状态控制模块的输出并作为初值,每检测到一个CLK脉冲信号,就进行减一动作,最后把减一结果输出。在该模块仿真图中,CLK为1Hz的输入信号,LOAD_EW为计数器的装载信号,当其为高电平时,将输入信号DJS_EW_IN的值装载到计数器中,并开始进行减一操作,每遇一个CLK脉冲,进行一次减一操作,并将结果输出,由于输入的时钟频率是1Hz,所以显示的时间间隔是1s,与现实生活中的时间保持一致。其仿真结果如图3-4所示,由图可得,该模块首先将80秒的倒计时信号装载进去,并进行减一操作。

图3-4 东西方向倒计时仿真图

3.5 南北方向倒计时模块设计

南北方向倒计时模块用来接收状态控制模块的输出并作为初值,每检测到一个CLK脉冲信号,就进行减一动作,最后把减一结果输出。在该模块仿真图中,CLK为1Hz的输入信号,LOAD_SN为计数器的装载信号,当其为高电平时,将输入信号DJS_SN_IN的值装载到计数器中,并开始进行减一操作,每遇一个CLK脉冲,进行一次减一操作,并将结果输出,由于输入的时钟频率是1Hz,所以显示的时间间隔是1s,与现实生活中的时间保持一致。其仿真结果如图3-5所示,由图可得,该模块将45秒的倒计时信号装载进去,并进行减一操作。

图3-5南北方向倒计时仿真图

3.6 译码模块设计

译码模块程序用来将输入的两位倒计时数值,分解成两个整形数值,以此供后面的译码显示模块译码显示。在译码程序TO_8421_BCD模块仿真图中,DJS_EW_OUT,DJS_SN_OUT为上一倒计时模块的输出信号,其范围在0~80,所有倒计时的范围都包含其内;DJS_EW_OUT_SW,DJS_EW_OUT_GW,DJS_SN_OUT_SW,DJS_SN_OUT_GW为输出信号,其范围为0~9,代表了各个方向的倒计时的十位和个位,且数码管所有显示数字的范围均在其内。例如图中DJS_EW_OUT的值不断变化,相应的依次将其分解为十位(DJS_EW_OUT_SW)和个位(DJS_EW_OUT_GW),并依次递减,仿真结果符合预期,完全正确。仿真结果如图3-6所示:

桂林电子科技大学实训说明书用纸

图3-6 译码仿真结果图

3.7 译码显示模块设计

译码显示模块将上一模块译码模块输出的四个一位数译码成相对应的七位数码管段码,完成倒计时的译码和显示。在译码显示模块仿真图中,DJS_ EW_OUT_ SW,DJS_EW_OUT_GW,DJS_SN_OUT_SW,DJS_SN_OUT_GW是四位的输入信号,也是上一模块TO_8421_BCD的输出信号,它们的范围为数字0~9,DJS_EW_ OUT_SW1,DJS_ EW_ OUT_GW1,DJS_SN_OUT_SW1,DJS_SN_OUT_GW1对应的是相应的七位数码管显示段码的值。图中输出信号的值随着输入信号的变化而相应的变化,例如DJS_EW_OUT_SW为7,DJS_EW_OUT_GW为5时,DJS_EW_OUT_SW1为00000111(a、b、c、d、e、f、g依次对应着1110000,最高位的0表示是数码管的类型是共阴的),表示数码管显示7,DJS_EW_OUT_GW1为01101101,表示数码管显示5。仿真完全正确,符合预期。其仿真结果如图3-7所示:

图3-7 译码显示模块仿真图

3.8 顶层文件模块设计

顶层设计采用VHDL语言描述方式实现,并在工程文件仿真过后通过工具菜单自动生成原理图文件,从而是设计原理更加清晰明朗。

在顶层设计VHDL描述中,共包含7个元件,分别是:

1、分频器模块,2、状态控制模块,3、交通信号灯显示模块,4、东西方向倒计时模块设计,5、南北方向倒计时模块设计,6、译码模块设计,7、译码显示模块设计。这7个模块经过程序设计、编译仿真,结果均能够达到设计要求。最后在顶层设计中,通过元件例化语句将这7个模块连接起来,生成顶层文件。在顶层设计中,RESET是复位信号,输入的时钟频率CLK是50MHz,经过分频50M的分频器后,变为频率为1Hz的时钟信号,周期为1s,用此时钟信号来控制整个系统的步调,与现实生活中交通灯的步调保持一致。EW_LRGY、SN_LRGY分别为东西和南北方向上交通信号灯的状态,EW_DJS_DISPLAY、SN_DJS_DISPLAY为东西

桂林电子科技大学实训说明书用纸

和南北方向红绿灯倒计时间。另外,所有的数码管和二极管均为共阴极显示。例如,在EW_LRGY为01000000(即东西方向红灯亮)、SN_LRGY为10000000(即南北方向左转灯亮)时,EW_DJS_DISPLAY的前八位表示倒计时的十位,后八位表示倒计时的个位;图中EW_DJS_DISPLAY的前八位都是00000111表示7,后八位01111101表示6,后八位01101101表示5,后八位01100110表示4;SN_DJS_DISPLAY的前八位是01001111表示3,后八位01011011表示2,后八位00000110表示1,后八位00111111表示0,以上表明红绿灯和倒计时时间显示符合预期。仿真结果如图3-8所示:

图3-8 顶层文件波形仿真图 实训心得体会

本次EDA技术实训的交通灯采用的是Altera公司CycloneII系列的EP2C5T144芯片作为核心最小系统,它可以方便嵌入到实际的交通灯应用系统中,可以完成简单的逻辑控制、数据采集、信号处理、数学计算等功能;使用QuartusII软件作为开发平台;采用自顶向下的设计思路对系统进行模块化设计和综合,并通过波形仿真和硬件实现两种方式实现并验证交通灯的功能。为期两周的实训,我利用网络和图书馆的有效资源,搜集并下载了大量的关于用FPGA做交通灯设计的资料;然后精心阅读,在老师的指导督促下,并和周围同学进行有效学习和沟通,最终确定了自己的设计方案;最后按照既定的设计方案,通过努力有步骤的实现了交通灯的设计。

通过此次实训设计,让我加深了FPGA的理解,更加熟练了VHDL语言,同时,我深深体会到了通过FPGA设计数字电路的方便、简洁的特点,这让我相信未来数字电路的应用必将更加广泛。另外,我还体会到:从事开发设计工作,一定要保持个勤奋、踏实、严谨的工作态度,这样才能更好的完成工作。最后,我觉得在交通灯控制系统设计中还可以增加一些实用功能,如:

1、针对弱视或色盲人群进行声音提示;

2、在遇到突发状况时,可以将红绿灯改为紧急模式控制;

3、当有119、120等特种车辆通过时,系统可转为特种车放行,其他车辆禁行。

但是这次实训我也发现自己的很多不足之处。在设计过程中我发现自己考虑问题很不全面,自己的专业知识掌握的很不牢靠,所掌握的编程语句还不够,很多程序都看不懂,我希望自己的这些不足之处能在今后的工作和学习中得到改善。而且,通过这次实训,我懂得了学习的重要性,学会了坚持和努力,这将为以后的学习做出了最好的榜样!

桂林电子科技大学实训说明书用纸

还有光有知识是不行的,还得有能力、有技术,单干也是不行的,要适当寻求合作,那样才能更好实现我们的价值。在实训中及社会上,我们都要懂得虚心地向别人学习,即使你觉得自己很厉害,但总有一些东西你是不懂的,所以不懂要多向别人请教,这样才能更好地提高自己的水平和能力,全面发展自己。

桂林电子科技大学实训说明书用纸

谢 辞

在这短短的两周EDA实训中,在这期间同学们都在努力学习,认真做自己各自的实训。在此我要特别感谢各位指导老师们对我的指导,还有各位同学对我的帮助,尤其感谢老师在百忙之中抽出时间为我们讲解设计原理,同时,还要感谢和我一起努力的各位同学,在他们对我的帮助很我自己的努力下,我才能顺利地完成这次实训。

这次实训我受匪颇多,但这多是得益于老师无微不至的关心和细心的教导。在实训中,让我学到了不少知识,给了我一次复习学过的知识的机会,巩固了基础知识。也多亏同学们的无私的帮助和支持,在我无助的时候还是他们伸出他们的友爱之手,帮我渡过难关,在此我也真心的多谢他们默默的帮助。最后再次对老师们说声:谢谢!

桂林电子科技大学实训说明书用纸

参考文献

基于FPGA的交通灯控制电路的设计 篇2

1 系统设计要求

所设计的交通信号灯控制电路,主要适用于在两条干道汇合点形成的十字交叉路口,路口设计两组红绿灯分别对两个方向上的交通运行状态进行管理。交通灯的持续闪亮时间由键盘输入控制。灯亮时序如图1所示,当B方向的红灯亮时,A方向对应绿灯亮,由绿灯转换成红灯的过渡阶段黄灯亮即方向红灯亮的时间等于A方向绿灯和黄灯亮的时间之和。同理,当A方向的红灯变亮时,B方向的交通灯也遵循此规则。各干道上安装有数码管,以倒计时的形式显示本道各信号灯闪亮的时间。当出现特殊情况时,各方向上均亮红灯,倒计时停止。特殊运行状态结束后,控制器恢复原来的状态,继续运行。

2 系统整体设计

整个系统设计如图2所示,该系统主要由计数模块、控制模块、分频模块、分位模块以及显示电路构成。其中分频模块主要将系统输入的基准时钟信号转换为1 Hz的激励信号,驱动计数模块和控制模块工作。控制模块根据计数器的计数情况对交通灯的亮灭及持续时间进行控制,并通过分位电路将灯亮时间以倒计时的形式通过数码管显示出来。图中Reset是复位信号,高电平有效可以实现对计数器的异步清零为保持信号,当Hold为“1”,计数器暂停计数,表示出现特殊情况,各方向车辆都处于禁行状态。

3 主要功能模块设计及仿真

3.1 计数模块设计

计数模块主要实现累加循环计数,计数的最大值由键盘输入控制,输出的计数值为控制模块的灯控提供参考,计数器的主程序设计如下:

计数模块的仿真如图3所示,从图中可以看出,在时钟的驱动下,计数值不断自加,当计数值countnum等于键盘输入值32(key=32)时,计数返回到0,开始下一轮计数。当Hold检测到特殊情况时置`1',使计数器暂停计数。

3.2 控制器模块的仿真设计

在控制器模块中,红、绿、黄三盏灯工作的总时间由键盘输入,各交通灯时间分配规则如下:红灯时间占总时间的1/2,绿灯时间占3/8,黄灯时间占1/8,本设计中键盘输入值为32(key=32),正常情况下红灯亮16 s,绿灯亮12 s,黄灯亮4 s。

控制器仿真情况如图4所示,当hold为低电平,计数值countnum<12时,greenA输出高电平,A东西方向绿灯亮起车辆通行,此时与之相对应的redB输出高电平,B方向红灯亮起车辆禁行。A方向显示交通灯闪烁持续时间的数码管numA从12开始递减,同时B方向显示交通灯闪烁持续时间的数码管numB从16开始递减。当1216,redA输出高电平,A方向红灯亮起车辆禁行,numA从数值16开始倒计时,此时greenB输出高电平,B方向绿灯亮起车辆通行,numB从数值12开始递减。当16

3.3 分位模块设计

分位模块的设计主要是将灯亮时间分为十位和个位,通过两个相应的数码管分别显示出来。本设计中灯亮时间最长不超过40 s(numin<40),numA,numB分别表示十位、个位上的数字,分位模块程序设计的流程图如图5所示。

分位模块的仿真如图6所示,numin的数值大小可以通过numA,numB的组合以十进制数值显示,从而实现了分位功能。

4 系统的硬件设计及调试

本系统的主要逻辑设计由一片EP1K30TC144-3芯片完成,编写的VHDL源程序在Altera公司的逻辑综合工具Max+PlusⅡ下经过编译和功能仿真测试后,针对下载芯片进行管脚配置,下载到EP1K30TC144-3芯片中,进行相应的硬件调试,调试结果与软件仿真的结果相吻合,验证了设计完成了预定功能。

5 结语

本文利用硬件描述语言VHDL编程,借助Altera公司的Max+PlusⅡ软件环境下进行了编译及仿真测试,通过FPGA芯片实现了一个实用的交通信号灯控制系统设计由于采用了技术不但大大缩短了开发研制周期,提高了设计效率,而且使系统具有设计灵活实现简单性能稳定的特点。

参考文献

[1]张明.VHDL实用教程[M].成都:电子科技大学出版社,1999.

[2]谭会生,张昌凡.EDA技术及应用[M].西安:西安电子科技大学出版社,2001.

[3]潘松,王国栋.VHDL实用教程[M].西安:西安电子科技大学出版社,2000.

[4]张顺兴.数字电路与系统设计[M].南京:东南大学出版社,2004.

[5]徐志军,徐光辉.CPLD/FPGA的开发与应用[M].北京:电子工业出版社,2002.

[6]蒋璇,臧春华.数字系统设计与PLD应用技术[M].北京:电子工业出版社,2006.

[7]王永华.现代电气控制及PLC技术[M].北京:北京航空航天大学出版社,2005.

[8]王成勇.智能交通灯控制系统[J].广东技术师范学院学报,2006(4):92-94.

[9]张海英,余臻,陈燕萍.模糊控制在智能交通灯监控系统中的应用[J].计算机技术与发展,2008,18(3):181-183.

基于FPGA的DDR控制器设计 篇3

关键词 DDR SDRAM VerilogHDL FPGA

DDR SDRAM是Double Data Rate Synchronous Dynamic Random Access Memory(双倍速率随机存储器)的简称,它采用2.5V的工作电压,在核心时钟的上升沿和下降沿传输数据,具有比SDR(single data rate) SDRAM多一倍的传输速率的优点。FPGA(Field-Programmable Gate Array)是一种可编程器件,在FPGA上可以实现任意数字电路功能。在电子通讯领域,数据量越来越大,对存储器的需求也越来越大;FPGA具有并行性、可编程等优点,它的应用场合也越来越广,在FPGA板卡上嵌入SDRAM已经应用在很多系统中,因此研究在FPGA平台上来实现DDR读写控制的方法具有重要的实际意义。本文第1、2节介绍基于FPGA的DDR SDRAM控制器的设计过程,第3节主要讲述控制器的调试。FPGA为Altera公司的cycloneIII, DDR为Hynix公司的16Mx16的DDR。

1 DDR SDRAM 的基本操作

本文采用的DDR具有四个BANK(就是被分为四个块);15根地址总线(其中包括2根BANK地址线和13根行列地址线;BANK地址标为BA1~BA0,行列地址线标为A12~A0);16根数据总线(DQ15~DQ0);两根数据捕获探针(DQS,双向信号线);两根写掩码信号(DM1~DM0,可一直设置为0);一对相位相反的主控时钟线(CLK_P,CLK_N);一根时钟使能信号(CKE);四根命令信号线:CS_N(片选信号),RAS_N(行地址使能信号),CAS_N(列地址使能信号)和WE_N(写使能信号)。

1.1 DDR SDRAM的指令

DDR的指令与SDR的指令基本一致,主要由CS_N,RAS_N,CAS_N和WE_N四个信号控制,它们的真值表如表1所示。命令是在主时钟的上升沿捕获。

1.2 DDR常见读写延时参数

CL:CAS latency,列地址有效到读出数据的延时,是在读数据的时候的读命令到数据输出的时间长度,它由厂商确定,主要有2,2.5,3(时钟周期个数)三个数值,可以通过寄存器配置。

tRCD:RAS to CAS latency,行地址(ACT命令)有效到列地址有效的最小延时,芯片属性,不可配置。

tRAS:行有效(ACT命令)到预充电命令的最小时延。

tRP:预充电命令到行有效的最小时延。

1.3 DDR的读写时序

DDR的读写数据是在DQS信号下捕捉的,数据的位数决定了DQS的位数,一位DQS信号负责捕捉八位数据信号。写操作时,DQS在数据信号DQ的中心捕获数据;读操作时,DQS在数据信号的边沿捕获数据[1]。在数据读写之前,需要先进行行有效操作,即ACT命令,然后经过tRCD的时间,执行读或写操作命令。在读操作中,读命令后还要经过CL(CAS latency)时间才开始读取数据。

2 控制器的设计方案

实现DDR的控制,重点需要解决:时钟体系问题,状态转换与指令操作三个方面。本文设计的DDR控制器主要有三个模块,分别是状态转换控制模块,指令译码模块和时钟模块,如图1所示。控制器的用户控制信号有CMD(用户发送的指令)与ADDR(用户地址)、DATAIN(DDR的输入数据)和DATAOUT(DDR的输出数据)。时钟模块提供DDR主时钟和控制器系统内部的数据时钟(CLK_X2)。在使用时,用户首先发送一个CMD到状态转换模块进行状态转换,然后控制器返回一个CMDACK响应用户,在第二个时钟周期将这个命令状态标志输入到指令译码模块进行指令译码,控制指令信号,完成相应的操作。伴随着状态的转换,相应的地址信号也锁存进DDR。

REF_CLK与RESET_N是系统时钟和全局复位信号,除了这两个信号与前述的用户控制信号外,图1中剩下的接口信号就是DDR的接口信号了。

2.1 时钟设计

根据DDR的时序要求,本文一共采用了三个时钟,分别是DDR的一对反相时钟(DDR_CLK_P,DDR_CLK_N)和数据控制时钟(CLK_X2,由时钟模块产生)。根据DDR的要求,指令信号要在DDR_CLK_P的上升沿采样,所以采用其反相时钟信号DDR_CLK_N来同步命令逻辑,使DDR_CLK_P的上升沿恰好在命令的中心。根据DDR读写数据的要求,采用了一个DDR系统时钟频率两倍的数据时钟,用来处理读写数据。

DQS是双向信号,在读数据时由DDR本身产生,在写数据时需要控制器来产生。因为在DDR中DQS与其系统时钟保持一致,只不过是有个偏差范围,所以采用DDR_CLK_P的开关时钟作为DQS信号,写操作中产生DQS信号(数据位宽为16, DQS位宽则为2)的Verilog代码:

assign DQS = oe ? ({2{DDR_CLK}}) : 2'bzz; //oe是写使能信号

如图2,DQ是在CLK_X2时钟下产生的,正好在DQS的边沿锁存。在读数据时DQ与DQS是边沿对齐,如图3,数据时钟(CLK_X2)的上升沿正好在数据的中心。综合读写操作,发现图2、图3中的CLK_X2和DDR_CLK_P及DDR_CLK_N的相位关系正好满足DDR的读写时序,时序余量比较大,所以采用这种时钟系统数据的读写稳定性就比较高了。

2.2 DDR的状态控制

DDR的控制器主要有读、写、预充电、刷新、配置模式寄存器等操作。图4是各种操作的状态转化图,是指指令之间转换的可能操作。DDR在工作时主要分为两个阶段:上电初始化和读写过程。初始化很重要,主要完成时钟稳定与寄存器配置的过程,它是一些指令的顺序执行过程。本文采用的DDR是Hynix公司的产品,其初始化配置过程如下[1]:

1.上电,开启时钟,并且稳定最小200μs的时间;

2.时钟稳定后,执行空指令,并且CKE=1;

3.配置扩展模式寄存器(EMRS)来使能DLL(Delay Locked Loop,延时锁定环),等待200个周期后进行下一步操作;

4.配置模式寄存器(MRS)来重启DLL,将芯片设置到等待状态(设置A8=1来重启DLL);

5.对所有BANK进行预充电;

6.执行两次或更多自刷新命令;

7.执行一次模式寄存器配置命令,来初始化模式寄存器,设置读写操作的参数;

8.等待200个周期后,初始化完成。

其中第3,4步操作中的等待200个周期可以在第4步后等待,即需要200个周期来锁定DLL。寄存器配置等操作是通过地址线来配置参数的,即通过设置BANK地址(BA1~BA0)和行列地址(A12~A0)设置参数。第3步配置EMRS中,设置A12~A0各位为0,第4步配置MRS时,要设置A8=1,其他为0。第7步,在配置读写参数时, A2~A0决定突发长度,A3决定突发类型,A6~A4决定CAS延时,A7是测试模式,A8指示是否DLL重启,另外BA0决定配置哪个模式寄存器[1]。

不同厂家的DDR初始化过程不尽相同,其寄存器配置的参数可能也不同,为了提高控制器的通用性,可以在控制器外来配置初始化操作。

然后就是读写过程,因为DDR的地址线是有限的,读写的时候是采用时分复用技术来实现完全的寻址过程的。DDR的地址线有15根,其中2根是BANK地址(BA1~BA0),剩下的是行列地址(13根,A12~A0),其中行地址为A12~A0,列地址为A8~A0,行地址与列地址分时复用,这样等效寻址线就是24根(2+13+9),寻址空间正好是16M。在初始化完成以后就可以进行读写了,按照DDR的时序要求,先进行行锁定(ACT命令),然后经过tRCD的时间,再执行读/写操作,同时锁定列地址。图5、图6分别是在modelsim仿真中的读、写时序图,突发长度为8(一次读/写8个数据),CL为3,tRCD时间大约为3个时钟周期;在ACT命令周期(CS_N=0,RAS_N=0,CAS_N=1,WE_N=1),锁定行地址,也即将图中的SA=0000H赋给A12~A0地址线;经过tRCD时间执行读/写命令,注意在读写命令时,列地址SA=0425H,实际上此时的列地址是0025H,只不过此时读写方式是带预充电的读写方式(A10=1,加上A8~A0=0025H,所以整个SA=0425H)。在图5中,写命令后开始写数据,DQ中心恰好在DQS的边沿;在图6中,读命令后需要经过CL时间才开始读数据,DQ与DQS对齐,符合DDR的时序要求。对比图5和图6,发现同一个地址写入数据与读出数据相同,表明设计的时序正确性。

2.3 DDR的读写效率

DDR需要定时刷新指令与预充电指令,所以合理地处理这两个指令可以有效地提高读写的效率。刷新是周期性操作,预充电是在地址换行的时候需要执行的操作,所以提高效率的主要方法就是合理的安排预充电命令。读写操作有两种方式:一种是带预充电的读写,一种是普通的读写。在采用普通读写时需要在地址换行的时候用预充电命令来重新进行行使能。两种读写方式在指令上的区别就是:带预充电的读写命令在ACT命令(此时,地址输入为DDR的行地址)时,将A10置高;而普通读写不需要将A10置高。

DDR的数据突发模式只有2、4、8三种,每读写一次数据都要进行ACT到READ/WRITE的过程,这样耗费了很多控制周期,效率不高。DDR的读写有一个特性,就是读写中断:一个读或者写操作可以被另一个读或者写操作中断,在一组连续的读(写)操作中,可以只在开头执行一次ACT命令,后面的读(写)命令可以不用ACT命令。针对这个特点,本文采用了突发为2的DDR读写方式,每两个数据都要进行一次读(写)地址和指令控制,只要在第一组数据时执行一个ACT命令,后面的过程都是普通读或者写命令,它可以实现任意偶数个数据的读写。例如视频领域经常对一帧图像数据进行处理(如去隔行处理[2]),存储的时候也是连续地址存储,存储器就可以连续的处理大批量的数据,时钟效率是比较高的。

当然这种方案是在一个行地址中进行数据读写的有效方法,当数据地址随机且经常跨越一行地址时就需要执行预充电命令。如果还是采用普通读写方式的话,下一个读(写)地址随机,这样需要经常在行地址变化时执行预充电命令,就会导致读写的效率下降。例如在视频编码中,预测编码是去冗余的最有效方法,预测就需要图像帧区域搜索[3],这时在存储器中表现为数据地址的随机性。这种情况下可以采用带预充电的读写命令,这样每个指令中都会进行预充电,就不必担心在地址换行的时候发生错误了。但是,每个指令之间必须有一定的间隔(突发长度/2+tRP),例如采用突发为8的读写时,每个指令之间的间隔就要最少有4+tRP个周期,所以设置突发模式为8的时候效率比较高。

4 硬件调试

在硬件调试前,软件仿真是非常重要的,一般在仿真中时序吻合的情况下是可以实现既定功能要求的,在FPGA设计尤其是高速设计中,调试前的时序分析与时序收敛至关重要,只有满足了时序收敛,设计才具有稳定性。本文代码综合阶段,采用了FPGA常用方法提高了设计的速度,比如增加流水线级数与消除亚稳态的方式[4] ,使CLK_X2达到333M,DDR时钟167M,还有时序余量,满足时序要求。

ALTERA提供一个集成于QUARTUSII软件中的FPGA片上debug工具:SignaltapII,它可以捕获和显示实时信号,观察在系统设计中的硬件和软件之间的互相作用。它的原理就是设定采样周期,实时采样数据并存储到PFGA内RAM中,然后通过JTAG接口传送到QUARTUSII来显示[5]。正是因为SignaltapII的实时性,在调试时需要注意读写验证的方法。初始化的配置过程很难观察到,只能验证后面的读写过程。因为RAM的容量有限,一次捕捉到的数据也是有限的,在板级调试时,需要以循环的方式进行读写数据指令的执行,以便在逻辑分析仪中捕捉到数据。本文采用先将数据写入一段地址中,然后在相同的地址中读出来,并且比较相同地址写入数据与读出数据是否相同的方法来验证DDR控制器是否正常工作。为了保证读写的可靠性,循环的方式采用遍历所有地址范围的方法,观察结果发现写入与读出的数据是完全吻合的。

5 结束语

本文通过对DDR时序的分析,给出了一种DDR控制器的设计方案。并且针对不同的寻址方式,给出了不同的读写方法,提高了读写效率。最终,控制器在ALTERA公司的cycloneIII系列芯片上实现,在板卡上能够控制Hynix公司的DDR芯片稳定地读写数据。存储器工作频率达到167M,数据稳定可靠,读写效率较高。

参 考 文 献

[1] hynix 16Mx16 DDR handbook[Z] Hynix Semiconductor Inc.

[2] 余兆明,査日勇,黄磊,周海骄. 图像编码标准H.264技术. 北京:人民邮电出版社,2005

[3] 毕厚杰. 新一代视频压缩编码标准——H.264/AVC. 北京:人民邮电出版社,2005

[4] (美)Steve Kilts著. 高级FPGA设计结构、实现和优化. 孟宪元译. 北京:机械工业出版社,2009

[5] Quartus II Handbook Version 9.1 [Z] San Jose,Altera Corporation

Controller Design of DDR Based on FPGA

Wang Weiping,Zhang Zhengbing

(Electronic & Information College,Yangtze University,Jingzhou 434023,China)

Abstract Base on analysing of the basic operating characteristics of DDR SDRAM,and the DDR timing requirements,this article propose a controller based on VerilogHDL language implementations.And gives a different read and write programs to improve the efficiency of the clock in different application environment.The RTL of controller logic is implemented on FPGA board,simulated in the modelsim and hardware verification take use of the logic analyzer (signaltapII) in quartusII,to ensure that the memory’s read and write are efficiency and reliability.

基于FPGA的交通灯控制电路的设计 篇4

本次设计主要分为四个部分,第一部分:信号产生电路;第二部分:电子示电路;第三部分:倒计时设计,第四部分:交通灯及交通灯控制电路

在本次设计中采用555定时器产生CP=1Hz的脉冲信号,经过用741192设计的预置状态为59的60进制加计数器和预置状态为29的30进制计数器。并使进位位作为脉冲输出,实现5分频,然后用芯片74161和74139实现南北干道和支东西干道红,绿,黄色灯亮的时间控制,最后一部分的减计数器选用74193进行级联计数,译码器选用cc4511,本人主要设计减计数器及数码管显示倒计时部分

一、设计任务与要求

1.东西方向绿灯亮,南北方向红灯亮,时间30。2.东西方向与南北方向黄灯亮,时间5s。3.南北方向绿灯亮,东西方向红灯亮,时间60。

二、方案设计与论证

根据设计任务与要求,我们可以知道这个交通灯的设计是分南北干道和东西干道的,两个方面的时间是不同的,东西方向通行30s,南北方向60s,这就要求我们要有两个计数器,根据我自己的经验,东西方向通行30s完,倒计时数字显示器会显示到0,然后切换到南北方向通行60s完之后, 倒计时数字显示器也会显示到0之后然后切换到南北方向,这样如此循环,由于黄灯是当两个计数器倒计时到5时开始闪,我们就可以在这时发出一个脉冲然后一直保持到0,或者是接收0~5这段时间的脉冲都可以控黄灯只在到了这段时间才亮;方案:

交通灯控制原理图:

2.a 交通灯原理框图

首先由555定时器产生1s的信号脉冲,通过由一些1k电阻和三片74LS245,两片74LS192处理构成定时电路处理,产生时间输出信号作用电子显示器,另一部分的1s的信号脉冲通过由两片74LS112的JK触发器组成的路灯控制电路的对1s的信号处理,产生对交通路灯有控制作用的电子逻辑信号,从而实现按要求的对路灯的正常控制。

2三、单元电路设计

3.1时间脉冲产生电路

由 555 定时器和外接元件 R1、R2、C 构成多谐振荡器,脚 2 与脚 6 直接相连。电路没有稳态,仅存在两个暂稳态,电路亦不需要外接 触发信号,利用电源通过 R1、R2 向 C 充电,以及 C 通过 R2 向放电端 放电,使电路产生振荡。电容 C 在 和 之间充电和放电,从而在输出端得到一系列的矩形波,且通过调节参数,使得产生的矩形波为1hz的也就是周期为1s的脉冲发生电路。

3.1a 1s脉冲信号产生电路

3.2电子显示电路

一个LED数码管可用来显示一位0~9十进制数和一个小数点。小型数码管(0.5寸和0.36寸)每段发光二极管的正向压降,随显示光(通常为红、绿、黄、橙色)的颜色不同略有差别,通常约为2~2.5V,每个发光二极管的点亮电流在5~10mA。LED数码管要显示BCD码所表示的十进制数字就需要有一个专门的译码器,该译码器不但要完成译码功能,还要有相当的驱动能力。

3.2a BCD码显示电路

3.3计时器电路

计数器

倒计时计数电路主要由计数器构成,它在整个系统设计中的作用是实现计时计数,在此我们选用减法计数器,因为本设计说明时间可预置,所以需要可预置数的减计数器。目前,在实际工程应用中,我们已经很少使用小规模的触发器去拼接成各种计数器,而是直接选用集成计数器产品。3.3a 74LS192 74LS193引脚图

本次课程设计需要50进制和30进制减计数器各一个,所以采用两个74193级联计数,将表示个位的计数芯片借位端BO连接后一级的CPD即可进行级联计数,后一级输出为十位位。以下为设计中用到的50和30进制减计数器。以下为计数器的逻辑电路图:

3.3b 范围为49~0的50进制减计数器

3.3c计数范围为29~0的30进减制计数器

3.4交通灯控制电路与交通灯

3.4,1交通灯控制电路

交通信号灯转换器其实就是由计数进制转换器来实现,即一个JK触发器,其中J、K端都同时接高电平,即构成了一个T’触发器,目的就是实现翻转功能,其时钟输入端是由倒计时计数器中的两片74192的八个输出端经过一个或门然后经过一个非门接入。

3.4.1a 交通灯控制电路

3.4,2交通灯模拟电路

S0:没有打开电源的状态。S1:东西方向绿灯亮,南北方向红灯亮,时间30s。S0,S1,S2,S3中任一状态下打开电源会进入S1状态,数码管初始值为60。数码管最大显示为60,出现“0”的瞬间进入下一状态。(S2)S2:东西方向与南北方向黄灯亮,时间5s。

数码管最大显示为30,出现“0”的瞬间进入下一状态。S3:南北方向绿灯亮,东西 方向红灯亮,时间60s。数码管最大显示为60,出现“0”的瞬间进入下一状态。

3.4.2a 交通灯模拟电路

心得体会

经过一周的努力,我终于完成关于交通灯控制电路的电子课程设计,通过一周不断的查资料让我积累了许多实际操作经验,已初步掌握了数电的应用技术,以及数字电路的知识和有关器件的应用,我深刻体会到了数子电路技术对当今现代社会的重要作用。经过这次设计,我学会了许多东西,学会了严密的思考,构想及怎样把计划付诸于实际行动之中。同时与社会的不断高速发展的步伐相比,我认识到自己所学的知识和技能还远远不足,有些实际性的问题还不能够解决,缺少很多有实际运用价值的知识储备,缺乏应有的动手解决实际问题的能力,缺乏些高效利用及筛选大量资料的能力,缺乏资源共享及应有的团队合作精神,有待进一步提高,我应当学好自己的专业知识以适应不断发展的社会。

在这次课程设计中,我学会了如何有效的利用网络资源及图书馆的藏书,找到了几个很不错的专业网站,为以后的查阅专业方面的信息和相互之间的交流打下了坚实的基础,学会了如何看电路图,识别电路图,提高了自己的专业技能,同时也培养了自己独立解决实际问题的能力,也培养了自己认真和严谨的科学态度,收到了很大的启发,为以后的工作积累了些宝贵的经验。

参考文献

[1]高吉祥.数字电子技术.北京:电子工业出版社

[2]梁宗善.电子技术基础课程设计[M].武汉:华中理工大学出版社 [3]李玲远,范绿蓉,陈小宇.电子技术基础实验.北京:科学出版社 [4]彭介华.电子技术课程设计指导[M].北京:高等教育出版社 [5]康光华

基于FPGA的交通灯控制电路的设计 篇5

目的:本文以AT89S51 单片机为核心器件,设计了多功能交通灯控制系统。软件仿真和硬件实现的结果表明该系统具有红绿灯显示功能、时间倒计时显示功能、左转提示和紧急情况发生时手动控制等功能。

由于计算机技术、自动控制技术和人工智能技术不断发展,城市交通的智能控制有了良好的技术基础,各种交通方案实现的可能性大大提高。城市交通控制系统是用于城市交通数据监测、交通信号灯控制与交通疏导的计算机综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。本文设计的交通灯管理系统在实现了现代交通灯系统的基本功能的基础上,增加了左转提示和紧急情况(重要车队通过、急救车通过等)发生时手动控制等功能。交通方案:东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯和一组红、绿两色的左转指示灯,指挥

车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。黄灯闪亮提示人们注意红、绿灯的状态即将切换,且黄灯闪亮时间为东西、南北两干道的公共停车时间.。当发生紧急情况发生时,所有信号灯转变为红色禁行信号。当深夜时, 信号灯呈黄灯缓行信号。2 电路设计

2.1 电源电路设计

由于单片机工作时需要的+ 5V 电压,所以在设计电源电路时,需要一个电子元件能提供+ 5V电压,本文采用7805 提供5V 的电压,即在7805 的1 脚和公共接地端(即2 脚)之间接入0.3μF 的电容,在公共接地端和三脚+ 5V电压输出端之间接入0.1μF 的电容。

2.2

复位电路设计

MCS51 提供了初始化的手段。有了它可以使程序从指定处开始执行,即从程序存储器中的0000H 地址单元开始执行程序。在MCS51循环复位。只有当RST 由高电平变低电平以后,MCS51 的时钟可以由两种方式产生,一种是内部方式,利用芯片内部的振荡电路;另外一种为外部方式。本文根据实际需要和简便,采用内部振荡方式.MCS51 虽然有内部振荡电路,但要形成时钟,必须外接元件所以实际构成的振荡时钟电路.外接晶体以及电容C1 和C2 构成并联谐振电路接在放大器的反馈回路中。对接电容的值虽然没有严格的要求,但电容的大小会影响振荡器频率的高低、振荡器的稳定性、起振的快速性和温度的稳定性。晶体频率可在1.2MHz~12MHz 之间任选,电容C1 和C2 的典型值在20pF~100pF 之间选择,考虑到本系统对于外接晶体的频率稳定性要求不高,所以采取比较廉价的陶瓷谐振器。由于本系统应用的机器周期为1μs ,所以晶振选择为12MHz ,根据调试电容选择30pF。

在硬件电路焊接时,晶体或陶瓷振荡器和电容应该尽可能地与单片机芯片靠近,以减少寄生电容,可以更好地保证振荡器稳定和可靠的工作。

2.4

数码时间显示电路

七段LED 数码管是有八个发光二极管构成,通过给其引脚不同的高低电平,从而显出0~9 的数字和小数点。本文的交通灯数字显示部分,通过将四个一位数码管并联通过P1口控制作为个位实时显示,四个数码管并联通过P3 口控制作为十位实时显示,但考虑到单片机的系统功耗问题以及焊接电路后的实际显示效果等, 本部分的电路中又引入一7805 进行单独供电。交通灯的时间倒计时显示部分是通过将数码管分别与单片机的P1 口和P3 口连接,通过单片机

内部已经烧录好的程序,对P1 口和P3 口进行电平输出控制,从而实现数码管的倒计时时间显示。

2.5

信号灯电路设计

本部分电路设计,应用单片机的P0 口对直行方向提示灯控制,P2 口对左转方向提示灯控制。其中P0.0 ,P0.1 ,P0.2 三个输出控制口,分别控制东西方向上的绿灯、黄灯、红灯。P0.3 , P0.4 , P0.5 三个输出控制口,分别控制南北方向上的绿灯、黄灯、红灯。P2.0 ,P2.1 ,两个输出控制口,分别控制东西道左转方向的绿灯和红灯.。P2.2 ,P2.3 两个输出控制口分别控制南北道左转方向的绿灯和红灯。3

软件设计

本设计使用keil 软件完成该系统的软件设计.通过新建源文件、建立工程文件、编译和连接,最后生成所需单片机烧录的HEX文件。依据硬件电路图和设计方案设计的本系统实现程序如下: ①东西红灯,南北绿灯,倒计时30s 部分程序:

MOV P0 , # 0F3H;东西方向红灯,南北方

向绿灯

MOV P2 , # 09H;东西左转红灯,南北左转绿灯

MOV P1 , # 0C0H;倒计时时间个位显示0 MOV P3 , # 0B0H;倒计时时间十位显示3

⋯⋯

②黄灯闪烁,倒计时5s 部分程序: MOV P0 , # 0EDH;黄灯点亮

MOV P1 , # 92H;倒计时时间的个位显示5 MOV P3 , # 0C0H;倒计时时间的十位显示0

⋯⋯

③东西绿灯南北红灯,倒计时30s 部分程序: MOV P0 , # 0DEH;东西方向绿灯,南北方向红灯

MOV P2 , # 06H;东西左转绿灯,南北左转红灯

MOV P1 , # 0C0H;倒计时时间个位显示0 MOV P3 , # 0B0H;倒计时时间十位显示3

⋯⋯

④紧急状况控制程序 JB P2.7 ,L1 JMP L2

L1 : JMP ZHONGDUAN L2 : MOV P1 , # 0C0H MOV P3 , # 0B0H

⋯⋯

ZHONGDUAN: MOV P0 , # 0EDH 4

系统的硬件实现

通过对AT89S51 专用底座的焊接、时钟电路的焊接、复位电路的焊接、数码管和信号灯的焊接、电源电路的焊接,最后完成了本文设计的交通灯系统。

通电进行调试后证明该硬件系统实现了绿灯显示功能、时间倒计时显示功能、左转提示和紧急情况发生时手动控制等功能。5

结论

基于FPGA的频率计电路设计 篇6

本研究利用了FPGA的集成度高、稳定性可靠、可直接编程的优点,采用倍频计数法应用FPGA设计频率计电路,相对采用CPLD及其他利用分立元件的设计,可大大减少硬件开销,缩短开发周期,提高设计效率,并能缩小PCB面积。

1 主要研究内容

本研究就提高高频测频范围、测频精度及降低测频成本,提出了一种现实可行的方案。本方案是在测频方法———计数法的基础上利用了FPGA中性价比较高的芯片———Cyclone中的锁相环,在对被测频率进行了倍频之后再进行了计数。为了频率测量,我们用的参考时钟晶振为16MHZ。我们要求测频范围为25M-40MHZ,测量精度:10-5。在本文中我们用的方法是倍频计数法。

2 总体设计方案

总的设计方案是首先设计Cyclone FPGA芯片内部电路,包括控制部分(提供0.1ms的参考时钟和计数清零信号)、倍频计数部分电路(由锁相环和计数器组成)、锁存电路和二进制码转换为BCD码电路;再考虑Cyclone FPGA芯片外围电路,包括检测信号输入到Cyclone FPGA芯片前的滤波电路和最后的数据显示电路。

2.1 Cyclone FPGA芯片内部电路设计思想

(1)控制部分电路设计思想:由于要求每0.1ms输出数据一次,也就是说每0.1ms计数一次,计数完后重新开始计数,所以控制部分电路产生一个周期为0.1ms的时钟脉冲,在这个0.1ms的时钟脉冲之后立即产生一个计数器清零信号。因此对参考时钟晶振16MHZ的脉冲信号分别经过模为1600(产生的进位输出作为计数参考时钟)和模为1601(产生的进位输出作为计数清零信号,而且该脉冲还控制着控制部分电路的清零,以便确保所有计数器同步工作)的分频。

(2)倍频计数部分电路设计思想:由于Cyclone FPGA芯片内部IP核PLL,所以倍频电路由该PLL构成;而计数电路用一个计数器来承担即可。

(3)锁存器和二进制转换位BCD码电路设计思想:(1)因为要对倍频计数电路的输出数据要进行锁存,而且是在计数0.1ms时计数,所以想到用参考时钟为0.1ms的脉冲信号在高电平时进行计数锁存并输出锁存数据,因为计数器输出为十六位,故数据输入端口设计为十六位,以达到位宽匹配。(2)要把锁存器输出的16位的数据进行数码管显示,就得对这十六位的二进制代码进行转换为BCD代码的操作,才可以输入到译码显示驱动中,再进一步送到数码管进行显示。显示是在锁存之后进行的,可利用参考时钟为0.1ms的脉冲信号的持续时间较长的低电平时进行代码转换操作。数据输入端设置为16位。由16位的输出可得最大输出为64k,所以输出为20位的BCD代码,即输出端口设置为20位。

2.2 Cyclone FPGA芯片外围电路设计思想

外围电路包括被测前的滤波和测频后的显示两部分。

(1)被测信号由于有不同程度的杂波,为了提高系统的稳定性和满足测频要求,要对被测信号在测频前进行滤波。因为测频范围是高频,所以滤波电路设计为高通滤波器,它由一个电阻和一个电容组成。

(2)16位测频数据经过二进制转换为20位的BCD代码后,先得经过数码管显示驱动进行代码转换,使其成为数码管驱动然后才能送到数码管里进行显示,所以这部分包括两种器件:数码管译码驱动和数码管。

3 基于FPGA的频率计硬件原理图设计

这里主要是将FPGA内部分配好的数据输入输出管脚和FPGA外围电路连列起来。分为四部分:电源部分、内部设计的输入输出管脚与外围电路连接部分、与配置芯片连接部分、JTAG口连接部分。

电源部分:按照Cyclone EP1C3T100C6芯片工作的要求电源连接相应的电源即可。

内部设计的数据输入输出管脚与外围电路连接部分:内部电路的输入是能端口要接高电平,并于高电平之间结一开关,用来控制电路工作;内部的输入使能端口与输入是能端口接法相似,只是在开关靠近芯片的连接线上多加一接地电阻,该路信号在整个电路工作时开关断开,即复位信号接低电平,出现异常时可合上开关来进行整个电路的复位;被测信号输入管脚与输入信号的连线上搭载一高通滤波电路;参考时钟输入管脚直接晶振输入;20位数据输出端口与五片7段译码显示驱动芯片的数据输入端口相连即可;另外7段译码显示驱动芯片的输出与数码管的输入之间的连线应该接10K大小的电阻。

与配置芯片连接部分:配置模式选择AS模式,连接框图如图一所示。图二是带有下载电缆接口的AS配置模式原理框图,其整个配置过程如下:

EPCS1/4的管脚n CS为低电平时,在Cyclone EP1C3T100C6芯片的DCLK管脚输入到EPCS1/4管脚DCLK的信号的上升沿时,用QuartusⅡ软件进行配置操作,此时QuartusⅡ将用Verilog HDL语言编写的源代码转换成后缀名为.pof的可编程文件,并经下载电缆下载到EPCS1/4的管脚ASDI,通过ASDI管脚可编程数据被锁存到EPCS1/4当中;可编程数据输入EPCS1/4完成后,在DCLK管脚的信号下降沿到低电平这段时间,配置芯片内的可编程数据通过管脚DATA送入Cyclone EP1C3T100C6芯片当中,这些数据开始对Cyclone EP1C3T100C6芯片进行初始化。

JTAG口连接部分:连接图如图三所示,其操作过程是将JTAG口的一段连接到图一的JTAG接口上,另一端接到PC上,然后进行QuartusⅡ配置程序操作,File/Tools/Programmer,弹出如图四所示对话框,添加设计工程中后缀名为.sof的文件,按Start,即可把程序下载到Cyclone EP1C3T100C6芯片当中,这样就可以调试了。

4 结束语

由于FPGA的逻辑单元较CPLD多,利用这点可以将很多分立芯片的功能只用一片FPGA芯片实现,既可降低成本,又可提高频率计的稳定性。被测信号经过倍频后才计数,提高了精确度。经过了时序分析和系统调试,频率计的整个系统基本上完成了测频功能,系统比较稳定。精度、测频范围等基本要求都达到了,结果可以接受。基于FPGA的频率计的电路设计与单纯的硬件电路设计相比节约了硬件资源,缩小了电路板的面积,提高了设计效率,并提高了系统的稳定性。

参考文献

[1]李洪伟,袁斯华.基于QuartusⅡ的FPGA/CPLD设计[M].北京:电子工业出版社,2006.

[2]王诚,吴继华.Altera FPGA/CPLD设计(基础篇)[M].北京:人民邮电出版社,2005.

[3]林伟,姜抚岐.Protel2004原理图与PCB设计实例[M].北京:机械工业出版社,2006.

[4]朱正伟.EDA技术及应用[M].北京:清华大学出版社,2005.

基于FPGA的交通灯控制电路的设计 篇7

【摘 要】从城市轨道交通控制专业的教学实际出发,引入CDIO工程教育理念,分析城市轨道交通控制人才培养目标、培养过程、工学结合和校企合作理念,并分析CDIO模式项目化教学的课程设置思路,设计出适合高职学生的城市轨道交通控制专业课程体系,以及课程体系实施的保障措施。

【关键词】城市轨道交通控制专业 CDIO人才培养 课程体系 保障措施

【中图分类号】 G 【文献标识码】A

【文章编号】0450-9889(2014)01C-0048-03

随着中国经济的飞速发展和城市化进程的加快,中心城市不断在向周边辐射,轨道交通建设的紧迫性也在增加。中国城市轨道交通进入大发展时期,各地建设城市轨道交通的热情日渐高涨,多个城市兴建城市轨道交通系统,对城市轨道交通控制方面的人才需求大。我院根据企业城市轨道交通急需用人的情况,新增开设城市轨道交通控制专业,且一直致力于城市轨道交通控制专业的人才培养。

高等职业教育的目标是对受教育者施以从事某种职业所必需的知识、技能的训练,其宗旨是培养适应生产、建设、管理、服务第一线的高等应用型、技能型人才,理论和实践相结合是职业教育的本质特征。为了实现这一目标,需要有一个科学、有效的人才培养与教学模式及方法。由于城市轨道交通是新兴行业,在城市轨道交通控制专业的人才培养经验较少,城市轨道交通控制专业方向还没有较统一的课程体系和课程设置方案。城市轨道交通控制所应用的管理理念、列车运行中所采用的新的控制模式、运用的设备与大铁路大有不同。新专业所培养的学生除了需要有大铁路应具备的信号基础知识外,更需要有城市轨道交通管理的理念和维护、维修城市轨道交通设备的理论知识和技能水平,考虑到城市轨道交通控制专业的特殊性,同时考虑到市场对城市轨道交通控制专业人才的需求,系统地思考和分析城市轨道交通控制专业方向的课程体系设置和建设方面的问题具有重要的意义。

一、CDIO工程教育模式

CDIO是美国麻省理工学院和瑞典皇家工学院等教育机构创立的一种工程教育理念和教学应用模式,其核心就是一体化,即融工程科学、工程学科知识和工程实践能力整合为一体的工程教育方法。它把构思(Conceive)、设计(Design)、实现(Implement) 和运作 (Operate)作为工程教育的环境。CDIO改革的主要目标是以C-D-I-O的产品或服务从研发到运作的生命周期为载体,使教师与学生以一定角色主动参与融入课程教学和工程实践的情景环境,让学生以主动的、实践的、课程之间有机联系的方式学习工程。CDIO强调做中学、学中做,把多门课程统一地融入到项目实践中,彻底打破传统教学中各自独立的局面。学生要全面掌握学习多门课程之间的联系,综合解决问题。

CDIO培养大纲将工程毕业生的能力分为工程基础知识、个人能力、人际团队能力和工程系统能力四个层面,大纲要求以综合的培养方式使学生在这四个层面达到预定目标。CDIO模式不仅提出以能力培养为目标的大纲,而且系统地提出了能力培养、实施指导以及实施过程和结果检验的12条标准,是“做中学”和“基于项目教学”的集中概括和抽象表达,具有很强的可操作性。

二、高职城市轨道交通控制专业人才培养理念

(一)人才培养目标

城市轨道交通控制专业培养城市轨道交通通信信号工作岗位职业技术能力和较强的学习能力、适应能力,培养安全意识强、劳动纪律性强、符合从事城市轨道交通行业的信号设备维修养护、技术改造和经营管理、生产管理、技术管理以及工程设计、技术引进、科研开发、试验研究等工作,具有良好的沟通和团队合作能力、具备良好的职业岗位技能、具有健全人格和良好职业道德的高素质技能型人才。

(二)基于CDIO的人才培养过程

CDIO理念下的高职城市轨道交通控制专业人才培养以工程项目为载体,采用理论实践一体化和教学一体化的教学模式。在整个教学过程中,以教师为主导、学生为主体,按照项目分析、知识准备、问题解决、项目搭建和演示以及项目评价反馈的流程组织教学,培养学生的自学能力、团队协作能力、系统开发能力和职业素养。

(三)有机融合工学结合的优势

工学结合以职业为导向,以提高学生就业竞争力为目的,强调学习与工作相结合,理论联系实际,理论是实践的基础,实践是理论的升华。工学结合人才培养模式的功能主要是提高学生的职业素养,提高学生职业素养的工学结合主要是在真实工作环境中的顶岗实习,在真实的工作环境中,学生学会如何对待同事,如何对待领导,如何进行团队合作。为了不影响课程的学习,可以将城市轨道交通控制专业顶岗实习安排在最后一学期,同时要求结合顶岗实习的实际完成毕业设计,只要加强管理,既可以工学结合、顶岗工作,又能结合具体实际完成毕业设计。

(四)深化校企合作

校企合作是城市轨道交通控制专业课程设计最有效的途径。为此,城市轨道交通控制专业的课程设计过程中,需要提高企业参与城市轨道交通控制专业教学的积极性和工学结合的效果,通过多种途径实现校企合作,如企业主动参与课程设计、共同开发课程、校企共同明确课程的教学目标,共同确定课程的典型工作任务、职业能力和学习情境,并参与教学内容的选择和排序、教学方法的探讨及考核标准的制定,共建共享实训基地、共同开展应用研究与技术开发,聘请企业兼职教师指导实际教学等,从而确保城市轨道交通控制专业课程整体设计更好地体现职业性、实践性和开放性。

三、基于CDIO 的高职城市轨道交通控制专业课程体系设计

(一)CDIO模式项目化教学的课程设置思路

项目教学法,是师生通过共同实施一个完整的项目工作而进行的教学活动。在课程体系设计过程中,城市轨道交通控制专业根据CDIO模式进行项目化教学的课程设置,针对不同的课程群选择不同的现场真实系统设备维护项目,并且按照不同的课程内容把现场项目分解为与之对应的教学项目。

课程安排由简入难,根据城市轨道交通控制专业工种划分核心课程,采用项目阶梯式教学,即把所有工种的工作任务作为一个整体的教学项目,每一门课程就可以作为其中的子项目,每个子项目之间又有系统设备的联系,需要相互配合,才能完成城市轨道交通控制系统的功能,所以各门课程又互为其他课程的基础或是延续。整个课程体系以项目为依托,城市轨道交通控制专业课程本身就是一个大城市轨道交通控制系统项目,列控中心信号系统、车辆段信号系统、正线信号系统、车载信号系统,每个工种都是项目的一部分,每门课所教学的维护过程就是整个城市轨道交通控制系统项目的进展过程。学生在学习的过程中,要不断地对学习的每个工种系统的知识进行整合,并深刻理解每个系统之间的联系,形成整体的概念,并完成相应的项目需求,保证整个城市轨道交通控制系统项目的互联互通。

(二)城市轨道交通控制专业的课程体系设计

依据 CDIO能力成熟度等级的特征,高职城市轨道交通控制专业的教学安排分为四个阶段,分别为:职业素养和综合能力培养阶段,课程安排在第一学期,培养学生的职业道德和人文素养;专业基础能力培养阶段,安排在第二、三学期,使学生掌握从事城市轨道交通控制专业工程领域的基础知识;专业能力培养阶段,安排在第三、四学期,学习职业技术基础模块课程,重点结合二级和三级工程项目进行“做中学”,形成自主学习、团队协作系统构建和设备维护的基本工程能力,塑造学生设备维护能力、团队协作能力;专业发展能力培养阶段,安排在第五、六个学期,第五学期学习就业方向课程,引进当前城市轨道交通控制新技术、新方法和新平台,采取师生合作和探究式学习方法,对学生的职业岗位能力进行训练,使学生在进入岗位前就具备较好的实践经验;第六学期让学生参加顶岗实习,实现从学校到公司职场的转变,从而实现工学有机结合。

根据CDIO模式项目化教学课程设计的思路,城市轨道交通控制专业课程体系中培养职业素养和综合能力的课程有:公关礼仪、应用文写作、思想道德修养和法律基础、毛泽东思想概论和邓小平理论及三个代表重要思想概论、军事理论、大学体育、公共英语、计算机文化基础、公益劳动。专业基础能力的课程有:电路分析基础、电子技术基础(模电部分)、电子技术基础(数电部分)、单片机原理与接口技术、计算机通信与网络技术。专业能力课程有:城市轨道交通信号基础设备、城市轨道交通车辆段信号设备与维护、城市轨道交通正线信号设备与维护、城市轨道交通车载信号设备与维护、城市轨道交通列控中心信号设备与维护、城市轨道交通电源设备与维护、信号设计与施工。专业发展能力的课程有:智能交通系统、传感器与检测技术、城市轨道交通环境与设备监控系统、信号新技术、城市轨道交通传输线路。城市轨道交通控制课程体系结构框图如图1所示。

图1 教学体系结构框图

四、基于CDIO 的高职城市轨道交通控制专业课程体系实施保障措施

(一)实训基地建设

对高职院校来说,实验、实训基地建设是CDIO模式课程体系建设的保障。为了培养学生的专业实践能力,需要建立一批联办、协作的相对稳定的校内校外实习基地,对已有的校外实习基地进行深层次的合作。通过校内外实验实训基地建设,对学生进行阶梯式项目教学,使得学生在学习过程中就能获得丰富的项目经验,开展产教结合、产学研结合活动,把实验、实训与生产、经营、培训、技术开发结合起来,充分发挥它的社会效益和经济效益。

(二)师资队伍建设

由于CDIO模式基于项目化教学方式,各门课程紧密相连,形成了城市轨道交通控制系统课程的整体,为了使各门课程很好地联系,需要组建教学团队,教师间对所教学的内容要熟练掌握,对其它课程也要了解。因此,各任课教师可以采用集体备课、共同探讨、交互授课的方式。在项目化教学中应以学生为主体,课内课外一体化,培养学生自学能力和创新能力,备课过程中要把抽象的内容放到具体的实践项目中,激发学生学习兴趣,授课过程中要改进教学方法和教学手段,充分利用多媒体技术,教师间应互相听课、互相切磋、互相评议,提高授课效果,了解整个专业课程的横向联系和学生的学习状况,共同推进整个专业项目。教学团队应在假期多外出学习、锻炼,提升教学团队的素质和能力,把现场的新技术、新理念带进课堂,丰富教学内容,提高教学效果。教学团队教师应主动参与企业的科研项目和技术攻关,引进企业项目,加强校企合作。

(三)教材建设

加强教材配套建设是CDIO模式课程体系建设的一种强有力的保障,针对城市轨道交通控制专业高职学生的特点进行教材建设是十分必要的,因此需要编写项目化教学的教材。进行教材设计的主导思想是:首先,树立素质教育观念,以培养学生素质为宗旨;其次,从教学内容、教学难度和课后训练都依托项目为背景,更多地重视实践和实训;再次,坚持一切从实际出发,既考虑到高职学生的实际接受能力以及他们的特点,同时也考虑城市轨道交通控制专业的特点以及社会对城市轨道交通控制人才的需求。

随着城市轨道交通控制专业建设的不断成熟和发展,特别是师资队伍水平的提高、实验实训基地建设和教材建设的完善,基于CDIO模式的城市轨道控制专业课程体系一定能够发挥重要的作用,大大提高城市轨道交通控制专业的教学质量,培养更多优秀人才为我国的城市轨道交通事业服务,同时为促进CDIO教育模式的改革、创新和现代职教体系的建设提供借鉴。

【参考文献】

[1]薛健飞,袁志华,谢旭东.基于CDIO的高职创新人才培养模式探析[J].职教论坛,2011(5)

[2]查建中.工程教育改革战略“CDIO”与产学合作和国际化[J].中国大学教学,2008(5)

[3]康全礼,陆小华,熊光晶.CDIO大纲与工程创新型人才培养[J].高等教育研究学报,2008(4)

[4]陈丽婷.CDIO工程教育模式在职业教育课程体系中的应用[J].职教论坛,2010(8)

[5]陈解放.基于中国国情的工学结合人才培养模式实施路径选择[J].中国高教研究,2007(7)

[6]侯晓音.浅谈城市轨道交通控制专业人才培养方案的课程项目化设计[J].群文天地,2012(9)

[7]张志刚,项莉萍,曹维祥. 基于CDIO的高职软件技术专业课程体系构建[J].计算机教育,2012(20)

[8]米秀杰.高职城市轨道交通控制专业建设的探索与实践[J].大家,2011(6)

【基金项目】2013年度广西高校科学技术研究项目(2013YB358)

注:本文为网友上传,旨在传播知识,不代表本站观点,与本站立场无关。若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:iwenmi@163.com

上一篇:为什么选择创业下一篇:初中化学发展史

付费复制
文书易10年专业运营,值得您的信赖

限时特价:7.9元/篇

原价:20元
微信支付
已付款请点这里联系客服
欢迎使用微信支付
扫一扫微信支付
微信支付:
支付成功
已获得文章复制权限
确定
常见问题