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


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

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

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

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

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

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