查看: 1902|回復: 0
打印 上一主題 下一主題

【嵌入式開(kāi)發(fā)教程6】瘋殼·平板電腦-音頻驅動(dòng)實(shí)驗教程

[復制鏈接]
跳轉到指定樓層
樓主
發(fā)表于 2022-7-16 14:22:26 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
音頻驅動(dòng)實(shí)驗教程
——瘋殼·嵌入式平板開(kāi)發(fā)




   
   圖1
    如上圖是音頻模塊 codec 和 cpu 連接框圖,主要由三部分組成:
    I2C 總線(xiàn) - cpu 通過(guò)它實(shí)現對 Codec 寄存器數據的讀寫(xiě)。
    I2S 總線(xiàn) - 實(shí)現音頻數據在 CPU 和 Codec 間的通信。
    HP_DEC - 實(shí)現檢測是否有 HeadSet 設備插入。

    第二節 linux workqueue 工作原理
    音頻子系統的源代碼中用到了一個(gè)概念:workqueue。對于不了解的朋友,讀代碼可能會(huì )引起疑惑,所以這里做一個(gè)簡(jiǎn)單介紹。Linux 中的 Workqueue 機制就是為了簡(jiǎn)化內核線(xiàn)程的創(chuàng )建,只是通過(guò)調用 workqueue 的接口就能創(chuàng )建內核線(xiàn)程;并且可以根據當前系統 CPU 的個(gè)數創(chuàng )建線(xiàn)程的數量,使得線(xiàn)程處理的事務(wù)能夠并行化;workqueue 是內核中實(shí)現簡(jiǎn)單而有效的機制,它顯然簡(jiǎn)化了內核 Daemon 的創(chuàng )建,方便了用戶(hù)的編程。工作隊列(workqueue) 是另外一種將工作推后執行的形式。它把工作推后,交由一個(gè)內核線(xiàn)程去執行,也就是說(shuō),   這個(gè)下半部分可以在進(jìn)程上下文中執行。最重要的就是工作隊列允許被重新調度甚至是睡眠。  舉個(gè)栗子:

  
  
    代碼1

    第三節 電路原理圖介紹
    下圖來(lái)源于文檔 3128_sdk_a02_20170325.pdf 中第 18 頁(yè)。
    圖一、綠色框中是 codec 芯片自己檢測是否有 HeadSet 設備插入的電路原理圖,它是通過(guò) HP_HOOK(HP_HOOK 和 HP_DEC 是連在一條線(xiàn)上)與 cpu 的 ADC_IN0 連接,這個(gè)有點(diǎn)類(lèi)似于 AD 按鍵檢測的功能;音頻 Codec 模塊是數據與控制分開(kāi)的,所以有 I2c 來(lái)控制 Codec 的寄存器的讀寫(xiě),數據通過(guò) I2s 總線(xiàn)進(jìn)行傳輸。

   
    圖2

    第四節 音頻驅動(dòng)代碼結構

   
    代碼2

    第五節 dts 文件講解


   
    代碼3

    HeadSet 配置文件

   
    代碼4

    I2c 配置文件

   
    代碼5
    I2s 配置文件
    rockchip-rt3224 {



   
    代碼6

    第六節 實(shí)驗代碼
    1.HeadSet 檢測
    原理類(lèi)似于一個(gè) ad 按鍵的功能。
    注意:這里如果要測試這個(gè)功能必須在 codec 中設置一個(gè)值:
    codec_hp_det = <0>; ===> codec_hp_det = <1>;
    增加兩條測試信息到如下代碼中。

   
    代碼7
    耳機檢測狀態(tài)的調試:
    cat sys/class/switch/h2w/state 0:無(wú)耳機插入
    1:帶Mic 耳機插入(四段耳機)
    2:不帶 Mic 耳機插入(三段耳機)
    2.測試命令        amix
    用 amix 命令來(lái)調節音量
    amix 11 0
    amix 11 120




更多完整學(xué)習資料和對應開(kāi)源套件,請登陸官網(wǎng):“瘋殼”

文件下載請點(diǎn)擊: 6、音頻驅動(dòng)實(shí)驗教程.pdf (507.76 KB)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页