UAC1.0和UAC2.0區(qū)別
傳統(tǒng)3.5mm模擬耳機(jī)逐步被USB數(shù)字耳機(jī)代替。采用USB協(xié)議進(jìn)行音頻播放使用USB Audio Class協(xié)議(簡(jiǎn)稱UAC).
UAC2.0由于支持USB High Speed,從而天生帶有高帶寬、低延時(shí)的優(yōu)勢(shì)。這些優(yōu)勢(shì)轉(zhuǎn)化為對(duì)于Hi-Resolution Auido的支持。
UAC1.0最高只支持到雙聲道192Khz 16b的音源:(2 x 192 x 16) / 1024 = 6Mb = 6Mb/8 = 0.75MB
UAC2.0可以最高支持15聲道384Khz 32b的音源:(15 x 384K x 32) /1024 = 180Mb = 18Mb/8 = 3MB
UAC-USB Isochronous Endpoint
UAC1 最高速度: ≤8.2Mb/s
UAC2 標(biāo)準(zhǔn)速度: ≤65.5Mb/s
最高速度: ≤196.6Mb/s
UAC2.0協(xié)議中提供更多的功能。支持更多的設(shè)備描述,增加clock domain、clock description、clock
control支持, 添加sampling rate converter unit支持,
UAC2.0協(xié)議文檔:http://dl.project-voodoo.org/usb-audio-spec/USB%20Audio%20v2.0/Audio20%20final.pdf
在kernel/msm-3.18/sound/usb/mixer.c
/*support for UAC2 effect units */
可以看到驅(qū)動(dòng)代碼已經(jīng)支持UAC2.0了,就看有沒(méi)有支持UAC2.0的codec做出來(lái)了。
栗子:采樣率48000,位深度 16bit ,通道數(shù)2,設(shè)備1秒內(nèi)可以采集到多少音頻數(shù)據(jù)?
48000Hz x 16b x 2ch = 1536000(bit)
(48000Hz x 16b x 2) / 8 = 192000 (Byte) = 192(KB)
192(KB) / 1024 = 0.1875(MB)
設(shè)備在一秒內(nèi)可以采集192KByte數(shù)據(jù).
**************************************************************************************
如果16000hz 16bit,計(jì)算UAC1.0和UAC2.0理論上最多支持多少通道?
UAC1.0 high speed支持通道數(shù):8.2Mb / (16000 x 16 / 1024 / 1024) = 8.2Mb / 0.25Mb = 32.8 = 32(理論值)
UAC2.0 full speed支持通道數(shù):65.5Mb / (16000 x 16 / 1024 / 1024) = 65.5Mb / 0.25Mb = 262(理論值)
UAC2.0 high speed支持通道數(shù):196.6Mb / (16000 x 16 / 1024 / 1024) = 196.6Mb / 0.25Mb = 786(理論值)