基于SoC的音頻IP模塊設(shè)計(jì)
2 音頻IP模塊設(shè)計(jì)
音頻IP模塊,完成APB總線協(xié)議到IIS協(xié)議的轉(zhuǎn)換,實(shí)現(xiàn)音頻的輸出,并根據(jù)任務(wù)要求,設(shè)置各種寄存器和中斷輸出。音頻輸出模塊(APB_IIS)示意框圖,如圖4所示。本文引用地址:http://cafeforensic.com/article/166847.htm
APB_IIS模塊由以下5個(gè)模塊組成:APB接口模塊,APB接口模塊主要是遵守AMBA協(xié)議,完成讀寫數(shù)據(jù)的譯碼。符合APB協(xié)議完成寄存器讀寫,實(shí)現(xiàn)寄存器register_t的配置,狀態(tài)讀寫。
寄存器模塊(register_t),完成各種功能寄存器的設(shè)置。register_t模塊,包含配置寄存器模塊(tx_config),屏蔽寄存器(tx_intmask),狀態(tài)寄存器(tx_instate),頻率配置寄存器模塊(tx_frequency),F(xiàn)IFO寫數(shù)據(jù)地址(fifo_data)。
FIFO模塊(fifo_t),的功能是從一個(gè)高速時(shí)鐘域到低速時(shí)鐘域數(shù)據(jù)的緩沖,并產(chǎn)生標(biāo)志信號,用于中斷產(chǎn)生。
IIS接口模塊(i2s_t),i2s_t模塊遵守IIS協(xié)議,并完成數(shù)據(jù)的輸出。
本模塊符合以下功能要求:
(1)傳輸音頻(Transmitter)模塊;
(2)主模式,由時(shí)鐘由外部提供(12 M);
(3)支持時(shí)序兩種模式音頻輸出;
(4)分頻器實(shí)現(xiàn)8/11/12/16/22.059/24./32/44.11/48(kHz)頻率數(shù)據(jù)傳輸;
(5)內(nèi)部記數(shù)器完成16音頻數(shù)據(jù)的記數(shù);
(6)數(shù)據(jù)的并串轉(zhuǎn)換。
中斷模塊(interrupt_generate),中斷信號是通過FIFO模塊的標(biāo)志信號和屏蔽寄存器(tx_intmask)信號產(chǎn)生中斷信號給系統(tǒng)的中斷控制器。
3 仿真結(jié)果
圖5為APB接口邏輯讀寫時(shí)序和IIS輸出時(shí)序的局部波形仿真。時(shí)序仿真證明符合規(guī)范和功能要求。
4 結(jié)束語
文中根據(jù)協(xié)議和實(shí)際需求設(shè)計(jì)一個(gè)APB轉(zhuǎn)IIS的模塊,具體描述了協(xié)議,功能規(guī)范,完成RTL代碼描述和功能驗(yàn)證,得出正確可移植的音頻IP模塊。由于模塊是有各個(gè)分立的模塊單元組成,所以再根據(jù)實(shí)際需求修改模塊是非常容易的。
評論