新聞中心

EEPW首頁 > 電源與新能源 > 設(shè)計應(yīng)用 > 基于C8051F020的多路無線溫度采集系統(tǒng)的設(shè)計方案

基于C8051F020的多路無線溫度采集系統(tǒng)的設(shè)計方案

作者: 時間:2016-12-09 來源:網(wǎng)絡(luò) 收藏

1.引言

本文引用地址:http://m.butianyuan.cn/article/201612/328520.htm

隨著科技的不斷進步,在多數(shù)領(lǐng)域中有線連接的方式已經(jīng)不能滿足科技高速發(fā)展的要求,無線通信正進入到我們生活中的各個領(lǐng)域,它與有線連接方式相比,具有攜帶方便、使用靈活、不必考慮走線等優(yōu)點。在無線報警、工業(yè)數(shù)據(jù)采集、遙控、遙測射頻IC卡、手持PDA、無線圖像傳輸、不停車收費、無線抄表等各個方面有著極其廣泛的應(yīng)用。本文所介紹的測溫系統(tǒng)也是無線通訊系統(tǒng)的應(yīng)用之一。它以SOC單片機C8051F020為中央控制器,以CC1000為無線傳送模塊和溫度測量電路構(gòu)成了多路無線溫度采集系統(tǒng)。

將8路的溫度數(shù)據(jù)進行采集,通過無線方式送給主機C8051F020進行處理。

調(diào)制解調(diào)由CC1000完成,系統(tǒng)采用頻移鍵控調(diào)制(FSK),載波頻率為433MHz,帶寬64kHz,數(shù)據(jù)采用差分曼徹斯特編碼發(fā)送,空中發(fā)送數(shù)據(jù)速率可以根據(jù)需要設(shè)置。在發(fā)送時控制器C8051F020單片機從用戶接口接收采集命令,進行8路溫度信號的采集,并將采集到的溫度數(shù)據(jù)進行打包轉(zhuǎn)換成數(shù)據(jù)幀傳送給CC1000,控制CC1000進行數(shù)據(jù)發(fā)送。

在接收時,控制器C8051F020接收從CC1000傳送過來的溫度數(shù)據(jù),進行簡單處理后把這些數(shù)據(jù)傳送給上位機進行詳細的分析處理。硬件框圖如圖1和圖2所示。

2.系統(tǒng)硬件設(shè)計

2.1 無線收發(fā)模塊

本設(shè)計的無線收發(fā)模塊采用了ChipconComponent公司的高性能RF收發(fā)芯片CC1000,它是一種單片高頻無線收發(fā)IC,電流損耗低,通信速率可調(diào),最高可達72.8kbit/s,接收靈敏度為-109dB.m,發(fā)射信號功率在-20~10dB.m內(nèi)可調(diào),設(shè)計時電路簡單,所用的外圍器件較少,編碼簡單,改變電路和器件參數(shù)可以使其工作的頻率范圍在300~1000MHz內(nèi)變化。同時該器件內(nèi)部集成了發(fā)射功率放大器、FSK調(diào)制/解調(diào)、低噪聲接收放大器、混頻器、壓控振蕩器、鑒相器等電路,是一款集成度極高的芯片,可直接與單片機進行通信。該IC極適合嵌入到各種低功耗要求較高的測量或控制系統(tǒng)中,我們在該系統(tǒng)中選則433MHz的頻段,CC1000內(nèi)部結(jié)構(gòu)圖如圖3所示。

2.2 主控芯片C8051F020及控制電路

C8051Fxxx是Cygnal公司推出的一系列8位高速片上系統(tǒng)(SOC)單片機,C8051F020是其中的一款,它的CIP-51與MCS-51指令集完全兼容,具有以下優(yōu)點:(1)速度高,最大處理速度可達25MIPS;完全滿足本設(shè)計中的實時性要求。(2)集成度高,片內(nèi)集成了極其豐富的模擬及數(shù)字外設(shè):兩個多通道模/數(shù)轉(zhuǎn)換系統(tǒng),包括一個8位ADC和一個12位ADC,以及兩個可編程增益放大器和兩個模擬多路選擇器;兩個12位數(shù)/模轉(zhuǎn)換系統(tǒng);兩個模擬比較器:一個片內(nèi)溫度傳感器;豐富的總線接口包括SMBus總線接口、通用異步串行總線接口UART、SPI總線接口;5個16位通用定時器;8個8位I/O端口;一個64K的FLASH和一個256B的內(nèi)部RAM一個4096B外部RAM(XRAM);以及看門狗電路等;這些片內(nèi)資源大大減化了本設(shè)計的硬件電路設(shè)計,極大的縮短了開發(fā)周期。(3)交叉開關(guān)使I/O端口分配更加靈活。

基于C8051F020的片內(nèi)資源,可以完全滿足對多點的溫度數(shù)據(jù)進行實時采集及處理。C8051F020對CC1000的控制電路如圖4所示。

