《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于ARM7和CPLD的數(shù)字公交站亭系統(tǒng)設(shè)計
基于ARM7和CPLD的數(shù)字公交站亭系統(tǒng)設(shè)計
維庫
摘要: 基于ARM7和CPLD的數(shù)字公交站亭系統(tǒng)設(shè)計,摘要:提出了一種基于ARM7和CPLD架構(gòu)的數(shù)字公交站亭系統(tǒng)。系統(tǒng)通過GPRS模塊與公交控制中心實時通信,使用CA認證保證通信的安全性,采用兩塊SRAM組成具有“乒乓邏輯”的高速緩存確保顯示數(shù)據(jù)的連續(xù)性
關(guān)鍵詞: ARM 數(shù)字公交站 CPLD
Abstract:
Key words :

  摘要:提出了一種基于ARM7 和CPLD 架構(gòu)的數(shù)字公交站亭系統(tǒng)。系統(tǒng)通過GPRS 模塊與公交控制中心實時通信,使用CA 認證保證通信的安全性,采用兩塊SRAM 組成具有“乒乓邏輯”的高速緩存確保顯示數(shù)據(jù)的連續(xù)性,可實現(xiàn)同一站亭多條線路信息動態(tài)顯示、實時車輛到站預(yù)報、公眾信息發(fā)布、線路信息及時更新以及系統(tǒng)在線升級等功能,具有實時性好、安全性高,可擴展性強等特點。

  針對現(xiàn)有印刷公交站亭提供信息少、無法提供車輛到站預(yù)報、增加線路或者修改線路信息麻煩等不足,本文提出了一種新數(shù)字公交站亭系統(tǒng)。該系統(tǒng)基于ARM7 和CPLD 架構(gòu),通過GPRS 與公交控制中心通信,采用CA 認證保證通信的安全性,能實現(xiàn)實時車輛到站預(yù)報、公眾信息(如天氣預(yù)報、重要新聞、交通路況、緊急狀態(tài)信息)發(fā)布、線路信息及時更新以及系統(tǒng)在線升級等功能,具有實時性好、安全性高,可擴展性強等特點,有助于全面提升城市公交站的信息服務(wù)水平。

  1 數(shù)字公交站亭系統(tǒng)總體結(jié)構(gòu)及工作原理

  該系統(tǒng)分為控制中心、站亭終端通信模塊、站亭終端控制模塊、站亭終端顯示模塊四個部分,總體結(jié)構(gòu)框圖如圖1,各個部分組成和工作原理介紹如下:

  (1) 控制中心:負責全市或者某區(qū)域公交車運行情況的監(jiān)控,包括:信息采集、信息處理、公交實時調(diào)度、站臺顯示控制等功能??刂浦行耐ㄟ^GPRS 與每個站亭終端建立無線通信,實現(xiàn)對站亭終端的相關(guān)控制。此外,控制中心還根據(jù)安裝在公交車輛上的GPS 定位車輛位置,結(jié)合車輛速度和路況信息,實時更新車輛到站時間預(yù)報。

  (2) 站亭終端控制模塊:由核心芯片 ARM 和其外圍器件組成,通過GPRS 模塊接收控制中心下發(fā)的信息幀,執(zhí)行由控制中心發(fā)出的控制命令,并根據(jù)控制中心發(fā)出的顯示信息,完成字庫查找,寫入由兩塊SRAM 組成的高速數(shù)據(jù)緩存,兩塊SRAM 采用“乒乓邏輯”,即某一時刻ARM 芯片向一片SRAM 寫入顯示數(shù)據(jù),另一片此時被CPLD 讀取,二者輪流切換,保證數(shù)據(jù)的高速性和顯示的連續(xù)性。為保證系統(tǒng)的安全性,每個站亭終端都有一個密鑰,此密鑰在設(shè)備初始化的時候?qū)懭?,外部接口不能訪問到此密鑰信息,ARM 根據(jù)此密鑰完成對接收信息幀的解密,如果遇到無法完成驗證的信息幀,系統(tǒng)認為該信息幀被篡改,予以丟棄。此外,由于每個站亭終端需長時間連續(xù)工作,為了防止溫度過高使系統(tǒng)工作不正常甚至導(dǎo)致火災(zāi),每個站亭終端裝有散熱裝置,包括溫度傳感器和散熱風扇, ARM 通過溫度傳感器獲取站亭終端內(nèi)部的溫度,一旦發(fā)現(xiàn)溫度超過設(shè)定值,立即啟動散熱風扇,保證系統(tǒng)能長期工作。

  (3) 站亭終端顯示模塊:由 CPLD、LED 掃描驅(qū)動電路、LED 點陣顯示屏組成,CPLD讀取由兩塊SRAM 組成的高速緩存中的數(shù)據(jù),完成對LED 顯示屏的掃描驅(qū)動過程,其內(nèi)部固化的數(shù)字邏輯產(chǎn)生屏幕顯示控制信號,包括串行數(shù)據(jù)移位信號、數(shù)據(jù)鎖存信號、行掃描信號等,LED 顯示屏行掃描電路和列數(shù)據(jù)電路根據(jù)這些信號驅(qū)動LED顯示屏。

