隨著微電子技術的迅猛發展,可編程邏輯器件從20世紀70年代發展至今,其結構、工藝、集成度、功能、速度、性能等方面都在不斷的改進和提高;另外,電子設計自動化EDA技術的發展又為可編程邏輯器件的廣泛應用提供了有力的工具。目前,在數字系統設計中,已經可以借助EDA工具通過軟件編程對可編程邏輯器件的硬件結構和工作方式進行重構,從而使得硬件設計兼有軟件設計的靈活性和便捷性。本文介紹一種用Altera公司的可編程邏輯器件EPM7032,在MAX+PlusⅡ開發環境下采用VHDL語言以及ByteBlaster在線可編程技術來實現自動交通控制系統的方法。該設計中采用的自頂向下的設計方法同樣適用于復雜數字系統的設計。 1 EPM7032器件的結構特點 1.1 EPM7032器件的結構 可編程邏輯器件EPM7032是基于Altera公司第二代多陣列矩陣(MAX)結構,并采用先進的CMOSEEPROM技術制造的。該器件由邏輯陣列塊(LAB)、可編程連線陣列(PIA)和I/O控制塊等部分組成。其結構如圖1所示。 EPM7032中的每個邏輯陣列塊由16個宏單元陣列組成,其中多個邏輯陣列塊通過可編程連線陣列連接在一起。PIA全局總線可由所有的專用輸入、I/O引腳以及宏單元饋入信號之中。EPM7032的宏單元可以單獨地配置成時序邏輯或組合邏輯工作方式。每個宏單元又由邏輯陣列、乘積項選擇矩陣和可編程寄存器等三個功能塊組成。 通過可編程連線陣列可把各個LAB相互連接起來以構成所需的邏輯。同時,通過在PIA上布線,也可把器件中任一信號源連接到其目的地。 I/O控制塊允許每個I/O引腳單獨地配置為輸入、輸出和雙向工作方式。所有I/O引腳都有一個三態緩沖器。它們由兩個專用的低電平有效的輸出使能引腳OE1和OE2來控制。 1.2 EPM7032器件的性能特點 可編程邏輯器件EPM7032的主要特點如下: ●邏輯密度為600個可用門; ●EPM7032器件可100%模仿TTL,并可將SSI、MSI和LSI的邏輯功能高密度的集成,它也可以集成從PAL、GAL、22V10到MACH和PLSI器件的多種可編程邏輯器件; ●引腳到引腳的邏輯延遲為5.0ns,計數器工作頻率達178.6MHz; ●可編程宏單元觸發器具有專用清除、置位、時鐘和時鐘使能控制; ●可編程的擴展乘積項分配允許向每個宏單元提供多達32個乘積項; ●電源電壓為3.3V或5.0V; ●遵守PCI規定; ●采用CMOSEEPROM單元實現邏輯功能,可實現各種各樣的、獨立的組合邏輯和時序邏輯功能,在設計開發和調試階段,可快速而有效地對該器件反復編程; ●可通過JTAG接口實現在線編程,并能保證可編程擦除100次以上; ●帶有可編程保密位,可全面保護專利設計; ●Altera公司的MAX+PLUSⅡ(Multiple ArrayMatrix and Programmable Logic User System)開發系統可對該器件提供軟件設計支持。 2自動交通控制系統的設計與實現 2.1自動交通控制系統的設計 本設計采用自頂向下(TOP-TO-DOWN)的設計方法。該方法是一種從抽象到具體,從高層次到低層次逐步求精的分層次、分模塊的設計方法,它是數字系統中最常用的一種設計方法,也是基于復雜可編程器件進行系統設計的主要方法。該方法首先從整體上規劃了整個系統的功能和性能,然后對系統進行劃分,以將其分解為規模較小、功能較為簡單的局部模塊,并確定他們之間的相互關系。這種劃分過程可以不斷地進行下去,直到劃分所得到的單元可以映射到物理層為止。 本文通過自動交通控制系統的具體設計介紹了如何用該方法進行數字系統的設計,此設計方法同樣適用于復雜數字系統的設計。 十字路口的交通燈指揮著行人和各種車輛的安全運行。實現交通燈的自動指揮是城市交通管理自動化的重要課題。本設計的自動交通控制系統的工作過程是:一般情況下,如果主干道和支干道均無車輛要求通行,應該保證主干道綠燈亮,支干道紅燈亮。此時,若支干道有車輛要求通行,則應允許支干道車輛通行;若主干道和支干道均有車輛要求通行,則應先保證主干道通行30秒鐘后,才允許支干道通行。在允許支干道車輛通行前,應先使主干道黃燈亮5秒鐘,支干道紅燈保持5秒鐘后,才變成主干道紅燈亮,同時使支干道綠燈亮。在支干道保持暢通時,若主干道無車輛要求通行,則支干道始終保持暢通;如果此時支干道無車輛要求通行,則應立刻準備使主干道通車,支干道禁止通行;若此時主干道有車輛要求通行,并且支干道通行時間已超過20秒,則應準備使主干道通行。在允許主干道通行前,應先使支干道的黃燈亮5秒,主干道紅燈保持5秒鐘后,變成主干道綠燈亮,同時使支干道紅燈亮。 據此工作過程得出的系統框圖如圖2所示。其中傳感器部分的作用是通過在主干道和支干道上所設的傳感器來檢測主、支干道上是否有車輛要求通過十字路口。主、支干道上的傳感器發出的信號分別用Sa和Sb表示,Sa和Sb為‘1’,表示有車輛要求通行,否則無車輛通行要求。時鐘電路用來為系統提供一個穩定的clk秒脈沖信號,以供計時和系統的同步控制。定時器電路在控制器提供的計時信號cnt和清零信號cr的作用下完成定時功能,并向控制器提供5s、20s和30s的計時信號。控制器的設計是本系統的核心,其作用是根據傳感器和定時器提供的信號來判斷、調整和控制整個系統的狀態,并控制定時電路的工作,同時提供適當的燈光控制信號。其中控制主、支干道上紅、黃、綠燈的信號分別用R、Y、G和r、y、g表示;其值為‘1’表示燈亮,為‘0’表示燈滅。 該自動交通控制系統實際上是一個控制型的數字系統,根據其工作過程得出的該系統的詳細算法流程圖如圖3所示。 圖3 自動交通控制系統算法流程圖 2.2自動交通控制系統的實現 本設計的開發環境采用Altera公司的MAX+PlusⅡ軟件工具。MAX+PLUSⅡ是一種集設計輸入、編譯、仿真、綜合、器件編程等功能于一體的完全集成化、易學易用的可編程邏輯設計軟件。該軟件允許設計人員自由選擇設計輸入的方法和工具,設計人員無需詳細了解器件內部的復雜結構,只需選擇自己熟悉的設計方法和工具就可進行設計輸入。該軟件提供了一種真正與結構無關的可編程邏輯設計環境,它支持不同結構的器件,如FLEX、MAX及CLASSIC系列器件等。這樣,根據算法流程圖就可很容易地設計出VHDL源文件,然后輸入到MAX+PlusII軟件中進行調試、仿真,其仿真結果如圖4所示。通過仿真波形和時序分析等功能可以驗證設計的正確性,并能迅速地在不改變硬件電路的情況下修改設計,因而可大大縮短設計周期,提高效率。當確認設計無誤后,可將生成的可配置文件通過Altera公司的編程電纜ByteBlaster裝入到可編程邏輯器件EPM7032,然后通過調試即可完成整個設計。 圖4 自動交通控制系統仿真波形圖 |