基于USB接口的無(wú)線幻燈片遙控器
引言
本文介紹了一種基于usb2.0的接口幻燈片演示遙控器,它具有無(wú)線遙控、智能演示的特點(diǎn),可以在有效范圍內(nèi)全方位對(duì)計(jì)算機(jī)進(jìn)行遙控操作,實(shí)現(xiàn)幻燈片的翻頁(yè)、放大、重點(diǎn)突出等功能,使演講者不致頻繁操作計(jì)算機(jī)而打斷思維。
本文引用地址:http://m.butianyuan.cn/article/21445.htm本設(shè)計(jì)核心芯片采用adi公司的adf7020收發(fā)模塊,使用頻率為ism(工業(yè)、科學(xué)與醫(yī)療)868mhz頻帶,發(fā)送端控制芯片是atmel公司低功耗avr單片機(jī)attiny12l,接收端采用adi公司的adμc812,它有62kb flash程序空間,靈活的接口功能以及眾多的io口線,負(fù)責(zé)收發(fā)芯片的控制、數(shù)據(jù)接收以及作為usb固件的載體。
本設(shè)計(jì)系統(tǒng)框圖如圖1所示。
1 幻燈片控制指令的產(chǎn)生及發(fā)送
attiny12l和adf7020是構(gòu)成發(fā)射機(jī)的主要部分,其中,attiny12l是一款基于avr risc的低功耗coms 8位單片機(jī),3v電壓下工作電流為2.2ma,指令速度可達(dá)1mips(百萬(wàn)指令每秒),adf7020是一款低功耗、高集成的fsk/gfsk/ask/ook/gask收發(fā)組件,適用于433mhz,868mhz和915mhz的ism頻段,發(fā)射-10dbm功率時(shí)耗電12ma,非常適合便攜設(shè)備使用,用它們構(gòu)造發(fā)射器只需少量外部元件,適合于低成本、小尺寸的設(shè)計(jì)。
本設(shè)計(jì)直接將數(shù)字基帶信號(hào)調(diào)制到868mhz射頻上,只需要一個(gè)本地振蕩頻率,簡(jiǎn)化了設(shè)計(jì)。
1.1 幻燈片指令的產(chǎn)生
由于每次傳輸?shù)臄?shù)據(jù)少,平時(shí)單片記得指令傳送器均工作在省電模式,當(dāng)操作者按下翻頁(yè)鍵后,attiny12l產(chǎn)生pin change中斷,觸發(fā)單片機(jī)回到正常模式,并執(zhí)行中斷服務(wù)程序,產(chǎn)生要發(fā)送的指令和相應(yīng)的數(shù)據(jù)幀,單片機(jī)接著設(shè)置指令傳送器,指令傳輸器將數(shù)據(jù)幀發(fā)送出去。
數(shù)據(jù)幀格式見(jiàn)圖2。
報(bào)頭(preamble)是數(shù)字傳輸系統(tǒng)中的重要問(wèn)題,接收機(jī)根據(jù)它進(jìn)行信道估計(jì)、頻率偏差糾正、agc(自動(dòng)增益控制)設(shè)置等,fsk/ask/ook調(diào)制解調(diào)時(shí),報(bào)頭通常采用如10101010…的樣式。
同步字(sync word)用來(lái)檢測(cè)是否有數(shù)據(jù)輸入,adf7020可以設(shè)置28bit同步序列,在接收模式下,如果檢測(cè)到這個(gè)同步碼,adf7020會(huì)產(chǎn)生外部中斷,通知處理器準(zhǔn)備接收數(shù)據(jù)。
id字段(id field)用于收、發(fā)單元的匹配,可以實(shí)現(xiàn)發(fā)射機(jī)對(duì)多個(gè)接收機(jī)的通信,或者多套接收機(jī)同時(shí)使用。
數(shù)據(jù)字段(data field)是幻燈片的控制指令,對(duì)應(yīng)對(duì)幻燈片的不同操作。
1.2 天線的設(shè)計(jì)
天線是本設(shè)計(jì)的關(guān)鍵,采用印制天線,設(shè)天線保包圍的面積為a,波長(zhǎng)為a,頻率為f,則天線效率η為:
η=fa3/2
為了獲得最佳輻射性能,布線時(shí)天線包圍的面積應(yīng)盡可能大,越靠近天線環(huán)的邊緣,場(chǎng)的密度越高,因此環(huán)的邊緣應(yīng)有一定的空間,形狀應(yīng)近似為正方形。
發(fā)送端與天線匹配時(shí),adf7028輸出功率最大,在射頻輸出端,分別接兩個(gè)匹配電容到天線和地,取值可通過(guò)hfss仿真確定。
印制天線的設(shè)計(jì)圖如圖3所示。
已知接收機(jī)的靈敏度,仿真出天線的增益,結(jié)合試驗(yàn)可以確定發(fā)射機(jī)的遙控距離。
1.3 數(shù)據(jù)發(fā)送流程
當(dāng)用戶按下發(fā)送鍵后,控制芯片被激活,接著初始化發(fā)射芯片,向發(fā)射芯片傳送數(shù)據(jù),最后印制天線將射頻信號(hào)輻射出去。
2 數(shù)據(jù)的接收
fsk信號(hào)的解調(diào)采用低if設(shè)計(jì),使得所需外圍元件很少,同時(shí)降低了電源回路引入的低頻段的電磁干擾。
接收端主要包括adi公司的ad7020、adμc812和philips公司的pdiusbd12 usb接口控制芯片,實(shí)現(xiàn)fsk解調(diào)和通過(guò)usb接口與計(jì)算機(jī)通信,設(shè)置特殊寄存器可使adf7020工作在接收模式而不需額外的rx/tx(接收/發(fā)射)開(kāi)關(guān),接收靈敏度、解調(diào)線性度和功耗都是可編程的,天線接收到的差分信號(hào)輸入lna(低噪聲放大器),再經(jīng)過(guò)下變頻得到i、q兩路中頻信號(hào),中心頻率位于中頻兩側(cè)的兩個(gè)相關(guān)解調(diào)器對(duì)中頻信號(hào)解調(diào),即得到數(shù)字基帶信號(hào),最后,過(guò)采樣數(shù)字pll(鎖相環(huán))恢復(fù)數(shù)據(jù)時(shí)鐘,用來(lái)同步數(shù)據(jù),其數(shù)據(jù)主要接收過(guò)程如圖4所示。
3 usb接口芯片固件的設(shè)計(jì)及與office軟件的通信
所采用的pdiusbd12接口芯片不含有mcu,所以必須使用單獨(dú)的單片機(jī)來(lái)控制,由于數(shù)據(jù)的傳輸量較小且需要實(shí)時(shí)處理,所以采用usb數(shù)據(jù)傳送模式中的中斷傳輸模式。
3.1 固件編寫
使用keil c51 μvision2來(lái)開(kāi)發(fā)單片機(jī)的固件程序,主要任務(wù)是中斷服務(wù)程序的編寫,對(duì)usb協(xié)議進(jìn)行處理、完成對(duì)各種令牌包的響應(yīng),特別是setup包的處理,usb協(xié)議的處理又分成兩個(gè)方面:一是控制端點(diǎn)(端點(diǎn)0)的配置過(guò)程,二是其他端點(diǎn)的數(shù)據(jù)通信過(guò)程。
3.2 固件的結(jié)構(gòu)
固件程序由如下幾個(gè)模塊組成:主循環(huán)mainloop.c,中斷服務(wù)程序isr.c,標(biāo)準(zhǔn)設(shè)備請(qǐng)求stand_req.c,d12命令接口d12ci.c,硬件提取層epphal.c,圖5顯示了固件模塊組成與主要工作過(guò)程。
各部分的基本功能如下:
a)主循環(huán)mainloop.c:初始化單片機(jī)cpu和pdiusbd12芯片,檢查事件標(biāo)志,并進(jìn)入對(duì)應(yīng)的子程序進(jìn)行進(jìn)一步的處理。
b)中斷服務(wù)程序isb.c,(interrupt service routine):這部分代碼主要處理有d12芯片產(chǎn)生的中斷,從d12內(nèi)部取數(shù)據(jù)到cpu的ram中,并建立事件標(biāo)志,以通知主程序處理。
c)標(biāo)準(zhǔn)設(shè)備請(qǐng)求stand_req.c:處理標(biāo)準(zhǔn)的usb器件請(qǐng)求。
d)d12命令接口d12ci.c:定義了訪問(wèn)d12功能的命令的接口。
e)硬件提取層epphal.c:固件中最低底層的代碼,執(zhí)行對(duì)d12和硬件i/o的相關(guān)訪問(wèn)。
4 結(jié)束語(yǔ)
隨著投影儀市場(chǎng)的發(fā)展和多媒體會(huì)議工具的普及,人們對(duì)便攜式計(jì)算機(jī)控制器的需求也逐步增長(zhǎng),本設(shè)計(jì)實(shí)現(xiàn)了幻燈片的基本控制功能,具有低功耗、數(shù)據(jù)傳輸穩(wěn)定、遙控距離遠(yuǎn)等特點(diǎn),還有很大的功能擴(kuò)展空間,具有很大的市場(chǎng)潛力。
萬(wàn)能遙控器相關(guān)文章:萬(wàn)能遙控器代碼
鎖相環(huán)相關(guān)文章:鎖相環(huán)原理 全息投影相關(guān)文章:全息投影原理
評(píng)論