<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 消費電子 > 設計應用 > 基于FPGA實(shí)現的音頻接口轉換電路

基于FPGA實(shí)現的音頻接口轉換電路

作者: 時(shí)間:2018-08-15 來(lái)源:網(wǎng)絡(luò ) 收藏

I2S總線(xiàn)是一種用于音頻設備間傳輸數據的串行總線(xiàn)標準,該總線(xiàn)采用獨立的時(shí)鐘線(xiàn)與數據線(xiàn),避免了時(shí)差誘發(fā)的失真。隨著(zhù)多媒體的廣泛應用,該總線(xiàn)已被應用于越來(lái)越多的數字系統中。

本文引用地址:http://dyxdggzs.com/article/201808/386924.htm

總線(xiàn)是一種高性能的32/64位局部總線(xiàn),理論最大傳輸速率可達132 Mbit/s,可支持多組外設,已經(jīng)被各類(lèi)主流處理器做為總線(xiàn)標注,是目前應用最廣泛的外圍總線(xiàn)。如今大部分處理器并沒(méi)有集成I2S接口,但在嵌入式系統中CPU經(jīng)常使用總線(xiàn)與外圍設備進(jìn)行交互,故需設計一種—I2S電路,從而實(shí)現CPU與外圍音頻設備進(jìn)行通信。目前實(shí)現此種電路主要通過(guò)PCI接口芯片與音頻接口芯片等專(zhuān)用集成電路芯片在板級電路進(jìn)行組合從而實(shí)現基于PCI的音頻播放設備。此種電路雖然成熟可靠,但電路設計復雜、靈活性小而且需要占用大量的電路板空間。

隨著(zhù)數字通信技術(shù)的發(fā)展,由于的靈活性與其較短的開(kāi)發(fā)周期,在接口電路設計中的應用已經(jīng)越來(lái)越廣泛。本文提出一種使用實(shí)現PIC—I2S 的電路,不僅可以避免使用協(xié)議轉換芯片,節省電路板上的空間,而且還大幅加強了系統的靈活性,方便維護升級。

1 系統的硬件設計

音頻播放系統主要由立體聲音頻編解碼器TLN320AIC23B,器件XC6SLX75以及處理器PowerPC8270組成。系統框圖如圖1所示,CPU將原始音頻數據通過(guò)PCI總線(xiàn)傳至FPGA后以每組數據16 bit的格式串行傳輸至音頻芯片TLV320AIC23B,并由音頻芯片將數字量轉換為模擬音頻信號輸出。FPGA實(shí)現PCI接口功能和對音頻編解碼芯片的配置與數據傳輸功能,其內部主要由PCI協(xié)議接口,I2S協(xié)議接口,I2S配置寄存器,I2C協(xié)議接口以及FIFO存儲器等組成。

TLV320AIC23B在系統中實(shí)現數字音頻信息到音頻模擬量的轉換,在系統上電工作時(shí),首先需要通過(guò)I2C接口配置它的多個(gè)控制寄存器,此后芯片將根據位傳輸時(shí)鐘(Bclk)與左右聲道控制時(shí)鐘(LRCIN),按控制寄存器中配置的方式采集由FPGA發(fā)送來(lái)的音頻數據。接收到的數據將傳至芯片內部進(jìn)行數模轉換、濾波等處理。

FPGA根據I2S協(xié)議規范與芯片要求,由主時(shí)鐘(MCLK)分頻產(chǎn)生位傳輸時(shí)鐘(Bclk)與左右聲道控制時(shí)鐘(LRCIN),與音頻數據同步發(fā)送至 TLV320AIC23B。其中左右聲道控制時(shí)鐘(LRCIN)應與音頻數據的原始采樣級別頻率相同,根據I2S的協(xié)議規范及芯片資料,其位傳輸時(shí)鐘 (Bclk)與芯片的主時(shí)鐘(MCLK)如下:

BCLK=Sampling Size×Sampling Rate (1)

MCLK=Sampling Size×Sampling Rate×384 (2)

式中,Sampling Rate為原始采樣級別頻率;SamplingSize為采樣大小。

系統中,TLV320AIC23B芯片采用左對齊的接口模式,其時(shí)序如圖2所示,其中LRCIN為高電平時(shí)音頻的左聲道選通,為低時(shí)音頻的右聲道選通。在 LRCIN的一個(gè)周期內,左右聲道上傳輸同一組數據。由于PCI總線(xiàn)的傳輸速度遠高于I2S總線(xiàn)的傳輸速度,為不使CPU過(guò)高頻率的響應中斷,所以在 FPGA中生成一個(gè)FIFO,可使得PCI總線(xiàn)可以連續傳入大量數據。此外,由于不同的音頻文件有著(zhù)不同的采樣級別頻率,而通常音頻文件的采樣頻率為16 kHz或32 kHz,故在FPGA中生成I2S_config寄存器,可以通過(guò)PCI總線(xiàn)設置此寄存器以調用FPGA中不同的數字時(shí)鐘管理(DCM),從而為 TLV320AIC23B芯片提供不同的時(shí)鐘。

