提出了一種基于ARM7 和CPLD 架構(gòu)的數(shù)字公交站亭系統(tǒng)。系統(tǒng)通過(guò)GPRS 模塊與公交控制中心實(shí)時(shí)通信,使用CA 認(rèn)證保證通信的安全性,采用兩塊SRAM 組成具有“乒乓邏輯”的高速緩存確保顯示數(shù)據(jù)的連續(xù)性,可實(shí)現(xiàn)同一站亭多條線路信息動(dòng)態(tài)顯示、實(shí)時(shí)車輛到站預(yù)報(bào)、公眾信息發(fā)布、線路信息及時(shí)更新以及系統(tǒng)在線升級(jí)等功能,具有實(shí)時(shí)性好、安全性高,可擴(kuò)展性強(qiáng)等特點(diǎn)。
針對(duì)現(xiàn)有印刷公交站亭提供信息少、無(wú)法提供車輛到站預(yù)報(bào)、增加線路或者修改線路信息麻煩等不足,本文提出了一種新數(shù)字公交站亭系統(tǒng)。該系統(tǒng)基于ARM7 和CPLD 架構(gòu),通過(guò)GPRS 與公交控制中心通信,采用CA 認(rèn)證保證通信的安全性,能實(shí)現(xiàn)實(shí)時(shí)車輛到站預(yù)報(bào)、公眾信息(如天氣預(yù)報(bào)、重要新聞、交通路況、緊急狀態(tài)信息)發(fā)布、線路信息及時(shí)更新以及系統(tǒng)在線升級(jí)等功能,具有實(shí)時(shí)性好、安全性高,可擴(kuò)展性強(qiáng)等特點(diǎn),有助于全面提升城市公交站的信息服務(wù)水平。
1 數(shù)字公交站亭系統(tǒng)總體結(jié)構(gòu)及工作原理
該系統(tǒng)分為控制中心、站亭終端通信模塊、站亭終端控制模塊、站亭終端顯示模塊四個(gè)部分,總體結(jié)構(gòu)框圖如圖1,各個(gè)部分組成和工作原理介紹如下:
(1) 控制中心:負(fù)責(zé)全市或者某區(qū)域公交車運(yùn)行情況的監(jiān)控,包括:信息采集、信息處理、公交實(shí)時(shí)調(diào)度、站臺(tái)顯示控制等功能。控制中心通過(guò)GPRS 與每個(gè)站亭終端建立無(wú)線通信,實(shí)現(xiàn)對(duì)站亭終端的相關(guān)控制。此外,控制中心還根據(jù)安裝在公交車輛上的GPS 定位車輛位置,結(jié)合車輛速度和路況信息,實(shí)時(shí)更新車輛到站時(shí)間預(yù)報(bào)。
(2) 站亭終端控制模塊:由核心芯片 ARM 和其外圍器件組成,通過(guò)GPRS 模塊接收控制中心下發(fā)的信息幀,執(zhí)行由控制中心發(fā)出的控制命令,并根據(jù)控制中心發(fā)出的顯示信息,完成字庫(kù)查找,寫入由兩塊SRAM 組成的高速數(shù)據(jù)緩存,兩塊SRAM 采用“乒乓邏輯”,即某一時(shí)刻ARM 芯片向一片SRAM 寫入顯示數(shù)據(jù),另一片此時(shí)被CPLD 讀取,二者輪流切換,保證數(shù)據(jù)的高速性和顯示的連續(xù)性。為保證系統(tǒng)的安全性,每個(gè)站亭終端都有一個(gè)密鑰,此密鑰在設(shè)備初始化的時(shí)候?qū)懭?,外?a target="_blank">接口不能訪問(wèn)到此密鑰信息,ARM 根據(jù)此密鑰完成對(duì)接收信息幀的解密,如果遇到無(wú)法完成驗(yàn)證的信息幀,系統(tǒng)認(rèn)為該信息幀被篡改,予以丟棄。此外,由于每個(gè)站亭終端需長(zhǎng)時(shí)間連續(xù)工作,為了防止溫度過(guò)高使系統(tǒng)工作不正常甚至導(dǎo)致火災(zāi),每個(gè)站亭終端裝有散熱裝置,包括溫度傳感器和散熱風(fēng)扇, ARM 通過(guò)溫度傳感器獲取站亭終端內(nèi)部的溫度,一旦發(fā)現(xiàn)溫度超過(guò)設(shè)定值,立即啟動(dòng)散熱風(fēng)扇,保證系統(tǒng)能長(zhǎng)期工作。
(3) 站亭終端顯示模塊:由 CPLD、LED 掃描驅(qū)動(dòng)電路、LED 點(diǎn)陣顯示屏組成,CPLD讀取由兩塊SRAM 組成的高速緩存中的數(shù)據(jù),完成對(duì)LED 顯示屏的掃描驅(qū)動(dòng)過(guò)程,其內(nèi)部固化的數(shù)字邏輯產(chǎn)生屏幕顯示控制信號(hào),包括串行數(shù)據(jù)移位信號(hào)、數(shù)據(jù)鎖存信號(hào)、行掃描信號(hào)等,LED 顯示屏行掃描電路和列數(shù)據(jù)電路根據(jù)這些信號(hào)驅(qū)動(dòng)LED顯示屏。
?
圖 1 系統(tǒng)總體結(jié)構(gòu)框圖
2 系統(tǒng)硬件設(shè)計(jì)
2.1 站亭終端控制模塊
站亭終端控制模塊的核心芯片 ARM 向上通過(guò)GPRS 模塊連接控制中心,并完成對(duì)控制中心下發(fā)的數(shù)據(jù)幀(包括控制命令和顯示信息) CA 驗(yàn)證;向下將需要顯示的漢字點(diǎn)陣信息寫入由兩塊SRAM 采用“乒乓邏輯”組成的高速數(shù)據(jù)緩存,控制CPLD 對(duì)緩存中的數(shù)據(jù)準(zhǔn)確讀取。GPRS 模塊選用BenQ M22 GPRS 無(wú)線模塊,該模塊可以實(shí)現(xiàn)自動(dòng)網(wǎng)絡(luò)連接和協(xié)議處理,無(wú)需后臺(tái)計(jì)算機(jī)支持,它與ARM 之間采用RS-232 串口通信標(biāo)準(zhǔn)實(shí)現(xiàn)通信,波特率為57.6k。ARM 選用NXP 公司生產(chǎn)的LPC2378,LPC2378 是ARM7TDMI-S 處理器,可在高達(dá)72MHz 的工作頻率下運(yùn)行,芯片內(nèi)部具有UART、硬件I2C、SPI 和定時(shí)器外圍部件[2],它豐富的片內(nèi)外資源、快速的響應(yīng)性和較高的性價(jià)比都很適合用于高速串口通信和CA 認(rèn)證。此外,基于安全考慮,與ARM 相連的還有散熱裝置,包括溫度傳感器和散熱風(fēng)扇, ARM通過(guò)溫度傳感器實(shí)時(shí)監(jiān)控站亭終端的溫度,一旦發(fā)現(xiàn)溫度超過(guò)設(shè)定值,立即啟動(dòng)散熱風(fēng)扇,保證系統(tǒng)能長(zhǎng)時(shí)間不間斷工作。站亭終端控制模塊還包括Flash、JTAG 調(diào)試端口等。
2.2 站亭終端顯示模塊
站亭終端顯示模塊由 CPLD、LED 掃描驅(qū)動(dòng)電路、LED 顯示點(diǎn)陣組成。LED 顯示屏的掃描驅(qū)動(dòng)電路部分是由CPLD 來(lái)實(shí)現(xiàn)的。 CPLD 讀取高速緩存中的數(shù)據(jù),其內(nèi)部固化的數(shù)字邏輯產(chǎn)生屏幕顯示控制信號(hào),包括串行數(shù)據(jù)移位信號(hào)、數(shù)據(jù)鎖存信號(hào)、行掃描信號(hào)等,完成對(duì)LED 顯示屏的掃描驅(qū)動(dòng)過(guò)程。CPLD 功能用硬件描述語(yǔ)言VHDL 編程實(shí)現(xiàn),從而可以大大縮短開發(fā)周期,使設(shè)計(jì)靈活、修改方便,同時(shí)CPLD 高集成度、高速高可靠性、開發(fā)周期短的特點(diǎn),大大改善了電路性能。在此CPLD 選用ALTERA 公司MAXⅡ系列EPM1270 芯片,它有116 個(gè)I/O 口,1270 個(gè)邏輯單元,具有高性能,低功耗等性能特點(diǎn),滿足要求。
3 系統(tǒng)軟件設(shè)計(jì)
3.1 CA 認(rèn)證
控制中心和站亭終端通過(guò) GPRS 建立無(wú)線通信,為了保證數(shù)據(jù)在通信過(guò)程中的完整性,本設(shè)計(jì)采用基于hmac-sha1 算法的CA 消息認(rèn)證確保信息不受非法攻擊和篡改。hmac-sha1是一種基于密鑰的報(bào)文完整性的驗(yàn)證方法,其安全性是建立在Hash 算法基礎(chǔ)上的。它要求通信雙方共享密鑰、約定算法、對(duì)報(bào)文進(jìn)行Hash 運(yùn)算,形成固定長(zhǎng)度的認(rèn)證碼(MAC)。通信雙方通過(guò)認(rèn)證碼的校驗(yàn)來(lái)確定報(bào)文的合法性。這個(gè)算法廣泛用作加密、數(shù)字簽名、報(bào)文驗(yàn)證等,它能有效的抵抗窮舉攻擊,防止信息幀數(shù)據(jù)被任意地篡改和顛覆,最大限度地保證系統(tǒng)運(yùn)行的安全性。
基于 hmac-sha1 算法的CA 認(rèn)證步驟如下:
設(shè) K、N 分別為控制中心和站亭終端約定的密鑰和同步序列號(hào),B 表示數(shù)據(jù)塊的大?。ㄎ粸閱挝唬?,K0 為B 長(zhǎng)度的密鑰K。
發(fā)送方
Step1:利用密鑰K,求出相應(yīng)的B 長(zhǎng)度的K0。
Step2:利用hmac-sha1 算法,生成消息摘要MAC 碼。
Step3:N 加1,并同時(shí)更新本地的N。
Step4:采用DES 數(shù)字簽名技術(shù),對(duì)消息和消息摘要MAC 碼等進(jìn)行加密,并發(fā)送給站亭終端。
接收方
Step5:先對(duì)接收到的數(shù)據(jù)運(yùn)用對(duì)應(yīng)的解密算法進(jìn)行解密,再重復(fù)Step1 和Step2 的計(jì)算,生成一個(gè)MAC 碼,如果和收到的消息摘要MAC 碼相符,則表明數(shù)據(jù)合法。
Step6:如果收到的N 小于本地存儲(chǔ)的N,則屬于重傳,可以進(jìn)行同步或丟棄,否則表示數(shù)據(jù)是新鮮的、合法的。
3.2 ARM 的軟件設(shè)計(jì)
ARM是站亭終端的核心芯片,為了保證整個(gè)站亭終端系統(tǒng)運(yùn)行的速度和穩(wěn)定性,它的軟件設(shè)計(jì)是基于嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-Ⅱ[5]進(jìn)行的,這樣可充分利用操作系統(tǒng)高效的任務(wù)調(diào)度算法,并且使得程序的開發(fā)和擴(kuò)展變得更加方便。其任務(wù)結(jié)構(gòu)如圖2。
?
圖 2 ARM 軟件總體結(jié)構(gòu)圖
ARM 上電或復(fù)位后,首先進(jìn)行系統(tǒng)初始化,包括操作系統(tǒng)的初始化和硬件中斷、定時(shí)器、通信接口的初始化,系統(tǒng)初始化之后,先后創(chuàng)建如下任務(wù):
Task_RS232Com:串口通信任務(wù),完成與GPRS 模塊之間的通信,接收控制中心下發(fā)的信息幀;
Task_LEDControl:LED 顯示控制任務(wù),將需要顯示的數(shù)據(jù)(包括線路信息和實(shí)時(shí)車輛到站預(yù)報(bào)等)寫入由SRAM2 和SRAM3 組成的高速數(shù)據(jù)緩存,并把寫入的地址傳送給CPLD,控制CPLD 讀取緩存中的數(shù)據(jù);
Task_LineProcess:線路信息管理任務(wù),保存公交線路信息的更新;
Task_TempProtect:溫度保護(hù)任務(wù),定時(shí)讀取溫度傳感器提供的溫度值,一旦發(fā)現(xiàn)超過(guò)設(shè)定值,系統(tǒng)立即開啟散熱風(fēng)扇進(jìn)行散熱,確保系統(tǒng)正常工作;
Task_update:系統(tǒng)更新任務(wù),完成系統(tǒng)在線升級(jí);
3.4 CPLD 的軟件設(shè)計(jì)
CPLD 通過(guò)產(chǎn)生串行數(shù)據(jù)移位信號(hào)、數(shù)據(jù)鎖存信號(hào)、行掃描信號(hào)等,完成對(duì)LED 顯示屏的掃描驅(qū)動(dòng)過(guò)程。它的軟件設(shè)計(jì)框圖如圖3,主要包括以下幾個(gè)部分:(1)時(shí)鐘產(chǎn)生器:產(chǎn)生各種頻率的時(shí)鐘信號(hào);(2)讀切換電路:受ARM 的控制,在兩塊SRAM 之間切換,完成對(duì)高速數(shù)據(jù)緩存的讀??;(3)讀地址產(chǎn)生器:使CPLD 能在由兩塊SRAM 組成的高速緩存中準(zhǔn)確尋址;(4)掃描控制電路:根據(jù)高速緩存中讀取的數(shù)據(jù),產(chǎn)生相應(yīng)的掃描控制信號(hào),通過(guò)LED 驅(qū)動(dòng)電路接口,送入列數(shù)據(jù)電路和行掃描電路;(5)JTAG 口:提供在線調(diào)試的接口。
?
圖 3 CPLD 軟件設(shè)計(jì)框圖
本文提出的基于 ARM7 和CPLD 的數(shù)字公交站亭系統(tǒng),通過(guò)GPRS 模塊與控制中心實(shí)時(shí)通信并且采用CA 認(rèn)證保證系統(tǒng)運(yùn)行的實(shí)時(shí)性和安全性,能有效解決現(xiàn)有的公交站亭存在公交站牌提供的信息少、無(wú)法提供車輛到站預(yù)報(bào),增加線路或者修改線路信息麻煩等許多不足。該系統(tǒng)提供的實(shí)時(shí)車輛到站預(yù)報(bào)使乘客在公交車站候車區(qū)可通過(guò)站亭終端的LED 顯示屏查看所有等候車輛的線路信息和到站時(shí)間,使他們做到心中有數(shù),能夠有效緩解候車乘客等車的焦慮心情;同時(shí)公眾信息發(fā)布能及時(shí)提供包括天氣預(yù)報(bào)、交通路況和其它重要信息,為乘客們的出行帶來(lái)方便。此外,系統(tǒng)具有在線升級(jí)功能,方便日后系統(tǒng)的更新和維護(hù)。總之,數(shù)字公交站亭系統(tǒng)有助于全面提升城市公交車站的信息服務(wù)水平,在未來(lái)城市智能交通的建設(shè)當(dāng)中有著廣闊的應(yīng)用前景。
評(píng)論
查看更多