當(dāng)前位置:首頁 > 工業(yè)控制 > 工業(yè)控制
[導(dǎo)讀]本文介紹了利用ARM7內(nèi)核微處理器LPC2114設(shè)計(jì)的高速公路車輛檢測(cè)系統(tǒng)控制單元,著重分析了大容量Flash存儲(chǔ)單元的設(shè)計(jì)和ARM開發(fā)相關(guān)注意事項(xiàng),給出了系統(tǒng)原理框圖、單元電路設(shè)計(jì)和軟件設(shè)計(jì)思想。

摘  要:本文介紹了利用ARM7內(nèi)核微處理器LPC2114設(shè)計(jì)的高速公路車輛檢測(cè)系統(tǒng)控制單元,著重分析了大容量Flash存儲(chǔ)單元的設(shè)計(jì)和ARM開發(fā)相關(guān)注意事項(xiàng),給出了系統(tǒng)原理框圖、單元電路設(shè)計(jì)和軟件設(shè)計(jì)思想。
關(guān)鍵詞:ARM微處理器;LPC2114;Flash存儲(chǔ);車輛檢測(cè)系統(tǒng)

引言
    由于交通需求的不斷增加,有越來越多的環(huán)形感應(yīng)線圈檢測(cè)器用于交通檢測(cè)。這些埋設(shè)在道路表面下的線圈可以檢測(cè)到車輛通過時(shí)的電磁變化進(jìn)而精確地算出交通流量。交通流量是交通統(tǒng)計(jì)和交通規(guī)劃的基本數(shù)據(jù),通過這些檢測(cè)結(jié)果可以用來計(jì)算占用率(表征交通密度),在使用雙線圈模式時(shí)還可以提供速度、車輛行駛方向、車型分類等數(shù)據(jù),這些數(shù)據(jù)對(duì)于交通管理和統(tǒng)計(jì)是極為重要的。通常高速公路車輛檢測(cè)系統(tǒng)由多通道環(huán)形檢測(cè)單元LD4和控制單元CCU組成,本文采用PHILIPS公司最新推出的ARM7內(nèi)核微處理器LPC2114設(shè)計(jì)實(shí)現(xiàn)了車輛檢測(cè)系統(tǒng)控制單元部分,并且和5個(gè)LD4環(huán)形檢測(cè)器一起構(gòu)成10通道高速公路車輛檢測(cè)系統(tǒng),其原理框圖如圖1所示。

圖1 車輛檢測(cè)系統(tǒng)原理框圖

圖2 控制板系統(tǒng)原理框圖

圖3 LPC2114和電子硬盤連線示意圖圖

圖4  主程序流程圖

總體方案設(shè)計(jì)
    本文設(shè)計(jì)的控制板系統(tǒng)原理框圖如圖2所示,以LPC2114為核心控制單元,該芯片是一種支持實(shí)時(shí)仿真和跟蹤的16/32位基于ARM7TDMI-S 內(nèi)核的CPU。內(nèi)部集成了4路10 位A/D轉(zhuǎn)換器,兩個(gè)32位定時(shí)器、一個(gè)實(shí)時(shí)時(shí)鐘和看門狗,多個(gè)串行接口,包括兩個(gè)工業(yè)標(biāo)準(zhǔn)的UART、高速和兩個(gè)SPI總線接口,外部多達(dá)46個(gè)與TTL電平兼容的通用I/O口,非常適用于作為主控單元。CPLD EPM7128作為微處理器的擴(kuò)展輸入/輸出,通過光電耦合和LD4標(biāo)準(zhǔn)定義總線相連,該標(biāo)準(zhǔn)定義的總線基于RS-485總線通信協(xié)議。LD4和控制板通過標(biāo)準(zhǔn)總線進(jìn)行數(shù)據(jù)交換,控制板每隔10秒掃描并發(fā)送一次請(qǐng)求數(shù)據(jù)的命令,相應(yīng)LD4通道返回請(qǐng)求數(shù)據(jù)或者無效信息,ARM處理器對(duì)獲得的各通道數(shù)據(jù)進(jìn)行相應(yīng)的統(tǒng)計(jì)運(yùn)算處理。每隔用戶設(shè)定的間隔時(shí)間就將統(tǒng)計(jì)數(shù)據(jù)存儲(chǔ)于靜態(tài)RAM,供中心站定時(shí)獲取,同時(shí),以分鐘為單位將統(tǒng)計(jì)的數(shù)據(jù)備份至Flash電子硬盤中。中心站可以通過請(qǐng)求備份數(shù)據(jù)命令獲取相應(yīng)時(shí)間段的數(shù)據(jù),并存入數(shù)據(jù)庫。中心站和控制板采用RS-232串口方式通信,利用調(diào)制解調(diào)器實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)傳輸。為了解決大容量存儲(chǔ)問題,系統(tǒng)使用了三星公司提供的K9F2808來作為電子硬盤,16MB的容量能夠存儲(chǔ)11天備份數(shù)據(jù),并且該電子硬盤能夠靈活升級(jí)。

