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