您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>電子百科>通信技術(shù)>數(shù)據(jù)通信>

基于C8051F02X的無線數(shù)據(jù)傳輸系統(tǒng) - 全文

2011年05月28日 09:53 未知 作者:葉子 用戶評(píng)論(0

?

  本文介紹的一種基于C8051F02X的無線數(shù)據(jù)傳輸系統(tǒng)應(yīng)用了計(jì)算機(jī)技術(shù)和GSM網(wǎng)絡(luò)通信技術(shù),是一種新型無線通信系統(tǒng)。該系統(tǒng)依托GSM網(wǎng)絡(luò),采用短消息進(jìn)行數(shù)據(jù)通信,即在傳統(tǒng)的單片機(jī)數(shù)據(jù)采集系統(tǒng)中增加支持短消息、數(shù)據(jù)通信等業(yè)務(wù)的GPRS模塊,并為其分配一個(gè)獨(dú)立的SIM卡,結(jié)合單片機(jī)系統(tǒng)通過串行通信接口,實(shí)現(xiàn)了數(shù)據(jù)的遠(yuǎn)程無線傳輸。

  這里介紹的數(shù)據(jù)傳輸系統(tǒng)是監(jiān)控系統(tǒng)中重要的一個(gè)環(huán)節(jié),是一個(gè)既有監(jiān)控功能,又有強(qiáng)大管理功能的完善系統(tǒng),由主控端系統(tǒng)、GSM通信網(wǎng)絡(luò)及遠(yuǎn)程監(jiān)控終端系統(tǒng)組成。監(jiān)控終端通過GSM網(wǎng)絡(luò)和主控端監(jiān)控中心進(jìn)行雙向的信息傳輸。它將采集到的數(shù)據(jù)信息送到監(jiān)控中心,同時(shí)接收監(jiān)控中心的操作命令,對(duì)受控設(shè)備實(shí)施相應(yīng)的操作。整個(gè)系統(tǒng)實(shí)現(xiàn)了以下的主要功能:

  數(shù)據(jù)采集 通過串口接收數(shù)據(jù)采集器采集的現(xiàn)場數(shù)據(jù)。

  定時(shí)發(fā)送數(shù)據(jù) 系統(tǒng)定時(shí)(0:OO,8:00,16:00)將實(shí)時(shí)數(shù)據(jù)以短信息的方式通過GSM網(wǎng)絡(luò)發(fā)送給主控端。如果在規(guī)定的時(shí)間內(nèi)主控端沒有收到短信息,主控端將會(huì)向系統(tǒng)返回信息,系統(tǒng)收到信息后重發(fā)數(shù)據(jù)。

  數(shù)據(jù)遠(yuǎn)程查詢 操作人員可隨時(shí)在值班室操作主控端軟件,發(fā)送命令查詢遠(yuǎn)端數(shù)據(jù)采集器采集的當(dāng)前數(shù)據(jù),系統(tǒng)接收到該命令后即將采集到的當(dāng)前數(shù)據(jù)發(fā)送給主控端。

  遠(yuǎn)程控制 操作人員可操作主控端軟件向系統(tǒng)發(fā)送用于監(jiān)控被控對(duì)象的參數(shù)值,系統(tǒng)接收到這些參數(shù)值后通過串口傳輸給數(shù)據(jù)采集器,從而實(shí)現(xiàn)遠(yuǎn)程控制。

  數(shù)據(jù)記錄 主控端軟件將接收到的數(shù)據(jù)儲(chǔ)存在數(shù)據(jù)庫中,以備日后檢索查看。

  2 系統(tǒng)的硬件結(jié)構(gòu)

  圖1為采用的無線數(shù)據(jù)傳輸系統(tǒng)的硬件連接圖。

  

采用的無線數(shù)據(jù)傳輸系統(tǒng)的硬件連接圖

?

  由圖1可以看到,系統(tǒng)由控制模塊和數(shù)據(jù)收發(fā)模塊兩部分組成。

  控制模塊主要由C8051F021單片機(jī)和DSl2887時(shí)鐘芯片組成,主要是控制數(shù)據(jù)收發(fā)模塊發(fā)送數(shù)據(jù)的時(shí)間,同時(shí)也可以通過串口與上位機(jī)相連,通過上位機(jī)控制數(shù)據(jù)采集器的相關(guān)參數(shù)。

  數(shù)據(jù)收發(fā)模塊主要由C8051F020單片機(jī),數(shù)據(jù)采集器以及GPRS模塊三部分組成。數(shù)據(jù)采集器將采集到的數(shù)據(jù)通過串口0發(fā)送給單片機(jī),單片機(jī)對(duì)接收的數(shù)據(jù)進(jìn)行處理后,通過串口1發(fā)送相應(yīng)的AT指令給GPRS模塊,然后GPRS模塊將數(shù)據(jù)以短信息的形式通過GSM網(wǎng)絡(luò)發(fā)送到接收端。

  控制模塊和數(shù)據(jù)收發(fā)模塊之間通過SPIO進(jìn)行通信,其中C8051F021為主機(jī),C8051F020為從機(jī)。總控模塊主要向數(shù)據(jù)收發(fā)模塊發(fā)送兩類控制信息:

  (1)當(dāng)?shù)搅瞬杉瘮?shù)據(jù)的時(shí)刻,向數(shù)據(jù)收發(fā)模塊發(fā)送一個(gè)字符‘S’,數(shù)據(jù)收發(fā)模塊收到該信息以后就將該時(shí)刻接收的數(shù)據(jù)通過GPRS模塊發(fā)送給遠(yuǎn)程終端;

  (2)需要對(duì)數(shù)據(jù)采集器的相關(guān)參數(shù)進(jìn)行修改時(shí),將修改好的參數(shù)以一定的格式發(fā)送給數(shù)據(jù)收發(fā)模塊,數(shù)據(jù)收發(fā)模塊判斷之后通過串口O將該信息發(fā)送給數(shù)據(jù)采集器。

  2.1 C8051F02X單片機(jī)

  美國Cygnal公司的系統(tǒng)型MCU芯片C8051F020是完全集成的混合信號(hào)片上系統(tǒng)型MCU芯片,是真正能獨(dú)立工作的片上系統(tǒng)(SoC)。與普通單片機(jī)相比較,它具有高速、功能強(qiáng),外設(shè)及功能部件齊全,擴(kuò)展芯片少,升級(jí)維護(hù)容易等優(yōu)點(diǎn),而其具有的片內(nèi)調(diào)試功能,設(shè)計(jì)人員可通過JTAG接口進(jìn)行非侵入式、全速的在系統(tǒng)調(diào)試,是復(fù)雜系統(tǒng)高效、高可靠性的數(shù)字信號(hào)處理芯片。

  本系統(tǒng)設(shè)計(jì)選用此款單片機(jī)作為MCU的最主要原因,一方面是由于CIP-51與MCS-51指令完全兼容,可使用標(biāo)準(zhǔn)的8051的匯編器、編譯器及軟件包進(jìn)行軟件開發(fā),同時(shí)也方便使用人員進(jìn)行軟件移植;另一方面可充分利用其豐富的通用數(shù)字端口資源,而不用地址/數(shù)據(jù)線復(fù)用,其外圍電路的設(shè)計(jì)也可以大大簡化。C8051F02X豐富的端口資源及其分配的靈活性通過使用優(yōu)先權(quán)交叉開關(guān)譯碼器實(shí)現(xiàn),而且所有引腳都采用5 V電壓,且都可以配置為漏極開路或推挽輸出方式和弱上拉。

  2.2 DSl2887時(shí)鐘芯片

  DSl2887是DALLAS公司推出的一款時(shí)鐘芯片。該芯片內(nèi)置晶振及電池,無需擔(dān)心掉電停走問題,另外還提供了114 B通用非易失RAM,同時(shí)可完成閏年補(bǔ)償和夏令時(shí)自動(dòng)調(diào)整功能,支持Motorola和IN2TEL兩種總線時(shí)序。這些優(yōu)點(diǎn)使得該芯片被廣泛應(yīng)用在工業(yè)控制領(lǐng)域中。時(shí)鐘芯片與單片機(jī)之間的電路連接如圖2所示。

  

