多總線控制的無線傳感器網絡
對于時鐘器件(PCF8563)的控制,使用2個I/O口模擬I2C總線的數據線(SDA)和時鐘線(SCL)對器件進行讀寫控制,PCF8563的從屬器件地址是1010 A3A2A1A0,然后按步驟完成I2C總線的初始化,啟動I2C總線,就可以自動完成規定的選時操作。每一個ZigBee節點都有一個唯一的64位IEEE地址,并可以用這個地址在PAN(個域網)中進行通信,但在從設備和網絡協調器建立連接后會為它分配一個16位短地址,此后可以用這個短地址在PAN內進行通信。64位的IEEE地址是唯一的絕對地址,而16位的短地址是相對地址。系統工作在24GHz高頻頻段,網絡中的節點利用自身的無線收發設備交換信息,當相互之間不再彼此的通信范圍內時,可以借助其他中間節點中繼在同一個個域網里來實現多跳通信。無線收發模塊是一射頻集成電路模塊(RFIC),作為ZigBee無線網絡的物理層射頻前端實現無線數據的收發。QRF-0400是一個SPI總線控制的基于ZigBee技術的無線傳輸模塊,集成了無線收發器件UZ2400,線性功率放大器UP2202和一個寬帶低噪聲放大器UA2723。UZ2400內置了射頻收發器工作在802.15.4標準的基帶濾波和MAC層的功能模塊。由發射/接收FIFOs,CSMA-CA控制器,超幀架構,接收幀過濾器,安全引擎和數字信號處理模塊等。對于無線傳輸器件的控制,使用4個I/O口模擬SPI總線的主機輸出/從機輸入總線(MOSI)、主機輸入/從機輸出(MISO)、串行時鐘線(SCK)、低電平有效從機選擇線(SS)進行接口仿真。通過對QRF0400進行讀寫地址命令,進行初始化,設置個域網標示符,配置IEEE地址,打開中斷等命令。將采集的溫、濕度數據無線傳輸。圖2為UZ2400內部模塊結構。本文引用地址:http://www.cqxgywz.com/article/162964.htm

2.2 接收主節點
接收主節點接收各個發射子節點的數據,并進行提取分類,然后通過RS232接口與上位機實現信息的人機溝通。數字信號的傳輸隨著距離的增加和傳輸速率的提高,在傳輸線上的反射、衰減、共地噪聲等影響將引起信號畸變,從而影響通信距離。選用RS232串行通信標準接口,通過增加驅動以及增大信號的幅度,使通信距離增大到15m。由于單片機的串行發送總線和接收總線TXD和RXD是TTL電平,而PC機的COM1和COM2的RS232連接其實EIA電平,因此單片機需加接MAX232器件進行電平轉換,如圖3所示。

3 軟件設計
在發送子節點上,為了便于主控器件對傳感器的控制,在單總線器件掛接到單總線網絡之前,有必要對單總線器件進行預處理,即對DSl8820和DS2438編寫其所屬節點的序號,這個序號是主控器件對某一傳感器所屬器件進行區分的依據。該序號占用兩個字節的空間,其中第一個字節用來區分器件是DSl8820還是DS2438,為DSl8820分配該字節的值為00H,為DS2438分配的該字節的值為80H。第二個字節作為每一個器件分配的序號。比如發射字節點l掛接有10個DSl8820、8個DS2438,那么這10個DSl8820的序號從l到10,8個DS2438的序號從l到8。對DSl8-820用寫暫存存儲器(4Eh)命令將OOH寫到DSl8820高速暫存存儲器的第2個字節,將1到20分別寫到這10個DSl8820高速暫存存儲器的第3個字節,對DS2438分配的序號用寫暫存存儲器(4Ehxxh)命令寫到DS2438存儲器第7頁第0個字節,然后用復制暫存存儲器命令將其復制到非易失性EEPROM,以免序號信息掉電丟失。接收主節點單片機在讀回溫、濕度數據時,將各溫濕度傳感器的序號一并讀回。














評論