王琰
(南京化工職業技術學院 自動控制系,南京 210048)
基于RFID技術的智能語音播報系統設計*
王琰
(南京化工職業技術學院 自動控制系,南京 210048)
提出一種基于RFID(射頻識別)和單片機技術的智能語音播報系統方案。采用RFID讀卡器讀取RFID電子標簽信息,通過串口發送給AT89S52單片機。單片機根據接收到的數據控制語音模塊,實現準確播報。實驗證明, 該系統具有很好的卡片識別和準確播報能力,為旅游景點和博物館自助講解、公交車站自動報站等系統的設計提供參考。
AT89S52;RFID;語音模塊;電子標簽
射頻識別( Radio Frequency Identification,RFID)作為一種非接觸式的自動識別新技術,近年來得到了迅速的發展并逐步走向成熟。其原理是基于無線射頻信號的傳輸特性,進行非接觸式自動識別,從而自動識別被標識對象,獲取對應數據進行交換。最常見的識別方法是一個串行存儲號碼識別一個人或物體[1]。在此介紹一種基于RFID和單片機技術的智能語音播報系統,可廣泛應用于旅游景點自助導游、博物館自助講解、公交車站自動報站等場合。
本系統由兩大部分組成:RFID電子標簽和智能終端。RFID電子標簽內部由RFID晶片和外界線圈組成,每張電子標簽有唯一的ID號。智能終端主要包括AT89S52單片機、最小系統電路、RFID讀卡器、語音模塊等。其中語音模塊由WT588D語音芯片、編程器和用于語音下載、編程、模式設置的上位機軟件WT588D VioceChip組成。系統整體框圖如圖1所示。

圖1 系統總體框圖
智能終端在有效讀取范圍內檢測到RFID電子標簽時,產生串行中斷,單片機通過RXD引腳讀取并存儲電子標簽ID值,然后查詢與讀取的ID號對應的語音地址,單片機通過一線串口控制模式控制語音模塊完成對應語音信息的準確播報。
2.1 RFID讀卡器模塊DM-S28140
本系統采用中科鷗鵬公司的串口通信版DM-S28140讀卡器模塊實現RFID電子標簽的ID值的讀取。DM-S28140讀卡器具有低功耗被動讀取RFID標簽、串口通信、波特率為2 400 bps、輸入使能允許軟件啟用或禁用等特點。可以讀取EM4100無源只讀系列125 kHz標簽卡,每個標簽包含一個唯一的標識符,由RFID讀卡器讀取后,通過串行接口傳輸。
2.1.1 讀卡原理
當RFID讀卡器工作時,讀卡器的控制電路將電流注入線圈,產生低頻電磁場。若RFID電子標簽放置在有效讀取范圍內(10 cm內),電子標簽的線圈就會感應低頻電磁場,共振耦合產生電流,供給其晶片足夠的電源,在充分的電源供應下,晶片就可以將內存中唯一的ID信號轉換成射頻信號,傳送給讀卡器。只要有充分的電源,電子標簽就會持續不斷地發送ID值。
2.1.2 硬件連接
RFID讀卡器串行接口版本可以與微控制器僅用4個信號(VCC、/ENABLE、SOUT、GND)互連。讀卡器外觀及引腳功能如圖2所示[2]。其中,SOUT連接到AT89S52的P3.0(RXD)引腳實現串口通信,使能引腳/ENABLE由P3.2控制。
AT89S52與WT588D的連接如圖3所示。選擇AT89S52 P1.4引腳連接AT89S52 RESET控制復位信號,AT89S52的P1.5引腳連接P03作為數據輸出端,選擇PWM音頻輸出方式,PWM引腳接至揚聲器。

圖2 讀卡器外觀及引腳功能

圖3 單片機與讀卡器及語音芯片的連接
2.1.3 通信協議
當RFID射頻識別卡開始工作時,且RFID標簽放置在有效讀取的范圍內,唯一的ID以12位ASCII字符串方式發送給主機,如圖4所示。
其中,起始位和停止位有助于識別一個正確的接收信息串,中間10位是實際標簽唯一ID號。

