基于雙CPU的三色LED實時交通信息顯示系統(tǒng)設(shè)計
關(guān)鍵詞:智能交通系統(tǒng),LED點陣,漢字字模,雙口RAM,雙CPU
0引言
隨著城市化建設(shè)和交通事業(yè)的飛速發(fā)展,在智能交通系統(tǒng)(ITS)的研究和發(fā)展中,交通誘導(dǎo)信息系統(tǒng)是解決交通擁擠、保證交通安全、提高交通網(wǎng)絡(luò)使用效率的主要手段。交通信息的發(fā)布是整個誘導(dǎo)系統(tǒng)中發(fā)揮直接效應(yīng)的重要組成部分,利用它實時發(fā)布交通指令、道路狀況等信息來提高道路的通行能力。LED點陣顯示屏以其色彩鮮艷、亮度高、壽命長、工作穩(wěn)定可靠等優(yōu)點成為交通信息發(fā)布的重要途徑。單基色(紅色或綠色)LED顯示屏往往不能滿足信息分類和視角上的差別,而交通信息主要面向車輛駕駛者,由于車輛在可視距離內(nèi)停留的時間很短,因此應(yīng)避免用復(fù)雜的多灰度圖形和動畫內(nèi)容,以免干擾行駛者。而在以二基色實現(xiàn)紅、黃、綠三種顏色的顯示屏系統(tǒng)中,紅、黃、綠是交通領(lǐng)域內(nèi)的通用顏色,分別代表禁止、警告、和同意性標(biāo)語,既可以達(dá)到顏色變化的效果,給人視覺上的差別,又與交管部門的信號裝置顏色相吻合。采用雙CPU和雙口RAM制作大型三色圖文顯示系統(tǒng),將數(shù)據(jù)處理和傳輸分別由兩個獨立的CPU來完成,不僅提高了系統(tǒng)的處理速度和穩(wěn)定性,軟件設(shè)計也相對簡單。
1系統(tǒng)總體設(shè)計方案
顯示屏的內(nèi)容是動態(tài)刷新的,CPU要進(jìn)行大量的數(shù)據(jù)處理和傳輸。根據(jù)人的視覺特性,頻率應(yīng)大于50HZ,在實際設(shè)計時,為了達(dá)到比較好的效果,頻率一般大于60HZ。對于大型的圖文顯示屏來說,基于單處理器和普通存儲器的系統(tǒng)在硬件和軟件設(shè)計上都遇到叫大困難,顯示內(nèi)容易出現(xiàn)閃爍。采用雙CPU結(jié)構(gòu)和雙口RAM使處理數(shù)據(jù)和輸出數(shù)據(jù)同時進(jìn)行,提高掃描速度,顯示內(nèi)容相當(dāng)穩(wěn)定??傮w結(jié)構(gòu)如圖1。
1.1系統(tǒng)雙CPU控制原理
兩片CPU均采用AT89C51,帶4KROM,對本系統(tǒng)來說空間已足夠。CPU1負(fù)責(zé)與指揮中心PC機(jī)進(jìn)行通信和緩存區(qū)內(nèi)數(shù)據(jù)的處理與編排,CPU2負(fù)責(zé)行掃描信號的產(chǎn)生和顯示數(shù)據(jù)的輸出。采用非易失性的存儲芯片28C64存儲顯示內(nèi)容,可存放8K字節(jié)的漢字、ASCII或圖形。IDT7132是COMS靜態(tài)雙口RAM,存儲容量為2K x8 bit。它有兩套完全獨立的數(shù)據(jù)線、地址線和讀寫控制線,并有一套競爭仲裁電路,因而可以使用兩個CPU分地獨立的訪問內(nèi)部資源。
圖1 系統(tǒng)原理框圖
將IDT7132的2K字節(jié)存儲空間分為2個顯示緩存E1區(qū)和E2區(qū),分別占1K字節(jié)的空間。CPU1通過P1.1和P1.2與CPU2(P3.2,P3.3)進(jìn)行協(xié)調(diào),對緩存區(qū)E1和E2交替使用。CPU1處理E1區(qū)的數(shù)據(jù)時,CPU2將E2區(qū)的數(shù)據(jù)輸出顯示。當(dāng)CPU2輸出完E2區(qū)的數(shù)據(jù)后,轉(zhuǎn)向?qū)1區(qū)的數(shù)據(jù)輸出,并通知CPU1對E2區(qū)的數(shù)據(jù)進(jìn)行處理,開始下一輪的循環(huán)。由于兩片CPU訪問的是ITD7132的兩塊不同的區(qū)域,避免了對同一單元同時進(jìn)行訪問,不存在仲裁的問題,因此兩片CPU可同時獨立工作,分別完成數(shù)據(jù)的處理和傳輸,減輕了CPU2處理大量數(shù)據(jù)的壓力,大大提高運行速度,顯示內(nèi)容相當(dāng)穩(wěn)定。
CPU1在處理數(shù)據(jù)的同時,通過RS232接口隨時監(jiān)測指揮中心發(fā)來的命令和數(shù)據(jù)。如顯示屏開/關(guān)、顏色、運行方式、移動速度、交通信息內(nèi)容等。CPU1接受完數(shù)據(jù)并處理好緩存區(qū)的數(shù)據(jù)后通知CPU2開始輸出顯示新的內(nèi)容并按新的運行控制字運行。
1.2顏色的產(chǎn)生和控制
顯示模塊采用8X8點陣的雙基色模塊,有16個引角驅(qū)動紅色的燈管和16個引角驅(qū)動綠色燈管,其組合的顏色可以達(dá)到明黃的效果。行掃描信號用兩片74LS154 4-16譯碼器完成,通過CPU2的P3.4,P3.5控制,分別產(chǎn)生16行紅色和16行綠色掃描信號,高電平有效。若P3.4=1,P3.5=1,即同時為高電平,則同時產(chǎn)生紅色和綠色掃描信號,顯示屏的顏色表現(xiàn)為黃色,從而實現(xiàn)三色。在交通領(lǐng)域中,紅色代表禁止性標(biāo)語,黃色代表警告性標(biāo)語,而綠色代表同意性標(biāo)語,與交通部門在實際應(yīng)用中的信號顏色保持一致。根據(jù)顯示內(nèi)容的需要,通過應(yīng)用程序編排,可以同時實現(xiàn)三種顏色的文字和圖行的顯示,如圖2。
1.3通用顯示單元的驅(qū)動
驅(qū)動電路設(shè)計的好壞直接影響到系統(tǒng)的生產(chǎn)成本和顯示的效果及系統(tǒng)的運行性能。采用16塊雙級基色8x8點陣模塊構(gòu)成16x64點陣的通用顯示單元。分兩行,每行8塊。行掃描信號用兩片74LS154 4-16譯碼器完成,列數(shù)據(jù)的輸出采用并行移位鎖存的傳輸方式??梢赃x用74LS273這樣一類鎖存芯片,采用首尾相連的方式。這種方式雖然對印刷線路扳的質(zhì)量要求高,密度大,增加了布線的難度,但目前的制板技術(shù)和采用SMD貼片元件,完全可以克服。且這一設(shè)計方案優(yōu)點是傳輸速度快,控制方便,系統(tǒng)的整體投入成本比較低,大大地提高系統(tǒng)的性價比。P3.1與寫信號(/WR)經(jīng)過或非門后產(chǎn)生鎖存信號,同時鎖存列數(shù)據(jù)。行、列信號的驅(qū)動分別采用PNP型的BD682和NPN型的BD681達(dá)林頓管,其特點是增益高,開關(guān)速度快,設(shè)計電路簡單。
整個顯示屏根據(jù)尺寸大小,可以象“搭積木”一樣進(jìn)行拼接,以保證系統(tǒng)安裝方便。
2 通信傳輸和網(wǎng)絡(luò)控制
在誘導(dǎo)系統(tǒng)中,交通信息的發(fā)布和顯示要有一定的實時性,實現(xiàn)實時數(shù)據(jù)的傳輸。網(wǎng)絡(luò)結(jié)構(gòu)如圖3。
圖3 系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)框圖
用標(biāo)準(zhǔn)的RS232通信方式實現(xiàn)指揮中心與顯示系統(tǒng)信息的傳輸,對于距離較遠(yuǎn)的可通過電話線用MODEM或光纖通訊。指揮中心通過接受采集的交通信息和調(diào)度指令,對不同位置的顯示子系統(tǒng)進(jìn)行集中控制和管理。每個信息顯示子系統(tǒng)分配不同的端口號(地址),分別實時檢測和接受指揮中心發(fā)來的不同路段的交通信息和圖文數(shù)據(jù)。PC機(jī)應(yīng)用軟件利用VB6.0的ActiveX控件MSCcomm能方便的開發(fā)使用計算機(jī)的串口,可簡單高效的實現(xiàn)設(shè)備之間的通信。其使用方法目前有很多書籍均有介紹,這里不多加論述。
3 系統(tǒng)軟件設(shè)計
3.1單片機(jī)顯示控制的軟件設(shè)計
LED 點陣顯示屏可實現(xiàn)動態(tài)、靜態(tài)圖文顯示。動態(tài)中有打字、左移、右移、上移、下移、開簾、關(guān)簾等多種方式。可根據(jù)顯示屏的尺寸規(guī)格和內(nèi)容選擇不同的顏色、顯示方式和移動速度。通過標(biāo)準(zhǔn)RS232接口,計算機(jī)將編輯好的文字或圖形數(shù)據(jù)下載到主控器,并存儲在非易失性存儲器中,然后就可以脫機(jī)運行。整個軟件程序采用C51編程,由于采用了雙CPU的結(jié)構(gòu),使得處理數(shù)據(jù)和傳輸數(shù)據(jù)分別由兩片CPU來完成,避免了處理大量數(shù)據(jù)的復(fù)雜性,編程實現(xiàn)相對比較簡單。
3.2應(yīng)用軟件點陣數(shù)據(jù)的提取
本文設(shè)計的顯示屏可以實現(xiàn)漢字、全角字符和ASCII碼混合顯示,編輯文本簡單靈活。選用UCDOS的ASC16和HZK16文件做字模庫。HZK16文件是16x16字模點陣,占32個字節(jié),而ASC16文件的字符為16x8點陣,占16個字節(jié),針對這種情況,本文提出了一種新的字模處理方法,把漢字拆成兩半,形成左右結(jié)構(gòu),當(dāng)作兩個字符,這樣就和ASCII碼的字模統(tǒng)一起來了,使處理漢字和字符都一樣。對于特殊符號,可以直接通過程序界面輸入點陣數(shù)據(jù)。圖形的點陣數(shù)據(jù)的提取,可以先做一個BMP文件,然后用取模軟件獲得。根據(jù)GB2312―80標(biāo)準(zhǔn),若知道漢字或字符的內(nèi)碼,假設(shè)為A1A2B1B2H,則可根據(jù)如下公式計算區(qū)位碼。若為漢字則
區(qū)碼=(A1A2-A1H) AND 7FH
位碼=(B1B2H=A1H) AND 7FH
若為全角字符則
區(qū)碼=(A1A2-21H) AND 7FH
位碼=(B1B2H=21H) AND 7FH
點陣起始位置=(區(qū)碼*94+位碼)x點陣字節(jié)數(shù)
ASC16文件所有字符按照ASCII值從小到大升序排列。計算字符首地址的公式:
字符點陣首地址=字符的ASCII碼值16+1
根據(jù)起始地址連續(xù)取32或16個字節(jié)數(shù)據(jù)即可獲得字模。限于篇幅,程序省略。
4 結(jié)束語
基于該設(shè)計方法的顯示屏,掃描速度快,實際運行結(jié)果也相當(dāng)穩(wěn)定。三種顏色的實現(xiàn)保持了與交通部門采用信號顏色的一致性。用戶根據(jù)定制的顯示屏的尺寸,在硬件上只需對通用顯示單元的拼接,在軟件上則可進(jìn)行靈活地編輯圖文內(nèi)容,顏色和運行方式。
參考文獻(xiàn)
[1]陸慰民.Visual Basic程序設(shè)計教程(6.0版).高等教育出版社,2000.7
[2]王宏民.LED顯示屏的驅(qū)動方案.黑龍江電子技術(shù),1999.5
[3]孫國棟等.VB6.0在LED在漢字顯示信息系統(tǒng)中的應(yīng)用.計算機(jī)信息, 2003 19,9
[4]馬忠梅.單片機(jī)的C語言應(yīng)用程序設(shè)計.北京:航空航天大學(xué)出版杜,1999.1
評論