• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于ThreadX系統(tǒng)的I2S音頻總線驅(qū)動設(shè)計(jì)方案

    2018-01-15 06:18:14
    關(guān)鍵詞:音頻系統(tǒng)驅(qū)動程序時(shí)鐘

    (重慶郵電大學(xué) 通信與信息工程學(xué)院,重慶 400065)

    引 言

    ThreadX是Express Logic公司專為嵌入式應(yīng)用而設(shè)計(jì)的一款高性能的實(shí)時(shí)操作系統(tǒng),支持大量的處理器和SoC,也因此廣泛應(yīng)用于消費(fèi)電子、汽車電子、工業(yè)自動化、軍事及航空航天等領(lǐng)域。其中隨著信息化、智能化的發(fā)展,數(shù)字音頻技術(shù)音頻系統(tǒng)是嵌入式系統(tǒng)應(yīng)用中的一個重要組成部分。

    I2S總線是工業(yè)和嵌入式領(lǐng)域常采用的一種音頻總線,其驅(qū)動程序的實(shí)現(xiàn)主要依賴于音頻總線接口、相應(yīng)硬件的工作原理以及驅(qū)動的體系結(jié)構(gòu)?;诰唧w的項(xiàng)目需求背景下,本文主要闡述了音頻接口I2S驅(qū)動程序設(shè)計(jì)方法與流程,為I2S總線在ThreadX下的應(yīng)用提供了一定的研究方法和技術(shù)參考。

    1 基本原理

    1.1 ThreadX概述

    ThreadX是Express Logic公司專為嵌入式應(yīng)用而設(shè)計(jì)的一種高性能實(shí)時(shí)內(nèi)核,具有體積小、速度快、高可靠性和實(shí)時(shí)性等特點(diǎn),同時(shí)擁有高穩(wěn)定性和低成本。ThreadX占用空間小,適合先進(jìn)的終端系統(tǒng)級芯片的設(shè)計(jì),且憑借其多任務(wù)的特性,ThreadX可以滿足應(yīng)用系統(tǒng)實(shí)時(shí)性的要求,有助于提高整個系統(tǒng)的穩(wěn)定性和可靠性。

    ThreadX包含了實(shí)時(shí)操作系統(tǒng)應(yīng)該具備的所有服務(wù)和組件,包括線程、消息隊(duì)列、計(jì)數(shù)信號量、互斥量、事件標(biāo)志、內(nèi)存塊池、內(nèi)存字節(jié)池、應(yīng)用定時(shí)器、時(shí)鐘計(jì)數(shù)器和中斷控制。其中,通過圖1介紹了ThreadX的幾個功能模塊:線程管理和調(diào)度、同步與通信、內(nèi)存管理、時(shí)鐘和定時(shí)器以及中斷處理。

    圖1 ThreadX總體架構(gòu)圖

    1.2 ThreadX啟動過程

    當(dāng)系統(tǒng)通電之后,首先是進(jìn)行系統(tǒng)復(fù)位以及開發(fā)工具初始化,當(dāng)初始化完成之后,控制轉(zhuǎn)移到用戶提供的main主函數(shù)上,在主函數(shù)中調(diào)用tx_kernel_enter進(jìn)入ThreadX系統(tǒng)內(nèi)核。入口函數(shù)tx_kernel_enter負(fù)責(zé)調(diào)用處理器指定的低級初始化和C語言的高級初始化,配合ThreadX內(nèi)部不同數(shù)據(jù)結(jié)構(gòu)的初始化。

    圖2 ThreadX啟動流程

    當(dāng)tx_kernel_enter返回時(shí),控制轉(zhuǎn)移到線程調(diào)度循環(huán),同時(shí)也標(biāo)志著初始化的完成。緊接著在入口函數(shù)中調(diào)用程序定義函數(shù)tx_application_define。tx_application_define函數(shù)定義了所有初始的應(yīng)用線程、隊(duì)列、消息、事件標(biāo)志、存儲池和定時(shí)器,同時(shí)可以在正常的應(yīng)用程序執(zhí)行過程中創(chuàng)建或者刪除系統(tǒng)資源,最后會進(jìn)入調(diào)度循環(huán)開始線程調(diào)度。ThreadX的啟動過程如圖2所示。

    1.3 ThreadX下的I2S總線驅(qū)動結(jié)構(gòu)

    基于上文所述,ThreadX啟動并經(jīng)過初始化之后開始進(jìn)入tx_application_define(),并根據(jù)具體的應(yīng)用做一些特定的操作。對于音頻系統(tǒng),在程序定義函數(shù)tx_application_define()中首先為codec線程分配堆棧,并通過動態(tài)地調(diào)用tx_thread_create(&thread_codec,"thread_codec",thread_codec_entry,NULL,pointer,STACK_SIZE*2,6,6,TX_NO_TIME_SLICE, TX_AUTO_START)函數(shù)創(chuàng)建codec線程,然后再通過調(diào)用入口函數(shù)thread_codec_entry()進(jìn)入I2S音頻系統(tǒng)的操作。

    在應(yīng)用I2S音頻系統(tǒng)初時(shí)需先將I2S總線復(fù)位到原始狀態(tài),再調(diào)用arm_i2s()配置I2S音頻系統(tǒng)。

    void thread_codec_entry(ULONG thread_input) {

    i2s_reset();

    arm_i2s(main_mes);

    }

    I2S音頻系統(tǒng)的功能是通過I2S總線接口與音頻編解碼芯片進(jìn)行交互來實(shí)現(xiàn),其中I2S接口負(fù)責(zé)傳輸音頻數(shù)據(jù),音頻編解碼芯片在I2C總線的控制下完成功能配置后負(fù)責(zé)接收音頻數(shù)據(jù)并進(jìn)行編解碼,其具體功能調(diào)用實(shí)現(xiàn)圖如3所示。由于在實(shí)際項(xiàng)目中,ThreadX提供的驅(qū)動源代碼中已經(jīng)包含了I2C接口驅(qū)動模塊與CODEC驅(qū)動模塊,故本次驅(qū)動開發(fā)只需對I2S接口驅(qū)動模塊進(jìn)行配置,測試驗(yàn)證后方可移植到ThreadX系統(tǒng)中。

    圖3 ThreadX下的I2S調(diào)用模塊

    2 I2S總線接口

    I2S(Inter-IC Sound)總線是一種總線標(biāo)準(zhǔn),即飛利浦公司為數(shù)字音頻設(shè)備之間的音頻數(shù)據(jù)傳輸而制定的。且I2S總線與音頻設(shè)備之間進(jìn)行數(shù)據(jù)傳輸,廣泛應(yīng)用于各種多媒體系統(tǒng)。

    I2S有3個主要信號:串行時(shí)鐘SCLK(continuous serial clock)、幀時(shí)鐘 LRCK(word select )、串行數(shù)據(jù) SDATA(serial data)。在I2S音頻系統(tǒng)中,產(chǎn)生SCLK和LRCK信號的一方可稱為主設(shè)備,I2S總線控制器與音頻芯片均可作為發(fā)送端與接收端,且發(fā)送端和接收端需要同步時(shí)鐘信號來控制數(shù)據(jù)的傳輸,傳輸模式之一如圖4所示。如果有多個接收端和發(fā)送端,就需要一個控制端作為主導(dǎo)裝置來產(chǎn)生SCLK和LRCK的信號。

    圖4 I2S數(shù)據(jù)傳輸模式

    2.1 I2S的總線協(xié)議

    (1)幀時(shí)鐘LRCK

    音頻數(shù)據(jù)由左右聲道組成,使用幀時(shí)鐘選擇可以區(qū)分左右聲道,即LRCK為低電平時(shí)表示正在傳輸?shù)氖亲舐暤赖臄?shù)據(jù),為高電平時(shí)表示正在傳輸?shù)氖怯衣暤赖臄?shù)據(jù)。LRCK可以在串行時(shí)鐘的上升沿或者下降沿發(fā)生改變,且總是在最高位傳輸前的一個時(shí)鐘周期發(fā)生改變,這樣可以從設(shè)備得到與被傳輸?shù)拇袛?shù)據(jù)同步的時(shí)間。

    (2)串行時(shí)鐘SCLK

    串行時(shí)鐘,即表示每一個時(shí)鐘信號傳送一位音頻數(shù)據(jù),因此,I2S串行時(shí)鐘的頻率計(jì)算公式如下:

    I2S SCLK的頻率=聲道數(shù)×采樣頻率(fs)×采樣位數(shù)

    其中聲道數(shù)通道數(shù)為2,即左、右聲道。采樣頻率可為系統(tǒng)主時(shí)鐘,并且I2S LRCK的頻率值可等值于采樣頻率。采樣位數(shù)可根據(jù)寄存器配置數(shù)據(jù)寬度決定。

    由于I2S總線只負(fù)責(zé)音頻數(shù)據(jù)的傳輸,而要真正實(shí)現(xiàn)音頻數(shù)據(jù)的錄入和播放,還需要同外接的音頻芯片同步采樣時(shí)鐘與采樣位數(shù)來處理音頻數(shù)據(jù)。在I2S總線中,I2S接口端和音頻芯片(CODEC)端分別可以作為主設(shè)備,其中只要當(dāng)某一端作為產(chǎn)生時(shí)鐘信號LRCK和SCLK的器件,則就能作為主設(shè)備。

    (3)串行數(shù)據(jù)SDATA

    串行數(shù)據(jù),其用二進(jìn)制補(bǔ)碼表示音頻數(shù)據(jù),在串行時(shí)鐘SCLK脈沖下,數(shù)據(jù)一位一位地傳輸在SDATA線上。當(dāng)音頻數(shù)據(jù)被音頻芯片模數(shù)轉(zhuǎn)化器處理成二進(jìn)制數(shù)據(jù)流后,將數(shù)據(jù)分成8位或16位傳輸,且每個字節(jié)的數(shù)據(jù)傳輸從左邊的二進(jìn)制位MSB(MostSignificantBit)開始。當(dāng)發(fā)送方和接收方的數(shù)據(jù)寬度不一樣時(shí),發(fā)送方不考慮接收方的數(shù)據(jù)寬度,如果發(fā)送方的數(shù)據(jù)寬度小于系統(tǒng)字段寬度,可以在低位補(bǔ)0;反之超過LSB(Least Significant Bit)的部分被截?cái)唷?/p>

    2.2 TLV320AIC3106音頻芯片

    基于實(shí)際項(xiàng)目,I2S接口模塊集成在芯片中,其目的是為了適應(yīng)移動音頻設(shè)備越來越高的要求,且內(nèi)置的I2S總線接口也可以方便和其他音頻編解碼芯片配合使用。而實(shí)際項(xiàng)目中采用的音頻編解碼芯片為TLV320AIC3106芯片。

    TLV320AIC3106是TI公司生產(chǎn)的具有立體聲耳機(jī)放大器的低功耗立體聲音頻編解碼器,記錄路徑包含集成的麥克風(fēng)偏置、數(shù)字控制的立體聲麥克風(fēng)前置放大器和自動增益控制(AGC),內(nèi)部A/D轉(zhuǎn)換器和D/A轉(zhuǎn)換器可用于實(shí)現(xiàn)模擬音頻信號的采集和數(shù)字音頻信號的模擬輸出。

    雖僅支持I2S硬件接口和I2S總線數(shù)據(jù)格式,但字節(jié)長度最高可達(dá)到32位,且其還包括高度可編程的PLL,用于靈活的時(shí)鐘生成,并支持來自各種可用MCLK(從512 kHz~50 MHz)的所有標(biāo)準(zhǔn)音頻速率,能有效降低使用功耗,可在多種需要進(jìn)行聲音錄入或輸出的嵌入式媒體設(shè)備中進(jìn)行實(shí)際應(yīng)用。

    2.3 I2S總線驅(qū)動程序的通信原理

    從實(shí)際項(xiàng)目出發(fā),處理器需要通過I2S總線才能完成和音頻芯片之間的數(shù)據(jù)傳輸。圖5為I2S音頻系統(tǒng)邏輯框圖。

    一般而言,處理器與外部芯片進(jìn)行數(shù)據(jù)傳輸?shù)姆绞接袃煞N:傳統(tǒng)的中斷方式和直接存儲器存取DMA方式。音頻數(shù)據(jù)的傳輸可以通過設(shè)置寄存器先入先出FIFO隊(duì)列來完成。若處理器采用中斷的方式往FIFO隊(duì)列錄入數(shù)據(jù),其不僅很難保證音頻播放的連續(xù)性,而且還會因處理器頻繁的響應(yīng)中斷而導(dǎo)致系統(tǒng)執(zhí)行效率和性能的降低。為了避免錄入與播放的斷續(xù),且FIFO空間有限,需要將錄入的音頻數(shù)據(jù)存儲到其他內(nèi)存緩沖區(qū)內(nèi),錄入數(shù)據(jù)與播放數(shù)據(jù)可存放在不同的內(nèi)存緩沖中,但需要快速切換使用的緩存空間,所以根據(jù)實(shí)際項(xiàng)目的需求,在為音頻系統(tǒng)開發(fā)I2S總線接口驅(qū)動過程中,設(shè)計(jì)采用DMA方式進(jìn)行音頻數(shù)據(jù)傳輸。

    音頻系統(tǒng)最終是為了實(shí)現(xiàn)錄音與播音的異時(shí)或同時(shí)處理效果。項(xiàng)目的系統(tǒng)DMA支持8個通道,為了實(shí)現(xiàn)音頻數(shù)據(jù)全雙工傳輸,開發(fā)過程中采用兩個DMA通道,通過設(shè)置使能I2S接口控制器中的寄存器I2S_TX_DMA_DISABLE和I2S_RX_DMA_DISABLE來使I2S接口與處理器之間音頻數(shù)據(jù)傳輸工作在DMA模式下。

    此模式下使用I2S接口的FIFO寄存器組I2S_TX_DMA_FIFO_INPUT_DATA、I2S_TX_DMA_FIFO_STATUS、I2S_RX_DMA_OUTPUT_DATA和I2S_RX_FIFO_STATUS來存放音頻數(shù)據(jù),設(shè)置FIFO的狀態(tài)來觸發(fā)DMA控制器,將數(shù)據(jù)與內(nèi)存區(qū)域之間進(jìn)行傳輸,最終以實(shí)現(xiàn)錄音和播音。

    圖5 I2S音頻系統(tǒng)邏輯框圖

    如圖5所示,在音頻數(shù)據(jù)傳輸過程中使用了兩個DMA通道以實(shí)現(xiàn)全雙工工作方式。當(dāng)錄制聲音時(shí)則先由音頻芯片采集音頻數(shù)據(jù),然后由音頻數(shù)據(jù)傳輸專用總線將數(shù)據(jù)發(fā)送到I2S總線控制器的rx_fifo中,最后由內(nèi)部總線將采集到的音頻數(shù)據(jù)通過DMA使用其中1個DMA通道搬送,寫入到內(nèi)存緩沖區(qū)中。

    當(dāng)播放聲音時(shí),首先將音頻數(shù)據(jù)通過另一個DMA通道經(jīng)由DMA控制器將音頻數(shù)據(jù)寫入I2S總線控制器的tx_fifo中,最后由音頻數(shù)據(jù)傳輸專用總線傳送到音頻芯片中進(jìn)行播放。

    3 ThreadX下I2S音頻總線的驅(qū)動程序開發(fā)

    3.1 I2S音頻接口驅(qū)動程序模塊開發(fā)

    圖6 全雙工模式(TX+RX)

    音頻系統(tǒng)中I2S接口需經(jīng)過正確的配置方可實(shí)現(xiàn)錄音和播音等功能。本文主要是根據(jù)實(shí)際項(xiàng)目的需求來設(shè)計(jì)一組固定的I2S音頻接口驅(qū)動程序,控制音頻數(shù)據(jù)在硬件中流動,以實(shí)現(xiàn)音頻數(shù)據(jù)的正確接收和發(fā)送。設(shè)計(jì)的音頻系統(tǒng)采樣規(guī)格是系統(tǒng)主時(shí)鐘為44.1 kHz,采樣位數(shù)為16位。

    基于實(shí)際項(xiàng)目需求來實(shí)現(xiàn)音頻系統(tǒng)的全雙工模式,主要是對I2S總線的寄存器進(jìn)行設(shè)置。其工作流程如圖6所示。

    而具體開發(fā)I2S音頻接口驅(qū)動程序完成的工作有:

    (1)配置音頻錄入RX_ONLY模式與音頻播放TX_ONLY模式

    音頻數(shù)據(jù)的錄入和播放都必須先配置好I2S_tx與I2S_rx的相關(guān)參數(shù),如音頻數(shù)據(jù)的采樣率與采樣位數(shù)等。若要實(shí)現(xiàn)音頻數(shù)據(jù)的播放,則調(diào)用開發(fā)函數(shù)I2S_tx_master()將I2S總線初始化為發(fā)送模式;若要實(shí)現(xiàn)音頻數(shù)據(jù)的錄入,則調(diào)用開發(fā)函數(shù)I2S_rx_master()將I2S總線初始化為發(fā)送模式。根據(jù)實(shí)際項(xiàng)目需求,將I2S接口的數(shù)據(jù)發(fā)送和接收模式分別通過寄存器I2S_TX_WORK_MODE和I2S_RX_SLAVE_EN設(shè)置為Master模式,并對發(fā)送和接收Master模式下的高低占空比、串行位時(shí)鐘占空比進(jìn)行配置,然后再依次分別對I2S接口與音頻芯片之間的數(shù)據(jù)接收與發(fā)送進(jìn)行配置,如采樣寬度、音頻芯片接口模式以及音量調(diào)節(jié)等參數(shù)。部分代碼如下:

    voidI2S_tx_master(){

    REG32(I2S_TX_WORK_MODE) = 0;//設(shè)置I2S傳輸方式:主設(shè)備

    REG32(I2S_TX_SRC_INFO) = ((0x0<<5) |(0x10<<0));//傳輸數(shù)據(jù)格式與寬度:立體聲,16位

    REG32(I2S_SRC_SR_CYCLE) = 0x177;//外部編解碼器采樣時(shí)鐘占空比: 32KFS

    REG32(I2S_TX_BCLK_DUTY_CYCLE) = 0x5;

    //傳輸串行位時(shí)鐘占空比:32KFS

    REG32(I2S_TX_BAL) = ((1<<4) |(1<<0));

    //平衡音量控制

    REG32(I2S_TX_VLD_DW) = 0x10;

    //傳輸?shù)骄幗獯a器的有效數(shù)據(jù)寬度:16位

    REG32(I2S_TX_TYPE) = ((1<<5)|(0<<4) |(0<<0));//傳輸類型為I2S標(biāo)準(zhǔn)模式

    REG32(I2S_TX_CLK_PHASE) = ((0<<4) |(0<<0));//傳輸LRCK相位設(shè)置和傳輸位串行相位設(shè)置

    REG32(I2S_TX_ANTI_POP_LENTH) = 0x8;

    REG32(I2S_TX_VOL) = 0x1;//主音量控制

    觀察組患者的LVEDD為(56.34±4.78)mm,LVESD為(41.01±6.67)mm,LVEF為(52.43±5.32)%,血清BNP(309.77±104.44)pg/mL,6MWT為(389.32±70.32)m;對照組的LVEDD為(58.54±3.98)mm,LVESD為(46.32±4.01)mm,LVEF為(45.78±4.78)%,血清BNP(695.33±321.34)pg/mL,6MWT為(312.45±72.12)m,組間比較,差異有統(tǒng)計(jì)學(xué)意義(P<0.05)。

    }

    (2)全雙工模式配置模塊

    通過調(diào)用開發(fā)函數(shù)I2S_loop_back_set()來設(shè)置I2S_LOOP_BACK_ENABLE的第0位為0,即以REG32(I2S_LOOP_BACK_ENABLE) &= ~0x1,將I2S總線初始化為全雙工模式。寄存器I2S_LOOP_BACK_ENABLE具體信息如下所示:

    I2S_LOOP_BACK_ENABLEWidthBitDefaultDescription1[0]0TX-->RXLoopdebugcontrol:0:disable1:enable,internallyconnectTXSDTOtoRXSDTI

    (3)DMA配置模塊

    為實(shí)現(xiàn)音頻數(shù)據(jù)在CPU與外部芯片之間的存儲與播放,需進(jìn)行DMA通道DMA_CHn(0≤n≤7)配置,其中DMA_CH0作為將數(shù)據(jù)從內(nèi)存緩沖區(qū)傳送到I2S接口控制器的tx_fifo中的通道,調(diào)用i2s_dma_tx_configure()實(shí)現(xiàn);DMA_CH1作為將音頻設(shè)備傳送過來的音頻數(shù)據(jù)從I2S接口控制器的rx_fifo傳送到內(nèi)存緩沖去中的通道,調(diào)用i2s_dma_rx_configure()實(shí)現(xiàn)。DMA功能的實(shí)現(xiàn)主要是配置各通道的源地址(DMAC_CHn_BASE + DMAC_SAR)與目的地址(DMAC_CH0_BASE + DMAC_DAR),配置完DMA_CH0與DMA_CH1之后再通過配置寄存器DMAC_DMACFGREG和DMAC_CHENREG使能DMA傳輸功能。部分代碼如下:

    //配置DMA_CH0

    REG32(DMAMAC_BASE_ADDR+DMAC_CH0_BASE + DMAC_SAR) =0xc0000000;//設(shè)置源地址 REG32(DMAMAC_BASE_ADDR+DMAC_CH0_BASE+DMAC_DAR)=I2S_TX_DMA_FIFO_INPUT_DATA ;//設(shè)置目的地址

    REG32(DMAMAC_BASE_ADDR + DMAC_CH0_BASE + DMAC_DSTATAR) = I2S_TX_DMA_FIFO_STATUS;

    REG32(DMAMAC_BASE_ADDR + DMAC_CH0_BASE + DMAC_CTL) = 0x00109125;

    REG32(DMAMAC_BASE_ADDR + DMAC_CH0_BASE + DMAC_CTL + 4) = 0x00000380;

    ……

    //使能DMA_CH0

    REG32(DMAMAC_BASE_ADDR + DMAC_DMACFGREG) =0x00000001;

    REG32(DMAMAC_BASE_ADDR + DMAC_CHENREG) = 0x00000101; REG32(DMAMAC_BASE_ADDR + DMAC_MASKTFR) = 0x0101; REG32(DMAMAC_BASE_ADDR + DMAC_MASKBLOCK) = 0x0101;while(REG32(I2S_TX_DMA_FIFO_STATUS) & 0x4);

    3.2 I2S音頻接口驅(qū)動程序的測試

    綜上所述,完成I2S全雙工模式相關(guān)配置后,則需要對驅(qū)動程序進(jìn)行測試。首先將I2S接口驅(qū)動程序置于Makefile工程環(huán)境中進(jìn)行編譯,編譯通過,然后再將其進(jìn)行ASIC仿真測試。全雙工模式下的音頻錄入測試結(jié)果與播放測試結(jié)果分析如下。

    音頻錄入測試:圖7為音頻芯片采樣第一個數(shù)據(jù)的波形圖,根據(jù)ws_in對應(yīng)的波形圖,來讀取sdi對應(yīng)的波形圖可得采樣的第一個數(shù)據(jù),其左聲道數(shù)據(jù)為“b510”,其右聲道數(shù)據(jù)為“bd10”,再觀察圖8中rx_fifo_din對應(yīng)的紫色光標(biāo)處得知rx_fifo中存儲的第一個數(shù)據(jù)為“32’hbd10_b510”,此表明了音頻錄入數(shù)據(jù)無誤。

    圖7 音頻芯片采樣數(shù)據(jù)波形圖

    圖8 I2S總線rx_fifo數(shù)據(jù)圖

    音頻播放測試:同理如上。圖9中tx_fifo_dout對應(yīng)的數(shù)據(jù)是通過DMA從內(nèi)存緩沖區(qū)搬到tx_fifo中的數(shù)據(jù),其值為“bd1f_b51f”。再觀察圖10中ws_out對應(yīng)的波形

    圖來讀取sdo對應(yīng)的波形圖的數(shù)據(jù),其左聲道數(shù)據(jù)為“b51f”,其右聲道數(shù)據(jù)為“bd1f”,繼而表明了音頻播放數(shù)據(jù)無誤。

    圖9 I2S總線tx_fifo數(shù)據(jù)圖

    圖10 音頻芯片采樣數(shù)據(jù)波形圖

    綜上測試結(jié)果分析可得,本文設(shè)計(jì)的I2S接口驅(qū)動程序能實(shí)現(xiàn)CPU與外部芯片之間音頻數(shù)據(jù)的正確錄入與播放,可移植到ThreadX系統(tǒng)中并與外接芯片完成音頻數(shù)據(jù)的格式轉(zhuǎn)換,最終實(shí)現(xiàn)錄音與播音功能。

    結(jié) 語

    [1] 潘應(yīng)進(jìn),朱子元. 基于ThreadX實(shí)時(shí)操作系統(tǒng)的USB設(shè)備驅(qū)動開發(fā)[J]. 工業(yè)控制計(jì)算機(jī),2016,29(2):30-32.

    [2] 宋鑫夢,郭改枝,王秀麗. 基于嵌入式的I2S音頻系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J]. 內(nèi)蒙古師范大學(xué)學(xué)報(bào):自然科學(xué)漢文版,2015,44(2):245-248.

    [3] 霍燃,高麗萍,陳慶奎. 嵌入式Linux系統(tǒng)下基于UDA1341芯片的音頻驅(qū)動程序設(shè)計(jì)[J]. 計(jì)算機(jī)應(yīng)用與軟件,2012,29(4):16-19.

    [4] 李文正. 基于I2S總線的嵌入式音頻系統(tǒng)的設(shè)計(jì)[J]. 軟件,2010,31(12):55-60.

    [5] 趙鵬. 嵌入式Linux音頻驅(qū)動及簡單播放器的設(shè)計(jì)與實(shí)現(xiàn)[D].長春:吉林大學(xué),2009.

    [6] 丁德紅,劉亞波. 嵌入式系統(tǒng)中的I2S音頻接口技術(shù)[J]. 單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2009(2):25-28.

    [7] 房國志,馬傳龍. Linux中I2S總線聲卡驅(qū)動的研究[J]. 科技創(chuàng)新導(dǎo)報(bào),2009(2):5-7.

    [8] 莊海軍. 基于S3C2410的I2S音頻總線研究及其驅(qū)動實(shí)現(xiàn)[J]. 淮陰工學(xué)院學(xué)報(bào),2008,17(5):72-76.

    劉伍洋(研究生),主要研究內(nèi)容為嵌入式底層軟件開發(fā)。

    猜你喜歡
    音頻系統(tǒng)驅(qū)動程序時(shí)鐘
    別樣的“時(shí)鐘”
    淺談號角與帶式揚(yáng)聲器 在家用或?qū)I(yè)音頻系統(tǒng)中的應(yīng)用
    打造最具性價(jià)比的7.4.1沉浸式音頻系統(tǒng) 昆明藝術(shù)家園
    古代的時(shí)鐘
    Elektrobit提供的EB GUIDE工具鏈加速Pioneer最新顯示音頻系統(tǒng)的開發(fā)
    汽車零部件(2020年9期)2020-09-28 05:45:20
    從房間與音頻系統(tǒng)再談定制安裝的核心要素 暢談家庭影院系統(tǒng)中的隱藏設(shè)計(jì)
    有趣的時(shí)鐘
    時(shí)鐘會開“花”
    驅(qū)動程序更新與推薦
    驅(qū)動程序更新與推薦
    天天躁日日躁夜夜躁夜夜| 色吧在线观看| 成人黄色视频免费在线看| 久久精品久久久久久噜噜老黄| 亚洲av成人精品一二三区| 一级毛片 在线播放| 黑人猛操日本美女一级片| 国产日韩一区二区三区精品不卡| 久久99热这里只频精品6学生| 咕卡用的链子| 丝袜脚勾引网站| 999精品在线视频| 狠狠精品人妻久久久久久综合| 国产乱人偷精品视频| 男女无遮挡免费网站观看| 人妻 亚洲 视频| 婷婷色av中文字幕| 咕卡用的链子| 国语对白做爰xxxⅹ性视频网站| 在现免费观看毛片| 日韩中文字幕欧美一区二区 | 久久99蜜桃精品久久| 亚洲欧洲国产日韩| 国产精品 国内视频| 超色免费av| 国产精品成人在线| 国产国语露脸激情在线看| 精品一区在线观看国产| 天堂俺去俺来也www色官网| 亚洲三级黄色毛片| 天天操日日干夜夜撸| 中国三级夫妇交换| 99久国产av精品国产电影| 97在线人人人人妻| 国产成人精品久久二区二区91 | 国产男女内射视频| 免费黄色在线免费观看| 十八禁网站网址无遮挡| 久久精品久久久久久噜噜老黄| av国产精品久久久久影院| 性色av一级| 亚洲人成网站在线观看播放| 91aial.com中文字幕在线观看| 美女xxoo啪啪120秒动态图| 国产 精品1| 青春草视频在线免费观看| 亚洲欧美精品自产自拍| 午夜久久久在线观看| 亚洲精品日本国产第一区| 国产一区有黄有色的免费视频| 国产有黄有色有爽视频| 亚洲精品国产一区二区精华液| 欧美国产精品va在线观看不卡| 久久久a久久爽久久v久久| 99国产综合亚洲精品| 精品一区二区三区四区五区乱码 | 免费播放大片免费观看视频在线观看| 欧美日韩国产mv在线观看视频| av线在线观看网站| 免费女性裸体啪啪无遮挡网站| 色婷婷av一区二区三区视频| 夜夜骑夜夜射夜夜干| 亚洲av在线观看美女高潮| 成人免费观看视频高清| 美女国产视频在线观看| 国产精品嫩草影院av在线观看| 在线观看一区二区三区激情| 男的添女的下面高潮视频| 大码成人一级视频| 97精品久久久久久久久久精品| 国产精品国产av在线观看| 亚洲精品自拍成人| 成人18禁高潮啪啪吃奶动态图| 国产成人aa在线观看| 成人二区视频| 女人久久www免费人成看片| 精品国产乱码久久久久久小说| av国产精品久久久久影院| 亚洲精品国产av蜜桃| 久久久久精品人妻al黑| 国产熟女午夜一区二区三区| 久久 成人 亚洲| 国产在线一区二区三区精| 亚洲av电影在线进入| 极品人妻少妇av视频| 天天躁日日躁夜夜躁夜夜| 亚洲国产毛片av蜜桃av| 最新的欧美精品一区二区| 亚洲内射少妇av| 9热在线视频观看99| 国产成人精品一,二区| 成年美女黄网站色视频大全免费| 亚洲国产欧美在线一区| 久久久久国产精品人妻一区二区| 精品人妻在线不人妻| av.在线天堂| 国产男人的电影天堂91| 麻豆乱淫一区二区| 伦理电影大哥的女人| 日韩不卡一区二区三区视频在线| 免费在线观看视频国产中文字幕亚洲 | 精品国产一区二区三区久久久樱花| av片东京热男人的天堂| 少妇人妻精品综合一区二区| 成年人免费黄色播放视频| 亚洲欧美成人综合另类久久久| 久久韩国三级中文字幕| 成年女人在线观看亚洲视频| freevideosex欧美| 国产精品久久久久久av不卡| 国产淫语在线视频| 国产精品一国产av| 国语对白做爰xxxⅹ性视频网站| 欧美在线黄色| 丝袜人妻中文字幕| 丝袜美足系列| 久久精品aⅴ一区二区三区四区 | 777久久人妻少妇嫩草av网站| 赤兔流量卡办理| 国产极品天堂在线| 91精品国产国语对白视频| 女人被躁到高潮嗷嗷叫费观| 国产av精品麻豆| 精品久久蜜臀av无| 少妇 在线观看| 人人妻人人爽人人添夜夜欢视频| 精品一区二区免费观看| 国产黄色视频一区二区在线观看| www.av在线官网国产| 日韩制服骚丝袜av| 一级a爱视频在线免费观看| 国产精品国产av在线观看| 日本色播在线视频| 男人爽女人下面视频在线观看| 80岁老熟妇乱子伦牲交| 又大又黄又爽视频免费| 成年人午夜在线观看视频| 国产精品国产av在线观看| 一区在线观看完整版| 亚洲国产最新在线播放| 久久久欧美国产精品| 两性夫妻黄色片| 国产1区2区3区精品| av在线app专区| 在线看a的网站| 国产片内射在线| 婷婷色av中文字幕| 最近最新中文字幕大全免费视频 | 国产精品人妻久久久影院| 国产 精品1| 亚洲在久久综合| 精品一区二区三区四区五区乱码 | 精品第一国产精品| 精品亚洲成国产av| 伊人亚洲综合成人网| 制服人妻中文乱码| 久久久久久久亚洲中文字幕| 亚洲激情五月婷婷啪啪| 黄色毛片三级朝国网站| 久久久精品免费免费高清| 欧美精品一区二区免费开放| 日韩免费高清中文字幕av| 久久精品aⅴ一区二区三区四区 | 国产精品蜜桃在线观看| 男的添女的下面高潮视频| 观看美女的网站| 乱人伦中国视频| 满18在线观看网站| 考比视频在线观看| 一级毛片 在线播放| 久久精品夜色国产| 黑丝袜美女国产一区| 大片电影免费在线观看免费| 18禁观看日本| 2022亚洲国产成人精品| 王馨瑶露胸无遮挡在线观看| 18禁国产床啪视频网站| 精品一区二区三区四区五区乱码 | 激情五月婷婷亚洲| 亚洲av在线观看美女高潮| 母亲3免费完整高清在线观看 | 日韩在线高清观看一区二区三区| 国产成人91sexporn| 国产精品免费视频内射| 黑丝袜美女国产一区| 丰满乱子伦码专区| 国产乱人偷精品视频| 精品人妻偷拍中文字幕| 91久久精品国产一区二区三区| 在线亚洲精品国产二区图片欧美| 精品人妻偷拍中文字幕| 国产在视频线精品| 在线天堂中文资源库| 国产成人精品婷婷| 久久人人97超碰香蕉20202| 日本-黄色视频高清免费观看| 国产亚洲最大av| 婷婷色av中文字幕| 亚洲欧美成人精品一区二区| 欧美最新免费一区二区三区| 嫩草影院入口| av线在线观看网站| 亚洲精品一二三| 一区二区三区精品91| 一边亲一边摸免费视频| 国产精品99久久99久久久不卡 | 18禁观看日本| 国产成人精品福利久久| 香蕉国产在线看| 丰满迷人的少妇在线观看| 97精品久久久久久久久久精品| 两个人免费观看高清视频| 国产精品无大码| 亚洲国产欧美网| 国产免费又黄又爽又色| 一级片免费观看大全| 欧美另类一区| 亚洲国产欧美日韩在线播放| 国产成人精品福利久久| 国产一区亚洲一区在线观看| av不卡在线播放| 午夜福利一区二区在线看| 亚洲av中文av极速乱| www.熟女人妻精品国产| 亚洲三区欧美一区| 国产一区二区激情短视频 | 大片电影免费在线观看免费| 亚洲欧美一区二区三区国产| 欧美av亚洲av综合av国产av | 欧美精品人与动牲交sv欧美| www.精华液| 下体分泌物呈黄色| 涩涩av久久男人的天堂| 亚洲成人av在线免费| 久久精品久久久久久噜噜老黄| 免费观看无遮挡的男女| 热re99久久精品国产66热6| 成年女人在线观看亚洲视频| 国产综合精华液| 天美传媒精品一区二区| www日本在线高清视频| 久久久久久久国产电影| 一级毛片黄色毛片免费观看视频| 又粗又硬又长又爽又黄的视频| 9热在线视频观看99| 亚洲男人天堂网一区| 欧美bdsm另类| 夜夜骑夜夜射夜夜干| 免费看不卡的av| 日本午夜av视频| 亚洲欧美一区二区三区久久| 新久久久久国产一级毛片| 欧美激情高清一区二区三区 | 五月伊人婷婷丁香| 青青草视频在线视频观看| 女的被弄到高潮叫床怎么办| 国产在线视频一区二区| a级毛片在线看网站| 色视频在线一区二区三区| 黄色 视频免费看| 免费女性裸体啪啪无遮挡网站| 色视频在线一区二区三区| 丝袜喷水一区| 免费观看av网站的网址| 亚洲欧洲日产国产| 欧美成人午夜精品| 欧美激情极品国产一区二区三区| 如日韩欧美国产精品一区二区三区| 亚洲,一卡二卡三卡| 黑人巨大精品欧美一区二区蜜桃| 国产成人精品在线电影| 国产男人的电影天堂91| 亚洲欧美中文字幕日韩二区| 在线观看免费视频网站a站| 国产一区二区激情短视频 | 99久久精品国产国产毛片| 欧美精品高潮呻吟av久久| 免费人妻精品一区二区三区视频| 国产一区二区 视频在线| 激情视频va一区二区三区| 国产精品 欧美亚洲| 五月天丁香电影| a级片在线免费高清观看视频| 如日韩欧美国产精品一区二区三区| 亚洲av电影在线观看一区二区三区| 国产日韩欧美视频二区| 欧美+日韩+精品| 亚洲美女黄色视频免费看| 免费观看性生交大片5| 国产欧美日韩一区二区三区在线| 人体艺术视频欧美日本| 亚洲av福利一区| 9热在线视频观看99| 80岁老熟妇乱子伦牲交| 婷婷色综合大香蕉| 午夜91福利影院| 国产精品麻豆人妻色哟哟久久| 亚洲一码二码三码区别大吗| 欧美精品av麻豆av| 亚洲图色成人| 欧美精品一区二区大全| 一区二区三区四区激情视频| 久久精品国产a三级三级三级| 亚洲欧美精品自产自拍| 男女国产视频网站| 18禁动态无遮挡网站| 满18在线观看网站| 91精品国产国语对白视频| 考比视频在线观看| 99香蕉大伊视频| 欧美日韩国产mv在线观看视频| 久久久精品免费免费高清| 亚洲av国产av综合av卡| 久久国产亚洲av麻豆专区| 久热这里只有精品99| 日韩人妻精品一区2区三区| 日本av手机在线免费观看| 熟妇人妻不卡中文字幕| 一级毛片黄色毛片免费观看视频| 在线观看美女被高潮喷水网站| 久久精品国产鲁丝片午夜精品| 你懂的网址亚洲精品在线观看| 久久人人爽av亚洲精品天堂| 欧美精品高潮呻吟av久久| 亚洲一区二区三区欧美精品| 亚洲 欧美一区二区三区| 国产乱人偷精品视频| 亚洲精品视频女| 日日爽夜夜爽网站| 一区二区日韩欧美中文字幕| 日韩伦理黄色片| 亚洲国产精品成人久久小说| 成年人免费黄色播放视频| 最近最新中文字幕免费大全7| 9热在线视频观看99| 成人免费观看视频高清| 久久久久视频综合| 久久精品夜色国产| 成人免费观看视频高清| 十分钟在线观看高清视频www| 人妻少妇偷人精品九色| 久久精品人人爽人人爽视色| 中文字幕最新亚洲高清| 久久久久久人人人人人| 女人久久www免费人成看片| 欧美日韩亚洲国产一区二区在线观看 | 中文字幕最新亚洲高清| 99久久人妻综合| av在线观看视频网站免费| 2021少妇久久久久久久久久久| 亚洲男人天堂网一区| 亚洲欧美成人综合另类久久久| 亚洲一区中文字幕在线| 日韩在线高清观看一区二区三区| 亚洲av.av天堂| 少妇熟女欧美另类| 日韩,欧美,国产一区二区三区| 日韩伦理黄色片| 亚洲欧美中文字幕日韩二区| 黄网站色视频无遮挡免费观看| 成人午夜精彩视频在线观看| 国产精品无大码| 亚洲欧美清纯卡通| 亚洲,欧美精品.| 99热网站在线观看| 亚洲av综合色区一区| 亚洲人成77777在线视频| av一本久久久久| 乱人伦中国视频| 汤姆久久久久久久影院中文字幕| av国产久精品久网站免费入址| 欧美老熟妇乱子伦牲交| 亚洲一级一片aⅴ在线观看| 久久精品久久久久久久性| 波野结衣二区三区在线| 久久ye,这里只有精品| 18禁观看日本| 久久99蜜桃精品久久| 热99国产精品久久久久久7| 成年人免费黄色播放视频| 有码 亚洲区| 欧美成人精品欧美一级黄| 人成视频在线观看免费观看| 美女福利国产在线| 熟女av电影| 成人国产av品久久久| 亚洲综合色惰| 国产精品国产三级国产专区5o| 成年美女黄网站色视频大全免费| 日日爽夜夜爽网站| 免费看不卡的av| 又粗又硬又长又爽又黄的视频| 999精品在线视频| 天天操日日干夜夜撸| 精品国产国语对白av| 国产精品二区激情视频| 大片电影免费在线观看免费| 亚洲精品中文字幕在线视频| 精品国产露脸久久av麻豆| 亚洲情色 制服丝袜| 国产免费又黄又爽又色| 久久久久精品久久久久真实原创| 亚洲三区欧美一区| 午夜福利网站1000一区二区三区| 久久青草综合色| 在线观看一区二区三区激情| 五月伊人婷婷丁香| 黄网站色视频无遮挡免费观看| 国产有黄有色有爽视频| 亚洲,一卡二卡三卡| 少妇的逼水好多| 国产精品人妻久久久影院| 久久久久久久国产电影| 成年美女黄网站色视频大全免费| 亚洲精品国产色婷婷电影| 国产亚洲av片在线观看秒播厂| 在线观看免费日韩欧美大片| 下体分泌物呈黄色| 国产av精品麻豆| 黄色怎么调成土黄色| 久久精品熟女亚洲av麻豆精品| 如日韩欧美国产精品一区二区三区| 亚洲欧美清纯卡通| 亚洲国产日韩一区二区| 亚洲内射少妇av| 精品人妻在线不人妻| 一本—道久久a久久精品蜜桃钙片| 亚洲av综合色区一区| 日韩人妻精品一区2区三区| 一区二区三区乱码不卡18| 在线天堂中文资源库| 成人影院久久| 亚洲三级黄色毛片| av网站在线播放免费| 极品少妇高潮喷水抽搐| 亚洲精品,欧美精品| 国产 精品1| 最近中文字幕2019免费版| 青春草亚洲视频在线观看| 精品亚洲成a人片在线观看| 欧美亚洲 丝袜 人妻 在线| 国产精品嫩草影院av在线观看| 看十八女毛片水多多多| 丰满迷人的少妇在线观看| 精品一区二区三卡| 日韩不卡一区二区三区视频在线| 久久久久久免费高清国产稀缺| 交换朋友夫妻互换小说| 午夜老司机福利剧场| 成年人免费黄色播放视频| 啦啦啦啦在线视频资源| 少妇被粗大的猛进出69影院| 男女免费视频国产| 一区在线观看完整版| 精品少妇一区二区三区视频日本电影 | av一本久久久久| 亚洲第一av免费看| 久久久久精品久久久久真实原创| 国产亚洲一区二区精品| 天堂中文最新版在线下载| 午夜91福利影院| 黄色一级大片看看| 国产高清国产精品国产三级| 在线观看免费视频网站a站| 亚洲国产av影院在线观看| 久久久久久人人人人人| 街头女战士在线观看网站| 亚洲精品日本国产第一区| 午夜福利在线免费观看网站| 啦啦啦在线免费观看视频4| 一本一本久久a久久精品综合妖精 国产伦在线观看视频一区 | 999精品在线视频| 亚洲综合色惰| 精品人妻在线不人妻| 久久青草综合色| 中文字幕另类日韩欧美亚洲嫩草| 一级a爱视频在线免费观看| 婷婷色综合大香蕉| 亚洲第一av免费看| 天堂8中文在线网| 成人亚洲欧美一区二区av| 欧美日韩精品网址| 欧美日韩视频精品一区| 午夜福利视频在线观看免费| 成人18禁高潮啪啪吃奶动态图| 成人免费观看视频高清| 亚洲欧美中文字幕日韩二区| 69精品国产乱码久久久| 欧美在线黄色| 色视频在线一区二区三区| 美女脱内裤让男人舔精品视频| 中文字幕精品免费在线观看视频| 这个男人来自地球电影免费观看 | 两个人免费观看高清视频| √禁漫天堂资源中文www| 成年人免费黄色播放视频| 久久国内精品自在自线图片| 久久99蜜桃精品久久| av在线app专区| www.熟女人妻精品国产| 人人妻人人澡人人爽人人夜夜| 好男人视频免费观看在线| 波野结衣二区三区在线| 中文字幕人妻丝袜制服| 啦啦啦视频在线资源免费观看| 精品人妻熟女毛片av久久网站| 亚洲av电影在线观看一区二区三区| 欧美激情 高清一区二区三区| 久久人人爽av亚洲精品天堂| 不卡视频在线观看欧美| 久久人人爽av亚洲精品天堂| 99re6热这里在线精品视频| 人人澡人人妻人| 青春草视频在线免费观看| 国产男人的电影天堂91| 久久这里有精品视频免费| 免费av中文字幕在线| 精品一品国产午夜福利视频| 国产激情久久老熟女| 精品一区二区三卡| 国产片内射在线| 久久精品国产亚洲av涩爱| 中国国产av一级| 国产又色又爽无遮挡免| 欧美日韩亚洲国产一区二区在线观看 | 日韩一卡2卡3卡4卡2021年| 国产乱人偷精品视频| 日韩大片免费观看网站| 国产一区有黄有色的免费视频| 精品午夜福利在线看| 男女无遮挡免费网站观看| www.精华液| 亚洲人成网站在线观看播放| 国产人伦9x9x在线观看 | 成人18禁高潮啪啪吃奶动态图| 蜜桃在线观看..| 在线观看美女被高潮喷水网站| 日韩,欧美,国产一区二区三区| 亚洲,一卡二卡三卡| 高清黄色对白视频在线免费看| 飞空精品影院首页| 亚洲综合色网址| 久久精品国产亚洲av涩爱| 色婷婷久久久亚洲欧美| 欧美bdsm另类| 欧美变态另类bdsm刘玥| 午夜91福利影院| 这个男人来自地球电影免费观看 | 精品国产一区二区三区久久久樱花| 麻豆乱淫一区二区| 一本—道久久a久久精品蜜桃钙片| 深夜精品福利| 久久国内精品自在自线图片| 哪个播放器可以免费观看大片| 亚洲国产看品久久| 亚洲,一卡二卡三卡| 电影成人av| 亚洲伊人色综图| 成人漫画全彩无遮挡| 午夜福利在线观看免费完整高清在| 超碰97精品在线观看| 少妇的丰满在线观看| 99国产精品免费福利视频| 婷婷色综合www| 中文欧美无线码| 国产一区有黄有色的免费视频| 色视频在线一区二区三区| 制服丝袜香蕉在线| 如何舔出高潮| 亚洲内射少妇av| 波野结衣二区三区在线| 一边摸一边做爽爽视频免费| 爱豆传媒免费全集在线观看| 亚洲精品美女久久久久99蜜臀 | 美女国产视频在线观看| 国产毛片在线视频| 在线 av 中文字幕| 人人妻人人澡人人看| av视频免费观看在线观看| 午夜老司机福利剧场| 国产精品一国产av| 日韩一区二区视频免费看| 精品国产国语对白av| 香蕉国产在线看| 在线观看免费视频网站a站| 9191精品国产免费久久| 日本av免费视频播放| h视频一区二区三区| 久久精品国产综合久久久| 91国产中文字幕| 国产又爽黄色视频| 精品少妇内射三级| 两性夫妻黄色片| 午夜福利乱码中文字幕| 精品久久久精品久久久| 日本午夜av视频| 午夜免费男女啪啪视频观看| 国产精品久久久久成人av| 欧美日韩一级在线毛片| 亚洲精华国产精华液的使用体验| 午夜福利影视在线免费观看| 99香蕉大伊视频| 18+在线观看网站| www日本在线高清视频| 久久这里只有精品19| 中文字幕人妻丝袜一区二区 | 久久久久精品性色| 街头女战士在线观看网站| 日日啪夜夜爽| 免费av中文字幕在线| 国产一区二区三区综合在线观看| 大片免费播放器 马上看| 国产福利在线免费观看视频| 韩国高清视频一区二区三区| 精品国产一区二区久久|