胡珍玉
(哈爾濱投資集團(tuán)有限責(zé)任公司哈爾濱150001)
系統(tǒng)總體設(shè)計框圖如圖1所示。根據(jù)設(shè)計要求,硬件結(jié)構(gòu)主要由主控芯片AT89S51單片機作為核心控制部件,系統(tǒng)由實時時鐘、語音錄放控制、當(dāng)前時間調(diào)整、提醒時間設(shè)置、LED譯碼/驅(qū)動、時間顯示和語音處理等模塊組成。該系統(tǒng)利用實時時鐘芯片DS1302產(chǎn)生年、月、日、時、分、秒等時間信息,通過單片機對時間信息進(jìn)行處理后送數(shù)碼管顯示驅(qū)動電路;語音錄放部分采用可擦除、可分段語音處理芯片ISD2560記錄語音以及其他外圍電路組成語音提示系統(tǒng),在接收到放音命令后根據(jù)單片機發(fā)送過來的語音信息地址,對存放的語音數(shù)據(jù)進(jìn)行組合,發(fā)出與時間相對應(yīng)的語音信息,實現(xiàn)語音報時功能。
圖1 系統(tǒng)總體設(shè)計框圖
1.2.1 控制器選擇
語音提示器系統(tǒng)的控制模塊選用單片機AT89S51作為主控部件。它是一款低功耗、高性能的8位單片機,并且與MSC-51引腳和指令系統(tǒng)完全兼容,芯片上的EEPROM允許在線重復(fù)編程1 000多次,非常適合在本系統(tǒng)的設(shè)計開發(fā)中使用。
1.2.2 時鐘芯片選擇
語音提示器系統(tǒng)的時鐘芯片選用DALLAS公司推出的DS1302,其片內(nèi)含實時時鐘舊歷和31字節(jié)靜態(tài)RAM的時鐘芯片,通過串行接口與單片機進(jìn)行通信。DS1302與單片機之間能采用同步串行的方式進(jìn)行通信,僅需復(fù)位線RST,IO數(shù)據(jù)線、SCLK串行時鐘線3根線即可完成數(shù)據(jù)的通訊。DS1302數(shù)據(jù)傳送方式有單字節(jié)和多字節(jié)傳送方式,根據(jù)控制命令字和數(shù)據(jù)傳送的時序,單片機可以對DS1302重新設(shè)置時間和讀取實時時間。
1.2.3 LED數(shù)碼管顯示接口選擇
設(shè)計選擇動態(tài)顯示方式。動態(tài)顯示是一位一位地輪流點亮各位數(shù)碼管,這種逐位點亮顯示器的方式稱為位掃描。動態(tài)方式顯示時,各數(shù)碼管分時輪流選通,要使其穩(wěn)定顯示,必須采用掃描方式,即在某一時刻只選通一位數(shù)碼管,并送出相應(yīng)的段碼,在另一時刻選通另一位數(shù)碼管,并送出相應(yīng)的段碼。依此規(guī)矩循環(huán),即可使各位數(shù)碼管顯示需要顯示的字符。在輪流點亮過程中,只要每位顯示間隔時間足夠短就可以給人以同時顯示的感覺,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù)。采用動態(tài)顯示方式節(jié)省I/O口,硬件電路也較靜態(tài)顯示簡單,但其亮度不如靜態(tài)顯示方式,而且在顯示位數(shù)較多時,CPU要依次掃描,占用CPU較多時間。
1.2.4 語音芯片選擇
設(shè)計選擇ISD2560語音芯片。該片是ISD系列單片語音錄放集成電路的一種。具有永久記憶型語音錄放電路,錄音時間為60 s,可重復(fù)錄放10萬次。該芯片采用多電平直接模擬量存儲專利技術(shù),每個采樣值可直接存儲在片內(nèi)單個EEPROM單元中,因此能夠非常真實、自然地再現(xiàn)語音、音樂、音調(diào)和效果聲。ISD2560還省去了A/D和D/A轉(zhuǎn)換器,其集成度較高。此外,ISD2560還具備微控制器所需的控制接口。能夠?qū)崿F(xiàn)復(fù)雜的信息處理功能,如信息的組合、連接、設(shè)定固定的信息段和信息管理等。
數(shù)碼管動態(tài)掃描接口電路如圖2所示。
圖2 顯示部分電路圖
圖3 時鐘接口電路圖
單片機AT89S51和DS1302接口電路如圖3所示。
串行時鐘芯片 DS1302的 SCLK,RST,1/0口分別與單片機的 P3.5,P3.4,P3.3 相連。根據(jù)DS1302數(shù)據(jù)傳送的時序圖利用軟件模擬完成串行數(shù)據(jù)傳送。DS1302的VCC接3 V的鋰電池作
對DS1302進(jìn)行任何數(shù)據(jù)傳送時,第一個數(shù)據(jù)字節(jié)必須是命令字節(jié),格式見表2。其中最高有效位MSB(位7)必須為邏輯1,如果它是0,禁止寫DS1302。位6為邏輯0時,指定傳送時鐘/日歷數(shù)據(jù);邏輯1指定傳送RAM數(shù)據(jù)。位1~5為主電源掉電后的備用電源。
S1302串行時鐘芯片內(nèi)部結(jié)構(gòu),主要由移位寄存器、控制邏輯、振蕩器、實時時鐘及31字節(jié)的RAM組成。它的內(nèi)部的實時時鐘/日歷提供秒、分、時、日、月及年等信息,對小于31天的月末的日期進(jìn)行調(diào)整,還包括閏年的校正功能。時鐘的運行可采用24 h或AM(上午)和PM(下午)的12 h格式。
DS1302的數(shù)據(jù)傳送時序如圖4所示,當(dāng)RST為高位時,對芯片的操作有效。SCLK線上為時鐘脈沖,其上升沿時,I/O線上信息輸入有效(低位在前,高位在后)[6];而下降沿時,I/O線上的數(shù)據(jù)輸出有效(低位在前,高位在后)。圖4數(shù)據(jù)傳送時序?qū)S1302的每一次讀寫需16個時鐘脈沖,前8個脈沖輸入操作地址和讀寫命令。指定進(jìn)行輸入或輸出的特定寄存器的地址。最低有效位LSB(位0)為邏輯0時,指定進(jìn)行寫操作(輸入);邏輯1指定進(jìn)行讀操作(輸出)。命令字節(jié)總是從最低有有效位LSB(位0)開始輸入。其地址命令字節(jié)的格式如表1所示。
圖4 數(shù)據(jù)傳送時序
表1 地址命令字節(jié)的格式
隨機地址錄放音電路的錄放音起始地址可以通過單片機對語音芯片的A0~A9進(jìn)行控制而實現(xiàn)。隨機地址可以選擇芯片中的任意地址。隨機地址錄放音電路如圖5所示。
單片機的P2口接ISD2560的A0-A7,P3.6,P3.7接A8,A9作為地址選擇線。ISD2560的P/R,/CE,PD 分別接單片機的 P0.7,P0.6,P0.5 口。錄音時,按下錄音鍵,單片機通過 P2口送出ISD2560錄放語音段的起始地址,再使PD端、P/R端和/CE端為低電平啟動錄音;結(jié)束時,松開按鍵,單片機又讓/CE端回到高電平。即完成一段語音的錄制。同樣的方法可錄取第二段、第三段、……。特別值得注意的是,錄制時間不能超過預(yù)先設(shè)定的每段語音的時間。放音時,根據(jù)需播放的語音內(nèi)容,找到相應(yīng)的語音段起始地址,可根據(jù)實際情況組合回放,并通過口線送出。再將P/端設(shè)為高電平,PD端設(shè)為低電平,并讓CE端產(chǎn)生一負(fù)脈沖啟動放音,這時單片機只需等待ISD2560的信息結(jié)束信號,即EOM的產(chǎn)生。信號為一負(fù)脈沖,在負(fù)脈沖的上升沿,這段語音才播放結(jié)束。所以單片機必須要檢測到,EOM的上升沿才能播放第二段,否則播放的語音就不連續(xù),而且會產(chǎn)生啪啪聲,這一點在編制軟件時一定要注意。標(biāo)志啟動發(fā)出下一段的放音地址,這樣連續(xù)放音就可以實現(xiàn)語音報時的功能。
圖5 隨即機地址錄放音電路圖
主程序設(shè)計
按鍵中斷程序設(shè)計
時鐘接口程序設(shè)計
語音芯片接口程序設(shè)計
錄音放音子程序流程圖(圖6)
圖6 錄音放音子程序流程圖
智能語音提示器具有顯示年、月、日、時、分、秒和整點音樂報時及定時鬧鐘等諸多功能,能夠達(dá)到設(shè)計的總體要求。與傳統(tǒng)的語音處理器產(chǎn)品相比較,該系統(tǒng)具有硬件電路簡單、開發(fā)周期短和音質(zhì)高保真等優(yōu)點,具有一定的實用價值與推廣價值。
[1] 高旭東.PIC單片機智能測控系統(tǒng)[D].哈爾濱理工大學(xué),2002.
[2] 電子報合訂本[N].成都:電子科技大學(xué)出版社.2005:165-231.
[3] 馮育長.單片機系統(tǒng)設(shè)計與實例分析[M].西安電子科大出版社.2007.
[4] 黃賢武.傳感器原理及應(yīng)用.電子科技大學(xué)出版社,2003,75-81.
[5] 姚遠(yuǎn),凌毓?jié)?TLC2543在89C51單片機數(shù)據(jù)采集系統(tǒng)中的應(yīng)用[N].湖北武漢:華中師范大學(xué)信息技術(shù)系電子工程師學(xué)報,2003(09).
[6] 苗齊壯,孫鳳英,張梅美.基于Trans-Modeler軟件的公交信號優(yōu)先模擬研究[J].森林工程,2012,28(3):47-50.
[7] 貢雪梅.日歷電子鐘的設(shè)計[J].西安:西安航空技術(shù)高等??茖W(xué)校學(xué)報.2004:21-22.