1 概述
I2S(Inter—IC Sound)總線, 又稱 集成電路內(nèi)置音頻總線,是飛利浦公司為數(shù)字音頻設(shè)備之間的音頻數(shù)據(jù)傳輸而制定的一種總線標(biāo)準(zhǔn),該總線專門(mén)用于音頻設(shè)備之間的數(shù)據(jù)傳輸,廣泛應(yīng)用于各種多媒體系統(tǒng)。I2S采用了沿獨(dú)立的導(dǎo)線傳輸時(shí)鐘與數(shù)據(jù)信號(hào)的設(shè)計(jì),通過(guò)將數(shù)據(jù)和時(shí)鐘信號(hào)分離,避免了因時(shí)差誘發(fā)的失真,為用戶節(jié)省了購(gòu)買(mǎi)抵抗音頻抖動(dòng)的專業(yè)設(shè)備的費(fèi)用。
在飛利浦公司的I2S標(biāo)準(zhǔn)中,I2S主要有三個(gè)信號(hào)。
1.位時(shí)鐘 BICK(也叫串行時(shí)鐘SCLK),即對(duì)應(yīng)數(shù)字音頻的每一位數(shù)據(jù),BCLK都有1個(gè)脈沖。BCLK的頻率=2×采樣頻率×采樣位數(shù)。
2.幀時(shí)鐘LRCK,(也稱WS),用于切換左右聲道的數(shù)據(jù)。LRCK為“1”表示正在傳輸?shù)氖怯衣暤赖臄?shù)據(jù),為“0”則表示正在傳輸?shù)氖亲舐暤赖臄?shù)據(jù)。LRCK的頻率等于采樣頻率。
3.串行數(shù)據(jù)SDATA,就是用二進(jìn)制補(bǔ)碼表示的音頻數(shù)據(jù)。
有時(shí)為了使系統(tǒng)間能夠更好地同步,還需要另外傳輸一個(gè)信號(hào)MCLK,稱為主時(shí)鐘,也叫系統(tǒng)時(shí)鐘(Sys Clock),是采樣頻率的256倍或384倍。隨著技術(shù)的發(fā)展,在統(tǒng)一的 I2S接口下,出現(xiàn)了多種不同的數(shù)據(jù)格式。根據(jù)SDATA數(shù)據(jù)相對(duì)于LRCK和SCLK的位置不同,分為左對(duì)齊(較少使用)、I2S格式(即飛利浦規(guī)定的格式)和右對(duì)齊(也叫日本格式、普通格式)。
以下是I2S Sample rate 44.1Khz 和48Khz部分系列。
2 模式
左對(duì)齊模式:SDATA 的MSB在BCLK的第一個(gè)上升獲得根據(jù)LRCK的傳輸。
I2S模式:SDATA 的MSB在BCLK的第二個(gè)上升獲得根據(jù)LRCK的傳輸。
右對(duì)齊模式。
3 I2S收發(fā)模塊FPGA的仿真設(shè)計(jì)
i2s_test模塊為i2s_in和i2s_out模塊的頂層,i2s_in模塊將輸入的串行數(shù)據(jù)轉(zhuǎn)換成并行的數(shù)據(jù),然后i2s_out模塊將并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù)輸出。
I2s_in模塊和I2s_out模塊的接口說(shuō)明如下。
I2s test bench設(shè)計(jì)
讓i2s_out模塊將并行轉(zhuǎn)為串行,然后使用i2s_in模塊將串行轉(zhuǎn)為并行。驗(yàn)證數(shù)據(jù)是否正確。
Test bench源碼:
1. // test bench
2.
3. `timescale 1ps/1ps
4.
5. module tb32bitmaster();
6.
7. initial begin #600000000 $finish; end //600us
8.
9. reg preset_n;
10. initial begin preset_n = 1; #10000 preset_n = 0; #100000 preset_n = 1; end
11.
12. reg pclk;
13. initial begin pclk = 0; #313333 pclk = 0; forever #11072.1 pclk = ~pclk; end
14.
15. reg start;
16. initial begin start = 0; #400000 start = 1; end
17.
18. reg clkd2, clkd4, clkd8, clkd16;
19. wire reset_n = preset_n;
20.
21. always @(posedge pclk or negedge reset_n)
22. if (0 == reset_n)
23. clkd2
24. else
25. clkd2
26.
27. always @(posedge clkd2 or negedge reset_n)
28. if (0 == reset_n)
29. clkd4
30. else
31. clkd4
32.
33. always @(posedge clkd4 or negedge reset_n)
34. if (0 == reset_n)
35. clkd8
36. else
37. clkd8
38. always @(posedge clkd8 or negedge reset_n)
39. if (0 == reset_n)
40. clkd16
41. else
42. clkd16
43.
44.
45. wire bck, lrck, sdata;
46. wire [31:0] y0, y1;
47.
48. i2s_in U_i2s_in(
49. .mclk(pclk),
50. .reset_n(reset_n),
51.
52. .in_bck(bck),
53. .in_lrck(lrck),
54. .in_sdata(sdata),
55. //controls
56. //output
57. .source_left(y0),
58. .source_right(y1)
59. );
60.
61. i2s_out u_i2s_out(
62. .in_bck(clkd16),
63. .reset_n(reset_n),
64. .source_left(32'h5555_aaaa),
65. .source_right(32'haaaa_5555),
66. .obck(bck),
67. .olrck(lrck),
68. .odata(sdata)
69. );
70. endmodule
71.
72. `include "i2s_out.v"
73. `include "i2s_in.v"
從仿真結(jié)果看我們的i2s_out和i2s_in模塊仿真設(shè)計(jì)成功。
編輯:hfy
-
FPGA
+關(guān)注
關(guān)注
1630文章
21796瀏覽量
605998 -
I2S
+關(guān)注
關(guān)注
1文章
65瀏覽量
42076
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
全面解析I2S、TDM、PCM音頻總線
音頻接口I2S實(shí)驗(yàn)
基于FPGA和AD1836的I2S接口設(shè)計(jì)
I2S設(shè)備和MSP430器件的連接指南
![<b class='flag-5'>I2S</b>設(shè)備和MSP430器件的連接指南](https://file.elecfans.com/web2/M00/49/8A/pYYBAGKhtF2ABS-EAAAYZ4mA5ss943.png)
i2s總線協(xié)議及結(jié)構(gòu)配置
![<b class='flag-5'>i2s</b><b class='flag-5'>總線</b><b class='flag-5'>協(xié)議</b>及結(jié)構(gòu)配置](https://file.elecfans.com/web1/M00/45/7D/o4YBAFpu0e6AOoMRAAD-3XSMm20997.png)
i2s音頻總線學(xué)習(xí)
![<b class='flag-5'>i2s</b><b class='flag-5'>音頻</b><b class='flag-5'>總線</b>學(xué)習(xí)](https://file.elecfans.com/web1/M00/45/7E/o4YBAFpu27mAFToyAAA2tcgE2L0358.png)
I2S接口工作原理_I2S接口介紹
![<b class='flag-5'>I2S</b>接口工作原理_<b class='flag-5'>I2S</b>接口介紹](https://file.elecfans.com/web1/M00/45/82/pIYBAFpu5wWAJZvXAAM-DxykxjE117.png)
幾種常見(jiàn)的I2S數(shù)據(jù)格式
![幾種常見(jiàn)的<b class='flag-5'>I2S</b>數(shù)據(jù)格式](https://file.elecfans.com/web1/M00/45/81/o4YBAFpvAzyAQwj1AAGnIZtFmnM156.png)
基于MM32F5270控制器的I2S音頻播放
I2S、TDM、PCM音頻總線
基于I2S接口的Linux內(nèi)核音頻技術(shù)
![基于<b class='flag-5'>I2S</b>接口的Linux內(nèi)核<b class='flag-5'>音頻</b>技術(shù)](https://file1.elecfans.com/web2/M00/C2/3E/wKgaomXde0CAUT-5AAApda7ylok825.png)
評(píng)論