系統(tǒng)總體結(jié)構(gòu)框圖


圖 1 系統(tǒng)總體結(jié)構(gòu)框圖

  2 系統(tǒng)硬件設(shè)計

  2.1 站亭終端控制模塊

  站亭終端控制模塊的核心芯片 ARM 向上通過GPRS 模塊連接控制中心,并完成對控制中心下發(fā)的數(shù)據(jù)幀(包括控制命令和顯示信息) CA 驗證;向下將需要顯示的漢字點陣信息寫入由兩塊SRAM 采用“乒乓邏輯”組成的高速數(shù)據(jù)緩存,控制CPLD 對緩存中的數(shù)據(jù)準確讀取。GPRS 模塊選用BenQ M22 GPRS 無線模塊,該模塊可以實現(xiàn)自動網(wǎng)絡(luò)連接和協(xié)議處理,無需后臺計算機支持,它與ARM 之間采用RS-232 串口通信標準實現(xiàn)通信,波特率為57.6k。ARM 選用NXP 公司生產(chǎn)的LPC2378,LPC2378 是ARM7TDMI-S 處理器,可在高達72MHz 的工作頻率下運行,芯片內(nèi)部具有UART、硬件I2C、SPI 和定時器外圍部件[2],它豐富的片內(nèi)外資源、快速的響應(yīng)性和較高的性價比都很適合用于高速串口通信和CA 認證。此外,基于安全考慮,與ARM 相連的還有散熱裝置,包括溫度傳感器和散熱風扇, ARM通過溫度傳感器實時監(jiān)控站亭終端的溫度,一旦發(fā)現(xiàn)溫度超過設(shè)定值,立即啟動散熱風扇,保證系統(tǒng)能長時間不間斷工作。站亭終端控制模塊還包括Flash、JTAG 調(diào)試端口等。

  2.2 站亭終端顯示模塊

  站亭終端顯示模塊由 CPLD、LED 掃描驅(qū)動電路、LED 顯示點陣組成。LED 顯示屏的掃描驅(qū)動電路部分是由CPLD 來實現(xiàn)的。 CPLD 讀取高速緩存中的數(shù)據(jù),其內(nèi)部固化的數(shù)字邏輯產(chǎn)生屏幕顯示控制信號,包括串行數(shù)據(jù)移位信號、數(shù)據(jù)鎖存信號、行掃描信號等,完成對LED 顯示屏的掃描驅(qū)動過程。CPLD 功能用硬件描述語言VHDL 編程實現(xiàn),從而可以大大縮短開發(fā)周期,使設(shè)計靈活、修改方便,同時CPLD 高集成度、高速高可靠性、開發(fā)周期短的特點,大大改善了電路性能。在此CPLD 選用ALTERA 公司MAXⅡ系列EPM1270 芯片,它有116 個I/O 口,1270 個邏輯單元,具有高性能,低功耗等性能特點,滿足要求。

  3 系統(tǒng)軟件設(shè)計

  3.1 CA 認證

  控制中心和站亭終端通過 GPRS 建立無線通信,為了保證數(shù)據(jù)在通信過程中的完整性,本設(shè)計采用基于hmac-sha1 算法的CA 消息認證確保信息不受非法攻擊和篡改。hmac-sha1是一種基于密鑰的報文完整性的驗證方法,其安全性是建立在Hash 算法基礎(chǔ)上的。它要求通信雙方共享密鑰、約定算法、對報文進行Hash 運算,形成固定長度的認證碼(MAC)。通信雙方通過認證碼的校驗來確定報文的合法性。這個算法廣泛用作加密、數(shù)字簽名、報文驗證等,它能有效的抵抗窮舉攻擊,防止信息幀數(shù)據(jù)被任意地篡改和顛覆,最大限度地保證系統(tǒng)運行的安全性。

  基于 hmac-sha1 算法的CA 認證步驟如下:

  設(shè) K、N 分別為控制中心和站亭終端約定的密鑰和同步序列號,B 表示數(shù)據(jù)塊的大?。ㄎ粸閱挝唬琄0 為B 長度的密鑰K。

  發(fā)送方

  Step1:利用密鑰K,求出相應(yīng)的B 長度的K0。

  Step2:利用hmac-sha1 算法,生成消息摘要MAC 碼。

  Step3:N 加1,并同時更新本地的N。

  Step4:采用DES 數(shù)字簽名技術(shù),對消息和消息摘要MAC 碼等進行加密,并發(fā)送給站亭終端。

  接收方

  Step5:先對接收到的數(shù)據(jù)運用對應(yīng)的解密算法進行解密,再重復(fù)Step1 和Step2 的計算,生成一個MAC 碼,如果和收到的消息摘要MAC 碼相符,則表明數(shù)據(jù)合法。

  Step6:如果收到的N 小于本地存儲的N,則屬于重傳,可以進行同步或丟棄,否則表示數(shù)據(jù)是新鮮的、合法的。

  3.2 ARM 的軟件設(shè)計

  ARM是站亭終端的核心芯片,為了保證整個站亭終端系統(tǒng)運行的速度和穩(wěn)定性,它的軟件設(shè)計是基于嵌入式實時操作系統(tǒng)μC/OS-Ⅱ[5]進行的,這樣可充分利用操作系統(tǒng)高效的任務(wù)調(diào)度算法,并且使得程序的開發(fā)和擴展變得更加方便。其任務(wù)結(jié)構(gòu)如圖2。

