《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > AC-Link數(shù)字音頻VHDL編/解碼的FPGA設(shè)計(jì)
AC-Link數(shù)字音頻VHDL編/解碼的FPGA設(shè)計(jì)
摘要: 數(shù)字音頻處理是指為真實(shí)再現(xiàn)聲音的逼真效果而對(duì)音頻進(jìn)行的編解碼處理技術(shù),它是寬帶網(wǎng)絡(luò)多媒體、移動(dòng)多媒體通信的關(guān)鍵技術(shù).Audio Codec′97(音頻數(shù)字信號(hào)編/解碼器)是其中一種用于聲音錄放的技術(shù)標(biāo)準(zhǔn),簡稱AC′97. AC′97采用雙集成結(jié)構(gòu),即Digital Controller(數(shù)字信號(hào)控制器)和Audio Codec(音頻編解碼),使模/數(shù)轉(zhuǎn)換器ADC和數(shù)?模轉(zhuǎn)換器DAC轉(zhuǎn)換模塊獨(dú)立,盡可能降低EMI(電磁干擾)的影響。
關(guān)鍵詞: FPGA AC-Link 數(shù)字音頻 VHDL ACEX1K
Abstract:
Key words :

引言

        數(shù)字音頻處理是指為真實(shí)再現(xiàn)聲音的逼真效果而對(duì)音頻進(jìn)行的編解碼處理技術(shù),它是寬帶網(wǎng)絡(luò)多媒體、移動(dòng)多媒體通信的關(guān)鍵技術(shù).Audio Codec′97(音頻數(shù)字信號(hào)編/解碼器)是其中一種用于聲音錄放的技術(shù)標(biāo)準(zhǔn),簡稱AC′97. AC′97采用雙集成結(jié)構(gòu),即Digital Controller(數(shù)字信號(hào)控制器)和Audio Codec(音頻編解碼),使模/數(shù)轉(zhuǎn)換器ADC和數(shù)?模轉(zhuǎn)換器DAC轉(zhuǎn)換模塊獨(dú)立,盡可能降低EMI(電磁干擾)的影響。

        利用FPGA,可以實(shí)現(xiàn)復(fù)雜的邏輯控制,對(duì)大量音頻數(shù)據(jù)做并行處理.FPGA提供可編程時(shí)鐘發(fā)生器,滿足音視頻處理要求的時(shí)鐘范圍寬、相位抖動(dòng)(Phase Jitter)小的要求,并為系統(tǒng)提供可控延時(shí)。
  
