<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 基于ARM智能交通信號機(jī)控制板開發(fā)

          基于ARM智能交通信號機(jī)控制板開發(fā)

          ——
          作者:中國船舶重工集團(tuán)公司 許榮 時間:2007-11-21 來源:現(xiàn)代電子技術(shù) 收藏

          1 引言 

            目前我國的城市交通控制主要還是靠道路交通信號控制機(jī)(以下簡稱信號機(jī))。國內(nèi)的信號機(jī)主要分為兩類:一類采用8/16位單片機(jī)作為處理器,交通控制功能簡單、方案單一,以RS 232或RS485為通訊方式,難以與控制中心聯(lián)網(wǎng)以及實現(xiàn)區(qū)域交通協(xié)調(diào)控制等功能,不能適應(yīng)現(xiàn)代化大路口交通控制的要求;另一類則是基于工控機(jī)或PC104,功能雖然強(qiáng)大,但由于工控機(jī)或PC104都是按通用計算機(jī)標(biāo)準(zhǔn)設(shè)計,并非專門針對信號機(jī)應(yīng)用設(shè)計,該類信號機(jī)硬件結(jié)構(gòu)復(fù)雜且很多功能并不需要,成本也高,國外的信號機(jī)(如西門子公司的2070和美國的EAGLE)開發(fā)起步早,水平高,已有各種自適應(yīng)聯(lián)網(wǎng)型信號機(jī)產(chǎn)品,但一般不適用于中國混合交通的實際情況,且價格昂貴,操作不方便。

            信號機(jī)是一個典刑的嵌入式系統(tǒng),嵌入式系統(tǒng)是以應(yīng)用為中心來設(shè)計,對功能、性能、可靠性、成本、功耗、體積等有嚴(yán)格的要求,既要滿足智能交通系統(tǒng)對信號機(jī)智能化、多功能的要求,又要最大化信號機(jī)的性價比,因此本設(shè)計選擇基于ARM核的32位嵌入式RISC處理器——AT91RM9200來完成智能交通信號機(jī)控制板的硬件設(shè)計,以達(dá)到使信號機(jī)在交通系統(tǒng)中成為收集與處理交通流量數(shù)據(jù)、通信聯(lián)網(wǎng)以及區(qū)域協(xié)調(diào)控制平臺的設(shè)計目標(biāo)。

          2 信號機(jī)系統(tǒng)硬件設(shè)計

          2.1 系統(tǒng)總體硬件結(jié)構(gòu)

            智能交通系統(tǒng)要求信號機(jī)可以向控制中心實時提供多種道路信息和車流量數(shù)據(jù)信息,接收控制中心的控制命令,并能夠獨(dú)立執(zhí)行一些復(fù)雜的算法,可以根據(jù)交通流量變化實時條件路口信號燈的綠燈時間,因此考慮現(xiàn)有信號機(jī)的不足,根據(jù)信號機(jī)功能發(fā)展的趨勢和要求,本文設(shè)計的信號機(jī)控制板具有控制參數(shù)輸入、控制狀態(tài)輸出、控制參數(shù)保存、燈態(tài)輸出控制、交通流信息(主要是車流量)實時檢測與歷史數(shù)據(jù)存儲、多種燈態(tài)控制方案與算法模型存儲、支持以太網(wǎng)及與手持終端設(shè)備通訊等基本功能。整個系統(tǒng)硬件結(jié)構(gòu)如圖1所示。

                                     系統(tǒng)硬件結(jié)構(gòu)

          2.1.1 AT91RM9200微處理器介紹

            嵌入式微處理器是整個嵌入式系統(tǒng)的核心,AT91RM9200是Atmel公司推出的基于當(dāng)前流行的ARM920T內(nèi)核的一款32位RISC微控制器,工作在180MHz頻率下的運(yùn)算速度可達(dá)200MIPS。專門針對系統(tǒng)控制、通訊領(lǐng)域的應(yīng)用。AT91RM9200芯片的功能結(jié)構(gòu)如圖2所示。

                           at91rm9200芯片的功能結(jié)構(gòu)

            AT91RM9200集成了豐富的外圍功能模塊,滿足多種應(yīng)用場合,豐富適合于實時控制,可以支持實時操作系統(tǒng)(RTOS),為需要多功能、低成本、低功耗的計算密集型應(yīng)用提供了一個單芯片級的解決方案。AT91RM9200是一款性價比極高的微處理器,經(jīng)過比較選擇AT91RM9200作為信號機(jī)控制板處理器。

          2.1.2 控制板外圍模塊

            控制板設(shè)計主要包括以下幾個部分:

           ?。?)電源/晶振模塊:

            控制主板使用12/5V兩套電源供電,AT91RM9200工作于3.3/1.8V兩種電壓,系統(tǒng)其他器件盡量選擇工作電壓為3.3V。

            AT91RM9200使用12MHz/32.768kHz兩種晶振,主晶振12MHz經(jīng)過芯片內(nèi)倍頻處理分別為ARM920T核與系統(tǒng)提供180MHz和60MHz的時鐘頻率。32.768kHz慢時鐘用于AT91RM9200的啟動。

           ?。?)存儲器模塊。

           ?。?)網(wǎng)絡(luò)模塊。

           ?。?)串口模塊和GPS接口:

            AT91RM9200提供4個USART,分別將他們分配給RS232和RS485??刂瓢迳项A(yù)留GPS接口位置,用于未來擴(kuò)展信號機(jī)無線通訊功能,GPS使用RS232同AT91RM9200通信。

           ?。?)RTC模塊:

            信號機(jī)在通訊、干線或者區(qū)域協(xié)調(diào)控制中需要使用統(tǒng)一的時間來同步,因此設(shè)計RTC(實時時鐘)用來對時。RTC可以提供可編程的實時時鐘:年(含閏年)、月、日、時、分、秒、星期及一個鬧鐘中斷,并可以在掉電后使用備用電源工作。

           ?。?)系統(tǒng)總線擴(kuò)展模塊。

          2.2 主要硬件模塊電路設(shè)計

            下面詳細(xì)說明存儲單元、網(wǎng)絡(luò)和系統(tǒng)總線擴(kuò)展模塊的硬件設(shè)計。

          2.2.1 存儲器模塊

            本文設(shè)計的信號機(jī)需要存放嵌入式操作系統(tǒng)及其文件系統(tǒng)、應(yīng)用程序和其他在運(yùn)行或系統(tǒng)掉電后需要保存的數(shù)據(jù);另外當(dāng)系統(tǒng)啟動后,操作系統(tǒng)和程序運(yùn)行還需要更大的空間。AT91RM9200內(nèi)部集成的ROM和RAM的容量不能夠滿足信號機(jī)的要求,因此設(shè)計了外存儲單元來擴(kuò)展存儲空間,由16MB和FLASH和64MB的SDRAM組成信號機(jī)的外存儲系統(tǒng)。

            AT91RM9200的地址空間是4GB,他被劃分成16個256MB的區(qū)域;

            區(qū)域0為內(nèi)部存儲器空間;

            區(qū)域1-8是給由EBI控制的外部設(shè)備(擴(kuò)展的片外存儲器和外接的設(shè)備)使用的,片選信號為引腳NCS0-7;

            區(qū)域15是AT91RM9200集成的片內(nèi)外圍功能(包括系統(tǒng)和用戶外圍)使用的地址空間,當(dāng)系統(tǒng)上電或重啟時,根據(jù)引腳BMS的電平狀態(tài),系統(tǒng)選擇是從內(nèi)部ROM(BMS=1)還是從存儲區(qū)域1即NCS0片選區(qū)域(BMS=0)啟動。

           ?。?)本設(shè)計選用1片8M



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();