亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于STM32的音頻播放與記錄控制器設(shè)計

        2017-03-30 03:54:23周靜雷孫長城
        微處理機 2017年1期
        關(guān)鍵詞:實驗儀聲卡揚聲器

        周靜雷,孫長城

        (西安工程大學(xué)電子信息學(xué)院,西安710048)

        基于STM32的音頻播放與記錄控制器設(shè)計

        周靜雷,孫長城

        (西安工程大學(xué)電子信息學(xué)院,西安710048)

        傳統(tǒng)的揚聲器產(chǎn)品質(zhì)量測試實驗需要用到功率實驗儀、聲卡和電腦等較多配套硬件設(shè)備,導(dǎo)致測試過程復(fù)雜、成本較高,不利于功率實驗儀的便攜式發(fā)展。針對上述問題,設(shè)計以STM32為核心芯片,控制音頻處理芯片WM8978循環(huán)讀取外擴SRAM里已存儲的音頻文件,持續(xù)產(chǎn)生模擬測試信號,實現(xiàn)播放功能。模擬測試信號經(jīng)過處理后驅(qū)動揚聲器工作,揚聲器的工作電壓和工作電流由采集電路獲取并送給WM8978進行AD采集,采集的數(shù)據(jù)存儲到外部SRAM里,待上位機調(diào)用,實現(xiàn)記錄功能。設(shè)計通過USB與電腦進行數(shù)據(jù)傳輸,支持播放與記錄同時進行,實現(xiàn)了聲卡功能,能夠降低揚聲器測試成本。

        高速USB;微控制器STM32;播放;記錄;I2S協(xié)議;靜態(tài)存儲器SRAM

        1 引言

        揚聲器在出廠前需要進行產(chǎn)品質(zhì)量測試,傳統(tǒng)的測試工具有電腦、聲卡和揚聲器功率測試儀等一整套測試裝備,缺點是測試裝備較多、成本較高、測試流程繁瑣。為了降低成本,同時促進揚聲器老化實驗裝備的便攜式發(fā)展,本控制器嵌入在功率實驗儀平臺上,基于STM32F407微控制器實現(xiàn)音頻的播放與記錄,實現(xiàn)聲卡功能,從而取代聲卡。

        2 控制器總體設(shè)計

        2.1 系統(tǒng)總體介紹

        本控制器設(shè)計是以揚聲器功率實驗儀為平臺,基于STM32f407為核心芯片的嵌入式系統(tǒng)。上位機通過算法生成的音頻測試信號,通過USB傳輸給嵌入式系統(tǒng)實現(xiàn)播放,同時對回采信號進行錄音并通過USB傳回上位機,整個過程不需要聲卡。

        控制器設(shè)計是以STM32F407為主控芯片,這款芯片以Cortex-M4為內(nèi)核,擁有1024KB的FLASH、192KB的SRAM、2個DAM控制器(共16個通道)、兩個全雙工的I2S、3個IIC以及一個FSMC接口等外設(shè),豐富的外設(shè)功能完全滿足了設(shè)計需求[1]。

        2.2 系統(tǒng)框圖

        系統(tǒng)框圖如圖1所示。圖中上位機軟件是在C++Builder環(huán)境下開發(fā)的,以圖形界面的形式展示出用戶的需求。PC通過高速USB與音頻發(fā)生器進行通信,將音頻文件下傳給STM32f407微控制器并存儲到外擴的SRAM芯片IS62WV102416里,在音頻播放時芯片WM8978循環(huán)讀取SRAM里的數(shù)據(jù),持續(xù)產(chǎn)生模擬測試信號。模擬測試信號先進入功率實驗儀進行信號調(diào)理,之后再進入功率放大器進行功率放大以驅(qū)動揚聲器工作。通過功率實驗儀采集電路得到揚聲器的工作電壓和工作電流并由芯片WM8978進行模數(shù)轉(zhuǎn)換,最后通過高速USB傳回上位機,完成記錄功能。控制器整體上實現(xiàn)音頻信號的數(shù)模轉(zhuǎn)換和模數(shù)轉(zhuǎn)換功能,能夠取代聲卡。

        圖1 本設(shè)計的系統(tǒng)框圖

        3 音頻數(shù)據(jù)存儲模塊

        由于STM32F407自帶的192KB的SRAM,容量較小,無法滿足本設(shè)計需求,因此需要外擴SRAM。本控制器選用的STM32f407自帶有一個靈活的靜態(tài)存儲控制器FSMC,該接口支持8位、16位以及32位的SRAM存儲器[2]。本設(shè)計選用的是ISSI公司生產(chǎn)的2MB內(nèi)存的芯片IS62WV102416,該芯片有20根地址線,16根數(shù)據(jù)線,實現(xiàn)對芯片的讀和寫。SRAM相比于SD卡和SPI FLASH最大優(yōu)點是在不影響使用壽命的基礎(chǔ)上實現(xiàn)多次擦寫。在本設(shè)計正常工作時,上位機軟件算法生成音頻數(shù)據(jù)由USB傳輸并存儲到外擴的內(nèi)存SRAM里,在播放時,循環(huán)讀取SRAM里的數(shù)據(jù)[3]。

        4 音頻播放與記錄模塊

        4.1 集成電路內(nèi)置音頻總線

        集成電路內(nèi)置音頻總線,即I2S總線,是用于數(shù)字音頻設(shè)備之間的音頻數(shù)據(jù)傳輸?shù)臉?biāo)準(zhǔn)總線,應(yīng)用廣泛。它的特點是設(shè)計成沿獨立導(dǎo)線傳輸時鐘和數(shù)據(jù)信號,以此將時鐘與數(shù)據(jù)信號分離,避免了因為時差而引起的失真。本音頻信號發(fā)生器采用的微控制器STM32F407自帶有2個全雙工的I2S接口,支持半雙工和全雙工通信,支持主從模式及16位、24位、32位的音頻數(shù)據(jù)格式。該微控制器I2S接口與SPI接口部分公用,工作時,只需設(shè)置相關(guān)寄存器即可開啟I2S,設(shè)計需要開啟I2S的全雙工工作模式[4]。

        4.2 音頻處理模塊

        該模塊是實現(xiàn)音頻發(fā)生器的關(guān)鍵部分,以音頻處理芯片WM8978為核心。WM8978是一款全功能的音頻處理器,自帶有一個HI-FI級的數(shù)字信號處理內(nèi)核,支持增強3D硬件環(huán)繞音效,以及5頻段的硬件均衡器,改善音質(zhì)效果顯著,同時還有濾波功能,有效濾除噪音信號。最大的優(yōu)點是音頻處理芯片WM8978支持播放和記錄同時工作。STM32F407通過IIC總線實現(xiàn)對WM8978的控制。IIC總線是兩線式串行總線,用于連接微控制器和外圍設(shè)備,由數(shù)據(jù)線SDA和時鐘SCL構(gòu)成的串行總線可發(fā)送和接收數(shù)據(jù)[5]。WM8978通過I2S接口,即數(shù)字音頻接口,與STM32F407以及外擴的SRAM相配合進行音頻數(shù)據(jù)的發(fā)送和接收。設(shè)計是在I2S總線全雙工模式下,在STM32f407自帶的SRAM里開辟兩個緩沖區(qū)用于存放即將播放的數(shù)據(jù),實現(xiàn)音頻的流暢播放。音頻處理模塊設(shè)計如圖2所示。

        圖2 本控制器音頻處理模塊

        開啟音頻處理芯片WM8978的DAC和ADC功能。數(shù)字音頻播放后進入功率實驗儀進行調(diào)理,再經(jīng)過功放進行功率放大以驅(qū)動揚聲器工作。功率實驗儀將采集到的揚聲器工作電壓和工作電流送回WM8978進行AD采集,采集數(shù)據(jù)存放于另外開辟的兩個緩沖區(qū)內(nèi)進行相關(guān)處理,再通過中斷處理將采集數(shù)據(jù)送到外擴的SRAM,實現(xiàn)記錄功能。音頻播放和記錄同時進行,實現(xiàn)了聲卡功能。

        5 高速USB通信模塊

        本設(shè)計要實現(xiàn)上位機音頻測試信號的下傳和錄音數(shù)據(jù)的上傳功能,數(shù)據(jù)量較大,對USB通信速度有很高要求,因此采用了高速USB實現(xiàn)設(shè)備與上位機的通信。由于STM32f407本身集成了USB OTG HS模塊,且該模塊嵌入了ULPI接口用于連接外部的HS PHY,因此STM32f407支持高速USB,但內(nèi)部沒有集成高速PHY芯片,因此要實現(xiàn)基于STM32-f407的高速USB功能,在硬件上需要外接芯片,這里選擇了USB3300,這樣就可以支持高速USB傳輸數(shù)據(jù)了[6]。高速USB通信模塊原理圖如圖3所示。

        通信模塊實現(xiàn)兩個端點,一個Bulk In,一個Bulk Out,端點大小為512Byte。上位機驅(qū)動程序通過Bulk Out發(fā)送4字節(jié)數(shù)據(jù),其含義為下位機即將向上位機傳輸?shù)臄?shù)據(jù)量,設(shè)備接收到4字節(jié)的數(shù)據(jù)后,循環(huán)將數(shù)據(jù)通過Bulk In端點發(fā)送給上位機,每次最高能發(fā)送64Byte,每一次發(fā)送數(shù)據(jù)前都會檢測上一次數(shù)據(jù)是否發(fā)送完成。上位機這時就循環(huán)讀取數(shù)據(jù),每次讀取的數(shù)據(jù)量必須和設(shè)備每次發(fā)送的數(shù)據(jù)一致,直到數(shù)據(jù)傳輸完成。傳輸速度可高達40MByte/s,滿足本設(shè)計的數(shù)據(jù)傳輸需求。

        圖3 本控制器的USB通信模塊

        6 軟件設(shè)計

        6.1 軟件總體設(shè)計

        軟件設(shè)計采用了USCOS,即實時多任務(wù)操作系統(tǒng)。該系統(tǒng)是一個基于ROM運行的、可裁剪的、搶占式、實時多任務(wù)內(nèi)核,具有很強的移植性,適合于微處理器和控制器[7]。所謂任務(wù),即死循環(huán),UCOSII支持的任務(wù)多達255個,這些任務(wù)由操作系統(tǒng)進行調(diào)度管理,使這些任務(wù)輪流占用CPU,而不是同時占用,任何時刻,只有一個任務(wù)能夠占用CPU,從而達到并發(fā)工作的狀態(tài)。軟件設(shè)計編寫了三個任務(wù),即播放任務(wù)、記錄任務(wù)和數(shù)據(jù)上傳任務(wù),每一個任務(wù)都有優(yōu)先級和任務(wù)堆棧,這三個任務(wù)由操作系統(tǒng)按照任務(wù)優(yōu)先級進行調(diào)度運行。在創(chuàng)建自己的任務(wù)之前,必須先創(chuàng)建開始任務(wù),然后通過開始任務(wù)創(chuàng)建自己的任務(wù),之后開始任務(wù)就掛起。軟件總體設(shè)計流程圖如圖4所示。

        圖4 軟件總體設(shè)計流程圖

        6.2 音頻播放與記錄數(shù)據(jù)的處理程序設(shè)計

        控制器的音頻播放軟件設(shè)計是在STM32f407自帶的192KB內(nèi)存里開辟2個緩沖區(qū):PlayBuffer1和PlayBuffer2,在音頻播放前,微控制器MCU讀取存儲在外部SRAM里的音頻數(shù)據(jù)來填滿這兩個緩沖區(qū);播放時,通過I2S的DMA功能將其中一個緩沖區(qū)的數(shù)據(jù)送給音頻處理芯片WM8978進行播放;傳送完時,進入中斷對緩沖區(qū)再次填充。與此同時DMA正在傳送另外一個緩沖區(qū)的數(shù)據(jù),這樣不斷交替?zhèn)魉秃吞畛洌茨軌蛄鲿车膶崿F(xiàn)音頻播放。對于記錄功能的軟件設(shè)計同樣是在STM32f407自帶內(nèi)存開辟另外兩個緩沖區(qū):RecordBuffer1和Record-Buffer2,用于存放音頻處理芯片WM8978模數(shù)轉(zhuǎn)換的數(shù)據(jù)。工作過程是:當(dāng)一個緩沖區(qū)填滿以后進入到中斷處理,把數(shù)據(jù)寫到外部SRAM里;同時新采集的數(shù)據(jù)往另外一個緩沖區(qū)填充,同樣填滿以后進入到中斷處理。這樣不斷循環(huán)交替,實現(xiàn)對記錄數(shù)據(jù)的及時處理[8]??刂破鞯囊纛l數(shù)據(jù)處理示意圖如圖5所示。

        圖5 控制器音頻數(shù)據(jù)處理示意圖

        6.3 測試音頻信號的生成

        揚聲器功率實驗儀中所需要的音頻測試信號有高斯白噪聲、粉紅噪聲、模擬節(jié)目信號、連續(xù)對數(shù)掃頻信號、線性掃頻信號、偽隨機信號等。上述音頻信號由上位機以C++Builder為開發(fā)環(huán)境,用C++進行編程的方法實現(xiàn),生成的音頻信號取樣頻率為44.1K,以16位的量化位數(shù)WAV文件形式保存,用于控制器的音頻播放[9]。WAV是計算機領(lǐng)域最常用的數(shù)字化聲音文件格式之一,符合RIFF文件規(guī)范。

        7 結(jié)束語

        基于STM32F407微控制器,通過外接高速USB芯片USB3300,與上位機高速通信,實現(xiàn)上位機待測試音頻文件的高速下傳及數(shù)據(jù)上傳。通過IIC總線控制音頻處理芯片WM8978,通過I2S總線以及FSMC控制器實現(xiàn)WM8978與SRAM的音頻數(shù)據(jù)傳輸,實現(xiàn)音頻播放與記錄功能。因此本控制器可以取代傳統(tǒng)的聲卡設(shè)備,降低了測試成本,有助于簡化和完善測試方法,有利于揚聲器功率實驗儀的便攜式發(fā)展。

        [1]劉波文.ARM Contex-M3應(yīng)用開發(fā)實例詳解[M].北京:電子工業(yè)出版社,2011. Liu bo-wen.ARM Contex-M3 application development example explanation[M].Beijing:electronic industry press, 2011.

        [2]趙星.STM32基于FSMC的SRAM擴展技術(shù)[J].工業(yè)控制計算機,2015,28(6):102-103. Zhao xing.STM32 SRAM based on FSMC extension technology[J].Industrial control computer,2015,28(6):102-103.

        [3]王鐵流,李宗方,陳東升.基于STM32的USB數(shù)據(jù)采集模塊的設(shè)計與實現(xiàn)[J].測控技術(shù),2009,28(8):37-40. Wang tie-liu,Li zong-fang,Chen dong-shen.Based on the USB data acquisition module design and implementation of STM32 [J].Journal of measurement and control technology, 2009,28(8):37-40.

        [4]邵富杰,張國利,周勇.基于I2S總線實現(xiàn)嵌入式語音采集與回放[J].微計算機信息,2011,27(6):72-74. Shao fu-jie,Zhang guo-li,Zhou yong.Implementation based on I2S bus embedded phonic acquisition and playback[J]. Microcomputer information,2011,27(6):72-74.

        [5]毛建華,魏巍.IIC總線主發(fā)主收模式運用[J].西安郵電大學(xué)學(xué)報,2013,18(3):38-41. Mao jian-hua,Wei wei.Main hair main charge mode using IIC bus[J].Journal of xi'an university of posts and telecommunications,2013,19(3):38-41.

        [6]劉炎,馮蕙力,葉梧.通用串行總線(USB)原理及接口設(shè)計[J].電子技術(shù)應(yīng)用,2000(12):56-58. Liu yan,Feng hui-li,Ye wu.Universal serial bus(USB)principle and interface design[J].Journal of electronic technology applications,2000(12):56-58.

        [7]秦珀石.嵌入式實時操作系統(tǒng)的應(yīng)用研究[D].武漢:武漢理工大學(xué),2003. Qin po-shi.he application of embedded real-time operating system research[D].Wuhan:wuhan university of technology, 2003.

        [8]Bruce Bartlett Jenn.實用錄音技術(shù)(第五版)[M].北京:人民郵電出版社,2010. Bruce Bartlett Jenn.Practical recording technology(fifth edition)[M].Beijing:people's posts and telecommunications publishing house,2010.

        [9]劉濱.C++Builder 5高級編程實例精解[M].北京:國防工業(yè)出版社,2001. Liu bin.C++Builder 5 advanced programming instance extract solution [M].Beijing:national defence industry press, 2001.

        Design on Audio Playback and Recording Controller Based on STM32

        Zhou Jinglei,Sun Changcheng
        (Electronic Information College,Xi’an Polytechnic University,Xi’an 710048,China)

        The complicated test procedure and the higher cost,in the traditional loudspeaker aging test experiment,caused by using power meter,sound card,computer and other facilities,are unfavourable for portable development of the power apparatus.According to the above problems,the STM32 is used as the core chip to control the audio processing chip WM8978 to read out the audio files stored in the extended SRAM for producing simulation testing signals continuously and realizing the function of playing;the simulation test signal is processed to drive the speakers.And the working voltage and working current of the speaker are collected for AD sampling by WM8978,the acquired data is stored in the external SRAM for the function recording.The data transmission is conducted with the computer by USB with audio playing and recording at the same time.It realizes the function of the sound card and reduces the test cost of the speaker.

        High speed USB;STM32 micro controller;Play;Record;I2S agreement;Static SRAM memory

        10.3969/j.issn.1002-2279.2017.01.017

        TP273

        B

        1002-2279-(2017)01-0067-04

        周靜雷(1978-),男,陜西省寶雞市人,博士,副教授,碩士生導(dǎo)師,主研方向:電聲學(xué),聲頻測量。孫長城(1990-),男,江蘇省鹽城市人,碩士研究生。研究方向:嵌入式系統(tǒng)研發(fā)。

        2016-06-16

        猜你喜歡
        實驗儀聲卡揚聲器
        薄如紙張的揚聲器
        Focal&Naim同框發(fā)布1000系列嵌入式揚聲器及全新Uniti Atmos流媒體一體機
        大地震 正式發(fā)布Cinenova系列揚聲器
        反沖實驗儀的研究與制作
        槳距角和材料對風(fēng)力發(fā)電功率的影響
        科技資訊(2018年21期)2018-01-26 10:25:30
        集成霍耳傳感器實驗儀
        物理實驗(2017年2期)2017-03-21 07:19:31
        自制手機揚聲器
        利用真空變溫薄膜電阻實驗儀測量熱電材料特性參數(shù)
        物理與工程(2013年3期)2013-03-11 16:04:33
        麻雀成鳳凰 本本聲卡變X—Fi
        用心聆聽,“高清”聲卡進階技
        亚洲AV无码乱码一区二区三区| 玩弄放荡人妇系列av在线网站| 久久无码专区国产精品| 欧美性狂猛xxxxx深喉| 日韩在线视精品在亚洲| 免费av网址一区二区| 在线国产激情视频观看| 国产精品办公室沙发| 亚洲aⅴ天堂av天堂无码麻豆| 国产高清吃奶成免费视频网站| 国产精品女同一区二区久| 日韩av免费一区二区| 亚洲欧洲成人a∨在线观看| 精品国产人成亚洲区| 国内视频偷拍一区,二区,三区| 大又黄又粗又爽少妇毛片| 欧洲国产精品无码专区影院| 国产三级三级精品久久| 亚洲一二三区免费视频| 综合色区亚洲熟妇另类| 亚洲日韩∨a无码中文字幕| 无码免费人妻超级碰碰碰碰| 婷婷激情六月| 国产黄色看三级三级三级| 国产三级黄色免费网站| 久久天天躁狠狠躁夜夜av浪潮 | 国产精品人成在线观看| 国产亚洲精品一区二区在线观看| 无套熟女av呻吟在线观看| 特级无码毛片免费视频尤物| 韩国精品一区二区三区| 18禁成人免费av大片一区| 一区二区三区国产在线视频| 免费网站看v片在线18禁无码| 一级呦女专区毛片| 91精品国产乱码久久久| 国产自拍三级黄片视频| 欲香欲色天天天综合和网| 伊人久久大香线蕉av一区| 人妻精品一区二区三区视频| 清纯唯美亚洲经典中文字幕|