鄭桂興
摘要:以凌陽(yáng)SPCE061A單片機(jī)為控制核心,設(shè)計(jì)并制作了一款具有數(shù)字顯示及語(yǔ)言播報(bào)功能的無(wú)線通信系統(tǒng)。文中給出了系統(tǒng)的硬件構(gòu)成,簡(jiǎn)述了利用nRF2401進(jìn)行無(wú)線通信的基本原理和實(shí)現(xiàn)過(guò)程。
關(guān)鍵詞:SPCE061A單片機(jī) 無(wú)線通信系統(tǒng) nRF2401
中圖分類(lèi)號(hào):TP27 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2012)10(a)-0003-01
無(wú)線通信是當(dāng)前發(fā)展最快的技術(shù)之一,與有線相比主要有成本低、攜帶方便、布線安裝簡(jiǎn)便等特點(diǎn),現(xiàn)在已經(jīng)廣泛應(yīng)用于工業(yè)、農(nóng)業(yè)、能源、電力、國(guó)防等各個(gè)領(lǐng)域。目前主要的無(wú)線技術(shù)有:藍(lán)牙、紅外傳輸、無(wú)線局域網(wǎng)(wifi)等。藍(lán)牙主要用于移動(dòng)設(shè)備之間近距離的數(shù)據(jù)傳輸,目前價(jià)格還比較昂貴;紅外數(shù)據(jù)傳輸價(jià)格低廉,但是僅適合用于點(diǎn)對(duì)點(diǎn)的近距離傳輸,不適合組網(wǎng);無(wú)線局域網(wǎng)技術(shù)是以太網(wǎng)的一種無(wú)限擴(kuò)展[1],但由于其硬件實(shí)現(xiàn)需要很大的容納空間,且對(duì)計(jì)算機(jī)的依賴性比較強(qiáng),限制了該項(xiàng)技術(shù)在工業(yè)領(lǐng)域的應(yīng)用。
針對(duì)這些問(wèn)題,本文提出了一種基于SPCE061A單片機(jī)的無(wú)線通信系統(tǒng)的設(shè)計(jì)。
整個(gè)系統(tǒng)的結(jié)構(gòu)框圖如圖1所示。
1 控制核心
本系統(tǒng)采用基于upnSPTM為內(nèi)核的SPCE061A作為控制核心。SPCE061A單片機(jī)是16位微處理器,內(nèi)嵌2KB的SRAM和32KB的FlashROM,無(wú)需像51系列單片機(jī)那樣外接存儲(chǔ)器來(lái)實(shí)現(xiàn)對(duì)圖形和文本代碼的存儲(chǔ),能夠滿足絕大多數(shù)場(chǎng)合的設(shè)計(jì)需求;擁有多達(dá)32位的可編程多功能I/O端口,每個(gè)引腳都可以獨(dú)立編程,使其工作于輸入或輸出方式;8通道10位A/D轉(zhuǎn)換器,其中一路為音頻轉(zhuǎn)換通道,并且內(nèi)置有自動(dòng)增益電路;雙通道10位D/A轉(zhuǎn)換器,只需要外接功放即可完成語(yǔ)音的播放;另外還集成了2個(gè)可自動(dòng)賦初值的16位定時(shí)器/計(jì)數(shù)器、通用異步串行接口(UART)、看門(mén)狗(Watchdog)電路等,進(jìn)一步簡(jiǎn)化了外圍電路的設(shè)計(jì)[2]。
另外,SPCE061A的指令系統(tǒng)提供具有較高運(yùn)算速度的16位×16位的乘法運(yùn)算指令和內(nèi)積運(yùn)算指令,為其應(yīng)用增添了DSP功能,使得μnSPTM家族運(yùn)用在復(fù)雜的數(shù)字信號(hào)處理方面既很便利,又比專(zhuān)用的DSP芯片廉價(jià)。它還擁有較高的處理速度(CPU最高時(shí)鐘可達(dá)49.152MHz)使其能夠快速地處理各種復(fù)雜的數(shù)字信號(hào),非常適用于語(yǔ)音處理。同時(shí)配合凌陽(yáng)公司免費(fèi)提供的語(yǔ)音處理函數(shù)庫(kù),使得這種微控制器成為設(shè)計(jì)低成本語(yǔ)音識(shí)別系統(tǒng)的理想選擇,因此,可稱之為語(yǔ)音單片機(jī)。
2 無(wú)線收發(fā)模塊的設(shè)計(jì)
nRF2401是北歐集成電路公司生產(chǎn)的單片射頻收發(fā)芯片,工作于2.4~2.5GHzISM頻段,輸出功率和通信頻道可通過(guò)程序進(jìn)行配置,芯片能耗非常低,可以使用同一天線接收兩個(gè)不同頻道的數(shù)據(jù),廣泛用于多種無(wú)線通信場(chǎng)合。
nRF2401的收發(fā)模式有ShockBurstTM收發(fā)模式和直接收發(fā)模式兩種。ShockBurstTM收發(fā)模式下,數(shù)據(jù)低速?gòu)奈⒖刂破魉腿?,但高速(最?Mbps)發(fā)射,可以盡量節(jié)能,而且即便使用低速的微控制器也能得到很高的發(fā)射速率。本文采用ShockBurstTM收發(fā)模式。
ShockBurstTM發(fā)射過(guò)程使用接口引腳為CE,CLK1,DATA;接收過(guò)程中使用接口引腳為CE、DR1、CLK1和DATA,使用SPCE061A單片機(jī)的任一輸入輸出端口即可控制nRF2401進(jìn)行收發(fā)。
程序設(shè)計(jì):
nRF2401_Initial(); //初始化nRF2401A
nRF2401_SetAddress(Address,4); //設(shè)置接收端地址為00000001
nRF2401_Mode(1); //設(shè)置nRF2401為發(fā)送模式
nRF2401_SendByte(1); //發(fā)送數(shù)據(jù)
Delay_Us(1000); //延時(shí)
nRF2401_Mode(0); //設(shè)置nRF2401為接收模式
while(nRF2401_RxStatus()==0) //檢測(cè)判斷nRF2401A的接收狀態(tài)
{*P_Watchdog_Clear=0x1;}
nRF2401_ReceiveByte(RxData);//接收到數(shù)據(jù)
3 語(yǔ)音播報(bào)
將SPCE061A單片機(jī)的一路D/A通道外圍添加功放SPY0030A(凌陽(yáng)的一款芯片功能相當(dāng)于LM386,音質(zhì)好,可以工作在2.4~6.0V范圍內(nèi),最大輸出功率可達(dá)700mW),即可將接收的數(shù)據(jù)進(jìn)行播報(bào)。
軟件設(shè)計(jì)如下。
整個(gè)系統(tǒng)軟件由單片機(jī)的初始化程序、液晶顯示器的顯示程序、nRF2401的初始化和收發(fā)程序、語(yǔ)音播報(bào)程序構(gòu)成。
4 實(shí)驗(yàn)和結(jié)論
經(jīng)測(cè)試,在不使用天線、發(fā)送和接收端之間無(wú)障礙的情況下,數(shù)據(jù)傳輸距離在200m左右,若外加天線,則傳輸距離會(huì)大大增加。通過(guò)實(shí)驗(yàn)驗(yàn)證該無(wú)線數(shù)據(jù)傳輸系統(tǒng)運(yùn)行可靠,特別適合于低功耗、小數(shù)據(jù)量的無(wú)線數(shù)據(jù)傳輸系統(tǒng)且具有智能程度高、方便進(jìn)行擴(kuò)展、功率小和攜帶方便等特點(diǎn)。
參考文獻(xiàn)
[1] 黃婷,施國(guó)梁,黃坤.單片機(jī)無(wú)線通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].微處理機(jī),2010(6):27-31.
[2] 李晶皎.嵌入式語(yǔ)音技術(shù)及凌陽(yáng)16位單片機(jī)應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2003:628.