基于FPGA的交通燈系統(tǒng)控制設(shè)計(jì)
狀態(tài)計(jì)時(shí)電路由兩片74190級(jí)聯(lián)而成,構(gòu)成22和16自翻轉(zhuǎn)的電路。其要解決的核心問(wèn)題包括置數(shù),翻轉(zhuǎn)和借位。根據(jù)74190芯片的特點(diǎn),可分析其實(shí)現(xiàn)原理如圖4所示,通過(guò)溢出信號(hào)RCON的上升沿實(shí)現(xiàn)借位,使得數(shù)字能夠從20到19,個(gè)位向十位借位,順利過(guò)渡。
置數(shù)和翻轉(zhuǎn)之間有先后關(guān)系,即須先置數(shù)后翻轉(zhuǎn)。如表3所示,分析兩個(gè)BCD碼各位特點(diǎn),可知兩者D7D6D3D0位均為1,D1位均為0,而D5D4D2位不同,如圖5,D5D4D2位由狀態(tài)電平S來(lái)控制,當(dāng)為I狀態(tài)時(shí),計(jì)數(shù)器的預(yù)置的數(shù)為D5=0,D4=D2=1,而為J狀態(tài)時(shí),計(jì)數(shù)器的預(yù)置的數(shù)為D5=1,D4=D2=0,根據(jù)74190的功能,將2片74190的MAX/MIN引出,通過(guò)與非門(mén),分別連在高位和低位的LDN置數(shù)端,通過(guò)分析可知,當(dāng)計(jì)數(shù)器從01減到00時(shí)候,高低位的MAX/MIN均為高電平,經(jīng)過(guò)與非門(mén)以后為低電平,74190被置數(shù),其置數(shù)值由狀態(tài)S來(lái)決定,S是由LDN端信號(hào)經(jīng)
過(guò)一個(gè)T’觸發(fā)器決定的,即LDN信號(hào)每置數(shù)一次,S翻轉(zhuǎn)1次,從而區(qū)分16和22狀態(tài)。按這個(gè)結(jié)構(gòu),可分別置數(shù)16和22,使其實(shí)現(xiàn)自翻轉(zhuǎn)。
圖5為狀態(tài)定時(shí)模塊的實(shí)際連接圖。
1.3.3 時(shí)間顯示
時(shí)間顯示要用到7段顯示譯碼電路,由于是兩位BCD碼,故用二選一數(shù)據(jù)選擇器。選擇端S接一個(gè)頻率很高的方波(如1 kHz);數(shù)據(jù)比較器的輸出和1 Hz脈沖作為AHDL模塊的輸入,即可正確顯示時(shí)間。
為正確顯示時(shí)間,用AHDL文件自編譯碼真值表如下:
評(píng)論