中心議題:
- 自動(dòng)抄表系統(tǒng)結(jié)構(gòu)
- 無線自動(dòng)抄表系統(tǒng)主要器件的介紹
- 無線自動(dòng)抄表系統(tǒng)的硬件設(shè)計(jì)及軟件設(shè)計(jì)
近些年信息通信領(lǐng)域中發(fā)展最快、應(yīng)用最廣的就是無線通信技術(shù)。而無線通信技術(shù)又有著集成化、低功耗、易操作的發(fā)展趨勢。微功率短距離無線數(shù)據(jù)傳輸技術(shù)作為一種無線通信實(shí)用技術(shù),一般使用單片射頻收發(fā)芯片,加上微控制器和少量外圍器件構(gòu)成專用或通用無線通信模塊,只要依據(jù)命令字進(jìn)行操作即可實(shí)現(xiàn)基本的數(shù)據(jù)無線短距離抄表功能。本文提出了一種基于CC1100的無線自動(dòng)抄表系統(tǒng),其通信質(zhì)量好、成本低、工作可靠、經(jīng)濟(jì)實(shí)用,可以準(zhǔn)確及時(shí)地將用戶三表數(shù)據(jù)抄送上來,是一種理想的自動(dòng)抄表解決方案,同時(shí)也是抄表收費(fèi)系統(tǒng)發(fā)展的趨勢。
1 抄表系統(tǒng)結(jié)構(gòu)
抄表系統(tǒng)主要由主站、GPRS通信信道、集中器、低壓電力線網(wǎng)絡(luò)、數(shù)據(jù)采集器、用戶電表組成。系統(tǒng)工作原理是利用低壓電力線或者RS一232總線將電表數(shù)據(jù)由采集器傳輸?shù)郊衅鳎缓蠹衅鲗⑿盘柖〞r(shí)或?qū)崟r(shí)地傳送至GPRS網(wǎng)絡(luò),經(jīng)網(wǎng)關(guān)支持節(jié)點(diǎn)(GatewayGPRSSupportNode,GGSN)完成與Internet網(wǎng)絡(luò)的數(shù)據(jù)交換,最后由主站的計(jì)算機(jī)接收Internet上的數(shù)據(jù)并進(jìn)行用戶電表數(shù)據(jù)匯總、電費(fèi)計(jì)量、線損分析等相關(guān)處理。
系統(tǒng)可用于家庭內(nèi)部三表或多表數(shù)據(jù)的抄送。系統(tǒng)下層直接與水表、電表、煤氣表等連接,上層與抄表中心主機(jī)連接,實(shí)現(xiàn)數(shù)據(jù)的遠(yuǎn)程抄送。系統(tǒng)一般使用被動(dòng)抄表方式。上層模塊接收到儀表中心的抄表命令時(shí),通過無線方式向下層模塊發(fā)送抄表指令。無線抄表系統(tǒng)的總體框架如圖1所示。
2 主要器件的介紹
2.1 AT89S52的主要特點(diǎn)
A89S52是一種低功耗、高性能CMOS8位微控制器,具有8k在系統(tǒng)可編程F1ash存儲(chǔ)器。片上F1ash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供了高靈活、超有效的解決方案。
A89S52與MCS一5l單片機(jī)產(chǎn)品兼容,具有8k字節(jié)在系統(tǒng)可編程F1ash存儲(chǔ)器、1000次擦寫周期、全靜態(tài)操作:OHz~33Hz、三級加密程序存儲(chǔ)器、32個(gè)可編程I/O口線、三個(gè)16位定時(shí)器/計(jì)數(shù)器、八個(gè)中斷源、全雙工UART串行通道、低功耗空閑和掉電模式、掉電后中斷可喚醒、看門狗定時(shí)器、雙數(shù)據(jù)指針、掉電標(biāo)識符。
2.2 CC1100主要性能
CC1100是一種低成本真正單片的UHF收發(fā)器,為低功耗無線應(yīng)用而設(shè)計(jì)。電路主要設(shè)定為在315、433、868和915MHz的ISM(工業(yè),科學(xué)和醫(yī)學(xué))和ISRD(短距離設(shè)備)頻率波段,也可以容易地設(shè)置為300~348MHz、400~464MHz和800~928MHz的其他頻段。RF收發(fā)器集成了一個(gè)高度可配置的調(diào)制解調(diào)器。其數(shù)據(jù)傳輸速率可達(dá)500kbps。通過開啟集成在調(diào)制解調(diào)器上的前向誤差校正選項(xiàng),能使性能得到提升。CC1100為數(shù)據(jù)包處理、數(shù)據(jù)緩沖、突發(fā)數(shù)據(jù)傳輸、清晰信道評估、連接質(zhì)量指示和電磁波激發(fā)提供廣泛的硬件支持。CC1100的主要操作參數(shù)和164位傳輸/接收FIF0(先進(jìn)先出堆棧)可通過SPI接口控制。
[page]
3 硬件設(shè)計(jì)
單片機(jī)對發(fā)射模塊和接收模塊的控制,首先都要對單片機(jī)的接口進(jìn)行初始化(SPI總線接口技術(shù)是一種高速、高效率的串行接口技術(shù),主要用于擴(kuò)展外設(shè)和進(jìn)行數(shù)據(jù)交換。),然后要對射頻模塊初始化,在這部分的初始化中要上電復(fù)位芯片和對它的片內(nèi)寄存器進(jìn)行配置。發(fā)射端發(fā)射一組數(shù)據(jù)中首先要通過口對,緩沖區(qū)設(shè)置單次發(fā)送的數(shù)據(jù)個(gè)數(shù),然后寫入要發(fā)送的數(shù)據(jù)包,數(shù)據(jù)自動(dòng)加前導(dǎo)碼和校驗(yàn),接著進(jìn)入發(fā)送模式發(fā)送數(shù)據(jù)包,等待本次發(fā)送結(jié)束,最后沖洗緩沖區(qū),本次發(fā)送完畢。接收端接收一組數(shù)據(jù)中首先進(jìn)入接收模式,等待接收信息完成,然后接收到的數(shù)據(jù)包被分解,讀出所有接收到的數(shù)據(jù)并存儲(chǔ),最后清洗緩沖區(qū),本次接收完畢。CC1100具有包處理機(jī)制、發(fā)送、接收FIF0、WOR模式(WakeonRadio)等諸多特點(diǎn)。在CC1100之前的無線收發(fā)芯片都是采用同步方式將數(shù)據(jù)按位發(fā)送出去,這種方式在發(fā)送與接收數(shù)據(jù)時(shí)處理起來比較麻煩,接收時(shí)還要判斷前導(dǎo)字與同步字。而CC1100把這些繁瑣的工作承擔(dān)下來,當(dāng)需要發(fā)射數(shù)據(jù)時(shí),只需將發(fā)射的數(shù)據(jù)按照一定的格式通過SPI口寫入到發(fā)射FIF0,然后把CC1100配置成發(fā)射狀態(tài),數(shù)據(jù)就會(huì)按照要求發(fā)射出去;當(dāng)需要接收數(shù)據(jù)時(shí),首先將CC1100配置成接收狀態(tài),一旦收到符合要求的數(shù)據(jù),CC1100就會(huì)把收到的數(shù)據(jù)存入接收FIF0,同時(shí)引腳GD00或GD02會(huì)有一個(gè)脈沖出現(xiàn),這個(gè)脈沖可以用來通知MCU有一個(gè)數(shù)據(jù)包已被CC1100收到,MCU就可以通過SPI口將CC1100收到的數(shù)據(jù)取出來。硬件連接如圖2所示。
4 軟件設(shè)計(jì)
CC1100通過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。無論是讀操作還是寫操作,在地址字節(jié)被寫入時(shí),CC1100S0腳上輸出一個(gè)芯片狀態(tài)字節(jié),狀態(tài)字節(jié)包含關(guān)鍵狀態(tài)信號,對MCU是有用的。CC1100的TXFIF0(發(fā)射先進(jìn)先出堆棧)和RXFIF0(接收先進(jìn)先出堆棧)也可以用同樣的讀寫方式進(jìn)行訪問,只是使用與配置寄存器不同的地址段加以區(qū)別。另外,CC1100的指令也是通過SPI接口傳送,CC1100有14個(gè)內(nèi)部指令。這些指令用來關(guān)閉晶體振蕩器,開啟傳輸模式,狀態(tài)轉(zhuǎn)換和電磁波激活等。軟件流程如圖3所示。
通過SI寫入特定的字節(jié)使CC1100執(zhí)行不同的命令,CC1100共有20個(gè)引腳,可通過4線SPI兼容接口配置(包括數(shù)據(jù)線SI、S0、時(shí)鐘線SCLK、使能線CSn)。其中CSn可以連接到一個(gè)IO口來模擬時(shí)序,而其他三個(gè)腳則接到主MCU的SPI接口。通過重復(fù)使用SPI接口上的SI、SCLK和CSn,可使通信的主要狀態(tài)執(zhí)行一個(gè)簡單的三腳控制,即休眠、空閑、RX和TX。CC1100有兩個(gè)專用的配置引腳和一個(gè)共享引腳,能用于輸出對控制軟件有用的內(nèi)部狀態(tài)信息,并能用來對MCU產(chǎn)生中斷,其引腳名為GD00和GD01。共享引腳為SPI接口上的S0腳。GDOl/SO的默認(rèn)設(shè)置為3狀態(tài)輸出。通過選擇任意其他的控制選項(xiàng)可使GD01/SO腳成為一般引腳。當(dāng)CSn為低時(shí),此引腳的功能如一般S0腳;而在同步和異步連續(xù)模式下,處于傳輸模式時(shí),GD00腳被用作連續(xù)TX數(shù)據(jù)輸入腳。
5 結(jié)論
無線自動(dòng)抄表系統(tǒng)是未來發(fā)展的必然趨勢,而對于抄表系統(tǒng)的改造,由AT89S52單片機(jī)和CC1100構(gòu)成的無線自動(dòng)抄表系統(tǒng)具有使用方便、成本低、應(yīng)用靈活、價(jià)格適中的優(yōu)點(diǎn)。家庭內(nèi)部的三表可以統(tǒng)一抄送。還可以應(yīng)用在低功率遙感勘測,住宅和建筑自動(dòng)控制,無線警報(bào)和安全系統(tǒng),工業(yè)監(jiān)測和控制,無線傳感器網(wǎng)絡(luò),遙控遙測系統(tǒng)中,而且適用于電子消費(fèi)產(chǎn)品、住宅、建筑物自動(dòng)控制等諸多無線應(yīng)用領(lǐng)域。