引 言
CC2431是TIå…¬å¸æŽ¨å‡ºçš„å¸¶ç¡¬ä»¶å®šä½å¼•擎的片上系統(SoC)解決方案,能滿足低功耗ZigBeeï¼IEEE 802.15.4無線傳感器網絡的應用需è¦ã€‚CC2431定ä½å¼•擎基于RS-SI(Received Signal Strength Indicatorï¼ŒæŽ¥æ”¶ä¿¡è™Ÿå¼·åº¦æŒ‡ç¤ºï¼‰æŠ€è¡“ï¼Œæ ¹æ“šæŽ¥æ”¶ä¿¡è™Ÿå¼·åº¦èˆ‡å·²çŸ¥åƒè€ƒç¯€é»žä½ç½®æº–確計算出有關節點ä½ç½®ï¼Œç„¶åŽå°‡ä½ç½®ä¿¡æ¯ç™¼é€çµ¦æŽ¥æ”¶ç«¯ã€‚相比于集ä¸åž‹å®šä½ç³»çµ±ï¼ŒRSSI功能é™ä½Žäº†ç¶²çµ¡æµé‡èˆ‡é€šä¿¡å»¶é²ï¼Œåœ¨å…¸åž‹æ‡‰ç”¨ä¸å¯å¯¦ç¾3~5 m定ä½ç²¾åº¦å’Œ0.25 m的分辨率。本文在簡述基于RSSIå®šä½æŠ€è¡“çš„åŸºç¤Žä¸Šï¼Œè©³ç´°ä»‹ç´¹CC2431無線定ä½å¼•擎的功能ã€ç‰¹é»žåŠä½¿ç”¨æ–¹æ³•,并且é‡å°CC2431無線定ä½å¼•擎定ä½èŒƒåœå°å’Œåªèƒ½é€²è¡ŒäºŒç¶å®šä½çš„ä¸è¶³ä¹‹è™•給出了改進方法。
1ã€RSSIå®šä½æŠ€è¡“
RSSI是指節點接收到的無線信號強度大å°ã€‚在基于接收信號強度指示RSSI的定ä½ä¸ï¼Œå·²çŸ¥ç™¼å°„ç¯€é»žçš„ç™¼å°„ä¿¡è™Ÿå¼·åº¦ï¼ŒæŽ¥æ”¶ç¯€é»žæ ¹æ“šæŽ¥æ”¶åˆ°ä¿¡è™Ÿçš„å¼·åº¦è¨ˆç®—å‡ºä¿¡è™Ÿçš„å‚³æ’æè€—ï¼Œåˆ©ç”¨ç†è«–和經驗模型將傳輸æè€—轉化為è·é›¢ï¼Œå†åˆ©ç”¨å·²æœ‰çš„算法計算出節點的ä½ç½®ã€‚è©²æŠ€è¡“ç¡¬ä»¶è¦æ±‚較低ã€ç®—法相å°ç°¡å–®ï¼Œåœ¨å¯¦é©—室環境ä¸è¡¨ç¾å‡ºè‰¯å¥½ç‰¹æ€§ï¼›ä½†ç”±äºŽç’°å¢ƒå› ç´ è®ŠåŒ–çš„åŽŸå› ï¼Œåœ¨å¯¦éš›æ‡‰ç”¨ä¸å¾€å¾€é‚„需è¦é€²è¡Œæ”¹é€²ã€‚
2ã€CC2431無線定ä½å¼•擎
CC2431無線定ä½å¼•擎基于RSSI技術,定ä½ç³»çµ±ç”±åƒè€ƒç¯€é»žå’Œç›²ç¯€é»žçµ„æˆã€‚åƒè€ƒç¯€é»žæ˜¯ä¸€å€‹ä½äºŽå·²çŸ¥ä½ç½®çš„éœæ…‹ç¯€é»žï¼Œé€™å€‹ç¯€é»žçŸ¥é“自己的ä½ç½®å¹¶å¯ä»¥å°‡å…¶ä½ç½®é€šéŽç™¼é€æ•¸æ“šåŒ…通知其他節點。盲節點從åƒè€ƒç¯€é»žè™•接收數據包信號,ç²å¾—åƒè€ƒç¯€é»žä½ç½®å標åŠç›¸æ‡‰çš„RSSI值并將其é€äººå®šä½å¼•擎,然åŽå¯ä»¥è®€å‡ºç”±å®šä½å¼•擎計算得到的自身ä½ç½®ã€‚ç”±åƒè€ƒç¯€é»žç™¼é€çµ¦ç›²ç¯€é»žçš„æ•¸æ“šåŒ…至少包å«åƒè€ƒç¯€é»žçš„忍™åƒæ•¸æ°´å¹³ä½ç½®X和豎直ä½ç½®Y,而RSSI值å¯ç”±æŽ¥æ”¶ç¯€é»žè¨ˆç®—ç²å¾—。
2.1 定ä½å¼•擎
定ä½å¼•擎的使用éžå¸¸ç°¡å–®ï¼Œåªè¦å°‡æ‰€éœ€åƒæ•¸å¯«å…¥å®šä½å¼•擎,ç‰å¾…定ä½å¼•擎計算完畢就å¯ä»¥ç›´æŽ¥è®€å‡ºè¨ˆç®—çµæžœã€‚æ‰€éœ€åƒæ•¸å¦‚表1所列。

2.2 RSSIåƒæ•¸
ç•¶CC2431æŽ¥æ”¶åˆ°ä¸€å€‹æ•¸æ“šåŒ…åŽæœƒè‡ªå‹•å°‡RSSIå€¼æ·»åŠ åˆ°è©²æ•¸æ“šåŒ…ä¸ã€‚RSSI值為數據包接收在開始的8個周期ä¸çš„å¹³å‡å€¼ï¼Œç”¨1個å—節表示。當一個數據包從CC2431çš„FIFOä¸è®€å‡ºæ™‚,倒數第二個å—節包å«RSSI值,這個值在接收到實際數據包的8å€‹ç¬¦è™ŸåŽæ¸¬é‡å¾—到,也å¯åœ¨æ•¸æ“šåŒ…æŽ¥æ”¶çš„åŒæ™‚ç²å¾—ã€‚æ¤æ™‚RSSIå°‡åæ˜ 當時接收信號的強度,而ä¸ä¸€å®šæ˜¯æŽ¥æ”¶åˆ°çš„æ•¸æ“šçš„ä¿¡è™Ÿå¼·åº¦ï¼Œå¾žè€Œå¢žåŠ äº†å¤§é‡ç¯€é»žåŒæ™‚ä½¿ç”¨ä¿¡é“æ™‚RSSI值出錯的å¯èƒ½æ€§ã€‚
CC2431包å«ä¸€å€‹RSSI寄å˜å™¨ï¼Œæ¤å¯„å˜å™¨ä¿ç•™èˆ‡ä¸Šè¿°ç›¸åŒçš„值,但它并ä¸éŽ–å®šï¼Œå› æ¤å¯„å˜å™¨å€¼ä¸èƒ½ç”¨äºŽé€²ä¸€æ¥çš„è¨ˆç®—ã€‚åªæœ‰èˆ‡æŽ¥æ”¶åˆ°çš„æ•¸æ“šç›¸é—œçš„被鎖定的RSSI值æ‰èƒ½èªç‚ºæ˜¯æŽ¥æ”¶æ•¸æ“𿙂ç²å¾—çš„æ£ç¢ºRSSI測é‡å€¼ã€‚
RSSIçš„ç†è«–值å¯ä»¥ç”±å¼ï¼ˆ1)表示:
RSSI=-(10n·lgd+A) (1)
å…¶ä¸ï¼Œå°„é »åƒæ•¸Aå’Œn用于æè¿°ç¶²çµ¡æ“ä½œç’°å¢ƒã€‚åœ¨å…¨å‘æ¨¡å¼ä¸‹ï¼Œå°„é »åƒæ•¸A被定義為用dBm表示的è·ç™¼å°„端1 m處接收到的信號強度絕å°å€¼ã€‚如信號強度為-40dBmï¼Œé‚£ä¹ˆåƒæ•¸A被定為40。定ä½å¼•æ“Žçš„æœŸæœ›åƒæ•¸A為30.0~50.0,精度為0.5ã€‚åƒæ•¸A用無符號定點數值給出,最低ä½ç‚ºå°æ•¸ä½ï¼Œè€Œå…¶ä½™å„ä½ç‚ºæ•´æ•¸ä½ã€‚A的一個典型值為40.0。
å°„é »åƒæ•¸n被定義為路徑æå¤±æŒ‡æ•¸ï¼Œå®ƒæŒ‡å‡ºäº†ä¿¡è™Ÿèƒ½é‡éš¨è‘—到收發器è·é›¢çš„å¢žåŠ è€Œè¡°æ¸›çš„é€ŸçŽ‡ã€‚è¡°æ¸›èˆ‡d-næˆæ¯”例,這里d是發射器和接收器之間的è·é›¢ã€‚實際寫入定ä½å¼•æ“Žçš„åƒæ•¸næ˜¯ä¸€å€‹é€šéŽæŸ¥è¡¨å¾—到的整數索引值n_index,如表2所列。