時(shí)鐘芯片與單片機(jī)之間的電路連接

?

  2.3 MC35i模塊

  MC35i是西門子公司的第一款GPRS模塊,它不僅支持GPRS技術(shù),還具有TC35i的全部功能:可以在GSM網(wǎng)上進(jìn)行數(shù)據(jù)、語音、短消息以及傳真的服務(wù);采用標(biāo)準(zhǔn)的工業(yè)接口,易于集成。MC35i支持GSM900和GSMl800雙頻網(wǎng)絡(luò),內(nèi)置SlM卡閱讀器以及支持即插即用的特性,可以把它作為通用的雙頻帶模塊,用來簡單、快速地傳送數(shù)據(jù)。

  MC35i有40個(gè)引腳,通過一個(gè)零阻力插座(Zero Insertion Force,ZIF)連接器引出。這40個(gè)引腳可以劃分為五類,即電源、數(shù)據(jù)輸入/輸出、SIM卡、音頻接口和控制。其中第18,19引腳分別作為輸入/輸出引腳與C8051F020的串口1相連;C8051F020通過向MC35i的第18引腳發(fā)送AT命令控制數(shù)據(jù)傳輸,同時(shí)根據(jù)第19引腳的返回?cái)?shù)據(jù)來判斷是否有新短信并讀取短信內(nèi)容。第15引腳為點(diǎn)火線IGT(Ignition),是控制引腳,與C8051F020的P1.5引腳相連;當(dāng)MC35i通電后必須給IGT一個(gè)大于100 ms的低電平,模塊才啟動(dòng)。

  3 系統(tǒng)的軟件設(shè)計(jì)

  本設(shè)計(jì)分為主機(jī)和從機(jī)兩個(gè)部分,主機(jī)部分主要是實(shí)現(xiàn)對(duì)數(shù)據(jù)發(fā)送時(shí)間以及數(shù)據(jù)采集器參數(shù)的控制,從機(jī)部分主要是實(shí)現(xiàn)數(shù)據(jù)的接收和發(fā)送。

  3.1 通信協(xié)議的設(shè)置

  主機(jī)與從機(jī)之間要實(shí)現(xiàn)相互通信,首先必須規(guī)定用以傳輸數(shù)據(jù)的協(xié)議。一般來說,主機(jī)發(fā)送命令和配置信息給從機(jī),而從機(jī)則向主機(jī)發(fā)送反饋信息。

  本系統(tǒng)主要實(shí)現(xiàn)的是主機(jī)對(duì)從機(jī)數(shù)據(jù)發(fā)送時(shí)間的控制,當(dāng)主機(jī)響應(yīng)時(shí)鐘芯片DSl2887的中斷請(qǐng)求進(jìn)入INTO中斷服務(wù)程序時(shí),主機(jī)向從機(jī)發(fā)送一個(gè)字符‘s’,從機(jī)接收到該指令后就開始發(fā)送數(shù)據(jù)。同時(shí)數(shù)據(jù)收發(fā)模塊與接收終端之間同樣需要通信協(xié)議以保證傳輸?shù)目煽啃浴.?dāng)接收終端在一定的時(shí)間內(nèi)(比如5 min)沒有收到數(shù)據(jù)時(shí),向數(shù)據(jù)收發(fā)模塊發(fā)送一條內(nèi)容為‘N’的短信息,示意重發(fā)數(shù)據(jù)。數(shù)據(jù)收發(fā)模塊收到短信息后,提取短信息內(nèi)容并判斷是否為‘N’,是則重發(fā)數(shù)據(jù)。從機(jī)與數(shù)據(jù)采集器之間的通信也規(guī)定了相應(yīng)的協(xié)議,每一組數(shù)據(jù)前都有相應(yīng)的起始位和長度位,從機(jī)通過判斷每一組數(shù)據(jù)的起始位和長度位以保證數(shù)據(jù)接收的正確性。

  3.2 主機(jī)部分的軟件設(shè)計(jì)

  在主機(jī)部分,關(guān)鍵點(diǎn)在于如何對(duì)時(shí)鐘芯片進(jìn)行初始化。初始化過程中,關(guān)閉周期性中斷和時(shí)鐘更新結(jié)束中斷,而將時(shí)間性中斷設(shè)為每整點(diǎn)一次,每次產(chǎn)生中斷后,讀取小時(shí)值,判斷是否能被8整除,如能整除,說明該時(shí)刻為O:00,8:00或16:00,則向從機(jī)發(fā)送控制信息‘S’,通知數(shù)據(jù)收發(fā)模塊發(fā)送數(shù)據(jù)。主機(jī)的INTO中斷服務(wù)程序流程圖如圖3所示。

  

