本發(fā)明涉及數(shù)字音頻領(lǐng)域,具體涉及主控端、設(shè)備端、傳輸多聲道音頻數(shù)據(jù)的方法和系統(tǒng)。
背景技術(shù):
在當(dāng)今的SOC系統(tǒng)中,數(shù)字音頻的傳輸必不可少。目前使用最為廣泛的數(shù)字音頻傳輸標(biāo)準(zhǔn)是由飛利浦公司專為數(shù)字音頻設(shè)備制定的I2S(I2S,又稱I2S,Inter-IC Sound,集成電路內(nèi)置音頻總線)串行總線接口,其由位時鐘BCLK、幀時鐘LRCK、串行數(shù)據(jù)輸入SDIN、串行數(shù)據(jù)輸出SDO定義了數(shù)字音頻的數(shù)據(jù)傳輸格式。該接口實現(xiàn)了立體聲(左/右聲道)傳輸?shù)囊?guī)范,能傳輸雙聲道的數(shù)據(jù)。隨著時代的發(fā)展,音頻數(shù)據(jù)的傳輸速率逐漸提高,需要傳輸?shù)臄?shù)據(jù)源個數(shù)逐漸變多,常見的音頻應(yīng)用例如7.1聲道技術(shù),需要傳輸8聲道DAC解碼數(shù)據(jù);例如多麥克風(fēng)矩陣技術(shù),需要傳輸4-16聲道的ADC采樣數(shù)據(jù),而這些數(shù)據(jù)一般來自2個以上的獨立IC。為了解決這個多聲道數(shù)據(jù)傳輸問題,當(dāng)前的主流做法是采用TDM(Time Division multiplexing,時分復(fù)用)技術(shù),在幀時鐘LRCK的高低電平內(nèi)分時傳輸多聲道數(shù)據(jù),但這要求通信的雙方都實現(xiàn)硬件TDM設(shè)計。而現(xiàn)有的硬件方案中,往往存在這樣的問題,要么是數(shù)據(jù)通信雙方中的某一方只能支持標(biāo)準(zhǔn)I2S/PCM接口,要么是TDM接口設(shè)計的最大聲道不能滿足應(yīng)用要求,這對硬件設(shè)計帶來了難度與成本的問題。
技術(shù)實現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題在于,針對現(xiàn)有技術(shù)的上述缺陷,提供主控端、設(shè)備端、傳輸多聲道音頻數(shù)據(jù)的方法和系統(tǒng),實現(xiàn)多聲道數(shù)據(jù)傳輸?shù)亩嗦暤酪纛l總線傳輸協(xié)議,克服I2S接口在多聲道數(shù)據(jù)傳輸應(yīng)用中設(shè)計難度高以及硬件成本高的缺陷。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:
一方面,本發(fā)明提供了一種主控端,所述主控端與設(shè)備端通過總線連接,所述主控端包括時鐘調(diào)整模塊、時鐘輸出模塊和數(shù)據(jù)接收模塊。
所述時鐘調(diào)整模塊用于根據(jù)所述設(shè)備端的聲道數(shù)改變幀時鐘頻率和位時鐘頻率;
所述時鐘輸出模塊用于向所述設(shè)備端輸出所述改變后的幀時鐘和位時鐘;及
所述數(shù)據(jù)接收模塊用于接收所述設(shè)備端基于所述總線的時序關(guān)系以所述改變后的幀時鐘和位時鐘傳輸?shù)亩嗦暤酪纛l數(shù)據(jù)。
進一步,所述改變后的幀時鐘和位時鐘滿足如下公式:bclk=fs×N×Nbit×n,其中,lrck是幀時鐘頻率,bclk是位時鐘頻率,fs是采樣頻率,Nbit是采樣位數(shù),n是正整數(shù),當(dāng)聲道數(shù)為偶數(shù)時,N等于聲道數(shù),當(dāng)聲道數(shù)為奇數(shù)時,N等于聲道數(shù)加1。
作為本發(fā)明的改進,所述總線的時序關(guān)系為:傳輸多聲道音頻數(shù)據(jù)時,在所述幀時鐘發(fā)生沿變化后的第2個位時鐘開始,按照所述位時鐘傳輸單個聲道的數(shù)據(jù)位,一個幀時鐘周期內(nèi)傳輸兩個聲道的音頻數(shù)據(jù)。
作為本發(fā)明的改進,所述數(shù)據(jù)接收模塊接收的多聲道音頻數(shù)據(jù)是所述設(shè)備端傳輸?shù)脑黾恿司幋a位的多聲道音頻數(shù)據(jù)。
進一步,所述主控端還包括解碼模塊,所述解碼模塊用于對所述編碼位進行解碼后獲得聲道序號,以區(qū)分接收到的數(shù)據(jù)的聲道。
作為本發(fā)明的改進,所述主控端根據(jù)所述設(shè)備端的每個聲道在接入總線后向所述主控端發(fā)送的聲道請求的個數(shù)獲得所述聲道數(shù)。
另一方面,本發(fā)明還提供了一種設(shè)備端,所述設(shè)備端與主控端通過總線連接,所述設(shè)備端包括時鐘接收模塊和數(shù)據(jù)傳輸模塊。
所述時鐘接收模塊用于接收所述主控端根據(jù)所述設(shè)備端的聲道數(shù)改變幀時鐘頻率和位時鐘頻率后輸出的改變后的幀時鐘和位時鐘;及
所述數(shù)據(jù)傳輸模塊用于基于所述總線的時序關(guān)系以所述改變后的幀時鐘和位時鐘傳輸多聲道音頻數(shù)據(jù)。
進一步,所述改變后的幀時鐘和位時鐘滿足如下公式:bclk=fs×N×Nbit×n,其中,lrck是幀時鐘頻率,bclk是位時鐘頻率,fs是采樣頻率,Nbit是采樣位數(shù),n是正整數(shù),當(dāng)聲道數(shù)為偶數(shù)時,N等于聲道數(shù),當(dāng)聲道數(shù)為奇數(shù)時,N等于聲道數(shù)加1。
作為本發(fā)明的改進,所述總線的時序關(guān)系為:傳輸多聲道音頻數(shù)據(jù)時,在所述幀時鐘發(fā)生沿變化后的第2個位時鐘開始,按照所述位時鐘傳輸單個聲道的數(shù)據(jù)位,一個幀時鐘周期內(nèi)傳輸兩個聲道的音頻數(shù)據(jù)。
作為本發(fā)明的改進,所述設(shè)備端還包括編碼位增加模塊,所述編碼位增加模塊用于在待傳輸?shù)亩嗦暤酪纛l數(shù)據(jù)中增加編碼位,以區(qū)分數(shù)據(jù)的聲道。
進一步,所述編碼位增加模塊在待傳輸?shù)亩嗦暤酪纛l數(shù)據(jù)中增加編碼位時,將所述數(shù)據(jù)的有效數(shù)據(jù)位的低位替換成所述編碼位,或在所述數(shù)據(jù)的有效數(shù)據(jù)位之外增加所述編碼位。
作為本發(fā)明的改進,所述編碼位增加模塊根據(jù)聲道序號為各個聲道預(yù)先設(shè)定所述編碼位。
另一方面,本發(fā)明還提供了一種主控端傳輸多聲道音頻數(shù)據(jù)的方法,所述主控端與設(shè)備端通過總線連接,所述方法包括步驟:
根據(jù)所述設(shè)備端的聲道數(shù)改變幀時鐘頻率和位時鐘頻率;
向所述設(shè)備端輸出所述改變后的幀時鐘和位時鐘;及
接收所述設(shè)備端基于所述總線的時序關(guān)系以所述改變后的幀時鐘和位時鐘傳輸多聲道音頻數(shù)據(jù)。
進一步,所述改變后的幀時鐘和位時鐘滿足如下公式:bclk=fs×N×Nbit×n,其中,lrck是幀時鐘頻率,bclk是位時鐘頻率,fs是采樣頻率,Nbit是采樣位數(shù),n是正整數(shù),當(dāng)聲道數(shù)為偶數(shù)時,N等于聲道數(shù),當(dāng)聲道數(shù)為奇數(shù)時,N等于聲道數(shù)加1。
另一方面,本發(fā)明還提供了一種設(shè)備端傳輸多聲道音頻數(shù)據(jù)的方法,所述設(shè)備端與主控端通過總線連接,所述方法包括步驟:
接收所述主控端根據(jù)所述設(shè)備端的聲道數(shù)改變幀時鐘頻率和位時鐘頻率后輸出的改變后的幀時鐘和位時鐘;及
基于所述總線的時序關(guān)系以所述改變后的幀時鐘和位時鐘傳輸多聲道音頻數(shù)據(jù)。
進一步,所述改變后的幀時鐘和位時鐘滿足如下公式:bclk=fs×N×Nbit×n,其中,lrck是幀時鐘頻率,bclk是位時鐘頻率,fs是采樣頻率,Nbit是采樣位數(shù),n是正整數(shù),當(dāng)聲道數(shù)為偶數(shù)時,N等于聲道數(shù),當(dāng)聲道數(shù)為奇數(shù)時,N等于聲道數(shù)加1。
另一方面,本發(fā)明還提供了一種主控端,所述主控端與設(shè)備端通過總線連接,所述主控端包括時鐘調(diào)整模塊、時鐘輸出模塊和數(shù)據(jù)傳輸模塊。
所述時鐘調(diào)整模塊用于根據(jù)所述設(shè)備端的聲道數(shù)改變幀時鐘頻率和位時鐘頻率;
所述時鐘輸出模塊用于向所述設(shè)備端輸出所述改變后的幀時鐘和位時鐘;及
所述數(shù)據(jù)傳輸模塊用于基于所述總線的時序關(guān)系以所述改變后的幀時鐘和位時鐘傳輸多聲道音頻數(shù)據(jù)。
進一步,所述改變后的幀時鐘和位時鐘滿足如下公式:bclk=fs×N×Nbit×n,其中,lrck是幀時鐘頻率,bclk是位時鐘頻率,fs是采樣頻率,Nbit是采樣位數(shù),n是正整數(shù),當(dāng)聲道數(shù)為偶數(shù)時,N等于聲道數(shù),當(dāng)聲道數(shù)為奇數(shù)時,N等于聲道數(shù)加1。
作為本發(fā)明的改進,所述總線的時序關(guān)系為:傳輸多聲道音頻數(shù)據(jù)時,在所述幀時鐘發(fā)生沿變化后的第2個位時鐘開始,按照所述位時鐘傳輸單個聲道的數(shù)據(jù)位,一個幀時鐘周期內(nèi)傳輸兩個聲道的音頻數(shù)據(jù)。
作為本發(fā)明的改進,所述主控端還包括編碼位增加模塊,所述編碼位增加模塊用于在待傳輸?shù)亩嗦暤酪纛l數(shù)據(jù)中增加編碼位,以區(qū)分數(shù)據(jù)的聲道。
進一步,所述編碼位增加模塊在待傳輸?shù)亩嗦暤酪纛l數(shù)據(jù)中增加編碼位時,將所述數(shù)據(jù)的有效數(shù)據(jù)位的低位替換成所述編碼位,或在所述數(shù)據(jù)的有效數(shù)據(jù)位之外增加所述編碼位。
作為本發(fā)明的改進,所述編碼位增加模塊根據(jù)聲道序號為各個聲道預(yù)先設(shè)定所述編碼位。
作為本發(fā)明的改進,所述主控端根據(jù)所述設(shè)備端的每個聲道在接入總線后向所述主控端發(fā)送的聲道請求的個數(shù)獲得所述聲道數(shù)。
另一方面,本發(fā)明還提供了一種設(shè)備端,所述設(shè)備端與主控端通過總線連接,所述設(shè)備端包括時鐘接收模塊和數(shù)據(jù)接收模塊。
所述時鐘接收模塊用于接收所述主控端根據(jù)所述設(shè)備端的聲道數(shù)改變幀時鐘頻率和位時鐘頻率后輸出的改變后的幀時鐘和位時鐘;及
所述數(shù)據(jù)接收模塊用于接收所述主控端基于所述總線的時序關(guān)系以所述改變后的幀時鐘和位時鐘傳輸?shù)亩嗦暤酪纛l數(shù)據(jù)。
進一步,所述改變后的幀時鐘和位時鐘滿足如下公式:bclk=fs×N×Nbit×n,其中,lrck是幀時鐘頻率,bclk是位時鐘頻率,fs是采樣頻率,Nbit是采樣位數(shù),n是正整數(shù),當(dāng)聲道數(shù)為偶數(shù)時,N等于聲道數(shù),當(dāng)聲道數(shù)為奇數(shù)時,N等于聲道數(shù)加1。
作為本發(fā)明的改進,所述總線的時序關(guān)系為:傳輸多聲道音頻數(shù)據(jù)時,在所述幀時鐘發(fā)生沿變化后的第2個位時鐘開始,按照所述位時鐘傳輸單個聲道的數(shù)據(jù)位,一個幀時鐘周期內(nèi)傳輸兩個聲道的音頻數(shù)據(jù)。
作為本發(fā)明的改進,所述數(shù)據(jù)接收模塊接收的多聲道音頻數(shù)據(jù)是所述主控端傳輸?shù)脑黾恿司幋a位的多聲道音頻數(shù)據(jù)。
進一步,所述設(shè)備端還包括解碼模塊,所述解碼模塊用于對所述編碼位進行解碼后獲得聲道序號,以區(qū)分接收到的數(shù)據(jù)的聲道。
另一方面,本發(fā)明還提供了一種主控端傳輸多聲道音頻數(shù)據(jù)的方法,所述主控端與設(shè)備端通過總線連接,所述方法包括步驟:
根據(jù)所述設(shè)備端的聲道數(shù)改變幀時鐘頻率和位時鐘頻率;
向所述設(shè)備端輸出所述改變后的幀時鐘和位時鐘;及
基于所述總線的時序關(guān)系以所述改變后的幀時鐘和位時鐘傳輸多聲道音頻數(shù)據(jù)。
進一步,所述改變后的幀時鐘和位時鐘滿足如下公式:bclk=fs×N×Nbit×n,其中,lrck是幀時鐘頻率,bclk是位時鐘頻率,fs是采樣頻率,Nbit是采樣位數(shù),n是正整數(shù),當(dāng)聲道數(shù)為偶數(shù)時,N等于聲道數(shù),當(dāng)聲道數(shù)為奇數(shù)時,N等于聲道數(shù)加1。
另一方面,本發(fā)明還提供了一種設(shè)備端傳輸多聲道音頻數(shù)據(jù)的方法,所述設(shè)備端與主控端通過總線連接,所述方法包括步驟:
接收所述主控端根據(jù)所述設(shè)備端的聲道數(shù)改變幀時鐘頻率和位時鐘頻率后輸出的改變后的幀時鐘和位時鐘;及
接收所述主控端基于所述總線的時序關(guān)系以所述改變后的幀時鐘和位時鐘傳輸?shù)亩嗦暤酪纛l數(shù)據(jù)。
進一步,所述改變后的幀時鐘和位時鐘滿足如下公式:bclk=fs×N×Nbit×n,其中,lrck是幀時鐘頻率,bclk是位時鐘頻率,fs是采樣頻率,Nbit是采樣位數(shù),n是正整數(shù),當(dāng)聲道數(shù)為偶數(shù)時,N等于聲道數(shù),當(dāng)聲道數(shù)為奇數(shù)時,N等于聲道數(shù)加1。
另一方面,本發(fā)明還提用了一種傳輸多聲道音頻數(shù)據(jù)的系統(tǒng),所述系統(tǒng)包括主控端和設(shè)備端,所述設(shè)備端與主控端通過總線連接。
所述主控端包括時鐘調(diào)整模塊、時鐘輸出模塊和數(shù)據(jù)接收模塊。
所述時鐘調(diào)整模塊用于根據(jù)所述設(shè)備端的聲道數(shù)改變幀時鐘頻率和位時鐘頻率;
所述時鐘輸出模塊用于向所述設(shè)備端輸出所述改變后的幀時鐘和位時鐘;
所述數(shù)據(jù)接收模塊用于接收所述設(shè)備端基于所述總線的時序關(guān)系以所述改變后的幀時鐘和位時鐘傳輸?shù)亩嗦暤酪纛l數(shù)據(jù);
所述設(shè)備端包括時鐘接收模塊和數(shù)據(jù)傳輸模塊。
所述時鐘接收模塊用于接收所述主控端根據(jù)所述設(shè)備端的聲道數(shù)改變幀時鐘頻率和位時鐘頻率后輸出的改變后的幀時鐘和位時鐘;及
所述數(shù)據(jù)傳輸模塊用于基于所述總線的時序關(guān)系以所述改變后的幀時鐘和位時鐘傳輸?shù)亩嗦暤酪纛l數(shù)據(jù)。
進一步,所述改變后的幀時鐘和位時鐘滿足如下公式:bclk=fs×N×Nbit×n,其中,lrck是幀時鐘頻率,bclk是位時鐘頻率,fs是采樣頻率,Nbit是采樣位數(shù),n是正整數(shù),當(dāng)聲道數(shù)為偶數(shù)時,N等于聲道數(shù),當(dāng)聲道數(shù)為奇數(shù)時,N等于聲道數(shù)加1。
另一方面,本發(fā)明還提供了一種傳輸多聲道音頻數(shù)據(jù)的系統(tǒng),所述系統(tǒng)包括主控端和設(shè)備端,所述設(shè)備端與主控端通過總線連接。
所述主控端包括時鐘調(diào)整模塊、時鐘輸出模塊和數(shù)據(jù)傳輸模塊。
所述時鐘調(diào)整模塊用于根據(jù)所述設(shè)備端的聲道數(shù)改變幀時鐘頻率和位時鐘頻率;
所述時鐘輸出模塊用于向所述設(shè)備端輸出所述改變后的幀時鐘和位時鐘;及
所述數(shù)據(jù)傳輸模塊用于基于所述總線的時序關(guān)系以所述改變后的幀時鐘和位時鐘傳輸多聲道音頻數(shù)據(jù)。
所述設(shè)備端包括時鐘接收模塊和數(shù)據(jù)接收模塊。
所述時鐘接收模塊用于接收所述主控端根據(jù)所述設(shè)備端的聲道數(shù)改變幀時鐘頻率和位時鐘頻率后輸出的改變后的幀時鐘和位時鐘;及
所述數(shù)據(jù)接收模塊用于接收所述主控端基于所述總線的時序關(guān)系以所述改變后的幀時鐘和位時鐘傳輸?shù)亩嗦暤酪纛l數(shù)據(jù)。
進一步,所述改變后的幀時鐘和位時鐘滿足如下公式:bclk=fs×N×Nbit×n,其中,lrck是幀時鐘頻率,bclk是位時鐘頻率,fs是采樣頻率,Nbit是采樣位數(shù),n是正整數(shù),當(dāng)聲道數(shù)為偶數(shù)時,N等于聲道數(shù),當(dāng)聲道數(shù)為奇數(shù)時,N等于聲道數(shù)加1。
本發(fā)明提供的主控端、設(shè)備端、傳輸多聲道音頻數(shù)據(jù)的方法和系統(tǒng),所述主控端根據(jù)所述設(shè)備端的聲道數(shù)提高幀時鐘和位時鐘頻率,實現(xiàn)了多聲道音頻總線接口傳輸協(xié)議在I2S總線上的映射,在采樣數(shù)據(jù)時,所述主控端通過數(shù)據(jù)的編碼位對聲道進行區(qū)分,使得所述主控端能夠判斷出丟失數(shù)據(jù)的聲道。在播放數(shù)據(jù)時,所述設(shè)備端通過數(shù)據(jù)的編碼位對聲道進行區(qū)分,使得所述設(shè)備端能夠判斷出丟失數(shù)據(jù)的聲道。本發(fā)明達到了無需為主控端增加接口轉(zhuǎn)換芯片即可實現(xiàn)多聲道音頻數(shù)據(jù)傳輸?shù)哪康?,克服了I2S接口在多聲道數(shù)據(jù)傳輸應(yīng)用中設(shè)計難度高以及硬件成本高的缺陷。
附圖說明
下面將結(jié)合附圖及實施例對本發(fā)明作進一步說明,附圖中:
圖1是I2S總線在標(biāo)準(zhǔn)格式下的時序圖;
圖2是一實施方式的進行數(shù)據(jù)采樣時設(shè)備端與主控端的連接示意圖;
圖3是一實施方式的進行數(shù)據(jù)播放時主控端與設(shè)備端的連接示意圖;
圖4是本發(fā)明一實施方式的主控端的功能模塊圖;
圖5是本發(fā)明一實施方式的設(shè)備端的功能模塊圖;
圖6是本發(fā)明一實施方式的多聲道音頻總線接口傳輸協(xié)議在標(biāo)準(zhǔn)格式下的時序圖;
圖7是本發(fā)明一實施方式的主控端傳輸多聲道音頻數(shù)據(jù)的方法流程圖;
圖8是本發(fā)明一實施方式的設(shè)備端傳輸多聲道音頻數(shù)據(jù)的方法流程圖;
圖9是本發(fā)明一實施方式的主控端的功能模塊圖;
圖10是本發(fā)明一實施方式的設(shè)備端的功能模塊圖;
圖11是本發(fā)明一實施方式的主控端傳輸多聲道音頻數(shù)據(jù)的方法流程圖;
圖12是本發(fā)明一實施方式的設(shè)備端傳輸多聲道音頻數(shù)據(jù)的方法流程圖;
圖13是本發(fā)明一實施方式的傳輸多聲道音頻數(shù)據(jù)的系統(tǒng)的功能模塊圖;
圖14是本發(fā)明一實施方式的傳輸多聲道音頻數(shù)據(jù)的系統(tǒng)的功能模塊圖。
具體實施方式
現(xiàn)結(jié)合附圖,對本發(fā)明的較佳實施例作詳細說明。
本發(fā)明所涉及的總線或I2S總線皆是指I2S總線,又稱I2S(Inter-IC Sound,集成電路內(nèi)置音頻總線),I2S總線通常用于傳輸雙聲道音頻數(shù)據(jù)。圖1示出了I2S總線在標(biāo)準(zhǔn)格式下的時序圖。如圖1所示,I2S總線傳輸?shù)男盘枮椋簬瑫r鐘LRCK、位時鐘BCLK和串行數(shù)據(jù)SDIN/SDOUT。幀時鐘頻率和位時鐘頻率滿足如下公式:lrck=fs,bclk=fs×2×Nbit,其中,lrck是幀時鐘頻率,bclk是位時鐘頻率,fs是采樣頻率,Nbit是采樣位數(shù)。標(biāo)準(zhǔn)格式下,I2S總線的時序關(guān)系為:傳輸串行數(shù)據(jù)SDIN/SDOUT時,發(fā)送數(shù)據(jù)的一端在幀時鐘LRCK發(fā)生沿變化后的第2個位時鐘BCLK開始按照位時鐘BCLK傳輸數(shù)據(jù)位,一個幀時鐘周期LRCK_DT內(nèi)傳輸兩個聲道的音頻數(shù)據(jù)。
在一個幀時鐘周期LRCK_DT內(nèi),在幀時鐘LRCK低電平期間傳輸左聲道Left channel,在高電平期間傳輸右聲道Right channel。半個幀時鐘周期所傳輸數(shù)據(jù)的長度為WORD SIZE,可配置的有效數(shù)據(jù)位SR的MSB為有效數(shù)據(jù)的第一位,LSB為有效數(shù)據(jù)的最低位。左右聲道各自傳輸?shù)臄?shù)據(jù)長度為WORD SIZE的音頻數(shù)據(jù)構(gòu)成一幀數(shù)據(jù)。
傳輸數(shù)據(jù)的過程包括發(fā)送和接收,下面對一實施方式的數(shù)據(jù)采集時傳輸數(shù)據(jù)的過程和一實施方式的數(shù)據(jù)播放時傳輸數(shù)據(jù)的過程進行描述。
圖2示出了一實施方式的進行數(shù)據(jù)采樣時設(shè)備端與主控端的連接示意圖。如圖2所示,在數(shù)字音頻傳輸鏈路中,主控端92和設(shè)備端94通過I2S總線連接,主控端92通常包括處理模塊109、同步模塊108和I2S接口107,設(shè)備端94通常包括多路AD模塊104、設(shè)備端同步模塊105和設(shè)備端I2S接口106。I2S接口107與設(shè)備端I2S接口106通過I2S總線進行傳輸數(shù)據(jù)。
在數(shù)據(jù)采樣的過程中,設(shè)備端94的多路AD模塊104以一定的采樣頻率對多個麥克風(fēng)音頻進行數(shù)據(jù)采樣后,將采樣的數(shù)據(jù)通過I2S總線傳輸?shù)街骺囟?2,此時設(shè)備94是發(fā)送數(shù)據(jù)端,主控端92是接收數(shù)據(jù)端。在本實施方式中,采樣頻率通常為8K至48K之間的某個數(shù)值。采樣后的并行數(shù)據(jù)經(jīng)過設(shè)備端同步模塊105的并串轉(zhuǎn)換后,將多聲道音頻數(shù)據(jù)通過設(shè)備端I2S接口106按照傳輸協(xié)議傳輸?shù)絀2S接口107,再經(jīng)同步模塊108進行串并轉(zhuǎn)換后,送至處理模塊109。
圖3示出了一實施方式的進行數(shù)據(jù)播放時主控端與設(shè)備端的連接示意圖。如圖6所示,在數(shù)字音頻傳輸鏈路中,主控端95和設(shè)備端97通過I2S總線連接,主控端95通常包括處理模塊909、同步模塊908和I2S接口907,設(shè)備端97通常包括設(shè)備端處理模塊903、多路AD模塊904、設(shè)備端同步模塊905和設(shè)備端I2S接口906。I2S接口907與設(shè)備端I2S接口906通過I2S總線進行傳輸數(shù)據(jù)。
本發(fā)明一實施方式提供了播放數(shù)據(jù)的過程,主控端95的處理模塊909獲得數(shù)據(jù)后,通過I2S總線傳輸?shù)皆O(shè)備端97進行播放,此時主控端95是發(fā)送數(shù)據(jù)端,設(shè)備端97是接收數(shù)據(jù)端。主控端95通過處理模塊909以一定的采樣頻率進行播放數(shù)據(jù),在本實施方式中,采樣頻率通常為8K至48K之間的某個數(shù)值。采樣后的并行數(shù)據(jù)經(jīng)過同步模塊908的并串轉(zhuǎn)換后,將多聲道音頻數(shù)據(jù)通過I2S接口907傳輸?shù)皆O(shè)備端I2S接口906,再經(jīng)設(shè)備端同步模塊905進行串并轉(zhuǎn)換后,經(jīng)多路AD模塊904送至相應(yīng)的播放器。本發(fā)明所提到的多聲道音頻數(shù)據(jù)是指聲道數(shù)超過1的音頻數(shù)據(jù),例如7.1聲道技術(shù)中的8聲道。
實施例1
圖4示出了本發(fā)明一實施方式的主控端的功能模塊圖,在本實施方式中,主控端30和設(shè)備端通過I2S總線連接,設(shè)備端進行數(shù)據(jù)采樣,設(shè)備端上設(shè)有多個麥克風(fēng),每個麥克風(fēng)對應(yīng)一個聲道。主控端30包括時鐘調(diào)整模塊301、時鐘輸出模塊303和數(shù)據(jù)接收模塊305。
時鐘調(diào)整模塊301根據(jù)設(shè)備端的聲道數(shù)改變幀時鐘頻率和位時鐘頻率。在本實施方式中,改變后的幀時鐘和位時鐘滿足如下公式:bclk=fs×N×Nbit×n,其中,lrck是幀時鐘頻率,bclk是位時鐘頻率,fs是采樣頻率,Nbit是采樣位數(shù),n是正整數(shù),當(dāng)聲道數(shù)為偶數(shù)時,N等于聲道數(shù),當(dāng)聲道數(shù)為奇數(shù)時,N等于聲道數(shù)加1。在本實施方式中,n等于1。主控端30可通過通信的方法獲得設(shè)備端的聲道數(shù),在本實施方式中,主控端30根據(jù)設(shè)備端的每個聲道在接入I2S總線后向主控端30發(fā)送的聲道請求的個數(shù)獲得設(shè)備端的聲道數(shù)。在本實施方式中,聲道數(shù)為16,由上述公式可知,時鐘調(diào)整模塊301將幀時鐘頻率提高為原來的8倍,位時鐘頻率提高為原來的8倍。在其他實施方式中,可根據(jù)具體情況設(shè)置不同的公式,例如,在實際應(yīng)用中,如果在主控端中加入其他對采樣頻率值產(chǎn)生影響的模塊,則應(yīng)在上述公式中加入該影響因子,又例如,如果需在與主控端連接的聲道中預(yù)留一個不用于傳輸數(shù)據(jù)的聲道,則應(yīng)根據(jù)實際情況對上述公式的聲道數(shù)減1。
時鐘輸出模塊303用于向設(shè)備端輸出所述改變后的幀時鐘和位時鐘。在改變幀時鐘頻率和位時鐘頻率后,時鐘輸出模塊303向設(shè)備端輸出幀時鐘MLRCK和位時鐘MBCLK,即,幀時鐘MLRCK和位時鐘MBCLK在I2S總線上傳輸。
數(shù)據(jù)接收模塊305用于接收設(shè)備端基于總線的時序關(guān)系以改變后的幀時鐘和位時鐘傳輸?shù)亩嗦暤酪纛l數(shù)據(jù)。I2S總線的時序關(guān)系可遵循標(biāo)準(zhǔn)格式、左對齊格式、右對齊格式或PCM格式。不同格式下,總線的時序關(guān)系不同。在本實施方式中,I2S總線的時序關(guān)系遵循標(biāo)準(zhǔn)格式時,總線的時序關(guān)系為:在幀時鐘MLRCK發(fā)生沿變化后的第2個位時鐘MBCLK開始傳輸串行數(shù)據(jù)MSDIN/MSDOUT時,按照位時鐘MBCLK傳輸單個聲道的數(shù)據(jù)位,一個幀時鐘周期內(nèi)傳輸兩個聲道的音頻數(shù)據(jù)。在其他實施方式中,若I2S總線的時序關(guān)系遵循左對齊格式,則對應(yīng)的總線的時序關(guān)系與標(biāo)準(zhǔn)格式的不同之處在于:在幀時鐘MLRCK發(fā)生沿變化后的第1個位時鐘MBCLK開始傳輸串行數(shù)據(jù)MSDIN/MSDOUT。在本實施方式中,第一個幀時鐘周期傳輸聲道1、聲道2的音頻數(shù)據(jù),第二個幀時鐘周期傳輸聲道3、聲道4的音頻數(shù)據(jù),以此類推。在本實施方式中,數(shù)據(jù)接收模塊305接收設(shè)備端按照I2S總線的時序關(guān)系傳輸?shù)臄?shù)據(jù)中包括編碼位。若數(shù)據(jù)接收模塊305接收的數(shù)據(jù)中丟失了一部分數(shù)據(jù),則可在接下來的步驟中通過編碼位判斷出丟失數(shù)據(jù)的聲道。
在本實施方式中,主控端30還包括解碼模塊307,解碼模塊307用于對編碼位進行解碼后獲得聲道序號,以區(qū)分接收到的數(shù)據(jù)的聲道。在本實施方式中,聲道序號為1至16,設(shè)備端可通過通信的方法獲取聲道序號。若編碼位是以二進制原碼、補碼或反碼的方式進行編碼,則解碼模塊307以二進制原碼、補碼或反碼的方式對編碼位進行解碼,在本實施方式中,解碼模塊307以二進制原碼的方式進行解碼時,編碼位為0000將被解碼為0,表示聲道序號為1;編碼位為0001將被解碼為1,表示聲道序號為2;編碼位為1111將被解碼為15,表示聲道序號為16。多聲道音頻數(shù)據(jù)在傳輸過程中丟失了聲道1的數(shù)據(jù),則通過對接收到的數(shù)據(jù)的編碼位進行解碼得到聲道序號為2,從而知道聲道1的數(shù)據(jù)已丟失。需要說明的是,解碼模塊307還可通過其他解碼方式進行解碼,其應(yīng)與編碼位的編碼方式對應(yīng)。
主控端根據(jù)設(shè)備端的聲道數(shù)提高幀時鐘和位時鐘頻率,實現(xiàn)了多聲道音頻總線接口傳輸協(xié)議在I2S總線上的映射,在采樣數(shù)據(jù)時,主控端通過數(shù)據(jù)的編碼位對聲道進行區(qū)分,使得主控端能夠判斷出丟失數(shù)據(jù)的聲道。
本實施例只需在原有硬件中通過編程來實現(xiàn)主控端的上述功能模塊,從而保證無需為主控端增加接口轉(zhuǎn)換芯片即可實現(xiàn)多聲道音頻數(shù)據(jù)的傳輸,克服了I2S接口在多聲道數(shù)據(jù)傳輸應(yīng)用中設(shè)計難度高以及硬件成本高的缺陷。
實施例2
圖5示出了本發(fā)明一實施方式的設(shè)備端的功能模塊圖,在本實施方式中,設(shè)備端40和主控端通過I2S總線連接,設(shè)備端進行數(shù)據(jù)采樣,設(shè)備端上設(shè)有多個麥克風(fēng),每個麥克風(fēng)對應(yīng)一個聲道。設(shè)備端40包括時鐘接收模塊401、數(shù)據(jù)傳輸模塊403。
時鐘接收模塊401用于接收主控端根據(jù)設(shè)備端40的聲道數(shù)改變幀時鐘頻率和位時鐘頻率后輸出的改變后的幀時鐘和位時鐘。在本實施方式中,改變后的幀時鐘和位時鐘滿足如下公式:bclk=fs×N×Nbit×n,其中,lrck是幀時鐘頻率,bclk是位時鐘頻率,fs是采樣頻率,Nbit是采樣位數(shù),n是正整數(shù),當(dāng)聲道數(shù)為偶數(shù)時,N等于聲道數(shù),當(dāng)聲道數(shù)為奇數(shù)時,N等于聲道數(shù)加1。在本實施方式中,n等于1。主控端可通過通信的方法獲得設(shè)備端40的聲道數(shù)。在本實施方式中,聲道數(shù)為16。由上述公式可知,主控端將幀時鐘頻率提高為原來的8倍,位時鐘頻率提高為原來的8倍。在其他實施方式中,可根據(jù)具體情況設(shè)置不同的公式,例如,在實際應(yīng)用中,如果在主控端中加入其他對采樣頻率值產(chǎn)生影響的模塊,則應(yīng)在上述公式中加入該影響因子,又例如,如果需在與主控端連接的聲道中預(yù)留一個不用于傳輸數(shù)據(jù)的聲道,則應(yīng)根據(jù)實際情況對上述公式的聲道數(shù)減1。
數(shù)據(jù)傳輸模塊403用于基于所述總線的時序關(guān)系以所述改變后的幀時鐘和位時鐘傳輸?shù)亩嗦暤酪纛l數(shù)據(jù)。。I2S總線的時序關(guān)系可遵循標(biāo)準(zhǔn)格式、左對齊格式、右對齊格式或PCM格式。不同格式下,總線的時序關(guān)系不同。在本實施方式中,I2S總線的時序關(guān)系遵循標(biāo)準(zhǔn)格式時,總線的時序關(guān)系為:在幀時鐘MLRCK發(fā)生沿變化后的第2個位時鐘MBCLK開始傳輸串行數(shù)據(jù)MSDIN/MSDOUT時,按照位時鐘MBCLK傳輸單個聲道的數(shù)據(jù)位,一個幀時鐘周期內(nèi)傳輸兩個聲道的音頻數(shù)據(jù)。在其他實施方式中,若I2S總線的時序關(guān)系遵循左對齊格式,則對應(yīng)的總線的時序關(guān)系與標(biāo)準(zhǔn)格式的不同之處在于:在幀時鐘MLRCK發(fā)生沿變化后的第1個位時鐘MBCLK開始傳輸串行數(shù)據(jù)MSDIN/MSDOUT。在本實施方式中,第一個幀時鐘周期傳輸聲道1、聲道2的音頻數(shù)據(jù),第二個幀時鐘周期傳輸聲道3、聲道4的音頻數(shù)據(jù),以此類推。設(shè)備端40以改變后的幀時鐘和位時鐘傳輸?shù)亩嗦暤酪纛l數(shù)據(jù),在不改變I2S總線的幀時鐘、位時鐘與數(shù)據(jù)信號的關(guān)系的前提下,實現(xiàn)了多聲道音頻接口傳輸協(xié)議的幀時鐘和位時鐘在原有I2S總線上的映射。
在本實施方式中,設(shè)備端40還包括編碼位增加模塊405,編碼位增加模塊405用于在待傳輸?shù)亩嗦暤酪纛l數(shù)據(jù)中增加編碼位,以區(qū)分數(shù)據(jù)的聲道。編碼位增加模塊405在待傳輸?shù)亩嗦暤酪纛l數(shù)據(jù)中增加編碼位時,將數(shù)據(jù)的有效數(shù)據(jù)位的低位替換成編碼位,或在數(shù)據(jù)的有效數(shù)據(jù)位之外增加編碼位。在本實施方式中,編碼位增加模塊405將數(shù)據(jù)的有效數(shù)據(jù)位的低位替換成編碼位,編碼位增加模塊405根據(jù)聲道序號為各個聲道預(yù)先設(shè)定編碼位。編碼位增加模塊405可以以二進制原碼、補碼或反碼的方式表示所述編碼位。在本實施方式中,設(shè)備端40根據(jù)聲道序號為各個聲道預(yù)先設(shè)定編碼位,設(shè)定編碼位時,以二進制原碼的方式表示聲道序號。在本實施方式中,聲道序號為1至16,設(shè)備端40可在傳輸多聲道音頻數(shù)據(jù)前通過通信的方法獲取聲道序號,例如,設(shè)備端40可以通過如下通信方法獲取聲道序號:設(shè)備端40的每個聲道在接入I2S總線后向主控端發(fā)送一個聲道請求,主控端按照收到的聲道請求的個數(shù)記載其聲道序號并對設(shè)備端40進行反饋,接著等待其他聲道接入I2S總線,并作相同的處理,設(shè)備端40因此獲得各個聲道所對應(yīng)的聲道序號,主控端根據(jù)聲道請求的個數(shù)獲得設(shè)備端40的聲道數(shù)。
圖6示出了本發(fā)明一實施方式的多聲道音頻總線接口傳輸協(xié)議在標(biāo)準(zhǔn)格式下的時序圖,圖4和圖5所示的主控端30和設(shè)備端40在傳輸數(shù)據(jù)的過程中遵循該時序圖。在本實施方式中,聲道數(shù)為16。與I2S總線在標(biāo)準(zhǔn)格式下的時序圖相對應(yīng),在幀時鐘MLRCK發(fā)生沿變化后的第2個位時鐘MBCLK開始傳輸串行數(shù)據(jù)MSDIN/MSDOUT,按照位時鐘MBCLK傳輸單個聲道的數(shù)據(jù)位。幀時鐘周期LRCK_DT是幀時鐘周期LRCK_DIV的8倍。在一個幀時鐘周期LRCK_DIV內(nèi),幀時鐘MLRCK在低電平期間傳輸?shù)谝粋€聲道的音頻數(shù)據(jù),在高電平期間傳輸?shù)诙€聲道的音頻數(shù)據(jù),聲道寬度Slot Size為低電平期間或高電平期間最大可傳輸?shù)奈粩?shù)??膳渲玫挠行?shù)據(jù)位SR的MSB為有效數(shù)據(jù)的第一位,LSB為有效數(shù)據(jù)的倒數(shù)第5位。
主控端根據(jù)設(shè)備端的聲道數(shù)提高幀時鐘和位時鐘頻率,實現(xiàn)了多聲道音頻總線接口傳輸協(xié)議在I2S總線上的映射。
實施例3
圖7示出了本發(fā)明一實施方式的主控端傳輸多聲道音頻數(shù)據(jù)的方法流程圖,該方法由圖4所示的一實施方式的主控端30來運行,在本實施方式中,主控端30和設(shè)備端通過I2S總線連接,設(shè)備端進行數(shù)據(jù)采樣,設(shè)備端上設(shè)有多個麥克風(fēng),每個麥克風(fēng)對應(yīng)一個聲道。主控端30包括時鐘調(diào)整模塊301、時鐘輸出模塊303和數(shù)據(jù)接收模塊305。
在步驟S301中,主控端30改變幀時鐘頻率和位時鐘頻率。主控端30根據(jù)設(shè)備端的聲道數(shù)改變幀時鐘頻率和位時鐘頻率。在本實施方式中,改變后的幀時鐘和位時鐘滿足如下公式:bclk=fs×N×Nbit×n,其中,lrck是幀時鐘頻率,bclk是位時鐘頻率,fs是采樣頻率,Nbit是采樣位數(shù),n是正整數(shù),當(dāng)聲道數(shù)為偶數(shù)時,N等于聲道數(shù),當(dāng)聲道數(shù)為奇數(shù)時,N等于聲道數(shù)加1。在本實施方式中,n等于1。主控端30可通過通信的方法獲得設(shè)備端的聲道數(shù)。在本實施方式中,聲道數(shù)為16,由上述公式可知,主控端30將幀時鐘頻率提高為原來的8倍,位時鐘頻率提高為原來的8倍。在其他實施方式中,可根據(jù)具體情況設(shè)置不同的公式,例如,在實際應(yīng)用中,如果在主控端中加入其他對采樣頻率值產(chǎn)生影響的模塊,則應(yīng)在上述公式中加入該影響因子,又例如,如果需在與主控端連接的聲道中預(yù)留一個不用于傳輸數(shù)據(jù)的聲道,則應(yīng)根據(jù)實際情況對上述公式的聲道數(shù)減1。
在步驟S303中,主控端30輸出改變后的幀時鐘和位時鐘。在改變幀時鐘頻率和位時鐘頻率后,主控端30向設(shè)備端輸出幀時鐘MLRCK和位時鐘MBCLK,即,在I2S總線上傳輸幀時鐘MLRCK和位時鐘MBCLK。
在步驟S305中,主控端30接收多聲道音頻數(shù)據(jù)。主控端30接收設(shè)備端基于總線的時序關(guān)系以改變后的幀時鐘和位時鐘傳輸?shù)亩嗦暤酪纛l數(shù)據(jù)。I2S總線的時序關(guān)系可遵循標(biāo)準(zhǔn)格式、左對齊格式、右對齊格式或PCM格式。不同格式下,總線的時序關(guān)系不同。設(shè)備端以改變后的幀時鐘和位時鐘傳輸多聲道音頻數(shù)據(jù),使得在不改變I2S總線的幀時鐘、位時鐘與數(shù)據(jù)信號的關(guān)系的前提下,實現(xiàn)了多聲道音頻接口傳輸協(xié)議的幀時鐘和位時鐘在原有I2S總線上的映射。
主控端根據(jù)設(shè)備端的聲道數(shù)提高幀時鐘和位時鐘頻率,實現(xiàn)了多聲道音頻總線接口傳輸協(xié)議在I2S總線上的映射。
本實施例只需在原有硬件中通過編程來實現(xiàn)主控端傳輸多聲道音頻數(shù)據(jù)的方法,從而保證無需為主控端增加接口轉(zhuǎn)換芯片即可實現(xiàn)多聲道音頻數(shù)據(jù)的傳輸,克服了I2S接口在多聲道數(shù)據(jù)傳輸應(yīng)用中設(shè)計難度高以及硬件成本高的缺陷。
實施例4
圖8示出了本發(fā)明一實施方式的設(shè)備端傳輸多聲道音頻數(shù)據(jù)的方法流程圖,該方法由圖5所示的一實施方式的設(shè)備端40來運行,在本實施方式中,設(shè)備端40和主控端通過I2S總線連接,設(shè)備端進行數(shù)據(jù)采樣,設(shè)備端上設(shè)有多個麥克風(fēng),每個麥克風(fēng)對應(yīng)一個聲道。
在步驟S401中,設(shè)備端40接收改變后的幀時鐘和位時鐘。設(shè)備端40接收主控端根據(jù)設(shè)備端40的聲道數(shù)改變幀時鐘頻率和位時鐘頻率后輸出的改變后的幀時鐘和位時鐘。在本實施方式中,改變后的幀時鐘和位時鐘滿足如下公式:bclk=fs×N×Nbit×n,其中,lrck是幀時鐘頻率,bclk是位時鐘頻率,fs是采樣頻率,Nbit是采樣位數(shù),n是正整數(shù),當(dāng)聲道數(shù)為偶數(shù)時,N等于聲道數(shù),當(dāng)聲道數(shù)為奇數(shù)時,N等于聲道數(shù)加1。在本實施方式中,n等于1。主控端可通過通信的方法獲得設(shè)備端40的聲道數(shù)。在本實施方式中,聲道數(shù)為16。由上述公式可知,主控端將幀時鐘頻率提高為原來的8倍,位時鐘頻率提高為原來的8倍。在其他實施方式中,可根據(jù)具體情況設(shè)置不同的公式,例如,在實際應(yīng)用中,如果在主控端中加入其他對采樣頻率值產(chǎn)生影響的模塊,則應(yīng)在上述公式中加入該影響因子,又例如,如果需在與主控端連接的聲道中預(yù)留一個不用于傳輸數(shù)據(jù)的聲道,則應(yīng)根據(jù)實際情況對上述公式的聲道數(shù)減1。
在步驟S403中,設(shè)備端40傳輸多聲道音頻數(shù)據(jù)。設(shè)備端40基于所述總線的時序關(guān)系以所述改變后的幀時鐘和位時鐘傳輸?shù)亩嗦暤酪纛l數(shù)據(jù)。。I2S總線的時序關(guān)系可遵循標(biāo)準(zhǔn)格式、左對齊格式、右對齊格式或PCM格式。不同格式下,總線的時序關(guān)系不同。設(shè)備端40以所述改變后的幀時鐘和位時鐘傳輸多聲道音頻數(shù)據(jù),在不改變I2S總線的幀時鐘、位時鐘與數(shù)據(jù)信號的關(guān)系的前提下,實現(xiàn)了多聲道音頻接口傳輸協(xié)議的幀時鐘和位時鐘在原有I2S總線上的映射。
主控端根據(jù)設(shè)備端的聲道數(shù)提高幀時鐘和位時鐘頻率,實現(xiàn)了多聲道音頻總線接口傳輸協(xié)議在I2S總線上的映射,在采樣數(shù)據(jù)時,主控端通過數(shù)據(jù)的編碼位對聲道進行區(qū)分,使得主控端能夠判斷出丟失數(shù)據(jù)的聲道。
實施例5
圖9示出了本發(fā)明一實施方式的主控端的功能模塊圖,在本實施方式中,主控端60和設(shè)備端通過I2S總線連接,主控端60進行播放數(shù)據(jù),設(shè)備端上設(shè)有多個播放器,每個播放器對應(yīng)一個聲道。主控端60包括時鐘調(diào)整模塊601、時鐘輸出模塊603和數(shù)據(jù)傳輸模塊605。
時鐘調(diào)整模塊601用于根據(jù)所述設(shè)備端的聲道數(shù)改變幀時鐘頻率和位時鐘頻率。在本實施方式中,改變后的幀時鐘和位時鐘滿足如下公式:bclk=fs×N×Nbit×n,其中,lrck是幀時鐘頻率,bclk是位時鐘頻率,fs是采樣頻率,Nbit是采樣位數(shù),n是正整數(shù),當(dāng)聲道數(shù)為偶數(shù)時,N等于聲道數(shù),當(dāng)聲道數(shù)為奇數(shù)時,N等于聲道數(shù)加1。在本實施方式中,n等于1。主控端60可通過通信的方法獲得設(shè)備端的聲道數(shù),在本實施方式中,主控端60根據(jù)設(shè)備端的每個聲道在接入I2S總線后向主控端60發(fā)送的聲道請求的個數(shù)獲得設(shè)備端的聲道數(shù)。在本實施方式中,聲道數(shù)為16,由上述公式可知,時鐘調(diào)整模塊601將幀時鐘頻率提高為原來的8倍,位時鐘頻率提高為原來的8倍。在其他實施方式中,可根據(jù)具體情況設(shè)置不同的公式,例如,在實際應(yīng)用中,如果在主控端中加入其他對采樣頻率值產(chǎn)生影響的模塊,則應(yīng)在上述公式中加入該影響因子,又例如,如果需在與主控端連接的聲道中預(yù)留一個不用于傳輸數(shù)據(jù)的聲道,則應(yīng)根據(jù)實際情況對上述公式的聲道數(shù)減1。
時鐘輸出模塊603用于向設(shè)備端輸出改變后的幀時鐘和位時鐘。在改變幀時鐘頻率和位時鐘頻率后,時鐘輸出模塊603向設(shè)備端輸出幀時鐘MLRCK和位時鐘MBCLK,即,幀時鐘MLRCK和位時鐘MBCLK在I2S總線上傳輸。
數(shù)據(jù)傳輸模塊605用于基于總線的時序關(guān)系以改變后的幀時鐘和位時鐘傳輸多聲道音頻數(shù)據(jù)。I2S總線的時序關(guān)系可遵循標(biāo)準(zhǔn)格式、左對齊格式、右對齊格式或PCM格式。不同格式下,總線的時序關(guān)系不同。在本實施方式中,I2S總線的時序關(guān)系遵循標(biāo)準(zhǔn)格式時,總線的時序關(guān)系為:在幀時鐘MLRCK發(fā)生沿變化后的第2個位時鐘MBCLK開始傳輸串行數(shù)據(jù)MSDIN/MSDOUT時,按照位時鐘MBCLK傳輸單個聲道的數(shù)據(jù)位,一個幀時鐘周期內(nèi)傳輸兩個聲道的音頻數(shù)據(jù)。在其他實施方式中,若I2S總線的時序關(guān)系遵循左對齊格式,則對應(yīng)的總線的時序關(guān)系與標(biāo)準(zhǔn)格式的不同之處在于:在幀時鐘MLRCK發(fā)生沿變化后的第1個位時鐘MBCLK開始傳輸串行數(shù)據(jù)MSDIN/MSDOUT。在本實施方式中,第一個幀時鐘周期傳輸聲道1、聲道2的音頻數(shù)據(jù),第二個幀時鐘周期傳輸聲道3、聲道4的音頻數(shù)據(jù),以此類推。數(shù)據(jù)傳輸模塊605以所述改變后的幀時鐘和位時鐘傳輸多聲道音頻數(shù)據(jù),在不改變I2S總線的幀時鐘、位時鐘與數(shù)據(jù)信號的關(guān)系的前提下,實現(xiàn)了多聲道音頻接口傳輸協(xié)議的幀時鐘和位時鐘在原有I2S總線上的映射。
在本實施方式中,主控端60還包括編碼位增加模塊607,編碼位增加模塊607用于在待傳輸?shù)亩嗦暤酪纛l數(shù)據(jù)中增加編碼位,以區(qū)分數(shù)據(jù)的聲道。編碼位增加模塊607在待傳輸?shù)亩嗦暤酪纛l數(shù)據(jù)中增加編碼位時,將數(shù)據(jù)的有效數(shù)據(jù)位的低位替換成編碼位,或在數(shù)據(jù)的有效數(shù)據(jù)位之外增加編碼位。在本實施方式中,編碼位增加模塊607將數(shù)據(jù)的有效數(shù)據(jù)位的低位替換成編碼位,編碼位增加模塊607根據(jù)聲道序號為各個聲道預(yù)先設(shè)定編碼位。編碼位增加模塊607可以以二進制原碼、補碼或反碼的方式表示所述編碼位。在本實施方式中,主控端60根據(jù)聲道序號為各個聲道預(yù)先設(shè)定編碼位,設(shè)定編碼位時,以二進制原碼的方式表示聲道序號。在本實施方式中,聲道序號為1至16,主控端60可在傳輸多聲道音頻數(shù)據(jù)前通過通信的方法獲取聲道序號,例如,設(shè)備端可以通過如下通信方法獲取聲道序號:設(shè)備端的每個聲道在接入I2S總線后向主控端發(fā)送一個聲道請求,主控端60按照收到的聲道請求的個數(shù)記載其聲道序號并對設(shè)備端進行反饋,接著等待其他聲道接入I2S總線,并作相同的處理,主控端60因此獲得各個聲道所對應(yīng)的聲道序號。
主控端15根據(jù)設(shè)備端的聲道數(shù)提高幀時鐘和位時鐘頻率,實現(xiàn)了多聲道音頻總線接口傳輸協(xié)議在I2S總線上的映射。
本實施例只需在原有硬件中通過編程來實現(xiàn)主控端的上述功能模塊,從而保證無需為主控端增加接口轉(zhuǎn)換芯片即可實現(xiàn)多聲道音頻數(shù)據(jù)的傳輸,克服了I2S接口在多聲道數(shù)據(jù)傳輸應(yīng)用中設(shè)計難度高以及硬件成本高的缺陷。
實施例6
圖10示出了本發(fā)明一實施方式的設(shè)備端的功能模塊圖,在本實施方式中,設(shè)備端70和主控端通過I2S總線連接,設(shè)備端70進行播放數(shù)據(jù),設(shè)備端上設(shè)有多個播放器,每個播放器對應(yīng)一個聲道。設(shè)備70包括時鐘接收模塊701、和數(shù)據(jù)接收模塊703。
時鐘接收模塊701用于接收主控端根據(jù)設(shè)備端的聲道數(shù)改變幀時鐘頻率和位時鐘頻率后輸出的改變后的幀時鐘和位時鐘。時鐘接收模塊701接收主控端根據(jù)設(shè)備端70的聲道數(shù)改變幀時鐘頻率和位時鐘頻率后輸出的改變后的幀時鐘和位時鐘。在本實施方式中,改變后的幀時鐘和位時鐘滿足如下公式:bclk=fs×N×Nbit×n,其中,lrck是幀時鐘頻率,bclk是位時鐘頻率,fs是采樣頻率,Nbit是采樣位數(shù),n是正整數(shù),當(dāng)聲道數(shù)為偶數(shù)時,N等于聲道數(shù),當(dāng)聲道數(shù)為奇數(shù)時,N等于聲道數(shù)加1。在本實施方式中,n等于1。主控端可通過通信的方法獲得設(shè)備端70的聲道數(shù)。在本實施方式中,聲道數(shù)為16。由上述公式可知,主控端將幀時鐘頻率提高為原來的8倍,位時鐘頻率提高為原來的8倍。在其他實施方式中,可根據(jù)具體情況設(shè)置不同的公式,例如,在實際應(yīng)用中,如果在主控端中加入其他對采樣頻率值產(chǎn)生影響的模塊,則應(yīng)在上述公式中加入該影響因子,又例如,如果需在與主控端連接的聲道中預(yù)留一個不用于傳輸數(shù)據(jù)的聲道,則應(yīng)根據(jù)實際情況對上述公式的聲道數(shù)減1。
數(shù)據(jù)接收模塊703用于接收主控端基于所述總線的時序關(guān)系以改變后的幀時鐘和位時鐘傳輸?shù)亩嗦暤酪纛l數(shù)據(jù)。數(shù)據(jù)接收模塊703接收主控端基于總線的時序關(guān)系以改變后的幀時鐘和位時鐘傳輸?shù)亩嗦暤酪纛l數(shù)據(jù)。I2S總線的時序關(guān)系可遵循標(biāo)準(zhǔn)格式、左對齊格式、右對齊格式或PCM格式。不同格式下,總線的時序關(guān)系不同。設(shè)備端70以改變后的幀時鐘和位時鐘傳輸多聲道音頻數(shù)據(jù),使得在不改變I2S總線的幀時鐘、位時鐘與數(shù)據(jù)信號的關(guān)系的前提下,實現(xiàn)了多聲道音頻接口傳輸協(xié)議的幀時鐘和位時鐘在原有I2S總線上的映射。在本實施方式中,數(shù)據(jù)接收模塊703接收主控端按照I2S總線的時序關(guān)系傳輸?shù)臄?shù)據(jù)中包括編碼位。若數(shù)據(jù)接收模塊703接收的數(shù)據(jù)中丟失了一部分數(shù)據(jù),則可在接下來的步驟中通過編碼位判斷出丟失數(shù)據(jù)的聲道。
在本實施方式中,設(shè)備端70還包括解碼模塊707,解碼模塊707用于對編碼位進行解碼后獲得聲道序號,以區(qū)分接收到的數(shù)據(jù)的聲道。在本實施方式中,聲道序號為1至16,設(shè)備端70可通過通信的方法獲取聲道序號。若編碼位是以二進制原碼、補碼或反碼的方式進行編碼,則解碼模塊707以二進制原碼、補碼或反碼的方式對編碼位進行解碼,在本實施方式中,解碼模塊707以二進制原碼的方式進行解碼時,編碼位為0000將被解碼為0,表示聲道序號為1;編碼位為0001將被解碼為1,表示聲道序號為2;編碼位為1111將被解碼為15,表示聲道序號為16。多聲道音頻數(shù)據(jù)在傳輸過程中丟失了聲道1的數(shù)據(jù),則通過對接收到的數(shù)據(jù)的編碼位進行解碼得到聲道序號為2,從而知道聲道1的數(shù)據(jù)已丟失。需要說明的是,解碼模塊707還可通過其他解碼方式進行解碼,其應(yīng)與編碼位的編碼方式對應(yīng)。
主控端根據(jù)設(shè)備端的聲道數(shù)提高幀時鐘和位時鐘頻率,實現(xiàn)了多聲道音頻總線接口傳輸協(xié)議在I2S總線上的映射,在播放數(shù)據(jù)時,設(shè)備端通過數(shù)據(jù)的編碼位對聲道進行區(qū)分,使得設(shè)備端能夠判斷出丟失數(shù)據(jù)的聲道。
圖6示出了本發(fā)明一實施方式的多聲道音頻總線接口傳輸協(xié)議在標(biāo)準(zhǔn)格式下的時序圖,圖9和圖10所示的主控端30和設(shè)備端40在傳輸數(shù)據(jù)的過程中遵循該時序圖。在本實施方式中,聲道數(shù)為16。與I2S總線在標(biāo)準(zhǔn)格式下的時序圖相對應(yīng),在幀時鐘MLRCK發(fā)生沿變化后的第2個位時鐘MBCLK開始傳輸串行數(shù)據(jù)MSDIN/MSDOUT,按照位時鐘MBCLK傳輸單個聲道的數(shù)據(jù)位。幀時鐘周期LRCK_DT是幀時鐘周期LRCK_DIV的8倍。在一個幀時鐘周期LRCK_DIV內(nèi),幀時鐘MLRCK在低電平期間傳輸?shù)谝粋€聲道的音頻數(shù)據(jù),在高電平期間傳輸?shù)诙€聲道的音頻數(shù)據(jù),聲道寬度Slot Size為低電平期間或高電平期間最大可傳輸?shù)奈粩?shù)。可配置的有效數(shù)據(jù)位SR的MSB為有效數(shù)據(jù)的第一位,LSB為有效數(shù)據(jù)的倒數(shù)第5位。
實施例7
圖11示出了本發(fā)明一實施方式的主控端傳輸多聲道音頻數(shù)據(jù)的方法流程圖,該方法由圖9所示的一實施方式的主控端60來運行,在本實施方式中,主控端60和設(shè)備端通過I2S總線連接,主控端60進行播放數(shù)據(jù),設(shè)備端上設(shè)有多個播放器,每個播放器對應(yīng)一個聲道。
主控端60改變幀時鐘頻率和位時鐘頻率。主控端60根據(jù)所述設(shè)備端的聲道數(shù)改變幀時鐘頻率和位時鐘頻率。在本實施方式中,改變后的幀時鐘和位時鐘滿足如下公式:bclk=fs×N×Nbit×n,其中,lrck是幀時鐘頻率,bclk是位時鐘頻率,fs是采樣頻率,Nbit是采樣位數(shù),n是正整數(shù),當(dāng)聲道數(shù)為偶數(shù)時,N等于聲道數(shù),當(dāng)聲道數(shù)為奇數(shù)時,N等于聲道數(shù)加1。在本實施方式中,n等于1。主控端60可通過通信的方法獲得設(shè)備端的聲道數(shù)。在本實施方式中,聲道數(shù)為16,由上述公式可知,主控端60將幀時鐘頻率提高為原來的8倍,位時鐘頻率提高為原來的8倍。在其他實施方式中,可根據(jù)具體情況設(shè)置不同的公式,例如,在實際應(yīng)用中,如果在主控端中加入其他對采樣頻率值產(chǎn)生影響的模塊,則應(yīng)在上述公式中加入該影響因子,又例如,如果需在與主控端連接的聲道中預(yù)留一個不用于傳輸數(shù)據(jù)的聲道,則應(yīng)根據(jù)實際情況對上述公式的聲道數(shù)減1。
主控端60輸出改變后的幀時鐘和位時鐘。主控端60向設(shè)備端輸出改變后的幀時鐘和位時鐘。在改變幀時鐘頻率和位時鐘頻率后,時鐘輸出模塊603向設(shè)備端輸出幀時鐘MLRCK和位時鐘MBCLK,即,幀時鐘MLRCK和位時鐘MBCLK在I2S總線上傳輸。
主控端60傳輸多聲道音頻數(shù)據(jù)。主控端60基于總線的時序關(guān)系以改變后的幀時鐘和位時鐘傳輸多聲道音頻數(shù)據(jù)。I2S總線的時序關(guān)系可遵循標(biāo)準(zhǔn)格式、左對齊格式、右對齊格式或PCM格式。不同格式下,總線的時序關(guān)系不同。在本實施方式中,標(biāo)準(zhǔn)格式下,I2S總線的時序關(guān)系為:傳輸串行數(shù)據(jù)MSDIN/MSDOUT時,在幀時鐘MLRCK發(fā)生沿變化后的第2個位時鐘MBCLK開始,按照位時鐘MBCLK傳輸單個聲道的數(shù)據(jù)位,一個幀時鐘周期內(nèi)傳輸兩個聲道的音頻數(shù)據(jù)。因此,在本實施方式中,第一個幀時鐘周期傳輸聲道1、聲道2的音頻數(shù)據(jù),第二個幀時鐘周期傳輸聲道3、聲道4的音頻數(shù)據(jù),以此類推。主控端60以所述改變后的幀時鐘和位時鐘傳輸多聲道音頻數(shù)據(jù),在不改變I2S總線的幀時鐘、位時鐘與數(shù)據(jù)信號的關(guān)系的前提下,實現(xiàn)了多聲道音頻接口傳輸協(xié)議的幀時鐘和位時鐘在原有I2S總線上的映射。
本實施例只需在原有硬件中通過編程來實現(xiàn)主控端傳輸多聲道音頻數(shù)據(jù)的方法,從而保證無需為主控端增加接口轉(zhuǎn)換芯片即可實現(xiàn)多聲道音頻數(shù)據(jù)的傳輸,克服了I2S接口在多聲道數(shù)據(jù)傳輸應(yīng)用中設(shè)計難度高以及硬件成本高的缺陷。
實施例8
圖12示出了本發(fā)明一實施方式的設(shè)備端傳輸多聲道音頻數(shù)據(jù)的方法流程圖,該方法由圖10所示的一實施方式的設(shè)備端70來運行,在本實施方式中,設(shè)備端70和主控端通過I2S總線連接,主控端進行播放數(shù)據(jù),設(shè)備端上設(shè)有多個播放器,每個播放器對應(yīng)一個聲道。
設(shè)備端70接收幀時鐘頻率和位時鐘頻率。設(shè)備端70接收主控端根據(jù)設(shè)備端70的聲道數(shù)改變幀時鐘頻率和位時鐘頻率后輸出的改變后的幀時鐘和位時鐘。在本實施方式中,改變后的幀時鐘和位時鐘滿足如下公式:bclk=fs×N×Nbit×n,其中,lrck是幀時鐘頻率,bclk是位時鐘頻率,fs是采樣頻率,Nbit是采樣位數(shù),n是正整數(shù),當(dāng)聲道數(shù)為偶數(shù)時,N等于聲道數(shù),當(dāng)聲道數(shù)為奇數(shù)時,N等于聲道數(shù)加1。在本實施方式中,n等于1。主控端可通過通信的方法獲得設(shè)備端70的聲道數(shù)。在本實施方式中,聲道數(shù)為16。由上述公式可知,主控端將幀時鐘頻率提高為原來的8倍,位時鐘頻率提高為原來的8倍。在其他實施方式中,可根據(jù)具體情況設(shè)置不同的公式,例如,在實際應(yīng)用中,如果在主控端中加入其他對采樣頻率值產(chǎn)生影響的模塊,則應(yīng)在上述公式中加入該影響因子,又例如,如果需在與主控端連接的聲道中預(yù)留一個不用于傳輸數(shù)據(jù)的聲道,則應(yīng)根據(jù)實際情況對上述公式的聲道數(shù)減1。
設(shè)備端70接收多聲道音頻數(shù)據(jù)。設(shè)備端70接收主控端基于所述總線的時序關(guān)系以改變后的幀時鐘和位時鐘傳輸?shù)亩嗦暤酪纛l數(shù)據(jù)。設(shè)備端70接收主控端基于總線的時序關(guān)系以改變后的幀時鐘和位時鐘傳輸?shù)亩嗦暤酪纛l數(shù)據(jù)。。I2S總線的時序關(guān)系可遵循標(biāo)準(zhǔn)格式、左對齊格式、右對齊格式或PCM格式。不同格式下,總線的時序關(guān)系不同。在本實施方式中,I2S總線的時序關(guān)系遵循標(biāo)準(zhǔn)格式時,總線的時序關(guān)系為:在幀時鐘MLRCK發(fā)生沿變化后的第2個位時鐘MBCLK開始傳輸串行數(shù)據(jù)MSDIN/MSDOUT時,按照位時鐘MBCLK傳輸單個聲道的數(shù)據(jù)位,一個幀時鐘周期內(nèi)傳輸兩個聲道的音頻數(shù)據(jù)。在其他實施方式中,若I2S總線的時序關(guān)系遵循左對齊格式,則對應(yīng)的總線的時序關(guān)系與標(biāo)準(zhǔn)格式的不同之處在于:在幀時鐘MLRCK發(fā)生沿變化后的第1個位時鐘MBCLK開始傳輸串行數(shù)據(jù)MSDIN/MSDOUT。在本實施方式中,第一個幀時鐘周期傳輸聲道1、聲道2的音頻數(shù)據(jù),第二個幀時鐘周期傳輸聲道3、聲道4的音頻數(shù)據(jù),以此類推。主控端根據(jù)設(shè)備端的聲道數(shù)提高幀時鐘和位時鐘頻率,實現(xiàn)了多聲道音頻總線接口傳輸協(xié)議在I2S總線上的映射。
實施例9
圖13示出了本發(fā)明一實施方式的傳輸多聲道音頻數(shù)據(jù)的系統(tǒng)的功能模塊圖,在本實施方式中,系統(tǒng)1包括主控端10和設(shè)備端12,主控端10和設(shè)備端12通過I2S總線連接,設(shè)備端12進行數(shù)據(jù)采樣,設(shè)備端12上設(shè)有多個麥克風(fēng),每個麥克風(fēng)對應(yīng)一個聲道。其中,主控端10包括時鐘調(diào)整模塊301、時鐘輸出模塊303和數(shù)據(jù)接收模塊305,上述三個模塊與實施例1中對應(yīng)編號的模塊相同,設(shè)備端12包括時鐘接收模塊401、數(shù)據(jù)傳輸模塊403,上述三個模塊與實施例2中對應(yīng)編號的模塊相同,此處不再一一贅述。
主控端10根據(jù)設(shè)備端12的聲道數(shù)提高幀時鐘和位時鐘頻率,實現(xiàn)了多聲道音頻總線接口傳輸協(xié)議在I2S總線上的映射,在采樣數(shù)據(jù)時,主控端10通過數(shù)據(jù)的編碼位對聲道進行區(qū)分,使得主控端10能夠判斷出丟失數(shù)據(jù)的聲道。
本實施例需改變設(shè)備端12的硬件,但無需為主控端10增加接口轉(zhuǎn)換芯片,只需在原有硬件中通過編程來實現(xiàn)主控端10的上述功能模塊,從而實現(xiàn)多聲道音頻數(shù)據(jù)的傳輸,克服了I2S接口在多聲道數(shù)據(jù)傳輸應(yīng)用中設(shè)計難度高以及硬件成本高的缺陷。
實施例10
圖14示出了本發(fā)明一實施方式的傳輸多聲道音頻數(shù)據(jù)的系統(tǒng)的功能模塊圖,在本實施方式中,系統(tǒng)2包括主控端15和設(shè)備端17,主控端15和設(shè)備端17通過I2S總線連接,主控端15進行播放數(shù)據(jù),設(shè)備端17上設(shè)有多個播放器,每個播放器對應(yīng)一個聲道。其中,主控端15包括時鐘調(diào)整模塊601、時鐘輸出模塊603和數(shù)據(jù)傳輸模塊605,上述三個模塊與實施例5中對應(yīng)編號的模塊相同,設(shè)備端17包括時鐘接收模塊701、和數(shù)據(jù)接收模塊703,上述三個模塊與實施例6中對應(yīng)編號的模塊相同,此處不再一一贅述。
主控端15根據(jù)設(shè)備端17的聲道數(shù)提高幀時鐘和位時鐘頻率,實現(xiàn)了多聲道音頻總線接口傳輸協(xié)議在I2S總線上的映射,在播放數(shù)據(jù)時,設(shè)備端17通過數(shù)據(jù)的編碼位對聲道進行區(qū)分,使得設(shè)備端17能夠判斷出丟失數(shù)據(jù)的聲道。
本實施例需改變設(shè)備端17的硬件,但無需為主控端15增加接口轉(zhuǎn)換芯片,只需在原有硬件中通過編程來實現(xiàn)主控端15的上述功能模塊,從而實現(xiàn)多聲道音頻數(shù)據(jù)的傳輸,克服了I2S接口在多聲道數(shù)據(jù)傳輸應(yīng)用中設(shè)計難度高以及硬件成本高的缺陷。
綜上所述,本發(fā)明一實施方式提供的主控端和設(shè)備端傳輸多聲道音頻數(shù)據(jù)的方法、系統(tǒng),主控端根據(jù)設(shè)備端的聲道數(shù)提高幀時鐘和位時鐘頻率以維持I2S總線的時鐘信號與數(shù)據(jù)信號的關(guān)系,并按照I2S總線的時序關(guān)系傳輸數(shù)據(jù),實現(xiàn)了多聲道音頻總線接口傳輸協(xié)議在I2S總線上的映射,在采樣數(shù)據(jù)時,主控端通過數(shù)據(jù)的編碼位對聲道進行區(qū)分,從而判斷出丟失數(shù)據(jù)的聲道而防止了誤操作;在播放數(shù)據(jù)時,設(shè)備端通過數(shù)據(jù)的編碼位對聲道進行區(qū)分,從而判斷出丟失數(shù)據(jù)的聲道而防止了誤播放。本發(fā)明達到了無需為主控端增加接口轉(zhuǎn)換芯片即可實現(xiàn)多聲道音頻數(shù)據(jù)傳輸?shù)哪康?,克服了I2S接口在多聲道數(shù)據(jù)傳輸應(yīng)用中設(shè)計難度高以及硬件成本高的缺陷。
應(yīng)當(dāng)理解的是,以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制,對本領(lǐng)域技術(shù)人員來說,可以對上述實施例所記載的技術(shù)方案進行修改,或者對其中部分技術(shù)特征進行等同替換;而所有這些修改和替換,都應(yīng)屬于本發(fā)明所附權(quán)利要求的保護范圍。