采用MC13192的無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)計(jì)方案
SSPDR = (uint8)(u8Addr 0x3f);/*寫入要訪問的6位地址,設(shè)置寫*/
while((SSPSR 0x01) == 0);/*等待發(fā)送棧為空*/
while((SSPSR 0x10) != 0);/*等待狀態(tài)寄存器空閑*/
u8TempValue = SSPDR;/*清空地址中的內(nèi)容*/
SSPDR = (uint8)(u16Content >> 8);/*寫高字節(jié)*/
while((SSPSR 0x01) == 0);
while((SSPSR 0x10) != 0);
u8TempValue = SSPDR;
SSPDR = (uint8)(u16Content 0x00FF);/*寫低字節(jié)*/
while((SSPSR 0x01) == 0);
while((SSPSR 0x10) != 0);
u8TempValue = SSPDR;
IO1SET = MC13192_CE;/*禁止MC13192 SPI*/
MC13192RestoreInterrupts(); /*恢復(fù)MC13192中斷狀態(tài)*/
}
uint16 SPIDrvRead (uint8 u8Addr) {/*SPI讀函數(shù)*/
uint8 u8TempValue;
uint16 u16ret;
SPIClearRecieveStatReg(); /*清狀態(tài)寄存器*/
SPIClearRecieveDataReg();/*清接收數(shù)據(jù)寄存器*/
MC13192DisableInterrupts(); /*禁止MC13192產(chǎn)生中斷請(qǐng)求*/
IO1CLR = MC13192_CE;/*使能MC13192 SPI */
SSPDR = (uint8)((u8Addr 0x3f) | 0x80);/*寫入要訪問的6位地址,設(shè)置讀*/
while((SSPSR 0x01) == 0); /*等待發(fā)送棧為空*/
while((SSPSR 0x10) != 0);/*等待狀態(tài)控制器空閑*/
u8TempValue = SSPDR;
SSPDR = (uint8)0xFF;
while((SSPSR 0x01) == 0);
while((SSPSR 0x10) != 0);
u8TempValue = SSPDR;/*存放高字節(jié)數(shù)據(jù)*/
SSPDR = (uint8)0xFF;
while((SSPSR 0x01) == 0);
while((SSPSR 0x10) != 0);
u16ret = SSPDR;/*存放低字節(jié)數(shù)據(jù)*/
u16ret=u16ret+u8TempValue*256;/*存放一個(gè)完整字*/
IO1SET = MC13192_CE;/*禁止MC13192 SPI*/
MC13192RestoreInterrupts();/*恢復(fù)MC13192中斷狀態(tài)*/
return u16ret;
}本文引用地址:http://2s4d.com/article/161711.htm
圖4 發(fā)送程序流程 圖5 接收程序流程
3.3 實(shí)驗(yàn)結(jié)果
圖6為硬件節(jié)點(diǎn)實(shí)物圖。該電路板經(jīng)過仿真調(diào)試應(yīng)用良好,可以實(shí)現(xiàn)多個(gè)節(jié)點(diǎn)間的通信;在實(shí)驗(yàn)電路板上設(shè)置了一個(gè)LED,可以通過燈的閃爍來指示信息接收的質(zhì)量以及接收的成??;能夠利用串行接口與計(jì)算機(jī)進(jìn)行通信,并且可以通過JTAG接口電路進(jìn)行程序的固化。初步的實(shí)驗(yàn)表明: 通信距離基本達(dá)到預(yù)期目標(biāo),在空曠地帶以最大功率傳輸,可以以較小誤碼率傳輸60多米。采用1節(jié)電壓為3.6 V、容量為2 100 mAh的干電池供電時(shí),節(jié)點(diǎn)連續(xù)工作的時(shí)間為3~4天。如果使得該節(jié)點(diǎn)始終工作在超低功耗的工作狀態(tài),則其工作時(shí)間可以超過1年,能夠滿足特定應(yīng)用場(chǎng)合對(duì)電池壽命的要求。
圖6 硬件節(jié)點(diǎn)實(shí)物圖
結(jié)語
經(jīng)實(shí)驗(yàn)證明,以MC13192和LPC2138為核心構(gòu)造的無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn),在功耗、傳輸距離以及無線傳輸速率等性能上都能滿足應(yīng)用要求。在此方案基礎(chǔ)之上,通過移植ZigBee協(xié)議棧,可以構(gòu)建ZigBee網(wǎng)絡(luò)的網(wǎng)絡(luò)層、應(yīng)用層及安全層,再配以滿足特定要求的傳感器便可實(shí)現(xiàn)具體的應(yīng)用網(wǎng)絡(luò)。
評(píng)論