以 433MHz為頻率的無(wú)線(xiàn)通用遙控設備,為短距離無(wú)線(xiàn)通信提供了非常簡(jiǎn)單的解決方案,它是開(kāi)發(fā)低成本、低功耗無(wú)線(xiàn)通信系統的理想方案。一般由單片機控制電路、LCD顯示電路、無(wú)線(xiàn)發(fā)碼電路等構成。按照節點(diǎn)的多少可以分為單節點(diǎn)和多節點(diǎn)模式。單節點(diǎn)也稱(chēng)為點(diǎn)對點(diǎn)式,結構簡(jiǎn)單、體積小,便于隨身攜帶,用于控制單個(gè)家電的通信;而多節點(diǎn)又稱(chēng)為點(diǎn)對多式,它可以根據用戶(hù)的要求而設計不同的路數,也可以很方便地進(jìn)行擴展,可以同時(shí)控制多個(gè)家電,功能齊全。本系統設計為16路,在接收部分可以根據接收到的信息控制多個(gè)家用電器。
系統硬件的結構原理和設計
1 系統簡(jiǎn)介
通用型遙控設備主要由開(kāi)/關(guān)鍵、液晶顯示屏、置位鍵、確認鍵、返回鍵、數字鍵盤(pán)等部分組成,其外形與手機相仿。它的操作也很簡(jiǎn)單,以遙控電風(fēng)扇為例,打開(kāi)遙控器后,首先
顯示主菜單,是各種電器的名稱(chēng),用上下鍵選中所要操作的家用電器。例如選中“電風(fēng)扇”,按確認鍵后就可進(jìn)入其子菜單,再選擇所操作的項目,如風(fēng)力擋位的大小、風(fēng)扇的方向等,再按確認鍵進(jìn)入下級子菜單,進(jìn)行具體的操作,如調整風(fēng)力和風(fēng)向等,其余家用電器類(lèi)似操作。
硬件電路是由1個(gè)4位的撥碼開(kāi)關(guān)電路、無(wú)線(xiàn)發(fā)射電路、ST20P18單片機主控制電路、鍵盤(pán)掃描電路、液晶(LCD)顯示電路等組成。
2 無(wú)線(xiàn)發(fā)碼電路
其中單片機采用的是 ST20P18,它是由臺灣矽創(chuàng )公司生產(chǎn)的一種CMOS工藝制造的低功耗低價(jià)位的8位單片機,芯片內部帶有振蕩器、系統定時(shí)器、看門(mén)狗定時(shí)計數器、LCD 控制器和16Kb的ROM以及192B的RAM。ST20P18控制的發(fā)碼電路原理圖如圖1所示,其發(fā)碼的基本原理為:系統利用撥碼開(kāi)關(guān)來(lái)控制地址位和數據位(二進(jìn)制)信息的設置,再通過(guò)單片機運行發(fā)碼程序進(jìn)行編碼并把地址位和數據位信息變換成一串脈沖信號,最后由無(wú)線(xiàn)發(fā)射電路發(fā)射出去。具體實(shí)現為:?jiǎn)纹瑱CPB0口為發(fā)碼電路的數據輸出口和控制口,當需要發(fā)碼的時(shí)候該口設置為輸出口,然后以脈沖的形式,按照相關(guān)的通信協(xié)議,輸出當前所要發(fā)出的正確數據。反之,PB0口可復用為其他功能。PB0口的脈沖數據經(jīng)發(fā)碼電路調制并發(fā)射出433MHz的無(wú)線(xiàn)電波。

