摘 要: 提出一種采用短距離無(wú)線通信芯片CYWUSB6934的全智能電子解說(shuō)" title="電子解說(shuō)">電子解說(shuō)系統(tǒng)解決方案。介紹了系統(tǒng)功能,、構(gòu)成,、無(wú)線模塊" title="無(wú)線模塊">無(wú)線模塊及其與單片機(jī)的接口編程等,。
關(guān)鍵詞: 無(wú)線電 導(dǎo)游 電子解說(shuō) CYWUSB6934
傳統(tǒng)的旅游景區(qū),、展覽館,、博物館中的解說(shuō)工作主要由解說(shuō)員擔(dān)任,相同的內(nèi)容每天要重復(fù)講解多次,,且絕大多數(shù)解說(shuō)員只能用單一語(yǔ)種解說(shuō),。其工作不但乏味,而且不能保證解說(shuō)質(zhì)量,。特別是人數(shù)較多,、多個(gè)解說(shuō)員同時(shí)講解時(shí),,觀眾或游客大多聽不到或聽不清楚解說(shuō)內(nèi)容,。本文介紹一種智能無(wú)線" title="智能無(wú)線">智能無(wú)線電子解說(shuō)系統(tǒng),具有智能化,、個(gè)性化,、高音質(zhì)、實(shí)用性強(qiáng)等特點(diǎn),。無(wú)論觀眾到達(dá)的時(shí)間先后,,也無(wú)論觀眾的語(yǔ)言是否相同,該系統(tǒng)都能根據(jù)觀眾的位置和需要自動(dòng)確定解說(shuō)的語(yǔ)言和內(nèi)容,,使每個(gè)觀眾不但得到每個(gè)展位,、景點(diǎn)的完整信息,而且感受到高清晰,、低噪聲的音響效果,。
1 系統(tǒng)結(jié)構(gòu)
一種能夠自動(dòng)識(shí)別當(dāng)前所處區(qū)域并自動(dòng)切換和播放與該區(qū)域?qū)?yīng)的解說(shuō)文件的智能無(wú)線電子解說(shuō)系統(tǒng)如圖1所示,系統(tǒng)由地址碼無(wú)線發(fā)射機(jī)和手持智能無(wú)線接收終端組成,。
地址碼無(wú)線發(fā)射機(jī)安裝在各個(gè)景點(diǎn)或展臺(tái)處,,周期性地向外發(fā)射自身地址碼,不同的景點(diǎn)/展臺(tái)具有不同的地址碼,,同一景點(diǎn)/展臺(tái)可以布置一個(gè)或多個(gè)相同地址碼的發(fā)射機(jī),,盡量讓所發(fā)射的信號(hào)覆蓋整個(gè)景點(diǎn)/展臺(tái)。隨著用戶的移動(dòng),,所攜帶的手持智能無(wú)線接收終端在走近某景點(diǎn)/展臺(tái)時(shí)會(huì)自動(dòng)接收到對(duì)應(yīng)該景點(diǎn)/展臺(tái)的地址碼,,通過對(duì)該地址碼的解析,,接收終端調(diào)用并切換到該地址碼對(duì)應(yīng)的解說(shuō)文件進(jìn)行播放。
2 系統(tǒng)設(shè)計(jì)
2.1 設(shè)計(jì)技術(shù)指標(biāo)
·各景點(diǎn)/展臺(tái)的覆蓋范圍為5~25米可調(diào),;
·各景點(diǎn)/展臺(tái)之間互不干擾,;
·景點(diǎn)識(shí)別編碼發(fā)射采用ISM頻段;
·可由用戶選擇語(yǔ)音播放語(yǔ)種,,USB接口快速下載,;
·信號(hào)發(fā)射功率" title="發(fā)射功率">發(fā)射功率在允許范圍之內(nèi)可調(diào);
·能在溫度濕度相對(duì)惡劣的環(huán)境下工作,;
·自動(dòng)實(shí)現(xiàn)不同景點(diǎn)/展臺(tái)的解說(shuō)內(nèi)容切換,;
·能存儲(chǔ)30個(gè)景點(diǎn)/展臺(tái)、每個(gè)景點(diǎn)/展臺(tái)5分鐘左右的解說(shuō)詞,;
·發(fā)射主機(jī)符合國(guó)家相關(guān)標(biāo)準(zhǔn),。
為了滿足設(shè)計(jì)技術(shù)指標(biāo)的要求,對(duì)構(gòu)成系統(tǒng)的主要器件做如下選擇:(1)發(fā)射機(jī)的低功耗單片機(jī)采用TI公司的MSP430F133,;(2)接收終端的MCU采用ATMEL公司的AT89C51SND1C,,該芯片集成了MP3解碼核和USB接口模塊;(3)無(wú)線模塊采用CYWUSB6934,;(4)Flash存儲(chǔ)器采用三星公司的K9F1208UOB,;(5)顯示電路由多個(gè)LED構(gòu)成,顯示當(dāng)前所處的景點(diǎn)/展臺(tái)位置,。
2.2 CYWUSB6934無(wú)線收發(fā)器件
CYWUSB6934是CYPRESS公司推出的低成本高集成2.4GHz直序擴(kuò)頻射頻片上系統(tǒng),。該器件工作于ISM頻段,共78個(gè)頻道可選,,具有低功耗,、低輻射等特點(diǎn)。發(fā)射功率最大為0dBm(1mW),,且具有7個(gè)等級(jí)可調(diào),;無(wú)線接收靈敏度高,可達(dá)-90dBm(10-12瓦),;最大發(fā)射功率下的傳輸半徑超過10m,,數(shù)據(jù)傳輸速率可達(dá)62.5kbps;與單片機(jī)之間的接口為SPI口,,最高數(shù)據(jù)速率為2Mbps,;處于Power Down模式下的待機(jī)電流小于1μA;內(nèi)部集成了無(wú)線收發(fā)模塊,、高斯頻移鍵控調(diào)制解調(diào)模塊,、一對(duì)直序擴(kuò)頻基帶處理模塊以及一對(duì)串并/并串轉(zhuǎn)換模塊;外圍電路僅需要少量電容和電感,,體積小,、穩(wěn)定性高,,主要用于鍵盤、鼠標(biāo)等無(wú)線USB連接,。由于其短距離,、功耗低等特點(diǎn),非常適用于景點(diǎn)/展臺(tái)的無(wú)線電子解說(shuō)系統(tǒng),。
2.3 地址碼無(wú)線發(fā)射機(jī)
MSP430F133具有超低功耗結(jié)構(gòu)體系,,工作電壓1.8~3.6V;VCC為3V且在1MHz時(shí)鐘條件下運(yùn)行時(shí),,耗電電流僅為420μA,,最高不超過560μA。該芯片共有6種工作模式,,包括5種省電模式(LPM0~LPM4)和一種正常模式(AM),。LPM3和LPM4兩種模式下,耗電電流不到2μA,;用中斷喚醒CPU的時(shí)間僅6μs,,因此可以在正常模式與低功耗模式之間靈活快速地轉(zhuǎn)換,從而降低功耗,。
因?yàn)槌鼳M模式外的5種省電模式CPU都不再執(zhí)行指令,,所以,必須讓芯片在AM模式和省電模式之間來(lái)回轉(zhuǎn)換,。本文制定的工作流程如下:
芯片上電之后處于正常模式(AM),,完成端口初始化、外設(shè)初始化和定時(shí)器A初始化等各類初始化工作后,,讓無(wú)線模塊進(jìn)入Power Down模式,同時(shí)打開定時(shí)器A,,開中斷,,然后進(jìn)入LPM3模式(由于定時(shí)器A所選用時(shí)鐘是ACLK,因此LPM3是保證ACLK前提下的最省電模式),。定時(shí)器A定時(shí)時(shí)間到后將產(chǎn)生中斷,,單片機(jī)從LPM3模式回到正常工作模式,喚醒無(wú)線模塊,,并發(fā)送數(shù)據(jù),。發(fā)送完畢后,繼續(xù)讓無(wú)線模塊進(jìn)入Power Down模式,,然后開定時(shí)器,,開中斷,再次進(jìn)入LPM3模式,,等待下一次定時(shí)中斷到來(lái),。發(fā)射端狀態(tài)機(jī)如圖2所示,。
2.4 手持智能無(wú)線接收終端
每個(gè)景點(diǎn)/展臺(tái)的解說(shuō)內(nèi)容都以特定的文件格式存儲(chǔ)在手持智能無(wú)線接收終端的Flash中,每個(gè)文件都唯一對(duì)應(yīng)一個(gè)地址碼,。本系統(tǒng)解說(shuō)文件采用48kbps的比特率,,64MB Flash可存儲(chǔ)180分鐘的解說(shuō)內(nèi)容,既保證了音質(zhì),,也基本滿足播放時(shí)間要求,。若采用更低的比特率,可獲得更長(zhǎng)的播放時(shí)間,。
接收終端開機(jī)完成各模塊的初始化后,,打開無(wú)線模塊,開始監(jiān)聽信道,,同時(shí)播放歡迎詞,,等待中斷產(chǎn)生。CYWUSB6934的IRQ引腳連接到MCU的INT_0引腳上,,當(dāng)收到1字節(jié)數(shù)據(jù)后,,會(huì)在其IRQ引腳上產(chǎn)生一次中斷,通知MCU已收到數(shù)據(jù),。MCU響應(yīng)外部中斷0,,通過SPI口總線讀取CYWUSB6934接收數(shù)據(jù)寄存器中收到的地址碼,與當(dāng)前播放文件所對(duì)應(yīng)的地址碼進(jìn)行比較,。若相同則繼續(xù)播放,,若不同則切換到接收地址碼對(duì)應(yīng)文件播放。
為了提高切換的可靠性,,避免頻繁切換,,規(guī)定連續(xù)若干次收到同一地址碼時(shí)才進(jìn)行切換。同時(shí),,每次收到地址碼后還要讀取RSSI寄存器中的值,,若小于規(guī)定閾值,則此次接收判作無(wú)效,。
2.5 SPI口編程
對(duì)CYWUSB6934的操作就是對(duì)各個(gè)功能寄存器寫入正確的值或讀出需要的值,。一共有32個(gè)寄存器,包括發(fā)送數(shù)據(jù)寄存器在內(nèi)需要寫入的數(shù)據(jù)有22個(gè),。圖3和圖4分別是CYWUSB6934 SPI傳輸格式和單字節(jié)寫入時(shí)序,。由此可知:
·要對(duì)某個(gè)寄存器進(jìn)行寫入,必須連續(xù)傳輸兩個(gè)字節(jié),,第一個(gè)為寄存器地址等信息,,第二個(gè)才是真正的數(shù)據(jù)。
·SS信號(hào)在每次寫入或讀出操作時(shí)都持續(xù)有效,,但在這之前與之后均保持無(wú)效,。
·時(shí)鐘信號(hào)SCK在空閑時(shí)保持低電平,,在每個(gè)上升沿時(shí)對(duì)數(shù)據(jù)進(jìn)行采樣,數(shù)據(jù)的變化發(fā)生在下降沿處,。
基于上述幾點(diǎn),,對(duì)接收端" title="接收端">接收端MCU的設(shè)置為:CPOL=0,CPHA=0,;對(duì)發(fā)射端單片機(jī)的設(shè)置為:CKPH=1,,CKPL=0。
接收端SPI口單個(gè)寄存器寫操作代碼如下(軟件開發(fā)環(huán)境為Keil C51):
void SPI_reg_write(unsigned char address,,unsigned char content)
{address &=0x3f,;
address |=0x80; //傳輸方向?yàn)镮nput
SS_=0,; //ss有效(為低)
SPDAT=address,; //送寄存器地址
while(!(SPSTA & SPIF)); //若SPIF沒有置位,,等待
serial_data=SPDAT,; //接收數(shù)據(jù)
SPDAT=content; //送入該寄存器的值
while(!(SPSTA & SPIF)),; //若SPIF沒有置位,,等待
serial_data=SPDAT; //接收數(shù)據(jù)
SS_=1,; //ss無(wú)效(為高)
}
?
接收端SPI口單個(gè)寄存器讀操作與寫操作流程大體相似,,僅三點(diǎn)不同:(1)傳輸方向?yàn)镺utput;(2)寫入寄存器的值可為任意值,;(3)最后一次接收的數(shù)據(jù)即為讀取值,,需返回此值。
發(fā)射端單片機(jī)對(duì)無(wú)線模塊的操作流程與接收端類似(開發(fā)環(huán)境為IAR EW430),。發(fā)射端SPI口單個(gè)寄存器寫操作代碼如下:
void RF_write_sigle_reg(unsigned char reg_add,,unsigned char
reg_data)
{ reg_add &=0x3f;
reg_add |=0x80,; //傳輸方向?yàn)镮nput
SS_enable(); //ss有效
CPU_SPI_byte_send(reg_add),; //向SPI口寫入地址
CPU_SPI_byte_send(reg_data),; //向SPI口寫入數(shù)據(jù)
SS_disable(); //ss無(wú)效
}
發(fā)送端SPI口單個(gè)寄存器讀操作代碼如下:
unsigned char RF_read_sigle_reg(unsigned char reg_add)
{ volatile unsigned char temp,;
reg_add &=0x3f,; //傳輸方向?yàn)镺utput
SS_enable(); //ss有效
CPU_SPI_byte_send(reg_add),; //向SPI口寫入地址
temp=CPU_SPI_byte_read(),; //讀出SPI口數(shù)據(jù)
SS_disable(),;
return temp;
}
其中,,兩個(gè)子函數(shù)代碼分別如下:
void CPU_SPI_byte_send(unsigned char send_data)
{ while((0x80&IFG1)==0),; //SPI口發(fā)送器未準(zhǔn)備好,等待
U0TXBUF =send_data,; //送入數(shù)據(jù)
}
unsigned char CPU_SPI_byte_read(void)
{ while((0x80&IFG1)==0),; //SPI口發(fā)送器未準(zhǔn)備好,等待
U0TXBUF=0,; //送入數(shù)據(jù)0,,以置換出寄存器中的值
while((0x40&IFG1)==0x40); //接收數(shù)據(jù)完成
return(U0RXBUF),; //返回讀取值
}
本文設(shè)計(jì)的將短距離無(wú)線通信技術(shù)應(yīng)用到電子解說(shuō)系統(tǒng),,實(shí)現(xiàn)了穩(wěn)定、可靠的區(qū)域識(shí)別和自動(dòng)選曲播放,。發(fā)射端的覆蓋范圍可通過調(diào)節(jié)發(fā)射功率進(jìn)行控制,。實(shí)測(cè)最小功率下覆蓋半徑僅為3米,最大功率覆蓋半徑可達(dá)25米,,若要求更大的覆蓋半徑,,可由多個(gè)同一地址碼發(fā)射機(jī)組成。發(fā)射端功耗極低,,采用3節(jié)5號(hào)堿性電池供電,,可工作2~3個(gè)月。該智能無(wú)線電子解說(shuō)系統(tǒng)適用于各種不同面積,、不同類型的景點(diǎn)/展臺(tái),。本系統(tǒng)已申請(qǐng)了國(guó)家專利,市場(chǎng)前景良好,。
參考文獻(xiàn)
[1] 黃智偉.單片無(wú)線收發(fā)集成電路原理與應(yīng)用[M].北京:人民郵電出版社,,2005.
[2] 博創(chuàng)科技.MP3播放器與U盤設(shè)計(jì)[M].北京:清華大學(xué)出版社,2004.
[3] MSP430x1xx family user′s guide[M].Texas instruments corporation,,2002.
[4] CYWUSB6934 Datasheet.Cypress Corporation,,2005.
[5] AT89C51SND1C Datasheet.Atmel Corporation,2003.