主機(jī)的INTO中斷服務(wù)程序流程圖

?

  3.3 從機(jī)部分的軟件設(shè)計(jì)

  在從機(jī)部分,通過串口0接收數(shù)據(jù)采集器的數(shù)據(jù)并不斷刷新,當(dāng)從機(jī)接收到主機(jī)發(fā)送的指令‘S’時(shí),通過串口1發(fā)送相應(yīng)的AT指令給GPRS模塊,將當(dāng)前數(shù)據(jù)以短信息的形式發(fā)送到遠(yuǎn)程終端。由于GPRS只能發(fā)送字符數(shù)據(jù),如果發(fā)送的數(shù)據(jù)大于127將發(fā)送失敗,所以將每個(gè)數(shù)據(jù)都轉(zhuǎn)換為相應(yīng)的字符發(fā)送,比如十六進(jìn)制數(shù)9F,就轉(zhuǎn)換為字符9和F再發(fā)送,終端接收到以后如需要可再轉(zhuǎn)換為十六進(jìn)制數(shù)9F。

  從機(jī)要實(shí)現(xiàn)的另一項(xiàng)功能是數(shù)據(jù)重發(fā),該功能是在串口1中斷服務(wù)程序中實(shí)現(xiàn)的。因此從機(jī)程序中有串口0、串口1、SPIO三個(gè)中斷服務(wù)程序,其中串口O中斷的優(yōu)先級(jí)別最高,其次是SPIO中斷,串口1中斷優(yōu)先級(jí)別最低。而串口0中斷幾乎是在不停地發(fā)生著,因此必須將串口1中斷和SPIO中斷的中斷優(yōu)先級(jí)設(shè)置位置1(默認(rèn)為0),使CPU優(yōu)先響應(yīng)串口1中斷和SPIO中斷,否則串口1中斷和SPIO中斷的中斷請(qǐng)求幾乎得不到響應(yīng)。

  串口0中斷服務(wù)程序流程圖如圖4所示。

  

串口0中斷服務(wù)程序流程圖

?

  4 結(jié) 語

  本系統(tǒng)采用工業(yè)級(jí)芯片C8051F02X系列單片機(jī)結(jié)合GSM網(wǎng)絡(luò)實(shí)現(xiàn)數(shù)據(jù)的無線傳輸,系統(tǒng)穩(wěn)定、可靠性高,在很多應(yīng)用領(lǐng)域,比如水文監(jiān)測、地質(zhì)勘探等,都可以使用本系統(tǒng)通過無線傳輸手段完成遠(yuǎn)程數(shù)據(jù)采集和對(duì)采集數(shù)據(jù)的實(shí)時(shí)傳輸。

上一頁123全文

非常好我支持^.^

(0) 0%

不好我反對(duì)

(0) 0%

( 發(fā)表人:葉子 )

      發(fā)表評(píng)論

      用戶評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?