精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

音頻總線I2S協議:I2S收發模塊FPGA的仿真設計

454398 ? 來源:FPGA開源工作室 ? 作者:FPGA開源工作室 ? 2020-12-14 17:34 ? 次閱讀

1 概述

I2S(Inter—IC Sound)總線, 又稱 集成電路內置音頻總線,是飛利浦公司為數字音頻設備之間的音頻數據傳輸而制定的一種總線標準,該總線專門用于音頻設備之間的數據傳輸,廣泛應用于各種多媒體系統。I2S采用了沿獨立的導線傳輸時鐘與數據信號的設計,通過將數據和時鐘信號分離,避免了因時差誘發的失真,為用戶節省了購買抵抗音頻抖動的專業設備的費用。

在飛利浦公司的I2S標準中,I2S主要有三個信號。

1.位時鐘 BICK(也叫串行時鐘SCLK),即對應數字音頻的每一位數據,BCLK都有1個脈沖。BCLK的頻率=2×采樣頻率×采樣位數。

2.幀時鐘LRCK,(也稱WS),用于切換左右聲道的數據。LRCK為“1”表示正在傳輸的是右聲道的數據,為“0”則表示正在傳輸的是左聲道的數據。LRCK的頻率等于采樣頻率。

3.串行數據SDATA,就是用二進制補碼表示的音頻數據。

有時為了使系統間能夠更好地同步,還需要另外傳輸一個信號MCLK,稱為主時鐘,也叫系統時鐘(Sys Clock),是采樣頻率的256倍或384倍。隨著技術的發展,在統一的 I2S接口下,出現了多種不同的數據格式。根據SDATA數據相對于LRCK和SCLK的位置不同,分為左對齊(較少使用)、I2S格式(即飛利浦規定的格式)和右對齊(也叫日本格式、普通格式)。

以下是I2S Sample rate 44.1Khz 和48Khz部分系列。

pIYBAF9uEeOAREfrAAKRy1tR9Ao056.png

2 模式

左對齊模式:SDATA 的MSB在BCLK的第一個上升獲得根據LRCK的傳輸。

o4YBAF9uEeWARAAXAAGl6CEKTZg274.png

I2S模式:SDATA 的MSB在BCLK的第二個上升獲得根據LRCK的傳輸。

o4YBAF9uEeeAGY26AAGcbdLDkXY934.png

右對齊模式。

pIYBAF9uEemAWzNQAAFoPItf77Q218.png

3 I2S收發模塊FPGA仿真設計

i2s_test模塊為i2s_in和i2s_out模塊的頂層,i2s_in模塊將輸入的串行數據轉換成并行的數據,然后i2s_out模塊將并行數據轉換成串行數據輸出。

o4YBAF9uEeyAUlupAAJGwtkJOfI729.png

I2s_in模塊和I2s_out模塊的接口說明如下。

pIYBAF9uEe-AQo1RAAJbn1Mz3mk306.png

o4YBAF9uEfOAQjRFAAO5Na1gqnI467.png

I2s test bench設計

讓i2s_out模塊將并行轉為串行,然后使用i2s_in模塊將串行轉為并行。驗證數據是否正確。

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"

從仿真結果看我們的i2s_out和i2s_in模塊仿真設計成功。

編輯:hfy

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1620

    文章

    21510

    瀏覽量

    598956
  • I2S
    I2S
    +關注

    關注

    1

    文章

    59

    瀏覽量

    41658
