基于I2S的USB 聲卡系統(tǒng)設(shè)計(jì)
發(fā)布時(shí)間:2008/5/27 0:00:00 訪問(wèn)次數(shù):1185
    
    
    來(lái)源:電子設(shè)計(jì)應(yīng)用 作者:武漢科技大學(xué)計(jì)算機(jī)學(xué)院 閔華松 孫程建
    
    摘 要:本文介紹了基于s3c2410處理器平臺(tái),利用i2s總線的usb聲卡系統(tǒng)設(shè)計(jì)。詳細(xì)闡述了usb聲卡通訊的實(shí)現(xiàn),并且根據(jù)i2s總線dma傳輸?shù)奶攸c(diǎn)實(shí)現(xiàn)了環(huán)形緩沖區(qū),以提高系統(tǒng)性能,滿足音頻實(shí)時(shí)性的要求。
    關(guān)鍵詞: usb聲卡;s3c2410;i2s
    
    引言
    近年來(lái)usb產(chǎn)品層出不窮,usb音頻類在usb開(kāi)發(fā)者論壇的努力下,成為一種標(biāo)準(zhǔn)的規(guī)范,usb聲卡也開(kāi)始在市場(chǎng)上悄然出現(xiàn)。因?yàn)閡sb聲卡內(nèi)置了dac和有源功放,音頻數(shù)據(jù)以數(shù)字方式進(jìn)入usb聲卡,完全杜絕了pc的內(nèi)部干擾,所以,usb聲卡將有可能成為現(xiàn)有內(nèi)置聲卡的替代品。本文介紹了一種基于arm處理器的usb聲卡設(shè)計(jì)。
    
    usb聲卡原理
    由usb聲卡數(shù)據(jù)流圖(見(jiàn)圖1)可以看出usb聲卡的工作原理。在主機(jī)端播放音樂(lè)時(shí),應(yīng)用軟件或驅(qū)動(dòng)程序把各類音頻信號(hào)轉(zhuǎn)換為統(tǒng)一的格式,如pcm、mpeg等格式的數(shù)據(jù)流,通過(guò)主機(jī)的usb接口發(fā)送給usb聲卡。聲卡的usb接口接收到數(shù)據(jù)后,通過(guò)i2s接口把并行音頻數(shù)據(jù)轉(zhuǎn)為串行,再發(fā)送給音頻編解碼芯片進(jìn)行d/a轉(zhuǎn)換,即可在音頻芯片連接的揚(yáng)聲器中發(fā)音。錄音過(guò)程和播放過(guò)程正好相反。
    
    
    
    圖1 usb 聲卡數(shù)據(jù)流
    
    硬件設(shè)計(jì)
    usb聲卡硬件主要包括mcu和音頻編解碼芯片。mcu采用三星公司的處理器s3c2410,s3c2410內(nèi)置i2s總線控制器和usb slaver控制器。s3c2410的i2s控制器實(shí)現(xiàn)了一個(gè)外部8/16位立體聲音頻codec ic的接口,支持i2s總線數(shù)據(jù)格式和msb-justified數(shù)據(jù)格式,并且支持dma傳輸模式。
    
    音頻芯片采用uda1341ts。uda1341ts提供標(biāo)準(zhǔn)的i2s接口,可以直接和s3c2410的i2s引腳連接。另外,此芯片還提供標(biāo)準(zhǔn)的l3、麥克風(fēng)和揚(yáng)聲器接口。l3接口的引腳分別連到s3c2410的3個(gè)gpio輸出引腳上,通過(guò)gpio控制l3接口。uda1341ts音頻芯片集成數(shù)字化音頻和混頻器功能。數(shù)字化音頻功能可以播放數(shù)字化聲音或錄制聲音,因?yàn)榘ㄟ@個(gè)功能,所以常把此類芯片稱為codec設(shè)備;祛l器用來(lái)控制各種輸入/輸出的音量大小等,在本芯片中通過(guò)l3接口進(jìn)行控制。
    
    
    
    圖2 usb聲卡拓?fù)鋱D
    
    軟件設(shè)計(jì)
    軟件設(shè)計(jì)包括兩部分:usb聲卡固件程序設(shè)計(jì)和主機(jī)端windows驅(qū)動(dòng)設(shè)計(jì)。因?yàn)閡sb音頻類設(shè)備是一種標(biāo)準(zhǔn)設(shè)備,在windows 操作系統(tǒng)上有標(biāo)準(zhǔn)的usb音頻驅(qū)動(dòng),所以只需要開(kāi)發(fā)者根據(jù)usb音頻類的協(xié)議開(kāi)發(fā)固件程序。
    
    usb聲卡的固件程序主要包括兩部分,第一部分主要是usb通訊,第二部分實(shí)現(xiàn)i2s接口數(shù)據(jù)傳輸以及數(shù)據(jù)流的緩沖區(qū)控制等。
    
    usb通訊
    usb聲卡描述符
    為了有效地定義出usb聲卡的描述符,可先根據(jù)usb音頻類協(xié)議,并結(jié)合需要實(shí)現(xiàn)的usb聲卡功能,確定出usb聲卡的拓?fù)鋱D(見(jiàn)圖2),然后再根據(jù)拓?fù)鋱D和usb音頻類描述符的協(xié)議,寫出usb聲卡的描述符。
    
    usb聲卡的描述符包括5部分,分別為設(shè)備描述符、配置描述符、接口描述符、端點(diǎn)描述符和字符串描述符。接口描述符是其中的難點(diǎn)。usb聲卡的接口描述符包括兩部分:音頻控制(audiocontrol)接口描述符和音頻數(shù)據(jù)流(audiostreaming)接口描述符。
    
    1. usb音頻控制接口描述符。根據(jù)usb聲卡的拓?fù)鋱D所示,當(dāng)聲卡用于回放功能時(shí),其聲卡功能的控制流程,通過(guò)it1(input teminal),ot3(out teminal)和feature單元表示,it1表示的是pc向usb聲卡發(fā)送的音頻數(shù)據(jù)流,ot3表示的是發(fā)向dac的數(shù)據(jù)流,在it1和ot3之間的feature單元用于調(diào)節(jié)音量和音效功能等。當(dāng)聲卡執(zhí)行錄音功能時(shí),usb的功能拓?fù)渫ㄟ^(guò)it2,ot4表示,it2表示a/d采樣的音頻數(shù)據(jù)流,ot4表示的是通過(guò)usb接口發(fā)向pc的數(shù)據(jù)流。usb音頻控制
    
    
    來(lái)源:電子設(shè)計(jì)應(yīng)用 作者:武漢科技大學(xué)計(jì)算機(jī)學(xué)院 閔華松 孫程建
    
    摘 要:本文介紹了基于s3c2410處理器平臺(tái),利用i2s總線的usb聲卡系統(tǒng)設(shè)計(jì)。詳細(xì)闡述了usb聲卡通訊的實(shí)現(xiàn),并且根據(jù)i2s總線dma傳輸?shù)奶攸c(diǎn)實(shí)現(xiàn)了環(huán)形緩沖區(qū),以提高系統(tǒng)性能,滿足音頻實(shí)時(shí)性的要求。
    關(guān)鍵詞: usb聲卡;s3c2410;i2s
    
    引言
    近年來(lái)usb產(chǎn)品層出不窮,usb音頻類在usb開(kāi)發(fā)者論壇的努力下,成為一種標(biāo)準(zhǔn)的規(guī)范,usb聲卡也開(kāi)始在市場(chǎng)上悄然出現(xiàn)。因?yàn)閡sb聲卡內(nèi)置了dac和有源功放,音頻數(shù)據(jù)以數(shù)字方式進(jìn)入usb聲卡,完全杜絕了pc的內(nèi)部干擾,所以,usb聲卡將有可能成為現(xiàn)有內(nèi)置聲卡的替代品。本文介紹了一種基于arm處理器的usb聲卡設(shè)計(jì)。
    
    usb聲卡原理
    由usb聲卡數(shù)據(jù)流圖(見(jiàn)圖1)可以看出usb聲卡的工作原理。在主機(jī)端播放音樂(lè)時(shí),應(yīng)用軟件或驅(qū)動(dòng)程序把各類音頻信號(hào)轉(zhuǎn)換為統(tǒng)一的格式,如pcm、mpeg等格式的數(shù)據(jù)流,通過(guò)主機(jī)的usb接口發(fā)送給usb聲卡。聲卡的usb接口接收到數(shù)據(jù)后,通過(guò)i2s接口把并行音頻數(shù)據(jù)轉(zhuǎn)為串行,再發(fā)送給音頻編解碼芯片進(jìn)行d/a轉(zhuǎn)換,即可在音頻芯片連接的揚(yáng)聲器中發(fā)音。錄音過(guò)程和播放過(guò)程正好相反。
    
    
    
    圖1 usb 聲卡數(shù)據(jù)流
    
    硬件設(shè)計(jì)
    usb聲卡硬件主要包括mcu和音頻編解碼芯片。mcu采用三星公司的處理器s3c2410,s3c2410內(nèi)置i2s總線控制器和usb slaver控制器。s3c2410的i2s控制器實(shí)現(xiàn)了一個(gè)外部8/16位立體聲音頻codec ic的接口,支持i2s總線數(shù)據(jù)格式和msb-justified數(shù)據(jù)格式,并且支持dma傳輸模式。
    
    音頻芯片采用uda1341ts。uda1341ts提供標(biāo)準(zhǔn)的i2s接口,可以直接和s3c2410的i2s引腳連接。另外,此芯片還提供標(biāo)準(zhǔn)的l3、麥克風(fēng)和揚(yáng)聲器接口。l3接口的引腳分別連到s3c2410的3個(gè)gpio輸出引腳上,通過(guò)gpio控制l3接口。uda1341ts音頻芯片集成數(shù)字化音頻和混頻器功能。數(shù)字化音頻功能可以播放數(shù)字化聲音或錄制聲音,因?yàn)榘ㄟ@個(gè)功能,所以常把此類芯片稱為codec設(shè)備;祛l器用來(lái)控制各種輸入/輸出的音量大小等,在本芯片中通過(guò)l3接口進(jìn)行控制。
    
    
    
    圖2 usb聲卡拓?fù)鋱D
    
    軟件設(shè)計(jì)
    軟件設(shè)計(jì)包括兩部分:usb聲卡固件程序設(shè)計(jì)和主機(jī)端windows驅(qū)動(dòng)設(shè)計(jì)。因?yàn)閡sb音頻類設(shè)備是一種標(biāo)準(zhǔn)設(shè)備,在windows 操作系統(tǒng)上有標(biāo)準(zhǔn)的usb音頻驅(qū)動(dòng),所以只需要開(kāi)發(fā)者根據(jù)usb音頻類的協(xié)議開(kāi)發(fā)固件程序。
    
    usb聲卡的固件程序主要包括兩部分,第一部分主要是usb通訊,第二部分實(shí)現(xiàn)i2s接口數(shù)據(jù)傳輸以及數(shù)據(jù)流的緩沖區(qū)控制等。
    
    usb通訊
    usb聲卡描述符
    為了有效地定義出usb聲卡的描述符,可先根據(jù)usb音頻類協(xié)議,并結(jié)合需要實(shí)現(xiàn)的usb聲卡功能,確定出usb聲卡的拓?fù)鋱D(見(jiàn)圖2),然后再根據(jù)拓?fù)鋱D和usb音頻類描述符的協(xié)議,寫出usb聲卡的描述符。
    
    usb聲卡的描述符包括5部分,分別為設(shè)備描述符、配置描述符、接口描述符、端點(diǎn)描述符和字符串描述符。接口描述符是其中的難點(diǎn)。usb聲卡的接口描述符包括兩部分:音頻控制(audiocontrol)接口描述符和音頻數(shù)據(jù)流(audiostreaming)接口描述符。
    
    1. usb音頻控制接口描述符。根據(jù)usb聲卡的拓?fù)鋱D所示,當(dāng)聲卡用于回放功能時(shí),其聲卡功能的控制流程,通過(guò)it1(input teminal),ot3(out teminal)和feature單元表示,it1表示的是pc向usb聲卡發(fā)送的音頻數(shù)據(jù)流,ot3表示的是發(fā)向dac的數(shù)據(jù)流,在it1和ot3之間的feature單元用于調(diào)節(jié)音量和音效功能等。當(dāng)聲卡執(zhí)行錄音功能時(shí),usb的功能拓?fù)渫ㄟ^(guò)it2,ot4表示,it2表示a/d采樣的音頻數(shù)據(jù)流,ot4表示的是通過(guò)usb接口發(fā)向pc的數(shù)據(jù)流。usb音頻控制
