久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

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

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

FPGA音頻回環(huán):WM8731與DE2板I2C/I2S全鏈路打通 簡(jiǎn)介一個(gè)基于A(yíng)ltera DE2開(kāi)發(fā)板EP2C35F672C6 FPGA與WM8731音頻編解碼器的完整音頻處理工程覆蓋從模擬音頻輸入、ADC數(shù)字化采樣、FPGA內(nèi)部處理、DAC重建到最終模擬輸出的全鏈路適合正在學(xué)習(xí)FPGA數(shù)字邏輯設(shè)計(jì)、音頻編解碼協(xié)議或嵌入式音頻應(yīng)用的開(kāi)發(fā)者。音頻信號(hào)先由WM8731內(nèi)置ADC完成采樣量化通過(guò)I2S串行總線(xiàn)和分頻后的SCLK/LRCK時(shí)鐘送入FPGAFPGA內(nèi)部可執(zhí)行濾波、增益或混音等處理隨后將結(jié)果送回同芯片的DAC輸出。開(kāi)發(fā)者參照DE2官方范例重寫(xiě)了代碼精簡(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í)到布局布線(xiàn)逐層查看工程生成過(guò)程方便復(fù)盤(pán)與二次開(kāi)發(fā)。已有826人學(xué)習(xí)下載。其中不僅有可直接運(yùn)行的音頻通路代碼還展示了如何用I2S接口讓FPGA與WM8731可靠協(xié)同工作對(duì)掌握ADC/DAC數(shù)據(jù)交互、時(shí)鐘樹(shù)設(shè)計(jì)和基礎(chǔ)音頻處理算法都有實(shí)際幫助適合課設(shè)或畢設(shè)階段參考。1. 從「音頻回環(huán)」入門(mén) FPGA 數(shù)字信號(hào)鏈路WM8731 與 DE2 板的一次完整打通手頭有一塊 DE2-EP2C35F672C6 開(kāi)發(fā)板想驗(yàn)證 FPGA 在真實(shí)信號(hào)鏈路里到底能干什么最簡(jiǎn)單的切入點(diǎn)不是寫(xiě)流水燈而是把板載的 WM8731 音頻編解碼芯片用起來(lái)LINE IN 進(jìn)模擬信號(hào)芯片內(nèi)部 ADC 轉(zhuǎn)成數(shù)字流FPGA 拿到數(shù)據(jù)后原樣丟給 DAC再?gòu)亩鷻C(jī)口聽(tīng)到自己的聲音。這個(gè)項(xiàng)目看起來(lái)只是「輸入到輸出」的直通實(shí)際拆開(kāi)會(huì)發(fā)現(xiàn)里面藏著一整套數(shù)字音頻系統(tǒng)的骨架——I2C 寄存器配置、I2S 時(shí)序?qū)R、主從時(shí)鐘同步、左右聲道采樣拼接任何一個(gè)環(huán)節(jié)沒(méi)做對(duì)出來(lái)的就是噪聲或者干脆靜音。適合手里有同款或類(lèi)似開(kāi)發(fā)板、想從點(diǎn)燈進(jìn)階到真實(shí)信號(hào)處理的開(kāi)發(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)走向很直觀(guān)外部音頻從 LINE IN 接口進(jìn)入經(jīng)過(guò) WM8731 內(nèi)部 ADC 按設(shè)定的采樣率轉(zhuǎn)成數(shù)字信號(hào)通過(guò) I2S 總線(xiàn)送給 FPGAFPGA 在內(nèi)部做處理——本項(xiàng)目里是直通或軟件可控的回環(huán)處理完的數(shù)據(jù)再經(jīng) I2S 總線(xiàn)送回 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)目里最核心的工作就是兩件事寫(xiě)一個(gè)能用的 I2C 控制器完成初始化再寫(xiě)一個(gè)時(shí)序正確的 I2S 收發(fā)器把數(shù)據(jù)跑起來(lái)。2.2 引腳分配與工程目錄EP2C35F672C6 的板級(jí)約束EP2C35F672C6 是 Cyclone II 系列 FPGA672 個(gè)引腳的 FBGA 封裝DE2 板把 WM8731 接到了 FPGA 的特定引腳上。在寫(xiě)邏輯之前必須先確認(rèn)引腳約束。常見(jià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)。如果這里寫(xiě)錯(cuò)一個(gè)引腳編號(hào)整個(gè)工程燒進(jìn)去之后音頻通路就是斷的而且很難排查。工程目錄我習(xí)慣按功能拆分rtl目錄放 RTL 代碼包含頂層模塊、I2C 控制器、I2S 收發(fā)器db和incremental_db是綜合布局布線(xiàn)產(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. 寄存器配置編寫(xiě)手寫(xiě) I2C 控制器驅(qū)動(dòng) WM8731 初始化3.1 WM8731 寄存器映射與默認(rèn)值推導(dǎo)WM8731 內(nèi)部寄存器是 7 位地址加 9 位數(shù)據(jù)通過(guò) I2C 總線(xiàn)訪(fǎng)問(wèn)芯片的 I2C 地址是 0x1A7 位地址寫(xiě)操作時(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開(kāi)啟輸入 localparam CFG_LINEIN_R {7h02, 9h017}; // 右聲道輸入音量 0dB開(kāi)啟輸入 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}; // 激活接口開(kāi)始傳輸音頻CFG_RESET這條配置要在上電后第一時(shí)間發(fā)送把芯片恢復(fù)到已知狀態(tài)。0x0F 寄存器寫(xiě)入 0x000 后所有寄存器回到默認(rèn)值后續(xù)配置從干凈狀態(tài)開(kāi)始。CFG_LINEIN和CFG_LINEIN_R把左右聲道輸入音量設(shè)在 0dB確保信號(hào)不被衰減。CFG_ANAPATH選擇了 DAC 到耳機(jī)輸出的直通路徑繞開(kāi)模擬混音器——這個(gè)項(xiàng)目里我們用數(shù)字回環(huán)模擬混音器只會(huì)增加噪聲。CFG_SRATE的 0x01E 對(duì)應(yīng) 48kHz 采樣率這里寫(xiě)的是芯片手冊(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)寫(xiě)把發(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í)鐘線(xiàn) inout sda // I2C 數(shù)據(jù)線(xiàn) ); 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)格滿(mǎ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 控制器寫(xiě)好后還不能直接往 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 才能開(kāi)始往 I2S 數(shù)據(jù)線(xiàn)上送數(shù)據(jù)。實(shí)際調(diào)試中容易翻車(chē)的地方在 ACK 狀態(tài)。我習(xí)慣把 I2C 的sda管腳配置成inout在 ACK 狀態(tài)下把sda_out拉高釋放總線(xiàn)然后等 WM8731 把 SDA 拉低表示應(yīng)答。如果芯片沒(méi)有正確上電或者地址寫(xiě)錯(cuò)SDA 會(huì)一直保持高電平這時(shí)done標(biāo)志照樣會(huì)拉起但 WM8731 根本沒(méi)收到配置。排查這種問(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 總線(xiàn)傳輸。I2S 協(xié)議有三個(gè)關(guān)鍵信號(hào)BCLK 是位時(shí)鐘每個(gè)時(shí)鐘周期傳輸一位數(shù)據(jù)LRCK 是幀同步信號(hào)高電平表示右聲道低電平表示左聲道DAT 是串行數(shù)據(jù)線(xiàn)。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采一位寫(xiě)入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è)聲道周期開(kāi)始。需要留意的是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 沿開(kāi)始輸出就是為了滿(mǎn)足這個(gè)時(shí)序要求。如果這里不處理左右聲道的數(shù)據(jù)會(huì)整體錯(cuò)位一個(gè)位時(shí)鐘聽(tīng)感上出現(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ù)線(xiàn) output AUD_I2C_SCLK, // WM8731 I2C 時(shí)鐘線(xiàn) 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ù)倍常見(jiàn)的有 12.288MHz 和 18.432MHz。DE2 板上有 50MHz 晶振直接分頻得不到這兩個(gè)頻率所以項(xiàng)目里用 FPGA 內(nèi)置 PLL 來(lái)生成。如果你用的開(kāi)發(fā)板沒(méi)有音頻專(zhuān)用晶振這一步是跑不通的。一個(gè)替代方案是把 WM8731 工作在自動(dòng)時(shí)鐘檢測(cè)模式通過(guò)芯片內(nèi)部 PLL 從 BCLK 恢復(fù)主時(shí)鐘但這樣配置寄存器和 MCLK 引腳連接都要改不推薦第一次做就選這條路。5. 常見(jiàn)問(wèn)題排查音頻回環(huán)不出聲的五個(gè)典型原因5.1 現(xiàn)象是靜音原因是 I2C 配置根本沒(méi)送進(jìn)去上板之后最典型的失敗現(xiàn)象是無(wú)論怎么調(diào)整音量旋鈕耳機(jī)里一點(diǎn)聲音都沒(méi)有。先不急著懷疑代碼先看 I2C 波形。把邏輯分析儀接到AUD_I2C_SCLK和AUD_I2C_SDAT上抓上電瞬間的信號(hào)。如果 SCL 沒(méi)有時(shí)鐘或者 SDA 一直為高說(shuō)明 I2C 控制器沒(méi)有工作。這時(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ō)明芯片根本沒(méi)收到完整數(shù)據(jù)。常見(jiàn)原因是 I2C 地址錯(cuò)誤——WM8731 的 CSB 引腳接地時(shí)地址是 0x1A接高電平是 0x1B如果板子上的地址引腳被拉高而你用了 0x1A芯片自然不會(huì)回應(yīng)。這個(gè)坑我見(jiàn)過(guò)多次。解決用萬(wàn)用表量一下 CSB 引腳電平或者干脆在代碼里把兩個(gè)地址都試一遍。5.2 現(xiàn)象是刺耳噪聲原因是左右聲道數(shù)據(jù)錯(cuò)位另一種常見(jiàn)故障是音頻能出聲但聲音像機(jī)器人說(shuō)話(huà)一樣機(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ù)互換聽(tīng)起來(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 上通常分開(kāi)鋪設(shè)。DE2 板上已經(jīng)做了隔離我們能做的有限但有一點(diǎn)必須注意耳機(jī)插頭地線(xiàn)和 LINE IN 地線(xiàn)如果接觸不良噪聲會(huì)異常明顯。這種情況在開(kāi)發(fā)板上沒(méi)有太好的軟件優(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í)序沒(méi)做完有些開(kāi)發(fā)者會(huì)遇到一種奇怪現(xiàn)象每次上電后需要手動(dòng)按一下復(fù)位按鈕音頻通路才正常。這說(shuō)明 WM8731 的初始化流程在時(shí)序上落后于上電I2C 配置是在復(fù)位釋放之前就開(kāi)始發(fā)送或者復(fù)位釋放后 FPGA 立刻去讀 ADC 數(shù)據(jù)而芯片還沒(méi)來(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)象是采樣率聽(tīng)起來(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ì)差近三倍。這種情況下音樂(lè)速率變得離譜基本可以斷定是分頻參數(shù)的問(wèn)題。用頻率計(jì)或示波器測(cè)一下 LRCK 的實(shí)際頻率把它調(diào)回 48kHz 附近即可。6. 二次開(kāi)發(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è)乘法器用撥碼開(kāi)關(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)一次撥碼開(kāi)關(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 做延遲效果配合撥碼開(kāi)關(guān)做簡(jiǎn)單的回聲。6.3 從直通到算法的改造驗(yàn)證方法每次改動(dòng)后最直接的驗(yàn)證方法是播放一段自己熟悉的音樂(lè)——最好是對(duì)人聲和低頻都有清晰辨識(shí)度的曲目然后切換增益系數(shù)聽(tīng)音量變化是否線(xiàn)性切換濾波器參數(shù)聽(tīng)高頻是否明顯衰減。用示波器量 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
返回資訊列表
中文字幕日韩精品一区二区三区| AV一起草在线| 成人资源中文字幕在线观看| 宗合情欲网| 丁香五月大香蕉| 波多野结衣AV无码一区| 夫妻日逼| 死我十八禁| 麻豆久久久久久久久丝袜 | 激情第四色| 日韩国产不卡在线视频| 2024黄色视频| 91人妻熟女| 91人妻久久久久久久久久久久久| 久久天天躁日日躁狠狠躁| 超碰在线91| 尤物国产一区在线观看| 黑人狂躁日本妞一区二区三区| 97在线视频免费| 97欧美色| 日本免费二区三区| 蜜臀久久99精品久久久久| 色哟哟精品1精品2| 91丝袜美腿片| 亚洲精品一区二区免费在线观看| 久久婷婷在线观看视频| 久久男人的天堂国产| 亚洲国产激情国产av| 久草网站免费在线观看| 把腿张开老子CAO烂你| 亚洲高清无毛一区二区| 97任你吞精| 噜噜噜在线视频| 亚洲日韩在线a不卡99精品 | 97色冈| 色丁香五月婷婷| 精品v日韩欧美国产| 欧美真人抽搐一进一出gif| 成人国产视频在线观看| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 青娱乐999| 天天澡天天爽日日AV| 久久久一区二区三区麻豆| 久久久国产精品亚洲精品| 日韩欧美偷拍美女视频| 亚洲综合色图欧美| av中亚| 久久草草亚洲蜜桃臀| 久久超碰国产一区二区三区| 自拍二页| 操B久久| 欧美日韩婷婷中文| 久久久久久久久女黄| 97国产中文| 91黑丝在线| 狠狠色伊人亚洲综合网站色| 搡老熟女老女人老熟妇免费视频| 中文字幕一区av| 淮穴色AV| 97超碰免费生活| 日本高清一本二本免费不卡| 97色亚洲| 日本熟女中文字幕一区| 免费看一级a性色生活片久久无| 色优久久| 婷婷香网站| 欧美视频一区二区三区| 久久婷婷综合国际产色怕| 色色婷| 好爽,再快点啊哈嗯嗯嗯嗯| 裸体1区| 亚洲中文sv| 国产女同在线观看视频| 99精品成人免费看| 久久久久9久久久久| 久久精品视频在线观看| 91精品91久久久中77777| 草莓精品视频在线免费观看| 久久啊哟| 四虎av在线| 日韩黄色片子| 激情久久久| 麻豆天美制片厂网站视频| 色婷婷A V一二三四区麻豆综合| 97超碰大| 巨爆乳肉感一区二区三区竹菊影视| 精品国产乱码久久久久久久久1| 不卡九肏| 久久人| 久草免费福利在线播放| 伊人天堂在线| 九九这里只有精品| 韩国一级做a久久久久| 黄片aaaaa一区| 操逼内射干逼白丝91| 久热网| 又大又长又粗又爽又黄| 人妻在线中出视频| 日韩精品碰碰| 欧美亚洲美少妇一区二区| 亚洲精品97久久| 国产AV无码AV| 色妇91| 国产精品懂色tv影视免费观看| 欧美少妇性爱网站| 中字一区| 色噜噜人妻丝袜a∨先锋影| 一区二区三区网站日日骚| 安微少妇操BBB| 亚洲日韩美女中文字幕乱| 婷婷丁香一区二区三区| 日本黄色精品专区网站| 在线视频五十市| 日本506070| 黄色高清无码无码破解免费暗网 | 秋霞网无码| 992这里有精品| 竹菊一区二区三区AV线| 国产综合操逼高清| 变态另类专区| 久久人妻视频| 97在线视频免费观看| 激情五月天色播| 久久丝袜| 蜜桃网熟妇| 亚洲国产成人福利在线观看| 国产97/欧美| 乱伦系列一区二区| 日本高清视频在线观看黄已三辽| 92人人操人人| 99少妇| 五月综合色| 久久久久99精品成人片蜜臀| 美女啊啊啊啊啊啊啊| 鸥美中出| 啊啊啊啊操死我了| 精品性爱一区二区| 羞涩视频| 国产免费一区| 色狠狠综合| 2019天天干| 天天天肏屄欧美| 韩国手机不卡无码三级视频| 啊嗯嗯啊好大好爽| 色五月亚洲| 久久色网| 超碰综合97在线| 婷婷九月| 大香蕉视频一二三区| 欧洲大香蕉| 五月丁香影视| 黄页网站免费高清在线观看| 日本 情色 1区| 台湾肥佬网一区二区三区| 精品久久久久av影院| 五月天AV资源| 四虎永久在线精品免费网址| ?亚洲伊人伊成久久人综合网| 天天欧美97| 欧美日韩国第一区| 亚洲第一成人影院色播| 极品销魂美女一区二区 | 欧美亚洲特P| 97蜜桃综合| 一区二区影院| 欧美v亚洲v综合v国产v妖精| 色悠悠伊人网五月天| 日韩国产品视频中文字| 日本高清有码网址视频| 97九色| 国产不卡的视频| 天天爽爽爽爽| 亚洲美女自拍偷拍视频| PMv在线观看| 9.1小视频| 青娱乐手机日韩在线视频| 日本久久99| 五月婷婷六月丁香网址| 久久久96| 密臀在线一区尤物| 欧美偷拍| 欧美激情精品久久久| 国产欧美日韩女同性恋ww喷水精品| 欧美精品日韩久久久九| 热99这里有精品综合久久 | 69丨亚洲丨精品丨入口免费播放| 亚州人妻| 精品久久久久黄少妇| 99久久久99久久91熟女| 国产精品色片一区二区| 99这里只有精品国产| 婷婷爽人人婷婷爽视频| 91精品久久久久| 区自美91| 欧洲大香蕉| 在线视频一区二区传媒| 日本高清加勒比| 日韩精品操少妇| 男人的天堂2018.| 婷婷亚洲中文字幕在线| 久久久久免费少妇| 99亚洲天堂| 91九九九小逼| 久久久久久久综合,国产| 亚洲十八禁止| 任你干在线视频| 天天天天天天天天综合| 97资源免费视频| 亚洲自拍一区夜夜操| 久久伊人在线五区| 欧美人妻二区三区| 2000亚洲男人天堂| 首页亚洲国产高跟丝袜诱惑视频| 亚州色交| 有码免费观看| 亚洲影院小综合| 亚洲欧美一区二区不卡视频播放| 另类av天堂| 91总综合网| 国产丰满熟夫69mpp| 都市激情人妻一区二区青青操视频| 综合网欧| 天天操天天日天天干| 国产女主播视频在线观看| 97欧美色综合| 亚洲欧美91| 蜜臀在线视频| 久草免费福利在线播放| 69精品少妇一区二区三区蜜桃| 久久久久久久 九九九九九九九| JULIA人妻风俗店中出电影| 男人天堂.AB| 久久久九九九九| 国产和美国毛片| 97在线欧| av黄图片在线观看| 色色色色日本| 女人天堂av在线播放| 天天躁狠狠躁av| 尤物视频新赏网鲜网色诱网| 97超碰日韩| 日韩欧美性吧婷婷乱伦大香蕉| 亚洲不卡三级手机播放| 天天干天天干天天干| 精品妇女一区二区三区| 色娱乐色呦呦夜夜夜夜av| 欧美色91| 久久精品国产亚洲妲己影视| 人妻熟女av国产网站| 韩日精品四区| 在线小视频| 国产精品农村妇女| 一二三四视频中文字幕在线看| 久久性爱大全| 美女的肌被草喷水视频| 黑人精品欧美一区二区蜜桃| 成 人片 黄色大片| 嗯啊不要在线观看嗯啊| 精品女同一区| 国产探花精品在线| 久久久9视频| 后入人妻无码| 99精品成人免费看| 久久爽爽精品| 免费精品国偷自产在线在线 | 啊啊啊啊啊啊啊啊啊啊在线观看| 亲子敌伦对白在线播放| 亚洲 日本 一 二 三| 色香在线| 黄色免费网| 色综合20p| 天天噜| 国产做?爰片久久毛片?片美国| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 91色艳| 欧美中出1| 国产成人亚洲精品自产在线| 久久久久亚洲精品| 91老熟女视频| 性爱1区| 少妇69中文| 91天天综合在线| 欧美日韩性爱操大逼| 国产精品久久久久久久久久久久久久久久 | 91国产在线精品| 久久久久人妻二区精品叶可怜| 国产精品小视频一区二区三区| 日韩免费簧片| 日韩精品大香蕉伊人在线| 免费在线黄片视频| 四虎AV在线播放| 天美国产三级传媒| 大香蕉一区二区在线观看.| 亚av顶级裸体一区二区三区四区五区| 亚洲成?V人片在线观看福利| 极品少妇久久久| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 欧美高清第一页| 另类 综合 日韩 欧美 亚洲| 亚洲一本大道中文字幕无码在线| 91 丝袜在线播放| 97资源站久久| 亚洲蜜臀懂色| 五月丁香婷婷啪啪| 天天日天天搞天天干| 天欧美在线| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 国产偷人伦激情在线观看| 亚洲一二三| 91粉芽高清在线一区二区| 精品中文字幕第一页| 高清孕妇孕交 交| 九九九九九九九九九九精品视频| 亚洲天天艹| 91大胆欧美| 色丁香久久| 丝袜熟女一区二区三区| 国产精品一区二区亚洲人成毛片| 欧美色乱| 久久久久久九| 在线日韩精品一区二区三区| 最新制服中文第一页| 欧美一二级| 蘋果手機免費看成人Av| 日本999精品视频| 久久久9品一区二区三区| 玖玖视频在线资源一区二区三区| 狠狠狠狠狠干| 99视频内射三四| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 色色无码| 欧美乱色| 一区 欧美 日韩 麻豆| 超碰日本97美女人妻人人玩人人爱| 久久五月视频| 日韩在线视频1234| 亚洲色图 欧美热图 清纯唯美 另类自拍| 色九九综合| 思思热在线视频精品| 日韩女优在线| 青草香蕉网| 超碰伊人在线| 欧美亚洲特P| 国产精品扒开腿做爽爽爽视频| 蜜臀99久久精品久久久懂爱| 澳门黄片一香蕉视频| 亚洲黄色a级片| 九九热视频这里只有精品| 91伊人影视综合| 久久久久久久久国产| 97草草| 国产91影院| 天天日B夜夜干B时时操B| 天天做天天爱| 亚洲国产蜜臀系列在线观看| 神马久久午夜| 国产麻豆一级精品视频| laoshunv91| 欧美人妻少妇| 五月丁香色情| 4141514逼喷水三级片| 色妇91| 国产绿奴视频在线观看| 97色冈| 欧美色图20P| 在线综合色| 欧美97在线观看| 男女啊啊啊啊啊| 亚洲午夜福利在线影院| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | www超碰| 97网址97| 中文字幕亚韩| 大白逼三四级| www.色操逼| 91AV天美在线视频| 18禁的网站在线| 综合网97| 欧美 亚洲 偷拍自拍| 国产日韩中文字幕欧美| A片三级无码| 亚洲操操操无码| 国产a级午夜毛片| 一二三卡欧美日韩人妻免费精品| 亚洲色色探花| 91欧美少妇| 五月婷婷综合网| 精品久久97| 精品免费一区二区三区在线亚洲人成| 欧 美 自 拍 偷 拍| 国模不卡一本二本三电影| 国产美女销魂在线观看不卡| 亚洲在高跟鞋自慰久久在色线| 亚洲无码com| 日逼五月天| 久久精品国产亚洲AV无码做| com 首页 18岁 禁区 女优 免费 精选 同城 | 男女性无套 免费九一| 综合日韩激情另类图片| 亚洲欧美综合区自拍另类| 91在线丝袜| 午夜精品99久久久久传媒| 欧亚性爱在线视频| 91天堂丝袜美腿| 日韩中文字幕熟妇人妻| 两性综合网| 91香蕉国产尤物视频| 美女91av| 欧美大香蕉97| 操91| 国产女性无套 免费观看| 农村女一级毛卡片| 9精品久久久久| 青青草男人天堂| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 欧美色亚洲| 亚洲校园激情| 伊人亚洲综合| 国产传媒1234区| 天天综合精品| 超碰在线看| 蜜臀久久99精品| 欧美黄色手机在线观看| 99人妻| 97就爱干| 日韩一级二级三级免费看完整版国语版| 久久黄黄| 丁香五月偷拍| 色99视频| 欧美不卡在线美女| 97人妻色| 青苹果影院男人的天堂| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 天天澡天天爽日日AV| 亚洲无码日韩电影| 97在线观| 极品另类| 黄色成人网久久久久久| 精品欧美不卡在线播放| 亚洲无码超碰免费| 最好看的中文字幕在线2018| 亚洲免费成人精品电影| 日本熟妇人妻中出视频| 亚洲 欧美 手机在线观看| 国产AV超爽| 国产精品一二三区福利| 神马久久久久眼| 欧美 青青草| 美女网站黄页| 久草看看看| 亚洲天堂久久久久久粉红视频| 亚洲欧美色图小说| 中文字幕精品一区二区精| 333kkkk·亚洲com久久| 欧美激情综合色综合啪啪五月| 亚洲AV无码天美传媒一区| 日韩99神马视频播放| 中文字幕女同在线| 欧美天天综合网版| 天天干天天操天天拍| 亚洲永久永久永久永久一级一级一级精品| 欧日韩在线观看| 国产精品久久成人免费| 麻豆久久久久久久久丝袜| 欧美日韩精品青青| 不卡中文字幕aⅴ在线| 免費黃色視頻觀看一| 一区黄二区黄| 无套后入双马尾| 变态乱伦伪娘灌肠一区二区| 欧洲色色| 超碰97极品9| aaaa少妇高潮大片| 欧美影音在线| 日韩乱伦AⅤ| 久久婷婷色综合一区二区三区| 神马影院午夜福利久久久| 日韩无码一区二区三区| 99综合| 人妻另类| 五月丁香六月婷综合成人综合| 校园春色亚洲无码| 亚洲阿v天堂无码z2018| 草久久久| 在线综合 亚洲 欧美中文字幕| 999日韩中文精品观看视频。| 日本一线产区和二线产区伦理片| 久久AV无码网址| 亚州图片第一页| 中文字幕免费看大片| 亚洲中文字幕久久无码精品| 8050午夜少妇无码| 美女天天干| 国产欧美日韩在线不卡第一页| 久草男人天堂| 亚洲欧美日韩精品久久久一区二区| 91 国产丝袜在线播放-百度| 亚洲aV性爱| 78m啪啪啪| 日本三级日本三级三级人妇四虎| 国产精品白领在线观看| KK色在线影院| 色九月综合| 欧美日韩国产色图在线| 一区二区三区高清| 中文一区二区婷婷视频| 日韩欧美午夜视频在线| 啊啊啊啊啊啊啊国| 大香蕉黄色一区| 极品AV网站在线观看| 萌白酱自拍视频| 国产精品白丝AV| 日本三级黄页| 婷婷丁香九月| 人人妻人人澡人人爽久久av| 97视频在线观看高清资源| 国产高清MV操逼视频| 午夜一区| 97丝袜亚洲在线播放| 婷婷五月天AV| 日操粉逼逼| 久久精品熟妇丰满人妻99| 嗯嗯啊啊好疼| 国模限制级电影| 中文字幕亚洲热播人妻| 男女一进一出视频久久| 亚洲综合校园春色| 日韩丝袜人妻AV| 精品超碰国产| 日韩美女啪啪一区| 啊啊啊网站| 97超碰影音| 西西美女视频网| 射 色综合| 亚洲福利中文字幕在线| 密乳无码| 草莓精品视频在线免费观看| 女色综合| 91狠狠综| 国产三级片在线观看| 99最新日韩偷拍视频| 欧美少妇性乱| 狠狠图片青青草| 在线啊啊啊啊| 欧美久久九九| 亚洲色图大香| 亚洲色五月| 两性综合网| 国产精品美女在线一区| 成人性爱AV在线免费观看| 少妇一区二区三区| 97免费在线观看| 亚洲三级。日韩三级| 91超碰丝袜制服| 超碰到97情色| 干妹子| 日本九九久久99| 亚洲欧美性生活| 亚洲欧美综合色| 中文字幕艹艹| 国产一区麻豆免费观看| 久久精品一区| 欧美 日韩 国产传媒| 亚洲中文人妻色| 中文字幕 av v| 伊人97色天使| 91夜夜蜜桃臀1区2区3区| 日韩紧密久久| 日本精品性生活久久久| 国产成人天堂| 成人开心网在线视频| 日本 情色 1区2区3区| 欧美高潮| 97se亚洲综合自| 婷婷爽人人婷婷爽视频| 日韩性爱啪啪视频| 377p欧洲日本亚洲大胆| 亚洲黄网在哪免费看| 在线人人人人人人精品超| 天天日老熟妇| 欧美少妇第一页| 丝袜视频一区二区在线播放国产中文| 99国内熟女露脸视频| 黄色十八禁| 亚洲av资源| 日本精品五区| 成人a大片在线观看| 人妻精品一区二区在线| 天天天天干| 亚洲情色五月天| 足交视频老司机| 91天美免费| 久久精品国产精品一区| av在线不卡一区二区三区| 亚洲各类熟们中文字幕| 天美av在线观看| 偷拍色图| 欧美一级A一级a爱片久久| 老司机天天操| 999在线电影香蕉| 好舒服视频| 精品玖九九久| 精品国产91av一区二区三区| 久久久久国产无av| 久久九七| 97超碰美女| 日本成人A片免费看| 天天综合色| 熟女AV一区| 欧美亚洲图片| 国产一区二区啪啪视频| 神马久久中文字幕| 色综91| 国产高清精品福利| 青青国产在线拍揄自揄拍| 国产午夜精品一区二区三区牛牛| 俄罗斯一区二区视频在线观看| 91一起操| 天天影视之亚洲综合网| 大二网站亚洲| 亚洲天堂区| 久肏视频字幕| 亚洲第一狼人丝袜美女另类 | 91熟女视频网| 色综合久久av| 蜜奶av| 成人久久久| WWW黄片COM| 五月天加勒比啪| 欧美日韩在线视频网站| 青青网三级视频| 日韩精品资源| 色爱三区| 欧美日韩亚洲国产中文永久天天看| 韩国免费播放一级毛片| 中文啪啪视频| 超碰色综合| 涩涩五月天| 就去色综合| 日本肉体xxxx裸交| 天操天操夜操夜月月年年操操| 国产乱色国产精品免费视| 有码免费观看| 亚洲欧美日韩免费观看| 亚洲天堂性爱| 日本久久女同性恋视频| 啊啊啊啊视频免费| 秋霞色色影院| 超碰97资源中文字幕| 国内毛片热久久思思热| 日本少妇va7777| 欧美不卡五十路| 亚洲日韩青青草色月| 天天影视色香欲综合网小说| 国产人伦精品一区二区三区 | 中亚av| 日本欧美中文字幕| 色女99一级片在线观看| 欧美性生活男人的天堂| 久插不卡| 手机在线A片| 亚洲麻豆18发?| 国产粉嫩出水在线播放| 欧美色蜜桃97| 男人的天堂2018东京热啪啪啪| 2019天天干| 久久久久9999妇女| 蜜乳AV一区二区三区四| 久热这里只有精品9| 水澄无码AV| 色色毛片| 天综合网欧美| 另类小说五月天| 97视频在线播放| 蜜臀久久久| 亚洲第一无码播放立川理惠| 无马一区二区| 开心六月色| 男人高清无码一区二区| 人妻精品一区二区三区| 91在线免费观看处女| 国内精品a| 97在线播放| 射丝袜高跟鞋99| 校园春色综合| 精品国产人成在线| 91亚洲欧美激情| 97视频620| 国产高潮AA片免费看| 亚洲综合第一页| 91精产一区二区三区| 欧美婷婷| 一类av片在线看| 亚洲 欧美 色图| 啊啊啊啊操死我了| 欧美日韩超碰在线| 国产美女mm131爽爽爽爽| 蜜桃久久一区二区| 韩日自拍| 久草资源欧美在线视频| 久久精品99| 国产女人高潮嗷嗷嗷叫小说| 热热色91| 天天躁夜夜躁狠狠躁AV| 激情文学 国产一二三aV| 一区二区三区精品视频| 国产三级在线现体验区| 无码粉嫩白虎一线天b区| 98精品国产乱码久久久久久| 日韩人妻少妇 一区二区三区| 岛国大片国产| 免费试看60秒| 96超碰网| 成人精品水蜜桃久久久久久久| 一牛影视久久久一区二区三区| 久草视频分类在线| 精品高清一区二区三区三州| 91亚洲网| 日韩综合97p| 日本 情色 1区2区3区| 西西美女视频网| 欧美最婬乱婬爆婬性视频| 综合网色| 去干网最新版| 国产成人www免费人成看片| 91丨九色丨国产丨人妻在线| 热99这里有精品综合久久| 久久亚洲欧美一区二区三区-亚洲国产精品第一区二区 | 青青草精玖玖69精品| 亚洲,欧美,春色,另类| 一区二区三区机械有限公司| 18禁的网站在线| 国产二区视频在线观看电影| 久久久久亚洲熟妇熟女| 亚洲高清自拍| 校园春色亚洲| 97在线观看| 91丨人妻丨国产丨丝袜| 麻豆亚洲AV成人无码久久精品| 色综九九九一区| 欧美在线第五页| 天天搞欧美| 熟女熟妇伦久久影院毛片一区二区 | 久久久78| 人妻丝袜一区二区三区在线| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 亚洲图片 91| 国产精品一区二区三区在线密挑| 另类视频在线| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 探花一区在线| 美日韩成人| 大香交伊人网| 夜夜操天天肏| 欧美猛交黑寡妇中文字幕| #NAME?| 亚洲日韩97| 欧美日韩亚洲天堂| 久久精品国产Aⅴ| 国产亚洲性生活视频播放| 国产操伦| 国产AV久久久蜜爱影集| 五月婷婷综合在线| 男人的天堂2018.| 欧美亚洲se91| 中日韩久久久免费看| 91九色丨风韵犹存| 日本操逼aaaaa| 色官网色综合| 啊啊啊啊好疼视频| 国产97色在线 | 亚洲| 天天综合-91入口| 青草草免费网站av| 久久婷婷亚洲| 人人色人人射人人妻| 日本男人插女人的逼黄色| 欧美在线视频播放| 96超碰网| 蜜乳AV.COM| 精品久久99| 99热导航| 国产精品农村妇女| 色天使亚洲综合在线观看| 国产高潮AA片免费看| 麻豆婷婷成人一二三| 91少妇通奸网站| 免费岛国一级片| 国模精品娜娜一二三区| 亚洲人在线| 97久久超碰日韩精品| 免费av在线播放二区| 国产女人成人精品视频| 亚洲少妇诱惑| 亚洲熟妇A V黑人| 国产女人与拘做受视频免费| 六月激情网| 在线情色电影 91大 | 热久久九九热| 91亚洲人| 深夜激情无码| 国产二区三区粉嫩在线| 超碰人妻久久| 三级片网站在线播放| 欧美色图成人网一区二区 | 亚洲色色探花| 欧美超碰96| 国产97视频| 亚洲精品美女久久久久久久久| 久久水蜜臀亚洲AV无码精品| 熟妇色99| 五月丁香婷婷综合网| 色九九综合AV| 亚洲精品人妻在线| 青青操在线亚洲视频观看欧美在线| 国产精品9999| 五月天社区| 亚洲中字慕不卡| h无码动漫在线观看| 91美女在线视频| 一级黄色性爱裸体视频| 91 在线亚洲| 极品色综合| 色情五月综合婷婷| 久久久久久无码人妻中文字幕| 中国国产精品一区视频| 美女主播色欲91抠b在线播放| 91天天| 久久侵犯人妻爽爽爽| 91中文字幕制服丝袜免费视频| 日本熟妇人妻中出视频| 亚洲综合大片| 成人性爱高清视频免费看| 男人精品天堂一区| 亚洲AV性爱电影| 97视频新免费| 最新日韩黄片| 天美麻豆一区二区三区| 看日韩美女二区三区免费操逼视频| 99热精品在线观看| www.婷婷| 2024黄色视频| 国产美女精品| 色官网色综合| 亚洲天堂一区二区| 婷婷色导航| 97久久国产| 欧美日韩免费专区在线| 久久性爱精品一区| 亚洲天堂日本| 亚洲AV永久无码一区仙野| 天天激色| 久久一区二区三区入口| 天天天堂影视日韩亚洲91| 福利在线黄片| 人妻少妇蜜桃视频欧美一区| 91在线免费精品视频| 色婷婷成人综合| 亚洲国产精品99久久久| 国产欧洲精品亚洲午夜拍精品| 久久社区一区二区三区| 中文字幕免费在线观看| 亚洲色图超碰在线| 天天干人人看综合| 综合视频91| 操逼网免费无码视频| 青青五月天| 国产久久视频| 国产高清无码一区三区二区| 久草老司机| 91一起操| 丰满美女一级毛片在线播放| 日韩 女同 综合| 91超级碰碰| 国产一区二区成人av在线播放| 久久精品72| 久久肏大逼| 2024黄色视频| 激情啪啪视频| 日韩素人无码一区二区三区三州| 黑人娇小av在线播放 | 亚洲国产一级中文综合久久天堂在线免费观看 | 91大神精品长腿在线观看网站| 精品久久九| 欧美亚洲丝袜人妻制服99| 视频一区二区免费在线| 941超碰| www.91色| 亚洲丝袜诱惑| 日欧美色| 欧美亚洲中文字幕| 日本不卡五区| 婷婷九月国产| 精品国产一区二区三区久久久蜜臀 | 久久久一区二区三区三州| 欧美日综合| 性色av一区二区| 五月婷婷AV| 国产亚洲精品A在线观看下载| 国产精品第一页国产大屁股视频免费区i| 五月激情综合网| 国产高清免费不卡av| 日本不卡在线二区三区| 亚洲诱惑天堂| 嗯嗯,啊啊,国产精品| 熟女视频久久| 成人八戒网站| 亚洲欧美日韩免费观看| a啊啊啊啊啊啊啊啊一区二区| 99啪啪视频| 婷婷亚洲天堂| 日本一级性爱| 成人一道本免费视频| 欧美资源| 四虎影视精品| 国产丝袜一区二区三区| 亚洲drav色图| 欧美色图中文字幕| 婷婷情色综合网| 中文字幕一区av| 99久久久久久久久| 中文字幕亚洲永久精品| 日韩欧美午夜一区二区| site:sinbotex.com| juliaann欧美丝袜办公室| 日本欧美m v精品网站加| 性性久久| 亚洲性少妇| 青青草乱入乱欲视频在线观看| 国产久久视频| 啊啊好多水| 欧美性色综合网| 欧美日韩222| 日夜啪电影| 97操97色| 乱理日韩中文| 精品射1999| 91中文精品日韩欧美在线 | 伊人五月天婷婷| 综合av社区| 国产一区二区成人av在线播放| 日本中文字幕不卡视频 | 亚洲精品久久久久久久久豆丁网| 920日本午夜免费| 国产成人亚洲精品自产在线| 精品国产精品一区二区| 91九九| 国产亚洲日本精品在线| 午夜影美女日鸡鸡天天视频国产| 国产亚洲精品无码三区| 成人性爱av.com| 久久香蕉国产线看观看猫咪av| 日韩精品亚洲专区在线影视| 伦理片秋霞免费影院| 最新三级网址| 性爱av在线免费观看| 99热婷婷| 美女啊啊啊啊啊啊啊| 97色论| 91人妻久久久久久久久久久久久| 超碰97在线中文| 欧美三级偷拍| av黄图片在线观看| 男女猛烈无遮掩视频免费软件| 国产宅男宅女在线观看| 秋霞网—男女啪啪亚洲免费体验区| 强被迫伦姧在线观看无码网站| 天天操夜夜嗨| 欧美v亚洲v日韩v最新在线二区| 五月婷婷激情网| 国产视频三区四区| 九九九九日本 | 少妇高潮特黄A片| 2024人人操人人摸| 亚洲伊人久久精品狠狠在线| 精品国产91久久久久久一区黄无| 日日干夜夜欢| 中文字幕欧美日本乱码一线二线| 94色色电影网| 乱伦a片视频| 日本三级R| 久久国产视频专区一二三| 亚洲高清在线se| 伊香蕉综合久久久久久久噜噜噜 | 久久啊啊啊视频| 超碰色美女| 国产无码高清操逼视频| 伊人五月天| 色老汉色| 欧美亚洲首页| 2019天天干天天操| 亚洲欧美精品91| 亚洲限制级| 久热这里| 欧美特大AA级黄片| 九九热在线精品视频| 丝袜综合| 欧美日韩亚洲天堂| 亚洲情色在线| chaopen97久久| 操人人| 久久精精区一区二区一蜜桃一区二区| 99热aaa| 久久日本熟妇熟色一区| 最近2019中文字幕国语免费版| 国产免费一区二区三区最新不卡| 欧美大干日韩| 91av一区二区在线观看| 免费一级视频特黄色大片| 极品久久久久久久久久久久久久| 水多多映视AV| 色噜噜人妻丝袜a∨先锋影| 欧亚第一综合网| 91丝袜在线观看| 91精品啪在线观看国产城中村| 97中文字幕色| 天美精品原创av片国产| 中文久久爆乳| 91久久国外网| 天天色天天干天天爱| 久久侵犯人妻爽爽爽| 亚洲资源一区| 大香蕉久操| 精品乱码在线观看| 午夜福利av电影在线| 黑人中出21连凳花野真衣| 人妻丝袜一区二区三区在线| 一二三四视频中文字幕在线看| 96AV精品| 亚洲无码一区成人免费午夜| 福利视频一区二区微拍| 日韩AV一区二区三区三州三州| 欧美色另类| 亚洲成人综合在线| 超碰这里有精品| 黄色视频特级毛片| 欧美体内射精| 性爱视频啪啪啪啪| 欧美 传媒 麻豆 日韩 偷拍| 家庭乱伦国产精品| 久久精品72| 亚洲无码国产探花在线观看| 天天综合网91入口| 黄视频免费| 亚洲一区二区三区麻豆传媒| 极品欧美一区二区三区| 97免费视频网| 91网九色蝌蚪操熟女| 亚洲综合图文| 久久这里是精品| 偷拍在线观看视频| 亚洲1区2区三区高清中文字幕| 亚洲色图 综合| 国产精品视频一区二区三区八戒| 国产精品在线一区二区| 黄片www.| 麻豆传媒一区二区在线观看| 中文字幕狠狠玩| 91 综合网| 精品无码一区二区| 香蕉欧美| 国产 大胆 对白| 亚洲aV性爱| 男人天堂2019| 超碰在线974| 欧美大香蕉同搞| 伊人96在线| 男人的天堂不卡一区二区| 囯产精品久久久久久久久久梁医生 | 亚洲国产精品无码AV久久| 91在线视频免费中出| 亚洲精品性爱片| 偷拍片久久| 精品一区二区三区蜜桃臀赵总| 久久综合九色综合欧洲98| 一二三区在线| 人人做天天爱| 欧美综合色| 欧美日韩资源在线| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 天天综合~91| 极品粉嫩一区二区| 久艾草在线精品视频在线观看| 激情开心五月天| 婷婷五月天综合网| 色哟哟 日韩精品| 亚洲欧美日韩中文久久自慰| 国产精品自产拍在线观看社区| 97爱爱爱| 嗯嗯啊啊日韩精品| 日本大片日本一区二区免费高清| 欧美的性爱网站免费| 高潮9999外国| 99啪啪视频| 免费视频a级毛片免费视频| 人妻无一区二区三区| 人妻夜爽夜夜爽| 久久久啊啊| 国产成人自拍视频在线| 97超碰磁| 中文字幕免费在线观看| 爽爽爽免费视频| 天天干天天干天天干| 欧美,日韩综合久久| 亚洲风情在线观看| 校园春色中文字幕AV| 日本熟妇一区二区三区| 无色无码| 日韩中文字幕精品一区在线| 欧美综合色图片| 老女人91| 一区二区不卡| 人人澡人人爽人人精品| 99久久精品国产高潮| 国产黄片精品在线| 亚洲人成网站7777| 亚洲色欧| 亚洲色图综合网| 亚洲永久永久永久永久一级一级一级精品| 免费黄色视频网址| 日韩激情啪啪啪| 天天视频网站黄| 亲子敌伦对白在线播放| 天天夜夜rb| 久久宗合亚洲| 麻豆成人av| 日韩美女高潮喷水视频| 综合网久久| 超碰人人乐97| 亚洲精品一区中文字幕乱码| 日韩性爱播放| 操逼视频亚洲| 日本精品无码三级网站| 熟女丰满人妻一区| 99热伊人| 秋霞免费AV| 最近2019中文字幕国语免费版| 精品国产一区二区三区香蕉欧美| 日韩有码 一区二区三区| 日日骚中文字幕| 97超碰9| 韩国三级色呦呦| 超碰视97中文| 玖玖资源视频一区二区三区| 尤物视频偷拍免费| 欧美精品欧美精品系列| 色爽——AV| 另类欧美| 97神马久久| 色欧洲| 久久大| 国产高清吃奶免费视频网站| 免费自拍三级综合| 操逼视频亚洲| 国产亚洲精品美女久久久m| 1024人妻熟女一区二区三区| 亚洲国产高清福利视频| 亚洲色诱惑| 大香蕉AV在线| 丝袜制服字幕在线| 精品小视频在线|