FPGA的模糊控制交通燈控制方案設(shè)計
3 模糊控制的FPGA實現(xiàn)
3.1 Spartan3A/3AN介紹
FPGA具有性能好、規(guī)模大、可重復(fù)編程、開發(fā)投資小等優(yōu)點,在現(xiàn)代電子產(chǎn)品中應(yīng)用得越來越廣。使用Xilinx的Spartan3A/3AN FPGA時,ISE是必備的設(shè)計工具。它可以完成開發(fā)的全部流程,包括設(shè)計輸入、仿真、綜合、布局布線、生成BIT下載文件、配置和在線調(diào)試等。本文采用E-Elements ISE Development Kit開發(fā)套件和ISE10.1軟件設(shè)計工具,建立模糊控制交通燈系統(tǒng)工程,如圖3所示。本文引用地址:http://2s4d.com/article/190970.htm
3.2 系統(tǒng)的整體結(jié)構(gòu)及軟件設(shè)計
系統(tǒng)生成的RTL如圖4所示。該系統(tǒng)主要由數(shù)據(jù)采集模塊、模糊推理模塊、分頻模塊、計數(shù)器模塊、狀態(tài)機控的車流量和下一相位的車流量;模糊推理模塊對采集到的數(shù)據(jù)進(jìn)行計算,并確定當(dāng)前交叉口的通行情況(包括4個相位的通行與禁止、通行的準(zhǔn)確時間);分頻模塊將系統(tǒng)提供的40 MHz的頻率進(jìn)行分頻得到1 Hz;計數(shù)器將模糊推理模塊得到的具體數(shù)據(jù)實現(xiàn)減1計數(shù),并通過7段數(shù)碼管顯示。
對于模糊決策部分,其中每一條模糊條件語句都決定一個模糊關(guān)系。
例如:if P=P1 and Q=Q2,then T=T2所決定的模糊關(guān)系可以按下式計算:
R2=(P1×Q2)T×T2 (1)
此處的T表示將矩陣按行排列成一列向量,通過39個模糊關(guān)系的“并”運算,可獲取表征總的模糊關(guān)系,即:
給定輸入,由R按合成推理規(guī)則可得模糊輸出:
Ri=(Pi×Qj)T×R (3)
根據(jù)所有的組合以及按式(2)和式(3)可求得綠燈延時,加上綠燈基本延時最終可確定當(dāng)前相位的綠燈總時間,然后建立控制查詢表,編寫VHDL描述語言。
3.3 模糊控制交通燈硬件實現(xiàn)
BIT文件由FPGA綜合實現(xiàn)T具產(chǎn)生,用于配置FPGA,JTAG邊界掃描鏈的每一個FPGA需要一個BIT文件。使用電纜下載配置文件到PROM時,主要工作過程是啟動iMPACT,在文件模式中用PROM Formatter把BIT文件轉(zhuǎn)為MCS/EXO格式的PROM文件,然后在配置模式中初始化邊界掃描鏈,接著就可以下載配置文件了,如圖5所示。
以上設(shè)計已經(jīng)編程完畢并且完成驗證,開發(fā)板spartan3A/3AN已經(jīng)可以工作。由7個按鍵模擬輸入,輸入數(shù)據(jù)不同,數(shù)碼管根據(jù)模糊控制判決得出不同的數(shù)據(jù)顯示,狀態(tài)控制器得出當(dāng)前狀態(tài),并用LED燈來直觀顯示,如圖6所示。
結(jié)語
本文提出一種智能交通燈模糊控制的方法,利用FPGA的優(yōu)勢以及其軟硬件協(xié)同工作帶來的便利,將智能交通燈控制在FPGA上實現(xiàn)。由硬件實現(xiàn)可以看出,它能根據(jù)采集到的當(dāng)前相位車流量和當(dāng)前相位與下一相位車流量之差,由模糊控制器按一定的規(guī)則實時決定當(dāng)前相位綠燈延時時間,從而達(dá)到最大程度的通行量。
評論