關(guān) 閉

新聞中心

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

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

——
作者:北京航空航天大學(xué) 王珍華 劉亞斌 彭麗梅 時(shí)間:2007-12-07 來(lái)源:電子設(shè)計(jì)應(yīng)用 收藏

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

關(guān)鍵詞
;  ;   ; 

引言

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

系統(tǒng)分析及設(shè)計(jì)

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


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

系統(tǒng)分析及硬件設(shè)計(jì)

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

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

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

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

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

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

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

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

難點(diǎn)分析及解決方法

nRF2401半雙工通信方式與C8051全雙工通信接口的轉(zhuǎn)換

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

  表1 實(shí)驗(yàn)數(shù)據(jù)表



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

  這樣,就完成了射頻模塊的半雙工通信接口與單片機(jī)全雙工通信接口的轉(zhuǎn)換。{{分頁(yè)}}

單片機(jī)與MAX5591之間的SPI接口通信

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

實(shí)驗(yàn)結(jié)果及分析總結(jié)

實(shí)驗(yàn)結(jié)果

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

分析總結(jié)

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

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

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

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



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