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