??? 摘? 要: 全數字化語音系統(tǒng)的設計。該系統(tǒng)用DSP芯片TMS320F206對MSM6588語音芯片進行錄音、放音控制,用FLASH存儲器AM29F040B進行語音數據存儲,用差分線驅動器和接收器SN75LBC180在RS-485總線網絡上傳輸語音數據。該語音系統(tǒng)結構簡單、功能可靠,從而滿足了全數字化語言教學實驗室對學生機單元提出的要求。?
??? 關鍵詞: DSP? 語音錄放? FLASH存儲器? RS-485總線
?
??? 由于語言教學實驗室對語言教學產生著十分重大的影響和作用,是外語教學改革和提高外語教學質量的制高點和突破口,因而語言教學實驗室得到了空前的發(fā)展和利用。我國現(xiàn)有的語言教學實驗室產品大都屬于模擬型語言教學實驗室,然而面對信息時代的到來,高新技術的發(fā)展,語言教學實驗室為了適應未來教育的需要,必須尋求新的發(fā)展。而要解決傳統(tǒng)語言教學實驗室面臨的問題必須引入數字化的設計,這主要包括以下四方面的內容:一是學生機中微控制器的選擇;二是語音信號的采集和播放;三是語音信號的存儲,也就是數字錄音機的功能實現(xiàn);四是語音信號的網絡化傳播。?
??? TMS320F206是美國TI(德州儀器)公司繼TMS320C2X和TMS320C5X之后推出的一種低價格、高性能的16位定點運算DSP,其CPU接近于TMS320C25,但時鐘速率提高、指令集更加豐富和優(yōu)化、片內外設向TMS320C5X靠攏[1]。TMS320F206(以下簡稱F206)的性價比極高,目前已成為高檔單片機的理想替代品,在通信、語音/語言、軍事、儀器儀表、圖像處理、工業(yè)控制等領域得到了廣泛應用。本文就是用F206對MSM6588語音芯片進行錄音、放音控制,用FLASH存儲器AM29F040B進行語音數據存儲,用差分線驅動器和接收器SN75LBC180在RS-485總線網絡上傳輸語音數據,從而滿足全數字化語言教學實驗室對學生機提出的上述要求的。圖1示出了該語音系統(tǒng)的結構簡圖。?
?
?
1 語音錄放電路?
??? 語音芯片MSM6588是日本OKI公司的產品,內含話筒放大器、低通濾波器(LPF)、12位A/D和D/A轉換器,語音數據的處理采用ADPCM(自適應差分脈沖編碼模式)方式[2]。語音芯片主時鐘頻率確定后,可用DSP通過軟件輸入控制字來設定采樣頻率。采樣頻率設定越高,放音的品質越好,錄音的時間就越短。表1給出了MSM6588語音芯片的常用控制命令。?
?
?
??? 圖2給出了F206與MSM6588的接口電路。關于F206和MSM6588的引腳說明見參考文獻[1]和[2]。U3是總線收發(fā)器,用來隔離和驅動DSP的數據線。MSM6588左邊的模擬電路用來放大從麥克風拾取的微弱電信號,右邊的模擬電路是功率放大部分,U5即TPA302是音頻功率放大器,可驅動32Ω耳機。?
?
?
2 語音存儲電路?
??? 由于語音芯片內無存儲器,必須外掛存儲器??刹捎玫拇鎯ζ骱芏?如SRAM、PSRAM、DRAM、SDRAM、FLASH等。本方案采用的是AMD公司生產的AM29F040B,它的存儲容量為512KB,使用單5V電源進行按扇區(qū)的擦除和按字節(jié)的寫入操作。AM29F040B的非易失性可使語音數據在掉電后不會丟失,它的閃速存儲性能可提高語音數據的采樣頻率,從而提高放音的品質。當采樣頻率設定為5.86kHz時,錄音/放音時間為174.744s。AM29F040B的引腳輸出與工業(yè)標準的EPROM、E2PROM完全兼容,在電路設計時非常方便。圖3示出了F206與AM29F040B的接口電路。AM29F040B地址線有19根,設計F206與其接口的關鍵是將AM29F040B的高位地址線(圖3中為A14、A15、A16、A17和A18,可根據分頁的多少和頁面的大小而定)通過八D鎖存器74HC574的輸出保持,其余地址線直接連到F206的地址總線上。該接口電路將512KB的數據空間分成32頁,每頁16KB。這16KB的空間被定位在F206數據空間的哪一個范圍則由信號線/CSFLASH決定。在對FLASH操作時,先要通過74HC574選擇頁面,然后便可對當前頁面的16KB數據空間讀寫。?
?
?
??? 與靜態(tài)RAM不同,對FLASH的操作是通過一系列命令來實現(xiàn)的。表2給出了AM29F040B的主要命令定義(其中XXX表示任意地址。RA表示要讀的存儲地址,RD表示要讀的數據;PA表示編程地址,PD表示編程數據;SA表示扇區(qū)地址A18~A16)。從表2可以看出,讀FLASH只需要1個時鐘周期,而寫入一個字節(jié)則需要4個時鐘周期,因此FLASH的讀寫速度比SRAM慢。但FLASH比相同容量的SRAM便宜得多,工作可靠性高,因而FLASH非常適用于需要大容量、非易失性、重復編程存儲的場合。?
?
?
3 語音傳輸網絡?
??? 由于F206的片內異步串口(ASP)可以以高達2.5Mbit/s的傳送速率進行全雙工發(fā)送和接收操作,而且在所有方式下發(fā)送和接收數據都為雙緩沖,故可利用ASP外接差分線驅動器和接收器SN75LBC180構成RS-485總線網絡,將所有的學生機節(jié)點和教師機連成主從式網絡結構。圖4給出了F206與SN75LBC180的接口電路。SN75LBC180與F206接口的4根信號線是RX、TX、IO0及IO1,由于在圖2中已給出了F206的所有管腳,這里就不再畫出DSP了。其中IO0連接到SN75LBC180的接收數據控制引腳/RE,IO1接到SN75LBC180的發(fā)送數據控制引腳DE,數據的接收和發(fā)送就是靠IO0和IO1的電平高低來控制的。SN75LBC180的總線互連部分只畫出了差分接收的電路,差分發(fā)送電路與接收電路相同,故沒有在電路中示出。由于RS-485的通信載體是雙絞線,它的特性阻抗是120Ω,所以在RS-485的網絡傳輸線的始端和末端各接1只120Ω的匹配電阻R3,以減少線路上傳輸信號的反射。SN75LBC180的A、B輸入端接上拉、下拉電阻R1、R2是為了防止F206被誤中斷而收到亂字符;R4、R5可使本機的硬件故障不影響整個總線的通信;穩(wěn)壓管D1、D2組成吸收回路以抵抗傳輸線上的各種干擾,用來保護RS-485總線。?
?
?
4 軟件設計簡述?
??? 該語音教學系統(tǒng)中的學生機單元的軟件框架見圖5。軟件設計的核心是協(xié)調各中斷(從主機來的串口接收中斷、從語音芯片MSM6588來的采樣中斷和播放中斷以及從鍵盤來的中斷)之間的邏輯關系。學生機的主要任務是:在播放的時候,既要保證接收數據完整,又要保證語音播放不間斷;在錄音的時候,既要保證采樣連續(xù),又要保證完整地發(fā)送數據包。本程序采用雙緩沖技術來解決這些問題,即在播放時,接收一個數據包到一個緩存區(qū),同時播放另一個緩存區(qū)中的數據包;錄音時,采樣一個緩存區(qū),同時發(fā)送另一個緩存區(qū)中的數據包。?
?
?
參考文獻?
1 TMS320C2xx數字信號處理器用戶指南.武漢力源電子股份有限公司,1998?
2 水 清.MSM6588語音芯片的單片機控制.力源電子工程,1999(3)