1 AC-Link音頻編/解碼原理

        AC-Link是連接Digital Controller和Audio Codec的5線串行時(shí)分多路I/O接口,固定時(shí)鐘頻率48kHz由串行位時(shí)鐘12.288MHz經(jīng)256分頻而來,支持一個(gè)控制器和最多4個(gè)編碼器. AC-Link只能傳輸48kHz固定取樣率的PCM(脈沖編碼調(diào)制)信號(hào),字長從16Bit到20Bit,其它取樣率的PCM信號(hào)須經(jīng)過SRC(取樣率轉(zhuǎn)換)轉(zhuǎn)換成48kHz。

        AC-Link接口時(shí)序如圖1所示,輸入輸出音頻數(shù)據(jù)和控制寄存器的讀寫命令組織在一幀里,一個(gè)輸入或輸出分割成12個(gè)時(shí)隙,每個(gè)時(shí)隙為20位采樣分辨率.控制器把12.288MHz時(shí)鐘256分頻,產(chǎn)生一個(gè)SYNC信號(hào),此信號(hào)用于標(biāo)志一個(gè)輸入(輸出)幀的開始。
 

                                                               圖1 雙向AC-Link數(shù)據(jù)幀及時(shí)隙分配

        由圖1可知,每個(gè)輸入(輸出)幀除了有12個(gè)20位的數(shù)據(jù)/命令(數(shù)據(jù)/狀態(tài))復(fù)用時(shí)隙外,還有一個(gè)特殊的16位的幀首時(shí)隙,此時(shí)隙主要用來標(biāo)志此幀是否可用,如果此幀可用,那么此幀中對(duì)應(yīng)時(shí)隙中為有效數(shù)據(jù)。

        如圖2所示,PCM通過抽樣、量化、編碼三個(gè)步驟將連續(xù)變化的模擬信號(hào)轉(zhuǎn)換為數(shù)字編碼,PCM編碼是最高保真水平編碼,音質(zhì)好但體積大.AC-Link能夠傳輸48KHz固定取樣率的PCM信號(hào),字長可以從16Bit到20Bit,其它取樣率的PCM信號(hào)必須先經(jīng)過SRC(Sample Rate Conversion,取樣率轉(zhuǎn)換)轉(zhuǎn)換成48KHz。

                                                    圖2 AC-Link音頻編解碼過程

        如果PCM信號(hào)的字長低于DAC的,那么Controller會(huì)自動(dòng)將PCM信號(hào)進(jìn)行移位,使其MSB( Most Significant Bit,最高有效位)對(duì)齊,低位補(bǔ)0.如果PCM信號(hào)的字長高于DAC的,那么必須先通過Dither(抖動(dòng))降低字長后或者直接就經(jīng)過AC-Link接口傳輸?shù)紺odec,如果DAC字長不夠AC-Link接口的高,那么它會(huì)自動(dòng)將AC-Link接口超過字字長的LSBs(Least Significant Bit,最低有效位)去掉.DAC輸出的是階梯狀或者是脈沖狀信號(hào),還必須經(jīng)過LPF(Low Pass Filter,低通濾波器)濾波整形恢復(fù)為原來的音頻信號(hào)。
  
2 FPGA音頻編/解碼系統(tǒng)結(jié)構(gòu)

        FPGA音頻編/解碼系統(tǒng)以ACEX1K和AD1881芯片為核心,如圖3所示。
 

                                                            圖3 FPGA音頻編/解碼系統(tǒng)圖

        ACEX1K-FPAG有147個(gè)用戶可用I/O,系統(tǒng)門數(shù)最多257000,邏輯門100000.內(nèi)部有4992個(gè)邏輯單元(LE),有12個(gè)嵌入式存儲(chǔ)塊(EAB),即49125位雙口RAM.使用EAB構(gòu)成的RAM、ROM、雙口RAM和FIFO等結(jié)構(gòu)可大大提高基于查找表(LUT)的算術(shù)運(yùn)算、數(shù)字信號(hào)處理性能.在AC-Link音頻編解碼系統(tǒng)中,FPGA控制模塊根據(jù)后向控制流,為音頻編碼模塊提供多路幀同步信號(hào)。

        AD1881是A/D、D/A接口芯片,支持AC′97標(biāo)準(zhǔn)接口,實(shí)現(xiàn)全雙工16位立體聲的音頻編?解碼,采樣率7K~48KHz.系統(tǒng)復(fù)位完成FPGA 程序加載后,由FPGA的I2C總線模塊對(duì)AD1881初始化,初始化結(jié)束后等待采集命令.初始化成功后,AD1881實(shí)時(shí)處理模擬音頻信號(hào)。

        用FPGA實(shí)現(xiàn)AC-Link聲卡的D/A變換功能所需要的資源并不多,用一片ACEX1K100芯片做D/A轉(zhuǎn)換,只消耗了30%左右的資源,在具體應(yīng)用中,有時(shí)并不需要校驗(yàn)位及出錯(cuò)信號(hào),則占用系統(tǒng)資源更少。
  