ä¾‹å¦‚ï¼Œé€šéŽæ¸¬é‡å¾—到n=2.98,查表得到最接近的有效值為3.00,相應的索引值是13ã€‚å› æ¤ï¼Œæ•´æ•¸13ä½œç‚ºåƒæ•¸n寫入定ä½å¼•擎ä¸ã€‚åƒæ•¸n以[0,31]之間的整數索引寫入定ä½å¼•擎,索引用整數表示。如n=7寫入為000000111,n的典型值是13。
2.3 åƒè€ƒç¯€é»žæ•¸é‡
一般來說åƒè€ƒç¯€é»žè¶Šå¤šè¶Šå¥½ï¼Œè¦å¾—到一個å¯é 的定ä½å標至少需è¦3個åƒè€ƒç¯€é»žã€‚如果åƒè€ƒç¯€é»žå¤ªå°‘,節點間影響會很大。一個錯誤的RSSI值能明顯改變所得的ä½ç½®å標,錯誤的RSSI值在æ¤å³ç‚ºä¸é©åˆç†è«–值的RSSI值,å¯èƒ½ç”±äºŽå¤šè·¯ä¿¡è™Ÿæˆ–信號被墻å£é˜»æ“‹ç‰é€ æˆã€‚å¦å¤–,如果盲節點ä½äºŽåƒè€ƒç¯€é»žç¶²æ ¼å¤–部,很å¯èƒ½çµæžœèˆ‡å¯¦éš›ä½¿ç”¨ä½ç½®å·®åˆ¥å¾ˆå¤§ï¼Œå› æ¤ä¸æ‡‰è©²è·Ÿè¹¤ä½äºŽç¶²æ ¼ä¹‹å¤–的目標。
2.4 定ä½ç®—法
é¦–å…ˆï¼Œå®šä½æ“作應該使用“最優â€åƒè€ƒç¯€é»žï¼Œå³ä½¿ç”¨å…·æœ‰æœ€é«˜RSSI值的8個åƒè€ƒç¯€é»žã€‚其他節點都應放棄。如果得ä¸åˆ°8個節點,則應該使用盡å¯èƒ½å¤šçš„節點。
å¯ç”¨äºŽè»Ÿä»¶æ“作的算法很多,例如在圖1所示的å€åŸŸä¸ï¼Œåœ¨Xã€Yæ–¹å‘上æ¯éš”30 m放置一個åƒè€ƒç¯€é»žï¼Œåœ–ä¸ç™½è‰²ç¯€é»žç‚ºç›²ç¯€é»žï¼Œå…¶ä»–節點為åƒè€ƒç¯€é»žã€‚第1æ¥ï¼Œç¢ºå®šå…·æœ‰æœ€é«˜RSSI值的一個節點并計算一個補償值,使之“移動â€åˆ°64 m×64 m范åœçš„ä¸å¿ƒã€‚由于已知來自æ¤ç¯€é»žçš„RSSI值,所以到æ¤ç¯€é»žçš„è·é›¢å¾ˆå®¹æ˜“得到。第2æ¥ï¼Œç¢ºå®šé™¤â€œæœ€å¼·â€ç¯€é»žä¹‹å¤–的其他使用節點,å³åœ–ä¸é»‘色節點。所有節點用第1æ¥ä¸çš„補償值進行修æ£ã€‚第3æ¥ï¼Œæ‰€æœ‰ç²å¾—值é€äººå®šä½å¼•æ“Žæœ€çµ‚è®€å‡ºçµæžœä½ç½®ã€‚最åŽä¸€æ¥ï¼Œå°‡è£œå„Ÿå€¼æ·»åŠ åˆ°è¨ˆç®—ä½ç½®ä¸ã€‚完æˆé€™äº›è¨ˆç®—之åŽï¼Œç›²ç¯€é»žåœ¨å…¨å±€ç¶²æ ¼ä¸çš„ä½ç½®å°±ç¢ºå®šäº†ã€‚

