RK3399 Linux4.4 Audio 常用調試方法

 RK3399的CPU採用big.LITTLE大小核架構,雙Cortex-A72大核+四Cortex-A53小核結構,對整數、浮點、內存等作了大幅優化,在整體性能、功耗及核心面積三個方面都具革命性提升。 RK3399的GPU採用四核ARM新一代高端圖像處理器Mali-T860,集成更多帶寬壓縮技術:如智能迭加、ASTC、本地像素存儲等,還支持更多的圖形和計算接口,總體性能比上一代提升45%。

    盈鵬飛科技最新研發的RK3399安卓主板,搭載了最新android7.1 系統,4G DDR3內存,32G EMMC 存諸等...RK3399開發板主板尺寸爲:146*102mm,設計有非常豐富的接口,板載5路UART,支持USB3.0高性能設備接口, WIFI/BT二合一,HDMI OUT 、HDMI INT、Type C、4G、IR、以太網等;可擴展模塊包括4G模塊、Camera(1300萬、500萬)等應用類功能模塊。

     RK3399安卓主板爲消費類電子、智能終端、MID、無線通訊、醫療設備、工業控制等行業產品的應用開發而設計,超強的視頻處理能力,超高清視頻輸出優勢,口豐富、性能穩定。支持Android\Linux\Ubuntu系統,軟件支持完善,開放源代碼適合企業二次開發帶高清顯示的商顯廣告機、自助售貨機、教育終端等,可降低研發門檻,縮短產品研發週期。

常用調試方法:

1. 查看 codec 寄存器,I²S 寄存器,spdif 寄存器等等,出現問題時,往往需要常看寄存 器的狀態是否正常,來定位分析問題。

a凡是使用 regmap 的驅動, 在/sys/kernel/debug/regmap 都有相應的查詢入口,如下:

例如:1-001c 爲 rt5640 的 i2c 地址,掛載在 i2c1, codec 地址爲 0x1c,那麼此目錄中的 registers 即爲 codec 的 register,其他類似。

2. Xrun debug, 一般用於 debug underrun 或者 overrun,出現此兩者情況時內核會 打印 log 協助問題的定位分析。Menuconfig 中需要開啓如下選項:

然後在對應聲卡/proc/asound/card0/xrun 中寫入相應的值,值如下:

比如 echo 1 > xrun 或者 echo 3 > xrun 或者 echo 7 > xrun 開啓所有 debug 信息檢測。

3. 通過查看 clk tree 確認相應的 audio  clk 是否正常,比如 mclk:如下爲採樣率爲44100hz 的 mclk: 11.2896M。 

4. 要學會使用示波器測量音頻的信號, 軟件方式的確認有時會有誤差,最精確最根本的 方式就是確認音頻 clk 是否正常,滿足規範。音頻的信號包含 mclk, bclk, lrck, data。 需要確認信號幅度是否正常,如果 io 電壓爲 3.3v,測試出來的信號幅值應當在 3.3v 左右。如果幅值太低,則會照成採集不到數據而無聲。Clk 的頻偏也不宜過大,有可能 會照成雜音。Bclk, lrck 要符合設置的採樣率,如果不相符,則會照成音頻快進或者播 放緩慢。

5. 播放測試:一般播放 1khz 0db 正弦波,然後使用示波器確認輸出是否有削頂失真,相 位失真,雜音等。

6. 錄音測試:可使用信號發生器產生 1khz 的波形從 codec 模擬端導入,然後錄製波形, 可以通過回放來確認波形是否正常,無失真,或者使用電腦上的軟件工具 adobe audition 來分析底噪等等基本指標。

7. 基本功能過完後,需要使用音頻分析儀進行 codec 後續的指標測試以及調優。

   盈鵬飛嵌入式專注於Atmel、TI、NXP、Rockchip等平臺產品的研發。公司團隊擁有超過10年的ARM軟硬件開發經驗,擁有智能家居、人機界面、工業縫紉機、電力採集器等多個成功案例;公司2005年成立至今,主要從事工業控制領域開發,先後開發了以ARM9- AT91SAM9G45、Cortex-A8-335x 、A7- i.MX6UL 、A9-I.MX6Q爲主控的各種方案,深入WINCE/LINUX 嵌入式系統開發多年,產品以高穩定性,高可靠性獲得客戶的信賴!2017年我們再出發,依賴工業控制領域多年的設計造詣,公司以創"芯"科技,智造雙贏爲經營理念,先後開發了以RK3288、RK3399 等處理器爲應用的ANDROID解決方案,承接項目定製、BSP以及APP開發,爲客戶提供專業化的量身定製廣告機、消費類電子等解決方案。

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