3 AC-Link音頻編/解碼的VHDL設(shè)計(jì)

        FPGA中的AC音頻編/解碼設(shè)計(jì)是通過VHDL編程實(shí)現(xiàn)的.VHDL是一種應(yīng)用非常廣泛的硬件描述語言,它的語言覆蓋面廣,描述能力強(qiáng);可以描述最抽象的系統(tǒng)級(jí),也可以描述最精確的邏輯級(jí)、門級(jí). AC-Link系統(tǒng)采用結(jié)構(gòu)化VHDL進(jìn)行設(shè)計(jì)的整個(gè)系統(tǒng)是一個(gè)VHDL語言文件,包括幾個(gè)BLOCK語言.下面分別介紹各模塊實(shí)現(xiàn)的功能。
  
(1)sreg1.vhd,調(diào)用一個(gè)并行輸入、串行輸出的模塊,模塊的核心程序如下:
  
if(clk’event and clk=‘1’)then —時(shí)鐘下降沿
   if(s1=‘0’)then —S1并行輸入允許
    tmpreg<=datain;
   else
    for i in sreg_width-1 down to 1 loop —串行移位輸出
     tmpreg(i)<-tmpreg(i-1);
    and loop;
    tmpreg(0)<=se;
  
        程序中,S1用來為sreg模塊作為并行輸入允許端.該信號(hào)在每個(gè)時(shí)隙的第一個(gè)數(shù)據(jù)位時(shí)出現(xiàn),在此時(shí),該時(shí)隙的數(shù)據(jù)被置入sreg模塊,然后該模塊開始串行移位輸出,以后的各個(gè)時(shí)隙也按此過程工作。
  
(2)調(diào)用并行輸入、串行輸出模塊,設(shè)計(jì)AC-Link.vhd.AC-Link的D/A轉(zhuǎn)換控制器向編碼器寫數(shù)據(jù),然后這些數(shù)據(jù)D/A轉(zhuǎn)換成模擬信號(hào),最后經(jīng)功放輸出
  
        程序中對(duì)時(shí)隙的分配是采用IF_THEN_ELSEIF_THEN_ELSE_ENDIF語句實(shí)現(xiàn),當(dāng)計(jì)數(shù)器小于16時(shí)是第0時(shí)隙,以后每隔20個(gè)計(jì)數(shù)為一個(gè)時(shí)隙.使用CASE語句在不同時(shí)隙,輸出賦以相應(yīng)的數(shù)據(jù)。
  
        對(duì)于AC-Link輸入幀,如果控制器想從編碼器讀取數(shù)據(jù)或狀態(tài),就在bit_clk的上升沿把SYNC置高,編碼器在bit_clk下降沿采樣到 SYNC變化,然后在上升沿開始發(fā)送數(shù)據(jù).控制器在每個(gè)bit_clk的下降沿采樣數(shù)據(jù),同時(shí)SYNC保持16個(gè)bit_clk周期的高電平。
  
        對(duì)于AC-Link輸出幀,如果控制器要向編碼器輸出數(shù)據(jù)或命令時(shí),則在bit_clk的上升沿先把SYNC置高,然后在每一個(gè)bit_clk的上升沿發(fā)送一位數(shù)據(jù),SYNC與bit_clk的上升沿同步.編碼器在bit_clk的下降沿采樣到SYNC的變化,由此編碼器知道控制器要與它通信,在下一個(gè) bit_clk的下降沿編碼器開始采樣數(shù)據(jù),此后每一個(gè)bit_clk的下降沿采樣一位數(shù)據(jù).控制器發(fā)送數(shù)據(jù)是在bit_clk的上升沿,而編碼器采樣數(shù)據(jù)是在bit_clk的下降沿.同時(shí)SYNC也要保持16個(gè)bit_clk周期的高電平。
  
        下列程序用于產(chǎn)生16個(gè)的bit_clk周期的高電平的SYNC信號(hào),SYNC是bit_clk的256分頻,有16個(gè)周期是高電平,其余時(shí)間是低電平。

  if(conv_integer(counter)<16)then
   sync<=‘1’;
   counter:=counter+1;
  else
   sync<=‘0’;
   counter:=counter+1;
  endif;
  
        進(jìn)行VHDL設(shè)計(jì)時(shí),最好各模塊單獨(dú)進(jìn)行并及時(shí)仿真驗(yàn)證,以便盡早發(fā)現(xiàn)問題.系統(tǒng)中其它模塊在此不再敘述.
 

                                                                                  圖4 AC-Link輸出仿真圖

        AC-Link接口的仿真圖如圖4所示,實(shí)現(xiàn)了其D/A轉(zhuǎn)換功能,仿真通過以后,可將程序下載到FPGA中實(shí)現(xiàn),同時(shí)直接與通令機(jī)連接起來進(jìn)行調(diào)試,并利用計(jì)算機(jī)進(jìn)行調(diào)試獲得成功,計(jì)算機(jī)的通信軟件可用VB或Delpi等可視化軟件來編制。
  
