nRF9E5是一款工作頻率為433/868/915MHz的智能射頻芯片,,集成了8051微控器,、4通道10位A/D轉(zhuǎn)換以及多通道RF收發(fā),。
本文介紹采用該射頻芯片,、溫度傳感器LM71,、濕度傳感器HS1101實現(xiàn)溫度和濕度無線測量的電路設(shè)計方法和編程實現(xiàn),,該設(shè)計具有簡單可靠和靈活方便的特點。
nRF9E5 是一款工作頻率為433/868/915MHz的智能射頻芯片,,該芯片采用1.9V~3.6V單電源供電,,32腳QFN封裝(5×5mm),發(fā)射功率為 10dBm,,接收靈敏度-100dBm,,在低功耗時電流僅2.5μA,特別適合采用電池供電,,適用于無線鍵盤,、無線電話、無線耳機,、工業(yè)無線傳感器,、遙控器和無線報警器等。
無線傳感測量與有線傳感測量相比,,具有可靠性高,、安裝容易、結(jié)構(gòu)簡單,、可以重復(fù)使用和系統(tǒng)維護(hù)方便等優(yōu)點,。
本設(shè)計充分利用了各器件的低功耗特點,在無線溫濕度傳感器中使用3.6V鋰電池,,不僅能延長電池的使用壽命,,而且使無線數(shù)據(jù)傳輸更加方便靈活,。
圖1:nRF9E5芯片內(nèi)部結(jié)構(gòu)框圖。
nRF9E5功能介紹
圖 1 所示為nRF9E5的內(nèi)部結(jié)構(gòu)框圖,。nRF9E5是一片嵌入了nRF905無線收發(fā)芯片,、集成增強型8051微處理器和4個通道的10位ADC,采樣速率為80ksps,,內(nèi)含1.22V電壓基準(zhǔn),、電源管理、PWM輸出,、UART異步串口,、SPI通訊接口、邏輯接口電路,、看門夠電路,、多通道可編程喚醒,以及 CRC檢驗和多點通信控制,,高頻電感和濾波器等已經(jīng)全部內(nèi)置,,外圍元件很少,芯片的一致性能好,、穩(wěn)定且不易受干擾,。
nRF9E5沒有復(fù)雜的通訊協(xié)議,完全對用戶透明,,同種產(chǎn)品之間可以自由通訊,,內(nèi)置的CRC糾錯硬件電路和協(xié)議免去了軟件開發(fā)人員的軟件糾錯編程和微控器的糾錯運算,降低了無線應(yīng)用的開發(fā)難度,。
表1:環(huán)境溫度和LM71溫度傳感器的輸出對照表
2.2 濕度的測量
圖 1 下面的EEPROM 25320為nRF9E5的外部程序存儲器(圖2中為U2),,容量為4K字節(jié)(4096×8b),用于存儲在nRF9E5上運行的應(yīng)用程序,。當(dāng)上電時,, nRF9E5通過其內(nèi)部固化的引導(dǎo)程序(Boot loader),通過SPI接口將應(yīng)用程序?qū)氲狡瑑?nèi)RAM中運行,。
無線溫,、濕度傳感測量電路設(shè)計
利用射頻芯片nRF9E5、14位數(shù)字溫度傳感器LM71,、濕度傳感器HS1101構(gòu)成一款無線溫濕度傳感器,。
LM71 是國家半導(dǎo)體公司生產(chǎn)的低功耗、具有14位(含1符號位)的ΔΣADC溫度傳感器,,測溫范圍為-40℃~150℃,,溫度分辨率為0.03125℃,測溫精度在-40℃~150℃范圍內(nèi)為±1.5℃,,電源電壓為2.65V~5.5V,,具有三線串行接口SPI/MICROWIRE兼容接口,,容易和微處理器連接。
因此,,圖2中U3(LM71)的串行時鐘SC,、串行輸入輸出SI/O、片選CS分別和U1(nRF9E5)的P02,、P01和P00相連,,LM71,、nRF9E5和單端50Ω天線的RF電路如圖2所示,,該電路可以工作于818/915MHz。環(huán)境溫度和LM71溫度傳感器的輸出如表1所示,。
圖3:頻率輸出振蕩電路,。
HS1101濕度傳感器采用專利設(shè)計的固態(tài)聚合物結(jié)構(gòu),具有響應(yīng)時間快,、高可靠性和長期穩(wěn)定性特點,,不需要校準(zhǔn)的完全互換性。HS1101濕度傳感器在電路中等效于一個電容器Cx,,其電容隨所測空氣的濕度增大而增大,,在相對濕度為0%-100%RH的范圍內(nèi),電容的容量由160pF變化到200pF,,其誤差不大于±2%RH,,響應(yīng)時間小于5s,溫度系數(shù)為0.04pF/℃,。
表2:外部EEPROM程序存儲格式,。
如圖3所示,將該濕敏電容Cx置于555振蕩電路之中,,將電容的變化轉(zhuǎn)換為與之成反比的電壓頻率信號,,該頻率信號可以直接被微控器采集。振蕩電路的兩個暫穩(wěn)態(tài)輸出頻率變化的方波信號(圖3中U4的3腳輸出)的高電平時間為
輸出低電平時間為
因此輸出方波信號的周期為
即
EEPROM編程
nRF9E5 的主程序存放在外部的串行EEPROM中,,當(dāng)芯片開始上電時,,其內(nèi)部固化的廠家引導(dǎo)程序通過SPI接口,將外部EEPROM中的主程序?qū)雗RF9E5的 RAM中(4K字節(jié)空間,,沒有被主程序占用的可作為片內(nèi)RAM使用),,接著執(zhí)行跳轉(zhuǎn)指令,開始主程序的運行,。主程序需要按照表2所示的規(guī)則寫入 EEPROM中,,其中SPEED(bit3)為EEPROM的最大讀寫速度,0為1MHz,,1為0.5MHz,。XO_FREQ(bit2,1,0)為 nRF9E5的外接晶振的頻率,,000=4MHz,001=8MHz,,010=12MHz,,011=16MHz,100=20MHz,。
圖4:上位機的EEPROM讀寫原理框圖,。
nRF9E5內(nèi)置8051兼容微控器,加上其本身特有的諸多控制寄存器,,因此可以用MCS51系列仿真軟件進(jìn)行編程,,最后將程序?qū)懭隕EPROM中調(diào)試即可。
采用WAVE6000(偉福)仿真軟件編寫無線射頻通訊,、數(shù)據(jù)采集和數(shù)據(jù)轉(zhuǎn)換程序,,編譯形成后綴為HEX的數(shù)據(jù)文件“XXXXXXXX.HEX”,該數(shù)據(jù)文件為文本格式:每行的第1個字符固定為“:”,,表示一行的開始,;第2、3個字符為本行中的指令數(shù)據(jù)個數(shù)M(16進(jìn)制),,M最大為20H,,表示該行共M個雙字節(jié)數(shù)據(jù),2M個字符,,第4,、5、6,、7個字符為該行的地址,,第8、9個字符為“00”或“01”,,其余為依次排列的2M個指令數(shù)據(jù)字符,,最后2個為驗證字符位。HEX文件的結(jié)束為“:00000001FF",。
采用高級編程語言Delphi 6.0在Windows2000環(huán)境下打開該數(shù)據(jù)文件,,依次讀出每一行數(shù)據(jù),去掉每行的前9個字符和每一行的最后兩個字符,,其余的就是用戶的主程序文件,,將主程序文件前添加上表2中的程序頭,就構(gòu)成了nRF9E5的外部EEPROM的程序格式,。如圖4所示,,通過RS232通訊、AT89C2052寫入到 EEPROM芯片25320中即可,。