李 林
(中國(guó)航空工業(yè)集團(tuán)公司西安航空計(jì)算技術(shù)研究所,陜西 西安 710065)
傳感器處于信號(hào)檢測(cè)與信號(hào)處理系統(tǒng)之首,是感知、獲取信息的窗口,獲取的信息要通過(guò)它轉(zhuǎn)換為更容易傳輸與處理的電信號(hào)。傳統(tǒng)機(jī)載機(jī)電系統(tǒng)中,傳感器信號(hào)種類單一、數(shù)量繁多、處理電路復(fù)雜[1]。而MEMS傳感器是采用微機(jī)械電子技術(shù)制造的新型傳感器,具有重量輕、功耗低、體積小、精度高、易于集成等優(yōu)點(diǎn)[2]。
智能傳感器技術(shù)是涉及計(jì)算機(jī)技術(shù)、微機(jī)械電子技術(shù)、信號(hào)處理技術(shù)、傳感技術(shù)等的綜合密集型技術(shù),能實(shí)現(xiàn)傳統(tǒng)傳感器所不能完成的功能。智能傳感器系統(tǒng)所采用的總線標(biāo)準(zhǔn)可分為基于芯片級(jí)的I2C總線、USB總線和IEEE1451智能傳感器接口標(biāo)準(zhǔn)。
本文以芯片級(jí)的I2C總線為基礎(chǔ),設(shè)計(jì)并實(shí)現(xiàn)了一種智能傳感器,集成了ARM處理器芯片及MEMS傳感器芯片,實(shí)現(xiàn)了大氣壓力、溫度、濕度、加速度等機(jī)電系統(tǒng)中常用環(huán)境信息參數(shù)的智能采集[3]。該模塊集成了傳感器采集功能、數(shù)據(jù)處理功能以及接口通信功能,可用于改善機(jī)電系統(tǒng)中單一傳感器采集信號(hào)品質(zhì)差,傳輸過(guò)程易受干擾的問題,同時(shí)具有集成度高、體積小、功耗低、智能性強(qiáng)等特點(diǎn)。
I2C總線由飛利浦半導(dǎo)體公司開發(fā),是用于芯片之間連接的總線,該總線使用兩根信號(hào)線進(jìn)行數(shù)據(jù)的傳輸,包括:串行時(shí)鐘線(Serial Clock Line)和串行數(shù)據(jù)線(Serial Dataline)。連接到I2C總線上的任何器件都擁有唯一的地址,分7位地址和10位地址兩種[4]。
I2C總線最顯著的特點(diǎn)是規(guī)范的完整性、結(jié)構(gòu)的獨(dú)立性和用戶使用時(shí)的簡(jiǎn)單化。I2C總線有嚴(yán)格的規(guī)范,如接口的電氣特性、信號(hào)時(shí)序、信號(hào)傳輸?shù)亩x、總線狀態(tài)設(shè)置、總線管理規(guī)則及總線狀態(tài)處理等。
I2C總線雖沒有并行總線的數(shù)據(jù)吞吐能力,但只需要很少的連線和IC連接管腳,電路結(jié)構(gòu)簡(jiǎn)單,程序編寫方便,易于實(shí)現(xiàn)用戶系統(tǒng)軟硬件的模塊化、標(biāo)準(zhǔn)化等。其優(yōu)點(diǎn)如下:
1) 2根信號(hào)線組成了I2C總線,結(jié)構(gòu)簡(jiǎn)單;
2) 協(xié)議規(guī)范簡(jiǎn)潔、協(xié)議內(nèi)容容易實(shí)現(xiàn);
3) 多個(gè)器件可以同時(shí)掛在一條I2C總線上,總線上的器件可即熱插拔,便于組網(wǎng)應(yīng)用;
4) 電氣兼容性好。器件之間以開漏I/O相互連接,兼容TTL/LVTTL的邏輯電平只要選取適當(dāng)?shù)纳侠娮杈湍茌p易實(shí)現(xiàn);
5) 通信速率高。標(biāo)準(zhǔn)模式下,I2C總線傳輸速率為100 kb/s;快速模式下為400 kb/s;高速模式下可達(dá)3.4 Mb/s。
采用MEMS傳感器技術(shù),實(shí)現(xiàn)智能傳感器的小型化、智能化。硬件電路由DC/DC模塊、微控制器最小系統(tǒng)、溫度傳感器電路、濕度傳感器電路,壓力傳感器,加速度傳感器,CAN總線收發(fā)電路,RS422收發(fā)電路構(gòu)成。整體功能框圖見圖1。
圖1 智能傳感器原理框圖
對(duì)大氣壓力、溫度、濕度、加速度等物理參數(shù)的采集選用了MEMS傳感器,MEMS是利用集成電路制造技術(shù)和微架構(gòu)技術(shù)把微結(jié)構(gòu)、微傳感器、微執(zhí)行器、控制處理電路甚至接口、通信和電源等制造在一塊或多塊芯片上的微型集成系統(tǒng),具有微型化、集成化、智能化、低成本、高性能等優(yōu)點(diǎn),大大縮小了傳感器的功耗、重量以及體積。
同時(shí)設(shè)計(jì)了高度集成的處理器最小電路(ARM Cortex-M3),并且通過(guò)I2C總線接口實(shí)現(xiàn)了與4個(gè)傳感器的數(shù)據(jù)通訊,使得處理器可以對(duì)MEMS傳感器采集到的原始的物理參數(shù)信息進(jìn)行數(shù)據(jù)解算和處理,同時(shí)可以對(duì)傳感器實(shí)現(xiàn)智能控制。模塊均選用表貼低功耗的電子元器件,因此使用1片DC/DC芯片實(shí)現(xiàn)對(duì)整個(gè)智能傳感器的供電,最大限度的減小了體積,降低了功耗,整板使用+5VDC供電,功耗僅為0.5W。
處理器對(duì)外還具備工業(yè)控制領(lǐng)域常用的RS422總線接口以及CAN總線接口,可以與上位機(jī)進(jìn)行通訊,同時(shí)多個(gè)智能傳感器間可通過(guò)CAN總線接口進(jìn)行組網(wǎng),構(gòu)成如圖2所示的拓?fù)錁?gòu)型。
圖2 智能傳感器網(wǎng)絡(luò)組成示意圖
每個(gè)智能傳感器采集局部的溫度、濕度和大氣壓力等信息,上位機(jī)可對(duì)每個(gè)節(jié)點(diǎn)的智能傳感器進(jìn)行參數(shù)設(shè)置,智能傳感器底層依據(jù)設(shè)置的參數(shù)進(jìn)行采集數(shù)據(jù)預(yù)處理和濾波。
智能傳感器節(jié)點(diǎn)本身不考慮余度設(shè)計(jì),需要時(shí)可通過(guò)使用多個(gè)智能傳感器節(jié)點(diǎn)搭建傳感器網(wǎng)絡(luò)來(lái)提高整體的可靠性。智能傳感器節(jié)點(diǎn)將收集來(lái)的數(shù)據(jù)經(jīng)過(guò)提高精度運(yùn)算后通過(guò)CAN總線上報(bào)上位機(jī),多位置傳感信號(hào)共同解算信息,在上位機(jī)上可進(jìn)一步對(duì)感知目標(biāo)多個(gè)位置的多個(gè)狀態(tài)做進(jìn)一步的數(shù)據(jù)融合及處理,從而可以實(shí)現(xiàn)全面、多方位的對(duì)感知目標(biāo)狀態(tài)的精確監(jiān)測(cè)。
智能傳感器的硬件電路圖如圖3所示。
圖3 智能傳感器硬件電路圖
智能傳感器的軟件設(shè)計(jì)為運(yùn)行于內(nèi)部ARM處理器的駐留程序設(shè)計(jì)。該處理器配置了嵌入式μcos操作系統(tǒng),這是一個(gè)小型的實(shí)時(shí)多任務(wù)操作系統(tǒng),整個(gè)代碼量只有20k字節(jié)左右,非常適合于小型的嵌入式系統(tǒng)。程序主要有3個(gè)部分:設(shè)備驅(qū)動(dòng)軟件、濾波算法軟件、通信協(xié)議軟件、功耗管理軟件。
圖4 智能傳感器軟件流程圖
當(dāng)模塊上電后,首先進(jìn)行處理器的初始化配置,然后對(duì)外設(shè)傳感器以及對(duì)外接口進(jìn)行初始化配置。上述配置完成后,首先啟動(dòng)CAN總線的通信線程,與上位機(jī)進(jìn)行握手通訊,通訊成功后,智能傳感器可以接收來(lái)自上位機(jī)的命令,根據(jù)需要對(duì)前端各種物理量進(jìn)行采集,并將采集到的數(shù)據(jù)進(jìn)行處理和發(fā)送。上位機(jī)可通過(guò)CAN總線接口向智能傳感器發(fā)配置信息,主要是數(shù)據(jù)的濾波算法的設(shè)置,需要智能傳感器通過(guò)總線上報(bào)的數(shù)據(jù)的格式和內(nèi)容等。
然后進(jìn)行I2C總線通信的初始化,處理器通過(guò)I2C總線與模塊上的4個(gè)傳感器進(jìn)行數(shù)據(jù)通訊,獲取傳感器采樣的數(shù)據(jù)值,根據(jù)接收到的上位機(jī)設(shè)置的濾波算法對(duì)原始傳感器數(shù)據(jù)進(jìn)行濾波,同時(shí)根據(jù)上位機(jī)的配置信息對(duì)傳感器的各項(xiàng)參數(shù)進(jìn)行設(shè)置。
功耗管理線程是系統(tǒng)實(shí)現(xiàn)低功耗的關(guān)鍵,當(dāng)CAN總線通訊線程將當(dāng)前數(shù)據(jù)發(fā)送完畢,并且I2C總線通訊線程沒有收到任何命令時(shí),這兩個(gè)線程就會(huì)處于阻塞狀態(tài),此時(shí)處于最低優(yōu)先級(jí)的功耗管理線程就會(huì)啟動(dòng),此時(shí)ARM處理器利用I/O口關(guān)閉處于空閑模塊的電源,然后設(shè)置好休眠時(shí)間,進(jìn)入低功耗模式,等待RTC喚醒。RTC喚醒后,再進(jìn)入下一次的工作循環(huán)。
設(shè)備驅(qū)動(dòng)主要是處理器與傳感器芯片間通過(guò)I2C總線構(gòu)成的智能傳感器模塊的核心處理電路的驅(qū)動(dòng)控制,ARM處理器通過(guò)I2C總線與4個(gè)模塊內(nèi)傳感器進(jìn)行控制命令與數(shù)據(jù)的相互傳輸,數(shù)據(jù)傳輸過(guò)程遵照I2C總線協(xié)議,其基本過(guò)程為開始,數(shù)據(jù)傳輸,應(yīng)答,結(jié)束。程序流程如圖5所示。
圖5 智能傳感器內(nèi)I2C總線數(shù)據(jù)傳輸流程圖
本設(shè)計(jì)實(shí)現(xiàn)了一種基于I2C總線的智能傳感器,可以實(shí)現(xiàn)對(duì)大氣壓力、溫度、濕度、加速度等物理參數(shù)的智能采集,支持通過(guò)CAN總線接口實(shí)現(xiàn)智能傳感器的組網(wǎng)以及與上位機(jī)的互聯(lián)。模塊選用MEMS集成芯片以及高集成度的嵌入式處理器,實(shí)現(xiàn)了模塊的智能化、小型化、高集成、低功耗,并且可以長(zhǎng)期穩(wěn)定工作。
智能傳感器設(shè)計(jì)的第一個(gè)特點(diǎn)是低功耗,其硬件大部分采用超低功耗的芯片,軟件流程的設(shè)計(jì)使得處理器可以間隙性的進(jìn)入休眠模式,進(jìn)一步節(jié)省能量;第二個(gè)特點(diǎn)是智能性,靈活的組網(wǎng)方式使其能夠很方便地進(jìn)行數(shù)據(jù)發(fā)送;第三個(gè)特點(diǎn)是模塊化設(shè)計(jì),使得系統(tǒng)的調(diào)試、維護(hù)和升級(jí)更加方便。這些特點(diǎn)使得智能傳感器可以應(yīng)用于機(jī)載機(jī)電系統(tǒng)中,實(shí)現(xiàn)對(duì)環(huán)境參數(shù)的實(shí)時(shí)智能采集,有效地改善了傳統(tǒng)單一傳感器采集信號(hào)品質(zhì)差,傳輸過(guò)程易受干擾的問題。