《電子技術應用》
您所在的位置:首頁 > 通信與網(wǎng)絡 > 設計應用 > 一種智能電梯語音系統(tǒng)的設計
一種智能電梯語音系統(tǒng)的設計
互聯(lián)網(wǎng)
摘要: 隨著城市文明化和現(xiàn)代化建設步伐的加快,對建筑物中電梯的服務要求也越來越高,人們越來越追求智能...
Abstract:
Key words :

1  引言
    隨著城市文明化和現(xiàn)代化建設步伐的加快,對建筑物中電梯的服務要求也越來越高,人們越來越追求智能化、人性化的乘梯環(huán)境。在電梯語音服務方面,目前主要是傳統(tǒng)的人工服務,即通過電梯管理員告知乘客所要到達的樓層以及其他相關的服務信息。本文以單片微機和ISD語音芯片為核心,設計了一種電梯語音服務系統(tǒng),實現(xiàn)了電梯語音服務的智能化和自動化,以適應各種對服務要求比較高的電梯中。

2  器件功能介紹
    Winbond公司的ISD系列語音芯片采用了“直接模擬量存儲”(DAST)專利技術,信號無需經(jīng)過D/A,A/D轉換,數(shù)字壓縮和語音合成等復雜的數(shù)字信號處理過程,減少了失真,使其聲音存貯效果較以前產(chǎn)品有大幅提高,實際試聽主觀評價可以達到磁帶錄音機的水平,是目前市場上錄放效果最好的語音電路之一。

    ISD4004語音芯片采用CMOS技術,內含晶體振蕩器、防混疊濾波器、平滑濾波器、自動靜噪、音頻功率放大器及高密度多電平閃爍存儲陳列等(見圖1),因此只需很少的外圍器件就可構成一個完整的聲音錄放系統(tǒng)。芯片設計是基于所有操作由微控制器控制,操作命令通過串行通信接口(SPI或Micwire)送入。采樣頻率可為4.0kHz、 5.3kHz、6.4kHz、8.0kHz頻率越低,錄放時間越長,而音質則有所下降。片內信息存于閃爍存儲器中,可在斷電情況下保存100年(典型值) 反復錄10萬次。器件工作電壓3V,工作電流25~30mA,維持電流1uA,單片錄放語音時間8~16min,音質好,適用于移動電話機及其它便攜式電子產(chǎn)品中。

 

 

圖1     ISD4004系列語音芯片內部框圖

2.1  引腳描述
ISD4004系列芯片引腳圖如圖2所示:

 

 

圖2     ISD4004系列芯片引腳圖(TSOP及PDIP、SOIC)

    同相模擬輸入(ANA IN+)—這是錄音信號的同相輸入端,輸入放大器可用單端或差分驅動。單端輸入時,信號由耦合電容輸入,最大幅度為峰峰值32mV,耦合電容和本端的3kΩ輸入阻抗決定了芯片頻率的低端截止頻率。在差分驅動時,信號最大幅度為峰峰值16mV。

    反相模擬輸入(ANA IN-)—差分驅動時,這是錄音信號的反相輸入端。信號通過耦合電容輸入,最大幅度為峰峰值16mV,本端的標稱輸入阻抗為56kΩ,單端驅動時,本端通過電容接地。 兩種方式下,ANA IN+和ANA IN-端的耦合電容值應相同。

·音頻輸出(AUD OUT)—提供音頻輸出,可驅動5Ω的負載。
·片選(SS)—此端為低,即選中ISD4004 系列。
·串行輸入(MOSI)—此為串行輸入端,主控制器應在串行時鐘上升沿之前半個周期將數(shù)據(jù)放到本端,供ISD 輸入。
·串行輸出(MISO)—串行輸出端,ISD未選中時,本端呈高阻態(tài)。
·串行時鐘(SCLK)—ISD的時鐘輸入端,由主控制器產(chǎn)生,用于同步 MOSI 和MISO的數(shù)據(jù)傳輸。數(shù)據(jù)在SCLK上升沿鎖存到ISD,在下降沿移出ISD。
·中斷(INT)—本端為漏極開路輸出,ISD在任何操作(包括快進)中檢測到EOM或OVF時,本端變低并保持。中斷狀態(tài)在下一個SPI周期開始清除,中斷狀態(tài)也可用RINT指令讀取。
·行地址時鐘(RAC)—漏極開始輸出。每個RAC周期表示 ISD存儲器的操作進行了一行(ISD4004系列中的存儲器有2400行)。8kHz采樣頻率的器件,RAC周期為200ms,其中175ms保持高電平,低電平為25ms??爝M模式下,RAC為218.75ms高電平,31.25ms為低電平,該端可用于存儲管理技術。
·外部時鐘(XCLK)—本端有內部下拉元件,芯片內部的采樣時鐘在出廠前已調校,誤差在+1%內,在不外接時鐘時,此端必須接地。
·自動靜噪(AM CAP)—1μF電容構成內部峰值檢測電路的一部分,檢測出的峰值電平與內部設定的閾值作比較,決定自動靜噪電路的工作與否。大信號時自動靜噪電路不衰減,靜音時衰減6dB。同時,1μF電容也影響自動靜噪電路時信號幅度的響應速度,本端接VCCA則禁止自動靜噪。