收藏 人收藏

    評論

    相關推薦

    全面解析I2S、TDM、PCM音頻總線

    I2S是比較簡單的數字接口協議,沒有地址或設備選擇機制。在I2S總線上,只能同時存在一個主設備和發送設備。主設備可以是發送設備,也可以是接收設備,或是協調發送設備和接收設備的其它控制設
    發表于 09-20 10:58 ?1.1w次閱讀

    音頻接口I2S實驗

    實驗目的 1.掌握有關音頻處理的實驗原理及說明;2.通過實驗了解I2S(Inter–ICSound)音頻接口的工作原理;3.通過實驗掌握對處理器S
    發表于 12-29 00:07 ?115次下載

    基于FPGA和AD1836的I2S接口設計

    I2S(Inter IC Sound Bus)是飛利浦公司為數字音頻設備之間的音頻數據傳輸而制定的一種總線標準,它既規定了硬件接口規范,也規定了數字
    發表于 03-29 11:02 ?6467次閱讀
    基于<b class='flag-5'>FPGA</b>和AD1836的<b class='flag-5'>I2S</b>接口設計

    CAN、I2SI2C、SPI、SSP總線的介紹和比較

    CAN、I2SI2C、SPI、SSP總線的介紹和比較。
    發表于 07-14 16:20 ?52次下載

    I2S設備和MSP430器件的連接指南

    介紹 MSP430系列微處理器是快速強大的設備,非常適合用于各種無線收發器。在流式音頻應用程序,但是,它是理想的微處理器支持音頻總線,允許互連到音頻
    發表于 05-19 15:56 ?32次下載
    <b class='flag-5'>I2S</b>設備和MSP430器件的連接指南

    i2s總線協議及結構配置

    I2S總線, 又稱 集成電路內置音頻總線,是飛利浦公司為數字音頻設備之間的音頻數據傳輸而制定的一
    發表于 01-29 15:45 ?6566次閱讀
    <b class='flag-5'>i2s</b><b class='flag-5'>總線</b><b class='flag-5'>協議</b>及結構配置

    i2s音頻總線學習

    I2S是飛利浦公司針對數字音頻設備(如CD播放器、數碼音效處理器、數字電視音響系統)之間的音頻數據傳輸而制定的一種總線標準。它采用了獨立的導線傳輸時鐘與數據信號的設計,通過將數據和時鐘
    發表于 01-29 16:29 ?4114次閱讀
    <b class='flag-5'>i2s</b><b class='flag-5'>音頻</b><b class='flag-5'>總線</b>學習

    I2S接口工作原理_I2S接口介紹

    I2S總線, 又稱 集成電路內置音頻總線,是飛利浦公司為數字音頻設備之間的音頻數據傳輸而制定的一
    發表于 01-29 17:18 ?10.6w次閱讀
    <b class='flag-5'>I2S</b>接口工作原理_<b class='flag-5'>I2S</b>接口介紹

    幾種常見的I2S數據格式

    I2S總線簡單有效,可以有效提升輸出數據的質量,在各種嵌入式音頻系統中有廣泛應用。但是在嵌入式音頻系統設計中,并不是所有的MCU都支持I2S
    發表于 01-29 19:18 ?1.2w次閱讀
    幾種常見的<b class='flag-5'>I2S</b>數據格式

    I2S音頻總線基本知識科普

    I2S(Inter—IC Sound)總線, 又稱集成電路內置音頻總線,是飛利浦公司為數字音頻設備之間的
    的頭像 發表于 04-12 07:48 ?2.8w次閱讀
    <b class='flag-5'>I2S</b><b class='flag-5'>音頻</b><b class='flag-5'>總線</b>基本知識科普

    基于MM32F5270控制器的I2S音頻播放

    MM32F5270 系列控制器支持 I2S 總線接口,本章節在接下來會對 MM32F5270 I2S進行介紹,并使用 MM32F5270 和 CS4344 芯片進行 I2S 通信來演示
    的頭像 發表于 09-16 10:39 ?2046次閱讀

    I2S、TDM、PCM音頻總線

    I2S包括兩個聲道(Left/Right)的數據,在主設備發出聲道選擇/字選擇(WS)控制下進行左右聲道數據切換。通過增加I2S接口的數目或其它I2S設備可以實現多聲道(Multi-Channels)應用。
    的頭像 發表于 09-20 11:01 ?4235次閱讀

    基于MM32F5270的I2S音頻播放

    基于MM32F5270的I2S音頻播放
    的頭像 發表于 10-30 17:13 ?924次閱讀
    基于MM32F5270的<b class='flag-5'>I2S</b><b class='flag-5'>音頻</b>播放

    基于I2S接口的Linux內核音頻技術

    I2S是飛利浦定義的數字音頻傳輸標準,用于數字音頻數據在系統內部器件之間傳輸。
    發表于 02-27 14:00 ?2259次閱讀
    基于<b class='flag-5'>I2S</b>接口的Linux內核<b class='flag-5'>音頻</b>技術

    I2S總線的定義和特點

    I2S(Inter-IC Sound)總線,又稱為集成電路內置音頻總線,是飛利浦公司(現為恩智浦半導體)為了數字音頻設備之間的
    的頭像 發表于 09-03 14:08 ?212次閱讀