錢虹凌
(山西大同大學(xué)教學(xué)實(shí)驗(yàn)與實(shí)訓(xùn)中心, 山西 大同 037003)
EDA技術(shù)是現(xiàn)代電子工程領(lǐng)域中一門較新的技術(shù),他是在計(jì)算機(jī)及其軟件平臺上開發(fā)的系統(tǒng)設(shè)計(jì)的軟硬件工具[1],基于該系統(tǒng)的EDA軟件QuartusII,以及在此基礎(chǔ)上的VHDL語言,采用的是層次化的設(shè)計(jì)方法。算法狀態(tài)機(jī)圖(ASM圖,Algorithmic StateMachine Chart)是一種描述數(shù)字系統(tǒng)控制算法的流程圖,有了ASM圖,就很容易寫出相應(yīng)的VHDL設(shè)計(jì)文本,再將其下載到CPLD器件,就可實(shí)現(xiàn)該數(shù)字系統(tǒng)的功能[2]。
交通燈信號控制器主要用于主干道m(xù)與支干道f公路的交叉路口,如圖1所示,兩個路口都配有主傳感和支傳感以檢測有無車輛通行。要求應(yīng)優(yōu)先保證主干道的暢通。因此,平時處于“主干道綠燈,支道紅燈”狀態(tài),只有在支道有車輛要穿行主干道時,才將交通燈切向“主干道紅燈,支道綠燈”,一旦支道無車輛通過時,交通燈又回到“主干道綠燈,支道紅燈”的狀態(tài)。
圖1 交通燈示意圖
交通燈的電路邏輯如圖2所示,整個系統(tǒng)包含有5個單元電路。其中,交通燈控制器JTDKZ模塊:根據(jù)主干道和支干道傳感器信號SM、SB以及時鐘信號CLK,發(fā)出主干道和支干道的指示燈控制信號MR、MY、MG、BR、BY、BG(其中,MR、MY、MG分別表示主干道紅燈、黃燈和綠燈;BR、BY、BG分別表示支干道紅燈、黃燈和綠燈),同時向各定時單元CNT45S、CNT25S及CNT05S發(fā)出使能端控制信號EN1、EN2、EN3、EN4;45S 定時單元 CNT45S、25S 定時單元CNT25S、5S定時單元CNT05S:根據(jù)SM、SB、CLK及JTDKZ發(fā)出的有關(guān)使能控制信號EN1、EN2、EN3、EN4,按要求進(jìn)行定時,并將其輸出傳送至顯示控制單元XSKZ;顯示控制單元XSKZ:根據(jù)JTDKZ模塊發(fā)出的有關(guān)使能端控制信號EN1、EN2、EN3及EN4 選擇各定時單元 CNT45S、CNT25S、CNT05S 的輸出傳送至各顯示譯碼器。
圖2 交通燈邏輯電路圖
下頁圖3和圖4為系統(tǒng)JTDKZ部分程序及說明[3-4]。其中,A狀態(tài)為主干道綠燈亮(即為 MR<=’0’,MY<=’0’,MG<=’1’)支干道紅燈亮(即為 BR<=’1’,BY<=’0’,BG<=’0’),當(dāng)兩個道都有車,又采到“19 s標(biāo)志位”信號,則為B狀態(tài),且清零和停止計(jì)數(shù),否則繼續(xù)A狀態(tài)計(jì)數(shù);B狀態(tài)為主干道黃燈亮(即為MR<=’0’,MY<=’1’,MG<=’0’),支干道紅燈亮(即為 BR<=’1’,BY<=’0’,BG<=’0’);C 狀態(tài)為主干道紅燈亮(即為 MR<=’1’,MY<=’0’,MG<=’0’),支干道綠燈亮(即為 BR<=’0’,BY<=’0’,BG<=’1’);D 狀態(tài)為主干道紅燈亮 (即為 MR<=’1’,MY<=’0’,MG<=’0’),支干道黃燈亮(即為 BR<=’0’,BY<=’1’,BG<=’0’)。
圖3 系統(tǒng)JTDKZ部分程序及說明1
圖4 系統(tǒng)JTDKZ部分程序及說明2
圖5 交通燈控制系統(tǒng)ASM圖
圖6 程序編譯過程圖
交通燈控制系統(tǒng)ASM如圖5所示,由此即可編寫出VHDL文本如圖6所示。
編譯后,系統(tǒng)的功能完全合乎預(yù)定的要求。
該系統(tǒng)在電子系統(tǒng)的開發(fā)平臺上,縮短了周期,減少了工序,達(dá)到了預(yù)期的開發(fā)設(shè)計(jì)效果。