新聞中心

        EEPW首頁 > 消費電子 > 設計應用 > vW90P71 0的智能音樂播放囂系統設計

        vW90P71 0的智能音樂播放囂系統設計

        作者: 時間:2009-11-17 來源:網絡 收藏

        2.1 主、從機控制器
        W90P710主機是控制和管理的核心,實現,錄音,文件和錄音文件的存儲、刪除、顯示,以及與單片機的串口通信等功能。該處理器以ARM7TDMI為內核,具有以下特性:
        ①片內集成LCD控制器,方便實現顯示功能;
        ②外部總線接口具有豐富的片選資源,可擴展NAND Flash等大容量存儲設備;
        ③具有4個串口,可方便實現與凌陽單片機的串口通信及程序調試。
        同時,W90P710主頻能達到80 MHz,功耗低,有著十分優秀的性價比,特別適用于控制領域。
        的語音識別芯片為SPCE061A,是凌陽科技公司推出的針對語音識別領域的16位單片機,具有體積小、功耗低、性能好且易于開發等特點。該芯片使用凌陽音頻編碼SACM_S240方式(2.4 kbps),能容納210 s的語音數據;具備串行設備接口;7通道10位電壓A/D轉換器(ADC)和1個單通道的聲音專用A/D轉換器。聲音A/D轉換器輸入通道,內置麥克風放大器和自動增益控制(AGC)電路。語音模式成功啟動或處于訓練模式下,單片機自行采集語音信號并進行識別,識別結果通過串行接口傳給主機。
        2.2 音頻模塊
        音頻模塊在整個系統中起著舉足輕重的作用,不但要實現錄音功能,而且還需MP3、提示音和錄音文件。本系統的音頻接口由AC97音頻接口總線接口和ALC203音頻編解碼器組成。ALC203是Realtek公司推出的一款經濟型音頻編解碼器,它通過AC97數字音頻接口實現音頻信號的數字化處理。圖2是關于音頻編解碼的具體實現電路,ALC203的2、3腳接1個24.576 MHz的晶振;5、6、7、10腳和華邦W90P710的AC97數字音頻接口AC97-DATO、AC97-BCLK、AC97-DATI、AC97-SYNC相連;MIC1和MIC2接麥克風兩端;HP-OUT-L和HP-OUT-R腳分別通過一個有極電容接到耳機插口處;GPIO1和GPIO0可以硬件調節音量,但本采用軟件進行音量調節。

        本文引用地址:http://www.104case.com/article/166854.htm

        2.3 其他模塊
        LCD顯示屏選用的是AUO公司的A030DL01(320×240)工業級液晶屏。該液晶屏的彩色格式為RGB656格式,彩色色深可達到64K色,顯示文件名和歌曲基本信,同時因屏幕空間較大,可添加彩色背景畫面。漢字顯示是通過添加字庫軟件實現的。鍵盤有4×1個按鍵,方便用戶控制器,同時也保證在語音模式不能正確工作時可以按鍵控制機器。

        MPEGDEC_STREAM*MPEGDEC_open(char*filename,MPEGDEC_CTRL*ctrl);
        功能描述:打開MPEG音頻文件。
        參數:filename為待打開的音頻文件,ctrl為控制數據解碼信息的結構體。
        返回值:打開成功,則返回包含數據流信息和解碼信息的結構體指針;失敗,則返回NULL。
        void MPEGDEC_dose(MPEGDEC_STREAM*mpds);
        功能描述:關閉MPEG音頻文件。
        參數:mpds指向待關閉的音頻文件。
        無返回值。
        unsigned long MPEGDEC_decode_frame(MPEGDEC_STREAM*mpds,short*pcm[MPEGDEC_MAX_CHANNELS]);;
        功能描述:為當前打開的音頻文件的一幀解碼。
        輸入:mpds指向打開的音頻文件。
        輸出:pcm[]存放解碼后的16位音頻數據;pcm[0]中存放單聲道或左聲道或聲道1的數據;pcm[1]中存放右聲道或聲道2的數據。
        返回值:返回解碼一幀的音頻數據數目;返回MPEG-DEC_ERR_EOF,則說明當前幀是最后一幀;返回MPEG-DEC_ERR_BADFRAME,則說明該幀已損壞。
        3.2.2 歌曲基本信息結構體
        按照MP3的ID3 V1.0標準定義,MP3文件的最后128字節用來存放標簽頭、歌曲名、演唱者等信息。為了在LCD屏上顯示當前播放歌曲的基本信息,給出了一個結構體來讀取并存放這些信息。這個結構體定義如下:


        3.2.3 播放主流程
        當用戶選中歌曲進入播放界面時,ARM7主機首先通過串口給單片機發一個命令字0x01,通知從機進入識別“播放器”這組命令的函數。從機接收到命令后,首先判斷“播放器”這組命令是否已經訓練。若訓練,則返回0x04,同時播放器的語音模式啟動成功;若未訓練,則返回0x06,LCD屏顯示提醒用戶訓練該庫;若從機在規定時間內(因實時性要求,這里“規定時間”指200 ms)返回其他值或未返回值,則播放器的語音模式啟動失敗。若成功啟動語音模式,音樂是分幀解碼后播放,在幀一幀循環中,主機需查詢鍵盤和串口,來實現“上一首”、“下一首”、“播放”、“暫停”、“退出”和調節音量的功能。若語音模式啟動失敗,則只需查詢鍵盤。每次接收到“退出”命令時,主機在退出音樂模式前需通過串口發送0x05給單片機,通知單片機同步退出該模式;單片機接收到命令后,需返回0x04告知主機已退出。播放的主流程如圖4所示。關于語音命令如何訓練,可見參考文獻[5],這里不再贅述。

        4 實驗結果
        以W90P710開發套件+凌陽SPCE061A為硬件,采用嵌入式操作系統μClinux,在實驗室安靜和嘈雜的情況下(安靜時室內噪聲為50 dB,嘈雜時為60 dB),測試播放器語音模式的工作效率。在測試語音模式的工作效率前,先進行了按鍵測試,測試通過率為100%,且音樂播放流暢,響應滿足實時性要求。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 古交市| 福泉市| 远安县| 广安市| 遂平县| 伊金霍洛旗| 仙桃市| 汉中市| 义乌市| 济源市| 旺苍县| 红桥区| 阿拉善盟| 板桥市| 新安县| 沂源县| 新野县| 巢湖市| 夏邑县| 屏南县| 兴安盟| 祁连县| 绵竹市| 敦化市| 开鲁县| 渭南市| 滁州市| 山阳县| 宁安市| 贺兰县| 邳州市| 垫江县| 湾仔区| 巴东县| 嵩明县| 瓮安县| 永宁县| 合作市| 同江市| 岳池县| 林周县|