基于C8051F020的多路無(wú)線(xiàn)溫度采集系統的設計方案
1.引言
本文引用地址:http://dyxdggzs.com/article/201612/328520.htm隨著(zhù)科技的不斷進(jìn)步,在多數領(lǐng)域中有線(xiàn)連接的方式已經(jīng)不能滿(mǎn)足科技高速發(fā)展的要求,無(wú)線(xiàn)通信正進(jìn)入到我們生活中的各個(gè)領(lǐng)域,它與有線(xiàn)連接方式相比,具有攜帶方便、使用靈活、不必考慮走線(xiàn)等優(yōu)點(diǎn)。在無(wú)線(xiàn)報警、工業(yè)數據采集、遙控、遙測射頻IC卡、手持PDA、無(wú)線(xiàn)圖像傳輸、不停車(chē)收費、無(wú)線(xiàn)抄表等各個(gè)方面有著(zhù)極其廣泛的應用。本文所介紹的測溫系統也是無(wú)線(xiàn)通訊系統的應用之一。它以SOC單片機C8051F020為中央控制器,以CC1000為無(wú)線(xiàn)傳送模塊和溫度測量電路構成了多路無(wú)線(xiàn)溫度采集系統。
將8路的溫度數據進(jìn)行采集,通過(guò)無(wú)線(xiàn)方式送給主機C8051F020進(jìn)行處理。
調制解調由CC1000完成,系統采用頻移鍵控調制(FSK),載波頻率為433MHz,帶寬64kHz,數據采用差分曼徹斯特編碼發(fā)送,空中發(fā)送數據速率可以根據需要設置。在發(fā)送時(shí)控制器C8051F020單片機從用戶(hù)接口接收采集命令,進(jìn)行8路溫度信號的采集,并將采集到的溫度數據進(jìn)行打包轉換成數據幀傳送給CC1000,控制CC1000進(jìn)行數據發(fā)送。
在接收時(shí),控制器C8051F020接收從CC1000傳送過(guò)來(lái)的溫度數據,進(jìn)行簡(jiǎn)單處理后把這些數據傳送給上位機進(jìn)行詳細的分析處理。硬件框圖如圖1和圖2所示。


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

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

如圖4微控制器C8051F020使用P3.0、P3.1、P3.2與CC1000的PDATA(編程數據)、PCLK(編程時(shí)鐘)、PALE(編程允許)連接對CC1000進(jìn)行編程配置和校準,使其工作在433MHz,帶寬64kHz,數據采用差分曼徹斯特編碼發(fā)送。單片機C8051F020的P0.2、P0.3與CC1000的DIO和DCLK連接進(jìn)行數據的發(fā)送與接收,單片機將采集到的溫度數據進(jìn)行打包經(jīng)P0.2引腳送給CC1000的DIO引腳,DIO引腳輸入的數字信號被頻移鍵控(FSK)后送到功率放大器,再通過(guò)CC1000的天線(xiàn)發(fā)射出去;CC1000天線(xiàn)接收到的射頻信號經(jīng)低噪聲放大器(LNA)放大后送給混頻器,再由解調器(DEMCO)解調成數字信號由DIO腳輸出,單片機的P0.2引腳將DIO引腳的數字信號接收后傳送給上位機進(jìn)行分析處理。
2.3 測溫電路
測溫放大電路如圖5所示,測溫部分由8路K型熱電偶進(jìn)行,使溫度信號轉成電壓信號,熱電偶的變化范圍是40.7uV/C,由于熱電偶的變化范圍很小,因此要進(jìn)行放大,放大電路采用集成運放LM224構成同向比例運算電路進(jìn)行放大。將采集到的模擬量Vi經(jīng)放大器LM224放大Vo=(1+605/4.99)*Vi,8路放大后的模擬信號Vo接SOC單片機C8051F020的8路12位A/D的模擬輸入端AIN0.0~AIN0.7進(jìn)行模/數轉換,然后換算成溫度值儲存并等待無(wú)線(xiàn)發(fā)送。

3.系統軟件設計
本設計使用的軟件是Kei C51,使用的語(yǔ)言是C語(yǔ)言和匯編語(yǔ)言,為了得到精確延時(shí),所以延時(shí)子程序采用匯編語(yǔ)言編寫(xiě)。以下主要介紹一下無(wú)線(xiàn)通信部分。
3.1 通信協(xié)議的設計合理的通信協(xié)議是可靠的進(jìn)行無(wú)線(xiàn)數據傳輸的關(guān)鍵,對于點(diǎn)對多點(diǎn)的無(wú)線(xiàn)通信,本設計所采用的協(xié)議具有代表性。由于在發(fā)射端與接收端進(jìn)行無(wú)線(xiàn)通信時(shí),極易被外界噪聲干擾而產(chǎn)生錯誤數據或數據丟失,因此本設計將要發(fā)送的數據進(jìn)行打包再發(fā)送,數據的組織格式如圖6所示。

數據包格式OxAA OxAA 0xAA 0xAA 0x330xCC地址 數據…數據 檢驗和,其中4個(gè)0xAA是同步頭0×33 0xCC是特殊標識,由于噪聲中OxAA后面緊跟0×33 0xCC的機率極小所以發(fā)送4個(gè)OxAA后發(fā)送0×33 0xCC作為標識頭,每次只接收以4個(gè)OxAA 0×33 0xCC作為標識頭的數據,然后發(fā)送地址,每個(gè)從機都有唯一的地址,從機接收時(shí)只接收和自己地址相同的包,最后采用校驗和的方式來(lái)保證數據的可靠性。
3.2 主程序的設計流程
通信由上位機發(fā)起,當需要通信時(shí),上位機首先發(fā)送同步頭,然后發(fā)送地址其后等待下位機應答。而下位機使用中斷的方式與上位機進(jìn)行通信,即下位機每收到一個(gè)數據包檢側是否有同步頭信息,如果沒(méi)有同步頭信息,無(wú)線(xiàn)通信模塊轉入休眠狀態(tài);反之,下位機接收上位機信息:如果接收到的地址為本機地址,則對數據進(jìn)行分析處理,否則轉人休眠。這種通信方式雖然速度較慢,但是卻使得下位機的功耗大大降低,延長(cháng)了下位機電池的壽命。程序流程圖見(jiàn)圖7所示。

CC1000對硬件和軟件的要求都很高,要獲得良好無(wú)線(xiàn)通信效果需注意以下幾點(diǎn):
(1)電源濾波要好,單片機C8051F020和CC1000用兩路電源供電,電源芯片用LDO的TPS7133Q芯片以防串擾和確保輸出電壓的穩定性。
(2)PCB布局時(shí)將將射頻和低頻元件分開(kāi)布,與CC1000相關(guān)的電容和電感緊密地布在CC1000的周?chē)?,以增加CC1000的接地面積和通信可靠性。
(3)模式轉換的延時(shí)一定要足夠。
4.結束語(yǔ)
本方案采用C8051F020單片機和無(wú)線(xiàn)收發(fā)芯片CC1000實(shí)現了8路溫度數據的采集與無(wú)線(xiàn)傳輸,從實(shí)驗結果可看出該系統很好的滿(mǎn)足了無(wú)線(xiàn)測溫系統的要求,并有效的降低了系統的功耗和體積。
評論