??? 摘 要: 為解決盲人交通問題,研究開發(fā)了一種新型交通語(yǔ)音提示系統(tǒng)。采用AT89S51單片機(jī)結(jié)合無線射頻芯片NRF401的方法,為盲人設(shè)計(jì)一套便攜式的信號(hào)發(fā)送/接收終端,以半雙工通信的方式和ISD1420語(yǔ)音錄放模塊來共同實(shí)現(xiàn)交通燈" title="交通燈">交通燈信號(hào)的無線語(yǔ)音提示功能,性能比現(xiàn)有語(yǔ)音提示系統(tǒng)有了較大提高。
??? 關(guān)鍵詞: 單片機(jī)技術(shù)?? AT89S51?? NRF401?? 無線通信
???
??? 如何有效地解決盲人交通問題,一直是當(dāng)今社會(huì)關(guān)注的一大難題?,F(xiàn)有的盲人過街提示裝置,在紅綠燈亮?xí)r,能夠通過外置擴(kuò)音器發(fā)出相應(yīng)提示聲,但為了使提示音更加清晰,不可避免地存在提示音音量過大的缺點(diǎn),對(duì)居民生活造成嚴(yán)重干擾,且生產(chǎn)、維護(hù)成本高。
??? 本文利用單片機(jī)和射頻技術(shù)[1]設(shè)計(jì)了一套便攜式的信號(hào)發(fā)送/接收終端,改變交通燈音頻提示的方式,讓每個(gè)盲人都能自主地發(fā)送/接收信號(hào),通過嵌入在手持終端的音頻模塊使每個(gè)盲人做出判斷同時(shí)不影響其他人的正常生活。
1系統(tǒng)硬件設(shè)計(jì)
??? 整個(gè)系統(tǒng)分為發(fā)送模塊" title="發(fā)送模塊">發(fā)送模塊和接收模塊" title="接收模塊">接收模塊兩部分[2]。
1.1發(fā)送模塊的設(shè)計(jì)與實(shí)現(xiàn)
??? 發(fā)送模塊設(shè)計(jì)成一個(gè)手持式信號(hào)發(fā)送/接收器,通過單片機(jī)與無線傳輸芯片的接口來實(shí)現(xiàn)詢問信號(hào)的發(fā)送和反饋信號(hào)的接收。隨后對(duì)反饋信號(hào)進(jìn)行處理,利用內(nèi)部嵌入的語(yǔ)音模塊最終給機(jī)主以提示。發(fā)送模塊工作流程如圖1所示。
????????????????????????????
??? 該模塊主要包括一片AT89S51單片機(jī)芯片,該芯片是一種低功耗,高性能8位單片機(jī),片內(nèi)含4KB的可反復(fù)電擦寫的Flash只讀程序存儲(chǔ)器;同時(shí)還要有一片無線發(fā)射芯片nRF401;為實(shí)現(xiàn)發(fā)送成功提示的目的,還有一個(gè)蜂鳴器,本系統(tǒng)采用ISD1420芯片。另外,為了防止系統(tǒng)崩潰,不再采用常用的RC復(fù)位電路,而是采用看門狗模塊電路,本系統(tǒng)采用IMP813L芯片。發(fā)送模塊系統(tǒng)組成如圖2所示。
??????????????????????????
??? 在具體實(shí)現(xiàn)方面[3],用AT89S51的P2.5口控制射頻芯片的PWR_UP,使其為“1”時(shí),表示正常工作模式,為“0”時(shí),表示待機(jī)模式;P2.6口接射頻芯片的CS,控制發(fā)送接收頻率,為“1”時(shí),表示工作頻率為434.32MHz,為“0”時(shí),表示工作頻率為433.92MHz;RXD、TXD引腳分別接nRF401的DOUT、DIN引腳,以實(shí)現(xiàn)數(shù)據(jù)的發(fā)送和接收;P2.7口控制射頻芯片的TXEN端,使其為“1”時(shí),表示進(jìn)人發(fā)送模式,為“0'時(shí),表示進(jìn)人接收模式;P0.0口控制ISD1420的PLAYE引腳,一個(gè)從高到低的電平跳變就可以觸發(fā)其播放預(yù)先錄好的提示音。用外部中斷源INT1接一個(gè)點(diǎn)觸式按鈕來作為信號(hào)發(fā)送的觸發(fā)源,同時(shí)還接有一個(gè)用S9013三極管驅(qū)動(dòng)的蜂鳴器,因?yàn)镻1.0的引腳狀態(tài)在上電時(shí)為高,因此只要INT1被置低觸發(fā)的時(shí)候,蜂鳴器回路即導(dǎo)通,同時(shí)發(fā)出聲音提示機(jī)主信號(hào)發(fā)送成功。
1.2 接收模塊的設(shè)計(jì)與實(shí)現(xiàn)
??? 接收模塊嵌入交通燈系統(tǒng)內(nèi)部,設(shè)計(jì)成一個(gè)信號(hào)接收/反饋模塊,功能是接收并校驗(yàn)發(fā)送模塊的詢問信號(hào),通過與交通燈系統(tǒng)間的接口電路,把交通燈的狀態(tài)轉(zhuǎn)換成一個(gè)數(shù)字I/O輸入信號(hào),同時(shí)就信號(hào)的不同狀態(tài)給出不同的反饋信號(hào),通過無線傳輸芯片進(jìn)行發(fā)射,反饋給發(fā)送模塊進(jìn)行處理。接收模塊工作流程如圖3所示。
?????????????????????????
??? 相對(duì)于發(fā)送模塊,接收模塊部分比較簡(jiǎn)單,主要包括一片AT89S51芯片、一片nRF401芯片和外圍電路及交通燈部分接口電路。其系統(tǒng)組成如圖4所示。具體實(shí)現(xiàn)方面,nRF401芯片的控制引腳與發(fā)送模塊完全一致,不同的是,用P0.0口控制交通燈狀態(tài)判斷接口。
??????????????????????????
2 系統(tǒng)軟件設(shè)計(jì)
2.1 系統(tǒng)軟件總體設(shè)計(jì)
??? 軟件設(shè)計(jì)時(shí),首先要注意nRF401模塊工作模式切換時(shí),編程中要做相應(yīng)的延時(shí)處理。一般在射頻系統(tǒng)中有兩種不同的基本通信方式" title="通信方式">通信方式:
??? 第一種通信方式:從接收器到發(fā)射器的數(shù)據(jù)傳輸。發(fā)送的數(shù)據(jù)流同時(shí)被所有的發(fā)射器接收,經(jīng)過發(fā)射器確認(rèn)后再返回接收器,此方式稱為“無線廣播”。其數(shù)據(jù)流傳送的流程為:接收器→發(fā)射器→接收器。
??? 第二種通信方式:在接收器的應(yīng)答范圍內(nèi)有多個(gè)發(fā)射器的數(shù)據(jù)同時(shí)傳輸給閱讀器,是一種發(fā)射器主動(dòng)通信的方式,這種通信方式稱為多路存取方法。這也是射頻系統(tǒng)中的主要通信方式之一。其數(shù)據(jù)流傳送的流程為:發(fā)射器→接收器→發(fā)射器。
射頻系統(tǒng)是個(gè)小的無線局域網(wǎng),所以應(yīng)選用比較簡(jiǎn)單的多路存取方法[4]。通信的具體流程為:發(fā)送器發(fā)出詢問信號(hào),通過nRF401發(fā)送到接收端,此時(shí)接收端首先通過與交通燈的接口電路提供的數(shù)字I/O信號(hào)來判斷交通燈的狀態(tài),分別調(diào)用相應(yīng)的子程序,隨后通過nRF401發(fā)出不同的反饋信號(hào)給發(fā)射器,發(fā)射器將根據(jù)約定好的協(xié)議,根據(jù)接收到的不同的反饋信號(hào)來調(diào)用不同的子程序去驅(qū)動(dòng)語(yǔ)音模塊ISD1420,以發(fā)出不同的提示音。
??? 在無線呼叫系統(tǒng)進(jìn)行工作時(shí),可能會(huì)出現(xiàn)同時(shí)有幾個(gè)發(fā)射器處于接收器的工作范圍內(nèi),這樣當(dāng)有兩個(gè)或兩個(gè)以上的發(fā)射器同時(shí)發(fā)送數(shù)據(jù)時(shí)就會(huì)出現(xiàn)數(shù)據(jù)相互的干擾(碰撞)。為此,可以在射頻系統(tǒng)中使用多路存取方法來防止數(shù)據(jù)干擾的發(fā)生,其方法有:ALOHA法、“二進(jìn)制搜索" title="二進(jìn)制搜索">二進(jìn)制搜索”算法和“動(dòng)態(tài)二進(jìn)制搜索”算法等,本系統(tǒng)使用“動(dòng)態(tài)二進(jìn)制搜索”算法防止數(shù)據(jù)碰撞。
??? 二進(jìn)制搜索算法由一個(gè)接收器和多個(gè)發(fā)射器之間規(guī)定的一組命令和應(yīng)答規(guī)則構(gòu)成,目的在于從多個(gè)發(fā)射器中選出任一個(gè)數(shù)據(jù)實(shí)現(xiàn)通信[5]。通過多次比較,不斷篩選出不同的序列號(hào),給每一個(gè)發(fā)射器編制一個(gè)固定的序列號(hào),接收器發(fā)出的一個(gè)請(qǐng)求命令有意識(shí)地將序列號(hào)傳輸時(shí)的數(shù)據(jù)碰撞引導(dǎo)到接收器上,即通過接收器判斷是否有碰撞發(fā)生。
??? 由二進(jìn)制搜索算法的工作流程可知,發(fā)射器的數(shù)量越多,防碰撞執(zhí)行時(shí)間就將越長(zhǎng),造成延時(shí)很大。而動(dòng)態(tài)二進(jìn)制搜索算法根據(jù)一定的算法把數(shù)據(jù)分成兩部分,收發(fā)雙方各自傳送其中一部分?jǐn)?shù)據(jù),可把傳輸?shù)臄?shù)據(jù)量減小到一半,達(dá)到縮短傳送時(shí)間的目的。因此,采用動(dòng)態(tài)二進(jìn)制搜索方法可提高執(zhí)行防碰撞的速度,實(shí)現(xiàn)高效率的控制。
2.2 數(shù)據(jù)傳送校驗(yàn)方法設(shè)計(jì)
??? 使用射頻技術(shù)傳輸數(shù)據(jù)時(shí)很容易受外界的干擾,校驗(yàn)是用以識(shí)別并以一定的措施進(jìn)行數(shù)據(jù)校正的必要方法。在電路設(shè)計(jì)中經(jīng)常使用的校驗(yàn)方法有循環(huán)冗余校驗(yàn)法(CRC)、奇偶校驗(yàn)法等,本設(shè)計(jì)采用最為簡(jiǎn)單的檢錯(cuò)碼——奇偶校驗(yàn)碼。這是一種簡(jiǎn)單同時(shí)被廣泛使用的校驗(yàn)方法。這種方法是把一個(gè)奇偶校驗(yàn)位組合到每一字節(jié)中,與每個(gè)數(shù)據(jù)字節(jié)合并作為一幀,在數(shù)據(jù)傳輸前確定是用偶數(shù)校驗(yàn)還是用奇數(shù)校驗(yàn),以保證發(fā)射器和接收器二者都用同樣的方法進(jìn)行校驗(yàn)。本設(shè)計(jì)采用偶校驗(yàn)。
3 抗干擾措施
??? 基于抗干擾的考慮,做PCB板時(shí)采用了1.6mmFR4板材的雙面板,連接nRF401的天線以差分方式連接到nRF401。實(shí)際設(shè)計(jì)中,這種天線直接刻蝕在PCB板上。
4 供電及節(jié)電模塊設(shè)計(jì)
??? 采用9V工業(yè)儀表用直流干電池供電,使用一個(gè)78L05變壓/穩(wěn)壓模塊轉(zhuǎn)化成5V TTL電平。在節(jié)電方面,通過AT89S51的PCON電源控制寄存器來實(shí)現(xiàn)程序的睡眠和喚醒,通過非工作時(shí)的睡眠狀態(tài)降低能耗。
5 結(jié)論
??? (1)現(xiàn)存盲人交通語(yǔ)音提示系統(tǒng)存在較大的不足,無法起到應(yīng)有的效果。本文采用AT89S51單片機(jī)結(jié)合無線射頻芯片NRF401的方法對(duì)其硬件體系進(jìn)行了改造,實(shí)現(xiàn)了數(shù)據(jù)的半雙工傳送且改變了提示音的傳送方式。對(duì)于可能存在的數(shù)據(jù)碰撞問題也做了相應(yīng)考慮,設(shè)計(jì)了一個(gè)簡(jiǎn)單實(shí)用的信號(hào)發(fā)送/接收系統(tǒng),解決了現(xiàn)有提示系統(tǒng)存在的問題。
??? (2)該系統(tǒng)采用表面貼裝芯片,減小了整機(jī)的體積,提高了整機(jī)的性價(jià)比,成本低,易于生產(chǎn)和推廣。經(jīng)過驗(yàn)證,發(fā)射器和接收器通信有效范圍在100米以上,信號(hào)的完整性維持在比較理想的范圍內(nèi),成功地避免了數(shù)據(jù)的碰撞,實(shí)現(xiàn)了預(yù)想功能,運(yùn)行可靠。
參考文獻(xiàn)
[1] 徐建,孫大有.無線接收機(jī)前端研究.東南大學(xué)學(xué)報(bào):自然科學(xué)版,2000,30(3).
[2] ?FINKENZELLER K.射頻識(shí)別(RFID)技術(shù)——無線電感應(yīng)的應(yīng)答器和非接觸IC卡的原理與應(yīng)用.第2版.北京:電子工業(yè)出版社,2001.
[3] 何少華,陳輝,王克,等.基于單片機(jī)的無線自動(dòng)測(cè)控系統(tǒng). 武漢理工大學(xué)學(xué)報(bào):交通科學(xué)與工程版,2006,(5).
[4] 彭曙蓉,王耀南.一種實(shí)用型射頻卡讀寫器的設(shè)計(jì).長(zhǎng)沙電力學(xué)院學(xué)報(bào):自然科學(xué)版, 2005,(4).
[5]?吳京蓬,劉娜,王爽心.RFID中用于解決信道爭(zhēng)用問題的防碰撞算法.儀器儀表學(xué)報(bào),2006,(1).
?