1-433無線介紹433M無線發(fā)射(也是射頻的一種)通常和紅外遙控發(fā)射以及2.4G這種事差不多的,。當(dāng)然也有一些區(qū)別,,在這里不做贅述,本章節(jié)只講述433無線,,當(dāng)然315也是這個(gè)東西,,在國內(nèi)通常使用433,外國部分地區(qū)使用315的較多一點(diǎn),。只是頻段不同,。 1.1-工作原理:433芯片的工作原理是將數(shù)字信號轉(zhuǎn)換為射頻信號并通過無線信道發(fā)送,,接收端將接收到的射頻信號轉(zhuǎn)換為數(shù)字信號并輸出,。它的優(yōu)點(diǎn)是成本低、功耗低,、傳輸距離較遠(yuǎn)(通??蛇_(dá)50米到100米,有的做的好的可達(dá)到200米,,當(dāng)然通常情況下100米用作家用智能或者小型農(nóng)業(yè)上就已經(jīng)可以了,,但是從安全性來考慮,我個(gè)人并不推薦作為家用產(chǎn)品,,因?yàn)樾盘柡苋菀资艿礁蓴_,,即使硬件和軟件做的足夠好,也是非常容易受到各種信號的干擾,,不過我認(rèn)為應(yīng)用于農(nóng)業(yè)或者一些對安全性不是很高的地方使用最為合適,。),因此在一些需要簡單無線傳輸?shù)膱鼍爸械玫搅藦V泛的應(yīng)用,。
需要注意的是,,433MHz無線通信主要用于短距離通信,,通常在幾十米到一百多米的范圍內(nèi)。它的功耗較低,,適合電池供電的設(shè)備。然而,,由于這種頻段通常沒有強(qiáng)大的頻率規(guī)劃和沖突避免機(jī)制,,可能會受到干擾,因此在設(shè)計(jì)應(yīng)用時(shí)需要考慮信號干擾和安全性問題,。 2-EV1527介紹EV1527 是編碼 IC,,每次發(fā) 3 幀,每幀 24 位加一個(gè)同步碼,。此 24 位中,,前 20 位為芯片內(nèi)碼(即 ID,共有 2 的 20 次方,,即 1048576 組組合,,大大降重復(fù)幾率),后 4 位是按鍵值(即數(shù)據(jù)),。 3-433無線之EV1527軟件模擬編碼在433中不管是ASK還是OOK,,對于軟件編碼和解碼來說并沒有多大的區(qū)別,我們只需要知道他們之間電平的間隔時(shí)間就行,,理論上,,模擬編碼的實(shí)現(xiàn)是倍數(shù)關(guān)系就行,當(dāng)然,,模擬如安然能夠省錢,,但是也會存在以下問題,因?yàn)槊總€(gè)廠商選用的電阻不一樣就會導(dǎo)致時(shí)間間隔上有些差別進(jìn)而會導(dǎo)致對碼或者配對失敗的現(xiàn)場,。 根據(jù)這個(gè)圖片,,可以知道,,同步是4:124的關(guān)系,數(shù)據(jù)1和數(shù)據(jù)0是相反的關(guān)系,,因?yàn)樵趯?shí)現(xiàn)編碼是非常容易得事情,。 本次實(shí)在51單片機(jī)上使用的,因此就以51為例(因保密性,,不提供全部代碼): 接下來,,我們對這個(gè)進(jìn)行分析: 首先是同步: 如上圖:我們選擇330K,3V作為我們此次的基準(zhǔn): 從這可以知道一個(gè)LCK=1.69/16時(shí)間,。 所以同步高就是 1.69/4,,同步低就是1.69*124/16 我們通過計(jì)算就能知道具體的時(shí)間,當(dāng)然在這你可以使用定時(shí)器或者延時(shí)也可以,,前提是你的延時(shí)要精確就行,。 二、定時(shí)器中斷方式的編碼 把串行輸入的編碼數(shù)據(jù)幀,,還原成編碼之前的狀態(tài),,讀取其中 的地址碼和按鍵碼,稱之為解碼,。 數(shù)據(jù)幀都是由同步頭開始,,然后是 24位的數(shù)據(jù)碼,并且此數(shù)據(jù)幀在遙控器按鍵的過程中是重復(fù)出現(xiàn)的,,我們首先要判斷同步碼,,判斷出了同步碼,就知道數(shù)據(jù)碼是從那一位開始了,。對于一款量產(chǎn)的無線遙控器來說,,他的編碼芯片匹配的電阻是一個(gè)固定值,也就是說它發(fā)射的數(shù)據(jù)幀的脈沖寬度是不變的,,所以我們可以通過測量高低脈沖寬度的方式來分辨同步碼,、邏輯“1”、邏輯“0”,。 具體的方法是這樣的,,首先啟用定時(shí)器,裝入一個(gè)初值,,打開 定時(shí)器中斷,,讓其以固定的間隔進(jìn)入中斷程序。在中斷程序中,,我們查詢數(shù)據(jù)輸入管腳的狀態(tài),,如果為高電平,就在高電平狀態(tài)累加計(jì)數(shù),反之就在低電平狀態(tài)計(jì)數(shù),,當(dāng)電平發(fā)生上升沿變化的時(shí)候,,判斷接收到的高低電平寬度的值是否符合同步信號的要求,如果符合就進(jìn)入數(shù)據(jù)位的接收,,以同樣的方式判斷邏輯“1”或邏輯“0”,。如果接受過程中出現(xiàn)不符合要求的電平狀態(tài),就退出接收,,為了增加可靠性,,我們一般要求規(guī)定時(shí)間內(nèi),成功接收到完全相同的 2 幀數(shù)據(jù)才算有效,。 接收完成后,,24 個(gè)數(shù)據(jù)位被放入 3 個(gè)字節(jié)中。 所以我們可以得到下面的代碼: 1void EV1527_send12400us(void)
同理我們可以得到其他時(shí)間值: 1void EV1527_send1200us(void) 高電平和低電平就是引腳輸出電平是高還是低,。在進(jìn)行數(shù)據(jù)發(fā)送的時(shí)候,,是先進(jìn)行同步頭操作,然后再試進(jìn)行數(shù)據(jù)1的發(fā)送在之后才是數(shù)據(jù)0的發(fā)送: 所以,發(fā)送一個(gè)數(shù)據(jù)字節(jié): // 發(fā)送一個(gè)字節(jié)的數(shù)據(jù)
因?yàn)榭偣惨l(fā)送三個(gè)字節(jié),。所以結(jié)合上面的就可以實(shí)現(xiàn),,三個(gè)字節(jié)的發(fā)送,這三個(gè)字節(jié)分別是:兩個(gè)數(shù)據(jù)碼(也就是地址,可以通過修改這個(gè)地址,,進(jìn)而實(shí)現(xiàn)不同的地址)以及按鍵碼,。 最終我們通過示波器或者邏輯分析儀可以得到下面的圖形: 得到的編碼值: |
|