|
目前我國(guó)逐步啟動(dòng)了智能交通系統(tǒng)(Intelligent Transportation Systems ,ITS)的產(chǎn)品開(kāi)發(fā),以期解決城市交通問(wèn)題。信息化是ITS 實(shí)現(xiàn)的前提,ITS 子系統(tǒng)都離不開(kāi)實(shí)時(shí),豐富,有效的信息。可以說(shuō)交通信息是ITS 運(yùn)作的“靈魂”。為了獲得更有效,更詳細(xì),更豐富的交通信息,本文提出了一種基于AT91RM9200 和AMR 磁阻傳感器(HMC1022)的嵌入式前端信息采集設(shè)備。 1 AMR 磁阻傳感器技術(shù)簡(jiǎn)介 異向性磁阻傳感器(AMR),最適于工作在地球磁場(chǎng)范圍,可以檢測(cè)直流靜態(tài)磁場(chǎng),也可以檢測(cè)磁場(chǎng)的強(qiáng)度和方向。AMR傳感器的制作過(guò)程是將鐵-鎳合金(Permalloy)薄膜沉積在硅片上形成電阻條,在磁場(chǎng)中其阻值可變化2-3%。通常,四個(gè)這樣的電阻連接成一個(gè)惠斯通電橋的形式,可以測(cè)出沿著單一軸線(xiàn)的磁場(chǎng)的強(qiáng)度和方向。 本項(xiàng)目采用Honeywell的HMC1022雙軸磁阻傳感器,當(dāng)HMC1002暴露在變化的磁場(chǎng)中時(shí),其電阻有所改變(△R),從而引起相應(yīng)的輸出電壓的變化,AMR磁阻傳感器的核心原理將磁場(chǎng)轉(zhuǎn)換成差分輸出電壓。HMC1022的主要性能指標(biāo)如表1所示:
AMR傳感器檢測(cè)原理:地球磁場(chǎng)在很廣闊的區(qū)域內(nèi)(大約幾公里)是一定的。一個(gè)鐵磁性物體,如汽車(chē),無(wú)論它是運(yùn)動(dòng)的還是靜止的,AMR傳感器均可檢測(cè)由于車(chē)輛干擾而引起的地磁場(chǎng)的變化。車(chē)輛檢測(cè)可以有幾種應(yīng)用方式:?jiǎn)屋S傳感器可以用來(lái)檢測(cè)車(chē)輛是否存在,根據(jù)車(chē)輛鐵磁物質(zhì)含量的不同,傳感器距車(chē)輛的檢測(cè)距離最遠(yuǎn)可達(dá)15米。另一種應(yīng)用是檢測(cè)車(chē)輛的通過(guò),在這個(gè)應(yīng)用中,可使用雙軸傳感器來(lái)判斷車(chē)輛的存在、行駛的方向和速度,使操作者獲取足夠的信息。該項(xiàng)目采用雙軸傳感器,通過(guò)使用合適的AMR傳感器和放大器,可以通過(guò)精確的磁場(chǎng)信息提供磁場(chǎng)強(qiáng)度和方向信息。 2 系統(tǒng)結(jié)構(gòu)設(shè)計(jì) 整體系統(tǒng)中基于AT91RM9200和AMR磁阻傳感器(HMC1022)的嵌入式前端檢測(cè)設(shè)備在整個(gè)信息系統(tǒng)中作為傳感節(jié)點(diǎn),路口前端管理設(shè)備作為路口接入點(diǎn)(通過(guò)CAN-Bus得到合理的傳感節(jié)點(diǎn)交通流量信息后對(duì)路口交通狀況作出響應(yīng)),傳感節(jié)點(diǎn)和接入點(diǎn)均可以通過(guò)以太網(wǎng)傳入管理中心。整體系統(tǒng)結(jié)構(gòu)如圖1所示:
將該設(shè)備安裝在車(chē)道旁,可以提供車(chē)輛通過(guò)帶來(lái)的豐富的磁信號(hào),雙軸AMR磁阻傳感器將得到的原始數(shù)據(jù)通過(guò)運(yùn)算放大器放大整形后,再通過(guò)A/D轉(zhuǎn)換器,把編碼后的信號(hào)輸入到AT91RM9200,AT91RM9200判斷處理采樣得到信號(hào),再把有用信號(hào)通過(guò)CAN-Bus總線(xiàn)發(fā)送給路口前端管理設(shè)備或直接通過(guò)以太網(wǎng),光纖傳入管理中心。 3 傳感節(jié)點(diǎn)硬件設(shè)計(jì) 3.1 硬件系統(tǒng)設(shè)計(jì) 前端信息采集設(shè)備主要由置位/復(fù)位電流帶電路,信號(hào)調(diào)理電路,微處理器,10/100MEthernet部分,CAN收發(fā)部分,參數(shù)備份等部分組成,設(shè)備硬件部分的基本組成框圖如圖2所示:
AMR磁阻傳感器(HMC1022)輸出的毫伏信號(hào)經(jīng)運(yùn)算放大器進(jìn)行差分放大后,進(jìn)入A/D轉(zhuǎn)換芯片,經(jīng)A/D芯片轉(zhuǎn)換后通過(guò)SPI總線(xiàn)發(fā)送至AT91RM9200。AT91RM9200對(duì)抽樣采集進(jìn)來(lái)的信號(hào)進(jìn)行處理后,通過(guò)CAN總線(xiàn)發(fā)送給路口前端管理設(shè)備或通過(guò)以太網(wǎng)傳入管理中心。 3.2 置位/復(fù)位電流帶 大多數(shù)低磁場(chǎng)傳感器受到大的磁場(chǎng)干擾(>4-20高斯)的影響可能導(dǎo)致輸出信號(hào)的衰變,為了減少這種影響和最大化信號(hào)輸出,可以在磁阻電橋上應(yīng)用磁開(kāi)關(guān)切換技術(shù),消除過(guò)去磁歷史的影響。置位/復(fù)位電流帶的目的就是把磁阻傳感器恢復(fù)到測(cè)量磁場(chǎng)的高靈敏度狀態(tài),這可以通過(guò)將大電流脈動(dòng)(3.5A,2us)通過(guò)S/R電流帶實(shí)現(xiàn)。S/R電流帶看起來(lái)像加在SR+和SR-引腳之間的一個(gè)電阻。S/R電流帶與偏置電流帶不同,因?yàn)樗且源怪陛S或不敏感的方向磁耦合到磁阻傳感器上的。任何低于額定電的流脈沖信號(hào)都會(huì)導(dǎo)致無(wú)法置位傳感器并且不會(huì)得到最佳的靈敏度。設(shè)計(jì)置位/復(fù)位脈沖電路的方法如圖3所示:其中采用MAX662A作為5V至20V的電壓轉(zhuǎn)換器。
利用S/R電流帶,可以消除或減少許多影響,包括:溫度漂移,非線(xiàn)性錯(cuò)誤,交叉軸影響和由于高磁場(chǎng)的存在而導(dǎo)致信號(hào)輸出的丟失。這可通過(guò)下列過(guò)程實(shí)現(xiàn): •電流脈沖,I置位,可從S/R+引腳施加到S/R-引腳以實(shí)現(xiàn)“置位”條件。電橋輸出作為Vout(置位)儲(chǔ)存起來(lái)。 •在S/R引腳內(nèi)施加相等但相反的另一個(gè)脈沖可實(shí)現(xiàn)“復(fù)位”條件。電橋輸出作為Vout(復(fù)位)儲(chǔ)存起來(lái)。 •Vout可以表達(dá)為Vout=[ Vout(置位)-Vout(復(fù)位)]/2。此方法可以消除由電子器件以及電橋溫度漂移導(dǎo)致的偏置和溫度影響。 3.3 信號(hào)調(diào)理和A/D 轉(zhuǎn)換電路 信號(hào)調(diào)理和A/D轉(zhuǎn)換電路如圖4所示。注意AMP04的1腳8腳之間跨接1K的電阻(調(diào)節(jié)增益), 8腳和6腳輸出之間跨接1.5nF的電容。
圖4 信號(hào)調(diào)理和A/D轉(zhuǎn)換電路 圖4采用ADI公司生產(chǎn)的高精度單電源運(yùn)算放大器AMP04,通過(guò)設(shè)置Rgain大小為1 K Ω ,可得Gain = 100 K Ω /Rgain=100;同時(shí)使用精密帶隙電壓基準(zhǔn)LM4140-2.048為AMP04引腳5(Vref)提供基準(zhǔn)電壓,使得AMP04輸出電壓滿(mǎn)足VOUT = (VIN+ – VIN–) × Gain + VREF。 A/D轉(zhuǎn)換器采用TI公司的單通道16位SAR A/D轉(zhuǎn)換器TLC4541。當(dāng)基準(zhǔn)電壓為4.096V時(shí),可以直接接收從0~5V的信號(hào),可實(shí)現(xiàn)16位無(wú)誤碼輸出。本項(xiàng)目使用精密帶隙電壓基準(zhǔn)LM4140-4.096為T(mén)LC4541 2腳參考電壓輸入端提供外部基準(zhǔn)電壓。 對(duì)于AMR磁阻傳感器(HMC1022), 在半橋上的2.5伏輸出端子具有從-10mV至+11.25mV(Vo+至Vo-所測(cè)定的)的電橋偏置電壓。這一電橋偏置電壓范圍可標(biāo)準(zhǔn)化為-2mV/V至+2.25mV/V。對(duì)于車(chē)輛檢測(cè)應(yīng)用而言,在任一傳感器電橋上測(cè)得的最大地磁場(chǎng)值約為625毫高斯。因此,HMC1022的靈敏度規(guī)格為0.8~1.25mV/V/高斯時(shí),當(dāng)電橋工作電壓為5V時(shí),任一電橋上最大可能的地磁場(chǎng)激勵(lì)可能為+/-3.9mV。當(dāng)把+/-3.9mV加到可能的電橋偏置電壓-10mV至+11.25mV上時(shí),偏置卻變?yōu)?13.9mV至+15.15mV。因此要將這個(gè)電橋輸出電壓進(jìn)一 步放大至模擬-數(shù)字轉(zhuǎn)換器(ADC)的0V至4.096V輸入范圍。 綜上所述:2.048+(-13.9mV× 100)~2.048+(15.15× 100) < 0~4.096V;同時(shí)分辨率為(4.096V/2 /100)/(5V 1.0mv/V/gauss) = 0.125mgauss 滿(mǎn)足設(shè)計(jì)條件。 3.4 ARM 微處理器模塊 微處理器采用ATMEL公司針對(duì)系統(tǒng)控制,通訊領(lǐng)域推出的基于ARM920T內(nèi)核的32位RISC處理器AT91RM9200。本項(xiàng)目中AT91RM9200模塊部分如圖5所示:
圖5 AT91RM9200 系統(tǒng)應(yīng)用框圖 ARM微處理器模塊由AT91RM9200,NorFlash,SDRAM,LDO電源,復(fù)位電路共同構(gòu)建。本系統(tǒng)選用Intel StrataFlash Memory(J3) JS28F128J3D75 (16Mbyte)構(gòu)建16位FLASH存儲(chǔ)器系統(tǒng);同時(shí)選用兩片Hynix HY57V281620A (16Mbyte)并聯(lián)構(gòu)建32位SDRAM存儲(chǔ)系統(tǒng)。 AT91RM9200對(duì)各個(gè)模塊的初始化控制是通過(guò)底層驅(qū)動(dòng)(Boot部分)來(lái)實(shí)現(xiàn)的。由于AT91RM9200的內(nèi)核工作電壓為1.8V,I/O工作電壓為3.3V,同時(shí)存儲(chǔ)器部分的電壓為3.3V,但是本設(shè)計(jì)的供電電壓為5V,所以選用LDO進(jìn)行電壓變換(LT085CT3.3,AMS1117-1.8);由于AT91RM9200的復(fù)位脈沖有一定的時(shí)間要求,所以選用IMP811S作為復(fù)位器件。 3.5 與路口前端管理設(shè)備通信部分 該部分包括10/100M Ethernet部分及CAN-Bus部分。10/100M Ethernet部分如圖6所示:
AT91RM9200以太網(wǎng)MAC是OSI參考模型物理層(PHY)與邏輯鏈路層(LLC)間MAC子層的硬件工具。它使用以太網(wǎng)IEEE 802.3u 數(shù)據(jù)幀格式控制在主機(jī)與PHY 層間的數(shù)據(jù)交換。 它通過(guò)與MDIO/MDC 引腳連接來(lái)對(duì)PHY 層進(jìn)行管理,在本項(xiàng)目中使用DAVICOM公司的10M/100M PHY層收發(fā)芯片DM9161E,需要注意的是Ethernet部分PCB設(shè)計(jì)中模擬數(shù)字電源地分開(kāi)(模擬數(shù)字電源用100uH的電感加上0.1uF電容組成的型濾波器分開(kāi)π ,特別要注意的是LT1085CT-3.3輸出要用22uF鉭電容濾波給DM9161E部分整體供電)。 CAN總線(xiàn)收發(fā)部分如圖7所示:
由于AT91RM9200本身沒(méi)有CAN控制單元,所以采用NXP公司的獨(dú)立CAN控制器SJA1000T,它支持CAN2.0A的11位ID模式和CAN2.0B的29位ID模式。同時(shí)采用致遠(yuǎn)電子的CTM1050T作為隔離CAN收發(fā)器模塊,它完全符合ISO 11898標(biāo)準(zhǔn)的CAN收發(fā)器,隔離電壓DC 2500V。需要注意的是AT91RM9200的地址數(shù)據(jù)線(xiàn)是分開(kāi)的(沒(méi)有ALE信號(hào)),所以針對(duì)SJA1000T的應(yīng)用要注意先產(chǎn)生ALE信號(hào)和地址信號(hào),再收發(fā)數(shù)據(jù)。 4 軟件設(shè)計(jì) 4.1 軟件主要功能 軟件的主要功能如下: (1)系統(tǒng)上電后,Boot它從JS28F128J3D75 Flash啟動(dòng),完成ARM微處理器模塊的各個(gè)部分的初始化,負(fù)責(zé)將Flash中的U-Boot.gz解壓到HY57V281620A SDRAM中,然后通過(guò)UBoot來(lái)引導(dǎo)Linux-2.4.27及Ramdisk。 (2)實(shí)時(shí)檢測(cè)和處理AMR磁阻傳感器(HMC1022)傳入的磁場(chǎng)改變(由于車(chē)輛通過(guò))的信息,并通過(guò)固定的算法來(lái)確定是否有車(chē)輛通過(guò),及車(chē)輛通過(guò)的方向。并且將有關(guān)信息通過(guò)網(wǎng)絡(luò)發(fā)送給管理中心或者通過(guò)CAN總線(xiàn)發(fā)送給路口前端管理設(shè)備,以便得到合理的交通信息后對(duì)路口交通狀況作出響應(yīng); (3)實(shí)時(shí)接收管理中心網(wǎng)絡(luò)發(fā)來(lái)的命令,在對(duì)命令的類(lèi)型進(jìn)行自動(dòng)處理和判斷后實(shí)現(xiàn)相應(yīng)的功能;實(shí)時(shí)接收路口前端管理設(shè)備發(fā)來(lái)的命令,在對(duì)命令的類(lèi)型進(jìn)行自動(dòng)處理和判斷后實(shí)現(xiàn)相應(yīng)的功能; (4)在設(shè)備架入點(diǎn)的磁場(chǎng)受到強(qiáng)磁場(chǎng)(大于10高斯)影響時(shí),通過(guò)置位/復(fù)位電流帶通過(guò)大電流脈動(dòng)(3.5A,2us)來(lái)強(qiáng)迫傳感器以高靈敏度模式工作;同時(shí)利用Vout=[ Vout(置位)- Vout(復(fù)位)]/2此方法可以消除由電子器件以及電橋溫度漂移導(dǎo)致的偏置和溫度影響; (5)由于地球磁場(chǎng)在很廣闊的區(qū)域內(nèi)是一定的,所以利用路口多個(gè)檢測(cè)設(shè)備的CAN總線(xiàn)通信,來(lái)判斷某個(gè)設(shè)備的檢測(cè)功能失效,并且通知管理中心和路口前端管理設(shè)備; (6)能夠每隔一定的時(shí)間把路口的檢測(cè)流量信息,備份到Flash存儲(chǔ)器中,以便以后使用;能夠每隔一定的時(shí)間檢測(cè)設(shè)備本身的工作是否正常; 4.2 軟件架構(gòu) 整個(gè)軟件采用嵌入式操作系統(tǒng)Linux作為設(shè)備功能實(shí)現(xiàn)上的主要載體。Linux是多任務(wù)操作系統(tǒng),在軟件整體劃分上主要分為八個(gè)線(xiàn)程,運(yùn)行時(shí)各個(gè)線(xiàn)程并行工作。各個(gè)線(xiàn)程之間的關(guān)系如圖8所示:
這八個(gè)線(xiàn)程分別為: ▲ 磁阻傳感器檢測(cè)線(xiàn)程,負(fù)責(zé)將AMR磁阻傳感器(HMC1022)檢測(cè)到的數(shù)據(jù),通過(guò)一定的算法來(lái)判斷車(chē)輛信息 ▲ 檢測(cè)結(jié)果傳輸線(xiàn)程,負(fù)責(zé)將得到的結(jié)果通過(guò)網(wǎng)絡(luò)傳給主控制中心 ▲ 檢測(cè)結(jié)果交換線(xiàn)程,負(fù)責(zé)將得到的結(jié)果通過(guò)CAN網(wǎng)傳給路口前端管理設(shè)備,同時(shí)接收路口前端管理設(shè)備返回的數(shù)據(jù) ▲ 網(wǎng)口接收線(xiàn)程,負(fù)責(zé)接收和處理主控制中心通過(guò)網(wǎng)口下發(fā)的指令和數(shù)據(jù) ▲ 設(shè)備工作環(huán)境正常監(jiān)控線(xiàn)程,負(fù)責(zé)如果發(fā)現(xiàn)受到強(qiáng)磁場(chǎng)(大于10高斯)影響,來(lái)強(qiáng)迫傳感器以高靈敏度模式工作 ▲ 多個(gè)設(shè)備交換數(shù)據(jù)線(xiàn)程,通過(guò)CAN網(wǎng)負(fù)責(zé)多個(gè)設(shè)備的互相通信,來(lái)監(jiān)控單獨(dú)某個(gè)設(shè)備的工作情況 ▲ 設(shè)備自檢線(xiàn)程,負(fù)責(zé)檢測(cè)該設(shè)備本身的工作是否正常 ▲ 參數(shù)備份線(xiàn)程,負(fù)責(zé)備份檢測(cè)結(jié)果,以便以后一次性調(diào)用參考 下面主要介紹磁阻傳感器檢測(cè)線(xiàn)程的算法。 當(dāng)雙軸磁傳感器放在距地面1英尺高的位置,X、Y敏感軸方向?yàn)楸?南和西-東方向。當(dāng)車(chē)輛沿著北-南方向行駛(即傳感器的敏感軸沿著行駛方向),可以檢測(cè)出車(chē)輛的行駛方向。車(chē)輛是由北-南方向行駛,那么磁場(chǎng)計(jì)首先“看到”的是減弱的磁場(chǎng),從傳感器的初始值開(kāi)始,續(xù)之而來(lái)的第一個(gè)畸變是曲線(xiàn)偏向負(fù)方向。當(dāng)車(chē)輛正好與傳感器成一條線(xiàn)時(shí),通過(guò)車(chē)輛的磁場(chǎng)變化量與開(kāi)始時(shí)類(lèi)似,傳感器輸出曲線(xiàn)返回到初始值。當(dāng)車(chē)輛繼續(xù)向南時(shí),磁力線(xiàn)將沿著敏感軸的正方偏向車(chē)輛。所以傳感器的輸出將會(huì)在初始值的基礎(chǔ)上增大。當(dāng)車(chē)輛遠(yuǎn)離傳感器的時(shí),傳感器輸出恢復(fù)到初始值。當(dāng)車(chē)輛倒車(chē)開(kāi)回,從反方向接近傳感器。這部分的曲線(xiàn)正好是第一部分曲線(xiàn)的鏡反射。通過(guò)對(duì)該曲線(xiàn)進(jìn)行平滑處理后,可以用來(lái)指示車(chē)輛的存在。 同時(shí),檢測(cè)信號(hào)強(qiáng)度衰減得非常快,通過(guò)建立合適的閥值,可以濾掉旁邊車(chē)道的車(chē)輛或遠(yuǎn)距離車(chē)輛帶來(lái)的干擾信號(hào)。實(shí)際上該設(shè)備具有很高的檢測(cè)分辨率,能非常詳細(xì)的描述出車(chē)輛的磁信息,輸出波形會(huì)隨車(chē)型的不同而不同,對(duì)輸出變量進(jìn)行模式識(shí)別和匹配運(yùn)算,不僅可以判斷出車(chē)輛的存在,行駛方向而且可以識(shí)別車(chē)型。 該算法需要注意的是消除電橋偏置電壓的影響。電橋偏置電壓是輸出節(jié)點(diǎn)Vo+和Vo-的電壓差(單位伏特)的結(jié)果,主要是由每個(gè)傳感器元件的精確電阻值誤差引起的。電橋偏置電壓對(duì)AMR傳感器系統(tǒng)的設(shè)計(jì)具有一定的影響,不僅僅只是偏置了輸出電壓。在傳感器電橋后設(shè)計(jì)連續(xù)的電壓放大級(jí)時(shí),必須將該偏置電壓公差,添加到磁場(chǎng)激勵(lì)的AMR電橋所期望的輸出電壓范圍中(設(shè)計(jì)的關(guān)鍵是電壓放大級(jí)的輸出要在選用ADC的正常輸入范圍之內(nèi),如3.3所述)。該線(xiàn)程流程如圖9所示:
設(shè)備復(fù)位后,首先完成各個(gè)硬件模塊的初始化工作;其次完成與路口前端管理設(shè)備的通信及與管理中心的通信;當(dāng)通信正常后設(shè)備自身完成HMC1022的置位脈沖和復(fù)位脈沖,分別讀取V置位和V復(fù)位;計(jì)算出V電橋偏置;然后設(shè)備正常抽樣,通過(guò)算法完成檢測(cè)功能;同時(shí)設(shè)備正常工作期間要完成互相檢測(cè)和自我檢測(cè)功能,并且把結(jié)果反饋給管理中心及路口前端管理設(shè)備。需要注意的是,如果電橋偏置檢測(cè)不正常或者多個(gè)設(shè)備環(huán)境磁場(chǎng)數(shù)據(jù)比較不正常,需要與路口前端管理設(shè)備和中心管理者通信,然后由它們通知給設(shè)備,通過(guò)置位/復(fù)位電流帶重新讀取磁阻傳感器電橋偏置電壓,如果仍然不正常,由中心通知有關(guān)部門(mén)來(lái)維修設(shè)備。 結(jié)語(yǔ) 基于AT91RM9200 的AMR 磁阻傳感車(chē)輛檢測(cè)系統(tǒng)作為交通流量信息發(fā)布系統(tǒng)的“眼睛”具有極高的檢測(cè)精度,同時(shí)該設(shè)備本身性能穩(wěn)定可靠,可擴(kuò)展性好,資源利用率高。AMR磁阻傳感器是利用地球磁場(chǎng)在鐵磁物體通過(guò)時(shí)的變化來(lái)檢測(cè),所以它不受氣候的影響;非車(chē)輛的鐵磁性物體通過(guò)時(shí)通過(guò)對(duì)數(shù)據(jù)庫(kù)的查詢(xún)可以避免誤檢;容易集成化。 參考文獻(xiàn) [1] ATMEL AT91RM9200 DataSheet,2002. [2] 杜春雷. ARM體系結(jié)構(gòu)與編程[M].北京:清華大學(xué)出版社,2004. [3] Honeywell 控制傳感器電橋偏置Datasheet,2004. [4] 饒運(yùn)濤,鄒繼軍,鄭勇云.現(xiàn)場(chǎng)總線(xiàn)CAN原理與應(yīng)用技術(shù)[M].北京:北京航空航天大學(xué)出版 社,2003. [5] JONATHAN CORBET,ALESSANDRO RUBINI & GREG KROAH-HARTMAN. Linux 設(shè)置 驅(qū)動(dòng)程序(第三版) [M].北京:中國(guó)電力出版社,2007. [6] Franco,S.基于運(yùn)算放大器和模擬集成電路的電路設(shè)計(jì)(第三版)[M].西安:西安交通大學(xué) 出版社,2004. 作者:南京萊斯大型電子系統(tǒng)工程有限公司 成晟 史彬嬌 來(lái)源:單片機(jī)與嵌入式系統(tǒng)應(yīng)用 2008 (9) |