基于FPGA和AD1836的I2S接口設計

發(fā)布時(shí)間:2010-8-6 14:29    發(fā)布者:lavida
關(guān)鍵詞: AD1836 , FPGA , I2S , 接口設計
I2S總線(xiàn)協(xié)議簡(jiǎn)介  

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

(1)串行時(shí)鐘BCLK,也叫位時(shí)鐘,即對應于數字音頻的每一位數據,BCLK都有一個(gè)脈沖。BCLK的頻率=2×采樣率×采樣位數。  
(2)幀時(shí)鐘LRCLK,用于切換左右聲道的數據。LRCLK為“1”表示正在傳輸的是右聲道的數據,為“0”則表示正在傳輸的是左聲道的數據。LRCLK的頻率等于采樣頻率。  
(3)串行數據SDATA,就是用二進(jìn)制補碼表示的音頻數據。  

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

I2S接口硬件設計  

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



  

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

基于FPGA的實(shí)現  

邏輯模塊設計  

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



  

軟件設計  

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

分頻模塊  

Module freq3_027M(clkin12_288M, clkout3_027M);
input clkin12_288M; //時(shí)鐘輸入引腳
output clkout3_027M; //時(shí)鐘輸出引腳
reg clkout3_027M; //分頻計數器
integer cunt;
always@( posedge clkin12_288M) begin
cunt=cunt+1;
if (cunt=2))
begin clkout3_027M=1'b1;end
else
begin cunt=0;clkout3_027M=1'b0;end
end
endmodule  

D_A接口模塊  

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

assign LRCLKout = LR_f; //左右通道切換時(shí)鐘
assign BCLKout =(BCLK_f)?BCLKin:1'b1; //數據位時(shí)鐘

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

always@( negedge BCLKin) begin
if(start) begin //使能信號為高
cunt=cunt+1;
case (cunt)
1: begin LR_f="LR_f; //左右通道時(shí)鐘
BCLK_f=1'b1;end //送出位數據時(shí)鐘
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]; //數據已經(jīng)發(fā)送完畢
26: datout=0; //剩余的數據送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中實(shí)現的,仿真波形如圖3所示。為了便于仿真,在24位的并行數據輸入口輸入十六進(jìn)制的常數AB15F7H,此時(shí)送入左右通道的數據是相同的。從仿真波形中可以看出,當start信號高有效后,位數據時(shí)鐘和左右通道數據切換時(shí)鐘送出,將并行的24位數據AB15F7H從數據線(xiàn)上串行送出,在多余的位數據時(shí)鐘處數據線(xiàn)上的數據為0,仿真結果與I2S接口時(shí)序圖相符合。  



  

結束語(yǔ)  

本文以FPGA為控制單元,完成了AD1836中D/A部分的I2S接口設計,它在數字音頻系統的設計中有一定的參考和實(shí)用價(jià)值。該設計已經(jīng)成功運用在某話(huà)路特性綜合測試系統中,性能良好。
本文地址:http://selenalain.com/thread-19781-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页