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