文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2012)01-0041-03
由于飛艇具有航程遠(yuǎn),、續(xù)航能力強(qiáng),、載荷量大等特點(diǎn),成為人們?cè)絹碓角嗖A的運(yùn)輸工具,。飛艇的特點(diǎn)就是用充滿氦氣的氣囊來產(chǎn)生巨大的浮力以便于承載物體的重量,。但是,由于飛艇受太陽光直射、環(huán)境溫度變化等原因,隨著飛艇氣囊內(nèi)浮升氣體溫度的升高,,飛艇會(huì)逐漸升高,,氣壓也會(huì)隨著溫度的升高而發(fā)生變化,從而使氣囊體積發(fā)生變化,。并且,,由于溫度升高、浮力上升,,會(huì)使飛艇偏離原來已經(jīng)設(shè)定好的高度,,無法精確地實(shí)現(xiàn)對(duì)飛艇的控制。因此,,需使用多個(gè)溫度傳感器采集飛艇內(nèi)部的溫度并用無線傳輸模塊發(fā)送給飛艇飛控中心,,再用數(shù)據(jù)鏈發(fā)送到地面站,以便于地面站工作人員對(duì)飛艇進(jìn)行控制,使飛艇運(yùn)行在安全可靠的高度,。
1 系統(tǒng)工作原理及硬件結(jié)構(gòu)
基于PSoC的飛艇艇內(nèi)溫度采集系統(tǒng)的硬件部分主要包括溫度采集,、節(jié)點(diǎn)組網(wǎng)和數(shù)據(jù)發(fā)送三部分。由于飛艇內(nèi)部空間比較大,,通常由幾個(gè)隔艙組成,,其各部分的溫度是不一樣的,因此,,飛艇的靜升力也會(huì)有所不同,,飛艇首尾各部分所受到的升力也會(huì)不一樣,飛艇的穩(wěn)定性就會(huì)受到一定的影響,。通過溫度傳感器采集艇內(nèi)各節(jié)點(diǎn)的溫度,,與PSoC芯片和無線發(fā)射模塊組成一個(gè)個(gè)從節(jié)點(diǎn),再通過從節(jié)點(diǎn)把數(shù)據(jù)發(fā)送給總節(jié)點(diǎn),,從而達(dá)到測量飛艇內(nèi)部不同點(diǎn)溫度的目的,。
1.1 系統(tǒng)總體框架
基于PSoC的飛艇艇內(nèi)溫度采集系統(tǒng)中,在飛艇內(nèi)部要測量溫度的地方布上從節(jié)點(diǎn),,從節(jié)點(diǎn)主要由PSoC芯片,、溫度傳感器DS18B20和無線傳輸模塊nRF24L01組成。一個(gè)從節(jié)點(diǎn)可以掛幾個(gè)溫度傳感器,。由各個(gè)從節(jié)點(diǎn)組成一個(gè)大的總節(jié)點(diǎn),,把各個(gè)從節(jié)點(diǎn)測量到的溫度數(shù)據(jù)通過各自的無線傳輸模塊發(fā)送到總節(jié)點(diǎn),再由總節(jié)點(diǎn)把各個(gè)溫度傳感器采集到的數(shù)據(jù)通過無線傳輸模塊發(fā)送到飛艇飛控中心,由飛控中心通過下行數(shù)據(jù)鏈把數(shù)據(jù)發(fā)送到地面站去處理,,通過分析處理得到飛艇的高度,、溫度等數(shù)據(jù),再通過上行數(shù)據(jù)鏈把控制指令發(fā)送給飛控中心,,調(diào)整飛艇的姿態(tài),、俯仰,、舵機(jī),從而控制飛艇的高度,,使飛艇內(nèi)部壓力減小,、溫度降低,從而對(duì)飛艇的穩(wěn)定性進(jìn)行控制,。飛艇溫度采集與處理的框架圖如圖1所示,。
1.2 系統(tǒng)溫度采集與數(shù)據(jù)發(fā)送
PSoC模塊是整個(gè)溫度采集系統(tǒng)的控制核心,除了要對(duì)溫度采集進(jìn)行控制外,,還要通過發(fā)射模塊把采集到的從節(jié)點(diǎn)的數(shù)據(jù)發(fā)送給總節(jié)點(diǎn)并通過UATR把采集到的所有數(shù)據(jù)發(fā)送給飛控中心進(jìn)行處理分析,。PSoC(Programmable System-on-Chip)是Cypress公司生產(chǎn)的一種可編程片上系統(tǒng),它是在一個(gè)專有的MCU內(nèi)核周圍集成了可配置的模擬和數(shù)字外圍器件陣列PSoC塊,,利用芯片內(nèi)部的可編程互聯(lián)陣列,,有效地配置芯片上的模擬和數(shù)字塊資源,達(dá)到可編程片上系統(tǒng)的目的,。PSoC集MCU的可編程序,、部分可編程邏輯運(yùn)算功能、可編程模擬陣列于一體,。PSoC的數(shù)字資源(如定時(shí)器,、PWM、UART等)和模擬資源(如放大器,、比較器,、濾波器等)以數(shù)字模塊和模擬模塊的方式給出。不同型號(hào)的PSoC芯片的差異主要在于其擁有的數(shù)字模塊和模擬模塊的數(shù)量不同[1,,2],。PSoC最顯著的特征是可以把芯片內(nèi)集成的基本數(shù)字單元和模擬單元配置成用戶所需要的多種形式的數(shù)字、模擬或混合信號(hào)模塊,。
PSoC應(yīng)用系統(tǒng)是指以PSoC單片機(jī)為核心,,配以一定的外部功能擴(kuò)展和外圍電路以及軟件,,能夠完整地實(shí)現(xiàn)某種或多種功能,。PSoC應(yīng)用系統(tǒng)設(shè)計(jì)應(yīng)包括系統(tǒng)硬件設(shè)計(jì)、PSoC接口配置,、PSoC軟件設(shè)計(jì),、系統(tǒng)調(diào)試與程序下載,。然后將調(diào)試成功的程序固化到芯片[2]。各部分詳細(xì)內(nèi)容及流程圖如圖2所示,。
本系統(tǒng)采用的是28管腳的CY8C24533芯片,,它有16 KB的Flash,;5種類型的AD,,精度可達(dá)14 bit,,5種類型的DA,精度可達(dá)8 bit,,并且管腳可配置,;5種放大器以及2種濾波器;還擁有IrDA,、SPI,、UART等。
溫度采集芯片主要采用DALLAS公司生產(chǎn)的單總線數(shù)字溫度傳感器DS18B20,,可把溫度信號(hào)直接轉(zhuǎn)換成串行數(shù)字信號(hào),。DS18B20在與微處理器連接時(shí)僅需要一條線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通信;支持多點(diǎn)組網(wǎng)功能,,測溫范圍為-55 ℃~+125 ℃,,固有分辨率為0.5 ℃,而且價(jià)格也比較便宜,性能穩(wěn)定[3,4],。
發(fā)送模塊nRF24L01是整個(gè)系統(tǒng)的紐帶,。nRF24L01是一款低成本無線收發(fā)器,內(nèi)置頻率合成器,、功率放大器,、晶體振蕩器、調(diào)制器等功能模塊,。芯片具備自動(dòng)應(yīng)答和自動(dòng)重發(fā)功能,,速度可達(dá)2 Mb/s,其輸出功率,、頻道選擇以及協(xié)議設(shè)置都可以通過SPI口進(jìn)行設(shè)置,。nRF24L01有收發(fā)、配置,、空閑和關(guān)機(jī)4種工作模式,,從而實(shí)現(xiàn)了數(shù)據(jù)從微控制器的低速傳入和高速發(fā)送,降低了系統(tǒng)功耗[4],。
1.3 PSoC系統(tǒng)內(nèi)部框架
由于各個(gè)溫度傳感器的數(shù)據(jù)都是通過I2C總線傳輸給PSoC,,無線收發(fā)模塊則是通過SPI把各個(gè)節(jié)點(diǎn)的數(shù)據(jù)發(fā)送給PSoC,而PSoC又通過UATR把數(shù)據(jù)發(fā)送給飛控中心處理,,所以在系統(tǒng)中要有SPI,、I2C、UART才能夠接收和發(fā)送數(shù)據(jù),,才能完成系統(tǒng)的整體設(shè)計(jì),。而PSoC內(nèi)部則包含了這三部分,只需要調(diào)用這些模塊再配置好參數(shù)就可以與外部接口模塊進(jìn)行數(shù)據(jù)的傳輸,,如圖3所示,。
1.4 PSoC內(nèi)部硬件搭建
PSoC Designer主要功能包括:在器件編輯器中進(jìn)行用戶模塊選擇,、參數(shù)設(shè)置、引腳適配,;在應(yīng)用程序編輯器中編輯程序,、調(diào)試以及下載程序[2,6],。
在集成環(huán)境(IDE)PSoC Designer5.0的器件編輯器中,,可實(shí)現(xiàn)硬件模塊的搭建。本系統(tǒng)只用到了PSoC芯片內(nèi)部的UATR,、SPI,、I2C模塊。系統(tǒng)內(nèi)部硬件搭建如圖4所示,。
(1)創(chuàng)建工程:選擇應(yīng)用系統(tǒng)所要配置的芯片,。
(2)用戶模塊配置:在器件編輯器中根據(jù)系統(tǒng)需求選擇合適的用戶模塊;將選擇的用戶模塊放置在合適的用戶模塊資源配置窗口中的基本單元DBB,、DCB,、ACB位置;對(duì)用戶模塊的參數(shù)設(shè)置,、用戶模塊連接和引腳適配進(jìn)行配置等,。
(3)用戶模塊連接:單擊UART的輸入/輸出部分,從下拉表框中選擇一條合適的行廣播線與之相連即可,。還可以對(duì)用戶模塊的時(shí)鐘源進(jìn)行選擇和數(shù)字模塊的輸入使能標(biāo)志,。
2 系統(tǒng)的軟件設(shè)計(jì)
I2C單元能實(shí)現(xiàn)完整的I2C主模式或從模式的串行通信功能,是PSoC與雙線I2C串行通信總線接口通過配置寄存器I2C_CFG來設(shè)置基本的操作模式,、波特率以及選擇中斷,;I2C_SC寄存器用于主設(shè)備和從設(shè)備控制數(shù)據(jù)字節(jié)流并跟蹤總線的狀態(tài);I2C_DR寄存器用來提供移位寄存器的讀/寫訪問,;I2C_MSCR實(shí)現(xiàn)了I2C幀控制以及提供總線忙狀態(tài),。
SPI是串行外圍設(shè)備接口, 是一種高速同步串行通信接口,。SPI接口通用的4條線是系統(tǒng)時(shí)鐘(Clock),、主機(jī)輸入/從機(jī)輸出線(MISO)、主機(jī)輸出/從機(jī)輸入線(MOSI),、輸出片選時(shí)鐘(SCLK),。SPI配置的寄存器有功能寄存器、輸入寄存器,、輸出寄存器,、控制寄存器CR0和數(shù)據(jù)緩沖寄存器DR0、DR1和DR2[2],。
在應(yīng)用程序編輯器中編輯源代碼,只要對(duì)UART,、SPI和I2C初始化和調(diào)用函數(shù)就可以實(shí)現(xiàn)功能,。軟件設(shè)計(jì)的總體流程圖如圖5所示。
UART用于控制計(jì)算機(jī)與串行設(shè)備的通信,,作為一種低速通信協(xié)議,,廣泛應(yīng)用于通信領(lǐng)域,。UART的通信流程主要是:程序的初始化,、開UART用戶模塊、開UART中斷,、發(fā)送字符串,、接收緩沖區(qū)滿標(biāo)志等。UART通信流程圖和UART中斷流程圖分別如圖6和圖7所示,。
3 測試結(jié)果分析
以某型號(hào)飛艇為例,在飛艇艇內(nèi)布置5個(gè)節(jié)點(diǎn),,如圖8所示。其中,,①,、②、③,、④4個(gè)為從節(jié)點(diǎn),,⑤為主節(jié)點(diǎn)。
用實(shí)際采集到的溫度與標(biāo)準(zhǔn)溫度進(jìn)行對(duì)比, 因?yàn)棰?、②,、③、④從?jié)點(diǎn)采集到的數(shù)據(jù)發(fā)送給總節(jié)點(diǎn)⑤,,所以只需采集從節(jié)點(diǎn)的數(shù)據(jù)即可,。可以看出在實(shí)際測量過程中是會(huì)有誤差的,。實(shí)驗(yàn)對(duì)比數(shù)據(jù)如表1所示,。
基于PSoC的飛艇艇內(nèi)溫度采集系統(tǒng)設(shè)計(jì)在實(shí)際的環(huán)境溫度測量中,溫度數(shù)據(jù)存在著誤差,,主要原因是飛艇的體積與空間比較大,,飛艇內(nèi)部的溫度是實(shí)時(shí)變化的,同時(shí)采用的無線傳輸模塊的傳輸距離比較近,,所以不能做到飛艇內(nèi)部溫度絕對(duì)實(shí)時(shí)采集的要求,。
在實(shí)際的使用中,必須對(duì)誤差進(jìn)行修正[5],??梢砸砸粋€(gè)從節(jié)點(diǎn)采集到的溫度作為對(duì)照,得到精確溫度值與各個(gè)從節(jié)點(diǎn)溫度之間的差值并存儲(chǔ),。編程時(shí),,采用軟件誤差修正,,通過查表的方法就可以得到實(shí)際的較精確的飛艇內(nèi)部溫度值。
本系統(tǒng)的溫度采集是由PSoC芯片,、溫度傳感器以及無線傳輸模塊組成多個(gè)從節(jié)點(diǎn),再由無線傳輸模塊把采集到的從節(jié)點(diǎn)的數(shù)據(jù)發(fā)送給系統(tǒng)的總節(jié)點(diǎn),利用此溫度采集方法比以往的有線采集方法簡化了系統(tǒng)硬件和軟件的設(shè)計(jì),、減小了體積、降低了飛艇的載荷重量,、提高了利用效率,,使用也更加方便安全,提高了系統(tǒng)工作的可靠性,。對(duì)于一些大型場合如變電站,、糧食儲(chǔ)藏庫等環(huán)境比較復(fù)雜的地方也具有一定的實(shí)用價(jià)值。
參考文獻(xiàn)
[1] 何永義.基于PSoC TM片上系統(tǒng)的原理與應(yīng)用[M].上海:上海大學(xué)出版社,,2003:68-72.
[2] 戴國駿,,張翔,曾虹,,等.系統(tǒng)可配置單片機(jī)原理與應(yīng)用[M].北京:機(jī)械工業(yè)出版社,,2009:146-152.
[3] 潘勇,管學(xué)奎,,趙瑞.基于NRF24L01的智能無線溫度測量系統(tǒng)設(shè)計(jì)[J].電子測量技術(shù),,2010,33(2):120-122.
[4] 朱玉穎,,蔡占輝.基于Nrf24L01的遠(yuǎn)程溫度檢測系統(tǒng)設(shè)計(jì)[J].通信與信息處理,,2010,29(5):56-58.
[5] 劉高平,,鄭子含.基于PSoC的數(shù)字溫度傳感器設(shè)計(jì)[J].實(shí)驗(yàn)技術(shù)與管理,,2007,24(5):49-52.
[6] 張俊霞,,李玉麗,,徐家品.基于PSoC的數(shù)字溫度傳感器控制系統(tǒng)[J].中國西部科技,2008,,7(22):23-25.