王曉麗 于 躍 姜 川
(吉林建筑大學(xué)電氣與電子信息學(xué)院,長(zhǎng)春 130118)
隨著通信技術(shù)不斷的發(fā)展,無(wú)線通信已經(jīng)應(yīng)用在生活的各個(gè)方面.常用的無(wú)線通信技術(shù)包括藍(lán)牙、WSN,wifi,無(wú)線個(gè)域網(wǎng)、紅外線、GSM等[1].但在數(shù)據(jù)采集過(guò)程中仍然存在很多問(wèn)題,如重復(fù)的人工工作、復(fù)雜的線纜連接、實(shí)時(shí)的數(shù)據(jù)處理和電磁干擾等.考慮到不同技術(shù)的數(shù)據(jù)傳輸?shù)某杀尽踩翱煽啃缘纫蛩?,藍(lán)牙通信和無(wú)線傳感器網(wǎng)絡(luò)是短距離線通信和數(shù)據(jù)傳輸?shù)淖詈线m的方法,而且,藍(lán)牙技術(shù)能解決如上提出的問(wèn)題.
本文設(shè)計(jì)的系統(tǒng)使用了藍(lán)牙通信技術(shù)進(jìn)行無(wú)線的數(shù)據(jù)傳輸,使用了多個(gè)傳感器來(lái)接收數(shù)據(jù),同時(shí)使用虛擬儀器軟件監(jiān)控和處理所有節(jié)點(diǎn)的數(shù)據(jù).本系統(tǒng)的優(yōu)點(diǎn)是多通道數(shù)據(jù)采集,以及采用了基于短程無(wú)線數(shù)據(jù)采集運(yùn)行速度較快的軟件.
無(wú)線數(shù)據(jù)采集系統(tǒng)包含兩個(gè)部分:數(shù)據(jù)采集部分和主機(jī)數(shù)據(jù)處理部分.傳感器電路的數(shù)據(jù)采集部分主要負(fù)責(zé)接收外部信號(hào),通過(guò)放大器電路可以放大這些不斷變化的信號(hào).可以使用微處理器STM32外圍的12位高分辨率ADC把放大的模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),根據(jù)PC軟件的要求,被轉(zhuǎn)換的數(shù)據(jù)能被采集到,從而進(jìn)行實(shí)時(shí)傳輸,或者儲(chǔ)存進(jìn)閃存,等待主機(jī)的讀取.無(wú)線采集系統(tǒng)還能提供I2C串行總線接口,該接口主要用于連接總線傳感器.經(jīng)過(guò)STM32的內(nèi)部倍頻后,外部8M晶振的頻率可達(dá)到72M.?dāng)?shù)據(jù)采集系統(tǒng)的電源為3.3V電源.PC具有主要負(fù)責(zé)接收所有從下位機(jī)發(fā)送數(shù)據(jù)的藍(lán)牙串口接收器模塊.USB電路負(fù)責(zé)USB與PC串口之間的通信[2].無(wú)線數(shù)據(jù)采集系統(tǒng)的框圖如圖1所示.
圖1 無(wú)線數(shù)據(jù)采集系統(tǒng)的框圖
本文使用STM32微處理器作為主控芯片,該處理器芯片具有
144個(gè)引腳.該處理器具有一個(gè)FSMC控制器,該控制器的數(shù)據(jù)線和位址線是分開(kāi)的.FMSC控制器可以輕松完成讀取和寫(xiě)入NAND閃存操作.為了長(zhǎng)時(shí)間存儲(chǔ)ADC轉(zhuǎn)換后的大量數(shù)據(jù),數(shù)據(jù)采集模塊將通過(guò)一個(gè)外部128MB NAND閃存存儲(chǔ)數(shù)據(jù).STM32有一個(gè)16通道12位分辨率ADC轉(zhuǎn)換器,其最高轉(zhuǎn)換時(shí)間約為1.17us.主控制器具有5個(gè)用于串行通信的USART異步串行端口.藍(lán)牙串行模塊是CSR的藍(lán)牙控制芯片——BlueCore4-External,其標(biāo)準(zhǔn)是藍(lán)牙2.0協(xié)議,而且具有緊湊的尺寸、高效的天線和簡(jiǎn)單易懂的串口.還可以配合藍(lán)牙適配器和藍(lán)牙手機(jī)或配置成主從模式使用.根據(jù)實(shí)際需要,我們可以選擇適合的傳感器或具有I2C串行接口的傳感器作為傳感器電路和單放大電路[3].在測(cè)試期間,選擇的溫濕度傳感器是SHT10,其成本低、反應(yīng)快、質(zhì)量好、抗干擾性強(qiáng).工作電壓為2.4~5.5V.
主控制器使用三星的K9F1G08
閃存,并與NAND閃存相連.藍(lán)牙串行模塊已經(jīng)固化了與外部環(huán)境連接的接口,所以我們能簡(jiǎn)單的將模塊和主控制器STM32的串口連接起來(lái).主控制器的接口、串行模塊、FSMC控制及NAND閃存如圖2所示.
圖2 MUC,NAND閃存和藍(lán)牙串行模塊的連接
藍(lán)牙串行模塊是無(wú)線通信系統(tǒng)核心部分,在整個(gè)無(wú)線數(shù)據(jù)通信系統(tǒng)中起到至關(guān)重要的作用.我們?cè)谒{(lán)牙模塊中使用CSR的BlueCore4-External芯片.該芯片提供了USB,UART,SPI和外部閃存的接口.在硬件設(shè)計(jì)中,這是為藍(lán)牙和主控制電路進(jìn)行的模塊設(shè)計(jì).主控制電路可以通過(guò)串口與藍(lán)牙芯片通信.
在整個(gè)無(wú)線通信系統(tǒng)中,有一個(gè)藍(lán)牙模塊與PC機(jī)連接作為主機(jī)節(jié)點(diǎn).從屬藍(lán)牙節(jié)點(diǎn)可以得到傳感器電路通過(guò)串口采集到的數(shù)據(jù),然后通過(guò)藍(lán)牙主機(jī)將信息傳送出去.藍(lán)牙節(jié)點(diǎn)將從從屬設(shè)備上接收信息,并將其轉(zhuǎn)換成串口信息.為了實(shí)現(xiàn)PC串口與藍(lán)牙串口之間的通信,我們進(jìn)行了一個(gè)轉(zhuǎn)換.共同電路是MAX232變換器.無(wú)論如何,在本次設(shè)計(jì)中,我們使用了PL2303芯片,它可以通過(guò)USB接口實(shí)現(xiàn)PC串口與藍(lán)牙串口之間的通信.該方法也可以為藍(lán)牙主機(jī)節(jié)點(diǎn)提供電源.正如圖中PL2303接口的結(jié)構(gòu)所示,我們只需要連接USB數(shù)據(jù)線纜和PL2303D.整個(gè)模塊電路如圖3所示.
本文設(shè)計(jì)了兩個(gè)電源,分別是USB接口電源和AC/DC適配器電源.如圖4所示,這兩個(gè)電源都將采用調(diào)整電路.調(diào)整器芯片ASM117可以將電源從5V轉(zhuǎn)換為3.3V.4個(gè)電容器就可以實(shí)現(xiàn)電源電壓信號(hào)的過(guò)濾.
圖3 USB串口模塊連接
圖4 電源
無(wú)線數(shù)據(jù)采集軟件包括兩個(gè)部分.第一部分是包括硬件在內(nèi)的驅(qū)動(dòng),主要有數(shù)字傳感器驅(qū)動(dòng)、STM32及外圍設(shè)備的驅(qū)動(dòng)、FSMC控制器驅(qū)動(dòng)的配置,以及藍(lán)牙串行模塊的驅(qū)動(dòng)的配置[4].每個(gè)硬件的驅(qū)動(dòng)都要得到合適的配置.最復(fù)雜的驅(qū)動(dòng)是FSMC的驅(qū)動(dòng)和藍(lán)牙芯片的驅(qū)動(dòng).第二部分是虛擬儀器PC軟件對(duì)PC端的編程程序.主機(jī)計(jì)算機(jī)軟件可以控制每個(gè)藍(lán)牙節(jié)點(diǎn),并使能數(shù)據(jù)傳輸和數(shù)據(jù)處理.在PC軟件的設(shè)計(jì)中,核心部分是VISI硬件接口驅(qū)動(dòng).無(wú)線數(shù)據(jù)采集系統(tǒng)使用VISI的串口驅(qū)動(dòng)與無(wú)線傳輸模塊進(jìn)行通信.
虛擬儀器程序作為無(wú)線數(shù)據(jù)采集系統(tǒng)的頂層部分,主機(jī)計(jì)算機(jī)軟件的特點(diǎn)是處理PC硬件采集的數(shù)據(jù).為了加快軟件的開(kāi)發(fā)過(guò)程,我們已經(jīng)采用虛擬儀器[5]來(lái)建立軟件.對(duì)于虛擬儀器復(fù)雜的體系結(jié)構(gòu),VISI可以連接常用總線,如GPIB,USB,串口和以太網(wǎng)等.虛擬儀器還可以提供總線VISI驅(qū)動(dòng).主機(jī)軟件的整個(gè)設(shè)計(jì)過(guò)程如下:①配置PC串口;②選擇數(shù)據(jù)采集節(jié)點(diǎn);③通過(guò)底層硬件使能數(shù)據(jù)傳輸和讀取儲(chǔ)存器;④處理數(shù)據(jù)并保存.
該程序包括兩層疊套結(jié)構(gòu).第一層如圖5所示,我們初始化了VISI串行的一些參數(shù).需要注意的是,PC串行率、藍(lán)牙串行模塊率及主控制器的STM32外部設(shè)備USART率應(yīng)該是一致的,以便保證數(shù)據(jù)的傳送和接收的正確性.本文配置的串口率為115 200bps,而且測(cè)試顯示,該串口率下的數(shù)據(jù)傳輸是穩(wěn)定可靠的.第二個(gè)程序的框架如圖6所示,應(yīng)用了循環(huán)事件結(jié)構(gòu).這些事件包括:打開(kāi)串口、選擇節(jié)點(diǎn)、啟動(dòng)數(shù)據(jù)采集、接收數(shù)據(jù)、保存文件和關(guān)閉VI.
圖5 PC串行配置的虛擬儀器程序
圖6 主機(jī)計(jì)算機(jī)保存數(shù)據(jù)事件的框圖
數(shù)據(jù)采集系統(tǒng)的傳感器部分與溫濕度傳感器SHT10相連.如圖7所示,Labview界面會(huì)顯示測(cè)出的溫度及測(cè)量過(guò)程中出現(xiàn)溫度的最大值和最小值.根據(jù)該項(xiàng)目的實(shí)際需要,無(wú)線數(shù)據(jù)采集系統(tǒng)裝有多個(gè)用于數(shù)據(jù)采集的傳感器.由于STM32具有16個(gè)ADC和多個(gè)I2C,所以可以輕松連接傳感器和整個(gè)系統(tǒng).同理,對(duì)于虛擬儀器主機(jī)計(jì)算機(jī)軟件程序,通過(guò)增加基礎(chǔ)軟件程序中相應(yīng)處理事件,可以快速升級(jí)系統(tǒng).
圖7 LabVIEW實(shí)時(shí)顯示
本文將STM32和STH10溫濕度傳感器相連,將采集到的溫度數(shù)據(jù)傳給上位機(jī),并在LabVIEW界面上顯示出具體溫度數(shù)據(jù).校園能耗數(shù)據(jù)采集系統(tǒng)的建成具有十分重要的意義,能夠?qū)π@的能源消耗進(jìn)行實(shí)時(shí)監(jiān)測(cè),成本低、性能好、數(shù)據(jù)傳輸穩(wěn)定可靠、可行性高,從而對(duì)其進(jìn)行科學(xué)有效的管理,讓全校師生參與到建設(shè)節(jié)約型校園中來(lái),培養(yǎng)大家節(jié)能減排的意識(shí),充分發(fā)揮學(xué)校在倡導(dǎo)低碳生活中的宣傳和教育作用,也可以廣泛應(yīng)用到與工業(yè)實(shí)時(shí)信息采集、無(wú)線通訊、數(shù)據(jù)采集讀數(shù)與處理技術(shù)方面.
[1]張士兵,包志華,徐 晨.近距離無(wú)線通信及其關(guān)鍵技術(shù)[J].電視技術(shù),2006(6):1-3.
[2]廖義奎.ARM Cortex-M4嵌入式實(shí)戰(zhàn)開(kāi)發(fā)精解-基于STM32F4[M].北京:北京航空航天大學(xué)出版社,2013:43-45.
[3]曹圓圓.基于STM32的溫度測(cè)量系統(tǒng)[J].儀器與儀表分析檢測(cè),2010(1):1-3.
[4]丁珍紅.基于STM32的高速大容量數(shù)據(jù)采集存儲(chǔ)系統(tǒng)設(shè)計(jì)[D].上海:上海交通大學(xué),2011.
[5]白 云,高育鵬.基于LabVIEW的數(shù)據(jù)采集與處理技術(shù)[M].西安:西安電子科技大學(xué)出版社,2009:8-38.