2 PCI接口設計

PCI協(xié)議比較復雜,它不僅有嚴格的同步時(shí)序要求,而且需要許多的配置寄存器,因此實(shí)現電路也比較復雜。通常情況下,在FPGA中實(shí)現PCI接口通常有3 種方式:(1)用FPGA自行設計PCI接口,該方法可根據需要有選擇地實(shí)現PCI接口功能,更貼近系統需要,而且可以降低系統成本,但需要開(kāi)發(fā)者對 PCI協(xié)議有著(zhù)深刻的了解,且在外部環(huán)境惡劣時(shí),不容易滿(mǎn)足系統的穩定性要求,開(kāi)發(fā)難度較大。(2)利用PCI硬核來(lái)對系統進(jìn)行開(kāi)發(fā),PCI硬核即是嵌入在FPCA內部的固化電路,類(lèi)似于專(zhuān)用的PCI接口芯片,設計者只需完成信號鏈接與驗證即可,但此方法中,PCI硬核已經(jīng)固化在FPGA中,影響了系統的靈活性。(3)利用PCI軟核進(jìn)行開(kāi)發(fā),PCI軟核可以根據用戶(hù)自身的需要進(jìn)行配置,更為靈活,貼近用戶(hù)系統,且其已經(jīng)過(guò)設計廠(chǎng)商的驗證,可靠性高。本文采用Mentor公司提供的開(kāi)源軟核MPCI32用于FPGA上PCI接口的開(kāi)發(fā)。

Mentor公司的PCI核完全符合PCI2.2的標準,支持33/66 MHz、32位數據的傳輸,PCI核的結構如圖3所示,該PCI核的功能是將入口測復雜的PCI接口信號轉為出口側較為操作的用戶(hù)信號。PCI核內用戶(hù)側設置有主控制接口和從控制接口以及配置寄存器等模塊,其中從控制接口分為寄存器接口與FIFO接口。因為本文中僅使用了從控制接口,所以圖中僅對從控制接口的信號展示??梢钥闯?,IP核左側的信號為PCI的標準信號,在使用時(shí)與前端PCI總線(xiàn)連接,右側信號為本地數據信號,可以看出IP核將PCI上原本復用的地址線(xiàn)與數據線(xiàn)處理后分別接出為32位的地址線(xiàn)與32位數據線(xiàn),并且原本總線(xiàn)上雙向的數據線(xiàn)被區分為單向讀信號線(xiàn)與寫(xiě)信號線(xiàn)。此外還有后端邏輯對寄存器的讀寫(xiě)地址信號線(xiàn)與PCI訪(fǎng)問(wèn)邏輯的讀寫(xiě)地址信號線(xiàn),后端對寄存器使用時(shí)的請求信號線(xiàn),寄存器被占用的標志信號線(xiàn)等。配置寄存器包含所有PCI配置空間的信息,其中包括表明設備信息的Device ID與Ven dor ID寄存器,以及命令寄存器,Base Address Register等主設備初始化時(shí)需要訪(fǎng)問(wèn)的信息,這些信息在PCI核生成時(shí)已經(jīng)被設定,無(wú)需改動(dòng)。

在設計PCI接口時(shí),用戶(hù)通過(guò)發(fā)起寄存器讀寫(xiě)請求tarO_req,去訪(fǎng)問(wèn)后端寄存器,從寄存器交換數據,在CPU檢測到都算邏輯未使用寄存器時(shí),可發(fā)起占用請求并占用寄存器(tarO_gnt被置位),此時(shí),PCI讀寫(xiě)此寄存器中的數據。

3 音頻接口設計

在驅動(dòng)后端的音頻芯片時(shí)首先需要通過(guò)I2C接口配置音頻芯片的控制寄存器,此后根據音頻數據不同的采樣級別頻率控制FPGA產(chǎn)生的時(shí)鐘,最終音頻數據從FPGA內部的FIFO中通過(guò)FPGA產(chǎn)生的時(shí)鐘依據I2S協(xié)議標準向音頻芯片傳輸。在FPGA中設計的音頻接口包括I2C時(shí)序協(xié)議接口模塊,I2S時(shí)鐘控制接口模塊和I2S時(shí)序協(xié)議接口模塊。