LPC2114與電子硬盤的接口實(shí)現(xiàn)
     為了防止傳輸及中心站故障等問題而導(dǎo)致數(shù)據(jù)丟失,系統(tǒng)要求對(duì)一段時(shí)間內(nèi)的數(shù)據(jù)進(jìn)行備份,因此在系統(tǒng)設(shè)計(jì)的過程中需要考慮大容量存儲(chǔ)問題。

    設(shè)定本系統(tǒng)每分鐘需要備份一次統(tǒng)計(jì)數(shù)據(jù),根據(jù)環(huán)形檢測(cè)器LD4的數(shù)據(jù)格式,一次數(shù)據(jù)量為1026B,若采用靜態(tài)RAM作為存儲(chǔ)單元,需要多片大容量RAM級(jí)聯(lián)使用,價(jià)格昂貴,且存儲(chǔ)容量擴(kuò)展困難。若使用動(dòng)態(tài)RAM作為存儲(chǔ)單元,缺點(diǎn)在于控制困難,需要?jiǎng)討B(tài)RAM控制器輔助操作。Flash作為存儲(chǔ)器使用簡(jiǎn)單,容量大,盡管使用壽命有限,考慮到系統(tǒng)每1分鐘存儲(chǔ)1026B,就16MB容量而言,11天左右寫滿一次,那么一個(gè)月擦寫約3次,以此計(jì)算,一年擦寫約36次,而Flash壽命一般為擦寫10萬余次,所以本系統(tǒng)完全可以采用Flash作為電子硬盤用在車輛檢測(cè)系統(tǒng)中。另外,F(xiàn)lash還具有掉電非易失特性,更適合應(yīng)用于本系統(tǒng)。

    為了便于存儲(chǔ)容量的升級(jí)擴(kuò)展,本系統(tǒng)選用K9F2808作為存儲(chǔ)器。K9F2808為48腳表面封裝器件,芯片內(nèi)部有(16M+512K)×8 bit的存儲(chǔ)空間,可組成32768行,528列,其中后備的16列的列地址編碼為513~527,可進(jìn)行528字節(jié)為一頁的讀、寫和32頁為一塊的擦除操作。此外,K9F2808的特點(diǎn)還在于其命令、地址和數(shù)據(jù)信息均通過8條I/O總線傳輸,接口標(biāo)準(zhǔn)統(tǒng)一,易于存儲(chǔ)容量升級(jí)。

    圖3為L(zhǎng)PC2114和Flash電子硬盤之間的連線示意圖,由于LPC2114沒有外部總線,所以對(duì)Flash操作只能采用I/O操作方式。K9F2808各種操作具有共同特點(diǎn),即在I/O端口首先發(fā)送操作命令字到命令寄存器,其后的連續(xù)3個(gè)周期發(fā)送需要操作單元的地址,順序?yàn)椋篈0~A7,A9~A16,A17~A23,其中A8由命令字確定。

    下面以頁編程操作為例,給出K9F2808的ARM驅(qū)動(dòng)程序(基于ADS1.2開發(fā)環(huán)境),而頁讀以及塊擦除等方法與頁編程類似,只是讀是由#RE信號(hào)來鎖存數(shù)據(jù),而擦除時(shí)只須送兩個(gè)周期的地址。

