免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

FPGA音頻回環(huán):WM8731與DE2板I2C/I2S全鏈路打通

FPGA音頻回環(huán):WM8731與DE2板I2C/I2S全鏈路打通 簡(jiǎn)介一個(gè)基于Altera DE2開發(fā)板EP2C35F672C6 FPGA與WM8731音頻編解碼器的完整音頻處理工程覆蓋從模擬音頻輸入、ADC數(shù)字化采樣、FPGA內(nèi)部處理、DAC重建到最終模擬輸出的全鏈路適合正在學(xué)習(xí)FPGA數(shù)字邏輯設(shè)計(jì)、音頻編解碼協(xié)議或嵌入式音頻應(yīng)用的開發(fā)者。音頻信號(hào)先由WM8731內(nèi)置ADC完成采樣量化通過(guò)I2S串行總線和分頻后的SCLK/LRCK時(shí)鐘送入FPGAFPGA內(nèi)部可執(zhí)行濾波、增益或混音等處理隨后將結(jié)果送回同芯片的DAC輸出。開發(fā)者參照DE2官方范例重寫了代碼精簡(jiǎn)了時(shí)序控制與數(shù)據(jù)搬運(yùn)邏輯使整體結(jié)構(gòu)更清晰便于理解Master/Slave同步機(jī)制與采樣字長(zhǎng)匹配等關(guān)鍵點(diǎn)。壓縮包共133個(gè)文件體積約911KB以Verilog源碼為主要學(xué)習(xí)對(duì)象同時(shí)包含Quartus工程配置、編譯報(bào)告、綜合數(shù)據(jù)庫(kù)與FPGA下載文件能夠從RTL級(jí)到布局布線逐層查看工程生成過(guò)程方便復(fù)盤與二次開發(fā)。已有826人學(xué)習(xí)下載。其中不僅有可直接運(yùn)行的音頻通路代碼還展示了如何用I2S接口讓FPGA與WM8731可靠協(xié)同工作對(duì)掌握ADC/DAC數(shù)據(jù)交互、時(shí)鐘樹設(shè)計(jì)和基礎(chǔ)音頻處理算法都有實(shí)際幫助適合課設(shè)或畢設(shè)階段參考。1. 從「音頻回環(huán)」入門 FPGA 數(shù)字信號(hào)鏈路WM8731 與 DE2 板的一次完整打通手頭有一塊 DE2-EP2C35F672C6 開發(fā)板想驗(yàn)證 FPGA 在真實(shí)信號(hào)鏈路里到底能干什么最簡(jiǎn)單的切入點(diǎn)不是寫流水燈而是把板載的 WM8731 音頻編解碼芯片用起來(lái)LINE IN 進(jìn)模擬信號(hào)芯片內(nèi)部 ADC 轉(zhuǎn)成數(shù)字流FPGA 拿到數(shù)據(jù)后原樣丟給 DAC再?gòu)亩鷻C(jī)口聽到自己的聲音。這個(gè)項(xiàng)目看起來(lái)只是「輸入到輸出」的直通實(shí)際拆開會(huì)發(fā)現(xiàn)里面藏著一整套數(shù)字音頻系統(tǒng)的骨架——I2C 寄存器配置、I2S 時(shí)序?qū)R、主從時(shí)鐘同步、左右聲道采樣拼接任何一個(gè)環(huán)節(jié)沒做對(duì)出來(lái)的就是噪聲或者干脆靜音。適合手里有同款或類似開發(fā)板、想從點(diǎn)燈進(jìn)階到真實(shí)信號(hào)處理的開發(fā)者也適合正在啃音頻協(xié)議、想找個(gè)能跑通的參考實(shí)現(xiàn)的人。項(xiàng)目最終交付的不是一句「Hello World」而是一條能通、能改、能繼續(xù)往上加效果的完整音頻通路。2. 硬件鏈路與工程結(jié)構(gòu)從 WM8731 芯片手冊(cè)到 FPGA 引腳約束2.1 信號(hào)鏈路全景模擬入、數(shù)字處理、模擬出整條鏈路的核心是板載的 WM8731 編解碼芯片這是一顆低功耗立體聲音頻 codec內(nèi)部集成了 ADC、DAC、耳機(jī)驅(qū)動(dòng)和完整的時(shí)鐘管理單元。信號(hào)走向很直觀外部音頻從 LINE IN 接口進(jìn)入經(jīng)過(guò) WM8731 內(nèi)部 ADC 按設(shè)定的采樣率轉(zhuǎn)成數(shù)字信號(hào)通過(guò) I2S 總線送給 FPGAFPGA 在內(nèi)部做處理——本項(xiàng)目里是直通或軟件可控的回環(huán)處理完的數(shù)據(jù)再經(jīng) I2S 總線送回 WM8731 的 DAC轉(zhuǎn)為模擬信號(hào)從耳機(jī)接口輸出。FPGA 夾在中間既是數(shù)據(jù)搬運(yùn)工也是未來(lái)接入 DSP 算法的主戰(zhàn)場(chǎng)。WM8731 與 FPGA 之間的接口分兩路一路是 I2C負(fù)責(zé)配置芯片內(nèi)部寄存器包括采樣率、輸入輸出增益、電源管理等另一路是 I2S承載實(shí)時(shí)音頻數(shù)據(jù)流。I2C 配置通路決定了芯片的工作模式I2S 數(shù)據(jù)通路決定了音頻數(shù)據(jù)能否無(wú)損傳輸兩條路缺一不可。所以項(xiàng)目里最核心的工作就是兩件事寫一個(gè)能用的 I2C 控制器完成初始化再寫一個(gè)時(shí)序正確的 I2S 收發(fā)器把數(shù)據(jù)跑起來(lái)。2.2 引腳分配與工程目錄EP2C35F672C6 的板級(jí)約束EP2C35F672C6 是 Cyclone II 系列 FPGA672 個(gè)引腳的 FBGA 封裝DE2 板把 WM8731 接到了 FPGA 的特定引腳上。在寫邏輯之前必須先確認(rèn)引腳約束。常見的分配方式如下set_location_assignment PIN_AC21 -to AUD_ADC_DAT set_location_assignment PIN_AF24 -to AUD_BCLK set_location_assignment PIN_AB23 -to AUD_DAC_DAT set_location_assignment PIN_AC22 -to AUD_DACLRCK set_location_assignment PIN_AB22 -to AUD_ADCLRCK set_location_assignment PIN_AE23 -to AUD_MCLK set_location_assignment PIN_AE25 -to AUD_I2C_SCLK set_location_assignment PIN_AD25 -to AUD_I2C_SDAT這段約束里AUD_ADC_DAT是 WM8731 的 ADC 串行數(shù)據(jù)輸出數(shù)據(jù)從芯片流向 FPGAAUD_DAC_DAT是 DAC 數(shù)據(jù)輸入數(shù)據(jù)從 FPGA 流向芯片AUD_BCLK是位時(shí)鐘AUD_DACLRCK和AUD_ADCLRCK分別是 DAC 和 ADC 的左右聲道幀同步信號(hào)AUD_MCLK是主時(shí)鐘。這些引腳名在 DE2 板附帶的使用手冊(cè)里有明確標(biāo)注約束文件的本質(zhì)就是把 FPGA 的物理引腳和邏輯信號(hào)對(duì)應(yīng)起來(lái)。如果這里寫錯(cuò)一個(gè)引腳編號(hào)整個(gè)工程燒進(jìn)去之后音頻通路就是斷的而且很難排查。工程目錄我習(xí)慣按功能拆分rtl目錄放 RTL 代碼包含頂層模塊、I2C 控制器、I2S 收發(fā)器db和incremental_db是綜合布局布線產(chǎn)生的中間目錄quartus目錄放工程文件sim放仿真用的 testbench。頂層模塊負(fù)責(zé)例化子模塊和連接信號(hào)I2C 控制器負(fù)責(zé)初始化 codecI2S 收發(fā)器負(fù)責(zé)音頻數(shù)據(jù)搬運(yùn)。這樣的結(jié)構(gòu)保證了音頻鏈路每一段都是獨(dú)立可替換的后續(xù)加效果器或?yàn)V波器時(shí)不影響基礎(chǔ)通路。3. 寄存器配置編寫手寫 I2C 控制器驅(qū)動(dòng) WM8731 初始化3.1 WM8731 寄存器映射與默認(rèn)值推導(dǎo)WM8731 內(nèi)部寄存器是 7 位地址加 9 位數(shù)據(jù)通過(guò) I2C 總線訪問(wèn)芯片的 I2C 地址是 0x1A7 位地址寫操作時(shí)發(fā)送 0x34。項(xiàng)目需要配置的寄存器不多核心是以下幾個(gè)寄存器 0 是左聲道輸入音量寄存器 2 是右聲道輸入音量寄存器 4 是模擬音頻通路控制寄存器 6 是數(shù)字音頻通路控制寄存器 8 是采樣率控制寄存器 12 是激活使能寄存器 15 是重置。localparam CFG_START 8d0; localparam CFG_RESET {7h0F, 9h000}; // 重置信道復(fù)位所有寄存器 localparam CFG_LINEIN {7h00, 9h017}; // 左聲道輸入音量 0dB開啟輸入 localparam CFG_LINEIN_R {7h02, 9h017}; // 右聲道輸入音量 0dB開啟輸入 localparam CFG_ANAPATH {7h04, 9h012}; // 模擬通路DAC 直通不經(jīng)過(guò)混音 localparam CFG_DEEMP {7h06, 9h000}; // 數(shù)字通路關(guān)掉去加重關(guān)掉軟靜音 localparam CFG_SRATE {7h08, 9h01E}; // 采樣率 48kHzMCLK18.432MHz localparam CFG_ACTIVE {7h0C, 9h001}; // 激活接口開始傳輸音頻CFG_RESET這條配置要在上電后第一時(shí)間發(fā)送把芯片恢復(fù)到已知狀態(tài)。0x0F 寄存器寫入 0x000 后所有寄存器回到默認(rèn)值后續(xù)配置從干凈狀態(tài)開始。CFG_LINEIN和CFG_LINEIN_R把左右聲道輸入音量設(shè)在 0dB確保信號(hào)不被衰減。CFG_ANAPATH選擇了 DAC 到耳機(jī)輸出的直通路徑繞開模擬混音器——這個(gè)項(xiàng)目里我們用數(shù)字回環(huán)模擬混音器只會(huì)增加噪聲。CFG_SRATE的 0x01E 對(duì)應(yīng) 48kHz 采樣率這里寫的是芯片手冊(cè)里的推薦配置值MCLK 由 FPGA 側(cè)提供 18.432MHz 時(shí)鐘。3.2 I2C 控制器狀態(tài)機(jī)實(shí)現(xiàn)與字節(jié)級(jí)時(shí)序I2C 控制器是本項(xiàng)目第一個(gè)硬骨頭。WM8731 的 I2C 時(shí)序要求起始條件 SCL 高電平時(shí) SDA 下降沿停止條件 SCL 高電平時(shí) SDA 上升沿?cái)?shù)據(jù)在 SCL 高電平期間必須保持穩(wěn)定。FPGA 作為主機(jī)需要主動(dòng)產(chǎn)生這些時(shí)序信號(hào)。我一般用一個(gè)三段式狀態(tài)機(jī)來(lái)寫把發(fā)送過(guò)程拆成 IDLE、START、SHIFT、ACK、STOP 等幾個(gè)狀態(tài)。module i2c_master ( input clk, // 50MHz 板載時(shí)鐘 input start, // 啟動(dòng)一次傳輸 input [15:0] data, // 要發(fā)送的數(shù)據(jù)高 8 位是寄存器地址低 8 位是數(shù)據(jù) output reg done, // 傳輸完成標(biāo)志 output reg scl, // I2C 時(shí)鐘線 inout sda // I2C 數(shù)據(jù)線 ); parameter CLK_DIV 50; // 50MHz 分頻到約 100kHz SCL符合 I2C 標(biāo)準(zhǔn) reg [6:0] clk_cnt; reg [4:0] state; reg [4:0] bit_cnt; reg [15:0] tx_buf; reg sda_out; localparam IDLE 5d0, START 5d1, SEND 5d2, ACK 5d3, STOP 5d4; assign sda sda_out ? 1bz : 1b0; always (posedge clk) begin if (clk_cnt CLK_DIV) clk_cnt 0; else clk_cnt clk_cnt 1; end always (posedge clk) begin if (clk_cnt 0) begin case (state) IDLE: begin if (start) begin state START; tx_buf data; bit_cnt 16; scl 1b1; sda_out 1b1; end end START: begin sda_out 1b0; // SCL 高電平期間 SDA 拉低產(chǎn)生起始條件 scl 1b0; state SEND; end SEND: begin scl 1b1; sda_out tx_buf[15]; // 先發(fā)最高位 tx_buf {tx_buf[14:0], 1b0}; bit_cnt bit_cnt - 1; if (bit_cnt 1) state ACK; // 數(shù)據(jù)段發(fā)送完畢進(jìn)入應(yīng)答 else scl 1b0; end ACK: begin sda_out 1b1; // 釋放 SDA讀應(yīng)答位 scl 1b0; state STOP; end STOP: begin scl 1b1; sda_out 1b1; // SCL 高電平期間 SDA 拉高產(chǎn)生停止條件 state IDLE; done 1b1; end endcase end end endmodule這個(gè)控制器的每個(gè)狀態(tài)都在 SCL 為低電平時(shí)切換 SDA在 SCL 為高電平時(shí)數(shù)據(jù)保持穩(wěn)定嚴(yán)格滿足 I2C 協(xié)議。CLK_DIV是個(gè)關(guān)鍵參數(shù)50MHz 主頻分頻到 100kHz SCL這個(gè)是標(biāo)準(zhǔn)模式的上限WM8731 完全兼容。如果后續(xù)想加快初始化速度可以把分頻系數(shù)改小但要注意芯片的 SCL 最高頻率限制。data端口接收 16 位數(shù)據(jù)WM8731 實(shí)際使用的是 7 位寄存器地址加 9 位數(shù)據(jù)多余的位數(shù)在發(fā)送時(shí)會(huì)是無(wú)效位但芯片會(huì)忽略。3.3 配置時(shí)序與上電初始化流程I2C 控制器寫好后還不能直接往 WM8731 灌配置。芯片上電后需要等待電源穩(wěn)定然后依次發(fā)送配置項(xiàng)。我用一個(gè)簡(jiǎn)單的計(jì)數(shù)器來(lái)觸發(fā)逐條發(fā)送上電后延時(shí) 100ms拉高start信號(hào)第一條配置是 RESET等待done標(biāo)志回落后發(fā)下一條。當(dāng)十二條配置全部發(fā)送完成置位cfg_done這時(shí) FPGA 才能開始往 I2S 數(shù)據(jù)線上送數(shù)據(jù)。實(shí)際調(diào)試中容易翻車的地方在 ACK 狀態(tài)。我習(xí)慣把 I2C 的sda管腳配置成inout在 ACK 狀態(tài)下把sda_out拉高釋放總線然后等 WM8731 把 SDA 拉低表示應(yīng)答。如果芯片沒有正確上電或者地址寫錯(cuò)SDA 會(huì)一直保持高電平這時(shí)done標(biāo)志照樣會(huì)拉起但 WM8731 根本沒收到配置。排查這種問(wèn)題的方法很簡(jiǎn)單在仿真里看 ACK 位是不是低電平或者用一個(gè) IO 拉高連接到邏輯分析儀上看波形。4. 數(shù)據(jù)通路實(shí)現(xiàn)I2S 收發(fā)器與頂層的持續(xù)回環(huán)4.1 I2S 時(shí)序協(xié)議位時(shí)鐘、幀同步與數(shù)據(jù)對(duì)齊WM8731 配置完成后音頻數(shù)據(jù)通過(guò) I2S 總線傳輸。I2S 協(xié)議有三個(gè)關(guān)鍵信號(hào)BCLK 是位時(shí)鐘每個(gè)時(shí)鐘周期傳輸一位數(shù)據(jù)LRCK 是幀同步信號(hào)高電平表示右聲道低電平表示左聲道DAT 是串行數(shù)據(jù)線。WM8731 工作在從機(jī)模式時(shí)BCLK 和 LRCK 都可以由 FPGA 產(chǎn)生。但要注意本項(xiàng)目中 WM8731 是主機(jī)它自己會(huì)產(chǎn)生 BCLK 和 LRCKFPGA 只需要提供主時(shí)鐘 MCLK 并讀取數(shù)據(jù)。我用的是主機(jī)模式FPGA 自己產(chǎn)生 BCLK 和 LRCKWM8731 作為從機(jī)接收。這樣做的優(yōu)點(diǎn)是不用擔(dān)心 MCLK 分頻系數(shù)的計(jì)算錯(cuò)誤只要保證 BCLK 是 48kHz 的整數(shù)倍即可。BCLK 頻率通常是 采樣率乘以位寬乘以通道數(shù)48kHz 乘 16 位乘 2 通道等于 1.536MHz。LRCK 的頻率就是采樣率本身每隔 32 個(gè) BCLK 周期翻轉(zhuǎn)一次。4.2 I2S 收發(fā)模塊的 Verilog 實(shí)現(xiàn)module i2s_transceiver ( input clk, // 板載 50MHz 時(shí)鐘 input rst_n, // 異步復(fù)位 input mclk, // WM8731 主時(shí)鐘輸出18.432MHz input i2s_bclk, // 位時(shí)鐘由 FPGA 內(nèi)部產(chǎn)生 input i2s_lrck, // 左右聲道幀同步 output reg dac_dat, // FPGA 到 WM8731 DAC 的數(shù)據(jù) input adc_dat, // WM8731 ADC 到 FPGA 的數(shù)據(jù) output reg [15:0] left_out, // 左聲道數(shù)據(jù)輸出 output reg [15:0] right_out, // 右聲道數(shù)據(jù)輸出 input [15:0] left_in, // 左聲道數(shù)據(jù)輸入 input [15:0] right_in // 右聲道數(shù)據(jù)輸入 ); reg [4:0] bit_count; reg [15:0] shift_out; reg [15:0] shift_in; always (posedge i2s_bclk or negedge rst_n) begin if (!rst_n) begin bit_count 0; shift_out 0; shift_in 0; end else begin if (i2s_lrck 1b0) begin // 左聲道采樣周期 if (bit_count 0) begin left_out {shift_in[14:0], adc_dat}; // 串行轉(zhuǎn)并行累積 shift_out left_in; shift_in 0; end bit_count bit_count 1; shift_out {shift_out[14:0], 1b0}; dac_dat shift_out[15]; shift_in {shift_in[14:0], adc_dat}; end else begin // 右聲道采樣周期 // 邏輯與左聲道一致將 right_in / right_out 對(duì)應(yīng)替換 bit_count bit_count 1; end end end endmodule這段代碼的核心思路是在 LRCK 為低電平時(shí)每個(gè) BCLK 上升沿從adc_dat采一位寫入shift_in16 個(gè)位時(shí)鐘后得到一個(gè)完整的左聲道樣本發(fā)送側(cè)則把left_in載入shift_out每個(gè) BCLK 上升沿從最高位逐位移出到dac_dat。LRCK 翻轉(zhuǎn)后進(jìn)入右聲道周期邏輯相同。數(shù)據(jù)位寬是 16 位這也是 WM8731 的默認(rèn)字長(zhǎng)。bit_count計(jì)數(shù)到 16 時(shí)自動(dòng)歸零等待下一個(gè)聲道周期開始。需要留意的是I2S 數(shù)據(jù)是 MSB 先行且數(shù)據(jù)比 LRCK 翻轉(zhuǎn)晚一個(gè)位時(shí)鐘。這意味著發(fā)送側(cè)在 LRCK 變低后的第一個(gè) BCLK 上升沿不能立即發(fā)送數(shù)據(jù)的最高位而是要延時(shí)一拍。我在模塊里用shift_out預(yù)先載入數(shù)據(jù)在 LRCK 有效后的第二個(gè) BCLK 沿開始輸出就是為了滿足這個(gè)時(shí)序要求。如果這里不處理左右聲道的數(shù)據(jù)會(huì)整體錯(cuò)位一個(gè)位時(shí)鐘聽感上出現(xiàn)明顯的卡頓。4.3 頂層模塊把 I2C 與 I2S 拼接成完整通路頂層模塊的任務(wù)是實(shí)例化前面兩個(gè)子模塊把它們連接成一條可用的通路。I2C 控制器用 50MHz 時(shí)鐘驅(qū)動(dòng)I2S 收發(fā)器用 BCLK 和 LRCK 驅(qū)動(dòng)。這里有個(gè)容易踩坑的地方——不同時(shí)鐘域的信號(hào)不能直接混用。I2C 的done標(biāo)志是 50MHz 時(shí)鐘域的信號(hào)I2S 的left_out數(shù)據(jù)是 BCLK 時(shí)鐘域的信號(hào)如果直接互相賦值綜合工具會(huì)報(bào)跨時(shí)鐘域警告而且要擔(dān)心亞穩(wěn)態(tài)問(wèn)題。module audio_top ( input clk_50m, // 板載 50MHz 時(shí)鐘 input rst_n, // 復(fù)位按鈕 inout AUD_I2C_SDAT, // WM8731 I2C 數(shù)據(jù)線 output AUD_I2C_SCLK, // WM8731 I2C 時(shí)鐘線 output AUD_MCLK, // WM8731 主時(shí)鐘 input AUD_ADC_DAT, // ADC 數(shù)據(jù)輸入 output AUD_DAC_DAT, // DAC 數(shù)據(jù)輸出 output AUD_BCLK, // 位時(shí)鐘 output AUD_LRCK // 幀同步 ); wire cfg_done; wire [15:0] adc_left, adc_right; wire [15:0] dac_left, dac_right; // 相位累加器產(chǎn)生 MCLK18.432MHz用 PLL 或計(jì)數(shù)器分頻產(chǎn)生 assign AUD_LRCK bclk_div ? ... // 從 BCLK 計(jì)數(shù)器產(chǎn)生 48kHz 幀同步 i2c_master u_i2c ( .clk(clk_50m), .start(start_config), .data(config_data), .done(config_done), .scl(AUD_I2C_SCLK), .sda(AUD_I2C_SDAT) ); i2s_transceiver u_i2s ( .clk(clk_50m), .rst_n(rst_n), .i2s_bclk(AUD_BCLK), .i2s_lrck(AUD_LRCK), .adc_dat(AUD_ADC_DAT), .dac_dat(AUD_DAC_DAT), .left_out(adc_left), .right_out(adc_right), .left_in(dac_left), .right_in(dac_right) ); assign dac_left adc_left; // 直通回環(huán) assign dac_right adc_right; endmodule頂層模塊里最容易被忽視的是 MCLK 的產(chǎn)生。WM8731 需要一個(gè)主時(shí)鐘輸入頻率必須是采樣率的整數(shù)倍常見的有 12.288MHz 和 18.432MHz。DE2 板上有 50MHz 晶振直接分頻得不到這兩個(gè)頻率所以項(xiàng)目里用 FPGA 內(nèi)置 PLL 來(lái)生成。如果你用的開發(fā)板沒有音頻專用晶振這一步是跑不通的。一個(gè)替代方案是把 WM8731 工作在自動(dòng)時(shí)鐘檢測(cè)模式通過(guò)芯片內(nèi)部 PLL 從 BCLK 恢復(fù)主時(shí)鐘但這樣配置寄存器和 MCLK 引腳連接都要改不推薦第一次做就選這條路。5. 常見問(wèn)題排查音頻回環(huán)不出聲的五個(gè)典型原因5.1 現(xiàn)象是靜音原因是 I2C 配置根本沒送進(jìn)去上板之后最典型的失敗現(xiàn)象是無(wú)論怎么調(diào)整音量旋鈕耳機(jī)里一點(diǎn)聲音都沒有。先不急著懷疑代碼先看 I2C 波形。把邏輯分析儀接到AUD_I2C_SCLK和AUD_I2C_SDAT上抓上電瞬間的信號(hào)。如果 SCL 沒有時(shí)鐘或者 SDA 一直為高說(shuō)明 I2C 控制器沒有工作。這時(shí)檢查復(fù)位信號(hào)是否釋放、狀態(tài)機(jī)是否卡在 IDLE、start脈沖是否正確產(chǎn)生。有時(shí)候 I2C 波形正常但 WM8731 還是不工作這時(shí)候就要檢查 ACK 位。芯片正確應(yīng)答時(shí)會(huì)在第 9 個(gè)時(shí)鐘周期把 SDA 拉低如果 SDA 一直高說(shuō)明芯片根本沒收到完整數(shù)據(jù)。常見原因是 I2C 地址錯(cuò)誤——WM8731 的 CSB 引腳接地時(shí)地址是 0x1A接高電平是 0x1B如果板子上的地址引腳被拉高而你用了 0x1A芯片自然不會(huì)回應(yīng)。這個(gè)坑我見過(guò)多次。解決用萬(wàn)用表量一下 CSB 引腳電平或者干脆在代碼里把兩個(gè)地址都試一遍。5.2 現(xiàn)象是刺耳噪聲原因是左右聲道數(shù)據(jù)錯(cuò)位另一種常見故障是音頻能出聲但聲音像機(jī)器人說(shuō)話一樣機(jī)械且斷續(xù)或者左右聲道明顯錯(cuò)位。這種問(wèn)題基本出在 I2S 時(shí)序?qū)R上。I2S 協(xié)議規(guī)定數(shù)據(jù)比 LRCK 翻轉(zhuǎn)晚一個(gè) BCLK如果發(fā)送模塊在 LRCK 翻轉(zhuǎn)的同一個(gè)沿就送出第一位數(shù)據(jù)接收端會(huì)把前一個(gè)聲道的最后一位當(dāng)成新聲道的起始位整個(gè)數(shù)據(jù)流錯(cuò)位一位。解決在發(fā)送模塊里增加一拍延時(shí)確保第一個(gè) bit 出現(xiàn)在 LRCK 翻轉(zhuǎn)后的第二個(gè) BCLK 沿。還有一種錯(cuò)位是左右聲道數(shù)據(jù)互換聽起來(lái)像聲場(chǎng)翻轉(zhuǎn)但聲音本身是連續(xù)的。這是 LRCK 極性接反了。WM8731 的 LRCK 高電平對(duì)應(yīng)右聲道如果你在代碼里把高電平當(dāng)成了左聲道左右就換過(guò)來(lái)了。檢查一下接收模塊里處理 LRCK 電平的分支邏輯交換兩個(gè)分支即可。5.3 現(xiàn)象是電流底噪原因是模擬地與數(shù)字地處理不當(dāng)如果聲音能出來(lái)但伴隨持續(xù)的白噪聲或 50Hz 交流聲且音量隨輸入增益增大而增大那問(wèn)題大概率在模擬前端。WM8731 是混合信號(hào)芯片模擬地和數(shù)字地雖然是同一個(gè)封裝但 PCB 上通常分開鋪設(shè)。DE2 板上已經(jīng)做了隔離我們能做的有限但有一點(diǎn)必須注意耳機(jī)插頭地線和 LINE IN 地線如果接觸不良噪聲會(huì)異常明顯。這種情況在開發(fā)板上沒有太好的軟件優(yōu)化手段可以試著降低輸入增益減少模擬前端的噪聲放大。如果是 FPGA 側(cè)帶來(lái)的噪聲檢查 MCLK 的質(zhì)量。MCLK 抖動(dòng)過(guò)大會(huì)直接惡化 ADC 和 DAC 的時(shí)鐘同步精度導(dǎo)致輸出波形毛刺增多。用示波器看 MCLK 引腳如果上升沿不陡峭或存在明顯抖動(dòng)檢查 PLL 配置是否正確。我在項(xiàng)目里把 PLL 的輸出時(shí)鐘定為 18.432MHz并且加了一級(jí) BUFG 全局時(shí)鐘緩沖確保到 WM8731 的時(shí)鐘路徑足夠干凈。5.4 現(xiàn)象是上電后必須按復(fù)位才發(fā)聲原因是初始化時(shí)序沒做完有些開發(fā)者會(huì)遇到一種奇怪現(xiàn)象每次上電后需要手動(dòng)按一下復(fù)位按鈕音頻通路才正常。這說(shuō)明 WM8731 的初始化流程在時(shí)序上落后于上電I2C 配置是在復(fù)位釋放之前就開始發(fā)送或者復(fù)位釋放后 FPGA 立刻去讀 ADC 數(shù)據(jù)而芯片還沒來(lái)得及完成內(nèi)部初始化。解決在復(fù)位釋放后加一個(gè)計(jì)數(shù)器延時(shí)至少等待 10ms 讓 WM8731 的模擬電路穩(wěn)定再啟動(dòng) I2C 配置流程。這個(gè)延時(shí)用 50MHz 時(shí)鐘計(jì)數(shù)很容易實(shí)現(xiàn)500000 個(gè)時(shí)鐘周期就是 10ms。5.5 現(xiàn)象是采樣率聽起來(lái)不對(duì)原因是幀同步頻率偏了最后一種現(xiàn)象是音頻能播放但音調(diào)明顯偏高或偏低。這說(shuō)明AUD_LRCK的頻率不是 48kHz。LRCK 是 BCLK 分頻產(chǎn)生的BCLK 如果由 PLL 產(chǎn)生要檢查 PLL 分頻參數(shù)是否算錯(cuò)。比如 18.432MHz 的 MCLK 如果被誤當(dāng)成 50MHz 來(lái)分頻得到的 LRCK 頻率會(huì)差近三倍。這種情況下音樂速率變得離譜基本可以斷定是分頻參數(shù)的問(wèn)題。用頻率計(jì)或示波器測(cè)一下 LRCK 的實(shí)際頻率把它調(diào)回 48kHz 附近即可。6. 二次開發(fā)給音頻通路加一個(gè)實(shí)時(shí)音量調(diào)節(jié)和數(shù)字增益6.1 在數(shù)據(jù)通路上插入乘法器實(shí)現(xiàn)音量控制基礎(chǔ)回環(huán)跑通之后最能體現(xiàn) FPGA 優(yōu)勢(shì)的改造是加數(shù)字增益控制。既然 ADC 輸出的數(shù)據(jù)已經(jīng)以 16 位并行形式到達(dá) FPGA完全可以在直通鏈路上插入一個(gè)乘法器用撥碼開關(guān)控制增益系數(shù)實(shí)現(xiàn)數(shù)字音量調(diào)節(jié)。設(shè)計(jì)思路如下把左右聲道的left_in和right_in分別乘以一個(gè)可配置的增益系數(shù)乘法結(jié)果截位后送入 DAC。增益系數(shù)用一個(gè) 16 位寄存器保存每撥動(dòng)一次撥碼開關(guān)寄存器加或減一個(gè)固定步進(jìn)。這個(gè)改造有個(gè)典型陷阱16 位乘以 16 位得到 32 位結(jié)果如果直接把低 16 位送給 DAC聲音會(huì)嚴(yán)重失真甚至爆音。正確做法是保留高 16 位或者做帶符號(hào)飽和處理。我一般這樣處理乘法結(jié)果右移 8 位再判斷是否溢出若溢出則鉗位到最大正值或最小負(fù)值。這樣音量調(diào)節(jié)的步進(jìn)是 1/256足夠細(xì)膩同時(shí)避免了截位帶來(lái)的削波噪聲。6.2 順著通路加一個(gè)簡(jiǎn)單的低通濾波驗(yàn)證可擴(kuò)展性音量控制之外另一條值得動(dòng)手的路徑是插一個(gè)數(shù)字濾波器。在i2s_transceiver的數(shù)據(jù)輸出端串聯(lián)一個(gè)一階 IIR 低通濾波器系數(shù)固定截止頻率設(shè)在 8kHz 左右。這個(gè)改動(dòng)只涉及組合邏輯和一個(gè)狀態(tài)寄存器不需要改 I2C 配置和 I2S 時(shí)序。濾波器結(jié)構(gòu)是標(biāo)準(zhǔn)的差分方程y[n] y[n-1] alpha * (x[n] - y[n-1])alpha 取 0.2 左右。乘法和加法都放在 BCLK 域內(nèi)注意控制時(shí)序避免產(chǎn)生組合邏輯環(huán)路。這樣做的好處是驗(yàn)證 FPGA 處理信號(hào)的能力已經(jīng)從「搬運(yùn)數(shù)據(jù)」進(jìn)化到「變換數(shù)據(jù)」而這正是后續(xù)做均衡器、回聲、降噪算法的第一步。把 alpha 系數(shù)也做成可配置就能在運(yùn)行時(shí)切換濾波效果。再往后如果對(duì)時(shí)延不敏感還可以把數(shù)據(jù)緩存到片內(nèi) RAM 做延遲效果配合撥碼開關(guān)做簡(jiǎn)單的回聲。6.3 從直通到算法的改造驗(yàn)證方法每次改動(dòng)后最直接的驗(yàn)證方法是播放一段自己熟悉的音樂——最好是對(duì)人聲和低頻都有清晰辨識(shí)度的曲目然后切換增益系數(shù)聽音量變化是否線性切換濾波器參數(shù)聽高頻是否明顯衰減。用示波器量 DAC 輸出腳的波形也能看出濾波器的痕跡原始方波信號(hào)經(jīng)過(guò)低通濾波后邊緣會(huì)變得圓滑。我從這個(gè)項(xiàng)目里學(xué)到的最重要一課是FPGA 工程調(diào)試永遠(yuǎn)先從鏈路末端往前查。音頻聲卡無(wú)聲先摸 I2CI2C 通了查幀同步幀同步對(duì)了我才去動(dòng)信號(hào)處理邏輯。順序一亂就會(huì)陷入同時(shí)懷疑所有模塊的狀態(tài)誰(shuí)也查不出來(lái)。從那以后我每加一個(gè)模塊都會(huì)在它入口打一個(gè)debug標(biāo)志先確認(rèn)真數(shù)據(jù)進(jìn)來(lái)了再看它出去的是什么。這個(gè)習(xí)慣讓我少走很多彎路希望也能幫你在調(diào) FPGA 音頻的時(shí)候少踩幾個(gè)坑。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
玖玖资源站视频| 亚洲视频一区| Jh7Uf088VHafNm| 日本9区视频| 97色欧美| 综合色色色| 免费的日逼视频| 欧美婷婷综合| 久久婷婷丁香花综合网| 色综合五月天| 另类在线| 日本3级片一区2区| 俺去也五月天婷婷| 99热这里只有精品一区| 五月丁香伊人网| 国产在线黄色| 99热在线观看精品| 久久色9| 亚韩在线视频| 类似婷婷激情综合网站| 久久婷婷综合五月趴| 九九热这里只有精品7| 9久热在线视频| 97精品综合久久| 色色色99| 能看的AV| 99热这里| 色色色热| 五月婷婷视频| 偷偷操99| 久大香蕉| 五月婷婷六月丁香| 婷婷丁香人妻天天爽| 色婷婷五月视频| 丁香五月视频在线观看| 天天做综合网色综合| 99热99成人| 91av视频在线观看最新网址| 人妖色AV色综合| 国产偷人爽久久久久久老妇APP| 亚洲精品午夜国产va久久成人| 欧美这里只有精品| 超碰色综合| 欧美婷婷五月天| 青青草婷婷综合五月| 丁香婷最新动态| 日本精品干| 九九爱激情| 99噜噜噜在线播放| 91九九九九| 激情五月天婷婷| 中文资源在线a| 99热网址| 9+1视频网址| 26uuu视频欧美| 色婷婷久久综合| 天天色丁香| 先锋资源91| 成人毛片在线免费观看| 99熟女| 九九AV在线| 伦乱天堂| 色性日本| 色色免费网站| 亚洲日本韩国| 国产色香蕉精品五夜婷| 成人在线精品| 777丁香六月青青草婷婷综合久月| 看黄的网站18禁| 思思视频精品| 色婷婷小说网| 婷婷激情四射| 日本理论久久| 五月婷婷六月丁香激情深爱| 人妻操在线看| 92久久| 人人摸人人操人人爽| 五月丁香综合啪啪| 五月久久丁香| 欧美日韩123| 日本久久高清| 婷婷涩五月天综合| 久久最新色| www久久久| 亚洲精品亚洲人成人网| 日韩一级| 那里有AV网址| 五月婷婷说| 婷婷五月天免费视频| 99热91| 亚洲五月丁香综合网| 五月天天丁香婷婷在线中| 成人五月天婷婷| 欧洲永久精品| 996日日爱| 久久婷婷五月综合激情国产 | 丁香五月影院| 97丨九色丨国产丨PORNY| av在线婷婷| 丁香香蕉婷婷| 激情综合网,婷婷| 九九亚洲视频| 97精品人人A片免费看| 日本A片一区| 9热精品| 久久99激情| 色五月亚洲开心网| 亚洲亚洲人成综合网络| 99日精品视频| 天天情色综合网| 亚洲乱码w在线观看| 久久精品性爱| 91婷婷色| 成功精品影院| 99热在线网站| 久久亚洲婷婷| 中文字幕按摩做爰| 狠狠色丁香五月婷巨| 丁香五月婷婷视频| 五月天色色色网| 亚洲婷婷91丁香| 人妻精品久久久久久| 成人av中文字幕| 99热最新国内| 婷婷伊人五月| 日本精品人妻无码77777| www.sebowuyue| 亚洲精品操一操、噜一噜、摸一摸、爽| 丁香五月婷婷在线观看| 久热精彩视频98| XXXX岛国| 国产毛片欧美毛片久久久| 久碰综合| 91久久九久久九久久九久久九久久| 国产看真人毛片爱做A片| BT综合在线视频观看| 五月激情婷婷女| 九九人人操| 丁香五月天堂网| 婷婷五月激情的图片| 丁香影院五月综合| 中文av网| 五月丁香琪琪| 综合久| 伊人色五月| 玖玖精品视频| 国产成人在线不卡AV| 五月激情综| 色色婷婷综合| 久久偷拍综合五月天| 丁香五月天影院| 色爱终和网| 96自拍视频九色在线观看| 九九热在线观看6| 激情综合色婷婷啪啪六月天| 99re免费精品视频| 婷婷色影院| 开心婷婷中文字慕| 色135综合网| 亚洲性爱99| 99这里只有精品视频| 操人无码| 日本二级毛片二级毛片| 美女五月狠狠| 热九九在线| 久久性爱视频| 久久精品亚洲一级牲爱综合| 99热在线资源| 九九视频在线| 99免费热视频| 91久久久久久久久18| 91热爆在线| 激情五月天综合网| 亚洲激情综合| 99热九九热| 丁香激情五月天| 激情综合五月天| 九九五月天| 午夜天堂啪啪| 国产精品色一哟哟| 玖玖爱资源站| 久久caop| 久久婷婷热| 九九热视频精品2| 亚洲精品无码一区二区| 婷婷爱五月| 九九色影视| 成人短视频在线观看| 免费AAAAA网| 夜夜操狠狠操| 色婷婷亚洲精品天天综| 天天色·欧美| 色色色97| 丁香五月婷婷综合激情哟哟哟| 色久五月天| 99资源在线视频| 99热成人| 91大神操美女| 丁香欧美| VA婷婷| 丁香六月婷婷操逼网| 五月天婷婷乱论小说| 九九热视频精品2| 噢美99| 97性视频| 五月婷婷丁香社区| 热的无码综合视频| 婷婷五月天天天日日夜夜| 991自拍视频| 五月婷在线观看| 日本熟女一区二区| 国产永久一二一起草| 涩涩激情五月婷婷| 九九操屄| 91久久久久久| 激情亚洲网| 99精品免费欧美小视频| 六月天六月婷| 99er免费在线观看| 99精品在线观看| 国产女人十八水真多1| 亚洲超碰在线| 日日操天天操| 五月花激情| 一區四區歐美日韓| 久久综合婷婷| 久久刺激网| 91 影音先锋| 五月婷婷狠狠干| 99日韩网站| 色很很96| 丁香六月婷婷久久综合八月| 9久热| 91丨九色熟女丨首页| 成人超碰网| 人人草人人爱| 九九热在线视频| 97色色视频| 激情色视频| 亚洲成人色五月天| 思思热思在线精品视频| 丁香五月天在线观看视频| 亚洲AV第二区国产精品| 99热销国产这里有精品| 久久婷婷五月综合激情国产| 久久久久久久久久久97| 久热99热| 中文无码婷婷| 亚洲精品五十一区| 黄色99网| 五月婷婷综合精品| 99色色色色| 婷婷五月天激情综合网| 米奇影视五月天| 五月婷婷网久久| 新久久五月天激情| 五月六月丁香婷婷在线观看| 久久久婷丁香五月| 五月丁香基地| 9九色首页| 久热这里只有精品6| av在线色五月丁香婷区久| oVV4WIB3vFi8D| 六月婷婷色五月| 婷婷丁香五月天欧美| 婷婷激情综合色五月久久,色婷婷丁香花,丁香婷婷五月情天,久久婷婷五月综合色 | 97香蕉碰碰人妻国产欧美| 久99久在线| 色婷婷www| 欧美精产国品一二三区| 这里只有精品免费| 亚洲成人在线在线| 欧美久人人| 五月天婷婷免费| 久久婷婷久久| 全网最新网黄大秀直播高清,主播国产录屏在线| 久热久| 亚洲热手机在线观看| 五月丁香久久网| 99热国产这里只有| 五月成人网站| 99色免费观看全部| www.金莲av| 伊人九九九久| 超碰99在线观看| 婷婷六月丁香在线| 五月综合色播播丁香婷婷| 日本婷色| 国产午夜精品AV一区二区麻豆 | 在线播放成人网站| 婷婷五月丁香四射| 99精品在线观看| 亚洲综合干| 五月婷婷第四色| 9久久婷婷国产综合精品性色| 九九黄色网| 极品少妇高潮啪啪AV无码| 婷婷欠久少妇| 成人视频一区| 好激情在线综合网| 色婷五月天| 熟女强人妻一区二区三区四区无| 日韩人妻在线观看| 99视频热| 国产精产国品一二三在观看| 综合99综合久久久久久久| 色色网站观看| 九九精品热播| 国产一二区爆乳_1国产日韩一区二区三-成人AV| 国产高潮白浆一区二区| 亚洲性图一区二区三区| www.五月婷婷久久.com| 99精品久久久久久久久| 五月丁香好婷婷姑娘综合网| www.色九月| 国产,欧美,学生妹,视频| 日本久久婷婷| 五月丁香六月婷婷综合网站 | 天天透天天干| 五月香六月婷| 成人做爰A片免费看视频| 97色视频网| 婷婷五月综合婷婷| 五月丁香六月香香蕉| 激情综合网激情五月俺也去| 九九色中文| 26uuu亚洲| 色婷婷成人做爰A片免费看网站 | 久久综合九九| 色噜噜狠狠色综合成人网| 丁香五月激情图片婷婷| 99热 免费| 在线天堂9| 亚洲区1| 99这里精品| 99热在线观看精品| 黑人熟妇一区二区三区| 婷婷五月在线播放| 色吧99| 深爱网深爱综合网| 激情99| 五月丁香精品| 性生活视频98791| 在线播放 精品| 色久婷婷网| 九九精品热| 亚洲成人在线综合| 亚洲乱码w在线观看| 丁香五月婷婷社区| 99热这里只有精品18| 成人精品在线| 日本本土色网第一区| 欧美色色色色色色| 五月天婷综合| 婷婷玖玖五月天| 91性人人| 色九月婷婷综合| 亚洲色综合色网| 婷婷综合五月色播| 久操香蕉| 99性色| 色都都狠狠色都都色综合色| 久久久久久久久人妻| 婷婷五月天综合亚洲| 停停色综合伊人| 中国丰满熟女A片免费观| 中文网AV| 久操欧美在线观看97| 天天粽合合合合| 五月天婷婷午夜丁香| 婷香五月| 婷婷五月天xxx| 色五月五月婷婷| 99 热| 涩五月婷婷| 99热精品在线播放观看| www,setingting| 五月色丁香视频精品| 中文字幕操比影片| 九九色欲网| 久色网| 五月丁香激情综合| 无码人妻一区二区三区免费九色| 久久日九九| 婷婷五月丁香欧洲| 夜夜涩涩涩| 国产精品美女久久久久AV超清| 丁香激情六月天婷婷| 2050人人操免费工开爱| 97干婷婷| 久久五月丁香激情综合| 青草青草久9视频在线视频| 涩五月婷婷| 棕合影院色色| 97干干干丁香| 五月婷婷99热| 久久九九99亚洲国产久精综合| 色综合女人99| 久久人妻久久| 99精吕视频在线观看了| 五月天无码| 国产成人精品一区二三区熟女在线| 色情五月天婷婷| 9九色首页| 开心五月深爱五月| 久热这里只有精品6| 另类激情五月| 九九久久污| 婷婷久久五月| 天天色综网| 色婷婷狠狠18禁| 玖玖爱伊人网| 思思热99热| 免费视频这里只有精品| 狠狠做五月| 亚洲色图啪啪| 少妇AB又爽又紧无码网站| 99热这里有精力| 色五月天.con| 久久婷婷丁香五月宗合| 超碰亚洲欧美| 97人人射| 婷婷五月电影院| 天天日夜夜爽。| 日本久久人| 日韩成人无码| 五月丁香婷婷基地| 91热在线| 五月激情小说| 丁香五月婷久久| 精品视频这里只有精品| 欧美日韩123| 67久久| 久久人妻精品| 97 A I色色| 夜夜爽天天爽| 99亚州综合精品成人网| 欧洲免费视频色| 天天搽天天射| 天天操天天日天天爱| 日本 色综合| 少妇人妻偷人精品无码视频新浪| 九九热在线观看视频| 五月丁香在线| 99热这里只有精品8| 丁香八月综合激情| 国产欧美性成人精品午夜| 超碰人人色| 噜啊噜在线| 激情五月婷在线精品| 激情婷婷五六月天| 五月天六月丁香| 日本熟妇精品99| 91好好热日本在线| 青青艹b| 9热超碰| 婷婷丁香五月天综合激情| 色九月婷婷| 国产欧洲欧洲精品久久| 激情五月天综合网| 天天做天天爱| 1024操逼| 久久婷婷艹| 久久久婷丁香五月| 五月婷婷基地| 亚洲欧美另类在线23p| 五月婷婷成人w| 综合婷婷六月| 三级成人网站| 这里只有精品视频在线看| 五月丁香亭亭成人电影| 婷婷五月天亚洲激情戏精品| 九九九午夜影院成人| 99热国内| 婷婷五月伦理| 91精品综合久久久久久五月丁香 | 99热综合在线观看| se婷97| 九九热99久久99| 五月婷婷黄色毛片| 五月停亭六月,六月停亭的英语| 97碰在线| 婷婷六月开心网| 99亚洲欧洲| 色99热| 亚洲成人五月天| 色偷偷五月天| h在线看免费版在线看| 乱岳熟女50岁| 色婷婷aV四虎| 亲子乱AV一区二区三区下载| www婷婷亚洲| 五月天成人网婷婷| 九九婷婷网五月天| 色久天| 国外亚洲成AV人片在线观看| 九月色婷婷婷| 99er这里只有精品| 超碰狠狠色| 日日撸夜夜操| 五月丁香在线| 99色久| 这里只有精品视频视频在线观看| 这里只有精品视频一区| 大香蕉精品视频| 疯狂做受XXXX高潮A片动画| 亚洲成人AV高清字幕| 综合玖玖偷拍| 丁香五月狠狠综合欧美| 婷婷六月色开 | 婷婷五月天黄色小说| 丁香久久综合| 人人摸人人操人人爱| 日本三级毛片| 五月天婷亚洲综合在线嫩草网| 五月婷婷自拍视频| 99精品视频免费观看| 蜜臀综合久草| 六月婷婷无码| 国产激情在线| 日本韩国视频在线观看社区免费的9| …亚洲黄色在线播放日韩、av中文a…| 色婷婷丁香网| 中文字幕av在线播放| 亚洲成av人影院| 婷婷激情综合色五月久久图片| 色婷婷成人丁香| 天天日,天天插| 婷婷综合| 狼友视频在线观看18| 婷婷之六月丁香| 丁香色色色| 99热九九九九| 婷婷伊人激情婷婷| 噜噜五月天综合| 久久亭亭电影| 婷婷五月天在婷| 大香蕉AV在线| 东京热免费视频| 激情五月天激情五月天| 人妻免费网站| 久久在线人妻| 久久人妻少妇嫩草AV| 色五月综合激情| 五月天综合视频网| 成人国产网| 国语对白性爱视频播放| 色色色综合网| 久久婷婷色色| 丁香久久综合| 九九九九大香蕉| 五月丁香激情婷婷| 骚逼视频一区2区| 精品一区二区三区四区五区六区介绍| 亚洲99热| 丁香五月天在线观看视频| 婷婷六月天| HD久久精品视频| 五月婷婷人妻| 拍色综合| 99精品小视频| 九草性爱| 啪啪 综合网| 色婷婷色综合激情91| 九九在线这里只有精品视频| 在线不卡AC| 大狠狠在线| 四LLL少妇BBBB槡BBBB| 琪琪理论片| 97色色网| 丁香婷婷激情五月色| 久久激情网| 第四色色六月色综合| 中文av网站| 色六月天天激情综合网| 91丨九色丨东北熟女| 天天玩天天摸| 国产婷婷色综合AV蜜臀AV | 日日干综合| 99热热热99精品婷婷| 天天撸夜夜爽| 第1影院之五月婷婷| 996er热| 免费看无码视频A级| 五月丁香综合影院| 久激情网| 天天插天天射| 天天爽天天摸| 在线超碰精品| 99热亚洲精品| 九九热这里只有精品首页| 五月丁香啪啪啪| 激情亚洲婷婷六月| 久久五月婷婷视频| 色播五月婷婷| 丁香5月婷婷| 色99免费视频中文| 色婷婷五月在线| 26uuu淫色| 色欲AVV| 丁香五月天激情综合| 激情五月天色网站| 国产精品日本一区二区在线播放| 五月婷天天搞视频| 97操碰视频| 午夜69成人做爰视频| 日本成人噜噜| 九九99在线免费在线观看视频| 丁香五月影院| 五月丁香婷婷综合| 激情婷婷五月女| 日韩中出视频| 色99网站| 亚洲综合热| 九九av| 色色婷婷综合| 久久婷婷色| 2w在线视频| 99在线视频播放| 国产69久久久欧美黑人A片| 终合激情网| 九九热视频精品2| 色婷婷四虎| 色色色色五月| AVDV久久| 九九色99| 他改变了拜占庭| 婷婷色综合网日韩国产| 综合网亚洲| 婷婷五月激情五月激情| 久久国产精品乱子伦_靑青草…| 婷婷色一二三区波多野结衣| 日本乱子人伦在线视频| www.婷婷五月天.com| 五月婷久久在线| 五月开心婷婷极品激情| 色综合狠狠色| 色五月激情图片| 超碰狠狠操| 色五月婷婷av| 五月激情站| 天天狠狠色噜噜| 操一区| 97在线干| www99精品亚| 激情小说五月天| www色五月| 欧美中文五月天| 亚洲舔观看| 婷婷五月天成人| 啪啪丁香五月| www,超碰| 天天色综| 九九综合88| 亚洲黄网AV| 香蕉久久国产AV一区二区| 色综合中文| 青青草成人网| 丁香婷婷中文字幕| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 青青草伊人婷婷| 亚洲黄色影视| 久久久久久人妻| 五月丁香大香蕉| 激情综合99| 婷婷五月天激情开心网| 99免费热视频| 久久ab| 激情五月天电影| 五月天激情无码专区| www,五月丁,com| 激情五月无码| 亚洲另类婷婷五月综合| 三十路磁力链接| 少妇久久诱惑视频| 亚洲综合婷婷五月天| sewuyue第四色| 久久这里只有精品视频26| 婷婷区日本| 伊人丁香婷婷东京| 五月婷婷丁香狠狠撸久久| 夜夜做夜夜愛| 人人草开心五月天| 大香蕉中文| 成人在线视频网| 精品久久99码| 五月天社区| 99re6在线视频精品免费| 99热在线观看| 黄色aa观看aaguochan| 五月天怕怕| 99丁香五月婷| 永久的网站AAAA | 欧美啄木乌丝袜人妻系列| 九九在线这里只有精品视频| 少妇综合网| 五月丁香婷婷在线| 欧美性爱五月天| 久久A极片| 国产婷婷久久| 9色在线| 国产又黄又爽又激情不遮挡视频在线观看| 99久久久国产精品免费蜜乳tv| 99热亚洲精品| 丁香五月婷久久| 四川女人毛多水多A片| 丁香五月天社区婷婷| 色婷婷偷拍| 五月花综合网| 久久激情五月天| www.9797国产| 亚洲成av人影院| 丁香激情五月天| 丝袜大香蕉| 日日肏夜夜干| 91九色国产| 国产精产国品一二三在观看| 精品九九网| 亚洲综合在线伊人婷| 国内精品玖玖| 色情综合网| 久久久久久99日本| 操操碰| 26uuu亚洲欧美| 丁香 久久| 精品成人无码A片观看香草视频| 日韩成人电影av| 久久综合激情五月天| 99精色| 九九热精品视频在线观看| 色五月婷婷91在线| 98毛片| 噜噜视频| 激情人妻蜜夜系列区| 丁香五月婷婷欧美激情-中文天堂最新版在线观看| 九九成人精品免费视频| 人人草开心五月天| 亚洲欧美日韩VIP| 色婷五月| 另类激情五月在线视频欧美| 桃色五月婷婷| 综合丁香婷婷五月天| 无码毛片992367| 丁香九月婷| 成人短视频免费| 97深爱伊人综合| 日日夜夜天天综合| 欧美婷婷丁香五月| 99在线国| 国产av天堂| 粉嫩av懂色av蜜臀av熟妇| 深爱激情六月| 91色色五月天| 久久99这里| 色色五月婷婷| 成人欧美日韩| 在线中文亚洲| 欧美啪啪五月天| 91人妻视频| 色激情五月天| 丁香六月色香蕉视频| 婷婷色情网| 夜夜躁婷婷AV| 五月丁香综合影院| 国产99久9在线| 丁香五月激情综合啪啪| 色婷婷香蕉在线| 99惹| 亚洲超碰在线| 婷婷色女| 激情综合一| 狠狠色综合网| 婷婷综合| 中文精品久久久久人妻不| 日本五月婷| 五月天色色网站| 色99在线视频| 青青草原亚洲天堂| Av大香蕉| 五月天狠狠网站| 色色a| 99热欧美在线观看| 大香蕉人妻| 99爱免费在线观看| 第四色在线观看| 中文字幕日韩无码制服诱或| 五月婷婷色欲| 久久久精品人妻录| 丁香花婷婷五月天| 97超碰在线免费观看| 99在线观看精品| 97在线视频人妻九色| 色色色五月婷婷| 五月天婷婷综合网| 97色五月天| Aaa久久| 99这里只有| 激情四射婷婷色色色| 丁香色综合| www.yw尤物| 国产精品久久久久久久久久| 五月涩涩网| 99超碰在线免费| www.色99| 成人网站免费sxj| www色哟哟| 97超碰在线免费观看| 色 免费网站视频| 亚洲精品V天堂中文字幕| 色婷亚洲| 超碰免费大香蕉| 色色色999| 丁香六月亚洲综合| 97干视频在线| 久热无码| 激情五月开心五月丁香五月| 91碰碰视频| 色综合五月| 久久这里只有精品视频1| 久婷婷五月天影院| 五月天成人综合| 五月草视频| 99re热精品在线视频| 日韩黄色影院| 91九色无码日韩| 天天摸天天舔天天爽| 色色97丁香婷婷五月天| 我爱大香蕉| 囯产精品一品二区三区| 九九干视频| 亚洲日本韩国| 欧美性猛交99久久久99| 丁香五月婷婷丫| 激情四射婷婷色色色| 久久人妻精品| 丁香五月婷婷大香蕉| 再次出发二| 99热插| 亚洲第一成人无码A片| 久久丁香五月天| www.日日日.com| 久久久99免费视频| 五月激情丁香啪啪| 激情綜合W W W,激情五月天| 人妻操逼视频| 日本五月丁香| 五月激情综合网| 9色小视频在线观看| 六月婷婷五月丁香| 伊人色综合久久久| 丁香六月无码| 亚洲色情免费网| 91精品国产99久久久久久天美| 91久久精品国产91性色TV| 97综合在线| 久久这里有精品| 激情五月丁香在线观看直播| 天天艹天天综合网| 丁香婷婷综合激情五月色| 99九九这里有免费视频| 五月丁香综合网| 97干在线播放| 99热6色| 99精品无码网站| 欧美大奶熟女噜噜噜噜| 超碰9| 婷婷激情五月天小说| 99视频综合| 中文毛片无遮挡高潮免费| 久久综合人妻| 欧美97色| 97极品在线| 婷婷狠狠色| 视色综合| 久久草婷婷丁香网站| 丁香六月婷婷缴情欧美| 久99久在线| 色五婷婷| 99色五月| 五月婷婷婷综合网| 久久综合色情网站| 久久日九九| 久久久人人操A V| 久久五月热| 91在线精品一区二区| 天天日天天肏天天奸| 亚洲国产精品VA在线看黑人| 婷婷五月天网| 五月天综合| 色99在线| 中文成人在线| 婷婷色情 | 九九热123| 99热午夜精品| 色色草97| 免费成人网在线观看| 亚洲在线成人| 国产精品汇聚精彩第二页 - 高清完整版在线 - 青蛙AV | 777久久久| 97五月婷婷| 六月婷婷综合激情| 996热re视频精品视频| 99激情在线| 九九色热| 思思热99er在线视频| 婷婷丁香五另类网站| 99秘 在线| 丁香六月婷婷综合在线| 婷婷色丁香六月| 亚洲操操操| 色色五月天网站| 亚洲国产99| CHINESE熟女老女人HD视频| 性做爰A片免费视频A片直播| 一级视频网址| 狠狠爱夜夜| 五月天婷婷影院| 99在线精品视频免费| 秋霞网在线观看理论91| 婷婷激情五月天在线| 五月婷丁香| 亚洲色五月| 中文字幕无码人妻少妇免费视频| 五月天婷婷色播综合在线| 激情婷婷综合网| 天天搡日日搡aaaaⅩ| 26UUU成人网| 丁香五月五婷| 9久热在线视频精品| 色狠狠综合| 久操乱| 久青操| 成人羞羞啪啪 全 视频| 66精品成人免费网站在线观看| 99re热视频这里只精品| 色婷婷色和| 五月丁香婷婷综合网| 激情五月综合色婷婷| 久久六月综合| 九九视频在线观看| 97久久综合网| 五月婷婷狠狠干| 激情久久天天| 99热免费精品| 无码视频国内精品久久久| 久热69| 伊人成人宗合网| 狠狠色五月| 亚洲精品又粗又大又爽A片| 亚洲狠狠婷婷| 五月天色官网| 色欲五月婷婷| 激情四射亚洲| 91偷拍视频| 丁香六月天之亚州热女| 久热久| 色五月色开心开心五月| 丁香五月婷婷激情小说| 色色 亚洲| 九九碰九九爱97超碰| 99er热精品视频| 婷婷另类开心| 美女网黄| 日本精品。999| 五月婷婷九| 97在线观视频免费观看| 色色色婷婷五月| 婷婷激情5月| 91精品综合久久久久久五月丁香| 久久婷婷五月综合网| 六月婷婷五月丁香首页| 婷婷成人五月天| 五月婷A V在线| 激情九月婷婷| 亚洲五月花| 伊人久久大香线蕉精品| 性五月激情| 停停五月色宗合| 五月婷婷色欲| 国产伊人五月天| 色婷五月天| 婷婷五月激情五月丁香五月| 激情综合网 激情五月天| 六月婷婷五月天| 色婷婷88| 青草五月天| 六月婷婷综合网2| Xx色综合| 五月天综合视频| 亚洲综合视频网| 人人视频色| 日本女色人人| 青青草蜜臀| 激情综合网激情五月天| 9久热免费视频99| 久热视频这里只有精品| 久久99国产综合精品免费| 综合天天综合| 伊人干综合| 视频1区2区| 五月婷婷网站| 9 7总站超级碰免费视频| 国产美女最新VA在线免费观看| 九九综合| 五月天婷婷色色| 大香蕉伊人久久| 伊人玖玖婷婷| 久9视频免费播放| 日韩综合久| 人人爱国产| 国产综合A片| 99热这里有精力| 日韩啪图| 婷婷五月天av| 九九热99免费视频| 五月天丁香网站| 五月丁香色| 色情丁香五月婷婷精品| 日本99在线| 丁香五月欧美激情| 色综合com| 欧美久久婷婷| 99亚色色色| 六月丁香啪啪| 激情五月婷婷伊人| 久久激丁香| 国产日韩亚洲欧美在线观看| 欧美色必爱| 色99网站| 青青草原伊人网| 五月婷婷深深爱| 日韩成人av在线| 狠狠色婷婷777| 深爱婷婷基地| 极品少妇高潮啪啪AV无码| 甈你aaaaa| 天堂网色婷婷| 色五月天丁香婷婷| 成人操呦av| 婷婷99视频在线| AV性爱在线| 五月天久久久| 国产亚洲精品久久久久久郑州| 最新亚洲色色网| 影音先锋91男人资源在线播放| 久久综合影院| 激情丁香婷婷六月天| 色婷婷丁香花五月天| 99视频精品全部观看10| 影音先锋色婷婷| 六月丁香五月婷婷| 激情五月,激情综合网| 超碰人人91| 色色无码| 色色a| 五月丁香六月色婷婷综合五月天| 亚洲V国产V欧美V久久久久久| 五月婷婷综合在线视频小说| 婷婷色在线观看| www.91av.com| 色综合大香蕉| 干婷婷五月天| 欧美VA视频| 精品一二三区久久AAA片| 婷婷涩涩五月天| 六月丁香婷| 狠狠爱婷婷五月天| 丁香婷婷基地| 亚洲视频图片婷婷五月| 婷婷五月大| 影院久久久| 狠狠干,狠狠操| 六月丁香六月婷婷欧美| 日本激情ⅩXX免费视频| 久久九九囯产| 亚洲成人网站在线观看| 久久久精品人妻| 亚洲精99| 久久婷婷五月综合精品蜜芽| 激情AV网| 性爱综合网| 国产精品视频久久99| 丁香五月婷婷天激情| 综合AV在线| 五月激情在线| 丁香五月区| 五月丁香花婷婷玉莉AV| 日本色噜| 九九99香蕉在线视频播放| 日韩成人中文| 99这里只有精品视频| 五月天婷婷丁香基地在线观看| 色五月 激情婷婷 综合五月天| www99久久| 狠狠一日| 色婷婷亚洲婷婷| 色欲久久综合| 婷婷射丁香| 日逼免费视频| 激情色中文| 97干视频| 《久久综合九色综合97婷婷| 69热91天堂| 欧美S码亚洲码精品M码| 99热在线播放| www.maotanji.com| 亚洲婷婷五月天激情| 开心五月婷婷在线视频免费观看| 五月丁香A片| 五月婷婷丁香大陆免费| 九 九九九AV| 超碰人人摸人人操| 五月婷婷丁香六月| 91久久婷婷| 日本不卡中文字幕| 丁香五月婷婷大香蕉| www色婷婷com| 精品51XX| 岛国av电影网站| 五月在在观看| 丁香久久AV| 色七色九九| 激情色中文| 日日夜夜狠狠婷婷色| 色狠狠五月天| 久久精彩免费视频精彩免费视频| 日本视频99| 丁香六月狠狠干| 欧美色宗和激情| 色五月天丁香婷婷| 婷婷激情人妻| 爆乳熟女一区二区三区爆乳| 久久一级片| 五月五月婷婷| 在线观看亚洲AV| 亚洲色图五月丁香| 丁香五月综合激情啪啪| 久久婷婷网| 香蕉婷婷| 精品婷婷五| 亚洲AV激情五月综合网| 日本精品。999| www.操逼comm| 夜夜撸天天日| 婷婷激情五月天在线| 激情五月天小说| 天天色视频| 久久久久久久久99精品| 91综合国免费久入| 九九在线精点品| 噼里啪啦在线观看免费完整版视频| 最近中文字幕在线中文视频| 电影91久久久| 日韩有码一区| 六月婷婷香蕉| 91色色色| 美女100%露全身无挡网站| 亚洲VA在线| 色欧洲| 97视频久久| 99久久久99久久91熟女| 激情综合色婷婷啪啪五月天| 久久久人人操A V| 精品久久9| 亚洲激情99| 激情五月天激情综合网| 久久综合影院| 97色碰| 9色小视频在线观看| 国产avapp 网| 婷婷色色综合激情| 日日插日日干| 91精品婷婷国产综合久久| 91超级碰碰碰| 九久九精品| 国产白丝在线一区| 激情五月激情综合网一级丸片| 激情网五月婷婷| 色婷婷五月在线| 午夜少妇在线观看视频| 一级韩国产精品毛| 97干在线| 五月香六月婷| 激情五月丁香五月| 久久婷婷七月丁香| 九九狠狠干| 视频这里只有精品16| 欧洲色| 超碰成人免费| 99热超| 日本本土色网第一区| 五月丁香婷婷激情视频| 国产99热| 碰久久精品w| 成人做爰A片免费看网站找不到了| 久久九九在线视频| 九九婷婷网五月天| 色五月婷婷91在线| 天天日天天插天天操| 婷婷丁香黄色| 这里只有精品偷拍| 五月婷婷影| 中文字幕在线免费观看视频| 精品动漫 无码av| 亚洲俩性性爱图片久久第六页| 亚洲中文乱字字幕在线永久| 色色无码| 99九九99九九九视频精彩| 婷婷丁香激情| 依人大香蕉| 色播五月丁香综合| 伊人五月久久| 五月婷婷激情综合| 丁香五月婷婷高清| 婷婷在线操| 午夜天堂啪啪| 丁香五月黄色| 婷婷色色播五月天| 五月天色区| 九热久| 激情综合色播| 色爽干| 色视频2025| 成人在线不卡| 人妻操日日| 26uuuuuuuu国产| 大学生高潮无套内谢视频| 五月婷婷丁香综合| 99视频这里有精品| 久久婷婷五月天大香蕉| site:jszngf.com| 婷婷四色五月| 狠狠色色综合| 五月丁香婷婷AV| 大香蕉视频99| 这里只有免费的精品| 五月丁香婷婷啪啪| 91viP在线看| 中文资源在线a| 激情婷婷九月| 丁香五月天在线观看| 热99视频精品在线| 五月激情网五月综合网| 噜噜噜狠狠色综合| 激情五月综合色| 色五月婷婷亚洲| www.五月婷婷久久.com| 亚洲色五月| 久久91久久91色欲精品| 婷婷五月天播播| 婷婷色基地在线看| 五月婷婷六月丁香综合| 久久久久97| 丁香五月区| yw.av| 五月婷婷啪| 婷婷五月激情视频网| 色狠狠色综合| 婷婷五月综合丁香久久| 婷婷丁香在线播放| 日本英国美国欧美亚洲国产精亚洲日韩精品在线观看 | 2023天天日夜夜爽| 麻豆AV一区二区三区| 丁香六月爱综合| a免费在线| 色色色免费视频|