一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

3天內不再提示

采用FPGA實現(xiàn)AD1836中D/A部分的I2S接口設計

電子設計 ? 作者:電子設計 ? 2018-10-09 10:41 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

I2S總線協(xié)議簡介

I2S(Inter IC Sound Bus)是飛利浦公司為數(shù)字音頻設備之間的音頻數(shù)據(jù)傳輸而制定的一種總線標準,它既規(guī)定了硬件接口規(guī)范,也規(guī)定了數(shù)字音頻數(shù)據(jù)的格式。I2S有三個主要的信號

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

(2)幀時鐘LRCLK,用于切換左右聲道的數(shù)據(jù)。LRCLK為“1”表示正在傳輸?shù)氖怯衣暤赖臄?shù)據(jù),為“0”則表示正在傳輸?shù)氖亲舐暤赖臄?shù)據(jù)。LRCLK的頻率等于采樣頻率。

(3)串行數(shù)據(jù)SDATA,就是用二進制補碼表示的音頻數(shù)據(jù)。

有時為了使系統(tǒng)能夠更好的同步,還需要另外傳輸一個信號MCLK,稱為主時鐘,也叫系統(tǒng)時鐘,是采樣頻率的256倍或384倍。典型的I2S接口時序如圖1所示,對于系統(tǒng)而言,產(chǎn)生BCLK和LRCLK信號的信號端是主設備。I2S的數(shù)據(jù)線用于串行數(shù)據(jù),當LRCLK變化(也就是左右通道的數(shù)據(jù)切換),在第二個BLCK處數(shù)據(jù)開始,按照高位在先低位在后的順序進行傳輸。數(shù)據(jù)在BCLK的下降沿改變,在BCLK的上升沿進行數(shù)據(jù)的采樣。因此,在BCLK的上升沿處數(shù)據(jù)必須是穩(wěn)定的,接收端和發(fā)送端處理的有效數(shù)據(jù)的位數(shù)可以不同:如果接收端可處理的有效數(shù)據(jù)的位數(shù)多于發(fā)送端,將不足的數(shù)據(jù)位用0補足;反之,則將多余的數(shù)據(jù)位舍棄。

I2S接口硬件設計

本設計采用Altera公司的Stratix系列的FPGA,EP1S10672I7來實現(xiàn)AD1836中D/A的I2S接口設計。該芯片內核電壓為1.5V,I/O電壓為3.3V,符合AD1836數(shù)字接口輸入輸出電平要求,其中D/A部分的I2S接口硬件設計原理圖如圖1所示。

本設計中,將AD1836采樣時鐘設置為48kHz,采樣位數(shù)為24位。從AD1836數(shù)據(jù)手冊可知,其系統(tǒng)時鐘(MCLK)為12.288MHz,左右通道數(shù)據(jù)切換時鐘(LRCLK)等于采樣時鐘(48kHz),數(shù)據(jù)位時鐘(DBCLK)為64×左右通道數(shù)據(jù)切換時鐘(3.072MHz)。所以串行數(shù)據(jù)線上傳輸?shù)氖?4位的有效數(shù)據(jù),其余數(shù)據(jù)位時鐘周期對應的數(shù)據(jù)線上的數(shù)據(jù)為0,串行數(shù)據(jù)線DSDATA1、DSDATA2、DSDATA3分別對應于三路的立體D/A,所有的時鐘線和數(shù)據(jù)線均經(jīng)過下拉電阻后與FPGA的I/O相連。

基于FPGA的實現(xiàn)

邏輯模塊設計

FPGA內部邏輯模塊主要包括分頻模塊和D_A接口模塊,如圖2所示。其中分頻模塊將AD1836的系統(tǒng)時鐘12.288MHz分頻為3.072MHz(即位時鐘BCLK);start信號為模塊使能信號,為高時,D_A接口模塊將從DATIN引腳輸入的24位并行數(shù)據(jù)轉換為串行數(shù)據(jù),從Datout引腳輸出;當左右通道時鐘切換時,輸入的24位并行數(shù)據(jù)也相應改變,同時從LRclk引腳輸出48kHz的左右通道數(shù)據(jù)切換時鐘,從Bclk引腳輸出3.072MHz的位時鐘信號。LRclk和Bclk都是在AD1836的系統(tǒng)時鐘(MCLK)的基礎上分頻得到的,從而保證了整個系統(tǒng)的同步性。