2.5 軟件æ“作
在定ä½å¼•擎é‹è¡Œä¹‹å‰ï¼Œå¿…é ˆä½¿èƒ½å®šä½å¼•擎寄å˜å™¨LO-CENG的第4ä½LOCENG.EN。當è¦åœæ¢å®šä½å¼•擎é‹è¡Œæ™‚,應往LOCENG.EN寫入0關斷引擎的時é˜ä¿¡è™Ÿï¼Œå¾žè€Œé™ä½ŽCC2431的功耗。å°å®šä½å¼•擎的æ“作,主è¦å°±æ˜¯å°èˆ‡å®šä½å¼•擎有關的寄å˜å™¨çš„æ“ä½œã€‚
定ä½å¼•擎é‹è¡Œæ™‚需è¦è¼¸å…¥3~8個åƒè€ƒå標。åƒè€ƒå標是以m為單ä½çš„,它表示å„個åƒè€ƒç¯€é»žçš„ä½ç½®ï¼Œå…¶æ•¸å€¼ä½äºŽ0~63.75,最高精度為0.25 m,以最低2ä½ç‚ºå°æ•¸éƒ¨åˆ†ï¼Œå‰©ä½™6ä½ç‚ºæ•´æ•¸éƒ¨åˆ†ã€‚åƒè€ƒåæ¨™å˜æ”¾äºŽRF寄å˜å™¨REFCOORDä¸ã€‚在寫入REFCOORD之å‰ï¼Œå¯„å˜å™¨LOCENG的第1ä½LOCENG.REFLDå¿…é ˆå¯«å…¥1,用于指示一組åƒè€ƒå標將è¦è¢«å¯«å…¥ã€‚ä¸€æ—¦åæ¨™å¯«å…¥éŽç¨‹é–‹å§‹ï¼ˆLO-CENG.REFLD=1),8å°åæ¨™å¿…é ˆä¸€æ¬¡æ€§å¯«å…¥ã€‚ç•¶å®šä½å¼•擎使用少于8個åƒè€ƒå標時,è¦å°‡æœªç”¨çš„åƒè€ƒå標寫入0.0。
RSSI值在[-40 dBm,-95 dBm]之間,精度為0.5dBmï¼Œå¯«å…¥å€¼ä¸æ‡‰åŽ»æŽ‰è² è™Ÿã€‚å¦‚RSSI的值為-50.35 dB,寫入到定ä½å¼•擎為50.5。注æ„,未用的åƒè€ƒåæ¨™å¿…é ˆç”¨0.0作為RSSIå€¼å¯«å…¥ã€‚å¦‚æžœåƒ…æœ‰éƒ¨åˆ†åƒæ•¸å¯«å…¥ï¼Œå®šä½å¼•擎將ä¸èƒ½æ£ç¢ºå·¥ä½œã€‚
所有的測é‡åƒæ•¸æ‡‰å¯«å…¥RF寄å˜å™¨MEASPARMä¸ã€‚在寫入MEASPARM之å‰ï¼Œå¯„å˜å™¨LOCENG的第2ä½LOCENG.PARLDå¿…é ˆå¯«å…¥1,表示一組測é‡åƒæ•¸å°‡è¢«å¯«å…¥ã€‚ä¸€æ—¦åƒæ•¸å¯«å…¥é–‹å§‹ï¼ˆLOCENG.PARLD=1),所有10å€‹åƒæ•¸å¿…é ˆä¸€æ¬¡æ€§å…¨éƒ¨å¯«å…¥ã€‚æ¸¬é‡åƒæ•¸å¿…é ˆæŒ‰ç…§[A,n,rssi0,rssi1,…,rssi7]é †åºå¯«å…¥MEASIARM寄å˜å™¨ï¼Œä»»ä½•未使用的ä½å¿…é ˆå¯«0。10å€‹åƒæ•¸å…¨éƒ¨å¯«å®Œä¹‹åŽï¼ŒLOCENG.PARLDå¿…é ˆå¯«å…¥0。
åƒæ•¸å標和測é‡åƒæ•¸å¯«å…¥ä¹‹åŽï¼Œé€šéŽæŠŠå¯„å˜å™¨LOCENG第0ä½LOCENG.RUN寫入1啟動定ä½ä¼°è¨ˆè¨ˆç®—。通常,LOCENG.RUN被置1åŽçš„1 200個系統周期之åŽï¼ŒLOCENG的第3ä½LOCENG.DONE被置1ã€‚æ¤æ™‚ï¼Œä¼°è¨ˆåæ¨™å¯å¾žLOCXå’ŒLOCY寄å˜å™¨è®€å‡ºã€‚定ä½å¼•擎ä¸ç”¢ç”Ÿä»»ä½•䏿–·è«‹æ±‚ã€‚åœ¨æ–°çš„çµæžœè¢«è¨ˆç®—å‡ºä¾†æˆ–ä¸‹ä¸€æ¬¡é‡æ–°å•Ÿå‹•之å‰ï¼Œä¼°è¨ˆå標值在LOCXå’ŒLOCYä¸ä¿æŒæœ‰æ•ˆã€‚
下é¢çµ¦å‡ºä¸€å€‹ç°¡å–®çš„定ä½å¼•擎æ“作函數:

