国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

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

【瘋殼·嵌入式教程6】手把手教你做平板電腦-音頻驅動實驗教程

[復制鏈接]
跳轉到指定樓層
樓主
發表于 2022-8-23 10:33:24 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
音頻驅動實驗教程
——瘋殼·嵌入式平板開發




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

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

  

    代碼1

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


    圖2

    第四節 音頻驅動代碼結構

   
    代碼2

    第五節 dts 文件講解



  
    代碼3

    HeadSet 配置文件

  
    代碼4

    I2c 配置文件


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



   
    代碼6

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


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



完整配套資料和對應開源套件地址:http://www.fengke.club

如需定制開發,請通過官網“瘋殼”網頁底部的“聯系我們”進行聯系

文件下載請點擊: 6、音頻驅動實驗教程.pdf (507.76 KB)

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

本版積分規則

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩在线毛片| 四虎官网| 青青青青青操| 欧美三级aaa| 全部费免一级毛片不收费| 爽的毛片| 亚洲激情文学| 性吧影院| 亚洲国语在线视频手机在线| 欧美日韩中文字幕在线| 日本视频免费在线| 欧美操穴| 婷婷激情狠狠综合五月| 一级床上爽| 香蕉视频久久| 亚洲日韩中文字幕一区| 欧美特黄aaaaaa| 亚洲七七久久综合桃花| 欧美日韩免费| 亚洲三级精品| 外国毛片大全免费看| 一级欧美一级日韩| 青青青操| 亚洲不卡一区二区三区在线| 日本网络视频www色高清免费| 一级看片| 日韩精品福利视频一区二区三区| 亚洲成年人在线观看| 日本高清在线播放| 亚洲黄色免费在线观看| 亚洲午夜久久久| 青青热久久国产久精品| 亚洲欧美日韩在线中文一| 日韩黄色网页| 欧美日韩综合网| 亚洲小视频在线播放| 日本久久久免费高清| 武侠古典久久亚洲精品| 午夜宅男在线永远免费观看网| 欧美在线视频第一页| 日本中文一二区有码在线观看|