4 結(jié)論

        AC-Link音頻編/解碼系統(tǒng)的是在FPGA平臺(tái)上用VHDL設(shè)計(jì)的.AC-Link設(shè)計(jì)采用自頂向下的設(shè)計(jì)方法,通過建立VHDL行為模型和進(jìn)行 VHDL行為仿真,可及早發(fā)現(xiàn)設(shè)計(jì)中潛在的問題,縮短設(shè)計(jì)周期,提高設(shè)計(jì)的可靠性和效率.實(shí)踐證明,仿真結(jié)果和FPGA實(shí)現(xiàn)符合AC-Link控制和編碼要求.
 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产精品久久一区二区三区| 国产精品一区亚洲| 一本色道久久综合狠狠躁篇的优点| 亚洲一区二区少妇| 亚洲乱码久久| 亚洲国产高清视频| 国产在线观看精品一区二区三区| 美女黄色成人网| 欧美一级午夜免费电影| 在线亚洲精品| 亚洲片国产一区一级在线观看| 午夜视频久久久| 亚洲毛片在线看| 在线免费观看日本一区| 国产在线精品自拍| 国产精品一卡二| 国产精品久久网站| 欧美日韩亚洲激情| 欧美日韩国产123| 欧美国产精品中文字幕| 毛片基地黄久久久久久天堂| 久久久成人网| 久久精品免费播放| 欧美一区二区三区四区在线观看地址| 一区二区三区精品| 一区二区三区波多野结衣在线观看| 91久久精品国产91久久性色tv| 久久福利毛片| 亚洲电影免费| 欧美一区二区视频观看视频| 午夜精品免费视频| 午夜久久久久久| 午夜国产精品视频| 亚洲欧美日韩在线不卡| 亚洲影视在线| 亚洲欧美激情一区| 小辣椒精品导航| 亚洲欧美综合| 欧美在线一级va免费观看| 亚洲欧洲三级| 亚洲狼人精品一区二区三区| 99精品视频免费观看| 亚洲欧洲日韩综合二区| 亚洲日本无吗高清不卡| 亚洲免费观看| 亚洲视频自拍偷拍| 亚洲福利免费| 亚洲日本成人女熟在线观看| 亚洲精品一线二线三线无人区| 亚洲精品一二| 亚洲无人区一区| 亚洲三级免费| 艳妇臀荡乳欲伦亚洲一区| 亚洲视频在线视频| 欧美一级欧美一级在线播放| 亚洲欧美日韩国产精品| 亚洲三级性片| 一区二区高清视频| 翔田千里一区二区| 亚洲国产精品嫩草影院| 99国产精品久久久久老师| 在线亚洲电影| 午夜精品久久久久久久男人的天堂 | 黄色成人精品网站| 激情综合色综合久久综合| 亚洲国产精品久久久久秋霞不卡 | 欧美成人免费一级人片100| 麻豆国产精品va在线观看不卡| 久久久噜噜噜久久中文字幕色伊伊| 免费在线观看成人av| 欧美精品自拍| 欧美激情国产日韩| 国产精品视频区| 亚洲激情第一页| 欧美在线一二三四区| 亚洲一区www| 麻豆91精品91久久久的内涵| 国产精品福利影院| 最新国产成人av网站网址麻豆| 欧美一区二区精品久久911| 国产精品99久久久久久有的能看| 久久综合九色九九| 国产嫩草一区二区三区在线观看| 亚洲精品免费在线播放| 亚洲高清一二三区| 欧美一区二区视频观看视频| 欧美日韩一区二区免费视频| 亚洲高清视频中文字幕| 欧美亚洲自偷自偷| 亚洲欧美在线免费| 欧美日韩国产不卡在线看| 伊甸园精品99久久久久久| 午夜精品999| 亚洲一区日韩| 欧美日韩国产影院| 91久久国产精品91久久性色| 久久精品免费观看| 欧美一区二区三区精品电影| 欧美日韩国产在线播放| 国产一区二区电影在线观看 | 亚洲欧美精品一区| 欧美大片在线影院| 国产亚洲亚洲| 亚洲一区二区在线播放| 亚洲自拍电影| 欧美精品成人| 精品动漫一区二区| 午夜一区二区三区不卡视频| 亚洲视频在线观看视频| 欧美ed2k| 最新高清无码专区| 亚洲第一在线综合网站| 午夜精品久久久久久久久久久| 欧美精品 日韩| 伊人成人网在线看| 欧美在线观看视频在线| 亚洲已满18点击进入久久| 欧美精品久久一区| 樱桃成人精品视频在线播放| 欧美亚洲免费在线| 小辣椒精品导航| 国产精品家庭影院| 亚洲精品视频一区| 亚洲经典三级| 久久亚洲一区二区| 狠狠色伊人亚洲综合成人| 羞羞漫画18久久大片| 欧美一区二区视频在线观看| 国产片一区二区| 亚洲男同1069视频| 欧美一区二区国产| 国产精品一区二区你懂得| 亚洲一区二区在线观看视频| 亚洲在线日韩| 欧美日韩久久久久久| 这里是久久伊人| 亚洲欧美三级伦理| 国产精品免费一区豆花| 亚洲视频在线观看网站| 亚洲永久网站| 国产欧美一区二区精品性色| 亚洲一区二区三区四区视频| 午夜精品福利一区二区三区av | 亚洲欧美日韩视频一区| 国产精品久久久久一区二区三区 | 国产精品在线看| 亚洲女人天堂成人av在线| 销魂美女一区二区三区视频在线| 国产精品裸体一区二区三区| 亚洲一区二区欧美| 欧美怡红院视频| 在线观看欧美视频| 亚洲精品中文字幕女同| 欧美久久久久久蜜桃| 日韩图片一区| 亚洲综合导航| 国产伦精品一区二区| 欧美中文在线观看| 女同一区二区| 亚洲精品国产精品国自产观看浪潮| 日韩午夜在线视频| 国产精品九色蝌蚪自拍| 久久精品视频导航| 欧美精品v日韩精品v国产精品| 亚洲裸体俱乐部裸体舞表演av| 亚洲一区二区精品在线| 国产欧美日韩精品一区| 久久精品国产96久久久香蕉| 欧美成人一区在线| 99精品视频网| 久久国产精品久久久久久| 依依成人综合视频| 正在播放欧美一区| 国产精品三级久久久久久电影| 久久av在线看| 欧美国产日韩精品免费观看| 亚洲在线观看视频网站| 久久影视精品| 亚洲老司机av| 欧美在线观看视频一区二区| 一区在线免费| 欧美一级视频免费在线观看| 伊人婷婷久久| 亚洲一区二区三区四区五区黄 | 亚洲日本电影在线| 欧美一区二区高清| 亚洲国产专区| 性色一区二区| 亚洲国产精品成人一区二区| 欧美在线一二三四区| 亚洲国产影院| 性欧美长视频| 亚洲级视频在线观看免费1级| 亚洲欧美在线看| 亚洲精品免费观看| 久久久久九九九| 一区二区高清| 麻豆亚洲精品| 亚洲欧美日本视频在线观看| 欧美日韩在线影院|