Linux audio 驅動架構,audio物理鏈路+邏輯設備詳細描述(codec + platform + machine底層三大塊) Linux ALSA 音頻系統:物理鏈路篇

兩篇寫的很好的博文:(作者:https://me.csdn.net/zyuanyun)

一: Linux ALSA 音頻系統:物理鏈路篇

Linux ALSA 音頻系統:物理鏈路篇

硬件平臺及軟件版本:

  • Kernel - 3.4.5
  • SoC - Samsung exynos
  • CODEC - WM8994
  • Machine - goni_wm8994
  • Userspace - tinyalsa

Linux ALSA 音頻系統架構大致如下:

              +--------+  +--------+  +--------+
              |tinyplay|  |tinycap |  |tinymix |
              +--------+  +--------+  +--------+
                   |           ^           ^ 
                   V           |           V
              +--------------------------------+
              |        ALSA Library API        |
              |      (tinyalsa, alsa-lib)      |
              +--------------------------------+
  user space                   ^
-------------------------------|---------------------
  kernel space                 V
              +--------------------------------+
              |           ALSA CORE            |
              | +-------+ +-------+ +------+   |
              | |  PCM  | |CONTROL| | MIDI |...|
              | +-------+ +-------+ +------+   |
              +--------------------------------+
                               |
              +--------------------------------+
              |           ASoC CORE            |
              +--------------------------------+
                               |
              +--------------------------------+
              |        hardware driver         |
              |  +-------+ +--------+ +-----+  |
              |  |Machine| |Platform| |Codec|  |
              |  +-------+ +--------+ +-----+  |
              +--------------------------------+

    二 : Linux ALSA 音頻系統:邏輯設備篇

    聲卡和 PCM 設備的建立過程
    前面幾章分析了 Codec、Platform、Machine 驅動的組成部分及其註冊過程,這三者都是物理設備相關的,大家應該對音頻物理鏈路有了一定的認知。接着分析音頻驅動的中間層,由於這些並不是真正的物理設備,故我們稱之爲邏輯設備。

    PCM 邏輯設備,我們又習慣稱之爲 PCM 中間層或 pcm native,起着承上啓下的作用:往上是與用戶態接口的交互,實現音頻數據在用戶態和內核態之間的拷貝;往下是觸發 codec、platform、machine 的操作函數,實現音頻數據在 dma_buffer <-> cpu_dai <-> codec 之間的傳輸。後面章節將會詳細分析這個過程,這裏還是先從聲卡的註冊談起

    發表評論
    所有評論
    還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
    相關文章