row_add為頁號(hào),需要左移9位得到行地址。erase_flash( )——擦除Flash函數(shù)
write_command( )——寫命令函數(shù)
write_address( )——寫地址函數(shù)
write_data( )——寫數(shù)據(jù)函數(shù)
read_data( )——讀數(shù)據(jù)函數(shù)
void  flash_store(uint32 row_add, uint8 *buffer )
{ uint16 i;
 uint32 statue,address;
//變量定義
 IO0DIR |= 0x00ff0000;
//設(shè)定IO方向
 if((row_add== 0)|| ((row_add%32)==0))
 {address = row_add<<9;
 address &= 0x00fffe00;
 erase_flash(address);}
//擦除Flash
 write_command(0x80);
//寫命令80H
 address = row_add<<9;
 address &= 0x00fffe00;
 write_address(address);
//寫地址
 statue = IO0PIN;
//獲取狀態(tài)
 while((statue&fr_b)==0)
 {statue = IO0PIN;}
//忙,等待
 for(i=0;i<528;i++)
//寫528字節(jié)
 {write_data(*(buffer+i));}
//寫入數(shù)據(jù)
 write_command(0x10);
//寫命令10H
 statue = IO0PIN;
//獲取狀態(tài)
 while((statue&fr_b)==0)
 {statue = IO0PIN;}
//忙,等待
 write_command(0x70);   
//寫命令70H
 statue = read_data();        
//獲取狀態(tài)
 if(statue&0x01)
 {IO0SET |= errorled;}     
//操作失敗
}

LPC2114串口通信實(shí)現(xiàn)

    控制系統(tǒng)通過LPC2114的兩個(gè)UART實(shí)現(xiàn)和LD4以及中心站的數(shù)據(jù)交換,兩個(gè)UART具備觸發(fā)點(diǎn)可調(diào)的16B收發(fā)FIFO。其中,UART1比UART0增加了調(diào)制解調(diào)器接口。UART的基本操作方法和傳統(tǒng)51內(nèi)核單片機(jī)相似。

    首先,設(shè)置I/O連接到UART;然后設(shè)置串口波特率(如U0DLM、U0DLL);接著設(shè)置串口工作模式(如U0LCR、U0FCR);這時(shí)就可以通過寄存器U0THR和U0RBR發(fā)送/接收數(shù)據(jù)了,發(fā)送/接收模塊的狀態(tài)信息可以通過U0LSR寄存器讀取。

    系統(tǒng)通過RS-485總線和LD4板卡通信,采用MAX3485作為RS-485總線控制器和LPC2114的UART1通信。MAX3485是3.3V供電的半雙工收發(fā)芯片,將差分RS-485總線信號(hào)轉(zhuǎn)換成ARM核能夠接受的串口信號(hào)。為了實(shí)現(xiàn)和PC機(jī)通信,系統(tǒng)采用3.3V工作電壓的MAX3232作為RS-232電平轉(zhuǎn)換芯片。

LPC2114設(shè)計(jì)注意事項(xiàng)
    LPC2114在開發(fā)的過程中有一些需要特殊注意的問題,總結(jié)如下:
(1)當(dāng)用戶程序?qū)懭隖lash后不能運(yùn)行時(shí),首先,需要考慮中斷向量表是否正確,中斷向量表累加和必須為0。其次,需要考慮向量表的定位,向量表是否已經(jīng)定位在0x00000000地址。然后,需要考慮MEMMAP寄存器的設(shè)置是否正確,否則中斷無法執(zhí)行。此外,還需要考慮ISP硬件條件是否滿足,LPC2114的P0.14腳在#RESET為低時(shí),該引腳線上的低電平將強(qiáng)制芯片進(jìn)入ISP狀態(tài),硬件設(shè)計(jì)時(shí)必須在該引腳加10KW上拉電阻,否則,該引腳不穩(wěn)定,對(duì)設(shè)備啟動(dòng)將會(huì)有影響。

