基于FPGA的LCD顯示遠(yuǎn)程更新的設(shè)計(jì)方案及原理圖
一 設(shè)計(jì)概述
1.1目標(biāo)領(lǐng)域和主要應(yīng)用
如今,交通在現(xiàn)代人的生活中所占比重越來越重要。如何安全,高效的利用道路資源是每個(gè)人都要面對的問題?,F(xiàn)有車載GPS導(dǎo)航只能查看到道路走向信息,卻不能查看到道路上的各種突發(fā)情況,比如交通事故、堵車現(xiàn)象、交通臨時(shí)管制、禁止部分車輛通行、臨時(shí)禁止左右轉(zhuǎn)、道路維修、道路更改的情況。這時(shí)如果有能夠?qū)崟r(shí)更新并對外發(fā)布和顯示交通信息、道路狀況信息和設(shè)施狀況等,能起到減少堵塞程度,提高道路通行能力的作用。也間接提高了交通運(yùn)輸,人們出行的效率。
該項(xiàng)目是基于FPGA的LCD顯示遠(yuǎn)程更新就可以用于智能交通提示,實(shí)時(shí)發(fā)布和顯示各路段路況信息。為交通運(yùn)輸業(yè)及人們的出行帶來極大的便利。
1.2市場分析
改革開放30多年來,我國經(jīng)濟(jì)持續(xù)快速發(fā)展,城市化、現(xiàn)代化的進(jìn)程不斷加快,很多城市的機(jī)動(dòng)車保有量以年平均20%的速度飆長,導(dǎo)致了目前國內(nèi)交通供求關(guān)系的嚴(yán)重失衡、交通擁擠、交通事故增多、環(huán)境日益惡化等已經(jīng)成為我國城市面臨的嚴(yán)重問題。如何治理交通擁堵也成了一個(gè)重大的國計(jì)民生問題,面對國內(nèi)大中城市的接連“暴堵”,“十二五”交通規(guī)劃或?qū)⒃谀瓿跬瞥觥V悄芙煌ㄒ矐?yīng)運(yùn)而生,迎來了新時(shí)代?,F(xiàn)有的交通提示系統(tǒng)主要體現(xiàn)在GPS、交通信息網(wǎng)、鐵質(zhì)廣告牌、交通廣播臺等方面,每種設(shè)計(jì)都有他自身的優(yōu)勢與劣勢。
下面是對市場上一些常用的智能交通的應(yīng)用分析:
GPS:
優(yōu)點(diǎn):GPS是目前應(yīng)用最為廣泛的智能交通,它最強(qiáng)大之處是道路導(dǎo)航功能,在汽車上裝一個(gè)GPS就可以知道自己的所在位置。輸入終點(diǎn),它會顯示最近的最為便捷的路線圖。而且GPS操作起來方便快捷,所以一直都得到了廣大司機(jī)的青睞。
缺點(diǎn): GPS的成本較高,不是每輛車都可以配備上的,而且GPS對于道路情況的更新較慢,對于突發(fā)的路況信息如臨時(shí)交通管制等不能及時(shí)的反饋給司機(jī),從而導(dǎo)致不必要的麻煩。
交通信息網(wǎng):
優(yōu)點(diǎn):各地交通網(wǎng)等信息要到各地網(wǎng)站上去看,信息會每天進(jìn)行實(shí)時(shí)更新,只要有網(wǎng)絡(luò)就可以查詢,無論是臺式機(jī)還是筆記本,又或者是手機(jī)都可以查詢,使用起來比較方便。網(wǎng)絡(luò)查詢可以根據(jù)自己的需求進(jìn)行查找,針對性和自主性較強(qiáng)。
缺點(diǎn):如司機(jī)當(dāng)時(shí)沒有電腦,或者沒有網(wǎng)絡(luò)就不能及時(shí)查看到路況信息;并且在行車中上網(wǎng)會影響行車安全。
鐵質(zhì)廣告牌:
優(yōu)點(diǎn):鐵質(zhì)廣告牌適合反饋一些因大型的道路整修而導(dǎo)致的道路不通,鐵質(zhì)廣告牌體積較大,放置在重要路段的綠化帶上,清晰醒目,并且不會應(yīng)為天氣原因而影響廣告牌的正常顯示。
缺點(diǎn):過程比較繁瑣,首先要通過工作人員確定道路整修,將信息傳達(dá)給工人,工人再根據(jù)情況制作廣告牌,完成后放置到指定的路段,道路暢通后還要將廣告牌移走,會消耗大量的人力、物力、財(cái)力。不能做到實(shí)時(shí)更新。
交通廣播臺:
優(yōu)點(diǎn):交通廣播臺可以發(fā)布一些及時(shí)的路況信息,司機(jī)可以開著車收聽最新的路況信息,也不會影響司機(jī)的正常駕駛,而且交通臺可以接聽司機(jī)的提問,司機(jī)將一些路況的信息反饋給交通臺,有交通臺去提醒其他要通過此路段的司機(jī),從而形成了資源共享模式。
缺點(diǎn):交通廣播電臺可以發(fā)布一些及時(shí)的路況信息,但司機(jī)在駕車時(shí)收聽廣播容易發(fā)生危險(xiǎn),造成交通事故。并且廣播電臺不能針對分布在各個(gè)路口的司機(jī)發(fā)布他們需要的路況信息。導(dǎo)致司機(jī)依舊不可以及時(shí)的調(diào)整路線。
基于FPGA的LCD顯示的遠(yuǎn)程更新,可以將公路總監(jiān)控中心的服務(wù)器上的路況信息通過IP編碼的方式傳輸?shù)絃CD上顯示。在重要的路段可以提醒司機(jī)調(diào)整路線,F(xiàn)PGA運(yùn)算速度快,可以降低系統(tǒng)的響應(yīng)時(shí)間。在重要的路段都有LCD顯示,當(dāng)有路段因搶修或堵車等需要暫停通行時(shí),只需要在公路總監(jiān)控中心的服務(wù)器上修改一下相應(yīng)內(nèi)容即可。不再需要花費(fèi)大量的時(shí)間及人力,物力,財(cái)力來制作廣告牌放在路口進(jìn)行提示;及時(shí)的更新也可以彌補(bǔ)GPS導(dǎo)航不能及時(shí)顯示路況的不足;避免了司機(jī)在行車中時(shí)刻收聽交通廣播而分散注意力,從而消除了潛在的危險(xiǎn)。
1.3方案特征
該項(xiàng)目叫做基于FPGA的LCD顯示的遠(yuǎn)程更新,主要功能如下
用一臺電腦通過網(wǎng)線就可以對遠(yuǎn)程的LCD顯示器進(jìn)行顯示內(nèi)容的更新。
可以通過終端操作來重點(diǎn)顯示某路段的突發(fā)情況。
可以根據(jù)需要重點(diǎn)查看一個(gè)路段的路況信息。
采用網(wǎng)線傳輸路況信息進(jìn)行顯示,有利于對各個(gè)LCD模塊進(jìn)行網(wǎng)絡(luò)化管理。
1.4 系統(tǒng)亮點(diǎn)
暢通的網(wǎng)絡(luò)數(shù)據(jù)傳輸及實(shí)時(shí)內(nèi)容更新。
采用TCP/IP協(xié)議及FTP協(xié)議傳輸數(shù)據(jù),降低維護(hù)及升級成本。
采用PFGA來進(jìn)行遠(yuǎn)程LCD顯示更新,有效降低系統(tǒng)的響應(yīng)時(shí)間。
支持特殊路段重點(diǎn)顯示
支持用戶根據(jù)需要重點(diǎn)查看某路段。
二 設(shè)計(jì)模型
2.1 應(yīng)用場景
智能交通提示最重要的應(yīng)用場合就是城市公路系統(tǒng)。比如在一個(gè)路段的十字路口,在正常情況下司機(jī)會按照即定的路線行走。但如果有一個(gè)LCD顯示牌,提前告知司機(jī)四條路段的路況信息,比如某路段有臨時(shí)交通管制,禁止車輛通行,這時(shí)司機(jī)就可以提前避開,繞路而行,這樣就可以為司機(jī)節(jié)省大量的時(shí)間及不必要的往返路途。也能起到減少能源的消耗,汽車尾氣的排放等。再比如,如果有LCD顯示牌能提前提示某一路段有堵車現(xiàn)象。司機(jī)們就可以提前繞開堵車路段,避免堵車越來越嚴(yán)重的情況,減輕堵車的程度,使道路更加的流暢。
對于即將要發(fā)生的因修路等需禁止通行的路段,LCD的遠(yuǎn)程更新系統(tǒng)也可以通過按鍵操作重點(diǎn)提示。有四個(gè)按鍵對應(yīng)著十字路口的四個(gè)方向,當(dāng)有某個(gè)鍵被按下時(shí),LCD顯示遠(yuǎn)程更新系統(tǒng)就中斷正常的循環(huán)顯示,直接跳轉(zhuǎn)到對應(yīng)路段的信息顯示一段時(shí)間后回正常循環(huán)顯示模式。
圖1功能演示圖
2.2結(jié)構(gòu)和系統(tǒng)模型
(1)基本結(jié)構(gòu)圖
要顯示的內(nèi)容通過TCP/IP進(jìn)行傳輸與更新,沒有了距離的限制,可以在遠(yuǎn)程實(shí)現(xiàn)更新。需要更新的LCD顯示內(nèi)容共有四部分組成,在一段時(shí)間內(nèi)LCD只能顯示其中的一個(gè)部分,并循環(huán)進(jìn)行顯示。由Nexys3開發(fā)板上的四個(gè)按鍵控制跳轉(zhuǎn)。Nexys3 FPGA開發(fā)板通過RJ45口接收到信號后,PHY模塊對IP包進(jìn)行拆分,恢復(fù)成原始信號。由 MicroBlaze 軟核存入Cellular RAM中,并按照順序在LCD上進(jìn)行分段顯示。當(dāng)MicroBlaze 檢測到有按鍵按下時(shí),MicroBlaze軟核處理器響應(yīng)中斷,并進(jìn)行中斷處理,顯示相應(yīng)按鍵對應(yīng)的部分信息,一段時(shí)間后,返回中斷前的狀態(tài)。
圖2 基本圖
(2)MicroBlaze結(jié)構(gòu)圖
圖3 MicroBlaze軟核結(jié)構(gòu)圖[!--empirenews.page--]
Ethernet MAC 接收計(jì)算機(jī)發(fā)送的數(shù)據(jù)后拆分IP包,然后送入MicroBlaze處理,由MultriProt Memory Controller控制存入 Local Memory中,然后按照順序進(jìn)行循環(huán)顯示,顯示時(shí)間由 Timer/PWM控制,當(dāng)有按鍵按下時(shí),通過GPIO傳送入MicroBlaze軟核,由 Interrupt Controller 控制進(jìn)行中斷,將當(dāng)前信息存入堆棧,后跳轉(zhuǎn)到按鍵指定處進(jìn)行顯示Timer/PWM控制顯示一段時(shí)間后,返回中斷前的狀態(tài)繼續(xù)正常循環(huán)顯示.Customer Coprosser協(xié)助 MicroBlaze處理數(shù)據(jù).
(4)以太網(wǎng)模塊圖
圖4 以太網(wǎng)結(jié)構(gòu)圖
Nexys3基本系統(tǒng)生成器(BSB)支持包自動(dòng)生成一個(gè)測試應(yīng)用程序的以太網(wǎng)MAC。ISE的設(shè)計(jì)可以使用IP內(nèi)核發(fā)生器用向?qū)韯?chuàng)建一個(gè)以太網(wǎng)MAC控制器IP核。如果COL此信號置位時(shí)表示碰撞條件的檢測MLL模式。在MLL模式中:
1.傳輸數(shù)據(jù)時(shí)的控制信號為TXCLK,當(dāng)TXCLK為上升沿時(shí)控制器同步傳輸數(shù)據(jù),TXEN為高電平時(shí)表明此時(shí)控制器傳輸?shù)臄?shù)據(jù)是有效的,若TXER為高電平時(shí),說明傳輸檢測到錯(cuò)誤。
2.接受數(shù)據(jù)時(shí),在RXCLK為上升沿時(shí)RXD[3:0]開始接受數(shù)據(jù)??刂菩盘朢XCLK為上升沿接收數(shù)據(jù)時(shí),接受信號RXDV為高電平。如果RXER為高電平時(shí)說接受檢測到錯(cuò)誤。
MDIO信號是表明串行管理接口的數(shù)據(jù)輸入/輸出,MDC是串行管理接口的時(shí)鐘信號
(3) LCD模塊的結(jié)構(gòu)圖
圖5 LCD模塊結(jié)構(gòu)圖
為盡可能減少針腳數(shù)從而達(dá)到管腳復(fù)用的目的,F(xiàn)PGA通過四位數(shù)據(jù)線接口控制LCD,由于在初始化之后,所有的數(shù)據(jù)和命令都以8位傳送,故每8位命令被分成2個(gè)四位即高4位和低4位,先傳高4位,后傳低4位,其間間隔只是1us。數(shù)據(jù)線上的四個(gè)390Ω電阻是用來防止管腳超載起到保護(hù)的作用。下圖是LCD的初始化流程圖
圖4 LCD初始化流程圖
(5)按鍵模塊
圖6 按鍵模塊圖
系統(tǒng)完成初始化后,Spartan-6 FPGA的C4,D9,A8,C9管腳都是低電平,當(dāng)有一個(gè)按鍵按下時(shí),對應(yīng)的管腳會變成3.3V高電平,按鍵掃描程序檢測出高電平后跳轉(zhuǎn)到相應(yīng)的中斷地址,執(zhí)行中斷程序。
(6)存儲器模塊
圖7 存儲器模塊
本設(shè)計(jì)使用Nexys3 SPARTAN6開發(fā)板上的存儲資源Cellular RAM 作為存儲器,采用同步模式進(jìn)行傳輸,時(shí)鐘信號CLK低電平時(shí)有效。 在讀模式時(shí),寫使能引腳WE為高電平,ADV,CRE,CE,OE,LB,UB為低電平,地址信號從ADDR[25:0]輸入,保存的數(shù)據(jù)從DQ[15:0]輸出;在寫模式時(shí),WE,ADV,CRE,CE,LB,UB為低電平狀態(tài),OE可以為任何狀態(tài)。地址信號從ADDR[25:0]輸入,需要存儲的數(shù)據(jù)從DQ[15:0]端輸入。[!--empirenews.page--]
2.3流程圖
(1)系統(tǒng)流程圖
系統(tǒng)流程圖是描述了系統(tǒng)整個(gè)的工作流程。由于遠(yuǎn)程更新LCD,所以要用到以太網(wǎng)的傳輸,具體就是要使用TCP/IP協(xié)議,F(xiàn)TP協(xié)議對LCD遠(yuǎn)程更新。程序設(shè)計(jì)的時(shí)候默認(rèn)狀態(tài)是在LCD顯示器循環(huán)播放信息,此外該項(xiàng)目利用開發(fā)板上的四個(gè)按鍵可以控制根據(jù)個(gè)人的需求重點(diǎn)顯示特定的信息。因此軟件系統(tǒng)的結(jié)構(gòu)流程框圖如下所示:
圖8 系統(tǒng)流程圖
從上面的軟件流程圖可知軟件執(zhí)行流程如下:如果交通總控室有需要更新的路況信息,則將需要更新的內(nèi)容通過網(wǎng)線發(fā)送到Nesxy3開發(fā)板,經(jīng)過信息處理模塊對LCD顯示內(nèi)容進(jìn)行更新。按鍵掃描程序如果檢測到某個(gè)鍵按下,則進(jìn)行相應(yīng)的中斷,跳轉(zhuǎn)到相應(yīng)的程序處執(zhí)行特定顯示。如果沒有按鍵,則正常循環(huán)顯示。
(2)數(shù)據(jù)流圖
數(shù)據(jù)流圖它以圖形的方式描繪了信號數(shù)據(jù)(數(shù)據(jù)流)在系統(tǒng)中流動(dòng)和處理的過程。數(shù)據(jù)流圖對整個(gè)項(xiàng)目模塊劃分起到了關(guān)鍵性的作用,它反映出了系統(tǒng)必須完成的邏輯功能。其數(shù)據(jù)流圖如下:
圖9 數(shù)據(jù)流圖
2.4技術(shù)指標(biāo)
表1 技術(shù)指標(biāo)
開發(fā)板 |
Nexys3 |
處理器 |
MicroBlaze |
通訊協(xié)議 |
TCP/IP FTP |
傳輸設(shè)備 |
網(wǎng)線 |
存儲介質(zhì) |
Cellular RAM |
顯示器 |
LCD |
三 設(shè)計(jì)實(shí)施方案
3.1隊(duì)伍構(gòu)成及分工
表2隊(duì)伍分工
成 員 |
分 工 |
雷 健 |
TCP/IP及FTP協(xié)議開發(fā) |
楊洪吉 |
MicroBlaze軟核的開發(fā) |
張作彤 |
LCD顯示及各種文檔的編輯 |
朱于增 |
TCP/IP及FTP協(xié)議開發(fā) |
3.2 工具集
3.2.1硬件和軟件需求
表3硬件需求表
Hardware |
Exact Version |
Xilinx Nexys3開發(fā)板 |
Nexys3 |
臺式機(jī) (可選) |
Windows XP SP3 Intel Celeon 2.8GHz 1G DDR2 |
usb jtag下載線 |
N/A |
串口延長線 |
N/A |
存儲 |
Cellular RAM |
網(wǎng)線 |
RJ45 |
LCD |
12864 |
表4軟件需求表
Software |
Exact Version |
Xilinx ISE foundation |
10.1 |
Xilinx EDK |
10.1 |
Modelsim |
6.1eSE |
Micro blaze |
V8.20A |
3.2.2硬件描述
Nexys3 Spartan6 開發(fā)板:由Digilent公司設(shè)計(jì)的基于Spartan-6芯片的FPGA開發(fā)板,板子上有豐富的外設(shè),可以給此次項(xiàng)目的設(shè)計(jì)帶來很大的靈活性.
臺式電腦:裝有Xilinx工具軟件及modelsim軟件.可以對PFGA進(jìn)行開發(fā).及對LCD顯示內(nèi)容進(jìn)行更新.
各種線纜:網(wǎng)線用來與FPGA開發(fā)板進(jìn)行通信,進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)傳輸.USB用來下載bit文件進(jìn)行FPGA的配置.
LCD:用來顯示文字信息.
3.2.3軟件描述
ISE Foundation : Xilinx集成開發(fā)環(huán)境,是與PFGA硬件交流的橋梁.它能夠根據(jù)硬件描述語言或者電路模塊連接圖等等信息生成用于配置FPGA的配置文件,并下載到片子上去.
EDK:這是Xilinx用于嵌入式開發(fā)的工具套裝,它主要用來對Nexys3板子的MicroBlaze軟核進(jìn)行配置和連接,搭建硬件系統(tǒng).
ModelSim:VHDL或者Verilog 硬件描述語言的調(diào)試和仿真工具,可在ISE里面直接調(diào)用.在此次項(xiàng)目的設(shè)計(jì)里面它用來編寫測試向量和測試該項(xiàng)目小組自己設(shè)計(jì)的IP模塊
MicroBlaze:一個(gè)被Xilinx公司優(yōu)化過的可以嵌入在FPGA中的RISC處理器軟核,32位軟處理器核是支持CoreConnect總線的標(biāo)準(zhǔn)外設(shè)集合非常適合設(shè)計(jì)針對網(wǎng)絡(luò),電信,數(shù)據(jù)通信等的嵌入式系統(tǒng).