一種基于CPLD的交通燈控制系統(tǒng)設(shè)計(jì)
撥動(dòng)開關(guān)高電平位表示1,低電平表示0,復(fù)位信號(hào)占撥動(dòng)開關(guān)的一位,有1、0兩種狀態(tài);東西方向和南北方向的紅燈以及黃燈各占兩位,各有00、01、10、11四種狀態(tài),相對(duì)應(yīng)表1中的四種時(shí)間。設(shè)計(jì)框圖如下: 本文引用地址:http://www.ex-cimer.com/article/163467.htm
3 系統(tǒng)軟件設(shè)計(jì)及實(shí)現(xiàn)
3.1 頂層設(shè)計(jì)
根據(jù)交通燈控制系統(tǒng)的要求,我們將主控電路分為分頻器、信號(hào)控制器兩個(gè)模塊,在isplever開發(fā)平臺(tái)上,分別編譯這兩個(gè)模塊的VHDL程序,然后用原理圖輸入法做出項(xiàng)層設(shè)計(jì)模塊(見圖3),其中輸入的信號(hào)有16MHz的基準(zhǔn)時(shí)鐘脈沖、設(shè)定值輸入及復(fù)位信號(hào);輸出信號(hào)包括兩個(gè)方向的綠燈、黃燈、紅燈控制信號(hào),倒計(jì)時(shí)計(jì)數(shù)器的十位、個(gè)位的8421BCD碼信號(hào)。
3.2 分頻器模塊
分頻器模塊是對(duì)輸入16MHz的脈沖進(jìn)行分頻,把這個(gè)固定頻率的時(shí)鐘脈沖通過分頻轉(zhuǎn)化為低頻率的脈沖,得到的1Hz信號(hào)用作控制器的時(shí)鐘信號(hào)。圖4為分頻器模塊的框圖。下面為分頻主要程序:
3.3 控制器模塊
控制器模塊的功能是控制信號(hào)燈的亮滅和數(shù)碼管的顯示。對(duì)于控制器模塊,其輸入信號(hào)為1Hz的方波信號(hào)、復(fù)位信號(hào)、黃燈和東西方向紅燈和南北方向紅燈時(shí)間設(shè)定值。輸出信號(hào)包括東西方向和南北方向綠燈、黃燈、紅燈控制信號(hào)。圖5為控制器模塊的框圖。控制器模塊程序
圖中:cp、reset分別為時(shí)鐘脈沖和復(fù)位輸入信號(hào)。yellow_1,yellow_0,ew_red_l,ew_red_0,sn_red_1,sn_red_0分別為黃燈和東西方向紅燈和南北方向紅燈可調(diào)輸入變量。
r_ew,y_ew,g_ew,r_8n,y_sn,g_sn分別為東西方向和南北方向的紅綠燈控制信號(hào)。
qhew,qlew,qhsn,qlsn則是東西方向和南北方向的紅綠燈倒數(shù)計(jì)時(shí)顯示信號(hào)。
控制器模塊工作流程:
先由外部開關(guān)控制可調(diào)的南北方向紅燈、東西方向紅燈和黃燈時(shí)間的高位和低位。 (設(shè)南北方向紅燈通行時(shí)間為X、東西方向紅燈通行時(shí)間為Y、黃燈時(shí)間通行時(shí)間為Z,一個(gè)總周期的時(shí)間為X+Y)
首先東西方向通行,東西方向綠燈亮,南北方向紅燈亮,且兩個(gè)方向上的倒數(shù)計(jì)時(shí)顯示器由X向下作減法計(jì)時(shí)。當(dāng)?shù)褂?jì)時(shí)顯示器減法計(jì)時(shí)到Z時(shí),東西方向黃燈亮,南北方向繼續(xù)紅燈。當(dāng)兩個(gè)方向的的倒計(jì)時(shí)顯示器減法計(jì)時(shí)到1,然后由1變?yōu)閅后,轉(zhuǎn)為南北方向通行。
南北方向通行:東西方向紅燈亮,南北方向綠燈亮,且兩個(gè)方向上的倒計(jì)時(shí)顯示器由Y向下作減法計(jì)時(shí)。當(dāng)?shù)褂?jì)時(shí)顯示器減法計(jì)時(shí)到z時(shí),南北方向黃燈亮,東西方向繼續(xù)紅燈。當(dāng)兩個(gè)方向的的倒計(jì)時(shí)顯示器減法計(jì)時(shí)到1,然后由1變?yōu)閄后,轉(zhuǎn)為東西方向通行。如此交替運(yùn)行。
評(píng)論