定ä½å¼•擎æ“作æµç¨‹å¦‚圖2所示。
3ã€å˜åœ¨å•é¡ŒåŠæ”¹é€²
CC2431的無線定ä½å¼•擎在應用ä¸å˜åœ¨å…©å€‹å•題。首先,定ä½å¼•擎å¯ä»¥è™•ç†æœ€é«˜é”64 mçš„Xã€Y值,å°å¯¦é𛿇‰ç”¨ä¾†èªªé€™å€‹å€åŸŸå¤ªå°ï¼Œå› æ¤æ“´å±•å€åŸŸéžå¸¸å¿…è¦ã€‚這å¯ä»¥é€šéŽç°¡å–®çš„軟件é 處ç†ç®—法得到,例如æ¯å€‹ç¯€é»žç”¨2個å—節的Xã€Yä»£è¡¨ã€‚å› ç‚ºç²¾åº¦ç‚º0.25 m,從而最大范åœç‚º16 384 m(214=16 384)。其次,定ä½å¼•æ“Žå¾—åˆ°çš„åªæ˜¯äºŒç¶å標,如何å€åˆ†ä¸åŒçš„æ°´å¹³é¢ï¼Œå°±åªèƒ½é€šéŽè»Ÿä»¶æ–¹æ³•處ç†ã€‚例如,å¯ä»¥é¦–先確定最近的åƒè€ƒç¯€é»žå¹¶è®€å‡ºæ¤ç¯€é»žçš„æ°´å¹³å€¼ã€‚這個水平值被å‡å®šç‚ºç›²ç¯€é»žæ‰€åœ¨çš„層,之åŽç›²ç¯€é»žè¦ä¿è‰åªæœ‰åŒå±¤ç¯€é»žè¢«è¼¸å…¥åˆ°å®šä½å¼•擎當ä¸ã€‚水平層用一個å—節Z來表示,則å¯ä»¥å€åˆ†256個ä¸åŒçš„層。
çµ èªž
CC2431是一款é‡å°ç„¡ç·šå‚³æ„Ÿå™¨ç¶²çµ¡ZigBeeï¼IEEE802.15.4的片上系統(SoC)解決方案,其具備的硬件定ä½å¼•擎具有硬件è¨å‚™è¦æ±‚低ã€å®šä½ç²¾åº¦é«˜çš„特點,很好地滿足了需求。本文在詳細討論了定ä½å¼•擎æ“作原ç†ã€ä½¿ç”¨æ–¹æ³•的基礎上,給出了å¯è¡Œçš„æ‡‰ç”¨æ“´å±•方法。å¯ä»¥é 見,CC2431的無線定ä½å¼•æ“Žå°‡åœ¨ç„¡ç·šç¶²çµ¡å®šä½æ–¹é¢å…·æœ‰æ›´åŠ å„ªç•°çš„è¡¨ç¾ã€‚