圖1 無(wú)線(xiàn)發(fā)碼電路
在無(wú)線(xiàn)發(fā)射電路中使用聲表面濾波器搭建的模擬發(fā)射模塊電路,其工作頻率是433MHz,采用聲表諧振器SAW穩頻,頻率穩定度極高,當環(huán)境溫度在 -25~+85℃之間變化時(shí),頻漂僅為10-6/℃,特別適合一發(fā)多收無(wú)線(xiàn)遙控及數據傳輸系統。但因無(wú)線(xiàn)電信號傳輸時(shí)受到很多因素的影響,所以一般實(shí)用距離只有標準理想距離的一半甚至更少,這點(diǎn)在開(kāi)發(fā)時(shí)需要注意,如果需要更遠一點(diǎn)的發(fā)射距離,可以在發(fā)射模塊的輸出端增加一級射頻功率放大器。
經(jīng)過(guò)對電路的研究得到以下結論:
● 為了得到穩定且正確的頻率,經(jīng)過(guò)反復的調試得出無(wú)線(xiàn)電波頻率取決于R3,當R3=15kΩ時(shí),發(fā)射的無(wú)線(xiàn)電頻率為433MHz。
● 由于該模塊是由模擬電路搭建,所以決定了其性能不如相關(guān)的其他類(lèi)型的數字射頻芯片,但是其成本相當的低廉!考慮到尺寸和成本因素且射頻波長(cháng)短,在設計中選用50Ω的1/4波長(cháng)偶極子微帶印制板天線(xiàn),即在接地層由電介質(zhì)隔開(kāi)的印制電導線(xiàn)。故在該電路中天線(xiàn)的形狀以及長(cháng)短具有至關(guān)重要的作用。設計實(shí)踐表明:天線(xiàn)的形狀和長(cháng)短如選取不滿(mǎn)足50Ω的1/4波長(cháng)偶極子天線(xiàn),該電路發(fā)射不穩定,更嚴重直接導致該電路不能起振。
3 鍵盤(pán)掃描電路
由于ST20P18的I/O口有限,故在鍵盤(pán)電路中采用掃描的方式來(lái)實(shí)現。該電路的實(shí)現方式如圖2所示。其工作的基本原理是:?jiǎn)纹瑱C初始化后先設置 PA0至PA5、6個(gè)I/O口均為輸入方式。以K1為研究對象,先設置PA0口為高電平,設置PA5口為低電平,當K1按鍵按下后,PA0則由高電平跳變?yōu)榈碗娖,并產(chǎn)生中斷。單片機響應該中斷,執行中斷服務(wù)程序。同理,其他6個(gè)按鍵也是按照該方式工作的。單片機掃描原則是自上而下,自左而右的。

圖2 鍵盤(pán)掃描電路
4 LCD顯示電路
本設計采用的ST20P18單片機,其內核中自帶控制/驅動(dòng)液晶模塊,該LCD(圖3)顯示模塊是8×40點(diǎn)陣,常用于遙控設備的液晶顯示。液晶顯示的主要控制引腳為COM0~COM7。本設計只用到COM0~COM3。

圖3 LCD顯示電路
該模塊的顯示RAM分為4塊,每塊5行,8列,所以共有4×5×8位。液晶屏幕上的每一個(gè)8點(diǎn)列對應顯示RAM中的一個(gè)列字節。當設置了塊地址和列地址后,就唯一確定了顯示RAM中的一個(gè)列字節。每個(gè)列字節中最上面一位為L(cháng)SB,最下面一位為MSB。對顯示RAM的一個(gè)列字節賦值就是對液晶屏幕上對應像素點(diǎn)是否顯示進(jìn)行控制。把不同字符的字模寫(xiě)到不同位置的顯示RAM字節中,就能在屏幕上顯示相應的所要求的字符。
通用遙控器的軟件設計
開(kāi)機后,先進(jìn)行初始化,包括對單片機的初始化、LCD的初始化和其他模塊的初始化。出于省電的考慮在40s內若沒(méi)有鍵按下,讓單片機的LCD控制器進(jìn)入空閑模式。用“for”循環(huán)來(lái)計時(shí),并設計初值為零。隨后開(kāi)始40s計時(shí),若在此期間有鍵按下,則進(jìn)入中斷服務(wù)程序,若40s內無(wú)鍵按下,則單片機的 LCD控制器進(jìn)入空閑模式。若在空閑中有鍵被按下,單片機被喚醒,執行中斷服務(wù)程序。由于單片機的LCD控制器被中斷喚醒執行完中斷程序返回后,單片機會(huì )接著(zhù)執行把單片機的LCD控制器置為空閑模式的那條指令的下一條指令,因此在把單片機的LCD控制器置為空閑模式的指令后再有一個(gè)循環(huán)來(lái)計時(shí),由于中斷返回前,重設計數初值為零,所以會(huì )重新開(kāi)始5s的計時(shí)。在這40s內,若無(wú)鍵按下, 則單片機的LCD控制器又進(jìn)入空閑模式。程序流程圖如圖4所示。

