劉文平,閆 述,臧建國
(江蘇大學 計算機科學與通信工程學院,江蘇 鎮(zhèn)江 212013)
根據實際需要對節(jié)點功能進行擴展,是無線傳感器網絡應用開發(fā)中經常遇到的問題。在常見的幾種節(jié)點cc2430[1](美國 Chipcon 公司)、IRIS[2](Crossbow 公 司)和 JN5139[3](Jennic公司)中,JN5139系列因提供了較多的外圍接口,能夠同時采集多種數據;采用串口直接進行程序燒錄和功能調試,容易通過串口與GPRS直接相連,便于用戶根據需要自行開發(fā),如在新疆煤田火區(qū)無線傳感器網絡監(jiān)測中的應用。文中在文獻[4-5]的基礎上,闡述了節(jié)點工作時序與功能擴展電路設計中應注意的問題,利用節(jié)點管腳檢測蓄電池電壓時分壓電路設計中應掌握的原則,通過紐扣電池為節(jié)點時鐘芯片供電的必要性,匯聚節(jié)點GPRS開關電路設計要點,以及匯聚節(jié)點看門狗控制電路的作用等。
火區(qū)煤層的溫度可高達800℃,JN5139節(jié)點標配的SHT1X系列溫濕度傳感器測溫范圍有限 (-40~123.8℃),需用高溫傳感器置換。為此采用了測量范圍較廣的K型熱電偶(-50~1 300℃)作為高溫傳感探頭、用 MAX6675(轉換分辨率 0.25℃,轉換范圍 0~1 024℃)作為放大與數字轉換器[6],遵循SPI總線協議,為JN5139節(jié)點配備了高溫傳感器。圖1(a)、(b)分別為高溫傳感器與JN5139節(jié)點的接口電路和供電電路, 其中6、5、7和1、22、23是傳感器和節(jié)點間的 SPI總線接口引腳。傳感器采用SPI總線協議進行數據傳輸,因此傳輸過程中要求節(jié)點嚴格遵循SPI協議時序邏輯進行工作。JN5139節(jié)點23引腳(MISO)內部與Flash存儲器直接相連。節(jié)點在上電復位期間,對Flash存儲器進行讀取,應保證MISO引腳保持高電平。在高溫采集電路中MISO引腳需滿足復位期間保持高電平的要求,使得程序能夠正確讀取Flash存儲器中的內容進行初始化操作。節(jié)點與MAX6675芯片上電順序將影響SPI總線邏輯動作的正確性,因此,應經JN5139的39引腳連接到MAX6675的4引腳供電,如圖1(a)所示。不應從HT7333的Vout直接到4引腳。
需要注意的是,SPI作為JN5139與外圍設備通信的同步串行數據傳輸接口,要盡量短,以減小線路過長引起的分布電容、漏電感,否則將引入干擾,導致SPI時序邏輯混亂,一方面影響復位期間軟件BootLoader對ROM中程序的讀取,另一方面使高溫傳感器采集數據不能正常傳輸。在印制電路板制作過程中,應將電路板上的模擬電路、數字電路、高頻電路分開,盡量降低數字電路產生的噪聲對模擬電路正常工作的影響;高頻電路部分走線盡量短,減小高頻電磁干擾,旁路電容、去耦電容盡量接近相應元器件;加粗地線,印制電路板上的模擬地和數字地分開,避免模擬電路地線形成環(huán)路。盡量保留電路板敷銅面積用來散熱、連接地線和屏蔽干擾。
在JN5139節(jié)點開發(fā)中發(fā)現,當節(jié)點供電設備失效時,節(jié)點內部時鐘芯片因無電源供應不能正常工作,導致計時不準,供電恢復后節(jié)點不能恢復正常工作。為此在擴展電路板上通過3 V紐扣電池為JN5139節(jié)點的PCF8563時鐘芯片提供恒定電壓,保證時鐘芯片在節(jié)點供電失效時仍能持續(xù)正常工作,電路如圖2所示。
圖1 高溫傳感器與JN5139節(jié)點的接口電路和供電電路Fig.1 The interface and power supply circuit between high temperature sensor the JN5139 node
圖2 時鐘芯片供電、蓄電池電壓監(jiān)測電路Fig.2 Clock chip power supply and battery voltagemonitoring circuit
為使監(jiān)測中心及時了解節(jié)點能量消耗狀況,可通過JN5139節(jié)點的模擬量輸入ADC1引腳對蓄電池電壓進行檢測。該引腳輸入電壓范圍為0~2.4 V,額定電流為655μA。電阻R1和R2對蓄電池電壓進行分壓和限流。當用于對匯聚節(jié)點12 V蓄電池進行電壓監(jiān)測時,為確定R1和R2自身阻值及分壓比例,從降低節(jié)點功耗、提高測量準確性、保證節(jié)點穩(wěn)定可靠工作三方面考慮,分別對ADC1引腳輸入電流、輸入電壓進行實測,如圖3所示。監(jiān)測中心通過對蓄電池電壓進行監(jiān)測粗略了解節(jié)點能量消耗情況,在節(jié)電正常工作時,允許存在1%的測量誤差。為降低節(jié)點功耗,取輸入電流為10μA,輸入電壓為0.73 V。此時R1=1 MΩ、R2=62 kΩ。并聯在R2上的2 V穩(wěn)壓管D1是防止具有感抗的電阻R2在使用中產生自激震蕩,損壞回路中的其他器件,同時降低可能有的加電及噪聲引起的電壓波動對電路穩(wěn)定性的影響。
圖3 ADC電流-測量誤差、電壓-測量誤差曲線圖Fig.3 The curve of ADC input current/measurement error and ADC input voltage/measurement error
新疆煤田火區(qū)無線傳感器監(jiān)測網絡的數據回傳,采用的是匯聚節(jié)點上GPRS的遠程通信方式。為控制遠程通信的開通與關斷,可通過在GPRS和蓄電池電源間加入開關電路來實現,如圖4所示。圖中VT1是控制GPRS電源開關的P溝道耗盡型MOSFET管,R1與R3分壓后為 VT1的 G、S端提供合適的開啟電壓(1.8 V),光電耦合器 U1(TIL117M)的 1 引腳通過限流電阻R4與JN5139的DIO8引腳相連。R2為上拉電阻,為三極管VT2提供驅動電流。VT2基極連接U1的5腳,控制器通過光電耦合器控制三極管VT2的通斷[7]。匯聚節(jié)點需要回傳數據時調用函數 vAHI_DioSetDirection(0,E_AHI_DIO8_INT)將DIO8引腳設置為輸出狀態(tài),調用函數vAHI_DioSetOutput(E_AHI_DIO8_INT,0) 將 DIO8引腳設置為高電平,NPN 型三極管 VT2導通,VT1的 G、S端電壓 UGS<0,取電阻 R1=3.9 kΩ,R3=1 kΩ, 使得 UGS達到 VT1的開啟電壓,VT1導通,蓄電池電壓加在GPRS兩端,GPRS正常工作。數據回傳完成后,節(jié)點調用函數 vAHI_DioSetOutput(0,E_AHI_DIO8_INT)將DIO8引腳設置為低電平。NPN型三極管VT2截止,VT1的G、S引腳電壓 UGS達不到VT1的開啟電壓,VT1斷開,蓄電池停止對GPRS進行供電,GPRS停止工作。
圖4 GPRS開關電路Fig.4 Circuit of GPRSswitches
遠程監(jiān)測系統應該保證發(fā)生故障時,能夠在沒有人為干預的條件下自動恢復。改善系統可靠性的一種簡單、有效的措施是采用看門狗電路??撮T狗(watch dog timer)是一種定時器,圖5是選用MAX706芯片[8]設計的看門狗控制電路。其中的輸入引腳6用來 “喂狗”,獨立的輸出引腳8用來連接JN5139的RESETN復位端。匯聚節(jié)點的微處理器JN5139正常工作時每隔固定時間給看門狗的“喂狗”引腳輸出一個有效電平信號,當系統受到外界干擾程序陷入死循環(huán)或工作異常時,不能按時進行“喂狗”,看門狗芯片在規(guī)定時間內,例如在1.6 s內沒有被觸發(fā)時,輸出引腳會自動輸出一個低電平信號,使JN5139節(jié)點復位。
MAX706芯片自帶用于電源失效報警、低電壓檢測功能的1.25 V門檻電壓探測器。通過MAX706的1.25 V門檻電壓探測器對看門狗電路功能進行擴展,當節(jié)點供電設備不能正常工作時,可使節(jié)點處于復位狀態(tài)。具體做法是,將節(jié)點工作電壓經過兩等值電阻分壓后連至MAX706的PFI引腳,MAX706的PFO引腳連接節(jié)點的復位引腳RESETN[9]。蓄電池為節(jié)點提供額定工作電壓(3~3.3 V)時,PFI引腳輸入電壓高于1.25 V,PFO輸出高電平,節(jié)點正常工作。當蓄電池電壓低于5.5 V時,供電設備工作異常,節(jié)點供電電壓為零,PFI引腳輸入電壓低于1.25 V,PFO引腳輸出低電平,節(jié)點處于復位狀態(tài)。當蓄電池電壓高于5.8 V時,供電設備正常工作,蓄電池正常為節(jié)點提供工作電壓,PFI引腳輸入電壓大于1.25 V,PFO引腳輸出高電平,節(jié)點恢復正常工作。1.25 V門檻電壓探測器的應用降低了節(jié)點因供電異常引起的程序不能正常運行,節(jié)點無法加入網絡的故障率。
圖5 看門狗開關控制電路Fig.5 Circuit ofwatchdog timer controller
在節(jié)點休眠期間,CPU停止工作,不能按時給看門狗芯片提供“喂狗”的有效電平信號。因此,節(jié)點休眠期間要求看門狗芯片停止工作,在休眠蘇醒后,看門狗芯片正常工作。在圖4所示的看門狗開關控制電路中,休眠蘇醒之后,匯聚節(jié)點調用函數 vAHI_DioSetDirection(0,E_AHI_DIO820_INT)將JN5139數字輸入輸出接口DIO20引腳設置為輸出狀態(tài),然后程序調用函數 vAHI_DioSetOutput(0,E_AHI_DIO20_INT)將DIO20引腳設置為低電平,VT1導通,看門狗芯片/WDO引腳與/MR引腳連接到JN5139的復位輸入端。傳感器節(jié)點通過函數 vAHI_DioSetOutput(E_AHI_DIO11_INT,0)實現喂狗功能。節(jié)點休眠之前,控制DIO20引腳輸出高電平,使VT1截止,看門狗輸出引腳不能直接與節(jié)點復位輸入端相連,看門狗芯片停止對JN5139的監(jiān)測。
正確處理節(jié)點工作時序是應用開發(fā)的重要前提;紐扣電池可保證供電設備恢復后節(jié)點恢復正常工作;利用節(jié)點管腳實現檢測功能,需要注意額定電壓、電流和功耗、檢測精度之間的關系;匯聚節(jié)點的GPRS開關電路中,光電耦合器的應用避免了將高電壓直接接入節(jié)點引腳導致節(jié)點損壞;看門狗電路和電源失效報警、低電壓檢測可在遠程監(jiān)測條件下系統受到外界干擾時使程序自動復位。上述功能擴展電路的自耗電1.9 mA,在火區(qū)實地運行中實現了高溫監(jiān)測功能,提高了無線傳感器網絡的可靠性、穩(wěn)定性和健壯性。
[1] 專 利 射 頻 -2.4GHz-cc2430-TI[EB/OL]. [2007-06-06].(2012-01-13)http://www.ti.com.cn/product/cn/cc2430.
[2]IRIS無線模塊 [EB/OL].[2008-12-09](2012-01-13)http://www.xbow.com.cn/WSN產品/無線產品/無線模塊/tabid/67/Default.Aspx.
[3]JN5139 Wireless Microcontroller[EB/OL]. (2012-01-13)http://www.jennic.com/products/wireless_microcontrollers/jn5139.
[4]王冬冬,閆述,陳祖爵.無線傳感器網絡節(jié)點太陽能蓄電池充放電保護電路[J].無線通信技術,2011,20(4):48-51.
WANG Dong-dong,YAN Shu,CHEN Zu-jue.Wireless sensor network node solar energy storage battery charging and discharging protection circuit[J].Wireless Communication Technology,2011,20(4):48-51.
[5]李善榮,閆述,曹清華.一種無線傳感器網絡高溫監(jiān)測節(jié)點的設計開發(fā)[J].計算機工程,2011,37(20):1-4
LI Shan-rong,YAN Shu,CAO Qing-hua. Design and development of a high temperature wireless sensor network monitoring node[J].Computer Engineering,2011,37(20):1-4.
[6]尹翠,南新元.基于MAX6675的溫度采集系統的設計[J].工業(yè)控制計算機,2010,23(8):16-17.
YIN Cui,NAN Xin-yuan.MAX6675-based temperature acquisition system[J].IndustrialControlComputer,2010,23(8):16-17.
[7]童詩白,華成英.模擬電子技術基礎[M].北京:高等教育出版社,2001.
[8]MAXIM+3V Voltage Monitoring,Low-Cost,μP Supervisory Circuits[EB/OL].(1995) DATASHEETSEARCH SITE_WWW.ALLDATASHEET.COM.pdf.1995Maxim Integrated Products.
[9]趙曉輝.MAX705/706在微處理器監(jiān)控中的應用[J].現代電子技術,2001(5):61-62.
ZHAO Xiao-hui.Application of MAX705/MAX706 in supervisingmicroprocessor[J].Modern Electronic Technique,2001(5):61-62.