本發(fā)明涉及音頻信號(hào)處理,特別涉及一種基于fpga模塊的ac108音頻芯片控制系統(tǒng)和方法。
背景技術(shù):
1、現(xiàn)有的ac108芯片是一款高度集成的四通道adc,支持i2s/tdm輸出轉(zhuǎn)換,廣泛應(yīng)用于智能語音助手、錄音設(shè)備、數(shù)碼相機(jī)、攝像機(jī)和語音會(huì)議系統(tǒng)等領(lǐng)域。然而,當(dāng)前為ac108芯片設(shè)計(jì)的驅(qū)動(dòng)程序通常采用c語言開發(fā),并依賴于高級(jí)linux聲音架構(gòu)(alsa,advancedlinux?sound?architecture)進(jìn)行功能控制。盡管alsa架構(gòu)提供了豐富的音頻處理功能,但其復(fù)雜性和龐大性導(dǎo)致驅(qū)動(dòng)程序在嵌入式系統(tǒng)和資源有限的平臺(tái)上難以高效運(yùn)行。
2、此外,現(xiàn)有驅(qū)動(dòng)程序的移植性較差,尤其是在fpga等特定硬件平臺(tái)上,調(diào)整驅(qū)動(dòng)程序以適應(yīng)不同的架構(gòu)需要耗費(fèi)大量的時(shí)間和精力。由于alsa的高度封裝,用戶在面對(duì)特定應(yīng)用需求時(shí),難以對(duì)底層硬件進(jìn)行進(jìn)一步的定制和優(yōu)化,限制了驅(qū)動(dòng)程序的靈活性和適用性。此外,現(xiàn)有驅(qū)動(dòng)在處理實(shí)時(shí)性要求較高的音頻應(yīng)用時(shí),可能無法完全滿足嚴(yán)格的延遲要求,影響音頻數(shù)據(jù)的處理質(zhì)量和系統(tǒng)的穩(wěn)定性。這些因素都制約了ac108芯片在fpga平臺(tái)上的廣泛應(yīng)用和性能優(yōu)化。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明針對(duì)現(xiàn)有技術(shù)的缺陷,提供了一種基于fpga模塊的ac108音頻芯片控制系統(tǒng)和方法。
2、為了實(shí)現(xiàn)以上發(fā)明目的,本發(fā)明采取的技術(shù)方案如下:
3、一種基于fpga模塊的ac108音頻芯片控制系統(tǒng),包括以下模塊:
4、時(shí)鐘與復(fù)位管理模塊:用于生成穩(wěn)定的時(shí)鐘信號(hào),通過鎖相環(huán)pll鎖定板級(jí)晶振信號(hào),獲得所需的twi協(xié)議時(shí)鐘、ac108芯片工作時(shí)鐘和系統(tǒng)主頻。還負(fù)責(zé)生成相應(yīng)的復(fù)位信號(hào),確保系統(tǒng)在同一時(shí)鐘域內(nèi)同步運(yùn)行,減少亞穩(wěn)態(tài)現(xiàn)象。
5、i2s/pcm驅(qū)動(dòng)控制模塊:控制ac108芯片的硬件復(fù)位信號(hào)rstn,并管理音頻數(shù)據(jù)的傳輸和解析。負(fù)責(zé)音頻采樣點(diǎn)數(shù)計(jì)數(shù),負(fù)責(zé)接收用戶下發(fā)的采樣信號(hào),啟動(dòng)采樣過程,并按照twi協(xié)議向ac108芯片發(fā)送配置指令。
6、寄存器配置模塊:負(fù)責(zé)從rom中讀取寄存器數(shù)據(jù)并將其暫存到fifo中,然后將操作地址、操作長(zhǎng)度和讀寫方向等信息發(fā)送給i2s/pcm驅(qū)動(dòng)控制模塊,以完成寄存器的配置。
7、fifo模塊:用于暫存從rom中讀取的寄存器配置數(shù)據(jù),確保在傳輸給i2s/pcm驅(qū)動(dòng)控制模塊時(shí)數(shù)據(jù)順序和時(shí)序正確。
8、i2s/pcm協(xié)議底層驅(qū)動(dòng):根據(jù)配置的音頻模式,通過幀對(duì)齊時(shí)鐘、位對(duì)齊時(shí)鐘和數(shù)據(jù)線解析4通道音頻數(shù)據(jù),進(jìn)行串并轉(zhuǎn)換,并生成對(duì)應(yīng)的有效信號(hào),指示數(shù)據(jù)有效。
9、本發(fā)明還公開了一種基于上述ac108音頻芯片控制系統(tǒng)的控制方法,包括以下步驟:
10、步驟s1:上電后,通過鎖相環(huán)pll對(duì)板級(jí)晶振信號(hào)進(jìn)行鎖相,生成穩(wěn)定的時(shí)鐘信號(hào)。
11、通過倍頻和分頻,獲得twi協(xié)議時(shí)鐘信號(hào)、ac108芯片工作時(shí)鐘,以及適用于系統(tǒng)的主頻。
12、每個(gè)時(shí)鐘信號(hào)都獨(dú)立生成相應(yīng)的復(fù)位信號(hào),確保時(shí)鐘與復(fù)位信號(hào)在同一時(shí)鐘域內(nèi)同步,減少亞穩(wěn)態(tài)現(xiàn)象的發(fā)生。
13、步驟s2:i2s/pcm驅(qū)動(dòng)控制模塊將ac108芯片的復(fù)位信號(hào)rstn拉低,確保芯片中的所有寄存器恢復(fù)到初始狀態(tài)。
14、復(fù)位信號(hào)保持20ms,隨后釋放復(fù)位信號(hào),再等待20ms,以確保芯片進(jìn)入穩(wěn)定的工作狀態(tài),準(zhǔn)備接收用戶的采樣信號(hào)。
15、步驟s3:用戶發(fā)出采樣觸發(fā)信號(hào),寄存器配置模塊檢測(cè)到信號(hào)上升沿后,開始從rom中按順序讀取寄存器數(shù)據(jù),并將其暫存在i2s/pcm驅(qū)動(dòng)控制模塊的fi?fo模塊中。
16、步驟s4:fifo中存儲(chǔ)的寄存器數(shù)據(jù)準(zhǔn)備好后,寄存器配置模塊根據(jù)時(shí)序?qū)⒉僮鞯刂贰㈤L(zhǎng)度、讀寫方向發(fā)送給i2s/pcm驅(qū)動(dòng)控制模塊。
17、配置過程為:首先配置初始化信息,間隔50ms后再進(jìn)行參數(shù)信息的補(bǔ)充配置,以確保配置過程成功。
18、步驟s5:i2s/pcm驅(qū)動(dòng)控制模塊解析步驟s3中發(fā)送的操作信息,并通過twi協(xié)議向ac108芯片發(fā)送配置指令。
19、步驟s6:寄存器配置完成后,i2s/pcm協(xié)議底層驅(qū)動(dòng)根據(jù)配置的音頻模式,解析通過幀對(duì)齊時(shí)鐘、位對(duì)齊時(shí)鐘和數(shù)據(jù)線接收到的4通道音頻數(shù)據(jù),進(jìn)行串并轉(zhuǎn)換并對(duì)音頻采樣點(diǎn)計(jì)數(shù)。
20、在每一個(gè)通道上生成對(duì)應(yīng)的有效信號(hào),指示數(shù)據(jù)有效。
21、步驟s7:發(fā)送軟復(fù)位指令,將ac108芯片的寄存器恢復(fù)至初始狀態(tài),以停止采樣過程。
22、進(jìn)一步地,所述配置過程包括兩個(gè)階段:
23、配置階段1包括:供電配置、時(shí)鐘配置、使能復(fù)位配置、幀對(duì)齊時(shí)鐘配置、位對(duì)齊時(shí)鐘配置、i2s編碼配置、采樣深度配置、采樣順序配置、增益配置和模擬通道配置。
24、配置階段2包括:供電配置和采樣率配置。
25、進(jìn)一步地,所述軟復(fù)位指令的具體過程如下:
26、發(fā)送操作地址為0x30,操作數(shù)據(jù)為0x10,所對(duì)應(yīng)的寄存器名稱為i2s_ctrl。其作用是關(guān)閉幀對(duì)齊時(shí)鐘、位對(duì)齊時(shí)鐘和數(shù)據(jù)線。
27、發(fā)送操作地址為0x00,操作數(shù)據(jù)為0x12,所對(duì)應(yīng)的寄存器名稱為chip_au?dio_rst。其作用是將所有的寄存器都恢復(fù)到初始值。
28、與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)在于:
29、1.高移植性和適用性:通過使用verilog語言開發(fā),可以輕松部署在fpga平臺(tái)上,相較于依賴于alsa的現(xiàn)有驅(qū)動(dòng),具有更高的移植性和廣泛的適用性。
30、2.精確的時(shí)鐘和復(fù)位管理:利用鎖相環(huán)(pll)技術(shù)生成穩(wěn)定的時(shí)鐘信號(hào),并確保時(shí)鐘與復(fù)位信號(hào)在同一時(shí)鐘域內(nèi)同步運(yùn)行,減少了亞穩(wěn)態(tài)現(xiàn)象,保證了系統(tǒng)的穩(wěn)定性。
31、3.靈活的寄存器配置:提供兩個(gè)配置階段,可以精確控制和調(diào)整系統(tǒng)參數(shù),確保ac108芯片的各項(xiàng)功能都能正確配置和初始化,提高了系統(tǒng)的靈活性和可靠性。
32、4.多通道數(shù)據(jù)采集能力:系統(tǒng)支持4通道數(shù)據(jù)采集和解析,能夠滿足多通道音頻信號(hào)處理的需求,適用于智能語音助手、錄音器、攝像機(jī)等多種應(yīng)用場(chǎng)景。
33、5.自定義參數(shù)配置和控制:允許用戶自定義采樣參數(shù),并通過軟復(fù)位功能控制采樣過程,提供了更高的控制靈活性和系統(tǒng)操作的簡(jiǎn)便性。
1.一種基于fpga模塊的ac108音頻芯片控制系統(tǒng),其特征在于,包括以下模塊:
2.一種基于權(quán)利要求1所述的ac108音頻芯片控制系統(tǒng)的控制方法,其特征在于,包括以下步驟:
3.根據(jù)權(quán)利要求2所述的控制方法,其特征在于:所述配置過程包括兩個(gè)階段:
4.根據(jù)權(quán)利要求2所述的控制方法,其特征在于:所述軟復(fù)位指令的具體過程如下: