中原工學(xué)院電子信息學(xué)院 常靜
基于CAN總線的語音提醒器的設(shè)計(jì)
中原工學(xué)院電子信息學(xué)院 常靜
隨著工業(yè)生產(chǎn)等各部門對(duì)生產(chǎn)工藝以及精密度需求的不斷提高,出現(xiàn)了許多生產(chǎn)系統(tǒng)語音提醒產(chǎn)品。在工業(yè)生產(chǎn)中,正常有序的工作制度是保障生產(chǎn)過程和生產(chǎn)產(chǎn)品質(zhì)量的有效措施。因此,研究開發(fā)此語音提醒系統(tǒng)對(duì)工廠車間的生產(chǎn)實(shí)踐具有指導(dǎo)意義,對(duì)產(chǎn)品生產(chǎn)具有廣泛的應(yīng)用價(jià)值。本系統(tǒng)還具有專業(yè)計(jì)算器的功能,來完成對(duì)每次工作開始之前的用料與產(chǎn)出之間相對(duì)關(guān)系的計(jì)算,從而更好地完成對(duì)生產(chǎn)過程的監(jiān)控。
語音合成和語音識(shí)別技術(shù)是實(shí)現(xiàn)人機(jī)語音通信及建立一個(gè)有聽和講能力的口語系統(tǒng)所必需的2項(xiàng)關(guān)鍵技術(shù)。語音合成技術(shù)的應(yīng)用范圍非常廣,如電話查詢、話費(fèi)催繳、呼叫中心、證券股票查詢、教育系統(tǒng)資料查詢等各類都有應(yīng)用。該系統(tǒng)能夠完成對(duì)工作人員的人機(jī)互動(dòng),并實(shí)時(shí)地提醒并且顯示出下一步的工作內(nèi)容,使生產(chǎn)工藝有序地進(jìn)行,保證了生產(chǎn)質(zhì)量。
1.系統(tǒng)組成。本系統(tǒng)是由單片機(jī)最小系統(tǒng)、語音模塊、數(shù)據(jù)存儲(chǔ)模塊、CAN總線控制模塊、鍵盤、顯示等幾個(gè)部分組成。其組成框架如圖1所示。
2.工作原理。本系統(tǒng)設(shè)計(jì)的目標(biāo)是低成本、功能強(qiáng)大,適用于各種生產(chǎn)環(huán)境。其主要工作原理如下:該系統(tǒng)是以AT89C51單片機(jī)為核心進(jìn)行生產(chǎn)過程信息的處理。系統(tǒng)通過識(shí)別CAN系統(tǒng)傳過來的信號(hào),并對(duì)信號(hào)進(jìn)行處理得到相應(yīng)的語音提示,實(shí)時(shí)提醒并且顯示出下一步的工作內(nèi)容,使生產(chǎn)工藝有序地進(jìn)行下去,保證了生產(chǎn)質(zhì)量。
1.語音模塊。所謂語音芯片,就是在人工或者控制器的控制下可以錄音和放音的芯片。在設(shè)計(jì)中用美國ISD公司的語音芯片ISD25120,其錄放音時(shí)間為120秒。ISD2500系列具有抗斷電、音質(zhì)好,使用方便等優(yōu)點(diǎn)。它的最大特點(diǎn)在于片內(nèi)E2PROM容量為480K,錄放時(shí)間長。有10個(gè)地址輸入端,尋址能力可達(dá)1024位,并最多能分成600段。設(shè)有OVF(溢出)端,便于多個(gè)器件多級(jí)聯(lián)。
語音芯片的工作方式如下:采用E2PROM存儲(chǔ)方法,將模擬語音數(shù)據(jù)直接寫入半導(dǎo)體存儲(chǔ)單元中,不用另加A/D和D/A變換電路,使用方便,且語音音質(zhì)自然。
2500系列最多可分為600段,只要在分段錄/放音操作前(不少于300納秒)給地址A0~A9賦值,錄音及放音功能均從設(shè)定的起始地址開始,錄音結(jié)束由停止鍵操作決定,芯片內(nèi)部自動(dòng)在該段的結(jié)束位置插入結(jié)束標(biāo)志(EOM)。而放音時(shí)芯片遇到EOM標(biāo)志即自動(dòng)停止放音。
2500系列地址空間是這樣分配的:地址0~599作為分段用(見表1),地址600~767未使用,地址768~1023為工作模式選擇。
表1 ISD25120地址分配
2.外部數(shù)據(jù)存儲(chǔ)模塊。在本系統(tǒng)的設(shè)計(jì)中采用串行的外部數(shù)據(jù)存儲(chǔ)器,AT24C64作為密碼的存儲(chǔ)介質(zhì)。串行存儲(chǔ)器采用串行數(shù)據(jù)傳輸方式,速度相對(duì)較慢,操作也較為復(fù)雜,但占用I/O口少,節(jié)約了系統(tǒng)資源,適合本系統(tǒng)的應(yīng)用。由于AT24C64是通過I2C總線進(jìn)行數(shù)據(jù)傳輸?shù)?,所以其與單片機(jī)的通信方式采用模擬I2C總線方式,通過單片機(jī)上的兩個(gè)引腳模擬I2C總線的數(shù)據(jù)線與時(shí)鐘線,實(shí)現(xiàn)I2C總線的狀態(tài)與時(shí)續(xù),完成單片機(jī)與AT24C64的數(shù)據(jù)傳輸。
3.顯示系統(tǒng)。液晶顯示器是液晶模塊通過點(diǎn)陣方式實(shí)現(xiàn)的。本系統(tǒng)中,顯示系統(tǒng)要求顯示出來下一步操作的主要內(nèi)容,顯示內(nèi)容繁瑣,所以在系統(tǒng)中選用長沙太陽人公司生產(chǎn)的SMG12864A作為顯示器,來顯示下一步的操作內(nèi)容。
4.鍵盤系統(tǒng)。鍵盤系統(tǒng)按種類分為編碼式鍵盤系統(tǒng)和非編碼式鍵盤系統(tǒng),在本系統(tǒng)中由于按鍵個(gè)數(shù)較多,操作繁瑣,所以采用編碼式鍵盤系統(tǒng)。
鍵盤系統(tǒng)采用的是矩陣式編碼鍵盤系統(tǒng),使用BC7281和SN74LS164作為鍵盤控制芯片,用于鍵盤的掃描與鍵值的確定和發(fā)送。
本系統(tǒng)的設(shè)計(jì)采用C語言編寫,主要完成對(duì)顯示、語音、通信和外部數(shù)據(jù)存儲(chǔ)等方面的控制。
主程序是本系統(tǒng)控制的中心部分,它完成系統(tǒng)初始化、數(shù)據(jù)處理、按鍵判斷、整合程序等功能,使所有程序都能成為一個(gè)有機(jī)的整體。
采用模塊化程序設(shè)計(jì)方法,將子程序劃分為顯示模塊、數(shù)據(jù)存儲(chǔ)模塊、鍵值獲取模塊、語音錄放和通信等模塊,然后主程序通過調(diào)用各個(gè)子程序來實(shí)現(xiàn)所要求的功能。
本系統(tǒng)用了2種總線技術(shù),對(duì)其使用介紹如下。
1.I2C總線。I2C總線是一種用于I2C器件間連接的二線制總線。它通過SDA(串行數(shù)據(jù)線)及SCL(串行時(shí)鐘線)兩根線再連到總線上的器件之間來傳送信息,并根據(jù)地址識(shí)別每個(gè)器件。
采用I2C總線標(biāo)準(zhǔn)的單片機(jī)或I2C器件,其內(nèi)部不僅有I2C接口電路,而且將內(nèi)部各單元電路按功能劃分為若干相對(duì)獨(dú)立的模塊,通過軟件尋址實(shí)現(xiàn)片選,減少了器件片選線的連接。CPU不僅能通過指令將某個(gè)功能單元電路掛靠或摘離總線,還可對(duì)該單元的工作狀況進(jìn)行檢測,從而實(shí)現(xiàn)對(duì)硬件系統(tǒng)的擴(kuò)展與控制。I2C總線的數(shù)據(jù)傳送速率在標(biāo)準(zhǔn)工作方式下為100kbit/s,在快速方式下,最高傳送速率可達(dá)400kbit/s。
2.CAN總線。CAN總線是國際上應(yīng)用最廣泛的現(xiàn)場總線之一。CAN作為一種多主方式的串行通訊總線,其基本設(shè)計(jì)規(guī)范要求高位速率和較高的抗電磁干擾性能,而且要能夠檢測出通訊總線上產(chǎn)生的任何錯(cuò)誤。當(dāng)信號(hào)傳輸距離達(dá)10km時(shí),CAN仍可提供高達(dá)50kbit/s的數(shù)據(jù)傳輸速率。CAN總線與其他幾種現(xiàn)場總線比較而言,是最容易實(shí)現(xiàn)且價(jià)格最為低廉的一種,但其性能并不比其他現(xiàn)場總線差。這也是目前CAN總線在眾多領(lǐng)域被廣泛采用的原因。節(jié)點(diǎn)是網(wǎng)絡(luò)上信息的接收和發(fā)送站。所謂智能節(jié)點(diǎn)是由微處理器和可編程的CAN控制芯片所組成。
系統(tǒng)所選用的CAN總線的總線控制芯片是SJA1000,總線收發(fā)器是82C250??偩€控制器上的數(shù)據(jù)線直接和單片機(jī)的P0口相連,其他控制線分別和P2、P3口上的對(duì)應(yīng)口線相連,如讀寫線、復(fù)位線和中斷等。
總線控制器和總線收發(fā)器之間直接將數(shù)據(jù)發(fā)送和數(shù)據(jù)接收線的兩根線連接到一起,并在總線收發(fā)器和電纜連接線上加一個(gè)120歐姆的終端電阻。
在調(diào)試過程中,選擇的發(fā)送和接收方式是中斷發(fā)送與接收。在有中斷發(fā)生時(shí),發(fā)送一次數(shù)據(jù);當(dāng)總線上有數(shù)據(jù)傳輸時(shí)產(chǎn)生中斷一次,并且接收總線上的數(shù)據(jù),通過顯示系統(tǒng)顯示出來。
本設(shè)計(jì)完成了系統(tǒng)顯示、數(shù)據(jù)存儲(chǔ)和對(duì)語音芯片的操作,并通過單片機(jī)對(duì)系統(tǒng)進(jìn)行控制,完成語音信號(hào)的存儲(chǔ)與播放功能。從實(shí)驗(yàn)結(jié)果來看,該設(shè)計(jì)的語音提醒系統(tǒng)穩(wěn)定性較好。但要真正做到商業(yè)化還需要做更多的改進(jìn)工作,這就需要進(jìn)一步的系統(tǒng)開發(fā)。