基于FPGA實(shí)現的PCI-I2S接口轉換電路
在設計PCI接口時(shí),用戶(hù)通過(guò)發(fā)起寄存器讀寫(xiě)請求tarO_req,去訪(fǎng)問(wèn)后端寄存器,從寄存器交換數據,在CPU檢測到都算邏輯未使用寄存器時(shí),可發(fā)起占用請求并占用寄存器(tarO_gnt被置位),此時(shí),PCI讀寫(xiě)此寄存器中的數據。
本文引用地址:http://dyxdggzs.com/article/201609/303568.htm3 音頻接口設計
在驅動(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-1與32kbit·s-1WAV音頻文件。通過(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ǔ)音采集、轉換、傳輸等功能。
評論