基于CC1100的無(wú)線自動(dòng)抄表系統(tǒng)設(shè)計(jì)
4軟件設(shè)計(jì)
CC1100通過(guò)4線SPI兼容接口(SI、S0、SCLK和CSn)配置,這個(gè)接口同時(shí)用作寫和緩存數(shù)據(jù)。SPI接口是一種同步串行通信接口,CSn是芯片選擇管腳,當(dāng)該管腳為低電平時(shí),SPI接口可以通信,反之不能通信。SI和SO為數(shù)字傳輸管腳,分別用于數(shù)據(jù)輸入和數(shù)據(jù)輸出。SCLK為同步時(shí)鐘,在時(shí)鐘的上升沿或下降沿?cái)?shù)字?jǐn)?shù)據(jù)被寫入或讀出。在讀或是寫寄存器,首先要在SI管腳寫入寄存器地址(Address)字節(jié)。地址字節(jié)有8位,最高位為讀寫位,后7位為地址位。當(dāng)執(zhí)行寫寄存器操作時(shí),讀寫位為O,當(dāng)執(zhí)行讀寄存器操作時(shí),讀寫位為1。無(wú)論是讀操作還是寫操作,在地址字節(jié)被寫入時(shí),CC1100S0腳上輸出一個(gè)芯片狀態(tài)字節(jié),狀態(tài)字節(jié)包含關(guān)鍵狀態(tài)信號(hào),對(duì)MCU是有用的。CC1100的TXFIF0(發(fā)射先進(jìn)先出堆棧)和RXFIF0(接收先進(jìn)先出堆棧)也可以用同樣的讀寫方式進(jìn)行訪問(wèn),只是使用與配置寄存器不同的地址段加以區(qū)別。另外,CC1100的指令也是通過(guò)SPI接口傳送,CC1100有14個(gè)內(nèi)部指令。這些指令用來(lái)關(guān)閉晶體振蕩器,開啟傳輸模式,狀態(tài)轉(zhuǎn)換和電磁波激活等。軟件流程如圖3所示。
通過(guò)SI寫入特定的字節(jié)使CC1100執(zhí)行不同的命令,CC1100共有20個(gè)引腳,可通過(guò)4線SPI兼容接口配置(包括數(shù)據(jù)線SI、S0、時(shí)鐘線SCLK、使能線CSn)。其中CSn可以連接到一個(gè)IO口來(lái)模擬時(shí)序,而其他三個(gè)腳則接到主MCU的SPI接口。通過(guò)重復(fù)使用SPI接口上的SI、SCLK和CSn,可使通信的主要狀態(tài)執(zhí)行一個(gè)簡(jiǎn)單的三腳控制,即休眠、空閑、RX和TX。CC1100有兩個(gè)專用的配置引腳和一個(gè)共享引腳,能用于輸出對(duì)控制軟件有用的內(nèi)部狀態(tài)信息,并能用來(lái)對(duì)MCU產(chǎn)生中斷,其引腳名為GD00和GD01。共享引腳為SPI接口上的S0腳。GDOl/SO的默認(rèn)設(shè)置為3狀態(tài)輸出。通過(guò)選擇任意其他的控制選項(xiàng)可使GD01/SO腳成為一般引腳。當(dāng)CSn為低時(shí),此引腳的功能如一般S0腳;而在同步和異步連續(xù)模式下,處于傳輸模式時(shí),GD00腳被用作連續(xù)TX數(shù)據(jù)輸入腳。
5結(jié)論
無(wú)線自動(dòng)抄表系統(tǒng)是未來(lái)發(fā)展的必然趨勢(shì),而對(duì)于抄表系統(tǒng)的改造,由AT89S52單片機(jī)和CC1100構(gòu)成的無(wú)線自動(dòng)抄表系統(tǒng)具有使用方便、成本低、應(yīng)用靈活、價(jià)格適中的優(yōu)點(diǎn)。家庭內(nèi)部的三表可以統(tǒng)一抄送。還可以應(yīng)用在低功率遙感勘測(cè),住宅和建筑自動(dòng)控制,無(wú)線警報(bào)和安全系統(tǒng),工業(yè)監(jiān)測(cè)和控制,無(wú)線傳感器網(wǎng)絡(luò),遙控遙測(cè)系統(tǒng)中,而且適用于電子消費(fèi)產(chǎn)品、住宅、建筑物自動(dòng)控制等諸多無(wú)線應(yīng)用領(lǐng)域。
評(píng)論