摘要:為實(shí)現(xiàn)終端呼叫數(shù)據(jù)的無線傳輸,設(shè)計(jì)采用STC89C52RC單片機(jī)作為控制芯片,低功耗芯片nRF905作為無線收發(fā)模塊。最后給出該系統(tǒng)的相關(guān)硬件組成電路和數(shù)據(jù)傳輸流程圖。經(jīng)測試,系統(tǒng)運(yùn)行穩(wěn)定可靠,通信距離很遠(yuǎn),且響應(yīng)時(shí)間短,具有很廣泛的應(yīng)用前景。
關(guān)鍵詞:STC89C52RC;無線呼叫;nRF905;數(shù)據(jù)傳輸
隨著科技的進(jìn)步以及生活質(zhì)量的不斷提高,人們要求在消費(fèi)中得到的服務(wù)更加快捷、方便、舒適;同時(shí)處于激烈競爭中的服務(wù)性企業(yè)也需要進(jìn)一步吸引顧客,提高企業(yè)自身的服務(wù)檔次和形象。在這樣的背景下,產(chǎn)生了各種不同類型的呼叫系統(tǒng)。傳統(tǒng)的呼叫系統(tǒng)多是有線的,比如采用分布控制方式的單片機(jī)系統(tǒng),主機(jī)和呼叫器的應(yīng)答通過一根三芯導(dǎo)線,包括電源線、信號(hào)線、地線來完成,各呼叫器并行掛接。這樣的系統(tǒng)存在著布線繁瑣,安裝麻煩、成本高等問題,針對這些問題,無線呼叫系統(tǒng)逐漸發(fā)展起來,越來越多的研究者將目光投向了無線領(lǐng)域。
1 系統(tǒng)設(shè)計(jì)方案
低功耗無線呼叫系統(tǒng)的發(fā)送和接收模塊的框圖如圖1,圖2所示。
其中圖1為無線發(fā)送模塊,以STC89C52RC為主控制核心,及時(shí)響應(yīng)終端的呼叫信息,然后利用nRF905無線傳輸模塊將呼叫信息發(fā)送給無線接收模塊進(jìn)行處理。
圖2為無線接收模塊,以STC89C52RC為主控制核心,利用nRF905無線傳輸模塊接收呼叫信息,然后利用串口轉(zhuǎn)USB線上傳給PC,利用上位機(jī)軟件可以實(shí)時(shí)監(jiān)測。
2 系統(tǒng)硬件電路設(shè)計(jì)
2.1 3.3 V供電電源模塊
該設(shè)計(jì)可用3.3 V電壓供電,故采用ASM1117-3.3電源供電系統(tǒng),如圖3所示。無線發(fā)送模塊和STC89C52RC單片機(jī)皆為低功耗器件。對發(fā)送端而言,在對通信距離要求較遠(yuǎn)時(shí),也可采用5 V供電。接收端可通過與PC連接的USB提供5 V電源。核心部件LM1117-3.3是一個(gè)低壓差電壓調(diào)節(jié)器系列。壓差在1.2 V輸出,此時(shí)相應(yīng)的負(fù)載電流為800mA。
2.2 單片機(jī)控制電路
從電源供給及功耗等各方面的考慮,數(shù)據(jù)處理部分采用STFC89C51RC/RD+系列的STC89C52RC單片機(jī)。STC89C52RC單片機(jī)除具有MCS-51系列單片機(jī)FLASH、RAM、分頻器、位定時(shí)器/計(jì)數(shù)器等結(jié)構(gòu)外,具有如下主要特點(diǎn):加密性強(qiáng),無法解密;超強(qiáng)抗干擾;對外部的電磁輻射低;超低功耗,正常工作模式時(shí)典型功耗為4~7mA。
STC89C52RC單片機(jī)與單片射頻收發(fā)器nRF905連接如圖4所示。
2.3 數(shù)據(jù)傳輸模塊的選擇
數(shù)據(jù)傳輸模塊采用NewMsg_RF905SE模塊,該模塊采用挪威Nordic公司推出的單片射頻收發(fā)器nRF905芯片開發(fā)而成。NewMsg RF905單片無線收發(fā)器工作電壓為1.9~3.6 V,工作在433/868/915 MHz的ISM頻段,最大數(shù)據(jù)速率為100 Kb/s。芯片內(nèi)部由1個(gè)完全集成的頻率調(diào)制器、1個(gè)帶解調(diào)器的接收器、1個(gè)功率放大器、1個(gè)晶體振蕩器和1個(gè)調(diào)節(jié)器組成。ShockBurst工作模式的特點(diǎn)是自動(dòng)產(chǎn)生前導(dǎo)碼和CRC可以很容易通過SPI接口進(jìn)行編程配置電流消耗很低,在發(fā)射功率為+10 dBm時(shí),發(fā)射電流為30 mA接收電流為12.5 mA。進(jìn)入POWERDOWN模式可以很容易實(shí)現(xiàn)節(jié)電。nRF905是單工工作方式,且在待機(jī)模式、接收模式、發(fā)送模式之間切換需要延時(shí),所以在無線通信過程中,通信軟件應(yīng)該有合理的時(shí)序。表1為nRF905的工作模式及相應(yīng)功能。
3 系統(tǒng)的軟件設(shè)計(jì)
系統(tǒng)軟件選用德國Keil公司推出的Cx51編譯器,在nVision 2集成開發(fā)環(huán)境下完成從源程序編輯、編譯調(diào)試,直到生成最終可執(zhí)行文件代碼的全部過程。該系統(tǒng)的重點(diǎn)是控制nRF905的程序設(shè)計(jì)。首先應(yīng)對nRF905進(jìn)行初始配置,配置完成后按需要編寫用戶數(shù)據(jù)的發(fā)送和接收程序。
3.1 初始化配置
初始化配置分為以下3個(gè)部分:
(1)編寫SPIWRITE和SPIREAD子函數(shù),即通過軟件為單片機(jī)配置SPI功能。
(2)初始化nRF905的射頻配置寄存器。這些寄存器中有很多信息,必須根據(jù)實(shí)際情況進(jìn)行配置。設(shè)計(jì)中nRF905外接16 MHz晶體,XOF應(yīng)配置為01,PA2PWB為發(fā)射功率,RX2 RED2 PWB為接收靈敏度,可根據(jù)需要配置。另外還有發(fā)送地址、接收地址、發(fā)送數(shù)據(jù)和接收數(shù)據(jù)的長度,可根據(jù)實(shí)際應(yīng)用配置。
(3)配置nRF905的發(fā)送地址,最多4 B發(fā)送端的發(fā)送地址應(yīng)與接收端設(shè)備的接收地址相同。在實(shí)際工作中,nRF905可以自動(dòng)濾除地址不相同的數(shù)據(jù),只有地址匹配且校驗(yàn)正確的數(shù)據(jù)才會(huì)被接收,并存儲(chǔ)在接收數(shù)據(jù)寄存器中。
3.2 發(fā)送數(shù)據(jù)
nRF905發(fā)送數(shù)據(jù)前,通過條用SPI寫函數(shù),在待機(jī)模式下先把待發(fā)數(shù)據(jù)填進(jìn)發(fā)送數(shù)據(jù)寄存器。然后把nRF905的TRX_CE、TX_EN引腳都置為高電平,數(shù)據(jù)就會(huì)自動(dòng)通過天線發(fā)送出去。為了數(shù)據(jù)可靠地傳輸,將射頻配置寄存器中的自動(dòng)重發(fā)位(AUTO_RE_TRAN)設(shè)為有效,這樣在TRX_ CE被置高的時(shí)間內(nèi)數(shù)據(jù)一直在重復(fù)不斷的發(fā)送。程序中設(shè)計(jì)延時(shí)500 ms,之后拉低TRX_CE引腳,回到待機(jī)模式。
3.3 接收數(shù)據(jù)
STC89C52RC把nRF905的TRX_CE引腳置為高電平,TX_EN引腳置為低電平后,即開始接收數(shù)據(jù)。在設(shè)計(jì)中可設(shè)定在一定的時(shí)間內(nèi)一直判斷nRF905的DR引腳是否變高,若為高,則證明接收到了有效數(shù)據(jù),可以退出接收模式;若一直沒有接收到,待時(shí)間到也退出接收模式。退出后在待機(jī)模式,CPU把nRF905內(nèi)部的接收數(shù)據(jù)寄存器中的數(shù)據(jù)讀出,即接收到的有效數(shù)據(jù)。
3.4 主程序設(shè)計(jì)
在該系統(tǒng)中,主程序包括兩部分:第一部分是主機(jī)(單片機(jī))部分,通過無線模塊接收下位機(jī)(呼叫器)的信息。程序流程圖如圖5所示;第二部分是下位機(jī)(呼叫器)部分,響應(yīng)客戶的呼叫,并通過無線模塊將信息傳送至主機(jī)(單片機(jī))。程序流程圖如圖6所示。
4 結(jié)語
該呼叫系統(tǒng)運(yùn)行穩(wěn)定可靠,并運(yùn)用無線射頻控制技術(shù),通過軟件更新可迅速增容,根據(jù)企業(yè)的規(guī)模隨時(shí)更新軟件,保證系統(tǒng)有最優(yōu)的服務(wù)質(zhì)量。該系統(tǒng)的運(yùn)用,降低了運(yùn)行維護(hù)費(fèi)用、節(jié)約管理成本,具有較大的經(jīng)濟(jì)效益。