欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

ARTICLE DETAIL

資訊詳情

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

FPGA實(shí)現(xiàn)SPI通信:從時(shí)序細(xì)節(jié)到Verilog代碼實(shí)戰(zhàn)

FPGA實(shí)現(xiàn)SPI通信:從時(shí)序細(xì)節(jié)到Verilog代碼實(shí)戰(zhàn) SPI通信FPGA實(shí)現(xiàn)這個(gè)話題隔三差五就會(huì)在群里被提起來(lái)一次。見得最多的提問是我的SCLK已經(jīng)降到十幾兆了為什么從機(jī)還是收不到數(shù)據(jù)——其實(shí)很多人沒有意識(shí)到SCLK慢不等于時(shí)序?qū)?。FPGA上做SPI的真正難點(diǎn)不在速度而在你是否在正確的邊沿做了正確的事。SPI本身只有四根線SCLK、MOSI、MISO、CS_N全雙工主從結(jié)構(gòu)速度可以拉得很高。FPGA實(shí)現(xiàn)SPI和單片機(jī)不一樣單片機(jī)調(diào)用的SPI外設(shè)已經(jīng)把數(shù)據(jù)移位、邊沿采樣、片選時(shí)序全封裝好了你只需要配寄存器FPGA里一切都回到最底層你得自己盯著每一位數(shù)據(jù)什么時(shí)候放到總線上、什么時(shí)候從總線上取下來(lái)。換個(gè)角度說(shuō)你等于用硬件邏輯重新發(fā)明一個(gè)SPI外設(shè)。這篇文章把協(xié)議拆解、模塊設(shè)計(jì)、仿真聯(lián)調(diào)、Flash讀寫這一整條鏈路都講一遍。適合兩種人看剛學(xué)完Verilog不知道怎么寫第一個(gè)通信模塊的入門者以及已經(jīng)有模塊但總在某些莫名其妙的通信問題上卡殼的開發(fā)者??赐曛骃PI對(duì)你來(lái)說(shuō)就不再是一個(gè)會(huì)讀時(shí)序圖但寫不出代碼的東西了。1. SPI協(xié)議并沒有想象中簡(jiǎn)單四個(gè)信號(hào)背后的時(shí)序細(xì)節(jié)1.1 四個(gè)信號(hào)與主從關(guān)系SPI是典型的Master-Slave結(jié)構(gòu)主機(jī)負(fù)責(zé)產(chǎn)生SCLK和CS_N從機(jī)被動(dòng)響應(yīng)。四條信號(hào)各干各的SCLK串行時(shí)鐘由主機(jī)產(chǎn)生給從機(jī)提供采樣節(jié)奏。MOSIMaster Output Slave Input主機(jī)發(fā)數(shù)據(jù)從機(jī)收數(shù)據(jù)。MISOMaster Input Slave Output從機(jī)發(fā)數(shù)據(jù)主機(jī)收數(shù)據(jù)。CS_N片選低有效主機(jī)控制。CS_N拉低從機(jī)開始工作CS_N拉高從機(jī)進(jìn)入空閑狀態(tài)。這里有個(gè)新手容易忽略的點(diǎn)SPI是同時(shí)收發(fā)。MOSI和MISO在同一個(gè)SCLK周期里各自傳輸一位數(shù)據(jù)所以它天生是全雙工。后面做W25Q64這類SPI Flash讀寫時(shí)你想讀數(shù)據(jù)就必須繼續(xù)給SCLK哪怕主機(jī)沒有數(shù)據(jù)要發(fā)也要假裝發(fā)幾個(gè)空字節(jié)把時(shí)鐘頂出來(lái)。還有一個(gè)關(guān)鍵認(rèn)知SPI協(xié)議本身沒有定義應(yīng)答機(jī)制。主機(jī)發(fā)一個(gè)字節(jié)從機(jī)是否收到、是否正確協(xié)議層完全不知道。所以實(shí)際項(xiàng)目里要么依賴從機(jī)返回的數(shù)據(jù)做校驗(yàn)要么靠CRC、命令應(yīng)答這類應(yīng)用層機(jī)制來(lái)保證可靠性。這一點(diǎn)和I2C的ACK機(jī)制差別很大很多人從I2C轉(zhuǎn)過來(lái)會(huì)不適應(yīng)。1.2 四種工作模式與采樣邊沿SPI模式由CPOL時(shí)鐘極性和CPHA時(shí)鐘相位兩個(gè)參數(shù)決定CPOL決定SCLK空閑電平。CPOL0空閑低CPOL1空閑高。CPHA決定數(shù)據(jù)采樣相位。CPHA0在第一個(gè)時(shí)鐘沿采樣CPHA1在第二個(gè)時(shí)鐘沿采樣。組合起來(lái)就是四種模式模式CPOLCPHA主機(jī)輸出數(shù)據(jù)時(shí)機(jī)主機(jī)采樣數(shù)據(jù)時(shí)機(jī)Mode 000SCLK下降沿SCLK上升沿Mode 101SCLK上升沿SCLK下降沿Mode 210SCLK上升沿SCLK下降沿Mode 311SCLK下降沿SCLK上升沿判斷從機(jī)工作在哪個(gè)模式最好的辦法是打開數(shù)據(jù)手冊(cè)看時(shí)序圖而不是猜。時(shí)序圖上一般會(huì)畫出數(shù)據(jù)變化沿和采樣沿照著比對(duì)就行。比如W25Q64支持Mode 0和Mode 3大部分場(chǎng)景用Mode 0。OLED驅(qū)動(dòng)芯片SSD1306、SD卡、各種傳感器多數(shù)也是默認(rèn)Mode 0或Mode 3所以入門階段把Mode 0吃透已經(jīng)能覆蓋很多從機(jī)了。給新手一個(gè)建議如果從機(jī)手冊(cè)實(shí)在看不懂可以用邏輯分析儀抓主機(jī)一個(gè)已知從機(jī)的波形反推模式。我調(diào)過一塊音頻芯片手冊(cè)上寫的是Mode 0 compatible但用標(biāo)準(zhǔn)Mode 0怎么都讀不到正確寄存器最后抓波形發(fā)現(xiàn)它在SCLK上升沿更新數(shù)據(jù)主機(jī)應(yīng)該在下降沿采樣實(shí)際是Mode 1。所以手冊(cè)最大經(jīng)驗(yàn)次之波形最靠譜。1.3 FPGA實(shí)現(xiàn)SPI和單片機(jī)實(shí)現(xiàn)SPI的本質(zhì)區(qū)別單片機(jī)上的SPI外設(shè)是一個(gè)硬件模塊寄存器配好了硬件自動(dòng)完成移位、采樣的全部過程CPU只需要往數(shù)據(jù)寄存器寫值、讀值。FPGA上沒有這個(gè)現(xiàn)成的外設(shè)你需要用寄存器、狀態(tài)機(jī)、計(jì)數(shù)器和少量組合邏輯自己搭建一條數(shù)據(jù)通路。這里有一個(gè)本質(zhì)區(qū)別單片機(jī)的SPI時(shí)序由硬件固定可配置項(xiàng)也就模式、時(shí)鐘分頻、位序這幾個(gè)FPGA的SPI時(shí)序完全由你的代碼決定你可以隨時(shí)插入等待周期、自定義CS建立時(shí)間、甚至讓同一個(gè)模塊支持多種模式。靈活性高但代價(jià)是每一個(gè)時(shí)序細(xì)節(jié)都要自己負(fù)責(zé)。另一個(gè)區(qū)別是并行性。FPGA里你可以放下多個(gè)SPI控制器實(shí)例同時(shí)驅(qū)動(dòng)不同的從機(jī)互不干擾。單片機(jī)上很多SPI外設(shè)只有一個(gè)或兩個(gè)總線多了就得靠軟件分時(shí)復(fù)用。這也是很多項(xiàng)目選FPGA做傳感器采集板的原因——SPI設(shè)備多、數(shù)據(jù)量大軟件分時(shí)處理容易來(lái)不及。2. 系統(tǒng)架構(gòu)劃分與狀態(tài)機(jī)設(shè)計(jì)SPI Master的核心決策2.1 從頂?shù)降椎哪K劃分寫SPI設(shè)計(jì)前先想清楚系統(tǒng)里有哪些模塊別一上來(lái)就寫時(shí)序邏輯。一個(gè)典型的FPGA SPI系統(tǒng)從上往下大致是層級(jí)模塊職責(zé)應(yīng)用層用戶邏輯產(chǎn)生要發(fā)送的數(shù)據(jù)消費(fèi)接收的數(shù)據(jù)接口層FIFO/寄存器組緩沖數(shù)據(jù)提供握手信號(hào)協(xié)議層SPI Master控制器完成字節(jié)級(jí)時(shí)序產(chǎn)生SCLK/MOSI/CS_N物理層IO約束/電平轉(zhuǎn)換管腳分配電平匹配很多初學(xué)者直接拿一個(gè)always塊邊發(fā)邊收看起來(lái)代碼量小但后續(xù)要加FIFO、要支持多從機(jī)、要切換模式全部堆在一起根本改不動(dòng)。我建議至少拆成兩個(gè)模塊一個(gè)純粹的SPI字節(jié)控制器負(fù)責(zé)把一字節(jié)數(shù)據(jù)按SPI時(shí)序送出去并讀回一字節(jié)另一個(gè)業(yè)務(wù)狀態(tài)機(jī)負(fù)責(zé)按業(yè)務(wù)需求組合多個(gè)字節(jié)的傳輸。SPI控制器對(duì)外接口可以這樣設(shè)計(jì)clk系統(tǒng)時(shí)鐘。rst_n異步復(fù)位低有效。start啟動(dòng)信號(hào)單周期脈沖。tx_data待發(fā)送數(shù)據(jù)。rx_data接收數(shù)據(jù)。done傳輸完成單周期脈沖。busy模塊忙標(biāo)志busy1時(shí)不能再啟動(dòng)新傳輸。這種接口的好處是通用后面不管接Flash、接ADC、接OLED只需要換業(yè)務(wù)狀態(tài)機(jī)SPI控制器可以原樣復(fù)用。2.2 為什么狀態(tài)機(jī)比直接計(jì)數(shù)更適合SPI時(shí)序SPI的每一比特都要經(jīng)歷數(shù)據(jù)建立-采樣-數(shù)據(jù)變化幾個(gè)階段如果只用計(jì)數(shù)器翻轉(zhuǎn)SCLK代碼寫起來(lái)確實(shí)簡(jiǎn)單但遇到下面的場(chǎng)景就會(huì)很難受某些從機(jī)要求CS_N拉低后至少等幾個(gè)時(shí)鐘周期再給SCLK某些從機(jī)要求兩個(gè)字節(jié)之間插入延時(shí)某些從機(jī)要求主機(jī)在采樣前留出額外等待時(shí)間。這些插入等待的需求用純計(jì)數(shù)器也能做但狀態(tài)一多代碼就變成一團(tuán)亂麻。狀態(tài)機(jī)的優(yōu)勢(shì)就在于顯式表達(dá)時(shí)序階段每個(gè)狀態(tài)代表SCLK的一個(gè)半周期或一個(gè)空閑階段狀態(tài)跳轉(zhuǎn)條件就是計(jì)數(shù)到某個(gè)值??创a的人一眼就能知道當(dāng)前處于什么階段后續(xù)加時(shí)序約束也只需要在狀態(tài)機(jī)里加狀態(tài)。而且狀態(tài)機(jī)的輸出邏輯非常自然。比如Mode 0下SCLK空閑為低進(jìn)入第一個(gè)狀態(tài)后保持SCLK為低計(jì)滿半周期后跳到高電平狀態(tài)高電平狀態(tài)再計(jì)滿半周期才采樣。這樣SCLK不是一個(gè)獨(dú)立的自由運(yùn)行時(shí)鐘而是受狀態(tài)機(jī)控制的受控時(shí)鐘CS_N、MOSI的變化時(shí)機(jī)都能和SCLK精確對(duì)齊不會(huì)再出現(xiàn)那種波形看起來(lái)對(duì)實(shí)際上沿的位置差了一拍的問題。2.3 波特率和分頻系數(shù)的取舍SCLK的最高頻率由兩個(gè)東西決定從機(jī)支持的最大SCLK頻率以及FPGA到從機(jī)之間的物理鏈路質(zhì)量。不要一上來(lái)就拉滿工程上合理的選擇是先定一個(gè)穩(wěn)妥的基準(zhǔn)頻率跑通后再慢慢提頻。分頻系數(shù)的計(jì)算很簡(jiǎn)單SCLK頻率等于系統(tǒng)時(shí)鐘頻率除以分頻比。以100MHz系統(tǒng)時(shí)鐘為例想要10MHz的SCLK分頻比就是10半周期就是5個(gè)系統(tǒng)時(shí)鐘周期。如果從機(jī)最高SCLK是40MHz我通常不會(huì)直接用40MHz而是先跑到10MHz把協(xié)議調(diào)通再逐步提到25MHz、30MHz。原因很簡(jiǎn)單高頻下信號(hào)完整性問題、采樣沿余量問題全都會(huì)冒出來(lái)到時(shí)候你分不清是協(xié)議代碼的問題還是硬件鏈路的問題。另外注意一點(diǎn)SCLK低電平時(shí)間和高電平時(shí)間最好對(duì)稱。分頻系數(shù)是偶數(shù)時(shí)天然對(duì)稱奇數(shù)時(shí)會(huì)有高低電平不均的問題。所以參數(shù)化設(shè)計(jì)里HALF_CLK這個(gè)值盡量用偶數(shù)分頻折算哪怕SCLK頻率不是整數(shù)也問題不大通信時(shí)序最重要的是采樣點(diǎn)位置穩(wěn)定而不是頻率剛好卡在整數(shù)兆赫茲。3. 可復(fù)用的Verilog實(shí)現(xiàn)從零手寫一個(gè)Mode 0的SPI Master3.1 核心代碼框架下面是一個(gè)參數(shù)化的SPI Master適用于Mode 0CPOL0CPHA0支持任意字節(jié)寬度時(shí)鐘分頻可配。代碼量不大但把SPI時(shí)序的核心流程完整覆蓋了。module spi_master #( parameter DATA_WIDTH 8, parameter HALF_CLK 5 // 系統(tǒng)時(shí)鐘 / (SCLK * 2) )( input wire clk, input wire rst_n, input wire start, input wire [DATA_WIDTH-1:0] tx_data, output reg [DATA_WIDTH-1:0] rx_data, output reg done, output reg sclk, output reg cs_n, output reg mosi, input wire miso ); localparam IDLE 3d0; localparam CLK_LO 3d1; localparam CLK_HI 3d2; localparam STOP 3d3; reg [2:0] state; reg [DATA_WIDTH-1:0] shift_reg; reg [$clog2(DATA_WIDTH)-1:0] bit_cnt; reg [15:0] hal_cnt; always (posedge clk or negedge rst_n) begin if (!rst_n) begin state IDLE; sclk 1b0; cs_n 1b1; mosi 1b0; done 1b0; rx_data {DATA_WIDTH{1b0}}; end else begin case (state) IDLE: begin done 1b0; cs_n 1b1; sclk 1b0; if (start) begin cs_n 1b0; shift_reg tx_data; mosi tx_data[DATA_WIDTH-1]; bit_cnt 0; hal_cnt 0; state CLK_LO; end end CLK_LO: begin if (hal_cnt HALF_CLK - 1) begin hal_cnt 0; sclk 1b1; state CLK_HI; end else begin hal_cnt hal_cnt 1b1; end end CLK_HI: begin if (hal_cnt HALF_CLK - 1) begin hal_cnt 0; sclk 1b0; rx_data {rx_data[DATA_WIDTH-2:0], miso}; if (bit_cnt DATA_WIDTH - 1) begin state STOP; end else begin bit_cnt bit_cnt 1b1; shift_reg {shift_reg[DATA_WIDTH-2:0], 1b0}; mosi shift_reg[DATA_WIDTH-2]; state CLK_LO; end end else begin hal_cnt hal_cnt 1b1; end end STOP: begin cs_n 1b1; done 1b1; state IDLE; end endcase end end endmodule這段代碼的主體思路是IDLE狀態(tài)等待startCS_N拉低的同時(shí)把待發(fā)送數(shù)據(jù)的最高位放到MOSI上然后進(jìn)入CLK_LO狀態(tài)。CLK_LO保持SCLK低電平半周期結(jié)束后拉高SCLK進(jìn)入CLK_HI。CLK_HI保持SCLK高電平半周期結(jié)束時(shí)采樣MISO、拉低SCLK同時(shí)把下一位數(shù)據(jù)移到MOSI上。循環(huán)8次后進(jìn)入STOP狀態(tài)釋放CS_N并拉高done。3.2 發(fā)送與接收并行處理的關(guān)鍵點(diǎn)很多人第一次寫SPI時(shí)會(huì)問一個(gè)問題發(fā)送和接收是不是要分別寫兩個(gè)計(jì)數(shù)器不需要。SPI是同時(shí)移位的發(fā)送一個(gè)bit的同時(shí)必然接收一個(gè)bit靠同一個(gè)bit_cnt控制就行。注意代碼里發(fā)送和接收的移位方向發(fā)送時(shí)每過一個(gè)周期把shift_reg左移一位新的最高位變成原次高位送出的順序是MSB first接收時(shí)用rx_data {rx_data[DATA_WIDTH-2:0], miso}把采到的bit放到最低位同時(shí)整個(gè)寄存器左移。這樣第一個(gè)采到的bit會(huì)慢慢移動(dòng)到最高位最終rx_data就是標(biāo)準(zhǔn)的MSB first數(shù)據(jù)。這段代碼里采樣點(diǎn)放在CLK_HI結(jié)束前的半周期位置也就是SCLK高電平的末尾。Mode 0下從機(jī)通常是在SCLK下降沿更新MISO所以SCLK高電平期間MISO已經(jīng)穩(wěn)定。在末尾采樣相當(dāng)于給從機(jī)輸出留出了接近一個(gè)半周期的建立時(shí)間比在上升沿瞬間采樣更穩(wěn)。有的FPGA工程師習(xí)慣在上升沿打一拍采樣也能工作但如果從機(jī)輸出延遲較大偶發(fā)MISO采樣錯(cuò)誤就很頭疼。我的做法是優(yōu)先保證建立時(shí)間余量采樣點(diǎn)稍微往后挪一點(diǎn)代價(jià)是SCLK前沿到采樣點(diǎn)之間有一個(gè)半周期的延遲這完全不影響協(xié)議正確性。3.3 從Mode 0擴(kuò)展到Mode 1/2/3的思路上面的代碼默認(rèn)CPOL0、CPHA0想支持其他模式核心就兩個(gè)改動(dòng)SCLK空閑電平以及移位和采樣分別發(fā)生在哪個(gè)沿。CPOL決定空閑電平。Mode 2和Mode 3下IDLE狀態(tài)里SCLK應(yīng)該是高電平STOP之后也要回到高電平。CPHA決定采樣沿。Mode 1里主機(jī)在SCLK上升沿移位、下降沿采樣正好和Mode 0相反。改成參數(shù)化設(shè)計(jì)時(shí)可以加兩個(gè)parameterCPOL和CPHA然后在狀態(tài)機(jī)里根據(jù)參數(shù)決定CLK_LO和CLK_HI時(shí)SCLK的電平以及采樣和移位動(dòng)作放在哪個(gè)狀態(tài)里。不過說(shuō)實(shí)話工程中我更推薦用Vivado或Quartus自帶的SPI IP或者針對(duì)某種模式單獨(dú)寫一個(gè)專用模塊。一個(gè)模塊支持全部四模式代碼可讀性和時(shí)序余量都會(huì)受影響除非項(xiàng)目需求明確否則沒必要把參數(shù)化做得太復(fù)雜。4. 從仿真到上板實(shí)測(cè)過程中才暴露的幾個(gè)坑4.1 Testbench搭建時(shí)一定要模擬真實(shí)從機(jī)行為仿真最大的價(jià)值不是看波形多漂亮而是在上板之前驗(yàn)證協(xié)議的正確性。很多人的Testbench只給SPI Master灌數(shù)據(jù)然后把MISO拉高或拉低這其實(shí)測(cè)不到時(shí)序問題。建議寫一個(gè)簡(jiǎn)單的SPI從機(jī)模型邏輯就是檢測(cè)到CS_N拉低后在每個(gè)SCLK的有效邊沿采樣MOSI存到寄存器并在下一個(gè)邊沿把預(yù)設(shè)數(shù)據(jù)放到MISO上。代碼如下module spi_slave_model #( parameter DATA_WIDTH 8 )( input wire sclk, input wire cs_n, input wire mosi, output reg miso, input wire [DATA_WIDTH-1:0] response ); reg [DATA_WIDTH-1:0] shift; always (posedge sclk or negedge cs_n) begin if (!cs_n) begin miso response[DATA_WIDTH-1]; end else begin miso response[DATA_WIDTH-2:0]; // 這里只是為了仿真不追求完全精確的從機(jī)行為 end end endmoduleTestbench里用always #5 clk ~clk;產(chǎn)生100MHz系統(tǒng)時(shí)鐘start信號(hào)拉高一個(gè)周期然后等待done再比較rx_data和response是否一致。跑通之后再用$display打印每一次收發(fā)的結(jié)果比肉眼看波形高效得多。4.2 仿真沒問題、上板就出錯(cuò)的三個(gè)高頻問題第一個(gè)是start信號(hào)毛刺。如果start來(lái)自按鍵或者跨時(shí)鐘域信號(hào)直接進(jìn)狀態(tài)機(jī)有可能觸發(fā)半路復(fù)位或者狀態(tài)跳飛。解決方法是加兩級(jí)同步器或者做邊沿檢測(cè)確保狀態(tài)機(jī)只在信號(hào)的穩(wěn)定沿觸發(fā)。第二個(gè)是CS_N和SCLK的相位關(guān)系。很多從機(jī)要求CS_N拉低后至少幾微秒才能給SCLK或者CS_N釋放后要等一段才能進(jìn)行下一次傳輸。我的控制器里沒有在IDLE到CLK_LO之間做CSN建立時(shí)間的等待所以如果從機(jī)手冊(cè)里有tCSSN這類參數(shù)你需要在外層狀態(tài)機(jī)里自行控制間隔。最簡(jiǎn)單的方式是在每個(gè)字節(jié)傳輸完成后強(qiáng)制等待幾個(gè)時(shí)鐘周期再發(fā)下一個(gè)字節(jié)。第三個(gè)是MISO沒有做同步處理。雖然SPI時(shí)鐘是FPGA自己產(chǎn)生的但MISO信號(hào)從引腳進(jìn)來(lái)之后相對(duì)系統(tǒng)時(shí)鐘仍然是異步輸入。如果不做任何處理直接采樣極端情況下會(huì)出現(xiàn)亞穩(wěn)態(tài)導(dǎo)致偶發(fā)的一個(gè)bit錯(cuò)誤。穩(wěn)妥的做法是在控制器入口打兩拍同步或者至少在采樣路徑上加一級(jí)寄存器。這個(gè)在上板信號(hào)質(zhì)量差的時(shí)候尤其重要。4.3 用邏輯分析儀看波形時(shí)的一些建議上板調(diào)試時(shí)ILAIntegrated Logic Analyzer是你的眼睛。但很多新手用ILA看SPI抓不到有效數(shù)據(jù)原因往往是觸發(fā)條件沒設(shè)好。建議把采樣時(shí)鐘設(shè)為系統(tǒng)時(shí)鐘不要用SCLK。觸發(fā)條件設(shè)為cs_n 0的下降沿采樣窗口稍微設(shè)大一點(diǎn)保證能抓到CS_N拉低期間的全部SCLK周期。觀察時(shí)重點(diǎn)看四個(gè)要素CS_N拉低后MOSI的第一個(gè)bit是否已經(jīng)穩(wěn)定SCLK上升沿時(shí)MOSI是否處于數(shù)據(jù)窗口內(nèi)SCLK下降沿時(shí)MISO的變化點(diǎn)每個(gè)字節(jié)結(jié)束后CS_N是否及時(shí)拉高。如果發(fā)現(xiàn)MOSI在SCLK有效沿附近變化說(shuō)明移位時(shí)機(jī)太晚了要把移位動(dòng)作往前挪。如果MISO采樣結(jié)果全為1說(shuō)明沒有正確驅(qū)動(dòng)MISO先檢查從機(jī)供電和片選。ILA看到的問題絕大多數(shù)都是時(shí)序相位問題不是頻率問題。5. 多從機(jī)擴(kuò)展和SPI Flash讀寫實(shí)戰(zhàn)5.1 硬件片選與軟件片選怎么選多從機(jī)系統(tǒng)首先要解決片選問題。硬件片選就是每個(gè)從機(jī)單獨(dú)接一根CS_N主機(jī)有多少個(gè)GPIO就能接多少個(gè)從機(jī)簡(jiǎn)單粗暴互不影響。軟件片選則是通過譯碼器或IO擴(kuò)展器用少量GPIO擴(kuò)展出多路片選適合從機(jī)數(shù)量多但GPIO緊張的場(chǎng)景。實(shí)際工程里我強(qiáng)烈建議用硬件片選尤其是從機(jī)MISO不是三態(tài)輸出的情況。SPI總線共享時(shí)如果兩個(gè)從機(jī)的MISO同時(shí)驅(qū)低電平總線就沖突了。硬件片選至少保證同一時(shí)刻只有一個(gè)從機(jī)被激活。還要注意片選的編碼方式。如果設(shè)計(jì)成00選從機(jī)1、01選從機(jī)2、10選從機(jī)3、11選從機(jī)4這種二進(jìn)制的寫法狀態(tài)跳變時(shí)有中間毛刺風(fēng)險(xiǎn)兩個(gè)CS可能瞬間同時(shí)有效。FPGA里最穩(wěn)的寫法是獨(dú)熱碼4b0001選從機(jī)14b0010選從機(jī)2這樣任意時(shí)刻最多只有一個(gè)位為1杜絕競(jìng)爭(zhēng)風(fēng)險(xiǎn)。共享總線的場(chǎng)景比如ESP32用一根SPI同時(shí)接屏幕和SD卡核心也是片選切換。屏幕和SD卡分時(shí)工作同一時(shí)刻只選通一個(gè)。這里真正要注意的是模式兼容性如果屏幕工作在Mode 0而SD卡要求Mode 3那么每次切換設(shè)備都要重新配置SPI模式在FPGA里這就意味著每個(gè)從機(jī)要有獨(dú)立的模式配置寄存器。5.2 用SPI Master讀寫W25Q64的關(guān)鍵流程W25Q64是SPI NOR Flash非常適合用來(lái)驗(yàn)證自研SPI模塊。它支持Mode 0和Mode 3最高SCLK能達(dá)到幾十兆甚至更高。上手第一步不是寫Flash而是讀JEDEC ID確認(rèn)通信鏈路基本正常。讀ID的命令是0x9F。操作流程是CS_N拉低發(fā)送0x9F然后連續(xù)接收3個(gè)字節(jié)接收過程中主機(jī)要給SCLK所以主機(jī)側(cè)要連續(xù)發(fā)起3次空寫。這里暴露了我前面那個(gè)單字節(jié)控制器的一個(gè)問題讀ID要求CS_N在整個(gè)過程中保持低電平不能每個(gè)字節(jié)都拉高。而我的spi_master在每次字節(jié)傳輸結(jié)束后都會(huì)拉高CS_N如果直接用它讀W25Q64一字節(jié)后Flash就認(rèn)為命令結(jié)束了后面根本讀不到ID。解決辦法是給控制器增加一個(gè)last信號(hào)或者在外層用一個(gè)burst狀態(tài)機(jī)把整個(gè)讀ID過程包起來(lái)。更簡(jiǎn)單的做法是寫一個(gè)專門控制W25Q64的頂層狀態(tài)機(jī)里面復(fù)用SPI發(fā)送和接收的移位邏輯// 偽代碼 CS_N 0; send_byte(8h9F); // 發(fā)送命令 dummy send_byte(8h00); // 讀第1字節(jié) mid send_byte(8h00); // 讀第2字節(jié) did send_byte(8h00); // 讀第3字節(jié) CS_N 1;W25Q64的廠商ID是0xEF內(nèi)存類型是0x40容量是0x17。如果讀出這三個(gè)字節(jié)和手冊(cè)一致說(shuō)明你的SPI Master時(shí)序完全正確可以繼續(xù)做頁(yè)編程和讀數(shù)據(jù)。頁(yè)編程一次最多256字節(jié)超過256字節(jié)必須拆成多頁(yè)操作而且每頁(yè)編程前要發(fā)0x06寫使能命令。這些細(xì)節(jié)在Flash手冊(cè)里寫著但真正上手以后你會(huì)發(fā)現(xiàn)FPGA側(cè)最容易出問題的還是CS_N的控制而不是SCLK頻率。5.3 常見故障排查思路調(diào)SPI出問題時(shí)有一個(gè)排查順序可以救命先看CS_N再看SCLK再看模式最后看數(shù)據(jù)?,F(xiàn)象可能原因優(yōu)先排查方向讀回全為0xFFFlash未響應(yīng)或總線浮空CS_N是否正常拉低SPI模式是否匹配讀回?cái)?shù)據(jù)固定錯(cuò)一位采樣沿與從機(jī)輸出沿沖突調(diào)整采樣沿檢查是Mode 0還是Mode 1偶發(fā)錯(cuò)位時(shí)好時(shí)壞MISO未同步或信號(hào)鏈路太長(zhǎng)加同步寄存器降低SCLK頻率多從機(jī)總線數(shù)據(jù)混亂多個(gè)從機(jī)MISO同時(shí)驅(qū)動(dòng)檢查片選是否為獨(dú)熱碼MISO是否三態(tài)命令發(fā)出去沒反應(yīng)CS_N在每個(gè)字節(jié)之間拉高使用burst模式保證CS_N全程低有效這里再?gòu)?qiáng)調(diào)一次很多人遇到通信不穩(wěn)定第一反應(yīng)是把SCLK調(diào)低這只能掩蓋問題不能解決根因。正確做法是用ILA把波形抓出來(lái)對(duì)照從機(jī)手冊(cè)的時(shí)序圖逐項(xiàng)檢查找到真正的相位錯(cuò)誤。調(diào)SPI最有成就感的一刻就是看到ILA里的MISO數(shù)據(jù)和預(yù)期完全一致那一刻你會(huì)發(fā)現(xiàn)自己真正理解了什么叫時(shí)序。這篇文章寫到這里我不打算做什么高屋建瓴的總結(jié)。最后分享一個(gè)我自己的習(xí)慣SPI模塊不要一開始就追求多功能先用Mode 0和最基礎(chǔ)的從機(jī)把鏈路打通再加參數(shù)、加FIFO、加多從機(jī)支持。調(diào)不通的時(shí)候先用低速加長(zhǎng)半周期排除協(xié)議問題再用ILA抓波形確認(rèn)相位。SPI作為FPGA入門最適合練手的串行總線它不復(fù)雜但足夠讓你把時(shí)序這兩個(gè)字刻進(jìn)腦子里。等你真正寫完一個(gè)穩(wěn)定運(yùn)行的SPI Master再回頭去看I2C、UART會(huì)發(fā)現(xiàn)所有串行協(xié)議的本質(zhì)都是相通的。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
综合激情婷婷| 一区二区免费看| 97超碰在线免费观看| 伊人九九综合| 中文字幕按摩做爰| 丁香五月天亚洲视频| 免费做A爰片77777| 亚卅毛片| 六月丁香综合999| 熟妇无码乱子成人精品| 天天色色婷婷| www狠狠| www激情| 久久这里只有精品5| 99精品无码| 五月丁香激情六月| 五月婷婷伦理| www.maotanji.com| 9999热精品| 人妻久久婷婷| 天天做天天爱天天做| 99色.com| 校园春色亚洲色| 丁香五月激情五月| 丁香六月无码| 婷婷五六日| 欧美日本97| 91性高潮久久久久久久久| 丁香六月av| 婷婷五月丁香综合桃花色网| 六月婷婷激情| 亚州日本欧州韩美高青高潮一| 婷五月天| 超极99精品| 五月狠狠| 色五月婷婷在线观看| 五月婷婷色色色| 色色色五月| 97碰碰碰免费公开在线视频| 色婷婷小说网| 亚洲最大视频| 久久婷婷成人综合色怡春院| 婷婷五月天久久| 秋霞午夜理论| 婷婷五月丁香六月伊人网| 任你擦免费视频| 狠狠色综合五月人人| 99热9999| 超碰亚洲天堂| 日本色综合| 色六月天| 丁香五月婷综合网| 婷婷丁香激情综合色情| 人人干人人操人人摸| 久久婷婷五月草视频在线播放| 丁香五月中文字幕| 99热最新地址在线| 五月丁香日本在线视频观看| 婷婷天天舔| 超碰成人在线观看| 深情六月婷婷综合久久| 五月色欧洲| 免费AAAAA网| AV在线观看网站| 五月天婷婷基地综合网| 欧美噜噜免费观看| 色狠狠六月| 五月天天天综合| 丁香五月天堂| 色爱综合网| 在线看av| 色婷婷狠狠爱| 狠狠夜夜五月丁香| 婷婷五月丁香基| 五月婷婷导航| 国产操碰| 熟女乱论网| 五月天堂色| 欧日韩成人| 欧美色图天堂网色| 婷婷久久婷婷色五月| 99er日韩| 日夜夜天天| 99热99思午夜精品| 国产资源91在线| wwwxxx五月婷婷小说| 久草久青福利| 日本操B视频| 丁香五月av在线| 婷婷爱婷婷| 天天干天天爽天天操| 激情五月天激情综合网| 色日本综合| 99九九在线观看免费| 五月婷婷五月天| WWW.99热| 亚洲精品一区中文字幕乱码| 亚洲成人av在线观看| 91色色色视频| 久久大香蕉| 婷婷欧美色| 26uuuu精品一区二区| 亚洲色婷婷视频| 六月婷婷色综合| 五月天久久综合婷婷丁香| 成人精品亚洲性爱| 青草青草视频2免费观看| 欧美成人精品A片免费一区99| 无码AV免费精品一区二区三区| 99re资源在线视频导航| 九九热视频精品2| 婷婷激情五月天亚洲综合| 开心五月天激情网站| www.狠狠| 99热超碰人| 国产探花一片区| 成人丁香五月| 色婷婷久久| 色婷婷综合网站| 丁香婷婷婷| 亚洲综合色婷婷| 99色色热| 欧美丁香五月夫妻天| 久久99网| 8区视频在线| 伍月婷婷免费视频| 综合色图区| 草草色情综合网| 丁香色综合| 亚洲女婷婷五月基地综合久久久| 婷婷五月激情图片| 五月色情婷婷| 五月婷婷伊人久久| 天天综合精品| 丁香综合伊人| 91啪啪视频| 色狠狠婷婷| 色色丁香五月天| 五月情色天| 丁香激情网| 五月激情婷婷国产精品久久久久久| 天天噜天天插| 狠狠综合网| 婷婷五月色惰| 五月丁香婷婷无码A∨| 婷婷五月天亚洲| 欧美交换配乱吟粗大25P| 国产精品黑丝| 午夜婷婷六月天| 超碰国产在线| jiujiu热在线视频| 91精品久久久久久| 一级性感黄色内射视频| 色色激情网| 五月婷婷六月激情| 三十路磁力链接| 9l视频自拍9l九色成人| 美女黄频aⅴ视频| 丁香六月婷婷综合欧美| 久久99精品久| 婷婷五月婷| 色天堂婷婷| 丁香六月AV| 久热91精品| 日笨久久网| 五月天成人手机在线视频| 中文字幕在线免费观看视频| 综合激情在线| 婷婷婷婷色| 国产操B视频| 人人草人人视| 伊人五月天97| 噜噜操操| 久久久com| 99国产精品久久久久久久久久久| 91碰碰视频| 第四色五月婷婷| 日韩AV成人电影| 欧美性色五月天| 中字幕视频在线永久在线观看免费| 99色综合网| 亚洲综合九九| 五月丁香激情婷婷| 五月婷啪| 激情 婷婷 丁香五月天| 99视频在线看| 激情五月天网| 99热这里只有精品66| 99色爱| 日本特黄aaaaa| 丁香五月激情网| 天天噪夜夜爽| 免费AV在线网址| 六九色综合婷婷五月天| 精品视频这里只有精品| 色五月天 丁香| 婷婷五月天激情电影小说| 97热久久| 免费看欧美成人A片无码| 99热6这里之有精品| 成人国产欧美大片一区| 91成人电影| 婷婷天堂综合| 91女人18毛片水多国产| 综合激情五月丁香| 播五月丁香六月| 久久人妻超碰一区| 久久9精品| 色五月天天| 9999热精品| 欧美天堂久久| 精品一区二区三区木瓜| 精品网站:999WWW| 涩涩五月天| 狠狠五月天激情| 7777精品伊人久久久大香线蕉最新版| 狠狠色色| 五月天操逼网| 婷婷综合色五月天| 六月丁香激情最新更新| 99精品热视频| 九九色播五月丁香| 影音先锋91视频| 久久婷婷五月| 91在线日| 69色婷婷| 久久久精品人妻录| 丁香五月激情六月欧亚激情综合导航 | 午夜婷婷久久| 蜜桃五月天色| 激情五月激情综合网一级丸片| 国产探花一片区| 色色婷婷五月天| 天天玩夜夜操| 五月天伊人综合| 婷婷五月综合色中文字幕| 婷五月天| 熟妇天天综合| 日韩久久系列| 日本操天堂| 丁香五月天堂网| 五月第四色| 色五月丁香总合网| 色五月婷婷中文字幕| 五月天精品| 久久九九国产精品怡红院| 婷婷色日本| AV在线免费播放| 99在线播放| 拍真实国产伦偷精品| 少妇性按摩无码中文A片| 日逼免费视频| 2w在线视频| 色八月婷婷| 久99久精品| 怡春院天天干| 99热 在线播放| 91九色 熟| 九九日伊人| 婷婷香蕉| 午夜天堂一区人妻| 国产精品扒开腿做爽爽爽A片唱戏| 欧美精品99| 婷婷婷婷婷婷婷婷| 久久婷婷五月综合啪| 激情欧美五月丁香| 99性爱视频| 日日插日日干| 五月天激情婷婷久久| 五月婷婷影视| 婷婷五月天激情丁香| 日日日影院| 亚州激情在线视频| 色色色.com| 色婷婷成人影片| 六月丁香啪| 婷婷基地成人五月天| 色欲人妻综合aaaaaaaa网| 日本va欧美va欧美va精品| 97碰超级人人看| 97婷婷狠狠| 久久久久亚洲AV成人无码电影| 99热久草| 婷婷激情人妻| 五月婷五月婷伊人伊人五月婷| 97av在线视频| 婷婷五六日| 激情二色月| 日日撸日日操| 亚洲av日韩无码| 9l视频自拍九色9l视频自拍九色9l社区| 久久久.COM| 日韩999| 狠狠色婷婷7777久| 九久热| 91丨九色丨首页| 99情色五月天| 激情婷婷五月天。| 天干干夜夜操| 久久激情五月婷婷| 激情综合网五月天| 91碰免费视频| 婷婷五月天激情网| 欧美丁香五月天| 亚洲另类日本| 午夜不卡久久精品无码免费| a色婷婷| 9久久久久| 高潮毛片遮挡费高一百度| 韩国情人在线电视剧免费观看高清版全集| 色天天综合| 黄网免费观看| 久久久久久久久18久久| 六月婷婷天天操夜夜爽视频| www,五月丁,com| 色区域网站视频| 天天日天天插| 欧美婷婷色| 欧美日韩成人高清在线| 99在线视频操999| 五月天桃色深爱网| 成人做爰高潮A片免费视频 | 亚洲精品亚洲人成人网| 久久思思热视频| 久综合| 亚洲亚洲人成综合网络| 99久操| 我爱宗和色| 99re这里| av网站不卡在线| 香蕉大综综综合久久| 无码一区二区日韩| 久草大| 久久91久久精品久久| 1024操逼视频| 五月丁香成人视频| 蒲京久久无码视频| | 久久精品4| 国产在线网| 亚洲综合色婷婷| 色色色色热| 无遮羞AV| 777丁香六月青青草婷婷综合久月| 五月天久久成人| www.五月婷婷久久.com| 七七色色综合| 思思热在线精品视频| 91妻人人爽人人看片| 中文字幕成人| 97在线精品| 玖玖综合玖玖| 裸体美女丁香五月天。 | 精品自拍99| 狠狠狠狠免费| 色五月综合网| 五月激情四射婷婷丁香| 久久九九综合| 亚洲综合激| 亚洲欧洲另类| 中文字幕在线观看视频www| 五月婷婷视频| 久久精品五月天| 五月婷婷丁香俺日污视频| 欧美性生交A片免费看| 亭亭五月丁香综合欧美| 99热在这里只有精品| 丰满少妇猛烈A片免费看观看| 亚洲国产精品五月天| 色99日韩| 午夜一区| 久久久久er热| 丁香五月婷婷性爱| 欧美激情五月天| 91蜜桃婷婷狠狠久久综合9色| 久操福利| 天天艹天天综合网| 99这里有精品视频| 五月丁香无码| 大香蕉七区| 伊人五月天| 九九大香蕉黄色影院| 色婷婷五月天在线观看| 色综合丁香婷婷| 五月婷激情| se99在线| 四季AV综合网| 天天综合精品| 五月天开心激情综合网| 婷婷丁香五月天哟啪| 99热这| 97自拍视频在线| 婷婷综合| 五月丁香婷婷伊人| 激情综合在线播放| 天天干天干| 五月天激情播播网| 亚洲成人网址在线观看| 色婷婷国产精品综合在线观看| 亚洲不卡欧洲| 日产精品久久久久久久蜜臀| 五月婷婷丁香社区| 超碰国产AV| 丁香婷婷啪啪| 思思热久久婷婷五月天| 91久久精品无码一区二区三区| 91久久99久久91熟女精品| 婷婷五月天天天日日夜夜| 久久er99热精品一区二区| 成人五月天婷婷| 丁香五月婷婷国产av| www.henhengan| www.maotanji.com| 免费看欧美成人A片无码| 色婷婷五月天视频在线| 97人人干| 五月丁香婷婷99| 五月婷婷啪啪啪| 激情婷婷五月天伊人在线观看| 色在线免费观看| www.五月婷婷久久.com| 性生活久久人妻| 五月天婷婷AV| 欧美性生交XXXXX无码小说 | 亚洲综合五月天婷婷丁香| 五月婷婷丁香深深爱| 五月丁香婷婷伊人日韩| 99激情视频| 色婷婷丁香中文在线播放| www.99热在线观看| 日韩av高清| 99这里有精品视频| 婷婷99狠狠躁天天躁中| 丁香五月婷婷精品视频| 久久激情网| 激情电影五月婷婷| 国产欧美日韩综合精品一区二区| 亚洲综合视频在线| 婷婷丁香人妻天天爽| 日日操夜夜操狠狠操| 大色鬼综合| 色噜噜综合网| www.色五月.com| av中文网站| 中文字幕丰满乱孑伦无码专区| 久久久九九九 99| 天堂无码人妻精品AV一区| 欧美在线视频免费播放| 天天做夜夜爽| 亚洲日韩欧美综合VA| 色婷婷五月丁香在线观看| 67久久| 99久久久| 久久丁香五月天| 色综合性视频| 色噜噜狠狠色综合日日免费| 看黄的网站18禁| 五月天久久小说| 九色视频91| 婷婷中文无码| 伊人久久大香网| 五月四色婷婷| 激情5月天天天| 丁香五月天天| 18av天堂| 五月婷六月综合在线观看| 色五月婷婷自拍| 久久婷婷大香蕉| 91性高潮久久久久久久久| 色综合久久44| 五月色网| 丁香五月激情五月| 99热97| 91狠狠综合久久久| 26uuu精品国产| 婷婷五月天黄色| 激情久久久久久久久久久| 天天爽天天| 五月丁香五月婷婷| 激情五月天啪啪| 性爱久久| 黄网在线播放| 天天综合精品| 亚洲成人免费在线| 婷婷伊人綜合中文字幕小说| 五月花婷婷| 99热在线观看| 开心婷婷五月综合| 婷婷玖玖丁香| 超碰人人操人人干| 天天噜天天爱| 六月丁香影院| 99热这里只要精品免费| 激情网婷婷五月天| 久久久久人妻网址| 人妻丰满精品一区二区A片| 国产古装妇女野外A片| www.五月天| 97色五月婷婷在线| 国产综合婷婷| 久久精品爱爱| 五月色丁香激情| 真实亲子乱子伦高清在线观看| 久久九九国产精品怡红院| 久青操| 五月激情六月丁香| 伊人网色婷婷五月天| 一本九九色| 激情综合无码| 狠狠干激情五月| 亚洲欧美一区二区三区四区爱爱动图| 91要啪| 99热精品在线观看| 丁香五月婷婷偷拍| 青青草六月丁香| 五月天激情图片| 99自拍视频| 无码91中文字幕| 1234操逼网| 久久综合色五月| WWW夜夜| 97婷婷五月天| 久热这里| 激情丁香五月AV| 97久久超碰| 热的无码综合视频| 久久久18| Caoub青青超碰| 超碰免费大香蕉| 中文无码精品一区二区三区| 婷婷五月综合久久中文字幕| 五月激情四射网站| 久久视这里只有精品| 五月丁香六月婷综合成人综合| 亚洲婷婷丁香| 182tv992tv人之初午夜免费观看| 99热插| 天天干狠狠操| 婷婷黄色| 91视频久久久| 狠狠色狠狠色综合日日91| 人妻AV在线观看| 丁香花社区av| 天天搽天天射| 久久久.COM| 五月丁香婷婷伊人| 亚洲热视频| 91热手机在线| 99成人小视频| 大香蕉久久青青| 女同激情久久av久久| 啪到高潮激情丁香五月| 超碰97在线操| 无码一区二区日韩| 色五月婷婷色| 日韩在线99| 色狠狠综合入口| 精品亚洲国产成人A片在线鸭王 | 欧美一级色| 五月六月丁香激情| 不卡成人免费| 国产精品蜜臀99| 婷婷操超碰| 狼人伊人天堂| 五月丁香六月欧美| 久久无码成人| 天天爽人人爽| 久久精品A片777777| 色亚洲无码| AV在线大香蕉| 色吧五月婷婷| 九九九九国产| 色综合婷婷| 九九热啪啪| 色婷婷色综合激情91| 79色色色色| 熟妇高潮一区av| 色五月五月天| 激情涩播| 婷婷丁香五月亚洲免费| 日韩中出视频| 婷婷狠狠色| 月色色综合婷婷网| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 蜜臀嫩草| 看片视频在线免费日产在线看| 疯狂做受XXXX高潮A片动画| 日韩一区二区在线播放| 五月天色图| 日本三级中文字幕| 色人久久| 99激情视频热| 疯狂做受XXXX高潮A片| 99色在线观看| 99色视| 亚洲热视频| 国产精品成人网站| 欧美精产国品一二三区| 五月丁香久久综合| 国产人妻人伦精品一区二区| 九九热视频免费观看| 久久性爱视频| www.成人婷婷综合| 五月丁香久| 五月激情六月宗合| 婷婷五月婷婷五月天| 青草青草视频2免费观看| 一级A片天天操夜夜操| 久久久久久9热不雅视频| 人妻久久人妻久久第一区| 婷婷五月精品中文字幕| 深爱五月婷婷| 色偷偷狠狠| 成人综合视频网址| 少妇人妻人伦A片| 精品乱码视频| 婷婷五月天av| 99热综合网| 五月色综合| 思思99热| 热热久久99| 色吧婷婷| 久久色大香蕉| www久久艹| 亚洲在线综合| 大香蕉久久综合网| 九九热黄色| 色五月开心开心五月激情五月| 国产综合久久久777777| 日本精品久久久久中文字幕| 一级二级色大片| 婷婷成人五月天一区| 婷婷五月天激情综合| 久久综合站| 日本人妻A片成人免费看片| 开心婷婷五月| 五月婷婷伦理| 秋霞日本免费毛片A片| 亚洲激情久久| 91九色国产在线| 开心综合激情综合| 久久综合婷婷五月| 激情图片亚洲| 久热黄色| 停停五月丁香| 久久婷婷综合网| 国产精女同一区二区三区久| 99热这里只有精品22| 开心激情网在线| 99高级会所久久| 9福利性视频欧美| 亚洲狠狠爱婷婷| 色综合五月天| 99在线精品免费视频| 色五月婷婷激情综合网| 极品色丁香| 色欲AVV| 婷婷伊人| 婷婷五月天六月丁香| 色婷婷成人在线| 人人97碰| 国产精品美女久久久久AV超清| 五月丁香av中文| 中文字幕,综合,91| 天天操综合网| 亚洲天堂大香蕉| 激情图片久久| 97视频.干com| 午夜天堂啪啪| 99精品视频网| 人人摸人人干| 国产真实乱对白精彩| 中国女人做爰A片| 少妇高潮呻吟A片免费看软件| 色色99| 日韩丰满少妇无码内射| 极品少妇XXXX精品少妇偷拍| 激情内射人妻1区2区3区| 欧美槡BBBB槡BBB少妇| 色婷婷成人做爰A片免费看网站| 色婷婷影视| 免费看欧美成人A片无码| 五月丁香在线| 九九热狼人| 92久操视频| 激情图片99| 久操综合| 热无码A∨| 97色伦另类图片小说视频 | 91成人视频| 思思99热这里只有精品| 激情丁香淫荡婷婷| 激情五月婷婷色播网| 日日爽日日| 91九色丨国产丨爆乳| 26uuu最新地址| 成人精品视频99在线观看免费| www五月婷婷88导航| 新男人天堂人妻| 伊人色综合影院视频| 婷婷日在线观看| 色五月成人在线| 狠狠草狠狠草| 色婷婷激情| 丁香五月天大香蕉啪啪| 超碰无码318604| 99综合色色色| 丁香六月久| 另类图片色五月| 八戒青柠影视剧在线观看| 九一娱乐在线观看视频| 97在线碰| 99精品无码网站| 亚洲五月婷婷| 99国产精品久久久久久久久久久| 碰超在线九色| www.激情在线| 婷婷亚洲五月| 人妻丰满精品一区二区A片| 操碰99在线视频观看| 日本超碰在线| 丁香六月伊人| 五月丁香啪啪啪| 亚洲99一级无嗎特制在线| 另类激情综合| 九九亚洲视频| 欧美成人精品A片免费一区99| 日韩AV一区二区三区| 激情综合青草| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 亚洲第一成人无码A片| 久9无码视频| 天天爽曰日爽| 五月丁香综合网| 超碰在线94| 啄木鸟黑丝一区二区| 99久精品视频| 色五月美女| Av狠狠色丁香婷| 97碰人人操| 99在线资源视频| WWW色综合| 五月丁香六月成人| 色原狠狠综合| 欧美激情-区二区三区| 婷婷成人视频| 丁香五月综合婷婷| 狠狠色成人影片| 丁香六月婷婷基地| 五月天开心婷婷久久 | 双性美人被调教到喷水A片| 激情爱爱网站超大免费| 婷婷五月丁香手机在线视频| 精品欧美性爱超级爽| 久久人妻久久久久| 99操逼| 成人午夜免费电影| 99热99热在线| 五月婷婷激情在线| 激情综合色| 精品国产AV色一区二区深夜久久 | 五月丁香婷婷综合久久| 啪啪东京热| 亚洲另类噜噜| 一本久久婷婷| 婷婷丁香激情五月天色色| 日本精品人妻无码77777| WWW,色五月| 婷婷久久综合久| 日本一道久久| 五月天另类小说| 色婷婷久久| 亚州操人在线视频| 色情性爱视频网址| 伊人久久艹| site:wpjngj.com| 操碰97| www.夜夜操.con| 五月丁香婷婷综合网| 五月丁香六月婷婷啪啪综合| 思思99热| 丁香激情合作五月| 国产亚洲精品久久久久久豆腐| 九九热亚洲中文在线观看免费| 婷婷亚洲综合| 色丁香综合影院| 色五月婷婷777| 丁香六月无码| 九九热99精品| 91丨九色丨熟女|老版| 国产综合婷婷| 五月综合无码| 2020久久婷婷五月| 超碰99热精品在线| 婷婷区日本| 亚洲精品视频电影| 久久性爱视频久久性爱视频| 婷婷丁香色女人| 天天操婷婷| 成人五月天丁香婷| 精品人妻一区二区| 色色亚卅| 成人在线视频一区| 色婷婷免费观看| 久久婷婷成人视频| 婷婷亚洲在线| 日韩在线99| 五月丁香六月婷婷,婷| 九九九激情综合| 丁香色婷婷| 综合色99| 亚洲AV影片在线观看| 五月婷天天搞视频| 九九色影院| 女人被躁到高潮嗷嗷叫小| 色婷婷www| 六月丁香啪啪| 97超级啪啪在线观看| 久色激情| 能看的av片| 五月婷综合激情| 九九热视频精品| 五月婷婷婷婷婷| 91婷婷色五月| 色婷婷中文| 色综合区| 婷婷综合网站| 婷婷精品免费久久| 人人操9| 中文AV在线播放| 激情亚洲色图片丁香综合| 五月婷婷九| 天天插天天插| 丁香婷婷色九月| 26uuu亚洲欧美另类| 97色在线观看视频| 成人婷婷色综合| 中文字幕AV在线| 日本成人噜噜| 丁香五月天激情网址| 亭亭丁香97| 妻久久人久久| 色五月成人| 草AV9999| 久热欧美| 自拍视频在线观看9| 五月天开心激情综合网| 人妻操逼视频| 亚洲色情激情丁香五月| 色色色婷婷五月天| 在线观看欧美3区| 国产69久久久欧美黑人A片| 99色五月| 色欲久久久久| 五丁香激情综合| 超碰9| 五月丁香A∨在线| 久久98| 日韩成人无码人妻| 思思热精品在线视频| 丁香五月视频在线观看| 五月丁香啪啪婷婷| 亚洲av网址| 久久婷婷原创视频| 99热这里有精品| 丁香五月激情婷婷| 五月天天综合| 五月六月婷| 99热成人在线观看| 天天天添天天操| 婷婷色五月激情| 天天做天天爱高潮片| 九月丁香八月婷婷久久综合久97| 久久婷婷原创视频| 丁香五月开心七月| 搡BBBB搡BBB搡18 | 成人精品视频99在线观看免费| 成人精品在线观看| 九九色逼| 亚洲精品影视| 国产无人区大片| 丁香五月成人| 91九色视频在线观看| 狠狠高潮精品亚洲1| a久久免费视频| 婷婷五月深深爱| www.五月丁香av| 久久精品永久免费| 色综合综合色| 五月婷婷开心丁香| 天天爽综合网| www,天天干| 亚洲热视频| 五月激情婷婷播播开心| 丁香六月婷婷| 亚洲情色一区| 337p大胆噜噜噜噜噜91Av| 日韩成人网址| 久久9视频| 无码AV免费精品一区二区三区| 天天爽天天| 婷婷综合中文| 另类图片五月天婷婷| 激情综合婷婷久久| 丁香五月婷婷激情四射| 丁香五月中文字幕| 丁香五月天AV在线| 怡红院院在线导航网 | 丁香五月综合激情啪啪| 五月天丁香网站| 大香蕉五月丁香| 思思色播| 99精品视频在线| 精久久色| 开心婷婷中文字幕| 婷婷九月丁香| 日本不卡高字幕在线2019| 人五月天婷婷喷水| 精品九九网| 久久精典| 五月婷婷丁香大陆免费| 欧美VA在线观看| 九九干视频| 欧美成人va| 国模狼狼| 五月天久久综合| 天天操天天爱天天日| 天天爽人人爽| 色色无码| www.99色| 精品九九久久| 在线观看的av| 六月天六月婷| 婷婷激情在线| 熟妇人妻中文字幕无码老熟妇| 天天日P天天射P| 人妻AV在线观看| 五月婷婷丁香大陆免费| 精品乱码久久久久| 亚洲色五月| www色哟哟| 久久九九怡红院| 91色情播放| 色色色色色色网| 七七色综合| 成人做爰A片免费看网站找不到了| 五月四色婷婷| 色噜噜综合网| 色噜噜狠狠狠狠色综合久欧美| 婷婷五月天激情综合| 精品一区二区三区木瓜| 99日本黄站| 伊人久久丁香狠狠婷婷综合香蕉 | 99视频只有这里精品| 9l视频自拍九色9l视频自拍九色9l社区| 2018国产大陆天天弄| 蜜臀av粉嫩av懂色av| 色五月视频无码播放| 91人人网| AV亚洲在线| 色色色色欧洲| 亚洲色热| AV成人在线网站| 婷婷亚洲综合| 97色色色色色| AA片在线观看视频在线播放| 亚洲六月婷婷| 99激情视频| 五月婷久久久久综合| 亚洲国产精品成人免费一区久久久在线观看AAAA | 丁香玖玖| 丁香婷婷在线| 99热最新| 91九色精品女同系列| 六月丁香社区| 国产日产亚洲系列最新| 丁香五月亚洲AV| 2017人人操| 激情五月婷婷色色| 五月婷婷深爱六月| 激情五月综合| 色婷婷狠狠| 五月丁香六月激情综合| 久久久久人妻精选| 国产69久久久欧美黑人A片| 九九亚洲视频| 九热...av| www.99精品视频| 99热6色| 9九九久久精品无码专区| 亚洲 综合中文| 91狠狠综合久久久久久| 激情综合网址| 五月天操逼网| 日韩综合久| 五月天婷婷乱论小说| 美女爆乳18禁www久久久久久| xxx日本东京热| 疯狂做受XXXX高潮A片| 五月天激情综合网站| 99热这里精品| 九九亚洲视频| 亚洲色五月| 久久久五月天| 婷婷爱五月天| 激情综合五月激情XXXX| 激情五月婷| 伊人大香五月天| 思思热在线观看| 亚洲人成网亚洲欧洲无码久久| 精品人人操| 婷婷五月av| 夜夜干夜夜操| 激情综合自拍五月婷婷色五月| 五月丁香六月欧美综合网站| 亚洲综合在线伊人婷| 极品人妻VideOssS人妻| 综合五月草| 激情综合亚洲| 超碰免费成人| 99色性爰网络| 棕合影院色色| WWW久久久| 91男同| 色婷婷五月天不卡| 无码激情AAAAA片-区区| 色婷婷久久综合久色综| 99久久网站| 久热久色| 色999;丁香五月| 五月天婷婷av| 五月丁香网站| 五月婷婷香蕉| 丁香五月婷婷综合激情哟哟哟| 色婷婷丁香五月色综合网| 亚洲黄色操逼| 超碰97免费在线| 大香蕉九九| 五月激情啪啪| 色综合日日| 婷婷九月在线| 激情久久久| 春色激情第四色| 日韩国产AV播放| www.五月天婷婷| 日韩婷婷| 欧美成人精品A片免费一区99| 清色五月天| 日韩美一级毛卡片| 91欧美日韩综合| 亚洲激情无码久久| 色六月 婷婷| 婷婷九月丁香| 青青草原中文字幕| 亚洲三级无码| 影音先锋偷偷色男人站| 久久亚洲A| 国产精品男人AV不卡| 色婷婷国产精品综合在线观看| 亚洲精品乱码久久久久久按摩观| 一级片操逼视频| www.99热| www.99热视频在线观看| 超碰2021| 五月婷综合| 婷婷五月久久| www.99热视频| 亚洲六月综合激情久久下卡| 极品另类| 婷婷丁香五月激情图片| 色色色色色五月| 婷婷五月天丁香花| 婷婷 色 丁香 夜| 丁香六月中文| 天天搞天天色综合| 久久久婷婷五月天| 97在线视频人妻九色| 婷婷五月天手机版视频| 一区二区乱码视频| 中文字幕日本最新乱码视频| 久热69| 五月天全国最大成人网| 婷婷射图五月天| 色婷婷综合久久| 天天精品视频免费观看| 婷婷五月天激情基地| 欧美噜噜免费观看| 久久婷中文字幕| 婷婷91视频| 深爱激情五月婷婷| 日本色视| ss99热| 91九色国产| 综合99在线| 国产欧美性成人精品午夜| www.五月婷婷| 激情五月天激情五月天| 九九成人精品| 丁香五月在线人妻| 婷婷色在线播放| 26uuu成人网| 亚洲精品V天堂中文字幕| 99久久综合网| 国产精品色色| 中文字幕色色| 亚洲综合色丁香五月天| 丁香六月婷婷综合激情欧美| 五月久久网| 久re在线| 丁香五月天AV在线| 天天操天天插| 婷婷丁香成人| 色婷婷亚洲精品天天综| 五月婷婷色综图片| 国产精品久久久海的味道| 五月花丁香婷婷| 丁香五月天激情小说| 成人羞羞啪啪 全 视频| 婷婷精品| 99ri在线视频| 性生活视频98791| 草榴视频网| 激情丁香五月AV| 婷婷天天五月天| 超91热| 国产精品久久久久久喷浆| 综合网色| www激情| 丁香五月电影| 91久久久久久| 婷婷五月天小说网| 久热伊人| 五月天综合婷婷| 丁香五月天啪啪| 99无码视频| 亚洲激情婷婷| 九九热免费视频| 五月丁香六月婷婷啪啪| 久久9视频| 国产亚洲在线| 亚洲乱码日产精品BD| 亚洲无AV在线中文字幕 | 超碰国产在线观看| 久久99热这里只有精品| 天天色综网| 天天爽夜夜爽夜夜爽精品视频| 日韩精品无码99| 婷婷五月丁香图片人人操| 韩国情人在线电视剧免费观看高清版全集 | 色婷婷成人久久| 免费播放AV| www.久9| 伊人三级激情| 另类在线观看视频| 精品人人操| 丁香六月婷婷开心| 六月色五月天天婷婷| 激情综合六月| 六月丁香综合| 九九色播五月丁香| 超碰在线人人| 99精品视频在线观看| 国产精品久久久久久亚洲毛片| 中文字幕无码AV| 日美三级| 91chinese 在线| 99爱99操| 婷婷成人网五月天| 九九草热在线观看| 丁香六月婷婷综合在线| 久久激情天堂| 美日韩成人| 色婷婷狠狠18yy| 久久婷婷五月天激情四射| 亚洲性受XXXX五月丁香| 思思色综合网站| 久久人妻人人| 日日爽夜夜爽| 成人免费超碰| 综合色五月天| 色情播放| www.色五月| 深爱激情五月天| 九九色黄色| 99视频内射三四| 99久久久国产精品免费蜜乳tv| 婷婷五月天情色| www.色婷婷| 超碰在线网站| 狠狠香婷婷五月| 九九热免费| 五月丁香六月激情在线| 婷婷狠狠青青| ww亚洲ww在线观看| 丁香五月婷婷六月| 色狠狠色| 美女91一起草| 五月天天丁香婷婷在线中| 五月丁香婷婷中文网| 五月丁香免费视频| 熟女强人妻一区二区三区四区无| 超碰av天堂| 色色色色色色色色色999| 日韩色五月| 精品少妇人妻AV无码专区偷人| 日本在线99| 美女激情婷婷| AV在线免费播放| 五月婷婷欧洲| 人妻中文在线| 五月婷婷开心综合| 亚洲第一综合| 9操在线| 日韩在线五月天婷婷| 天天弄天天操| 免费国产视频| 另类小说激情五月天| 少妇AB又爽又紧无码网站| 九九热视频99| 五月天网站亭亭| 国产精产国品一二三在观看| 久热大香蕉| 91日日日| 激情国产五月| 丁香五月婷婷亚洲色图| 久久久久亚洲AV成人无码电影| 依人大香蕉在钱1| 婷婷色五月综合丁香| 久久婷五月综合| 9热久久在线| 五月婷婷开心六月激情小说| 99爱爱| 五月婷婷激情综合| 五月丁香六月婷婷国产视频| 秋霞AV吧| 就要去操亚洲成人精品五月天丁香婷婷| 强伦轩人妻一区二区电影| 五月丁小婷婷激情四射| 电影《战争与艾拉》免费观看| 97在线视频人妻九色| 嫩草视频观看| 日本五月婷婷| 白度黄视频| 呦呦视频无码播放| 91九色网| av婷婷丁香 六月| 熟女激情五月天| 91九色精品女同系列| 天天搞天天色综合| 嫩草视频观看| 色婷婷六月天| 二级黄色毛片| 日本色色网站| 超级黄色片| 人妻aV在线| 久久婷婷久久| 久久婷丁香五月| 伊人网碰碰| 婷婷内射视频在线| 婷婷五月天网址| 天堂中文国产| 性爱网五月天| 99精品在线| 婷婷五月天成人在线视频| 久热伊人| 综合欧美五月婷婷|