熱門點(diǎn)擊
- 高速大容量SRAM
- 用存儲(chǔ)器映射的方法實(shí)現(xiàn)片外FLASH的擦寫
- 高速雙口RAM IDT7026的原理和應(yīng)用
- 新架構(gòu)SRAM消除“軟錯(cuò)誤”威脅
- 基于I2S的USB 聲卡系統(tǒng)設(shè)計(jì)
- SST89E/V58RD2和SST89E/V
- AT45DB081B在數(shù)據(jù)采集系統(tǒng)中的應(yīng)用
- 基于VxWorks的FLASH存儲(chǔ)器實(shí)時(shí)存取
- 內(nèi)含CalmRISC CPU的8位單片機(jī)S3
- 邊界掃描SRAM簇板級(jí)互連測(cè)試研究
推薦技術(shù)資料
- 循線機(jī)器人是機(jī)器人入門和
- 循線機(jī)器人是機(jī)器人入門和比賽最常用的控制方式,E48S... [詳細(xì)]
- 電源管理 IC (PMIC)&
- I2C 接口和 PmBUS 以及 OTP/M
- MOSFET 和柵極驅(qū)動(dòng)器單
- 數(shù)字恒定導(dǎo)通時(shí)間控制模式(CO
- Power Management Buck/
- 反激變換器傳導(dǎo)和輻射電磁干擾分析和抑制技術(shù)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究