采用MC13192的無線傳感器網絡節點設計方案
圖3是節點的硬件原理圖。電路外圍元器件較少,主要包括6個模塊: LPC2138 MCU模塊、MC13192無線射頻模塊、電源模塊、UART串口模塊、JTAG接口模塊和數據采集I/O模塊。LPC2138和MC13192通過SPI總線連接。LPC2138的SPI接口工作在主機模式,是數據傳輸的控制方;MC13192設為從機模式。LPC2138通過4線SPI接口對MC13192的內部寄存器進行讀寫操作,從而完成對MC13192的控制以及數據通信。由傳感器輸出的模擬信號經過10位A/D變換后輸入到LPC2138中,LPC2138將傳感器采集的信號經過處理后通過MC13192發射出去。對傳感器的控制信號可以從MC13192的天線接收進來,通過SPI傳送到LPC2138上,經過其判斷處理后通過GPIO口傳送到傳感器上,以實現對傳感器的控制。MC13192芯片指定的晶振頻率為16 MHz,考慮到晶振對通信質量的影響,在制作PCB板時應將晶振的位置盡可能地靠近MC13192芯片的XTAL1和XTAL2引腳。電源電路采用兩種方式: 一種是3.6 V干電池;另一種是鈕扣電池,可以根據需要選用。
圖3 節點硬件原理圖
3.2 節點軟件設計
按照硬件電路設計思路,軟件采用模塊化結構程序設計方式。軟件模塊包括: 數據發送模塊、數據接收模塊、UART串口模塊、LPC2138與MC13192連接的SPI模塊、中斷服務模塊。系統軟件編程的基本思路: 先對SPI端口、MC13192控制端口和LPC2138控制端口進行初始化;使能SPI端口、UART端口和A/D;初始化MC13192芯片;開啟接收機后,即可運行任務程序,實現接收或發送數據。這里簡要給出LPC2138與MC13192之間的SPI通信程序。發送和接收程序流程如圖4和圖5所示。
void SPIDrvWrite (uint8 u8Addr, uint16 u16Content) {/*SPI寫函數*/
uint8 u8TempValue;
MC13192DisableInterrupts();/*禁止MC13192產生中斷請求*/
IO1CLR = MC13192_CE;/*使能MC13192 SPI */
評論