4_3交通控制器的设计与绪论.ppt

4.3 交通控制器的设计与分析 4.3.1 系统设计要求 4.3.2 系统设计方案 4.3.4 主要VHDL源程序 4.3.4 系统仿真/硬件验证 4.3.5 设计技巧分析 4.3.6 系统扩展思路 4.3.1 系统设计要求 设计一个由一条主干道和一条支干道的汇合点形成的十字交叉路口的交通灯控制器,具体要求如下: (1) 主、支干道各设有一个绿、黄、红指示灯,两个显示数码管。 (2) 主干道处于常允许通行状态,而支干道有车来才允许通行。 (3) 当主、支道均有车时,两者交替允许通行,主干道每次放行45 s,支干道每次放行25 s,在每次由亮绿灯变成亮红灯的转换过程中,要亮5 s的黄灯作为过渡,并进行减计时显示。 4.3.2 系统设计方案 交通控制器拟由单片的CPLD/FPGA来实现,经分析设计要求,拟定整个系统由9个单元电路组成,如图4.17所示。 4.3.3 主要VHDL源程序 4.3.3.1 交通灯控制器JTDKZ的VHDL源程序 --JTDKZ.VHD LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY JTDKZ IS PORT(CLK,SM,SB:IN STD_LOGIC; MR,MY,MG,BR,BY,BG: OUT STD_LOGIC); END ENTITY JTDKZ; ARCHITECTURE ART OF JTDKZ IS TYPE STATE_TYPE IS(A,B,C,D); SIGNAL STATE: STATE_TYPE; BEGIN CNT:PROCESS(CLK) VARIABLE S:INTEGER RANGE 0 TO 45; VARIABLE CLR,EN:BIT; BEGIN IF(CLKEVENT AND CLK=1)THEN IF CLR=0 THEN S:=0; ELSIF EN=0 THEN S:=S; ELSE S:=S+1; END IF; CASE STATE IS WHEN A=MR=0; MY=0; MG=1; BR=1; BY=0; BG=0; IF(SB AND SM)=1 THEN IF S=45 THEN STATE=B; CLR:=0; EN:=0; ELSE STATE=A; CLR:=1; EN:=1; END IF; ELSIF(SB AND (NOT SM))=1 THEN STATE=B; CLR:=0; EN:=0; ELSE STATE=A; CLR:=1; EN:=1; END IF; WHEN B=MR=0; MY=1; MG=0; BR=1; BY=0; BG=0; IF S=5 THEN STATE=C;CLR:=0; EN:=0; ELSE STATE=B; CLR:=1; EN:=1; END IF; WHEN C=MR=1; MY=0; MG=0; BR=0; BY=0; BG=1; IF(SM AND SB)=1 THEN IF S=25 THEN STATE=D; CLR:=0; EN:=0; ELSE

文档评论(0)

1亿VIP精品文档

相关文档