餐廳顧客服務(wù)終端
摘要:提出了一種基于以太網(wǎng)技術(shù)的高檔餐廳顧客服務(wù)終端的DSP解決方案,實現(xiàn)了瀏覽菜單、顧客點餐、預(yù)約用餐、網(wǎng)絡(luò)訂餐、終端娛樂、語音留言等服務(wù)。
關(guān)鍵詞:餐廳終端;以太網(wǎng);VDK;音視頻編解碼
引言
在高檔酒店客人坐在圓形的餐桌旁,通過觸摸面前的電腦屏幕選擇食物,不久選中的食物便通過軌道輸送到客人面前。這一自動點餐系統(tǒng)避免了人工服務(wù)造成的等待、服務(wù)態(tài)度等問題,同時提供了強大的娛樂功能。同樣,該系統(tǒng)也適合于娛樂及辦公場所,大家可以在各自的包間或辦公室很方便地點餐。
系統(tǒng)功能
系統(tǒng)框圖示于圖1。Blackfin處理器是專門為滿足當(dāng)今嵌入式音頻、視頻和通信應(yīng)用計算要求和低功耗條件設(shè)計的嵌入式處理器[1]。系統(tǒng)包含有一片Blackfin系列雙核處理器ADSP-BF561[2],視頻采集解碼芯片ADV7183B,音頻編解碼芯片ADV1836A,SDRAM數(shù)據(jù)存儲器,F(xiàn)LASH程序存儲器,以太網(wǎng)芯片LAN91C111,LCD觸摸屏,SD卡、UART接口,按鍵,指示燈等。
系統(tǒng)通過擴展了SD卡,移植了FAT文件系統(tǒng),作為照片、視頻、電子書等數(shù)據(jù)的存儲。通過ADSP-BF561內(nèi)部的SPI總線,從SD卡內(nèi)部將數(shù)據(jù)讀到SDRAM里,同樣,SDRAM的數(shù)據(jù)也可以通過SPI總線寫回到SD卡內(nèi)部。
從SD卡讀到SDRAM內(nèi)部的菜品的圖片,通過一些處理,轉(zhuǎn)化成適合320×240彩色LCD顯示的RGB-24Bit格式的圖像數(shù)據(jù),之后,通過并行外設(shè)接口(PPI)送給LCD控制器,進行菜品圖片的顯示。
系統(tǒng)擴展了LAN91C111芯片作為網(wǎng)絡(luò)主控芯片。ADSP-BF561通過外部接口擴展總線(EBIU),與LAN91C111進行讀寫通訊。LAN91C111的網(wǎng)絡(luò)輸出經(jīng)過網(wǎng)絡(luò)變壓器后,接到RJ-45接口上,實現(xiàn)了網(wǎng)絡(luò)的硬件連接。LAN91C111芯片通過DMA方式和中斷引腳,與ADSP-BF561進行數(shù)據(jù)的傳輸。軟件方面,通過VDK實時內(nèi)核上移植的LWIP,進行TCP/IP協(xié)議的開發(fā)。
視頻數(shù)據(jù)(PAL制)通過同軸電纜接入到視頻解碼器ADV7183內(nèi)部,經(jīng)過采樣,視頻解碼,輸出ITU-656格式的圖像數(shù)據(jù)。圖像數(shù)據(jù)通過PPI,以8bit的數(shù)據(jù)寬度,SCLK/2的速度,DMA方式傳輸?shù)絊DRAM中。利用PPI的同步數(shù)據(jù)口與ADV7183的幀同步、場同步、行同步等信號進行相連,完成視頻數(shù)據(jù)的同步。對ADV7183的上電配置是通過ADSP-BF561的通用編程接口(PF)實現(xiàn)I2C協(xié)議,完成數(shù)據(jù)格式、增益控制、曝光控制等配置。
從視頻解碼器ADV7183讀到SDRAM的視頻數(shù)據(jù)是ITU-656格式的(UYVY4:2:2格式)經(jīng)過YUV到RGB的算法變換,轉(zhuǎn)變成適合彩屏LCD顯示的RGB24bit數(shù)據(jù),通過PPI傳輸給LCD控制器,實現(xiàn)視頻的采集和播放。
顧客的語音留言通過麥克風(fēng)輸入到音頻編解碼器AD1836中,經(jīng)過音頻A/D的采樣、量化、解碼后,通過DSP的Sport口傳輸?shù)絊DRAM中進行暫時的存儲[3],之后,通過MDMA傳輸?shù)絊D卡中,進行顧客意見的語音保存。AD1836通過ADSP-BF561的串行外設(shè)接口(SPI)配置成44kHz的采樣率、16bit的采樣寬度。
SD卡中的音頻數(shù)據(jù)(歌曲)通過SPI讀取到SDRAM中,由ADSP-BF561解碼后,通過串口(SPORT)以DMA方式,傳輸給AD1836音頻編碼器,再通過揚聲器或者耳機輸出,實現(xiàn)了歌曲的播放。
此外,系統(tǒng)擴展了NAND Flash作為大容量的數(shù)據(jù)存儲,擴展了4×4鍵盤和指示燈,擴展了Flash作為程序固化,擴展了消防信息報警的接口。
圖1 系統(tǒng)框圖
系統(tǒng)功能如下:
瀏覽菜單:菜品圖片通過SD卡,以BMP格式進行存儲。當(dāng)用戶瀏覽菜單的時候,ADSP-BF561通過菜品的文件名,讀取SD卡中對應(yīng)的菜品的圖片,顯示在彩屏LCD上。顧客可以根據(jù)菜單進行選擇菜品進行瀏覽,菜品也可以滾動的播放。
顧客點餐:顧客通過瀏覽菜單菜品的圖片,選擇自己滿意的菜品,之后選擇點餐按鈕,即可以實現(xiàn)點餐功能。此外,顧客還可以通過網(wǎng)絡(luò)進行點餐和預(yù)定菜品,實現(xiàn)點餐的智能化和靈活化。
娛樂功能:終端提供了強大的娛樂功能,包括:聽音樂、閱讀電子書、觀看菜品制作過程視頻等等。顧客在等餐的過程中,可以通過觸摸屏選擇這些娛樂功能,緩解等餐過程中焦急的心情,也達(dá)到了放心愉快用餐的目的。
語音留言和播放:顧客在用餐結(jié)束后,對餐廳的反饋意見可以通過語音的形式,由麥克風(fēng)輸送給音頻解碼芯片AD1836,經(jīng)過音頻A/D采樣、量化、解碼后,存儲在SDRAM中,之后通過存儲在NAND Flash中,實現(xiàn)用戶意見的保存。餐廳經(jīng)營者可以通過菜單把用戶的語音留言播放出來,根據(jù)用戶的意見。
網(wǎng)絡(luò)功能:系統(tǒng)擴展了LAN91C111作為網(wǎng)絡(luò)主控芯片。在軟件上,在VDK內(nèi)核的基礎(chǔ)上移植了LWIP作為網(wǎng)絡(luò)主要結(jié)構(gòu),實現(xiàn)了TCP/IP在ADSP-BF561上的移植[4],完成了C-S(客戶端-服務(wù)器)模型下的網(wǎng)絡(luò)Socket的建立、連接、傳輸、斷開等功能。并且,在標(biāo)準(zhǔn)的TCP/IP的基礎(chǔ)上,開發(fā)了應(yīng)用層協(xié)議,實現(xiàn)了點餐終端與上位機電腦直接的數(shù)據(jù)的傳輸。
軟件設(shè)計
ADSP-BF561上實現(xiàn)的軟件通過采用VDK創(chuàng)建線程,線程之間通過信號量(semaphore)和消息(message)來傳遞信息和完成線程的同步。利用硬件標(biāo)志(device flag)來完成外設(shè)和DSP的同步。利用中斷和中斷嵌套來處理DMA以及突發(fā)事件。通過對每個應(yīng)用程序創(chuàng)建一個線程,用線程的優(yōu)先級和消息進行互相的調(diào)度和管理,并且,編寫ADV7183,AD1836及LAN91C111等設(shè)備的驅(qū)動,用優(yōu)先級管理中斷服務(wù)程序,調(diào)用VDK的API函數(shù)。雙核軟件結(jié)構(gòu)示于圖2。
圖2 雙核軟件結(jié)構(gòu)
程序采用了菜單結(jié)構(gòu),上電初始化后顯示主菜單,通過用戶的對觸摸屏的點擊,開始顯示二級子菜單,然后用戶可以返回上級菜單和跳轉(zhuǎn)到下級子菜單。程序最多有5級菜單,為用戶提供了一個良好的人機交互的界面。主程序流程示于圖3。
圖3 主程序流程
在網(wǎng)絡(luò)傳輸點餐信息方面,DSP端程序主要是在VDK內(nèi)核上通過LWIP移植了TCP/IP協(xié)議簇。VDK作為一個同Visual DSP++一起發(fā)售的內(nèi)核,很好地集成到了 VisualDSP++中。在VDK的基礎(chǔ)上,通過開發(fā)Socket服務(wù)器程序,實現(xiàn)了點餐信息的網(wǎng)絡(luò)傳輸及網(wǎng)絡(luò)點餐的功能。
程序的加載是指把程序固化在FLASH中,在上電后,程序能脫離開仿真器獨立的加載和運行,這一步是任何一個產(chǎn)品開發(fā)過程中必須做到的工作。ADSP-BF561的加載過程非常的復(fù)雜,主要分為:1、簡單程序的加載;2、單核程序的加載;3、雙核程序的加載;4、復(fù)雜的程序(雙核,程序運行在外存中)加載。VDK內(nèi)核下的LWIP程序,以及視音頻的采集、編解碼等等,巨大的程序量使程序必須在外存中運行,而且必須采用雙核處理器來增加處理性能,本設(shè)計的程序加載屬于最復(fù)雜的第4類加載。在程序的加載過程中,我們從簡單的程序開始反復(fù)的試驗,逐步的了解ADSP-BF561的加載過程,通過閱讀大量的資料,與ADI的國內(nèi)和國外的技術(shù)支持進行了聯(lián)系,最終解決了這個難題。
結(jié)語
系統(tǒng)充分利用雙核DSP-BF561的硬件資源,使得Blackfin系列DSP的音視頻處理性能得到充分的發(fā)揮。通過合理的設(shè)計了DSP外圍的器件,實現(xiàn)了音頻的采集與播放、視頻的采集與顯示、觸摸屏的互動、SD卡和NAND flash等大容量存儲器的使用。采用了VDK內(nèi)核管理程序的進程,在DSP上移植了TCP/IP協(xié)議簇,實現(xiàn)了點餐信息的網(wǎng)絡(luò)傳輸及網(wǎng)絡(luò)點餐的功能。存儲在終端的菜品的海量圖片可以動態(tài)的瀏覽和播放。提供了強大的娛樂功能。顧客可以在用餐后通過終端對菜品進行語音評價。
采用該系統(tǒng)實現(xiàn)真正意義上的“無人智能餐廳”。
參考文獻(xiàn):
[1] 高峰. ADI主打Blackfin匯聚多種處理功能[J]. 電子產(chǎn)品世界,2005,(23)
[2] ADI拓展Blackfin雙核嵌入式處理架構(gòu)[J]. 電子產(chǎn)品世界, 2005,(11)
[3] 黃存東,劉宜東. 基于Blackfin雙核處理器的音頻系統(tǒng)設(shè)計與實現(xiàn)[J]. 中國科技信息, 2007,(05)
[4] 基于ADI Blackfin處理器的μClinux內(nèi)核[J]. 世界電子元器件, 2006,(12)
[5] 陽富民,黃涌,涂剛. 基于ADSP-BF561的雙核通信研究[J]. 計算機工程與科學(xué), 2007,(03)
評論