軟件設計

所有軟件的設計是在QuartusⅡ 6.0中采用Verilog HDL語言輸入完成的,系統(tǒng)采用10MHz的有源晶振,通過FPGA內部的鎖相環(huán)進行二級倍頻從而得到12.288MHz的時鐘信號,然后通過clkin_12_288M引腳送入分頻模塊。主要的程序如下:

分頻模塊

Module freq3_027M(clkin12_288M, clkout3_027M);

input clkin12_288M; //時鐘輸入引腳

output clkout3_027M; //時鐘輸出引腳

reg clkout3_027M; //分頻計數(shù)器

integer cunt;

always@( posedge clkin12_288M) begin

cunt=cunt+1;

if (cunt《=1)

begin clkout3_027M=1‘b0;end

else if((cunt《=3)&&(cunt》=2))

begin clkout3_027M=1’b1;end

else

begin cunt=0;clkout3_027M=1‘b0;end

end

endmodule

D_A接口模塊

(1)左右通道切換時鐘和數(shù)據(jù)位時鐘

assign LRCLKout = LR_f; //左右通道切換時鐘

assign BCLKout =(BCLK_f)?BCLKin:1’b1; //數(shù)據(jù)位時鐘

(2)時鐘輸出和數(shù)據(jù)的并串轉換

always@( negedge BCLKin) begin

if(start) begin //使能信號為高

cunt=cunt+1;

case (cunt)

1: begin LR_f=~LR_f; //左右通道時鐘

BCLK_f=1‘b1;end //送出位數(shù)據(jù)時鐘

2: datout=DDSdatin[23];//送出最高位

3: datout=DDSdatin[22]; //送出次高位

4: datout=DDSdatin[21];

5: datout=DDSdatin[20];

6: datout=DDSdatin[19];

7: datout=DDSdatin[18];

8: datout=DDSdatin[17];

9: datout=DDSdatin[16];

10: datout=DDSdatin[15];

11: datout=DDSdatin[14];

12: datout=DDSdatin[13];

13: datout=DDSdatin[12];

14: datout=DDSdatin[11];

15: datout=DDSdatin[10];

16: datout=DDSdatin[9];

17: datout=DDSdatin[8];

18: datout=DDSdatin[7];

19: datout=DDSdatin[6];

20: datout=DDSdatin[5];

21: datout=DDSdatin[4];

22: datout=DDSdatin[3];

23: datout=DDSdatin[2];

24: datout=DDSdatin[1];

25: datout=DDSdatin[0]; //數(shù)據(jù)已經(jīng)發(fā)送完畢

26: datout=0; //剩余的數(shù)據(jù)送0

27: datout=0;

28: datout=0;

29: datout=0;

30: datout=0;

31: datout=0;

32: datout=0;

default:datout=1’bz;

endcase

end

軟件仿真

模塊的仿真也是在軟件QuartusⅡ6.0中實現(xiàn)的,仿真波形如圖3所示。為了便于仿真,在24位的并行數(shù)據(jù)輸入口輸入十六進制的常數(shù)AB15F7H,此時送入左右通道的數(shù)據(jù)是相同的。從仿真波形中可以看出,當start信號高有效后,位數(shù)據(jù)時鐘和左右通道數(shù)據(jù)切換時鐘送出,將并行的24位數(shù)據(jù)AB15F7H從數(shù)據(jù)線上串行送出,在多余的位數(shù)據(jù)時鐘處數(shù)據(jù)線上的數(shù)據(jù)為0,仿真結果與I2S接口時序圖相符合。

結束語

