系統(tǒng)軟件設(shè)計(jì) - 無(wú)線(xiàn)熱網(wǎng)監(jiān)測(cè)系統(tǒng)設(shè)計(jì)方案的實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引言
目前,城市住宅供熱的熱能早已商品化,往往諸多的熱量之差問(wèn)題,是供熱企業(yè)與居民矛盾的導(dǎo)火線(xiàn)。熱能計(jì)量成為供熱企業(yè)新的需求。根據(jù)目前住宅狀況,無(wú)線(xiàn)控制系統(tǒng)在熱網(wǎng)計(jì)量中具有施工方便,節(jié)省資源的優(yōu)勢(shì)。但是由于以往熱網(wǎng)采用的無(wú)線(xiàn)通信模塊的發(fā)射距離近,穿透性差,造成數(shù)據(jù)不能實(shí)時(shí)回讀和控制,不能充分體現(xiàn)熱網(wǎng)的計(jì)費(fèi)充分透明。Si4432是Silicon Labs公司推出的新一代無(wú)線(xiàn)通信芯片,它具有發(fā)射距離遠(yuǎn)、穿透能力強(qiáng)、功耗低等優(yōu)點(diǎn),完全可以應(yīng)用到本系統(tǒng)中。通過(guò)Si4432的應(yīng)用,熱網(wǎng)數(shù)據(jù)能夠可靠、實(shí)時(shí)地傳輸,通過(guò)GPRS無(wú)線(xiàn)通信模塊和Si4432無(wú)線(xiàn)傳輸模塊對(duì)熱網(wǎng)的控制,進(jìn)行溫度、壓力、控制閥的開(kāi)啟時(shí)間等數(shù)據(jù)的傳輸與交互,從而解決熱能計(jì)量不透明的問(wèn)題,為最終實(shí)現(xiàn)溫度的實(shí)時(shí)監(jiān)控計(jì)量和熱網(wǎng)的參數(shù)采集提供前提條件。
1 關(guān)于Si4432芯片
Si4432芯片是Silicon Labs公司推出的一款高集成度、低功耗、多頻段的EZRadioPRO系列無(wú)線(xiàn)收發(fā)芯片。其工作電壓為1.9~3.6 V,20引腳QFN封裝(4 mm×4 mm),可工作在315/433/868/915 MHz四個(gè)頻段;內(nèi)部集成分集式天線(xiàn)、功率放大器、喚醒定時(shí)器、數(shù)字調(diào)制解調(diào)器、64字節(jié)的發(fā)送和接收數(shù)據(jù)FIFO以及可配置的GPIO等。
Si4432芯片在使用時(shí)所需的外部元件很少,僅需要1個(gè)30 MHz的晶振、幾個(gè)電容和電感就可組成一個(gè)高可靠性的收發(fā)系統(tǒng),設(shè)計(jì)簡(jiǎn)單,且成本低。
Si4432的接收靈敏度達(dá)到-117 dB,可提供極佳的鏈路質(zhì)量,在擴(kuò)大傳輸范圍的同時(shí)將功耗降至最低;最小濾波帶寬達(dá)8 kHz,具有極佳的頻道選擇性;在240~960MHz頻段內(nèi),不加功率放大器時(shí)的最大輸出功率就可達(dá)+20 dBm,設(shè)計(jì)良好時(shí)收發(fā)距離最遠(yuǎn)可達(dá)2km.
Si4432做成無(wú)線(xiàn)通信模塊應(yīng)用廣泛,可適用于無(wú)線(xiàn)數(shù)據(jù)通信、無(wú)線(xiàn)遙控系統(tǒng)、小型無(wú)線(xiàn)網(wǎng)絡(luò)、小型無(wú)線(xiàn)數(shù)據(jù)終端、無(wú)線(xiàn)抄表、門(mén)禁系統(tǒng)、無(wú)線(xiàn)遙感監(jiān)測(cè)、水文氣象監(jiān)控、機(jī)器人控制、無(wú)線(xiàn)RS485/RS232數(shù)據(jù)通信等諸多領(lǐng)域。
Si4432芯片引腳圖如圖1所示。
圖1 Si4432芯片引腳圖
2 系統(tǒng)功能與結(jié)構(gòu)設(shè)計(jì)
2.1 系統(tǒng)功能
系統(tǒng)可對(duì)熱網(wǎng)的運(yùn)行實(shí)時(shí)監(jiān)視、測(cè)量、記錄熱網(wǎng)運(yùn)行參數(shù)并進(jìn)行參數(shù)(溫度、壓力等參數(shù))的超限報(bào)警;完成日常的管理工作,包括報(bào)表的生成和打印、熱網(wǎng)計(jì)量管理、對(duì)控制器的控制、參數(shù)設(shè)定、遠(yuǎn)程數(shù)據(jù)采集、運(yùn)行數(shù)據(jù)的匯總、綜合分析以及歷史數(shù)據(jù)的備份等功能。通過(guò)對(duì)熱網(wǎng)進(jìn)行自動(dòng)控制,使整個(gè)系統(tǒng)供熱均勻,滿(mǎn)足舒適性要求。同時(shí)減少熱量消耗,達(dá)到節(jié)能的目的,為最終實(shí)現(xiàn)“熱”的商品化和市場(chǎng)化提供前提條件。
2.2 系統(tǒng)拓?fù)浣Y(jié)構(gòu)
整個(gè)系統(tǒng)總體上可以分為3層:管理層、中繼層和現(xiàn)場(chǎng)儀表層。現(xiàn)場(chǎng)儀表層又可以分為控制器和遙控器。系統(tǒng)的拓?fù)浣Y(jié)構(gòu)如圖2所示。
2.2.1 管理層
管理層是位于熱力公司的主站,由以工業(yè)控制機(jī)為核心的網(wǎng)絡(luò)組成,工業(yè)控制機(jī)全天候運(yùn)行。工業(yè)控制機(jī)既是調(diào)度中心的服務(wù)器,同時(shí)相對(duì)于各采集控制站點(diǎn)來(lái)說(shuō),又是客戶(hù)機(jī)。服務(wù)器通過(guò)寬帶實(shí)時(shí)采集、存儲(chǔ)來(lái)自各客戶(hù)機(jī)站點(diǎn)的數(shù)據(jù),并對(duì)各站點(diǎn)運(yùn)行情況進(jìn)行實(shí)時(shí)監(jiān)控??蛻?hù)機(jī)通過(guò)GPRS通信模塊和中繼層的集中器通信,采集集中器下的各個(gè)控制器的參數(shù),進(jìn)行實(shí)時(shí)采集和監(jiān)控。
2.2.2 中繼層
中繼層位于用戶(hù)樓宇的公共位置,主要是集中器。它的通信部分由GPRS模塊和Si4432芯片組成。它和管理層采用GPRS模塊通信,在現(xiàn)場(chǎng)儀表層采集溫度、壓力、控制閥的狀態(tài)和開(kāi)啟時(shí)間等數(shù)據(jù)并將這些數(shù)據(jù)通過(guò)GPRS網(wǎng)絡(luò)傳輸給管理層;集中器和現(xiàn)場(chǎng)儀表層采用Si4432無(wú)線(xiàn)收發(fā)芯片進(jìn)行通信,隨時(shí)采集現(xiàn)場(chǎng)儀表層的溫度、壓力、控制閥的狀態(tài)和開(kāi)啟時(shí)間等數(shù)據(jù),并且發(fā)送相關(guān)命令。
2.2.3 現(xiàn)場(chǎng)儀表層
現(xiàn)場(chǎng)儀表層位于各個(gè)熱用戶(hù)的住宅內(nèi)和管道井里,主要由控制器和遙控器組成??刂破鞣旁诠艿谰?,由2套Si4432無(wú)線(xiàn)收發(fā)芯片組成。它分別和集中器和遙控器通信,將熱網(wǎng)的溫度、壓力、控制閥的開(kāi)關(guān)時(shí)間等參數(shù)上傳到集中器,同時(shí)接收集中器的命令;另一模塊完成與遙控器的通信,采集遙控器測(cè)定的室溫和設(shè)定的控制溫度,對(duì)控制閥進(jìn)行控制,從而控制室溫。遙控器放在室內(nèi),可以采集室內(nèi)的溫度,并由用戶(hù)對(duì)室內(nèi)的溫度進(jìn)行預(yù)設(shè),通過(guò)Si4432芯片將參數(shù)送到控制器內(nèi),實(shí)現(xiàn)溫度的控制。
3 系統(tǒng)軟硬件設(shè)計(jì)
3.1 系統(tǒng)硬件設(shè)計(jì)
系統(tǒng)硬件部分主要由中繼層與現(xiàn)場(chǎng)儀表層兩部分組成。現(xiàn)場(chǎng)儀表層又分為控制器和遙控器。
中繼層主要由GPRS模塊和Si4432芯片組成。GPRS模塊選用Motorola公司的模塊G20.G20是該公司推出的內(nèi)嵌TCP/IP協(xié)議的GSM/GPRS模塊,性能優(yōu)越,體積小巧,而且解決了GSM/GPRS模塊無(wú)線(xiàn)通信和數(shù)據(jù)傳輸終端的協(xié)議瓶頸和成本問(wèn)題。該模塊廣泛應(yīng)用于短信中心、GPRS監(jiān)控系統(tǒng)、無(wú)線(xiàn)POS機(jī)、無(wú)線(xiàn)抄表、車(chē)輛防盜等。G20通過(guò)UART與控制處理芯片進(jìn)行通信,將數(shù)據(jù)信息與控制信號(hào)在控制器和上位機(jī)之間進(jìn)行雙向傳遞。控制器中是由Si4432芯片通過(guò)SPI與單片機(jī)C8051F310通信,將數(shù)據(jù)信息與控制信號(hào)和控制層之間進(jìn)行雙向的傳遞;同時(shí)通過(guò)另一路Si4432和遙控器之間進(jìn)行數(shù)據(jù)交換。
無(wú)論集中器和控制器,還是控制器和遙控器的通信均是通過(guò)Si4432無(wú)線(xiàn)收發(fā)芯片來(lái)完成。所以為了將設(shè)計(jì)模塊化,減少工作量,針對(duì)Si4432設(shè)計(jì)了無(wú)線(xiàn)通信模塊。Si4432無(wú)線(xiàn)收發(fā)模塊如圖3所示。
Si4432的13~16腳是標(biāo)準(zhǔn)的SPI接口,17腳(nIRQ)是中斷狀態(tài)輸出引腳。當(dāng)FIFO溢出、有效的數(shù)據(jù)包發(fā)送或接收、CRC錯(cuò)誤、檢測(cè)到前導(dǎo)位和同步字、上電復(fù)位等情況發(fā)生,且相應(yīng)的中斷被使能時(shí),17腳都會(huì)產(chǎn)生一個(gè)低電平以通知單片機(jī)有中斷產(chǎn)生。20腳(SDN)決定了Si4432芯片的工作狀態(tài)。當(dāng)SDN接地(SDN=0)時(shí),芯片處于常規(guī)工作模式;接高電平(SDN=1)時(shí),芯片處于掉電模式。掉電模式下寄存器中的內(nèi)容會(huì)丟失,且不允許SPI訪(fǎng)問(wèn),但芯片的電流損耗只有10 nA,功耗很低,因此適合要求極低功耗的應(yīng)用。在連接到電源后,在SDN的下降沿上電復(fù)位,根據(jù)指令轉(zhuǎn)換到其他工作模式。
單片機(jī)可以通過(guò)內(nèi)置SPI對(duì)Si4432的內(nèi)部寄存器進(jìn)行讀寫(xiě)操作,靈活配置各項(xiàng)參數(shù)。通過(guò)SPI接口完成對(duì)Si4432的初始化配置、讀寫(xiě)數(shù)據(jù)、訪(fǎng)問(wèn)FIFO等操作。使用4線(xiàn)SPI,即MOSI、MISO、SCK和nSEL.MOSI用于從單片機(jī)到Si4432的串行數(shù)據(jù)傳輸;MISO用于從Si4432到單片機(jī)的串行數(shù)據(jù)傳輸;SCK用于同步單片機(jī)和Si4432之間在MOSI和MISO線(xiàn)上的串行數(shù)據(jù)傳輸;nSEL作為片選信號(hào),只有片選信號(hào)為低電平時(shí),對(duì)Si44 32的操作才有效。
為了達(dá)到較好的通信效果,Si4432的接收低噪聲放大器匹配電路和發(fā)射功率放大器匹配電路的阻容參數(shù),應(yīng)嚴(yán)格按照數(shù)據(jù)手冊(cè)提供的參數(shù)選型。前端的分集式電路采用UPG2214TB,其VC1腳和VC2腳分別連接Si4432的GPIO1和GPIO2.通過(guò)這款交叉開(kāi)關(guān)實(shí)現(xiàn)分集式天線(xiàn)發(fā)送和接收通道的自動(dòng)切換。
3.2 系統(tǒng)軟件設(shè)計(jì)
軟件編程采用模塊化設(shè)計(jì)思想,系統(tǒng)中各主要功能模塊均編成獨(dú)立的函數(shù)由主程序調(diào)用,功能模塊包括:初始化程序(包括初始化C8051 F310、SPI、Si4432)、無(wú)線(xiàn)發(fā)送程序以及無(wú)線(xiàn)接收程序等。無(wú)線(xiàn)發(fā)送程序負(fù)責(zé)寫(xiě)入數(shù)據(jù)載荷,并根據(jù)通信協(xié)議為數(shù)據(jù)載荷加上前導(dǎo)碼、同步字、數(shù)據(jù)載荷長(zhǎng)度及CRC校驗(yàn)字節(jié),形成數(shù)據(jù)包將其發(fā)送出去;無(wú)線(xiàn)接收程序負(fù)責(zé)接收并檢驗(yàn)數(shù)據(jù)包中的CRC字節(jié),以確保接收到的數(shù)據(jù)的正確性。
3.2.1 初始化程序
初始化程序包括C8051F310的初始化、SPI的初始化,以及Si4432的關(guān)于無(wú)線(xiàn)收發(fā)頻率、工作模式、發(fā)射速率等內(nèi)部寄存器的初始化配置。
系統(tǒng)上電后,C8051F310處于默認(rèn)狀態(tài),根據(jù)系統(tǒng)功能需求重新進(jìn)行初始化配置。C8051F310的數(shù)字交叉開(kāi)關(guān)允許將內(nèi)部數(shù)字系統(tǒng)資源映射到端口I/O引腳,可通過(guò)設(shè)置交叉開(kāi)關(guān)控制寄存器,將片內(nèi)資源配置到具體的I/O引腳上。這一特性允許用戶(hù)根據(jù)自己的特定應(yīng)用選擇通用I/O端口和所需數(shù)字資源的組合,提高了應(yīng)用的靈活性。本系統(tǒng)中,主要配置了SPI通信的4線(xiàn),液晶LCD的數(shù)據(jù)線(xiàn)接口、控制線(xiàn)接口等。
初始化SPI時(shí),可以通過(guò)塒SPI1CFG寄存器和SPI1CN寄存器的配置來(lái)選擇具體使用規(guī)則。這里,選擇主SPI,4線(xiàn)模式,時(shí)鐘極性為低電平,在時(shí)鐘上升沿時(shí)對(duì)數(shù)據(jù)采樣;通過(guò)配置SPI1CKR寄存器,可將同步時(shí)鐘頻率設(shè)為晶振頻率的1/4.
上電之初,Si4432也處于默認(rèn)狀態(tài),需要進(jìn)行配置才能工作。Si4432有70多個(gè)寄存器需要配置,它們決定了Si4432的丁作模式,具體配置可以參考Si4432的數(shù)據(jù)手冊(cè)。Si4432的初始化是一個(gè)重要的部分,配置的恰當(dāng)與否對(duì)系統(tǒng)最終的通信效果有很大的影響。主控制器C8051 F310通過(guò)SPI配置Si4432的1ch、1dh等寄存器,寫(xiě)入相應(yīng)的初始化RF控制字(主要是頻率、傳輸速度、傳輸方式等);通過(guò)配置33h、34h等寄存器來(lái)設(shè)置包的結(jié)構(gòu)、前導(dǎo)碼長(zhǎng)度、同步字內(nèi)容等。本系統(tǒng)采用同步傳輸模式,以0x2DD4作為同步模式的標(biāo)志碼,傳輸完同步字后才開(kāi)始傳輸數(shù)據(jù)載荷。
3.2.2 無(wú)線(xiàn)發(fā)送程序
無(wú)線(xiàn)發(fā)送程序流程如圖4所示。完成C8051F310、SPI和Si4432的初始化后,配置寄存器寫(xiě)入相應(yīng)的初始化RF控制字。接下來(lái),通過(guò)配置Si4432的寄存器3eh來(lái)設(shè)置包的長(zhǎng)度,通過(guò)SPI連續(xù)寫(xiě)寄存器7fh,往TX FIFO里寫(xiě)入需要發(fā)送的數(shù)據(jù)。然后打開(kāi)“發(fā)送完中斷允許”標(biāo)志,將其他中斷都禁止。當(dāng)有數(shù)據(jù)包發(fā)送完時(shí),引腳nIRQ會(huì)被拉低以產(chǎn)生一個(gè)低電平從而通知C8051F310數(shù)據(jù)包已發(fā)送完畢。完成中斷使能后,使能發(fā)送功能,數(shù)據(jù)開(kāi)始發(fā)送。等待nIRQ引腳因中斷產(chǎn)生而使電平拉低,當(dāng)nIRQ引腳變?yōu)榈蜁r(shí)讀取中斷狀態(tài)并拉高nIRQ,否則繼續(xù)等待。一次數(shù)據(jù)發(fā)送成功后,進(jìn)入下一次數(shù)據(jù)循環(huán)發(fā)送狀態(tài)。
3.2.3 無(wú)線(xiàn)接收程序
程序完成C8051F310、SPI接口和Si4432的初始化后,配置寄存器寫(xiě)入相應(yīng)的初始化RF控制字。通過(guò)訪(fǎng)問(wèn)寄存器7fh從RX FIFO中讀取接收到的數(shù)據(jù)。相應(yīng)的控制字設(shè)置好之后,若引腳nIRQ變成低電平,則表示Si4432準(zhǔn)備好接收數(shù)據(jù)。完成這些初始化配置后,通過(guò)寄存器4bh讀取包長(zhǎng)度信息。然后,打開(kāi)“有效包中斷”和“同步字檢測(cè)中斷”,將其他中斷都禁止。引腳nIRQ用來(lái)檢測(cè)是否有有效包被檢測(cè)到,若引腳nIRQ變?yōu)榈碗娖剑瑒t表示有效的數(shù)據(jù)包被檢測(cè)到。本系統(tǒng)用0x2DD4作為同步模式的標(biāo)志碼,接收模塊通過(guò)檢測(cè)這個(gè)同步字來(lái)同步接收數(shù)據(jù)。最后,使能接收功能,數(shù)據(jù)開(kāi)始接收。等待nIRQ引腳因產(chǎn)生中斷而使電平拉低,讀取中斷標(biāo)志位復(fù)位nIRQ引腳,使nIRQ恢復(fù)至初始的高電平狀態(tài)以準(zhǔn)備下一次中斷觸發(fā)的檢測(cè)。通過(guò)SPI讀取RX FIFO中的數(shù)據(jù),之后進(jìn)入下一次數(shù)據(jù)接收狀態(tài)。無(wú)線(xiàn)接收程序流程如圖5所示。
4 系統(tǒng)測(cè)試與分析
為驗(yàn)證本無(wú)線(xiàn)射頻收發(fā)系統(tǒng)設(shè)計(jì)的可靠性,進(jìn)行了7組“發(fā)射模塊-接收模塊”通信實(shí)驗(yàn)。在空曠地通信距離約為1 600 m時(shí),7組“發(fā)射模塊-接收模塊”分別工作在430.50 MHz、431.50 MHz、432.50 MHz等7個(gè)中心頻率上,帶寬均取112.8 kHz,頻率偏移取±25 kHz,發(fā)送4 000個(gè)數(shù)據(jù)包,實(shí)驗(yàn)結(jié)果如表1所列。
從表1中可以看出,在傳輸速率較低時(shí),誤碼率為0;在傳輸速率為100 kbps(或以上)時(shí),有一定的誤碼,但誤碼率不高于0.050%.因此,該無(wú)線(xiàn)射頻收發(fā)系統(tǒng)具有傳輸距離遠(yuǎn)、穿透能力強(qiáng)、通信誤碼率低的特點(diǎn)。
結(jié)語(yǔ)
采用Si4432這種短距離無(wú)線(xiàn)通信芯片,完全可以擴(kuò)充為一個(gè)網(wǎng)絡(luò)系統(tǒng),形成一個(gè)無(wú)線(xiàn)網(wǎng)絡(luò),使本系統(tǒng)在熱網(wǎng)監(jiān)控系統(tǒng)的解決方案中不需要重新布線(xiàn)就可以有效地進(jìn)行溫度采集和控制;本文所設(shè)計(jì)的無(wú)線(xiàn)射頻收發(fā)系統(tǒng)工作可靠、穩(wěn)定,具有很好的通用性和適用性,所以基于Si4432芯片的無(wú)線(xiàn)通信技術(shù)可以給熱網(wǎng)監(jiān)控系統(tǒng)的數(shù)據(jù)采集增加一種新的解決方案,但也需要對(duì)熱閥進(jìn)行數(shù)字化升級(jí)。隨著無(wú)線(xiàn)通信的發(fā)展,Si4432芯片的短距離無(wú)線(xiàn)通信技術(shù)和GPRS移動(dòng)通信技術(shù)將在工控系統(tǒng)中有廣闊的發(fā)展空間。