python 开发板 i2s_嵌入式小系统I2S接口调试总结
最近調(diào)試了I2S。由于芯片里面硬件配置出現(xiàn)了幾個(gè)錯(cuò)誤,著實(shí)也把我折騰了一番,不過,最終
還是把它搞定了。為了加深理解,就做個(gè)筆記吧,方面以后查找和學(xué)習(xí)。
定義:I2S或I2S(英語:Inter-IC Sound或Integrated Interchip Sound)是IC間傳輸數(shù)字音頻數(shù)據(jù)
的一種接口標(biāo)準(zhǔn),采用序列的方式傳輸2組(左右聲道)數(shù)據(jù)。I2S常被使用在發(fā)送CD的PCM音頻數(shù)據(jù)
到CD播放器的DAC中。由于I2S將數(shù)據(jù)信號和時(shí)鐘頻率信號分開發(fā)送,它的抖動(dòng)(jitter)有損十分地小。
基本概念
I2S由3條傳輸線組成:
比特時(shí)鐘頻率線(BCLK: bit clock line)
字符選擇線(word select line)或左右時(shí)鐘頻率線(left right clock line)(LRCLK)
至少一條復(fù)合數(shù)據(jù)線(SDATA:multiplexed data)
有時(shí)為了使系統(tǒng)間能夠更好地同步,還需要另外傳輸一個(gè)信號MCLK,稱為主時(shí)鐘,也叫系統(tǒng)時(shí)鐘(Sys Clock),是采樣頻率的256倍或384倍。
也有可能找到以下這些線:
主時(shí)鐘頻率:256個(gè)典型的左右時(shí)鐘頻率線(MCLK= 256*LRCLK)
上傳數(shù)據(jù)的復(fù)合消息(multiplex)線
I2S由前述的比特時(shí)鐘頻率、字符時(shí)鐘頻率和數(shù)據(jù)三條線所組成。當(dāng)新的數(shù)據(jù)被放到數(shù)據(jù)在線時(shí),比特時(shí)鐘頻率
就會(huì)跳動(dòng)一次。它以數(shù)據(jù)采樣率的64倍速度在運(yùn)作,諸如CD的采樣率為44.1 KHz,要傳輸它所使用的比特時(shí)鐘
頻率就為2.8224 MHz。I2S的數(shù)據(jù)線允許兩個(gè)軌道的數(shù)據(jù)同時(shí)發(fā)送,而字符選擇時(shí)鐘頻率能讓接收設(shè)備知道現(xiàn)在
正在發(fā)送軌道1或軌道2的數(shù)據(jù)。每個(gè)軌道可傳輸32位的數(shù)據(jù),所以顯而易見地,字符選擇時(shí)鐘頻率和聲音的采
樣率時(shí)鐘頻率是相同的。比特時(shí)鐘頻率即是采樣率時(shí)鐘頻率的64倍,44.1KHz x 2個(gè)聲道 x 32位 = 2.8224MHz。
I2S的數(shù)據(jù)是從高比特(MSB)發(fā)送至低比特(LSB),從字符選擇時(shí)鐘頻率的左端開始,加上一個(gè)比特時(shí)
鐘頻率的延遲,即數(shù)據(jù)將比字符選擇時(shí)鐘頻率要慢一個(gè)比特時(shí)鐘頻率。也有左校正(Left Justified)的I2S數(shù)據(jù)流
,它沒有比特時(shí)鐘頻率的延遲,數(shù)據(jù)和字符選擇時(shí)鐘頻率是同步的。右校正(Right Justified)則是數(shù)據(jù)比字符
選擇時(shí)鐘頻率快一個(gè)比特時(shí)鐘頻率。
系統(tǒng)配置方法:
要注意master和slave的配置方式是不一樣的,slave的配置:
i2sip_w_slave_i2sip(reg_base,HAL_I2S_SLAVE); //配置salve模式
WRITE_REG(0x0,I2S_BASE,0x68); //關(guān)閉其他通道。
WRITE_REG(0x0,I2S_BASE,0xa8);
WRITE_REG(0x0,I2S_BASE,0xe8);
定位思路:
A 首先要調(diào)試master模式,這種簡單,一般通過示波器查看是否有時(shí)鐘或者數(shù)據(jù)發(fā)出。要看波形,最好在
發(fā)送中寫入:0x55 (特殊方法,高低高低)
B 其次,調(diào)試slave模式的情況下,首先查看是否有軟件接收中斷,如果有,說明配置正確,如果沒有
要查看寄存器配置,確定slave模式是否打開成功。
C 要確定slave模式接收到的數(shù)據(jù)是否正確,master發(fā)送正玄波,固定數(shù)等進(jìn)行測試。
D 一定要確定外邊的使用的硬件環(huán)境是否OK,具體有幾種情況需要確定,線纜,能否發(fā)送,能否接收,
今天就遇到一個(gè)i2s的線纜接觸不良的問題,真是坑人啊。
總結(jié)
以上是生活随笔為你收集整理的python 开发板 i2s_嵌入式小系统I2S接口调试总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ini文件怎么使用_ftp文件下载工具,
- 下一篇: python在企业有哪些应用_pytho