ARM 軟件總體結(jié)構(gòu)圖


圖 2 ARM 軟件總體結(jié)構(gòu)圖

  ARM 上電或復(fù)位后,首先進行系統(tǒng)初始化,包括操作系統(tǒng)的初始化和硬件中斷、定時器、通信接口的初始化,系統(tǒng)初始化之后,先后創(chuàng)建如下任務(wù):

  Task_RS232Com:串口通信任務(wù),完成與GPRS 模塊之間的通信,接收控制中心下發(fā)的信息幀;

  Task_LEDControl:LED 顯示控制任務(wù),將需要顯示的數(shù)據(jù)(包括線路信息和實時車輛到站預(yù)報等)寫入由SRAM2 和SRAM3 組成的高速數(shù)據(jù)緩存,并把寫入的地址傳送給CPLD,控制CPLD 讀取緩存中的數(shù)據(jù);

  Task_LineProcess:線路信息管理任務(wù),保存公交線路信息的更新;

  Task_TempProtect:溫度保護任務(wù),定時讀取溫度傳感器提供的溫度值,一旦發(fā)現(xiàn)超過設(shè)定值,系統(tǒng)立即開啟散熱風扇進行散熱,確保系統(tǒng)正常工作;

  Task_update:系統(tǒng)更新任務(wù),完成系統(tǒng)在線升級;

  3.4 CPLD 的軟件設(shè)計

  CPLD 通過產(chǎn)生串行數(shù)據(jù)移位信號、數(shù)據(jù)鎖存信號、行掃描信號等,完成對LED 顯示屏的掃描驅(qū)動過程。它的軟件設(shè)計框圖如圖3,主要包括以下幾個部分:(1)時鐘產(chǎn)生器:產(chǎn)生各種頻率的時鐘信號;(2)讀切換電路:受ARM 的控制,在兩塊SRAM 之間切換,完成對高速數(shù)據(jù)緩存的讀?。?3)讀地址產(chǎn)生器:使CPLD 能在由兩塊SRAM 組成的高速緩存中準確尋址;(4)掃描控制電路:根據(jù)高速緩存中讀取的數(shù)據(jù),產(chǎn)生相應(yīng)的掃描控制信號,通過LED 驅(qū)動電路接口,送入列數(shù)據(jù)電路和行掃描電路;(5)JTAG 口:提供在線調(diào)試的接口。

 CPLD 軟件設(shè)計框圖


圖 3 CPLD 軟件設(shè)計框圖

  本文提出的基于 ARM7 和CPLD 的數(shù)字公交站亭系統(tǒng),通過GPRS 模塊與控制中心實時通信并且采用CA 認證保證系統(tǒng)運行的實時性和安全性,能有效解決現(xiàn)有的公交站亭存在公交站牌提供的信息少、無法提供車輛到站預(yù)報,增加線路或者修改線路信息麻煩等許多不足。該系統(tǒng)提供的實時車輛到站預(yù)報使乘客在公交車站候車區(qū)可通過站亭終端的LED 顯示屏查看所有等候車輛的線路信息和到站時間,使他們做到心中有數(shù),能夠有效緩解候車乘客等車的焦慮心情;同時公眾信息發(fā)布能及時提供包括天氣預(yù)報、交通路況和其它重要信息,為乘客們的出行帶來方便。此外,系統(tǒng)具有在線升級功能,方便日后系統(tǒng)的更新和維護??傊?,數(shù)字公交站亭系統(tǒng)有助于全面提升城市公交車站的信息服務(wù)水平,在未來城市智能交通的建設(shè)當中有著廣闊的應(yīng)用前景。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。