3.1 I2C接口模塊的設計

I2C總線(xiàn)是由飛利浦公司開(kāi)發(fā)的串行總線(xiàn),總線(xiàn)由兩根信號線(xiàn)構成,其中SCLK為時(shí)鐘信號線(xiàn),SDA為雙向數據線(xiàn)。I2C總線(xiàn)上的所有設備均可做為主設備,每個(gè)設備在總線(xiàn)上都有唯一的地址。

立體聲音頻編解碼器TLV320AIC23B中,共有11個(gè)寄存器需要配置,所有寄存器為只寫(xiě)寄存器。這些寄存器分別控制芯片輸出音頻的左右耳機音量、左右功放音量、芯片電源、采樣率等參數。在芯片的配置參數傳輸時(shí),以I2C的數據線(xiàn)(SDA)在時(shí)鐘線(xiàn)(SCLK)為高時(shí)下降沿條件作為數據的起始位,此后每當FPGA向TLV320AIC23B傳輸8位數據時(shí),TLV320 AIC23B在第9個(gè)時(shí)鐘時(shí)通過(guò)SDA向FPGA返回一個(gè)ACK信號。如果FPGA確認收到ACK信號則繼續傳輸下一組數據,否則將重復傳輸此組數據。實(shí)際中示波器測量的傳輸波形如圖4所示。

3.2 I2S時(shí)鐘控制接口模塊的設計

由于不同的音頻數據有著(zhù)不同的采樣級別頻率,所以在傳輸不同音頻文件時(shí),FPGA提供給TLV320AIC23B的時(shí)鐘頻率不同,為使不同采樣頻率的聲音文件都能在本系統上正常播放,故在FPGA內部使用其DCM由主時(shí)鐘12.288 MHz生成16 kHz和32 kHz兩種采樣時(shí)鐘頻率,接入緩沖器BUFGMUX中,并且通過(guò)在PCI的配置空間中開(kāi)辟一個(gè)寄存器,寄存器的值接至BUFGMUX的選擇端,這樣通過(guò)配置PCI總線(xiàn)配置此寄存器即可根據播放音頻的情況選擇時(shí)鐘頻率。

3.3 I2S時(shí)序協(xié)議接口模塊的設計

I2S時(shí)序接口模塊的主時(shí)鐘由FPGA內部提供,模塊內通過(guò)對主時(shí)鐘進(jìn)行分頻產(chǎn)生BCLK與LRCin,模塊在每個(gè)LRCin的上升沿由緩存FIFO中讀取一個(gè)16 bit的數據放入臨時(shí)寄存器,此后在BCLK的每個(gè)上升沿依次由高至低讀取寄存器中的每一位并賦值給數據線(xiàn)SDIN,并且在LRCIN的下降延時(shí)重復傳輸此數據,從而完成音頻數據的I2S協(xié)議傳輸。

4 系統測試及結果

通過(guò)在上位機中向CPU內部Flash燒錄一段音頻數據,此后通過(guò)訪(fǎng)問(wèn)FPGA的配置寄存器將此段數據傳入至FPGA內64 kB的FIFO中,后端音頻模塊檢測到FIFO非空即開(kāi)始工作。首選通過(guò)邏輯仿真軟件對系統進(jìn)行仿真,結果如圖5所示,信號線(xiàn)SDIN、 LRclk,BCLK輸出結果符合I2S協(xié)議規范中左對齊模式。此后可以在音頻芯片模擬輸出端接入耳機或功放等音頻播放設備,用示波器測量其模擬輸出。結果證明此系統工作正常,可以按照要求播放16 kbit/s與32kbit/s WAV音頻文件。通過(guò)示波器測量的模擬輸出如圖6所示,可以看出明顯的包絡(luò )信號。通過(guò)以上結論可以看出,系統可以充分利用FPGA 片內資源,從而減少對板內面積占用并減低系統功耗,也易于移植入同類(lèi)的嵌入式系統中。

在本文的基礎上,可以進(jìn)一步發(fā)揮FPGA的靈活性,比如在開(kāi)發(fā)FPGA上支持PCI從設備DMA模式,以進(jìn)一步加強PCI總線(xiàn)的讀寫(xiě)效率、I2S總線(xiàn)的右對齊和DSP模式等,并且可以開(kāi)發(fā)語(yǔ)音芯片上的語(yǔ)音采集功能,使系統實(shí)現語(yǔ)音采集、轉換、傳輸等功能。



關(guān)鍵詞: FPGA 接口轉換 PCI

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>