陳 慧
(華東交通大學機電工程學院,江西南昌330013)
自動售貨機因無需專人值守而可每天24小時售貨,被譽為“無人小超市”。自動售貨機具有銷售方式新穎、商品貨真價實、服務方便快捷、技術含量高等優(yōu)點,決定了它廣闊的發(fā)展前景[1,2]。自動售貨機在日本、美國等西方發(fā)達國家應用很廣泛,經過多年的發(fā)展其控制技術日趨完善,但由于技術封鎖公開資料很少,且國外產品在功能、使用形式等方面與我國消費者的需求和習慣還有一定的差別,另外其高昂的價格也令商家望而切步。有見于此,近年來國內的有識之士展開了對自動售貨機系統(tǒng)的研究,從貨幣識別技術、執(zhí)行部件結構、主控制系統(tǒng)等多方面進行了探討[3-6]。上述研究多集中在售貨功能的實現(xiàn)方面,對于人機交互界面的多元化、人性化的考慮則很少。
作者曾對自動售貨機的智能控制系統(tǒng)進行過研究[7],認為自動售貨機不僅應完善其本質的售貨功能,而且要在售貨過程中提高其人性化。本文集中探討自動售貨機上語音功能的實現(xiàn)。相信語音功能的加入可以彌補機器生硬操作的不足,使顧客在購物的同時可以有種親切的、人性化服務的感受。
圍繞功能強、方便、可靠及經濟性的要求,本設計選定凌陽16位單片機SPCE061A為控制核心,它具有功率低、處理速度高、擴展性好、語音處理能力強大,其語音模塊便于工作人員進行修改的突出優(yōu)點。
如圖1所示,自動售貨機系統(tǒng)設計工作流程如下。
(1)用戶投幣,當系統(tǒng)檢測到有幣投入時產生中斷。在中斷程序里調用語音輸出程序播出“您好,歡迎使用自動售貨機,在您使用之前請仔細閱讀有關注意事項”,然后延時調用硬幣或紙幣識別程序;如果檢測出偽幣、殘幣則將其從退幣口退出;否則片內SRAM單元保存當前的幣值。
(2)等待顧客按鍵選擇商品,當系統(tǒng)掃描到“購物鍵”按下后執(zhí)行鍵處理操作。如所選商品價格大于當前輸入總幣值,或該商品售完,則語音提示“商品售完或您投幣值不足,本次購物結束,請您取回錢幣,再見!”,同時進行退幣;否則就由單片機控制送貨電機彈出所選貨物至取物口,此時片內SRAM單元減去相應貨物價格所對應的數(shù),得到剩余金額,將此剩余金額對應的數(shù)送片內SRAM單元保存,同時顯示。
(3)系統(tǒng)檢測到有商品送出的信號,則根據(jù)當前剩余金額決定下一步操作:如果剩余金額為零,語音提示“本次購物結束,無退幣,再見!”;如果還有余額,則語音提示“金額有剩余,選擇購物鍵可繼續(xù)購物;選擇退幣鍵則購物結束?!辈⒌却存I:如果顧客再次按下“購物”,則重復前述購物操作;若顧客按下“退幣”鍵,則將片內SRAM單元內容清空,同時剩余金額顯示為零,等待下一個顧客的光臨投幣。如此一直循環(huán)下去。
從上述自動售貨機工作流程可見,語音提示的部分成為了系統(tǒng)智能化的一個重要體現(xiàn),使得整個系統(tǒng)更友好、更人性化。
常用語音系統(tǒng)的種類主要有:由多帶通濾波器及線性匹配電路構成的語音系統(tǒng)、由單片機構成的語音系統(tǒng)和由數(shù)字信號處理器DSP組成的語音系統(tǒng)。由多帶通濾波器及線性匹配電路構成的語音系統(tǒng)是最早期的語音集成電路,這種電路的語音識別性能低,主要應用于上世紀80年代,現(xiàn)已很少用;由DSP組成的語音識別系統(tǒng)運算能力強,精度高,適用于高性能語音系統(tǒng)。但目前DSP的價格也較昂貴。
本設計采用SPCE061A單片機為核心組成語音系統(tǒng)模塊,對比上述方案而言其優(yōu)點是:SPCE061A單片機同時具有較高16位×16位的乘法運算和內積運算功能,CPU最高時鐘可達49 MHz。因此在處理復雜的數(shù)字信號方面它可以和DSP相媲美,但其價格卻要比專用的DSP芯片廉價。它具有可編程音頻處理的能力,采用凌陽音頻編碼方式能容納數(shù)百秒的語音數(shù)據(jù)(例如,2.4 k位/秒的SACM-S240方式能容納210秒的語音數(shù)據(jù)),具有雙通道10位DAC方式的音頻輸出功能。SPCE061A單片機強大的語音處理能力為我們的設計提供了方便[4]。
對于語音的處理大致可以分為A/D、編碼、存儲、解碼及D/A等。凌陽SPCE061A單片機提供了SACM-LIB,該庫將A/D、編碼、存儲 、解碼及D/A 作為相應的模塊,對于上述每個模塊都有相應的API函數(shù)來實現(xiàn)其各自功能。SPCEO61A可以使用SACM-S240,SACM-S480,SACM-S720,SACM-A2000等多種凌陽編碼壓縮算法。其中SACM-A2000壓縮算法具有壓縮比較小(8:1)、語音質量好、傳輸碼率高的特點,適用于高保真語音。本設計采用的就是SACM-A2000音頻算法。
錄制自動售貨機控制系統(tǒng)需要的各段語音提示文件,將它們存儲在凌陽SPCE061A單片機的內部存儲器中。當系統(tǒng)進行語音提示的播放時,通過SPCE061A的語音識別和處理功能把內部存儲器中相應的語音文件自動解壓縮,經過內置的D/A轉換器及后續(xù)電路的處理后將其轉換成聲音信號,經過擴音裝置進一步將聲音信號放大播出。操作完一步,調用一段數(shù)據(jù),如此進行下去。
圖1 自動售貨機系統(tǒng)工作流程
SPCE061A單片機內置兩路10位DAC,本設計采用DAC1引腳外接功放電路實現(xiàn)語音播放。語音輸出電路如圖2所示,由于SPEO161A的DAC是電流輸出,為了能驅動喇叭SPK1放音,采用音頻集成功放LM386芯片,喇叭SPK1可選用4 Ω/8 Ω的揚聲器。本模塊特點如下:
(1)充分利用SPCE061A單片機內部資源設計了外圍元件最少的語音輸出電路,特別適合于嵌入式產品的開發(fā)應用;
(2)LM386音頻集成功放芯片比較起一般由負載電阻和三極管組成的功放電路而言,具有工作電壓范圍寬(5~18 V)、外接阻容元件少、低失真度及靜態(tài)功耗低(約為4 mA,兩節(jié)電池供電即可)等優(yōu)點。
圖2 語音模塊電路
當有外部中斷信號時,開始啟用語音提示程序,程序先要獲取語音資源填充語音隊列并進行譯碼,然后通過中斷服務子程序將其依次送入DAC通道播放。語音提示程序流程圖如圖3,源代碼如下。
//////////////語音程序主要代碼//////////
圖3 語音提示程序流程圖
以凌陽16位單片機SPCE061A為控制核心,利用該單片機語音識別和處理能力強(提供了API函數(shù),能進行DSP數(shù)據(jù)處理)的優(yōu)勢,設計了自動售貨機控制系統(tǒng)的語音模塊。該模塊的應用使得自動售貨機系統(tǒng)更具智能化、人性化,且該模塊成本低,易于維護。這一設計可以推廣應用在其他自動服務設施中,前景廣泛。
[1]陳志軍,張愛琴.自動售貨機研究現(xiàn)狀及展望[J].中國工程科學,2008,10(7):51-56.
[2]張曼,楊勇強.一種新型自動售貨機控制系統(tǒng)的設計[J].機電工程技術,2007,36(10):59-62.
[3]陳萌,葉樺,等.自動售貨機主控制器及執(zhí)行機構的設計與實現(xiàn)[J].東南大學學報:自然科學版,2007,37(1):24-28.
[4]葉銀蘭.自動售貨機的設計與實現(xiàn)[J].微計算機信息,2008,24(23):53-55.
[5]鄭大宇,劉立晶.自動售貨機送出機構的設計及優(yōu)化[J].黑龍江商學院學報,自然科學版,2000,16(3):39-43.
[6]謝中賽,金志華.基于μ C/OS-Ⅱ的自動售貨機控制系統(tǒng)[J].機電工程,2009,26(1):35-37.
[7]陳慧.基于嵌入式單片機的智能自動售貨機控制系統(tǒng)[J].華東交通大學學報,2008,25(4):78-82.
[8]沈紅衛(wèi).單片機應用系統(tǒng)設計實例與分析[M].北京:北京航空航天大學出版社,2002.
[9]薛鈞義,張彥斌,虞鶴松,等.凌陽十六位單片機原理及應用[M].北京:航空航天大學出版社,2003.
[10]姚四改.Protel99SE電子線路設計教程[M].上海:上海交通大學出版社,2003.