如圖4微控制器C8051F020使用P3.0、P3.1、P3.2與CC1000的PDATA(編程數(shù)據(jù))、PCLK(編程時鐘)、PALE(編程允許)連接對CC1000進行編程配置和校準,使其工作在433MHz,帶寬64kHz,數(shù)據(jù)采用差分曼徹斯特編碼發(fā)送。單片機C8051F020的P0.2、P0.3與CC1000的DIO和DCLK連接進行數(shù)據(jù)的發(fā)送與接收,單片機將采集到的溫度數(shù)據(jù)進行打包經(jīng)P0.2引腳送給CC1000的DIO引腳,DIO引腳輸入的數(shù)字信號被頻移鍵控(FSK)后送到功率放大器,再通過CC1000的天線發(fā)射出去;CC1000天線接收到的射頻信號經(jīng)低噪聲放大器(LNA)放大后送給混頻器,再由解調(diào)器(DEMCO)解調(diào)成數(shù)字信號由DIO腳輸出,單片機的P0.2引腳將DIO引腳的數(shù)字信號接收后傳送給上位機進行分析處理。

2.3 測溫電路

測溫放大電路如圖5所示,測溫部分由8路K型熱電偶進行,使溫度信號轉(zhuǎn)成電壓信號,熱電偶的變化范圍是40.7uV/C,由于熱電偶的變化范圍很小,因此要進行放大,放大電路采用集成運放LM224構(gòu)成同向比例運算電路進行放大。將采集到的模擬量Vi經(jīng)放大器LM224放大Vo=(1+605/4.99)*Vi,8路放大后的模擬信號Vo接SOC單片機C8051F020的8路12位A/D的模擬輸入端AIN0.0~AIN0.7進行模/數(shù)轉(zhuǎn)換,然后換算成溫度值儲存并等待無線發(fā)送。


3.系統(tǒng)軟件設(shè)計

本設(shè)計使用的軟件是Kei C51,使用的語言是C語言和匯編語言,為了得到精確延時,所以延時子程序采用匯編語言編寫。以下主要介紹一下無線通信部分。

3.1 通信協(xié)議的設(shè)計合理的通信協(xié)議是可靠的進行無線數(shù)據(jù)傳輸?shù)年P(guān)鍵,對于點對多點的無線通信,本設(shè)計所采用的協(xié)議具有代表性。由于在發(fā)射端與接收端進行無線通信時,極易被外界噪聲干擾而產(chǎn)生錯誤數(shù)據(jù)或數(shù)據(jù)丟失,因此本設(shè)計將要發(fā)送的數(shù)據(jù)進行打包再發(fā)送,數(shù)據(jù)的組織格式如圖6所示。

數(shù)據(jù)包格式OxAA OxAA 0xAA 0xAA 0x330xCC地址 數(shù)據(jù)…數(shù)據(jù) 檢驗和,其中4個0xAA是同步頭0×33 0xCC是特殊標識,由于噪聲中OxAA后面緊跟0×33 0xCC的機率極小所以發(fā)送4個OxAA后發(fā)送0×33 0xCC作為標識頭,每次只接收以4個OxAA 0×33 0xCC作為標識頭的數(shù)據(jù),然后發(fā)送地址,每個從機都有唯一的地址,從機接收時只接收和自己地址相同的包,最后采用校驗和的方式來保證數(shù)據(jù)的可靠性。

3.2 主程序的設(shè)計流程

通信由上位機發(fā)起,當需要通信時,上位機首先發(fā)送同步頭,然后發(fā)送地址其后等待下位機應(yīng)答。而下位機使用中斷的方式與上位機進行通信,即下位機每收到一個數(shù)據(jù)包檢側(cè)是否有同步頭信息,如果沒有同步頭信息,無線通信模塊轉(zhuǎn)入休眠狀態(tài);反之,下位機接收上位機信息:如果接收到的地址為本機地址,則對數(shù)據(jù)進行分析處理,否則轉(zhuǎn)人休眠。這種通信方式雖然速度較慢,但是卻使得下位機的功耗大大降低,延長了下位機電池的壽命。程序流程圖見圖7所示。

CC1000對硬件和軟件的要求都很高,要獲得良好無線通信效果需注意以下幾點:

(1)電源濾波要好,單片機C8051F020和CC1000用兩路電源供電,電源芯片用LDO的TPS7133Q芯片以防串擾和確保輸出電壓的穩(wěn)定性。

(2)PCB布局時將將射頻和低頻元件分開布,與CC1000相關(guān)的電容和電感緊密地布在CC1000的周圍,以增加CC1000的接地面積和通信可靠性。

(3)模式轉(zhuǎn)換的延時一定要足夠。

4.結(jié)束語

本方案采用C8051F020單片機和無線收發(fā)芯片CC1000實現(xiàn)了8路溫度數(shù)據(jù)的采集與無線傳輸,從實驗結(jié)果可看出該系統(tǒng)很好的滿足了無線測溫系統(tǒng)的要求,并有效的降低了系統(tǒng)的功耗和體積。



關(guān)鍵詞: C8051F單片

評論


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

關(guān)閉