2.2  SPI接口
    ISD4004工作于SPI串行接口。SPI協(xié)議是一個同步串行數(shù)據(jù)傳輸協(xié)議,協(xié)議假定微控制器的SPI移位寄存器在SCLK的下降沿動作。因此,對ISD4004而言,在時鐘上升沿鎖存MOSI引腳數(shù)據(jù),在下降沿將數(shù)據(jù)送至MISO引腳。協(xié)議具體內容如下:
(1) 所有串行數(shù)據(jù)傳輸開始于SS下降沿;
(2) SS在傳輸期間必須保持為低電平,在兩條指令之間保持為高電平;
(3) 數(shù)據(jù)在時鐘上升沿移入,在下降沿移出;
(4) SS變低,輸入指令和地址后,ISD行才開始錄放操作;
(5) 指令格式是8位控制碼加16位地址碼;
(6) ISD的任何操作(含快進)如果遇到EOM或OVF,則產(chǎn)生一個中斷,該中斷狀態(tài)在下一個SPI周期開始時被清除;
(7) 使用“讀”指令會使中斷狀態(tài)位移出ISD的MISO引腳時,控制及地址數(shù)據(jù)也同步從MOSI端移入;
(8) 所有操作在運行位(RUN)置1時開始,置0時結束;
(9) 所有指令都在SS端上升沿開始執(zhí)行。
OVF標志指示ISD錄放操作已到達存儲器的末尾。EOM標志只在放音過程中檢測到內部的EOM標志時,此狀態(tài)位置1,如圖3所示。SPI指令碼如表1所示。

 

 

圖3     SPI端口的控制位

表1     SPI指令表

 


    以下列舉了幾種對ISD器件進行操作時的指令次序。
(1) 信息快進。用戶不必知道確切的地址,就能快進跳過一條信息。信息快進只用于放音模式。放音速度是正常的1600倍,遇到EOM后停止,內部地址計數(shù)器加1,并接下條信息開始處。
(2) 上電順序。器件延時TPUD(8kHz)采樣時,約25ms后才能開始操作。因此,用戶發(fā)完上電指令后,必須等待TPUD,才能發(fā)出一條操作指令。例如從 00處放音,應遵循如下時序:發(fā)power up命令;等待TPUD上電延時);發(fā)地址值為00的SETPLAY命令;發(fā)PLAY命令。器件會從00地址開始放音,當出現(xiàn)EOM時,立即中斷,停止放音。如果從00處錄音,則按以下時序:發(fā)power up命令;等待TPUD(上電延時);發(fā)power up命令;等待2倍 TPUD;發(fā)地址值為00的SET REC命令;發(fā)REC命令。器件便從00地址開始錄音,一直到出現(xiàn)OVF存儲器末尾)時,錄音停止。

    SPI控制寄存器控制器件的每種功能,如表2所列。

表2     SPI 控制寄存器


    注:IAB置0時,錄、放操作從A15A0地址開始。為了能連貫錄、放到后續(xù)存儲空間,在操作到達該行之前,應發(fā)出第二個SPI指令將IAB置1,原則器件在同一地址上反復循環(huán)。這個特點對語音提示功能很有用,RAC腳和 IAB位可用于信息管理。

2.3  命令格式及時序
    8位及24位命令格式如圖4和圖5所示。錄音、放音、停止時序如圖6所示。

 圖4     8位命令格式

 圖5     24位命令格式

 

 圖 6      錄音、放音、停止時序


3  電梯語音系統(tǒng)的設計
3.1  系統(tǒng)原理電路
    本系統(tǒng)是指安裝在電梯內的放音電路,不包含錄音部分。在實際應用中,將對方需要播音的內容事先錄制到語音芯片中(每一層樓對應一段語音服務,按樓層從低到高的順序錄音),電梯運行時,本系統(tǒng)便可實現(xiàn)自動的語音播報服務。各樓層信號通過信號采集系統(tǒng)從電梯控制面板中引出,經(jīng)過隔離系統(tǒng),進入單片機(如圖8所示,其中隔離器件選用TOSHIBA的光電耦合芯片TLP521-4)。電源部分從電梯內部引入220V交流電源,通過電源模塊和電壓調節(jié)模塊分別為單片機和語音芯片提供5V和3V電壓(如圖9所示)。語音芯片輸出的音頻信號通過功放電路輸出至外部。系統(tǒng)總體結構如圖7所示。

 圖7     系統(tǒng)整體結構圖

 圖8     信號采集電路

 圖9     電源電路


