新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于ARM的車(chē)輛檢測(cè)系統(tǒng)控制單元電路設(shè)計(jì)

基于ARM的車(chē)輛檢測(cè)系統(tǒng)控制單元電路設(shè)計(jì)

作者: 時(shí)間:2011-07-22 來(lái)源:網(wǎng)絡(luò) 收藏

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

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

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

總體方案設(shè)計(jì)

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

與電子硬盤(pán)的接口實(shí)現(xiàn)

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

  設(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天左右寫(xiě)滿(mǎn)一次,那么一個(gè)月擦寫(xiě)約3次,以此計(jì)算,一年擦寫(xiě)約36次,而Flash壽命一般為擦寫(xiě)10萬(wàn)余次,所以本系統(tǒng)完全可以采用Flash作為電子硬盤(pán)用在車(chē)輛檢測(cè)系統(tǒng)中。另外,Flash還具有掉電非易失特性,更適合應(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é)為一頁(yè)的讀、寫(xiě)和32頁(yè)為一塊的擦除操作。此外,K9F2808的特點(diǎn)還在于其命令、地址和數(shù)據(jù)信息均通過(guò)8條I/O總線(xiàn)傳輸,接口標(biāo)準(zhǔn)統(tǒng)一,易于存儲(chǔ)容量升級(jí)。

圖3 LPC2114和電子硬盤(pán)連線(xiàn)示意圖

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

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

  row_add為頁(yè)號(hào),需要左移9位得到行地址。erase_flash( )——擦除Flash函數(shù)

  write_command( )——寫(xiě)命令函數(shù)

  write_address( )——寫(xiě)地址函數(shù)

  write_data( )——寫(xiě)數(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);}


上一頁(yè) 1 2 3 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