資料介紹
1 VS1003B解碼芯片介紹VS1003B是由芬蘭VLSI公司出品的一款單芯片的MP3/WMA/MIDI音頻解碼和ADPCM編碼芯片,其內部電路如圖1所示。由圖可見,VS1003B包含一個高性能、具有自主產權的低功耗DSP處理器內核VSDSP,工作數據存儲器為用戶應用提供5 kB的指令RAM和0.5 kB的數據RAM,串行的控制和數據接口,4個常規用途的I/O口,一個UART,一個高品質可變采樣率的ADC和立體聲DAC,還有一個耳機放大器和地線緩沖器。VS1003B通過一個串行輸入總線來接收輸入的比特流,它可以作為一個系統的從機。輸入的比特流被解碼,然后通過一個數字音量控制器到達一個18位過采樣多位ε-△DAC。解碼過程通過一個串行控制總線來控制實現。除了基本的解碼,在用戶RAM中它還可以做其他特殊應用,例如DSP音效處理。2 設計原理以半雙工語音通信為例,其工作原理如圖2所示。當一方需要講話時,會按下PTT鍵,該信號被STM32微處理器檢測到后,一方面向對方發送“PTT已按下”的消息,另一方面控制已方VS1003B進入錄音模式,VS1003B將采集到的音頻數據編碼后緩存給STM32,再通過CAN總線發送到對方。對方在收到“PTT已按下”消息后,會控制己方VS1003B開啟語音播放模式,將對方傳來的音頻數據傳輸給VS1003B進行解碼,并根據需要調節音量,供耳機播放。VS1003B電路原理圖如圖3所示。J1為麥克風輸入插座,用于連接麥克風。J2為外部聲音輸入插座,連接音源。J3為耳機輸出插座,連接耳機,由于內部具有耳機驅動器,VS1003B輸出信號不需經過任何功放電路,從而簡化了硬件電路。VS1003B各部分的供電電壓不同,IOVDD(I/O電壓)為3.3 V,CVDD(數字電路電壓)為2.5 V,AVDD(模擬電路電壓)為2.8 V。最大的采樣率XTAL1/256,決定了能以正確的速度播放的音頻采樣率。例如,如果要播放48 kHz采樣率的音頻,XTAL1至少為12.288 MHz才能獲得正確的播放速度。對于STM32微處理器來說,總共需要7個IO口與VS1003B連接。SO(串行輸出)、SI(串行輸入)與SCLK(串行總線時鐘)分別接STM32的PB14、PB15和PB13,即接到STM32的SPI2上,VS1003B通過SPI接口輸出IMA ADPCM編碼的音頻數據。其余的四根線中,DREQ(數據請求)連接到PC3,XCS(命令片選)連接到PC10,XDCS(數據片選)連接到PC11,XRESET(復位)連接到STM32的14管腳(NRST),當STM32復位時,VS1003B同時復位。操作時,只有當DREQ為高(準備好)時才能讀寫VS1003B。3 VS1003B程序設計3.1 初始化VS1003B在設計中,STM32F103VET6通過SPI總線對VS1003B進行控制,也就是通過VS1003B的串行數據接口SDI和串行控制接口SCI實現STM32F107 VCT6與VS1003B的通信。VS1003B初始化流程如圖4所示。其中,DREQ為高時可判斷為硬件復位或軟件復位結束。3.2 語音信號的采集語音信號的采集就是把模擬的語音信號轉化為可控制的數字信號。在這一處理過程中,主要是對模擬音頻信號進行采樣、量化和編碼。目前常見的音頻信號的頻率范圍大致如下:電話為200Hz~3.4 kHz,調幅廣播為50 Hz~7 kHz,調頻廣播為20Hz~15 kHz,高保真音頻信號為20 Hz~20 kHz。因此音頻取樣頻率一般定在8~48 kHz范圍內。量化是利用預先規定的有限個電平來表示每一模擬采樣值的過程。量化的精度與其用來表示采樣值的二進制位數有關,例如4位可表示24=16個量化等級,8位可表示28=256個量化等級。明顯地,位數越多,量化值越接近采樣值,其精度也就越高,但相應的所需的存儲量也越大(見表1)。鑒于STM32F107VCT6主頻最高為72 MHz,在保證聲音質量的前提下,應盡量減少數據量,因此本文對聲音的采樣頻率為8 kHz,量化精度為8 bit,此時數據碼率為64 kbit/s。語音壓縮編碼需要在保持可懂度、音質、限制碼率及降低編碼過程的計算代價這幾個方面進行折衷。VS1003B提供了IMA ADPCM編碼,這是由互動多媒體協會(IMA)制定的標準,屬于波形編碼的一種,采用麥克風和線入兩種輸入方式,可支持的音頻文件格式包括MP3、MP3+V、WMA、WAV、MIDI和SP-MIDI。IMA ADPCM適用于8~44.1 kHz采樣頻率,并且能在CPU占用率低和內存空間需求少的條件下保證較好的音質,在Windows和MAC操作系統中有廣泛的應用。IMA ADPCM錄音模式需要在SCI_MODE中對SM_RESET和SM_ADPCM進行置位來啟動。在啟動ADPCM錄音前,必須分別向SCI_AICTRL0和SCI_AICTRL1寫入時鐘分割值(據此可得到采樣率)和增益值。錄音流程如圖5所示。記錄的語音數據以512字節為單位進行存儲,并由STM32處理器通過CAN總線向對方轉發。3.3 CAN通信CAN總線作為一種總線式串行通信網絡,與一般的通信總線相比,具有突出的可靠性、實時性和靈活性等特點。考慮到模擬訓練器材對語音傳輸距離的要求不高,且STM32自帶bxCAN,即基本擴展CAN,它支持CAN協議2.0A和2.0B,支持報文發送的優先級要求,支持時間觸發通信,距離40 m內波特率可達1Mbit/s。因此,設計上采用CAN總線來實現語音數據傳輸,由STM32F107VCT6內嵌的2路CAN控制器與外圍器件SN65HVD230 (也標識為VP230)收發器組成2路CAN收發電路,其中一路CAN組成信令網,實現控制信令的傳輸;另一路CAN組成語音網,將ADPCM壓縮編碼后的數據,由STM32處理為CAN報文格式,發送到總線上,并對CAN過濾器進行設置,使之僅在收到給自己的報文時引起中斷。3.4 語音信號的播放播放前將對方傳來的語音數據存放到STM32的緩沖區,緩沖區的大小設置為512字節,一般一次讀一個扇區,然后將數據發往VS1003B。由于VS1003B有32字節的數據緩沖區,一次可以發32個字節的數據,然后檢測DREQ,當DREQ為高時送下一個32字節的數據,直到發完為止。 DREQ為高表明VS1003B可以接受新的數據,如果不考慮DREQ而直接連續的給VS1003B發音頻數據,將會出現聲音斷斷續續的情況。語音播放流程如圖6所示,考慮到實際語音通信時,本地PTT鍵抬起時,對方會無法聽到語音,因此流程圖中采用判斷對方PTT鍵的狀態來處理是否播放。4 結束語本文對基于STM32微處理器和VS1003B音頻解碼芯片的語音通信功能的實現進行了研究,重點介紹了VS1003B的原理以及在語音通信應用中的硬件電路設計和軟件程序設計。經測試,該方法可較好地滿足語音通信要求,工作穩定可靠,并在多個模擬訓練器材研發項目中得到應用,具有一定的參考價值。(mbbeetchina)
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 基于VS1003B的語音通信方法研究
- MP3音頻解碼芯片VS1003B原理圖下載 28次下載
- VS1003使用指南 39次下載
- STM32微控制器的可靠串口通信技術研究資料下載
- STM32單片機多串口通信仿真測試技術研究資料下載
- 4/5G協同優化方法的研究資料下載
- 基于DSP的指紋識別系統研究資料下載.pdf 15次下載
- VS1003B的語音通信方法研究 16次下載
- 光纖通信復用技術的研究資料 12次下載
- VS1003B MP3解碼模塊 載咪頭 ST 17次下載
- 基于VS1003B的語音通信方法研究 13次下載
- 如何驅動VS1003
- VS1003中文資料VS1003B中文資料 (MP3/WM
- VS1003/VS1003B pdf datasheet (
- MP3解碼芯片VS1003電路圖-原理圖
- 微雪電子VS1003B MP3 Board簡介 2873次閱讀
- 語音通信中時延產生測量及減小方法 2651次閱讀
- 田洪川VS2005視頻教程:DataSet深入使用 699次閱讀
- 田洪川VS2005視頻教程:玩轉vs2005環境中的Ado.Net 756次閱讀
- 田洪川VS2005視頻教程:成員管理 491次閱讀
- 田洪川VS2005視頻教程:TreeView高級使用 731次閱讀
- 田洪川VS2005視頻教程:驗證控件 508次閱讀
- 田洪川VS2005視頻教程:向導《Wizard》 550次閱讀
- 田洪川VS2005視頻教程:表格Table 584次閱讀
- 田洪川VS2005視頻教程:SubsTItuTIon 630次閱讀
- 田洪川VS2005視頻教程:容器Panel 633次閱讀
- 田洪川VS2005視頻教程:image/imagebutton 513次閱讀
- 田洪川VS2005視頻教程:重載方法以及運算符重載 546次閱讀
- 田洪川VS2005視頻教程:創建對象和使用方法以及屬性 501次閱讀
- 田洪川VS2005視頻教程:VS2005工具欄使用說明 915次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費下載
- 0.00 MB | 1490次下載 | 免費
- 2單片機典型實例介紹
- 18.19 MB | 92次下載 | 1 積分
- 3S7-200PLC編程實例詳細資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關電源原理及各功能電路詳解
- 0.38 MB | 10次下載 | 免費
- 6基于AT89C2051/4051單片機編程器的實驗
- 0.11 MB | 4次下載 | 免費
- 7藍牙設備在嵌入式領域的廣泛應用
- 0.63 MB | 3次下載 | 免費
- 89天練會電子電路識圖
- 5.91 MB | 3次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費
- 4LabView 8.0 專業版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費
- 5555集成電路應用800例(新編版)
- 0.00 MB | 33562次下載 | 免費
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費
- 8開關電源設計實例指南
- 未知 | 21539次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537791次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233045次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191183次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183277次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138039次下載 | 免費
評論
查看更多