基于語(yǔ)音報(bào)警的雙向遙控車(chē)門(mén)開(kāi)關(guān)系統(tǒng)設(shè)計(jì)
系統(tǒng)軟件設(shè)計(jì)
通信協(xié)議
雙向RKE主要由上位機(jī)和下位機(jī)組成,要實(shí)現(xiàn)上鎖/開(kāi)鎖功能及安全報(bào)警功能,就必須完成上位機(jī)和下位機(jī)之間的無(wú)線數(shù)據(jù)通信。整個(gè)系統(tǒng)的各個(gè)部分都是服務(wù)于無(wú)線數(shù)據(jù)傳輸這個(gè)目的。所以,在整個(gè)系統(tǒng)的軟件設(shè)計(jì)中,無(wú)線數(shù)據(jù)的傳輸為最主要部分。無(wú)線傳輸以數(shù)據(jù)幀的方式進(jìn)行,數(shù)據(jù)幀的格式如表1所示。
前導(dǎo)碼主要是用于防止有用數(shù)據(jù)被干擾;車(chē)子ID主要用來(lái)標(biāo)志特定車(chē)子的信息,以便正確的辨認(rèn),如果ID不匹配,數(shù)據(jù)幀就會(huì)被忽略;信息碼是用來(lái)表示用戶的操作,這些操作包括上鎖、開(kāi)鎖、顯示警報(bào)等。當(dāng)用戶發(fā)送相應(yīng)命令時(shí),就分別執(zhí)行上鎖、開(kāi)鎖,而當(dāng)用戶超出收發(fā)范圍時(shí),主收發(fā)器能夠自動(dòng)的發(fā)送警告信息;校驗(yàn)和則用于檢驗(yàn)接收的數(shù)據(jù)是否正確,當(dāng)不正確時(shí),需重發(fā)數(shù)據(jù)幀。
系統(tǒng)軟件流程設(shè)計(jì)
由于整個(gè)RKE系統(tǒng)為一雙向進(jìn)行的系統(tǒng),數(shù)據(jù)終端和主收發(fā)器之間的通信是雙工的,所以在實(shí)際系統(tǒng)運(yùn)行時(shí),數(shù)據(jù)的傳輸方向也是不斷變化的。為此,要實(shí)現(xiàn)雙方協(xié)調(diào)通信,就必須設(shè)計(jì)出一個(gè)比較適合的收發(fā)次序。其上位機(jī)收發(fā)流程圖如圖4所示。系統(tǒng)上電后,上位機(jī)處于待機(jī)狀態(tài)。當(dāng)檢測(cè)到上位機(jī)發(fā)射一個(gè)按鍵命令時(shí),就表示用戶要進(jìn)行某種特定的操作,同時(shí)將操作信息送到揚(yáng)聲器,通過(guò)聲音的方式向用戶告知要進(jìn)行的操作,此時(shí)上位機(jī)就打開(kāi)發(fā)射器,發(fā)送相應(yīng)的信息碼 (如開(kāi)鎖、上鎖等),而其它時(shí)候上位機(jī)都處于接收狀態(tài),如果沒(méi)有接收到下位機(jī)發(fā)送過(guò)來(lái)的地址碼,上位機(jī)此時(shí)就可以判斷用戶此時(shí)處于發(fā)送接收范圍之外,于是通過(guò)P1.7讀入放音地址將要預(yù)先存儲(chǔ)在上位機(jī)中的報(bào)警信息,由揚(yáng)聲器發(fā)出語(yǔ)音信號(hào)向用戶告警。如果上位機(jī)沒(méi)有收到下位機(jī)發(fā)送回來(lái)的ACK(正確回應(yīng)信號(hào)),此時(shí)上位機(jī)會(huì)要求用戶再次按鍵,知道收到ACK命令,此時(shí)下位機(jī)才執(zhí)行相應(yīng)操作。
而下位機(jī)在系統(tǒng)上電后,首先進(jìn)行初始化,然后就打開(kāi)接收機(jī)以判斷是否有用戶在按鍵發(fā)布命令,如果沒(méi)有檢測(cè)到按鍵命令,下位機(jī)就打開(kāi)發(fā)射機(jī),不斷的發(fā)送地址碼給上位機(jī),以確定雙方是否在通信范圍之內(nèi),用以提示用戶。而當(dāng)檢測(cè)到按鍵命令時(shí),下位機(jī)首先將上位機(jī)發(fā)送過(guò)來(lái)的操作信息碼進(jìn)行校驗(yàn),如果檢驗(yàn)不正確,就要求用戶重新按鍵;如果檢驗(yàn)正確,就發(fā)送ACK命令,以確認(rèn)用戶的操作是有效的。通過(guò)這種方式,可以有效的實(shí)現(xiàn)上位機(jī)和下位機(jī)的雙向通信,這樣雙向RKE系統(tǒng)就可以穩(wěn)定的工作,其下位機(jī)收發(fā)流程圖如圖5所示。
結(jié)語(yǔ)
采用射頻芯片nRF401、AT89C52 MCU及語(yǔ)音芯片ISD4004構(gòu)成的雙向RKE系統(tǒng),可以更直觀的讓用戶通過(guò)語(yǔ)音的一種方式來(lái)表達(dá)所執(zhí)行的命令,使系統(tǒng)變得方便實(shí)用。同時(shí),系統(tǒng)中所選用的芯片都是功耗較低的,這對(duì)于用電池供電的上位機(jī)來(lái)講非常重要。此外,所選用的芯片的尺寸都非常的小,MCU與nRF401以及ISD4004之間的接口都非常的簡(jiǎn)單,不需要太多的外圍電路,這在某種程度上有利于系統(tǒng)的集成,方便用戶的隨身攜帶。在此系統(tǒng)基礎(chǔ)上,如果在車(chē)門(mén)里再加一個(gè)壓力傳感器,這樣就可以極大的防止車(chē)子遭到人為的破壞,更一步的提高車(chē)子的安全性。此外該系統(tǒng)還可應(yīng)用在其它的場(chǎng)合,如數(shù)字語(yǔ)音通信、無(wú)線遙控防盜門(mén)、智能無(wú)線抄表等等領(lǐng)域,可以得到極大的推廣。
評(píng)論