(2)LPC2114共有46個(gè)GPIO,這些I/O可以任意配置,但是個(gè)別引腳開漏輸出(P0.2、P0.3),需加上拉電阻。另外,F(xiàn)lash存儲(chǔ)器K9F2808狀態(tài)輸出引腳R/#B開漏輸出,需加10KW的上拉電阻。

(3)LPC2114芯片加密后,只能通過ISP對(duì)芯片全局擦除后才能恢復(fù)JTAG調(diào)試以及下載等功能。當(dāng)#RESET為低時(shí),P1.26的低電平使P1.26~P1.31復(fù)位后作為調(diào)試端口,注意在P1.26引腳和地之間需接一個(gè)弱偏置電阻。

系統(tǒng)軟件設(shè)計(jì)思想及注意事項(xiàng)
    車輛檢測(cè)系統(tǒng)ARM軟件采用分層設(shè)計(jì)思想,整個(gè)軟件由驅(qū)動(dòng)程序和應(yīng)用軟件兩部分構(gòu)成。驅(qū)動(dòng)程序部分封裝了Flash操作、RS-485操作、實(shí)時(shí)時(shí)鐘(RTC)操作、RS-232操作和I/O等操作。應(yīng)用軟件分成基本函數(shù)庫和主程序。其中,主程序流程如圖4所示。

    在32位ARM核應(yīng)用系統(tǒng)中,為了進(jìn)行系統(tǒng)初始化,往往采用一個(gè)匯編文件作為啟動(dòng)代碼,來實(shí)現(xiàn)堆棧、中斷、系統(tǒng)變量、I/O初始化以及地址重映射等操作。開發(fā)平臺(tái)ADS的策略是不提供完整的啟動(dòng)代碼,不足部分需要開發(fā)人員自己編寫。

    系統(tǒng)設(shè)計(jì)的啟動(dòng)代碼包含中斷向量表、堆棧初始化以及相應(yīng)的中斷服務(wù)程序與C語言的接口。對(duì)LPC2114而言,為了使向量表中所有數(shù)據(jù)32位累加和為0 ,向量表中設(shè)置保留向量值,將中斷向量表中的32個(gè)字節(jié)數(shù)累加,其中,保留向量值不用累加,然后取累加值的補(bǔ)碼,這個(gè)補(bǔ)碼的低32位就是保留向量的值。該保留向量值將被BOOT裝載程序用作有效的用戶程序關(guān)鍵字。當(dāng)向量表中所有數(shù)據(jù)累加和為0時(shí),且ISP外部硬件條件不滿足時(shí),BOOT裝載程序?qū)?zhí)行用戶程序。

結(jié)語
    本文基于PHILIPS公司最新的ARM7內(nèi)核微處理器LPC2114實(shí)現(xiàn)了高速公路車輛檢測(cè)系統(tǒng)的控制單元部分的設(shè)計(jì)。LPC2114使用簡(jiǎn)單、開發(fā)容易、具有較高的性價(jià)比,非常適用于嵌入式系統(tǒng)中。目前本系統(tǒng)已經(jīng)推向市場(chǎng),并取得了較好經(jīng)濟(jì)效益。

參考文獻(xiàn)
1周立功等. ARM微控制器基礎(chǔ)與實(shí)踐.北京航空航天大學(xué)出版社. 2003. 11
2馬忠梅等. ARM嵌入式處理器結(jié)構(gòu)與應(yīng)用基礎(chǔ).北京航空航天大學(xué)出版社.2002
3  Samsung datasheet. "K9F2808U0C Flash Memory"
4  SIEMENS. "Loop Detector LD4"

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