記得是初中還是高中物理,裡面說過聲音是由物體振動產生,然後通過空氣傳播到耳朵裡。
把耳朵換成咪頭,聲音振動咪頭,改變了咪頭兩端的電壓,adc再採集電壓,就記錄了音訊資料;反之,將記錄的資料通過dac轉成電壓,通過運放放大,就使喇叭振動就產生了聲音。
這整個過程,涉及聲音質量的引數有三個:
在linux音效卡驅動的發展中,最開始使用的音效卡驅動框架是oss(open sound system)。
從2.6版本開始,alsa(advanced linux sound architecture)成為linux核心中預設的標準音訊驅動程式集,oss則被標記為廢棄。
oss和alsa的主要區別:
後面編寫的驅動,將採用alsa框架。
因此,整個音效卡框架涉及的驅動可能有soc的dma、i2s、i2c以及codec驅動。
tiny4412的音效卡部分原理圖如下,所採用的codec晶元為wm8960,該電路大致可分為四部分:
① iis介面,負責exynos4412和wm8960之間的資料傳輸
function
soccodec
note
date
xi2scdclk0
mclk
系統時鐘
xi2ssclk0
bclk
資料時鐘
xi2slrck0
daclrc
左右聲道切換
xi2ssdo0_0
datdat
xi2ssdi0
adcdat
資料輸入(錄音)
② i2c介面,負責exynos4412對wm8960暫存器的配置
function
soccodec
note
control
xi2cscl0
sclk
i2c時鐘
xi2csda0
sdin
i2c資料
③ 錄音
採用咪頭和耳機介面進行錄音;
linux音效卡驅動框架 ALSA簡介
alsa的 檔案在 sound core 該目錄包含了alsa驅動的中間層,它是整個alsa驅動的核心部分 core oss 包含模擬舊的oss架構的pcm和mixer模組 core seq 有關音序器相關的 include alsa驅動的公共頭檔案目錄,該目錄的標頭檔案需要匯出給使用者空間的應用程...
linux驅動編寫(音效卡驅動之asoc移植)
linux下面的音效卡驅動很複雜,根本不是一篇部落格能夠說清楚的。所以,本片文章的目的就是讓同學門快速入門。或者,換句話說,它可以幫助大家在基本了解linux音效卡框架的條件下完成音效卡移植工作。1 linux音效卡驅動在哪個目錄 sound 2 oss alsa asoc是什麼關係 oss是最老的...
ALSA驅動Debian音效卡
在最初使用debian的時候並沒有仔細的注意過linux的音效卡驅動,雖然在早一些的時候就已經曉得了alsa是乙個相當不錯的音效卡驅動,但是因為自己的安裝使用經歷一直比較的順利,也便沒有安裝這個來驅動音效卡,但是最近幾天,debian不曉得是怎麼了,不高興的樣子,想要聽個 來輕鬆,竟然一點也唱不起來...