3.2  單片機與ISD芯片接口電路
    本文討論的電梯語音系統(tǒng)的控制和放音部分主要由AT89C51單片機和ISD4004語音芯片構成,其中單片機和語音芯片的接口設計如圖10所示:

 圖10     ISD4004與89C51接口電路

    從圖10中可以看出,單片機和ISD4004之間的連線較少。P1.0接 ISD4004的片選引腳/SS,控制ISD4004是否選通;P1.1接ISD4004的MOSI串行輸入引腳,語音芯片從該引腳讀入放音的地址; P1.2接ISD的串行輸出引腳MISO,單片機從該引腳接收從語音芯片傳來的信號;單片機AT89C51的P1.3接ISD4004的串行時鐘輸入端 SCLK,作為ISD的時鐘輸入,用于同步MOSI和MISO的數(shù)據(jù)傳輸;P1.4接ISD芯片的中斷引腳/INT, 接收從語音芯片發(fā)來的EOM信號,獲得語音段結束信息, 控制其放音或快進操作;ISD4004音頻信號輸出引腳AUDOUT通過一濾波電容輸出至外部功放。

    本系統(tǒng)是針對播報20層樓的情形設計的,通過信號采集系統(tǒng)從電梯控制面板內主要取出了三類信號:樓層信號,上下行信號,關門信號。其中F1至F20便是樓層信號,UP和DOWN分別為上行和下行信號,CLOSE為關門信號,這些信號經(jīng)過隔離處理后進入單片機。

4  軟件設計
    按照前面的分析和硬件原理圖,軟件部分的任務主要是找出將要進行語音播報服務的樓層和在找到樓層后在合適的時候進行放音。

4.1  軟件流程包括以下步驟
(1) 初始化,取定當前樓層;
(2) 掃描電梯面板,并量化存儲用戶選取的所有目標樓層信息;
(3) 為存儲的目標樓層數(shù)據(jù)排序;
(4) 判斷是否存在有效的目標樓層信息,若判斷結果為否,則返回步驟(2);
(5) 若步驟(4)中的判斷結果為是,檢測是否有關門信號,若檢測結果為否,則返回步驟(2);
(6) 若(5)中檢測的結果為是,判斷電梯是上行還是下行;
(7) 保存判斷所述的電梯最近目標樓層;
(8) 調用選音播放子程序;
(9) 保存已經(jīng)播放語音的電梯最近目標樓層為當前樓層。

4.2  軟件
    軟件流程圖如圖11所示。選音播放子程序見圖12。

 圖11     系統(tǒng)軟件流程圖

 

 圖12     選音播放子程序流程圖

    對于ISD4004而言,由于兩次要放音的內容在存儲器里不一定是相鄰的兩段,所以涉及到對語音芯片的分段提取語音的控制,而不只是簡單的放音操作。對于這種情況,如果在知道每一語音段首地址的情況下,可以直接采用“發(fā)送該段首地址并從當前地址開始放音”的命令來實現(xiàn),由于在實際錄音過程中,錄音設備不一定提供每一語音段的物理地址(一般只是顯示對應的段數(shù)),所以在提取樓層對應的語音段的問題上,就必須采取另外的方法,在這里我們是采取控制語音芯片連續(xù)快進的方式來實現(xiàn)的。因此,選音播放子程序包括下列步驟:
(1) 根據(jù)電梯最近目標樓層設置快進次數(shù)計數(shù)器;
(2) 從首地址處開始快進一次(本系統(tǒng)一樓不要求語音服務);
(3) 向語音芯片發(fā)送從當前語音段地址開始快進的命令;
(4) 檢測是否到達電梯最近目標樓層的語音段地址,若否則返回步驟(3);
(5) 若步驟(4)中的檢測結果為是,則播放語音。

本文重點給出選音播放子程序如下:
FANGYIN:MOV 34H,33H   
;設置33H為計數(shù)器并將當前播音樓層作一備份
SETMC: CLR  SS
MOV R1,#0E8H  
;發(fā)送從首地址開始快進命令
MOV A, #00H
ACALL SEND
MOV A, #00H
ACALL SEND
MOV A, R1
ACALL SEND
SETB SS 
SETMC1: CLR SS
MOV R1, #0F8H  
;發(fā)送從當前地址開始快進命令
MOV A, R1
ACALL SEND
ACALL DELAY125U 
;調用12.5微秒延時子程序
SETB SS
ACALL DELAY125U
JB  INT,$  
;一段快進結束則接收到低電平信號
DJNZ 33H,SETMC1 
;判斷快進次數(shù)是否達到要求, 是則往下執(zhí)行
ACALL PLAY   ;調用放音子程序
MOV 33H,34H  
;保存播音樓層為當前樓層
RET
PLAY: CLR  SS    
MOV R1,#0F0H  
;發(fā)送從當前地址開始放音命令
MOV A, R1
ACALL SEND   
;調用發(fā)送子程序進行發(fā)送
SETB SS
JB INT, $  
;放音結束則接收到低電平信號
RET
由于篇幅所限,相關子程序并未全部給出。

5  結束語    
    本文所介紹的電梯語音系統(tǒng)已在某大醫(yī)院門診部大樓的多臺電梯中投入使用,整個系統(tǒng)工作穩(wěn)定,功耗小,音量可調,輸出的語音清晰,音色優(yōu)美,實現(xiàn)了電梯語音服務的智能化和自動化,用戶評價良好。

此內容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉載。