胡家華,徐 鵬,鄭昌雨,周 揚(yáng),梁春陽(yáng),寧 宇
(哈爾濱理工大學(xué),黑龍江 哈爾濱150080)
隨著科學(xué)技術(shù)的快速發(fā)展,無(wú)線技術(shù)也得到了長(zhǎng)足的發(fā)展,尤其是無(wú)線通信技術(shù)可以用日新月異來(lái)形容。無(wú)線技術(shù)中包含射頻技術(shù)、集成電路技術(shù)、無(wú)線通信技術(shù),這些技術(shù)的發(fā)展都給無(wú)線數(shù)據(jù)傳輸系統(tǒng)的設(shè)計(jì)帶來(lái)了極其便利的條件,也使無(wú)線數(shù)傳系統(tǒng)日益完善,其應(yīng)用的范圍也越來(lái)越廣泛。數(shù)據(jù)傳輸可以簡(jiǎn)單分為有線(光纜、電纜、電信專用線)和無(wú)線(建立專用的無(wú)線傳輸系統(tǒng),頻率在433 MHz或2.4 GHz頻段;或者是借用CDPD、GSM、CDMA等公用網(wǎng)信息平臺(tái))兩大類。相比較而言,用無(wú)線數(shù)傳模塊建立專用無(wú)線數(shù)據(jù)傳輸系統(tǒng)方式比較其他方式有如下優(yōu)點(diǎn):成本低廉、建設(shè)工程周期短、適應(yīng)性好、擴(kuò)展性好,工況惡劣不易架線的環(huán)境更適應(yīng)采用無(wú)線數(shù)據(jù)傳輸系統(tǒng)。油田抽油機(jī)運(yùn)行參數(shù)是油田生產(chǎn)部門分析單井產(chǎn)量、單井生產(chǎn)損耗、機(jī)井是否運(yùn)行正常以及機(jī)井作業(yè)的有效數(shù)據(jù),以此可以分析抽油機(jī)系統(tǒng)效率,探討抽油機(jī)系統(tǒng)效率的影響因素,包括油井供液不足、大馬拉小車和井深、高氣油比等的影響。而油田抽油機(jī)井大部分都分布在野外,其工作環(huán)境比較惡劣。本文介紹采用KYL-102L模塊結(jié)合STC12C560S2單片機(jī)設(shè)計(jì)油田抽油機(jī)運(yùn)行電參數(shù)測(cè)量的無(wú)線數(shù)據(jù)傳輸系統(tǒng),實(shí)現(xiàn)測(cè)量數(shù)據(jù)的無(wú)線收發(fā)。
KYL-1020L是一款低功率無(wú)線數(shù)傳模塊,適合制作遠(yuǎn)距離的無(wú)線數(shù)據(jù)傳輸產(chǎn)品。其體積小、功耗低、穩(wěn)定性強(qiáng),為用戶提供雙向的數(shù)據(jù)信號(hào)傳輸、檢測(cè)和控制功能,比較適合水電氣三表、門禁系統(tǒng)、智能儀器儀表、樓宇控制等設(shè)備。其特點(diǎn)是:發(fā)射功率為500 mW;接收靈敏度為-118 dB/m(對(duì)應(yīng)9 600 b/s);載頻頻率為433 MHz,無(wú)需申請(qǐng)頻點(diǎn);采用FSK/GFSK調(diào)制方式,其傳輸距離可達(dá)2 km(空曠地)。其信號(hào)連接采用單排9針連接器,引腳信號(hào)如表1所示。
表1 KYL-1020L模塊引腳信號(hào)說(shuō)明
由表1可見,該模塊的串行數(shù)據(jù)收發(fā)引腳有6#和7#以及3#和4#引腳,這兩對(duì)引腳在使用時(shí)是有區(qū)別的。如果單片機(jī)采用RS232串行異步通信方式,則KYL-1020L模塊要用6#和7#引腳與單片機(jī)系統(tǒng)的RS232串行通信的收、發(fā)引腳互聯(lián),兩者的電平是RS232電平;如果單片機(jī)系統(tǒng)采用單片機(jī)本身的串行通信引腳對(duì)外進(jìn)行數(shù)據(jù)的收發(fā)傳遞,此時(shí),KYL-1020L模塊要使用4#和3#引腳與單片機(jī)的串行通信的收發(fā)引腳互連,兩者的信號(hào)電平都是TTL電平。
STC單片機(jī)是宏晶科技公司開發(fā)的完全兼容MCS-51系列的單片機(jī),其芯片的內(nèi)核和指令系統(tǒng)完全兼容MCS-51單片機(jī),并在51單片機(jī)的基礎(chǔ)上增加了許多功能部件,如芯片本身集成了大容量程序存儲(chǔ)器、提高芯片的時(shí)鐘運(yùn)行頻率等,尤其是在程序下載方面更具特色,它完全拋棄了以往單片機(jī)程序下載需要編程器的概念,而是直接通過臺(tái)式計(jì)算機(jī)的RS232串口將編寫好的程序下載到單片機(jī)芯片中的程序存儲(chǔ)器中,目前還可以通過芯片轉(zhuǎn)換技術(shù)將單片機(jī)的普通串行通信口轉(zhuǎn)換為USB接口,由臺(tái)式計(jì)算機(jī)或筆記本電腦的USB接口將程序直接下載到單片機(jī)芯片中,特別方便現(xiàn)場(chǎng)對(duì)程序的修改和下載以及筆記本電腦沒有RS-232串口的使用情況。本文采用的是STC12C5A60S2單片機(jī),其主要的特點(diǎn)是:芯片本身集成有10位8路A/D轉(zhuǎn)換器,能滿足一般工程的需要;集成在芯片上的60 KB Flash程序存儲(chǔ)器,方便用戶的程序下載;芯片的工作電壓為3.5 V~5.5 V,電壓范圍比較寬,適應(yīng)在工業(yè)環(huán)境中用;芯片本身集成有上電復(fù)位電路,省去了片外上電復(fù)位電路,簡(jiǎn)化了印刷電路板的結(jié)構(gòu)等。
采用STC12C5A60S2單片機(jī)結(jié)合KYL-1020L模塊構(gòu)成的油田抽油機(jī)運(yùn)行電參數(shù)測(cè)量的無(wú)線數(shù)據(jù)傳輸系統(tǒng),系統(tǒng)接收部分的部分電路原理圖如圖1和圖2所示。圖1是STC單片機(jī)與KYL-1020L模塊連接原理示意圖,其中元件U11表示KYL-1020L模塊的連接器,根據(jù)表1所示引腳信號(hào),將U11的7、6、5號(hào)引腳分別與STC單片機(jī)的P3.1、P3.0、GND引腳相連,這樣STC單片機(jī)與KYL-1020L模塊之間串行通信數(shù)據(jù)的邏輯電平為TTL電平,當(dāng)KYL-1020L模塊接收到無(wú)線數(shù)據(jù)后,通過模塊內(nèi)部的調(diào)制解調(diào)電路將接收到的數(shù)據(jù)解調(diào)為TTL電平的數(shù)字信號(hào),再通過串行通信的形式傳給單片機(jī),單片機(jī)對(duì)數(shù)據(jù)進(jìn)行處理和保存。U5元件是串行的非易失的數(shù)據(jù)存儲(chǔ)器,用來(lái)保存數(shù)據(jù),系統(tǒng)掉電后,數(shù)據(jù)不丟失,該器件I2C是總線接口,單片機(jī)的P1.2、P1.3引腳分別與該器件的時(shí)鐘線(6腳)和數(shù)據(jù)線(5腳)相連,單片機(jī)用軟件來(lái)模擬I2C總線時(shí)序。U2元件是數(shù)據(jù)總線驅(qū)動(dòng)器,用來(lái)提高數(shù)據(jù)口(P0口)的驅(qū)動(dòng)能力。
圖2是無(wú)線數(shù)據(jù)收發(fā)系統(tǒng)接收部分的鍵盤顯示電路的原理圖。采用了7279芯片作為鍵盤顯示管理芯片,該芯片是串行接口芯片,與單片機(jī)之間的連接只需4根信號(hào)線:片選信號(hào)(/CS)、時(shí)鐘信號(hào)(CLK)、數(shù)據(jù)信號(hào)(DATA)、狀態(tài)信號(hào)(/KEY)。該芯片自動(dòng)完成對(duì)鍵盤和顯示器(數(shù)碼管顯示器)的掃描工作,無(wú)需單片機(jī)的過問。單片機(jī)只需將要顯示的數(shù)據(jù)通過串行方式傳給該芯片或是從該芯片讀出按鍵的鍵值即可,故讀鍵和顯示的程序設(shè)計(jì)能簡(jiǎn)化一些。由圖2可見,該芯片的片選信號(hào)、時(shí)鐘信號(hào)、數(shù)據(jù)信號(hào)和狀態(tài)信號(hào)分別與STC單片機(jī)的P4.3、P4.2、P4.0、P4.1引腳相連,與單片機(jī)的連接線非常簡(jiǎn)單。
無(wú)線數(shù)據(jù)收發(fā)系統(tǒng)發(fā)送部分的電路原理圖仍采用圖2所示原理圖,該部分應(yīng)該和油田抽油機(jī)運(yùn)行電參數(shù)測(cè)量部分連接在一起,形成一個(gè)裝置。油田抽油機(jī)運(yùn)行電參數(shù)測(cè)量的數(shù)據(jù)主要是電壓、電流、功率、功率因數(shù)和電能的測(cè)量。
圖1 STC單片機(jī)與KYL-1020L連接原理示意圖
圖2 接收系統(tǒng)的鍵盤與顯示電路原理圖
KYL-1020L模塊能將要發(fā)送的數(shù)據(jù)調(diào)制成適合無(wú)線發(fā)送的模擬信號(hào),由天線發(fā)送出去,無(wú)需STC單片機(jī)的過問,只需完成STC單片機(jī)與KYL-1020L模塊之間的數(shù)據(jù)傳遞問題即可。由于STC單片機(jī)與KYL-1020L模塊之間是串行通信,因此要完成串行通信的初始化工作。設(shè)定串行通信的波特率為9 600 b/s,用單片機(jī)的定時(shí)器1作為串行通信的波特率發(fā)生器,并將其設(shè)定在定時(shí)器的工作方式2,即T1工作在自動(dòng)重裝的8位定時(shí)方式,這時(shí)定時(shí)器T1的溢出率取決于TH1中的初值。而單片機(jī)的串行通信的方式采用方式1,數(shù)據(jù)發(fā)送是10位幀格式,串行通信采用異步半雙工通信方式,即通信雙方發(fā)送和接收信息是分時(shí)段交替進(jìn)行的,雙方不能同時(shí)進(jìn)行收發(fā)操作。通信的數(shù)據(jù)格式為每幀10位,其中0位起始位,8位數(shù)據(jù)位,1位停止位。一幀數(shù)據(jù)的格式如圖3所示。數(shù)據(jù)的發(fā)送是低位在先,高位在后。
圖3 發(fā)送一個(gè)字節(jié)的幀格式
串行通信方式1的波特率的計(jì)算公式為:
其中,SMOD是單片機(jī)芯片內(nèi)部的電源控制寄存器PCON中的D7位,可取值為0或?yàn)?;fosc是表示單片機(jī)外接的晶體振蕩器的頻率。
在實(shí)際應(yīng)用中,數(shù)據(jù)傳送的波特率最好選擇標(biāo)稱值,又由于TH1的初值是整數(shù),為了減小波特率計(jì)算誤差,單片機(jī)外接的晶振頻率盡量選用11.0 592 MHz,這樣串行通信方式1的波特率與TH1的初值的對(duì)應(yīng)關(guān)系基本上是一個(gè)確定值,如表2所示。
表2 串行通信方式1與TH1初值關(guān)系表
根據(jù)表2,如果串行通信的波特率選用9 600 b/s,則裝入單片機(jī)定時(shí)器1的TH1中的初值就是FDH,通過下面的程序完成初始化。
初始化程序:
以上是初始化程序,發(fā)送一個(gè)字節(jié)的程序如下:
KYL-1020L模塊能將接收到的無(wú)線數(shù)據(jù)信號(hào)解調(diào)為數(shù)字信號(hào),再通過串行通信的方式傳遞給STC單片機(jī)。因此這里同樣存在著串行通信的初始化設(shè)計(jì),其設(shè)計(jì)過程與3.1節(jié)介紹的初始化過程完全一樣。下面給出接收一個(gè)字節(jié)的程序樣單。
接收一個(gè)字節(jié)的程序如下:
采用STC12C5A60S2單片機(jī)結(jié)合KYL-1020L模塊構(gòu)成的油田抽油機(jī)運(yùn)行電參數(shù)測(cè)量的無(wú)線數(shù)據(jù)傳輸系統(tǒng),已在某油田的一個(gè)環(huán)境比較惡劣的小區(qū)塊試運(yùn)行,其效果還是比較理想。該系統(tǒng)減輕了上井人員的工作強(qiáng)度,提高了數(shù)據(jù)采集的效率。通過無(wú)線收發(fā)系統(tǒng)接收的數(shù)據(jù)與直接上井采集的數(shù)據(jù)相比較,收發(fā)數(shù)據(jù)的錯(cuò)碼率非常低,比較適合在油田推廣應(yīng)用。
[1]李全利.單片機(jī)原理及接口技術(shù)[M].北京:高等教育出版社,2009.
[2]張永瑞.電子測(cè)量技術(shù)基礎(chǔ)[M].西安:西安電子科技大學(xué)出版社,1994.
[3]趙新民.智能儀器設(shè)計(jì)基礎(chǔ)[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2007.
網(wǎng)絡(luò)安全與數(shù)據(jù)管理2013年11期