版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第6章城市交通信號控制系統(tǒng)的設(shè)計6.1設(shè)計任務(wù)6.2設(shè)計方案論證6.3以標(biāo)準(zhǔn)數(shù)字集成電路為核心的實現(xiàn)方案6.4基于雙MCU的交通信號控制系統(tǒng)6.5基于CPLD的交通信號控制系統(tǒng)
6.1設(shè)計任務(wù) 針對城市道路十字交叉路口,設(shè)計一個交通信號燈控制系統(tǒng),具體要求如下: (1)主干道通車時間1~99s,可任意設(shè)置。 (2)次干道通車時間1~99s,可任意設(shè)置。 (3)黃燈亮?xí)r間1~9s,可任意設(shè)置。 (4)采用倒計時的方式,用兩位十進(jìn)制數(shù)字顯示紅、綠、黃色信號燈亮的倒計時時間。 (5)其他功能。
6.2設(shè)計方案論證
6.2.1十字路口交通信號簡介 十字路口的紅綠燈指揮著行人和各種車輛的安全運行,實現(xiàn)紅綠燈的自動指揮是城市交通管理自動化的重要課題。一般說來,十字路口處的兩條相互交叉的道路是有主次之分的。其中一條道路平時車流量較大,稱為主干道;而另一條道路平時車流量較小,稱為次干道。十字路口交通信號燈控制系統(tǒng)應(yīng)考慮十字路口主、次干道車流量不同的特點,并且能根據(jù)車流量發(fā)生變化的實際情況,很方便地更改主、次干道的通車時間。 有一條主干道和一條次干道的城市道路交叉路口如圖6.1所示。每邊(共四邊)都設(shè)置紅、綠、黃色信號燈。紅燈亮表示禁止通行;綠燈亮表示可以通行;在綠燈亮轉(zhuǎn)變?yōu)榧t燈亮之前,先要求黃燈亮幾秒鐘,以便讓交叉路口停車線以外的車輛停止運行,而使交叉路口停車線以內(nèi)的車輛快速通過交叉路口。每一邊的紅、綠、黃色信號燈亮的順序是紅→綠→黃→紅→綠→黃……。主干道紅燈亮?xí)r,對應(yīng)次干道的綠燈亮、黃燈亮;主干道綠燈亮、黃燈亮?xí)r,對應(yīng)次干道的紅燈亮。這樣就要求主干道紅燈亮的時間,應(yīng)等于次干道綠燈亮的時間與次干道黃燈亮的時間之和;同理,次干道紅燈亮的時間,應(yīng)等于主干道綠燈亮的時間與主干道黃燈亮的時間之和。
有的時候,紅、綠、黃色信號燈亮的時間要求采用倒計時的方式,并用十進(jìn)制數(shù)字顯示出來,以便機動車司機和行人一目了然、心中有數(shù)。圖6.1交叉路口信號燈示意圖 6.2.2不同設(shè)計方案的簡單介紹 要實現(xiàn)上述城市道路交叉路口信號燈的自動控制,則要求交通信號控制系統(tǒng)由控制器,倒計時器,倒計時時間數(shù)字顯示部分,紅、綠、黃信號燈等幾個部分組成,其構(gòu)成原理方框圖如圖6.2所示。圖中有向線段的箭頭表示信號流向。圖6.2交通信號控制系統(tǒng)構(gòu)成原理方框圖 倒計時器用于對秒脈沖的計數(shù),完成計時任務(wù),向控制器發(fā)出相應(yīng)的定時信號,控制主干道和次干道的通車時間、禁止通行時間和黃燈亮的時間。 控制器根據(jù)倒計時器送來的信號,保持或改變系統(tǒng)的狀態(tài),以實現(xiàn)對主、次干道車輛運行狀態(tài)的控制。同時,控制器對倒計時時間數(shù)字顯示部分進(jìn)行控制,使得數(shù)碼管顯示器能以兩位十進(jìn)制數(shù)字顯示紅、綠、黃色信號燈亮的倒計時時間。 根據(jù)上面的分析,完成設(shè)計任務(wù)的實現(xiàn)方案大致可以歸納為以下三種。 1.以標(biāo)準(zhǔn)數(shù)字集成電路為核心的實現(xiàn)方案 用標(biāo)準(zhǔn)數(shù)字集成電路實現(xiàn)交通信號控制系統(tǒng)的設(shè)計是比較容易的,雖然所設(shè)計的電路比較復(fù)雜,但是人們不難找到已有的設(shè)計方案作為參考。圖6.2中的倒計時器可以用十進(jìn)制減法計數(shù)器構(gòu)成;控制器可以用觸發(fā)器或其他功能的常規(guī)數(shù)字集成電路芯片來進(jìn)行設(shè)計;倒計時時間數(shù)字顯示部分也要用到減法計數(shù)器,還要用到顯示譯碼器等標(biāo)準(zhǔn)數(shù)字集成電路芯片。 2.以MCU為核心的實現(xiàn)方案 用單片機實現(xiàn)交通信號控制系統(tǒng)的設(shè)計相對而言是最容易的。因為交通信號燈控制系統(tǒng)就是要根據(jù)計時的情況,實現(xiàn)對交通信號燈的控制,并要用十進(jìn)制數(shù)字顯示倒計時時間,而單片機最適宜用來對物理對象進(jìn)行控制,通過單片機軟件編程,很容易實現(xiàn)對交通信號燈的控制和對LED數(shù)碼管的顯示控制。但是,單片機應(yīng)用系統(tǒng)具有抗干擾性差的缺點,而對交通信號燈控制系統(tǒng)工作可靠性的要求是很高的,所以,必須采取有效措施,提高單片機應(yīng)用系統(tǒng)的可靠性。一般應(yīng)該綜合采用軟、硬件抗干擾措施,才能獲得好的抗干擾效果。 3.以CPLD為核心的實現(xiàn)方案 運用EDA技術(shù)實現(xiàn)電子系統(tǒng)的設(shè)計特別是數(shù)字電子系統(tǒng)的設(shè)計,是現(xiàn)代電子技術(shù)發(fā)展的趨勢。CPLD芯片內(nèi)部的電路功能可以通過標(biāo)準(zhǔn)硬件描述語言進(jìn)行設(shè)計,而且整個設(shè)計過程都是在通用計算機的幫助下完成的,從而使得以CPLD為核心的方案容易實現(xiàn)、容易修改、容易保存,因此,無論是在系統(tǒng)的工作可靠性方面,還是在系統(tǒng)的成本、系統(tǒng)的運行速度、系統(tǒng)結(jié)構(gòu)的簡易程度等方面,以CPLD為核心的實現(xiàn)方案具有一定的技術(shù)先進(jìn)性,而且最后能得到比較滿意的設(shè)計結(jié)果。 以上三種實現(xiàn)方案各自的特點有所不同,采用的技術(shù)手段也有很大區(qū)別。但是,因為設(shè)計任務(wù)本身不是很難,而這三種實現(xiàn)方案作為學(xué)生學(xué)習(xí)電子系統(tǒng)設(shè)計的簡單實例是比較好的(如作為電子技術(shù)課程設(shè)計題使用),所以,下面我們將對這三種實現(xiàn)方案都作詳細(xì)的介紹。6.3以標(biāo)準(zhǔn)數(shù)字集成電路為核心的實現(xiàn)方案 6.3.1十字路口交通信號控制系統(tǒng)電路的設(shè)計 圖6.3是十字路口交通信號控制系統(tǒng)電路原理圖。為了簡便起見,在圖6.3中沒有畫出“倒計時時間數(shù)字顯示部分”,該部分電路如圖6.4所示,稍后說明之。
在圖6.3中,IC1、IC2組成“主干道通車倒計時器”;IC3組成“主干道黃燈亮倒計時器”;IC4、IC5組成“次干道通車倒計時器”;IC6組成“次干道黃燈亮倒計時器”;IC7、IC8、IC9組成“控制器”;LED1~LED6表示“主、次干道的綠、黃、紅燈”。 上面所述4個“倒計時器”都是由十進(jìn)制可逆計數(shù)器74LS192組成的,現(xiàn)以“主干道通車倒計時器”為例進(jìn)行說明。IC1、IC2級聯(lián),組成減法計數(shù)器,秒脈沖從IC2的第4腳輸入。當(dāng)LD=0時,由IC1、IC2組成的減法計數(shù)器處于預(yù)置數(shù)功能狀態(tài),可編程的預(yù)置數(shù)由8421BCD碼撥盤開關(guān)SW1、SW2產(chǎn)生。例如,要求主干道通車時間為89s,則只要將SW1撥到8,將SW2撥到9就可以了。當(dāng)LD=1時,由IC1、IC2組成的減法計數(shù)器處于減法計數(shù)功能狀態(tài),在秒脈沖的作用下,從89開始每秒鐘減1,當(dāng)減到00時,IC1的第12腳產(chǎn)生借位負(fù)脈沖Qcb=0,此負(fù)脈沖送到由IC7、IC8、IC9組成的“控制器”,使得“控制器”的狀態(tài)發(fā)生改變。 其他“倒計時器”的工作過程與“主干道通車倒計時器”類似。SW3、SW4用來預(yù)置次干道通車時間;SW5用來預(yù)置主、次干道黃燈亮的時間。由圖6.3可知,主、次干道黃燈亮的時間是相同的。 “控制器”主要由IC7組成。“控制器”中的IC7是CMOS數(shù)字集成電路(型號為CD4017),是十進(jìn)制計數(shù)/脈沖分配器。在任何時刻,IC7的輸出Y0~Y4總是有且僅有一個為邏輯1。當(dāng)Y0=1、Y1=Y2=Y3=Y4=0時,“主干道通車倒計時器”進(jìn)行減法計數(shù),當(dāng)計數(shù)到00時,“主干道通車倒計時器”產(chǎn)生的借位負(fù)脈沖送到與非門IC8(型號為74LS20),由IC8產(chǎn)生正脈沖送到IC7,使IC7的狀態(tài)改變?yōu)閅1=1、Y0=Y2=Y3=Y4=0。 這時,“主干道通車倒計時器”處于預(yù)置數(shù)功能狀態(tài),而“主干道黃燈亮倒計時器”IC3開始作減法計數(shù)。當(dāng)“次干道黃燈亮倒計時器”IC6減計數(shù)到0時,IC7的狀態(tài)改變?yōu)閅0=Y1=Y2=Y3=0、Y4=1,因為IC7的輸出端Y4接清零端Cr,所以這時IC7處于清零功能狀態(tài),則IC7的狀態(tài)立即又變?yōu)閅0=1、Y1=Y2=Y3=Y4=0。由此可知,IC7是循環(huán)工作的。 “控制器”中的或門IC9(型號為74LS32),用來產(chǎn)生紅色信號燈的控制信號。例如,主干道的紅色信號燈LED1的控制信號是X1,在X1=1時LED1亮。而X1=Y2+Y3,由此可知,當(dāng)次干道的綠燈亮或次干道的黃燈亮?xí)r,主干道的紅色信號燈LED1也亮。次干道的紅色信號燈LED6的控制信號是X2,X2=Y0+Y1,這樣,當(dāng)主干道的綠燈亮或主干道的黃燈亮?xí)r,次干道的紅色信號燈LED6也亮。 在圖6.3中,用發(fā)光二極管LED1~LED6模擬交通信號燈,而實際中的交通信號燈可能是交流大功率高亮度燈泡或者是發(fā)光二極管陣列,只要給TTL集成電路(IC9,型號為74LS32)增加相應(yīng)的驅(qū)動電路就可滿足實際要求。 6.3.2倒計時時間數(shù)字顯示電路的設(shè)計要點 圖6.4是倒計時時間數(shù)字顯示部分,其左、右兩半部分分別是主、次干道倒計時時間數(shù)字顯示電路,從電路結(jié)構(gòu)上來看,左、右兩半部分具有對稱性。下面以主干道倒計時時間數(shù)字顯示電路為例,進(jìn)行簡要說明。 在圖6.3的基礎(chǔ)上,倒計時時間數(shù)字顯示電路的設(shè)計主要解決兩個問題:一是用兩個十進(jìn)制數(shù)字分時顯示紅、綠、黃色信號燈亮的時間,即分時顯示的問題;二是對紅色信號燈亮的時間實現(xiàn)倒計時,即紅色信號燈亮的倒計時問題。 分時顯示的問題是用三態(tài)門74LS245、74LS244解決的。圖6.4中IC15、IC16的芯片型號是74LS245,IC17的型號是74LS244。通過三態(tài)控制端的控制作用,在任何時刻,只有紅、綠、黃色信號燈亮的倒計時器中的一個倒計時器的狀態(tài),被送到七段譯碼/驅(qū)動電路IC20、IC21(型號為74LS48),經(jīng)譯碼后,驅(qū)動共陰極數(shù)碼管LED7、LED8顯示倒計時器的狀態(tài)。圖6.4中的R43~R56是300Ω的限流電阻。該倒計時時間數(shù)字顯示電路還解決了消隱無效數(shù)字0的問題,即當(dāng)LED7要顯示的數(shù)字是0時,該數(shù)字0將消隱而不顯示。 在圖6.3中,通過或門IC9(型號為74LS32),可以很方便地獲得主干道紅色信號燈LED1的控制信號X1和次干道紅色信號燈LED6的控制信號X2。然而,在圖6.3中沒有紅色信號燈LED1、LED6亮的倒計時器。要解決紅色信號燈亮的倒計時問題,必須再設(shè)計紅色信號燈亮的倒計時器。在圖6.4中,IC10、IC11構(gòu)成了主干道紅色信號燈亮的倒計時器,SW6、SW7用來提供可編程的主干道紅色信號燈亮的時間預(yù)置數(shù)。但是,SW6、SW7提供的可編程的預(yù)置數(shù),必須等于次干道綠燈亮的時間與次干道黃燈亮的時間之和,即等于SW3、SW4的預(yù)置數(shù)與SW5的預(yù)置數(shù)之和。
次干道的倒計時時間數(shù)字顯示電路與主干道的類似,SW8、SW9用來提供可編程的次干道紅色信號燈亮的時間預(yù)置數(shù)。同理,SW8、SW9提供的可編程的預(yù)置數(shù)必須等于主干道綠燈亮的時間與主干道黃燈亮的時間之和,即等于SW1、SW2的預(yù)置數(shù)與SW5的預(yù)置數(shù)之和。 由圖6.3和圖6.4可知,圖6.4所示的倒計時時間數(shù)字顯示部分不影響圖6.3所示控制電路的工作,但是,圖6.4所示的倒計時時間數(shù)字顯示部分受到圖6.3所示控制電路的控制。 因為有些十字路口的交通信號不需要用十進(jìn)制數(shù)字來顯示倒計時時間,所以,圖6.4所示的倒計時時間數(shù)字顯示部分與圖6.3所示的控制電路之間,宜采用積木式結(jié)構(gòu),分別安裝在兩塊印制板上。這樣,在實際應(yīng)用中,當(dāng)需要“倒計時時間數(shù)字顯示部分”時,才將圖6.4所示的電路接上,與圖6.3所示控制電路配合使用;而在不需要“倒計時時間數(shù)字顯示部分”時,圖6.3所示的控制電路可單獨工作。 這里所介紹的十字路口交通信號燈控制系統(tǒng)主要采用標(biāo)準(zhǔn)的常規(guī)數(shù)字集成電路,只有IC7是CMOS系列數(shù)字集成電路,其他的都是TTL系列數(shù)字集成電路。將圖6.3所示電路與圖6.4所示電路分別制作安裝在兩塊印制板上,相互之間用信號排線及接插件連接。只要按圖正確接線,不需要調(diào)試,電路就能正常工作,并且該電路可完全滿足設(shè)計任務(wù)所提出的各項技術(shù)指標(biāo)要求。 經(jīng)試驗證明,這里所介紹的十字路口交通信號燈控制系統(tǒng)不僅實現(xiàn)了交通信號燈的自動控制,而且電路運行穩(wěn)定可靠,可應(yīng)用于實際場合。在實際應(yīng)用中,根據(jù)主、次干道車流量變化的情況,可通過撥盤開關(guān)SW1~SW9,很方便地更改主、次干道通車的時間。6.4基于雙MCU的交通信號控制系統(tǒng)
6.4.1系統(tǒng)硬件電路設(shè)計 系統(tǒng)硬件電路如圖6.5所示,主要采用了兩片51系列單片機芯片AT89C51(IC1、IC2),電路左、右兩半部分分別負(fù)責(zé)主、次干道交通信號的控制與時間顯示。用發(fā)光二極管LED1~LED6表示交通信號燈,其中,LED1~LED3表示主干道信號燈,LED4~LED6表示次干道信號燈,雖然P0口的輸出級是開路電路,但因為所帶負(fù)載是灌電流負(fù)載,故未接上拉電阻。AT89C51的P0.7~P0.5直接驅(qū)動紅、綠、黃信號燈。AT89C51的P1口作輸出口,P1口輸出的BCD碼經(jīng)CD4511譯碼后,驅(qū)動共陰極LED數(shù)碼管,顯示倒計時時間,并通過IC7解決了消隱無效數(shù)字0的問題。四個共陰極數(shù)碼管LED7和LED8、LED9和LED10分別顯示主、次干道信號燈亮的倒計時時間。
AT89C51的P2口及P0.3~P0.0作輸入口,用于設(shè)置主、次干道的通車時間,通車時間的設(shè)定由8421BCD碼撥盤開關(guān)SW1~SW5完成,其中,SW1、SW2用于設(shè)置主干道通車時間(即主干道綠燈亮的時間),SW4、SW5用于設(shè)置次干道通車時間,SW3用于設(shè)置黃燈亮的時間。兩塊AT89C51芯片的串行口設(shè)置成異步通信方式,可實現(xiàn)相互之間的數(shù)據(jù)交換。該電路具有如下的技術(shù)指標(biāo): (1)主干道通車時間0~99s,可任意設(shè)置。 (2)次干道通車時間0~99s,可任意設(shè)置。 (3)黃燈亮?xí)r間0~9s,可任意設(shè)置。
(4)采用倒計時的方式,用兩位十進(jìn)制數(shù)字顯示紅、綠、黃色信號燈亮的倒計時時間。 正是因為電路中用了兩片AT89C51,從而提高了系統(tǒng)工作的穩(wěn)定性和可靠性,并簡化了軟件設(shè)計。 6.4.2系統(tǒng)軟件設(shè)計及單片機源程序 交通信號燈有紅、綠、黃三種。紅燈亮表示禁止通行;綠燈亮表示允許通行;在綠燈亮轉(zhuǎn)變?yōu)榧t燈亮以前,先要求黃燈亮幾秒鐘,以便讓交叉路口停車線以外的車輛停止通行,而讓交叉路口停車線以內(nèi)的車輛快速通過交叉路口。交通信號燈亮的順序是: 主綠、次紅主黃、次紅
主紅、次黃
主紅、次綠
由于主干道紅燈亮的時間=次干道綠燈亮的時間+次干道黃燈亮的時間,次干道紅燈亮的時間=主干道綠燈亮的時間+主干道黃燈亮的時間,主干道黃燈亮的時間=次干道黃燈亮的時間,因此,為了獲得主干道紅燈亮的時間,必須把次干道綠燈亮的時間從IC2的RAM中傳送到IC1,同理,應(yīng)把主干道綠燈亮的時間從IC1的RAM中傳送到IC2,而這些數(shù)據(jù)的相互傳送是通過串行口實現(xiàn)的。程序分為主程序和子程序,采用循環(huán)結(jié)構(gòu),主、次干道的程序分別存放在IC1、IC2的片內(nèi)程序存儲器(ROM)中。
主干道的程序與次干道的程序幾乎相同,惟一不同之處是:主干道程序初始化后最先點亮的是綠燈,而次干道程序初始化后最先點亮的是紅燈。圖6.6是主干道程序流程框圖。 主干道源程序清單如下:
ORG0000H LJMPSTART ORG003BH START:MOVTMOD,#20H;定時器T1工作于模式2 MOVTL1,#0F3H;T1賦計數(shù)初值,設(shè)置波特率為1200
圖6.6主干道程序流程框圖 MOVTH1,#0F3HSETBTR1;啟動T1MOVSCON,#50H;串行口工作于方式1,允許接收MOVP0,#0FFH;置P0.3~P0.0為輸入且信號燈滅 MOVA,P0;讀P0口狀態(tài)ANLA,#0FHMOV22H,A;黃燈亮的時間存22H單元MOVP2,#0FFH;置P2口為輸入 MOVA,P2;讀P2口狀態(tài)LCALLBCDBIN;將BCD碼轉(zhuǎn)換為二進(jìn)制數(shù)MOV21H,A;綠燈亮的時間存21H單元MOVSBUF,A;發(fā)送數(shù)據(jù)JNBTI,$;等待發(fā)送結(jié)束CLRTI;清發(fā)送標(biāo)志JNBRI,$;等待接收結(jié)束CLRRI;清接收標(biāo)志 MOVA,SBUF;接收數(shù)據(jù)ADDA,22H;計算紅燈亮?xí)r間MOV20H,A;紅燈亮的時間存20H單元 MOVA,21H MOVR0,A;綠燈亮的時間送R0 CLRP0.6;點亮綠燈 LP1:DECR0LCALLBINBCD;將二進(jìn)制數(shù)轉(zhuǎn)換為BCD碼
MOVP1,A;顯示時間LCALLDELAY;延時1秒CJNER0,#0,LP1;綠燈亮的時間未結(jié)束轉(zhuǎn)LP1MOVA,22H;綠燈亮的時間結(jié)束MOVR0,A;黃燈亮的時間送R0SETBP0.6;關(guān)綠燈CLRP0.5;點亮黃燈 LP2:DECR0LCALLBINBCDMOVP1,ALCALLDELAYCJNER0,#0,LP2MOVA,20HMOVR0,A;紅燈亮的時間送R0SETBP0.5;關(guān)黃燈CLRP0.7;點亮紅燈 LP3:DECR0LCALLBINBCDMOVP1,ALCALLDELAYCJNER0,#0,LP3MOVA,21HMOVR0,A;綠燈亮的時間送R0SETBP0.7;關(guān)紅燈CLRP0.6;點亮綠燈LJMPLP1;循環(huán)運行 BCDBIN:MOVR1,A;BCD碼轉(zhuǎn)二進(jìn)制數(shù)子程序SWAPAANLA,#0FHMOVB,#10MULABXCHA,R1ANLA,#0FHADDA,R1RET
BINBCD:MOVA,R0;二進(jìn)制數(shù)轉(zhuǎn)BCD碼子程序MOVB,#10DIVABSWAPAADDA,B RET DELAY:MOVR1,#10;延時1秒子程序K1:MOVR2,#100K2:MOVR3,#250K3:DJNZR3,K3DJNZR2,K2DJNZR3,K1 RET
6.5基于CPLD的交通信號控制系統(tǒng)
6.5.1系統(tǒng)硬件電路設(shè)計 1.CPLD器件的選擇及CPLD電路的設(shè)計 我們選擇Lattice公司的ispLSI1000系列CPLD器件,芯片型號為ispLSI1032E。 該芯片具有如下特點。 (1)高密度: 可用門為60000個,邏輯單元為128個,寄存器為192個,I/O口為64個。 (2)高性能: 該器件采用E2COMS技術(shù),70MHz的工作頻率,兼容TTL輸入/輸出,電可擦除和重組。 沒有使用的乘積項自動關(guān)閉而減少功耗。采用PLCC-84封裝,可以使用集成電路插座。 (3)在系統(tǒng)可編程: 5V在系統(tǒng)可編程,可提高設(shè)計效率,減小產(chǎn)品開發(fā)時間,提高產(chǎn)品質(zhì)量。 ispLSI1032E的內(nèi)部資源能夠滿足本設(shè)計任務(wù)的需要。CPLD電路的設(shè)計我們采用湖南長沙三知公司生產(chǎn)的CPLD適配板來實現(xiàn),該CPLD適配板自帶下載電路、電源插座、I/O擴展接口,因此,該CPLD適配板只要接入+5V電源,就可以作為用戶的最小系統(tǒng)而正常工作于用戶應(yīng)用系統(tǒng)中(嵌入用戶系統(tǒng)中)。 2.系統(tǒng)的硬件電路圖 在設(shè)計系統(tǒng)硬件電路圖時,只有時間設(shè)置電路、驅(qū)動及顯示電路、時鐘電路放在CPLD的外面,其他所有需要的系統(tǒng)硬件電路都由ispLSI1032E實現(xiàn)。系統(tǒng)硬件電路如圖6.7所示。
圖6.7系統(tǒng)硬件電路圖圖略 在圖6.7中,ispLSI1032E左邊的電路是時間設(shè)置電路和時鐘電路,右邊是驅(qū)動及顯示電路。時間設(shè)置電路由8421撥盤開關(guān)及下拉電阻組成。SW1、SW2用于設(shè)置主干道綠燈亮的時間即主干道通車時間,最大值為100s。SW3用于設(shè)置主干道和次干道的黃燈亮的時間,最大值為10s。SW4、SW5用于設(shè)置次干道綠燈亮的時間即次干道通車時間,最大值為100s。雖然主、次干道紅燈亮的時間可以通過求和運算得到,但是因為擔(dān)心ispLSI1032E的內(nèi)部資源不夠用,而且8421撥盤開關(guān)具有時間顯示功能,所以,主、次干道的紅燈亮的時間也是通過8421撥盤開關(guān)來進(jìn)行設(shè)置的,其中,SW6、SW7用于設(shè)置主干道紅燈亮的時間,SW8、SW9用于設(shè)置次干道紅燈亮的時間。
主、次干道的倒計時顯示器采用雙位共陰極LED數(shù)碼管,且每一個發(fā)光點都是雙色發(fā)光二極管。雙色發(fā)光二極管單獨發(fā)光時可以分別顯示紅色和綠色,當(dāng)紅色和綠色都亮?xí)r,由混色原理可知,這時顯示的是黃色,所以,主、次干道的倒計時顯示器能顯示紅、綠、黃三種顏色,而且LED數(shù)碼管倒計時顯示器的顯示顏色與交通信號燈的顏色是同步的。通過ispLSI1032E的VHDL語言編程實現(xiàn)了LED數(shù)碼管倒計時顯示器的動態(tài)掃描顯示,每一位數(shù)碼管顯示1ms,消隱1ms,數(shù)據(jù)刷新周期為2ms。qout_main、qout_secondary是CPLD發(fā)出的數(shù)碼管的段碼(g、f、e、d、c、b、a共七段),段碼是低電平有效。 led_high_main、led_low_main、led_high_secondary、led_low_secondary是CPLD發(fā)出的4個數(shù)碼管的位選碼,位選碼是高電平有效。 ispLSI1032E芯片共有64根I/O線,在圖6.7所示的系統(tǒng)硬件電路中使用了63根I/O線。
6.5.2系統(tǒng)軟件設(shè)計及VHDL源程序 由系統(tǒng)硬件電路設(shè)計可知,ispLSI1032E實現(xiàn)了除時間設(shè)置電路、驅(qū)動及顯示電路、時鐘電路以外的其他所有需要的系統(tǒng)硬件電路,并且通過VHDL硬件描述語言實現(xiàn)了對ispLSI1032E內(nèi)部硬件電路的設(shè)計。在進(jìn)行ispLSI1032E內(nèi)部邏輯功能的軟件設(shè)計過程中,采用狀態(tài)機的設(shè)計方法實現(xiàn)了圖6.2所示框圖中的控制器設(shè)計。所以,ispLSI1032E內(nèi)部邏輯電路主要由狀態(tài)機、100進(jìn)制減法計數(shù)器、顯示譯碼器、二選一數(shù)據(jù)選擇器、數(shù)據(jù)寄存器、分頻器等組成。ispLSI1032E的完整的VHDL源程序如下: DesignedbyOU-Weiming,2005.1.29 libraryieee; useieee.std_logic_1164.all; useieee.std_logic_unsigned.all; useieee.std_logic_arith.all; entitytraffic_real_1is port(clk:instd_logic; 40MHz時鐘輸入
indata_1,indata_3,indata_4,indata_5:instd_logic_vector(7downto0); indata_2:instd_logic_vector(3downto0);qout_main,qout_secondary:outstd_logic_vector(6downto0); 時間顯示段碼 led_high_main,led_low_main,led_high_secondary,led_low_secondary:outstd_logic;
時間顯示位選碼select_rg:outstd_logic_vector(3downto0); 顏色選擇控制 select_r_main,select_g_main,select_r_secondary,select_g_secondary:outstd_logic; jtdout:outstd_logic_vector(3downto0));交通燈信號輸出 endtraffic_real_1; architecturehavoftraffic_real_1is typestatesis(s3,s2,s1,s0);signalstate:states:=s0;signalnextstate:states:=s0;signalcount3,count2:std_logic_vector(3downto0); 主干道計數(shù)器 signalcount1,count0:std_logic_vector(3downto0); 次干道計數(shù)器 signaldata0_main:std_logic_vector(7downto0); 主干道倒計時初值 signaldata0_secondary:std_logic_vector(7downto0); 次干道倒計時初值
signallight:std_logic_vector(3downto0);交通燈輸出信號 signalqout_main_high,qout_main_low:std_logic_vector(6downto0); 主干道段碼 signalqout_secondary_high,qout_secondary_low:std_logic_vector(6downto0);次干道段碼 signalload_main,load_secondary:std_logic;計數(shù)器初值預(yù)置控制信號
signalclkms,clks:std_logic; 毫秒及秒信號signalflag_main,flag_secondary:std_logic;begin U1:process(clk) 時鐘分頻 variablestemp1:integerrange0to39999;variablecarry1:std_logic;beginif(clk’eventandclk=′1′)thenifstemp1=39999then stemp1:=0;carry1:=′1′;
elsestemp1:=stemp1+1;carry1:=′0′;endif;endif;clkms<=carry1;endprocessU1; U2:process(clkms)時鐘1000分頻variablestemp2:integerrange0to999;variablecarry2:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 秋水仙素和EMS誘變體系建立及葡萄耐鹽堿新種質(zhì)創(chuàng)制
- 2025年北京農(nóng)業(yè)職業(yè)學(xué)院高職單招數(shù)學(xué)歷年(2016-2024)頻考點試題含答案解析
- 鴉膽子油藥理作用研究-洞察分析
- 2025年蘭考三農(nóng)職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測試近5年常考版參考題庫含答案解析
- 2025年亳州職業(yè)技術(shù)學(xué)院高職單招高職單招英語2016-2024歷年頻考點試題含答案解析
- 2025年云南理工職業(yè)學(xué)院高職單招高職單招英語2016-2024歷年頻考點試題含答案解析
- 2025年云南醫(yī)藥健康職業(yè)學(xué)院高職單招高職單招英語2016-2024歷年頻考點試題含答案解析
- 2025年東營科技職業(yè)學(xué)院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 網(wǎng)絡(luò)中絕對地址解析算法-洞察分析
- 預(yù)防性呼吸支持在胃擴張的應(yīng)用-洞察分析
- 山東鐵投集團招聘筆試沖刺題2025
- 真需求-打開商業(yè)世界的萬能鑰匙
- 2025年天津市政集團公司招聘筆試參考題庫含答案解析
- GB/T 44953-2024雷電災(zāi)害調(diào)查技術(shù)規(guī)范
- 2024-2025學(xué)年度第一學(xué)期三年級語文寒假作業(yè)第三天
- 心律失常介入治療
- 6S精益實戰(zhàn)手冊
- 展會場館保潔管理服務(wù)方案
- 監(jiān)理從業(yè)水平培訓(xùn)課件
- 沖鋒舟駕駛培訓(xùn)課件
- 中石化浙江石油分公司中石化溫州靈昆油庫及配套工程項目環(huán)境影響報告書
評論
0/150
提交評論