日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

总结一些调试的心得,ES7243

發布時間:2023/12/20 编程问答 61 豆豆
生活随笔 收集整理的這篇文章主要介紹了 总结一些调试的心得,ES7243 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這兩天在調試一個與語音ADC芯片,也遇到了一些問題,到目前位置也解決了問題,所以想說一下嵌入式調試的一些心得,如果大家在調試設備的時候遇到問題,可以回頭來看看這篇文章,可能會得到一些啟發。

我調試的系統架構

硬件方案如上圖

我們一共可以采集到10ch音頻數據,其中有兩路是最后的ES7243E給出來的,然后最后送給CPU的是最前面的那個ES7210.

CPU給ES7243E提供MCLK,但是另外兩個ES7210芯片的時鐘是由ES7243ET提供的。

音頻調試就必須提到ALSA,ALSA就必須提到三個很重要的東西。

像應用用到的很多接口,都是由alsa接口提供的。

現在說下我遇到的問題

第一個問題,我通過錄音命令可以錄取到兩個7210芯片上面的麥克風數據,但是錄取不到ES7243E上面的兩個麥克風的數據。

1、排查寄存器

這個是最重要的,如果寄存器設置的模式不正確,那么工作就不可能正常。上面的圖中可以看到,7210的時鐘是由7243E提供的,所以7243E需要設置成master模式。

2、測量時鐘

這個是最關鍵的,音頻調試,需要測量MCLK、LRCK、BCLK。

3、電源測量,這個時候比較次要了

然后經過各種調試,在順芯的FAE王工的指導下,發現是LRCK不正確的原因,而且因為設置的寄存器相差一個bit位,我們用示波器看到的時鐘是15.99K,實際需要的是16K。當時還懷疑示波器的問題。

那個關鍵的寄存器如下:

這里寄存器的解釋,如果設置為0,那么時鐘就會從MCLK除以1,如果是4095,那么BCLK = MCLK 除以 4096。

我的MCLK = 12288000HZ

我的BCLK = 16000HZ? 采樣

那么我就需要設置這個寄存器位?

寄存器的值是?12288000 除以?16000 =?768

然后寄存器設置的話,我就需要設置成??768 - 1 = 0x2FF

寄存器設置正常后,可以看到LRCK非常穩定在16K。

并且,之前看到的,BCLK和LRCK下降沿不對齊的情況也沒有出現了。

正確的波形如下:(兩個時鐘的下降沿可以正確對齊)

第二個問題

我們錄音的時候,使用12ch來錄音,但是錄取到的音頻發現有時候物理麥克風1的音頻在通道1上,有時候在通道6上。

我們使用的TDM錄音格式如下:

這是一個非常典型的錄音格式,我們平時用的聲道只有兩個,所以在LRCK低電平的時候傳左聲道,LRCK在高電平的時候傳右聲道。

TDM格式可以允許在LRCK上傳輸多個聲道。

正常的時候,我們錄取的音頻如下

出問題的時候,我們的錄取音頻如下:

也就是LR音頻變成了RL的音頻

因為這個問題,我用示波器看了TDM格式的音頻,7243E上的其中一個麥克風錄取正弦波1K信號的時候波形如下:

?檢查這個的原因是想確認下,在傳輸過程中,每個ADC芯片的輸出在LRCK的位置是不是正確的。

然后,確認了一遍后確定沒有問題。

之后是和同事討論后,問題出現在每次錄音的時候,可能ADC的狀態不一致導致。

然后我們抓取了ADC錄音的LRCK和BCLK的波形。

正常情況下:

另一種情況:

上面兩張圖能說明的問題是,在每次開始錄音的時候,LRCK的電平跳變是不同的。

然后我們檢查電路,發現電路是沒有上拉電阻在LRCK上的。

然后檢查寄存器,發現寄存器有配置上拉電阻的情況,而且已經配置上了。

最后就是在不斷測試和驗證上下功夫,shutdown的時候,關閉掉ADC的使能,startup后,用work來使能寄存器讓ADC正常工作。

研究發現如果不是代碼設置,用i2ctool設置還可能因為時序問題還會出現偶發的上述問題。

在不斷的測試后,才找到正確的情況,用示波器抓的開始信號也一直是正常的。

整理的不是十分充分,在調試通信問題上,最好還是以波形為主,不要著急,但是也要想清楚原理。

而且在第一個問題的解決上,我覺得還是有疑問

時鐘是由7243E提供的,7243E錄音出現問題,那為什么另外兩顆7210錄音正常?

我只能說7210對時鐘的要求不是那么嚴格了。

第二個問題

TDM格式已經說明高電平傳的是偶數通道數音頻,為什么還可能出現亂序,我這里只能猜測是音頻平臺部分的cpu dai軟件部分處理的不夠完美。

即使在開始部分有異常,但是只要保證高低電平差異,我認為TDM都應該要處理正確。

好了,就這些,歡迎大家評論討論~


推薦閱讀:

專輯|Linux文章匯總

專輯|程序人生

專輯|C語言

我的知識小密圈

關注公眾號,后臺回復「1024」獲取學習資料網盤鏈接。

歡迎點贊,關注,轉發,在看,您的每一次鼓勵,我都將銘記于心~

總結

以上是生活随笔為你收集整理的总结一些调试的心得,ES7243的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。