本文以FPGA為控制單元,完成了AD1836中D/A部分的I2S接口設計,它在數(shù)字音頻系統(tǒng)的設計中有一定的參考和實用價值。該設計已經(jīng)成功運用在某話路特性綜合測試系統(tǒng)中,性能良好。

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

    關注

    1645

    文章

    22050

    瀏覽量

    618621
  • 芯片
    +關注

    關注

    460

    文章

    52520

    瀏覽量

    441087
  • I2C
    I2C
    +關注

    關注

    28

    文章

    1541

    瀏覽量

    127881
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    音頻總線I2S協(xié)議:I2S收發(fā)模塊FPGA的仿真設計

    于各種多媒體系統(tǒng)。I2S采用了沿獨立的導線傳輸時鐘與數(shù)據(jù)信號的設計,通過將數(shù)據(jù)和時鐘信號分離,避免了因時差誘發(fā)的失真,為用戶節(jié)省了購買抵抗音頻抖動的專業(yè)設備的費用。 在飛利浦公司的I2S標準
    的頭像 發(fā)表于 12-14 17:34 ?9326次閱讀
    音頻總線<b class='flag-5'>I2S</b>協(xié)議:<b class='flag-5'>I2S</b>收發(fā)模塊<b class='flag-5'>FPGA</b>的仿真設計

    FPGA采用I2S與ARM通信

    新人求助,FPGA如何采用I2S與ARM通信?
    發(fā)表于 06-13 11:24

    能幫忙分析下這個電路嗎?AD1836

    [/td][td]這是561音頻電路的,由AD1836出來的差動信號轉化位單端輸出的電路,我想知道這個電路怎么分析,周圍得電阻電容各是什么作用,如何分析,謝謝!
    發(fā)表于 11-26 09:26

    AD1836D/A為例介紹I2S接口設計

    ,則將多余的數(shù)據(jù)位舍棄。 I2S接口硬件設計本設計采用Altera公司的Stratix系列的FPGA,EP1S10672I7來
    發(fā)表于 06-20 05:00

    如何利用FPGA完成AD1836D/A部分I2S接口設計?

    本文以FPGA為控制單元,完成了AD1836D/A部分I
    發(fā)表于 04-29 06:43

    基于FPGAAD1836I2S接口該如何去設計?

    基于FPGAAD1836I2S接口該如何去設計?
    發(fā)表于 05-26 06:45

    利用MAXIICPLD實現(xiàn)SPI至I2S接口

    引言:本應用筆記介紹怎樣使用Altera®MAX®IICPLD來實現(xiàn)協(xié)議轉換,通過串行外設接口(SPI)控制inter-IC聲音(I2S)總線上的音頻設備數(shù)據(jù)流。
    發(fā)表于 07-05 15:53 ?53次下載

    音頻接口I2S實驗

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

    基于FPGAAD1836I2S接口設計

    I2S(Inter IC Sound Bus)是飛利浦公司為數(shù)字音頻設備之間的音頻數(shù)據(jù)傳輸而制定的一種總線標準,它既規(guī)定了硬件接口規(guī)范,也規(guī)定了數(shù)字音頻數(shù)據(jù)的格式。I2S有三個主要的信號:
    發(fā)表于 03-29 11:02 ?6936次閱讀
    基于<b class='flag-5'>FPGA</b>和<b class='flag-5'>AD1836</b>的<b class='flag-5'>I2S</b><b class='flag-5'>接口</b>設計

    幾種常見的I2S數(shù)據(jù)格式

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

    AN-620:AD1836和AD1953在帶DSP的4進9出模擬系統(tǒng)的應用

    AN-620:AD1836和AD1953在帶DSP的4進9出模擬系統(tǒng)的應用
    發(fā)表于 04-26 12:11 ?3次下載
    AN-620:<b class='flag-5'>AD1836</b>和AD1953在帶DSP的4進9出模擬系統(tǒng)<b class='flag-5'>中</b>的應用

    AD1836聲音Linux漂流器

    AD1836聲音Linux漂流器
    發(fā)表于 05-23 09:38 ?5次下載
    <b class='flag-5'>AD1836</b>聲音Linux漂流器

    智能硬件設計I2S、PDM、TDM選什么音頻接口

    智能硬件設計,I2S、PDM、TDM選什么音頻接口?
    的頭像 發(fā)表于 02-23 15:08 ?1.3w次閱讀
    智能硬件設計<b class='flag-5'>中</b><b class='flag-5'>I2S</b>、PDM、TDM選什么音頻<b class='flag-5'>接口</b>

    I2S、TDM、PCM音頻總線

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

    AN5086_如何使用標準SPI和Timer來模擬I2S接口

    AN5086_如何使用標準SPI和Timer來模擬I2S接口
    發(fā)表于 11-21 08:11 ?2次下載
    AN5086_如何使用標準SPI和Timer來模擬<b class='flag-5'>I2S</b><b class='flag-5'>接口</b>