新疆大學電氣工程學院 靖大同 吳向前 司志澤
隨著城市文明化和現(xiàn)代化建設步伐的加快,對建筑中電梯的服務要求也越來越高,現(xiàn)代電梯技術已朝著更快、更穩(wěn)、更安全及更人性化的方向迅速發(fā)展。電梯語音報站器就是體現(xiàn)其人性化設計的一個具體表現(xiàn)。用語音報告電梯將要到達或已經到達的樓層信息、電梯的運行狀態(tài)、歡迎詞和音樂等,可避免乘客搭錯電梯或樓層、消除人們乘坐電梯的孤獨感。
ISD4004是Winbond公司的ISD4000系列語音芯片。它采用了“直接模擬量存儲”(DAST)專利技術,信號無需經過D/A、A/D轉換,數(shù)字壓縮和語音合成等復雜的數(shù)字信號處理過程,減少了失真,使其聲音存儲效果較以前產品有大幅度提高,實際試聽主觀評價可以達到磁帶錄音機的水平,是目前市場上錄放效果較好的語音電路之一。
本文以ATMEL公司的AT89C51和Winbond公司的ISD4004語音芯片為核心,設計了一種電梯語音服務系統(tǒng),實現(xiàn)了電梯語音服務的智能化和自動化,以適應各種對服務要求比較高的電梯中。
本系統(tǒng)由信號采集與隔離電路、單片機及其外圍電路、語音芯片電路和電源電路四大部分組成。電梯的樓層信號經過采集隔離處理后送至單片機,單片機分析、判斷、提取出有效信息,再經過運算處理輸出控制信號控制語音芯片電路實時播報。系統(tǒng)整體結構如下圖1所示。
ISD4004語音芯片采用CMOS技術,內含內部時鐘、采樣時鐘、平滑濾波器、自動靜噪、音頻放大器、高密度多電平Flash ROM存儲器及防混疊濾波器等,通過串行通信接口(SPI或Microwire總線協(xié)議)與微控制器(如MCS-51芯片)相連,所有操作均由微控制器控制。內部采用多電平直接模擬量存儲技術,每個采樣值直接存儲在片內Flash ROM存儲器中,因此能逼真、自然地再現(xiàn)語音、音樂、音調等聲響效果,避免了一般固體錄音電路因量化和壓縮造成的量化噪聲和“金屬聲”。采樣頻率可為4.0kHz、8.0kHz。頻率越低,錄放時間越長,音質則有所下降。片內信息存于Flash ROM中,可在斷電情況下保存100年(典型值),反復錄放10萬次。器件工作電壓3V,工作電流25~30mA,維持電流1uA,單片錄放語音時間8~16min,音質好,廣泛應用于公共汽車語音報站系統(tǒng)、移動及自動應答電話設備及語音復讀機等電子產品中。
2.1.1 SPI端口控制寄存器位及ISD4004控制命令
ISD4004工作于SPI串行接口。SPI串行接口是高速同步串行口,是一種標準的全雙工四線同步雙向串行總線。SPI協(xié)議是一個同步串行數(shù)據(jù)傳輸協(xié)議,協(xié)議假定微控制器的SPI移位寄存器在SCLK的下降沿動作。因此,對ISD4004而言,在時鐘上升沿鎖存MOSI引腳數(shù)據(jù),在下降沿將數(shù)據(jù)送至MISO引腳。
2.1.2 ISD4004語音芯片SPI總線接口時序及命令格式
ISD4000系列語音芯片SPI總線參數(shù)如表1所示,ISD4004芯片支持8位、16位命令格式,傳輸時序及8、16位命令格式如圖2、3、4所示。
從SPI總線時序可以看出:其SPI總線時序與SPI總線接口存儲器EEPROM 25C01/02/04兼容。在接收控制命令時,先接收LSB(這要求SPI總線控制器先輸出LSB);空閑時,SCLK為低電平,在SCLK上升沿鎖存MOSI引腳上的信息,如表1所示。
表1 ISD4004語音芯片SPI總線參數(shù)
I S D 4 0 0 4 外圍接口電路主要由ISD4004、麥克X1及相關外圍電路構成。聲音信號由X1轉換成電信號,經電容C31耦合,三極管Q4放大后由IN-引腳進入ISD4004,由ISD4004采樣和保存。錄音播放電路主要由ISD4004、LM386等構成。聲音信號由ISD4004的AUDOUT引腳輸出,經電容耦合送入LM386芯片,放大后由VOUT引腳輸出并驅動揚聲器發(fā)聲。如圖5所示,ISD4004外圍接口電路。
(1)執(zhí)行上電操作命令(POWER UP);(2)延遲等待,直到上電結束(當采樣頻率為8 kHz時,上電延遲時間約為25 ms);(3)執(zhí)行“SET PLAY”命令,設置放音段起始地址;(4)執(zhí)行“PLAY”命令,從當前地址開始放音,遇到段結束標志EOM或存儲器末尾標志OVF時停止放音,同時INT引腳輸出低電平,指示當前段播放結束。
當需要播放兩段或兩段以上時,如果段與段之間間隔很小時,可在上一段播放結束后,延遲一段時間(需通過試聽確定延遲時間的長短,一般為數(shù)十毫秒)再播放下一段。放音過程如圖6所示。在放音操作過程中,執(zhí)行“STOP”或“STOP WRDN”命令時,將終止當前放音操作。
圖1 系統(tǒng)整體結構圖
圖2 傳輸時序
圖3 8位命令格式
圖4 16位命令格式
圖5 ISD4004外圍接口電路
圖6 放音流程
圖7 錄音流程
(1)執(zhí)行上電操作命令(POWER UP);(2)延遲等待,直到上電結束(當采樣頻率為8 kHz時,上電延遲時間TPUD約為25 ms);(3)再執(zhí)行上電命令(POWER UP);(4)延遲兩倍上電等待時間(即延遲2×TPUD時間;(5)執(zhí)行“SET REC”命令,設置錄音段的起始地址。
執(zhí)行“REC”命令,從當前地址開始錄音,直到出現(xiàn)存儲器末尾標志OVF信號。
在錄音過程中,未錄到存儲器末尾時,就執(zhí)行“STOP”或“STOP WRDN”命令,將終止當前錄音操作,并產生EOM標志。因此,可利用這一特性在芯片上錄制多段語音信息??梢姡浺暨^程與放音過程相似,只是每次錄音操作操作只能錄一段,如圖7所示。
程序設計的關鍵是對ISD4004的操作。ISD4004有許多操作命令如表4所示,這些命令通過SPI接口傳給ISD4004。AT89C51單片機沒有SPI接口,因此需要程序模擬SPI接口。下面重點給出ISD4004芯片初始化程序及程序模擬SPI接口向ISD4004發(fā)送單字節(jié)指令。
初始化ISD4004芯片,代碼如下:
void Ini_ISD(void)
{
ISD_OneCode(POWERUP);
Delay50ms();
ISD_OneCode(POWERUP);
Delay50ms();
Delay50ms();
}
程序模擬SPI接口向ISD4004發(fā)送單字節(jié)指令,代碼如下:
void ISD_OneCode(uchar CCode)
{
ISD_CS=0;
//單字節(jié)指令
ISD_WriteSpi(CCode);
//適用于:POWERUP,STOPPLAY,STOP REC,PLAY,REC
ISD_CS=1;
}
本文介紹基于ISD4004、單片機AT89S51的電梯語音系統(tǒng),經測試,整個系統(tǒng)工作穩(wěn)定,功耗小,音量可調,輸出的語音清晰,音色優(yōu)美,對電梯的安全、穩(wěn)定運行無干擾,實現(xiàn)了電梯語音服務的智能化和自動化。
[1]王幸之,鐘愛琴,王雷.AT89系列單片機原理與接口技術[M].北京航空航天大學出版社,2004.
[2]陳越,嚴一巖.ISD 全系列單片語音錄放電路設計與應用匯編.ISD Data Book.2000.
[3]高紅亮,張國忠,楊杰,周晟.采用ISD4004的電梯語音系統(tǒng)的設計[J].電子技術,2005,9.
[4]賴麒文.8051單片機C語言開發(fā)環(huán)境實務與設計[M].科學出版社,2002.