起始位唯一號停止位0x0A位1位2位3位4位5位6位7位8位9位100x0D
圖4 ASCII字符串格式
2.2 語音模塊
語音模塊包括16個引腳的語音芯片WT588D、一個對語音模塊進行語音下載的編程器和上位機軟件VioceChip。WT588D語音芯片是一款可重復擦除燒寫的語音單片機芯片。表1為各個引腳的功能描述。
圖5為一線串口控制模式時序及電平占空比示意圖[3]。配套WT588D VioceChip上位機操作軟件可隨意更換WT588D語音單片機芯片的任何一種控制模式,把信息下載到SPI-Flash上即可,可控制220個語音地址,每個地址位能加載組合128段語音。支持 DAC/PWM 兩種輸出方式,PWM 輸出可直接推動 0.5W/8Ω 揚聲器。 支持加載 WAV 音頻格式,以及MP3 控制模式、按鍵控制模式、一線串口控制模式、三線串口控制模式。本系統采用一線串口控制模式接收待合成的文本,直接合成為語音輸出。

表1 WT588D-16PIN引腳功能表

圖5 一線串口控制模式時序及電平占空比
一線串口只通過一條數據通信線控制時序,依照電平占空比不同來代表不同的數據位。先拉低 RESET復位信號5 ms,然后置于高電平等待17 ms,再將數據信號拉低5 ms,最后發送數據。高電平與低電平數據占空比為1∶3,代表數據位0;高電平與低電平數據位占空比為3∶1,代表數據位1。高電平在前,低電平在后。
3.1 主函數及語音編程

圖6 主函數流程
軟件系統主要由主函數main、讀卡函數getRFID()、語音播放函數Send_oneline(uint8_t cmd)組成。主函數完成系統初始化(定義標簽卡ID數組)、調用讀卡函數實現標簽卡ID信息的讀取、查詢ID卡號對應的語音地址、調用語音播報函數實現信息的準確播報。流程圖如圖6所示。
值得注意的是,播放的語音必須下載到語音芯片SPI-Flash存儲器中,通過語音編程器及VioceChip上位機軟件進行語音模塊的編程(即語音的裝載、模式設置等),編程流程如圖7所示。
語音下載后,須將語音地址與下載的語音文件一一對應起來,這是單片機讀取語音并且準確播報的重要參考點,語音地址對應關系如表2所列。

表2 語言地址對應關系

圖7 語音編程流程
3.2 讀卡功能的實現
讀卡函數getRFID()程序流程圖如圖8所示。首先進行UART初始化,當讀卡器檢測到標簽卡時產生串行中斷,按照12位通信協議按位讀取數據,直到接收到停止位0x0D結束。
截取有效數據后4個字節,有效數據是指每個字節的大小在指定范圍內(即0x30~0x46),對應字符為0~F,程序中只需要0x0D(停止字節)前的4個字節。
例如這4個字節分別為0x41、0x32、0x36、0x46,對應的字符為A26F,轉換成十進制數,則數值等于41 583。因此,主程序定義的標簽卡數組元素應為每個標簽卡后5位十進制ID對應的十六進制數。

圖8 讀卡程序流程圖
3.3 語音播報功能的實現
根據圖3和圖5,語音播報函數Send_oneline(uint8_t cmd) 程序流程圖如圖9所示。函數中的形參cmd即語音的地址。

圖9 語音播報程序流程圖
本文使用AT89S52單片機、DM-S28140讀卡器和WT588D語音模塊,配合RFID電子標簽,實現了智能語音播報系統。

[1] 康東,石喜勤,李勇鵬.射頻識別(RFID)核心技術與典型應用開發案例[M].北京:人民郵電出版社,2008.
[2]深圳中科鷗鵬智能科技有限公司.28340-RFIDreader-v2.2pdf [EB/OL].[2014-09].http://www.szopen.cn/uFile/4296/2012108144349451.pdf.
[3]廣州唯創科技有限公司.WT588D語音芯片及模塊資料[EB/OL].[2014-09].http://www.szopen.cn/uFile/4296/2012108144458578.pdf.
王琰(講師),主要研究方向為機電控制技術。
Intelligent Voice Broadcast System Based on RFID
Wang Yan
(Department of Automatic Control,Nanjing College of Chemical Technology,Nanjing 210048,China)
This paper proposes an intelligent voice broadcast system based on the technology of RFID (radio frequency identification devices) and microcontroller.The system uses RFID reader reading RFID tag messages,then sends data to AT89S52 through the serial port.The microcontroller can achieve accurate broadcast according to the
data to control voice module.The experiment results show that this system has a good ability of identify and broadcast, and it provides a reference for research on self-help explanation of tourist spots and museums and automatic report station of bus station.
AT89S52;RFID;voice module;electronic tags
2013江蘇省高等學校大學生實踐創新訓練計劃項目(201312920004Y)。
TN92
A
?迪娜
2014-09-28)