關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 計算機近距離無線數(shù)據(jù)采集系統(tǒng)設計

        計算機近距離無線數(shù)據(jù)采集系統(tǒng)設計

        ——
        作者:北京航空航天大學 王珍華 劉亞斌 彭麗梅 時間:2007-12-07 來源:電子設計應用 收藏

        摘  要:本文設計并實現(xiàn)了基于2.4GHz 收發(fā)芯片的計算機短距離無線數(shù)據(jù)采集系統(tǒng)。該系統(tǒng)采用PC作為系統(tǒng)控制中心,以為核心構成數(shù)據(jù)采集傳送的前端,并且采用芯片進行數(shù)據(jù)無線發(fā)射與接收。

        關鍵詞
        ;  ;   ; 

        引言

            針對某醫(yī)療裝置中的人體生理信號采集和傳輸問題,本文設計了計算機近距離無線數(shù)據(jù)采集系統(tǒng)。采用Nodic公司的nRF2401作為無線收發(fā)核心器件。系統(tǒng)由一臺PC、無線數(shù)據(jù)接收模塊和無線數(shù)據(jù)采集發(fā)射模塊組成。無線數(shù)據(jù)發(fā)射模塊以為處理核心,采用單片機內(nèi)部的12位ADC對現(xiàn)場的模擬信號進行采集和發(fā)送;無線數(shù)據(jù)接收模塊以C8051F021單片機作為處理核心,接收與發(fā)射模塊由nRF2401無線收發(fā)芯片完成,采用MAX5591實現(xiàn)12位D/A轉換,采用 RS-485總線與PC進行通信,它負責現(xiàn)場數(shù)據(jù)的接收和初步處理,并轉發(fā)給PC以供顯示和監(jiān)控,同時將數(shù)字量轉換為模擬量,供示波器顯示;PC有良好的人機界面,利用NI的虛擬示波器顯示遠端現(xiàn)場采集的數(shù)據(jù),并可以向現(xiàn)場的采集模塊發(fā)送控制命令,同時可以實現(xiàn)保存采集數(shù)據(jù)、打印、回放歷史數(shù)據(jù)等功能。

        系統(tǒng)分析及設計

            計算機短距離無線數(shù)據(jù)采集系統(tǒng)組成如圖1所示。


          圖 1 系統(tǒng)組成框圖

        系統(tǒng)分析及硬件設計

            由于現(xiàn)場要采集的數(shù)據(jù)為醫(yī)學人體實驗數(shù)據(jù),幅值大約在-1.0V~+1.0V之間,頻率為300Hz,要求測量誤差低于10mV,C8051F021自帶的12位ADC在精度上可以滿足要求;但是單片機中的ADC要求輸入為正電壓,同時考慮到轉換精度要求,故需要對信號進行轉換,將原信號轉換為幅值在0~3V、頻率300Hz左右的信號。可以利用MAX4194組成信號轉換電路,將模擬信號的零參考電平抬升到1.0V。這樣,原先-1.0V~0V之間的電壓信號轉換為0~1.0V之間的電壓,而原先0V~1.0V之間的電壓轉換為1.0V~2.0V之間的電壓。這樣就完成了原始信號的轉換,適應了單片機的輸入要求。單片機A/D轉換參考電壓選擇外部3.3V,由MAX6013提供。{{分頁}}

            考慮到無線數(shù)據(jù)的發(fā)送與接收特點,故選用Nordic 公司的nRF2401芯片。nRF2401是單片收發(fā)芯片,工作于2.4GHz~2.5GHz ,芯片內(nèi)置頻率合成器、功率放大器、晶體振蕩器和調制器等功能模塊,輸出功率和通信頻道可通過程序進行配置。芯片功耗非常低,以-5dBm的功率發(fā)射時,工作電流只有10.5mA,接收時工作電流只有18mA。其獨有的DuoCeiver技術使nRF2401可以使用同一天線,同時接收兩個不同頻道的數(shù)據(jù)。nRF2401使用跳頻技術,在2400MHz~2527MHz之間設立了128個頻道(每個頻道帶寬1MHz),頻道間的切換時間小于200ms。此外,nRF2401內(nèi)置CRC編解碼模塊,可以在不增加編程難度的條件下減小誤碼率。

            無線數(shù)據(jù)接收后,要進行D/A轉換,供示波器觀看;考慮到數(shù)據(jù)的采集精度要求,故采用了 MAX5591作為轉換器件,一方面可以方便地與C8051F021單片機SPI接口連接,另一方面,它是12位DAC,與采集端的ADC匹配,可減小轉換誤差。

            無線數(shù)據(jù)接收到終端后,要求能直觀地觀看,并且可以對現(xiàn)場的數(shù)據(jù)采集次數(shù)、采集啟停時間進行控制,故需要將數(shù)據(jù)傳到PC,進行顯示;同時,通過人機界面,對現(xiàn)場進行遠程控制。PC采用VC++編寫程序,利用NI 的虛擬示波器和其它控件實現(xiàn)友好的人機界面,數(shù)據(jù)顯示、存儲和打印功能。

        系統(tǒng)中的主要軟件模塊

            系統(tǒng)軟件主要由上位機軟件和下位機軟件組成。

            上位機軟件主要實現(xiàn)與單片機通信、波形顯示、數(shù)據(jù)存儲、數(shù)據(jù)回放、打印等功能。下位機的主要功能有:系統(tǒng)初始化、數(shù)據(jù)采集(A/D轉換)、無線數(shù)據(jù)發(fā)射、無線數(shù)據(jù)接收、數(shù)據(jù)D/A轉換、與PC串口通信等。下面重點介紹下位機的無線發(fā)射與接收部分軟件。

            無線數(shù)據(jù)收發(fā)主要通過對nRF2401進行操作實現(xiàn),包括器件配置、發(fā)送數(shù)據(jù)、接收數(shù)據(jù)等。nRF2401的工作模式通過引腳PWR_UP、CE和CS選擇。在RX/TX模式下,有兩種工作方式:ShockBurs和Direct Mode。本系統(tǒng)選用了ShockBurst模式,這種模式下需要配置的內(nèi)容有:接收數(shù)據(jù)長度、接收通道地址、CRC校驗、工作方式、發(fā)送頻率、傳送速率、接收與發(fā)送等。需要15字節(jié)的配置內(nèi)容,下面給出了16進制的配置內(nèi)容:0x80,0x80,0x00,0xcc,0xcc,0xcc,
        0x00,0xcd,0xcd,0xcd,0xcd,0x83,0x4f,
        0x05。

        難點分析及解決方法

        nRF2401半雙工通信方式與C8051全雙工通信接口的轉換

             在數(shù)據(jù)的采集端,單片機與射頻模塊是雙向通信,可以直接采用單片機自帶的SPI 接口與射頻模塊單向通信,包括配置射頻模塊的工作方式、接收通道地址、接收數(shù)據(jù)長度、接收頻率、發(fā)送功率等參數(shù)和要發(fā)送的采集數(shù)據(jù);當單片機要讀取遠端發(fā)送的控制命令時,要將SPI模式關閉,同時將MOSI、DR1端口定義為輸入方式,然后將射頻模塊接收的控制命令讀到單片機內(nèi)部,并根據(jù)控制命令進行相應的操作,如采集通道選擇、采集次數(shù)設定、開始采集、停止采集、發(fā)送數(shù)據(jù)等。

          表1 實驗數(shù)據(jù)表



            在接收端,單片機和射頻模塊之間也是雙向通信,單片機首先關閉SPI 模式,將MISO定義為輸入模式,通過模擬的SPI 操作,對射頻模塊進行配置;當有控制命令要發(fā)送時,仍將MISO端口定義為輸出模式,將射頻模塊配置為發(fā)送模式,將控制命令發(fā)送到數(shù)據(jù)采集終端;當要接收采集終端傳來的數(shù)據(jù)時,首先將射頻模塊配置為接收模式,然后打開SPI 功能,利用單片機的SPI接口,將數(shù)據(jù)讀到單片機內(nèi)部。

          這樣,就完成了射頻模塊的半雙工通信接口與單片機全雙工通信接口的轉換。{{分頁}}

        單片機與MAX5591之間的SPI接口通信

            C8051單片機的SPI 操作時序不能滿足MAX5591的時序要求。要使單片機和MAX5591之間進行數(shù)據(jù)傳輸,必須根據(jù)MAX5591的時序要求將單片機的SPI時序進行轉換。

        實驗結果及分析總結

        實驗結果

          現(xiàn)場模擬電壓信號通過12位ADC轉換為數(shù)字量,通過無線方式傳送到遠端監(jiān)控室,一方面通過DAC轉換為模擬量,供示波器觀看;另一方面,通過RS-232傳送到PC進行顯示、存儲和打印。表1是實驗數(shù)據(jù)。

        分析總結

            從試驗數(shù)據(jù)可以看到,系統(tǒng)實現(xiàn)了現(xiàn)場模擬電壓信號的采集、無線傳輸以及模擬信號還原,誤差不大于0.2%,滿足了設計要求。同時系統(tǒng)還存在著不足之處:在數(shù)據(jù)量加大,傳輸速率為1MHz時,偶爾會出現(xiàn)數(shù)據(jù)丟失現(xiàn)象;當被測信號頻率大于500Hz的時候,信號復現(xiàn)時會出現(xiàn)波形失真。

            系統(tǒng)實現(xiàn)了遠端現(xiàn)場采集8路人體生理信號,無線傳送到監(jiān)控中心并復現(xiàn)現(xiàn)場信號的功能。實驗證明,系統(tǒng)在250Kbps速率下無線傳輸距離可達50米,采集信號誤差低于0.5% 。數(shù)據(jù)傳輸中采用了16位CRC校驗,降低了誤碼率。該系統(tǒng)已經(jīng)在某醫(yī)療器械上得到應用。經(jīng)改造,系統(tǒng)可以采集現(xiàn)場的數(shù)字量和一些開關量,實現(xiàn)設備狀態(tài)監(jiān)測和開關量控制等。
          
        結語

            本文采用軟件切換的方式實現(xiàn)了半雙工器件與全雙工器件的通訊轉換,采用軟件模擬SPI操作,解決了多SPI器件之間的通信協(xié)議匹配問題。
          
        參考文獻:

        1 沈陽新華龍電子有限公司,C8051F020/1/2/3 混合信號ISP FLASH 微控制器,2005
        2 趙念強,鮑可進,申屠浩.基于SoC單片機8051F的碼頭供給監(jiān)控系統(tǒng) 北京:微計算機信息, 2005年第3期第70頁



        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 剑河县| 民权县| 屏东县| 庆安县| 井研县| 义马市| 华阴市| 朝阳县| 来宾市| 巴彦县| 清新县| 舟曲县| 温泉县| 东乌| 岚皋县| 山阳县| 康定县| 鹿邑县| 灵璧县| 南皮县| 民乐县| 南丹县| 虹口区| 秦安县| 柘城县| 南投市| 罗田县| 阿拉尔市| 丽江市| 铁岭县| 资源县| 财经| 淅川县| 昌都县| 兰溪市| 阳谷县| 札达县| 乌什县| 宝坻区| 邯郸县| 五大连池市|