圖4 軟件設計流程
通信協(xié)議
1 編碼字的格式
能實(shí)現編碼功能的邏輯電路稱(chēng)為編碼器。每一種遙控編碼芯片都有一種特定的編碼格式。我們把傳送一位二進(jìn)制數0或者1的時(shí)間作為一個(gè)時(shí)間單位T,編碼信號的頻率為F=1/T。這里用的是種比較常用的編碼格式,每一幀由步碼、地址碼和數據碼組成,同步碼用在一幀的開(kāi)始,是一幀的識別標志,寬度為8T;地址碼20(A0—A19),寬度為20T;數據碼4位(D0-D3),寬度為4T, 一幀占據的總時(shí)間是32T。
對應于每一種狀態(tài),編碼芯片內部能夠生成一種特殊的編碼,這種編碼也是由“1”和“0”組成,但并不是簡(jiǎn)單的用高電平代表“1”,用低電平代表 “0”,而是用高電平與低電平寬度比例的不同來(lái)區分“1”和“0”,也就是所謂的占空比。為了提高此編碼傳輸串行信號的可靠性,故此編碼采用一個(gè)周期的占空比為1/4的脈沖表示0,占空比為3/4的脈沖表示1,同步信號用一個(gè)占空比為1/32的脈沖表示,如圖5所示。

圖5 信號占空比
2 協(xié)議設計
通常遙控信號的發(fā)射,就是將某個(gè)按鍵所對應的控制指令和信息碼(由0和1組成的序列),調制在32~56kHz范圍內的載波上,然后經(jīng)放大、驅動(dòng)無(wú)線(xiàn)發(fā)射電路將信號發(fā)射出去。
如表1所示,各部分碼的作用:引導碼用來(lái)通知接收器其后為遙控數據。地址碼用來(lái)區分是哪一機型的數據,接收端據此來(lái)判斷后續的數據是否為本機必須執行的指令。信息碼用來(lái)區分是哪一個(gè)鍵被按下,接收端接受信息碼的數據并據此做出應該執行什么動(dòng)作的判斷。信息碼也包括在持續按鍵時(shí)發(fā)送的連續碼。它告知接收端,某鍵是在被連續地按著(zhù)。結束碼用來(lái)通知接收器一幀數據發(fā)送完畢。

遙控數據傳輸系統的關(guān)鍵是數據傳輸的可靠性。為了提高編碼的可靠性,本協(xié)議規定地址碼后接著(zhù)傳送一個(gè)反碼,供誤碼校驗使用。每一位的信息碼后接著(zhù)傳送一個(gè)奇偶校驗位也是用來(lái)作為誤碼校驗使用。
結束語(yǔ)
本設計的創(chuàng )新在于提出了通用家電遙控設備的設計方案,根據實(shí)際的要求能夠控制多個(gè)家用電器,睡眠模式實(shí)現低功耗,且成本低于其他同類(lèi)產(chǎn)品。經(jīng)過(guò)實(shí)際運行測量,該無(wú)線(xiàn)傳輸系統工作穩定,穿透能力強,功耗低(當在空閑模式下,電路中電流小于10μA)能夠很好的實(shí)現相應設計要求的功能。 |