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

ARTICLE DETAIL

資訊詳情

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

FPGA主模式I2C控制器RTL設(shè)計(jì):三段式狀態(tài)機(jī)與三態(tài)驅(qū)動(dòng)實(shí)踐

FPGA主模式I2C控制器RTL設(shè)計(jì):三段式狀態(tài)機(jī)與三態(tài)驅(qū)動(dòng)實(shí)踐 1. 主模式I2C的RTL設(shè)計(jì)到底在解決什么問題做FPGA或者ASIC的兄弟應(yīng)該都有體會(huì)I2C這個(gè)協(xié)議看起來簡單——兩根線一根時(shí)鐘一根數(shù)據(jù)開漏輸出掛載多個(gè)從設(shè)備。但真正落到RTL代碼上尤其是要做一個(gè)穩(wěn)定可靠的主模式控制器坑遠(yuǎn)比想象中多。我最早接觸I2C是在一個(gè)傳感器采集項(xiàng)目里當(dāng)時(shí)覺得不就是個(gè)慢速串行總線嘛隨便寫個(gè)狀態(tài)機(jī)就搞定了。結(jié)果第一版代碼上板之后波形抓出來一看起始條件建立時(shí)間不夠、數(shù)據(jù)保持時(shí)間踩在邊界上、從設(shè)備偶爾NACK、多字節(jié)連續(xù)讀寫的時(shí)候狀態(tài)機(jī)跳轉(zhuǎn)混亂——問題一個(gè)接一個(gè)。這篇文章要聊的就是主模式I2C控制器的RTL設(shè)計(jì)核心圍繞三個(gè)東西展開狀態(tài)機(jī)架構(gòu)怎么選、三態(tài)驅(qū)動(dòng)怎么處理、時(shí)序參數(shù)怎么算。適合有一定Verilog基礎(chǔ)、正在做I2C主控制器設(shè)計(jì)或者調(diào)試的工程師也適合想從“能跑”進(jìn)階到“跑得穩(wěn)”的朋友。我不會(huì)只貼代碼而是把每個(gè)設(shè)計(jì)決策背后的邏輯講清楚——為什么用三段式狀態(tài)機(jī)而不是一段式為什么SCL和SDA的輸出要分開處理時(shí)鐘分頻系數(shù)到底怎么算才能覆蓋標(biāo)準(zhǔn)模式、快速模式和高速模式。先給一個(gè)全局認(rèn)知I2C主模式控制器的本質(zhì)是一個(gè)協(xié)議轉(zhuǎn)換器——把上層給的并行數(shù)據(jù)設(shè)備地址、寄存器地址、寫數(shù)據(jù)轉(zhuǎn)換成符合I2C時(shí)序規(guī)范的串行比特流同時(shí)把從設(shè)備返回的串行數(shù)據(jù)還原成并行數(shù)據(jù)。這個(gè)轉(zhuǎn)換過程由狀態(tài)機(jī)驅(qū)動(dòng)而狀態(tài)機(jī)的每一個(gè)狀態(tài)都對(duì)應(yīng)著總線上一個(gè)明確的物理動(dòng)作。理解了這個(gè)本質(zhì)后面的設(shè)計(jì)思路就順了。2. 狀態(tài)機(jī)架構(gòu)選型一段式、兩段式還是三段式2.1 三種狀態(tài)機(jī)寫法的本質(zhì)區(qū)別Verilog寫狀態(tài)機(jī)教科書上通常講三種寫法一段式、兩段式、三段式。很多人初學(xué)的時(shí)候覺得功能都一樣隨便選一個(gè)能跑就行。但實(shí)際上這三種寫法在時(shí)序收斂、代碼可維護(hù)性、綜合結(jié)果上的差異非常大尤其是在I2C這種對(duì)時(shí)序敏感的場景下。一段式狀態(tài)機(jī)把所有邏輯狀態(tài)轉(zhuǎn)移、輸出賦值、計(jì)數(shù)器控制塞在一個(gè)always塊里。代碼看起來緊湊但組合邏輯路徑長容易產(chǎn)生毛刺而且后期加功能的時(shí)候牽一發(fā)動(dòng)全身。我早期寫過一版一段式的I2C控制器仿真沒問題上板之后SCL上出現(xiàn)了窄脈沖毛刺從設(shè)備直接不響應(yīng)了。后來用邏輯分析儀抓波形才發(fā)現(xiàn)是組合邏輯的競爭冒險(xiǎn)導(dǎo)致的。兩段式狀態(tài)機(jī)把狀態(tài)轉(zhuǎn)移和輸出邏輯分開時(shí)序邏輯負(fù)責(zé)狀態(tài)切換組合邏輯負(fù)責(zé)輸出譯碼。這種寫法比一段式好一些但輸出仍然是組合邏輯毛刺風(fēng)險(xiǎn)依然存在。對(duì)于I2C的SCL和SDA這種直接驅(qū)動(dòng)外部引腳的信號(hào)來說組合邏輯輸出是大忌。三段式狀態(tài)機(jī)是我最終采用的方案也是我推薦給所有做I2C控制器的朋友的標(biāo)準(zhǔn)寫法。它的核心思想是第一段時(shí)序邏輯描述狀態(tài)轉(zhuǎn)移第二段組合邏輯描述狀態(tài)轉(zhuǎn)移條件第三段時(shí)序邏輯描述輸出。這樣所有輸出都是寄存器輸出沒有組合邏輯毛刺時(shí)序收斂也好做。2.2 為什么I2C主模式必須用三段式有人可能會(huì)問I2C速度又不高標(biāo)準(zhǔn)模式才100kHz快速模式400kHz就算有毛刺從設(shè)備也應(yīng)該能濾掉吧這個(gè)想法很危險(xiǎn)。I2C協(xié)議對(duì)**起始條件START和停止條件STOP**的定義是建立在SDA和SCL的相對(duì)時(shí)序上的SCL為高時(shí)SDA從高變低是STARTSCL為高時(shí)SDA從低變高是STOP。如果你的SDA輸出有毛刺在SCL高電平期間抖動(dòng)了一下從設(shè)備就可能誤判為START或STOP條件導(dǎo)致總線狀態(tài)混亂。三段式狀態(tài)機(jī)的輸出是寄存器打拍出來的每個(gè)輸出信號(hào)的跳變都對(duì)齊到時(shí)鐘邊沿不會(huì)出現(xiàn)組合邏輯的競爭冒險(xiǎn)。而且第三段輸出邏輯可以很方便地根據(jù)當(dāng)前狀態(tài)和輸入條件精確控制每個(gè)信號(hào)的賦值代碼結(jié)構(gòu)也清晰。2.3 狀態(tài)編碼的選擇二進(jìn)制、格雷碼還是獨(dú)熱碼狀態(tài)編碼方式也會(huì)影響控制器的穩(wěn)定性和資源占用。二進(jìn)制編碼用的寄存器最少但狀態(tài)跳轉(zhuǎn)時(shí)多位同時(shí)變化譯碼邏輯復(fù)雜容易產(chǎn)生毛刺。格雷碼相鄰狀態(tài)只有一位變化毛刺少但狀態(tài)多了之后編碼不直觀。獨(dú)熱碼每個(gè)狀態(tài)用一個(gè)寄存器位表示譯碼簡單速度快但寄存器消耗大。對(duì)于I2C主控制器來說狀態(tài)數(shù)量通常在10到20個(gè)之間不算多。我一般推薦用獨(dú)熱碼原因是第一譯碼邏輯簡單每個(gè)狀態(tài)就是一個(gè)寄存器的位組合邏輯路徑短第二狀態(tài)跳轉(zhuǎn)時(shí)只有兩個(gè)位變化當(dāng)前狀態(tài)位清零下一狀態(tài)位置一毛刺風(fēng)險(xiǎn)低第三FPGA里寄存器資源相對(duì)充裕多消耗幾個(gè)寄存器換來時(shí)序余量的提升是值得的。如果做ASIC對(duì)面積敏感可以考慮格雷碼但一定要做好時(shí)序約束。3. 主模式I2C的狀態(tài)劃分與轉(zhuǎn)移邏輯3.1 完整的狀態(tài)定義一個(gè)完整的主模式I2C控制器狀態(tài)劃分需要覆蓋以下場景總線空閑、發(fā)送起始條件、發(fā)送設(shè)備地址和讀寫位、等待應(yīng)答、發(fā)送寄存器地址、發(fā)送寫數(shù)據(jù)、重復(fù)起始條件、讀取數(shù)據(jù)、發(fā)送應(yīng)答或非應(yīng)答、發(fā)送停止條件。我通常把它拆成以下狀態(tài)IDLE總線空閑SCL和SDA都為高電平。START產(chǎn)生起始條件SCL保持高SDA從高拉低。SEND_ADDR逐位發(fā)送7位設(shè)備地址加1位讀寫控制位。ACK_ADDR釋放SDA接收從設(shè)備的應(yīng)答位。SEND_REG發(fā)送寄存器地址如果是讀寫從設(shè)備內(nèi)部寄存器。ACK_REG接收寄存器地址的應(yīng)答位。SEND_DATA發(fā)送寫數(shù)據(jù)字節(jié)。ACK_DATA接收寫數(shù)據(jù)的應(yīng)答位。RESTART產(chǎn)生重復(fù)起始條件。READ_DATA接收從設(shè)備返回的讀數(shù)據(jù)字節(jié)。SEND_ACK主機(jī)發(fā)送應(yīng)答繼續(xù)讀或非應(yīng)答結(jié)束讀。STOP產(chǎn)生停止條件SCL高時(shí)SDA從低拉高。這些狀態(tài)之間的轉(zhuǎn)移條件由位計(jì)數(shù)器和字節(jié)計(jì)數(shù)器共同決定。位計(jì)數(shù)器從0到7循環(huán)每計(jì)滿8位產(chǎn)生一個(gè)字節(jié)完成信號(hào)字節(jié)計(jì)數(shù)器根據(jù)上層配置的讀寫長度決定發(fā)送或接收多少個(gè)字節(jié)。3.2 狀態(tài)轉(zhuǎn)移條件的細(xì)節(jié)處理狀態(tài)轉(zhuǎn)移條件的設(shè)計(jì)有幾個(gè)容易踩坑的地方。第一個(gè)是起始條件的建立時(shí)間。I2C規(guī)范要求START條件之前SDA和SCL都必須保持高電平至少4.7微秒標(biāo)準(zhǔn)模式。很多初學(xué)者直接從IDLE跳到STARTSDA拉低的時(shí)候SCL可能剛穩(wěn)定下來建立時(shí)間不夠。我的做法是在IDLE狀態(tài)加一個(gè)延時(shí)計(jì)數(shù)器確??偩€空閑時(shí)間滿足規(guī)范要求再發(fā)起始條件。第二個(gè)是應(yīng)答位的采樣時(shí)機(jī)。從設(shè)備在SCL的第9個(gè)時(shí)鐘周期拉低SDA表示應(yīng)答。主機(jī)需要在SCL高電平期間采樣SDA。如果采樣時(shí)機(jī)不對(duì)可能采到從設(shè)備釋放SDA的過渡狀態(tài)。我的做法是在SCL高電平的中間時(shí)刻采樣具體來說SCL上升沿之后等待四分之一時(shí)鐘周期再采樣這樣最穩(wěn)定。第三個(gè)是重復(fù)起始條件與停止條件的區(qū)分。讀操作通常需要先寫寄存器地址然后發(fā)重復(fù)起始條件再發(fā)讀地址。重復(fù)起始條件的時(shí)序和普通起始條件一樣但前面不需要停止條件。狀態(tài)機(jī)里需要用一個(gè)標(biāo)志位來區(qū)分當(dāng)前是首次起始還是重復(fù)起始避免錯(cuò)誤地插入停止條件。3.3 位計(jì)數(shù)器和字節(jié)計(jì)數(shù)器的協(xié)同位計(jì)數(shù)器負(fù)責(zé)在一個(gè)字節(jié)內(nèi)逐位發(fā)送或接收字節(jié)計(jì)數(shù)器負(fù)責(zé)統(tǒng)計(jì)已經(jīng)傳輸了多少個(gè)字節(jié)。這兩個(gè)計(jì)數(shù)器的協(xié)同邏輯是狀態(tài)機(jī)正確運(yùn)行的關(guān)鍵。位計(jì)數(shù)器在每個(gè)SCL下降沿加一計(jì)到7之后歸零同時(shí)產(chǎn)生一個(gè)字節(jié)完成脈沖。字節(jié)計(jì)數(shù)器在字節(jié)完成脈沖到來時(shí)加一根據(jù)上層配置的總字節(jié)數(shù)判斷是否繼續(xù)。如果是寫操作字節(jié)計(jì)數(shù)器計(jì)到目標(biāo)值后進(jìn)入STOP狀態(tài)如果是讀操作字節(jié)計(jì)數(shù)器計(jì)到目標(biāo)值減一時(shí)在最后一個(gè)字節(jié)的應(yīng)答位發(fā)送NACK然后進(jìn)入STOP狀態(tài)。這里有一個(gè)細(xì)節(jié)讀操作的最后一個(gè)字節(jié)主機(jī)必須發(fā)送NACK而不是ACK告訴從設(shè)備停止發(fā)送。很多初學(xué)者忘了這一點(diǎn)導(dǎo)致從設(shè)備繼續(xù)輸出數(shù)據(jù)總線掛死。我在代碼里用一個(gè)last_byte信號(hào)來標(biāo)記當(dāng)前是否是最后一個(gè)字節(jié)在SEND_ACK狀態(tài)根據(jù)這個(gè)信號(hào)決定發(fā)送ACK還是NACK。4. 三態(tài)驅(qū)動(dòng)的RTL實(shí)現(xiàn)與開漏總線處理4.1 I2C總線的物理特性與三態(tài)驅(qū)動(dòng)原理I2C總線是開漏輸出結(jié)構(gòu)SCL和SDA線上各有一個(gè)上拉電阻。任何設(shè)備都可以把線拉低但不能主動(dòng)拉高——拉高是靠上拉電阻完成的。這意味著每個(gè)設(shè)備的SCL和SDA引腳都需要三態(tài)驅(qū)動(dòng)輸出0時(shí)驅(qū)動(dòng)低電平輸出1時(shí)進(jìn)入高阻態(tài)讓上拉電阻把線拉高。在Verilog里三態(tài)驅(qū)動(dòng)通常這樣寫assign scl scl_out_en ? 1b0 : 1bz; assign sda sda_out_en ? 1b0 : 1bz;其中scl_out_en和sda_out_en是輸出使能信號(hào)為1時(shí)驅(qū)動(dòng)低電平為0時(shí)釋放總線。注意這里永遠(yuǎn)不驅(qū)動(dòng)高電平只驅(qū)動(dòng)低電平或高阻。這是I2C和SPI、UART最大的區(qū)別——SPI是推挽輸出可以主動(dòng)驅(qū)動(dòng)高和低I2C必須遵守開漏規(guī)則否則多個(gè)設(shè)備同時(shí)驅(qū)動(dòng)時(shí)會(huì)發(fā)生電源對(duì)地的短路。4.2 輸出使能信號(hào)的生成邏輯輸出使能信號(hào)的生成是三態(tài)驅(qū)動(dòng)的核心。對(duì)于SCL來說主機(jī)在大部分時(shí)間里都是驅(qū)動(dòng)低電平的因?yàn)橹鳈C(jī)控制時(shí)鐘只有在需要釋放時(shí)鐘線讓從設(shè)備拉低時(shí)比如時(shí)鐘同步或仲裁丟失才進(jìn)入高阻。但在標(biāo)準(zhǔn)的主模式單主機(jī)場景下SCL通常由主機(jī)獨(dú)占控制從設(shè)備不會(huì)拉低SCL除了時(shí)鐘拉伸的情況。對(duì)于SDA來說輸出使能的控制更復(fù)雜。發(fā)送數(shù)據(jù)位時(shí)根據(jù)當(dāng)前數(shù)據(jù)位是0還是1決定是否驅(qū)動(dòng)低電平接收數(shù)據(jù)位時(shí)必須釋放SDA讓從設(shè)備驅(qū)動(dòng)發(fā)送應(yīng)答位時(shí)根據(jù)是ACK還是NACK決定是否驅(qū)動(dòng)低電平。我在代碼里把SDA的輸出使能邏輯放在三段式狀態(tài)機(jī)的第三段根據(jù)當(dāng)前狀態(tài)和要發(fā)送的數(shù)據(jù)位來賦值always (posedge clk or negedge rst_n) begin if (!rst_n) begin sda_out_en 1b0; end else begin case (state) SEND_ADDR, SEND_REG, SEND_DATA: begin sda_out_en ~tx_data[bit_cnt]; end ACK_ADDR, ACK_REG, ACK_DATA, READ_DATA: begin sda_out_en 1b0; end SEND_ACK: begin sda_out_en ~ack_bit; end default: begin sda_out_en 1b0; end endcase end end這段代碼的邏輯是發(fā)送狀態(tài)時(shí)如果當(dāng)前數(shù)據(jù)位是0則驅(qū)動(dòng)低電平sda_out_en 1如果數(shù)據(jù)位是1則釋放總線sda_out_en 0。接收狀態(tài)時(shí)始終釋放總線。發(fā)送應(yīng)答時(shí)ACK驅(qū)動(dòng)低電平NACK釋放總線。4.3 輸入采樣與同步處理SDA和SCL作為輸入信號(hào)從外部引腳進(jìn)入FPGA后需要做同步處理避免亞穩(wěn)態(tài)。通常用兩級(jí)觸發(fā)器打拍always (posedge clk or negedge rst_n) begin if (!rst_n) begin sda_sync1 1b1; sda_sync2 1b1; scl_sync1 1b1; scl_sync2 1b1; end else begin sda_sync1 sda_in; sda_sync2 sda_sync1; scl_sync1 scl_in; scl_sync2 scl_sync1; end end同步之后的信號(hào)再用于狀態(tài)機(jī)的采樣邏輯。注意采樣SDA的時(shí)機(jī)——在SCL高電平期間采樣而且要在SCL穩(wěn)定之后。我通常用scl_sync2的上升沿作為采樣觸發(fā)條件在上升沿之后延遲幾個(gè)時(shí)鐘周期再采樣SDA確保信號(hào)穩(wěn)定。5. 時(shí)鐘分頻與I2C時(shí)序參數(shù)計(jì)算5.1 時(shí)鐘分頻系數(shù)的計(jì)算方法I2C的SCL頻率由主機(jī)時(shí)鐘分頻得到。假設(shè)系統(tǒng)時(shí)鐘為50MHz目標(biāo)SCL頻率為100kHz標(biāo)準(zhǔn)模式分頻系數(shù)為分頻系數(shù) 系統(tǒng)時(shí)鐘頻率 / (2 × SCL頻率) 50,000,000 / (2 × 100,000) 250為什么是2倍因?yàn)镾CL的一個(gè)完整周期包括高電平和低電平各一半分頻計(jì)數(shù)器需要計(jì)到250時(shí)翻轉(zhuǎn)一次SCL電平這樣SCL的周期就是500個(gè)系統(tǒng)時(shí)鐘周期對(duì)應(yīng)100kHz。對(duì)于快速模式400kHz分頻系數(shù)為分頻系數(shù) 50,000,000 / (2 × 400,000) 62.5取整為62或63。取62時(shí)SCL頻率約為403kHz取63時(shí)約為397kHz都在400kHz的容差范圍內(nèi)。我一般取63稍微慢一點(diǎn)更穩(wěn)妥。5.2 時(shí)序參數(shù)的規(guī)范要求I2C規(guī)范對(duì)時(shí)序有明確要求標(biāo)準(zhǔn)模式下START條件的建立時(shí)間最小4.7微秒START條件的保持時(shí)間最小4.0微秒STOP條件的建立時(shí)間最小4.0微秒數(shù)據(jù)建立時(shí)間最小250納秒數(shù)據(jù)保持時(shí)間最小0納秒但實(shí)際建議留足余量。這些參數(shù)在RTL里通過延時(shí)計(jì)數(shù)器來保證。比如START條件的建立時(shí)間在IDLE狀態(tài)檢測到啟動(dòng)信號(hào)后先等待一個(gè)4.7微秒的計(jì)數(shù)器然后再拉低SDA。4.7微秒在50MHz時(shí)鐘下對(duì)應(yīng)235個(gè)時(shí)鐘周期計(jì)數(shù)器計(jì)到235即可。數(shù)據(jù)保持時(shí)間的處理稍微復(fù)雜一些。I2C規(guī)范要求數(shù)據(jù)在SCL下降沿之后保持至少0納秒但實(shí)際上為了穩(wěn)定我通常讓數(shù)據(jù)在SCL下降沿之后繼續(xù)保持半個(gè)時(shí)鐘周期再變化。這樣從設(shè)備有足夠的時(shí)間鎖存數(shù)據(jù)。5.3 時(shí)鐘拉伸的處理時(shí)鐘拉伸是I2C的一個(gè)特性從設(shè)備可以通過拉低SCL來暫停主機(jī)的時(shí)鐘給自己爭取處理時(shí)間。主模式控制器必須支持這個(gè)特性否則在某些從設(shè)備比如EEPROM在寫周期內(nèi)上會(huì)出錯(cuò)。處理時(shí)鐘拉伸的邏輯是主機(jī)釋放SCL之后檢測SCL是否真的變高了。如果SCL被從設(shè)備拉低主機(jī)進(jìn)入等待狀態(tài)直到SCL變高才繼續(xù)。在RTL里這通過檢測scl_sync2的上升沿來實(shí)現(xiàn)always (posedge clk or negedge rst_n) begin if (!rst_n) begin scl_stretch 1b0; end else begin if (scl_out_en 1b0 scl_sync2 1b0) scl_stretch 1b1; else if (scl_sync2 1b1) scl_stretch 1b0; end end當(dāng)scl_stretch為1時(shí)狀態(tài)機(jī)暫停在當(dāng)前位置不進(jìn)行狀態(tài)轉(zhuǎn)移直到SCL釋放。6. 讀寫操作的完整流程與代碼實(shí)現(xiàn)6.1 寫操作的流程拆解寫操作是最基本的I2C事務(wù)流程如下發(fā)送START條件發(fā)送設(shè)備地址加寫位0等待ACK發(fā)送寄存器地址等待ACK發(fā)送數(shù)據(jù)字節(jié)等待ACK發(fā)送STOP條件。每一步在狀態(tài)機(jī)里都有對(duì)應(yīng)的狀態(tài)。以寫一個(gè)字節(jié)到EEPROM的寄存器為例狀態(tài)轉(zhuǎn)移序列是IDLE → START → SEND_ADDR → ACK_ADDR → SEND_REG → ACK_REG → SEND_DATA → ACK_DATA → STOP → IDLE。在SEND_ADDR狀態(tài)狀態(tài)機(jī)把設(shè)備地址和寫位組成一個(gè)8位數(shù)據(jù)逐位發(fā)送。位計(jì)數(shù)器從7遞減到0每次發(fā)送最高位。發(fā)送完8位后進(jìn)入ACK_ADDR狀態(tài)釋放SDA在SCL的第9個(gè)周期采樣SDA如果為0表示從設(shè)備應(yīng)答繼續(xù)如果為1表示NACK進(jìn)入錯(cuò)誤處理或直接STOP。6.2 讀操作的流程拆解讀操作比寫操作多一個(gè)重復(fù)起始條件。流程是發(fā)送START發(fā)送設(shè)備地址加寫位等待ACK發(fā)送寄存器地址等待ACK發(fā)送重復(fù)START發(fā)送設(shè)備地址加讀位1等待ACK讀取數(shù)據(jù)字節(jié)發(fā)送NACK發(fā)送STOP。注意讀操作的最后一個(gè)字節(jié)主機(jī)必須發(fā)送NACK。在SEND_ACK狀態(tài)根據(jù)last_byte信號(hào)決定發(fā)送ACK還是NACK。如果是最后一個(gè)字節(jié)ack_bit置1NACK釋放SDA否則ack_bit置0ACK驅(qū)動(dòng)SDA低。6.3 關(guān)鍵代碼片段與注釋下面是狀態(tài)機(jī)第三段輸出邏輯的核心代碼展示了SCL和SDA的輸出使能如何根據(jù)狀態(tài)生成always (posedge clk or negedge rst_n) begin if (!rst_n) begin scl_out_en 1b0; sda_out_en 1b0; end else begin case (state) IDLE: begin scl_out_en 1b0; sda_out_en 1b0; end START: begin scl_out_en 1b0; sda_out_en 1b1; end SEND_ADDR, SEND_REG, SEND_DATA: begin scl_out_en ~scl_phase; sda_out_en ~tx_data[bit_cnt]; end ACK_ADDR, ACK_REG, ACK_DATA, READ_DATA: begin scl_out_en ~scl_phase; sda_out_en 1b0; end SEND_ACK: begin scl_out_en ~scl_phase; sda_out_en ~ack_bit; end STOP: begin scl_out_en 1b0; sda_out_en 1b0; end default: begin scl_out_en 1b0; sda_out_en 1b0; end endcase end end其中scl_phase是SCL的相位信號(hào)由分頻計(jì)數(shù)器生成0表示SCL低電平階段1表示高電平階段。scl_out_en ~scl_phase表示在SCL低電平階段驅(qū)動(dòng)低電平高電平階段釋放總線。7. 仿真驗(yàn)證與上板調(diào)試的實(shí)操經(jīng)驗(yàn)7.1 仿真環(huán)境的搭建I2C控制器的仿真需要一個(gè)從設(shè)備模型來響應(yīng)主機(jī)的讀寫請(qǐng)求。我通常用Verilog寫一個(gè)簡單的EEPROM模型支持隨機(jī)讀寫和ACK響應(yīng)。仿真平臺(tái)包括時(shí)鐘和復(fù)位生成、主機(jī)控制器實(shí)例化、從設(shè)備模型實(shí)例化、總線上的上拉電阻模擬用pullup語句。仿真用例要覆蓋單字節(jié)寫、單字節(jié)讀、多字節(jié)連續(xù)寫、多字節(jié)連續(xù)讀、NACK響應(yīng)處理、時(shí)鐘拉伸場景。每個(gè)用例都要檢查總線上的時(shí)序是否符合規(guī)范數(shù)據(jù)是否正確。7.2 邏輯分析儀抓波形的技巧上板調(diào)試的時(shí)候邏輯分析儀是必不可少的工具。我用的是Saleae Logic或者類似的工具采樣率至少設(shè)到10MHz以上才能看清100kHz SCL的細(xì)節(jié)。抓波形的時(shí)候重點(diǎn)看幾個(gè)地方START條件的建立時(shí)間是否足夠SDA在SCL高電平期間是否穩(wěn)定ACK位的采樣點(diǎn)是否正確STOP條件的時(shí)序是否規(guī)范。如果發(fā)現(xiàn)從設(shè)備不響應(yīng)先檢查設(shè)備地址是否正確——7位地址左移一位再加讀寫位很多人在這里搞錯(cuò)。7.3 常見問題速查表問題現(xiàn)象可能原因排查方法從設(shè)備完全不響應(yīng)設(shè)備地址錯(cuò)誤用邏輯分析儀抓SDA波形核對(duì)地址位第一個(gè)字節(jié)ACK正常后續(xù)NACK寄存器地址錯(cuò)誤檢查寄存器地址是否在從設(shè)備支持范圍內(nèi)SCL無輸出輸出使能邏輯錯(cuò)誤檢查scl_out_en是否在正確狀態(tài)置位SDA一直被拉低三態(tài)驅(qū)動(dòng)沖突檢查是否有多個(gè)設(shè)備同時(shí)驅(qū)動(dòng)SDA讀數(shù)據(jù)全為1從設(shè)備未驅(qū)動(dòng)SDA檢查主機(jī)是否在READ_DATA狀態(tài)釋放了SDA總線掛死缺少STOP條件檢查狀態(tài)機(jī)是否有超時(shí)退出機(jī)制8. 踩坑記錄與設(shè)計(jì)優(yōu)化建議8.1 我踩過的三個(gè)典型坑第一個(gè)坑是起始條件建立時(shí)間不足。早期版本直接從IDLE跳到STARTSDA拉低的時(shí)候SCL剛穩(wěn)定建立時(shí)間只有幾個(gè)時(shí)鐘周期。從設(shè)備偶爾能識(shí)別偶爾不能。后來在IDLE狀態(tài)加了延時(shí)計(jì)數(shù)器確??偩€空閑時(shí)間超過4.7微秒再發(fā)起始條件問題解決。第二個(gè)坑是讀操作最后一個(gè)字節(jié)忘了發(fā)NACK。從設(shè)備收到ACK后繼續(xù)輸出下一個(gè)字節(jié)但主機(jī)已經(jīng)進(jìn)入STOP狀態(tài)總線沖突。后來加了last_byte信號(hào)在SEND_ACK狀態(tài)根據(jù)這個(gè)信號(hào)決定ACK還是NACK。第三個(gè)坑是時(shí)鐘拉伸處理不完整。主機(jī)釋放SCL后沒有檢測SCL是否真的變高直接進(jìn)入下一個(gè)狀態(tài)。在EEPROM寫周期內(nèi)從設(shè)備拉低SCL主機(jī)卻繼續(xù)跑狀態(tài)機(jī)導(dǎo)致時(shí)序錯(cuò)亂。后來加了scl_stretch檢測邏輯SCL被拉低時(shí)狀態(tài)機(jī)暫停。8.2 設(shè)計(jì)優(yōu)化方向如果要把這個(gè)控制器做得更完善可以考慮幾個(gè)方向第一加超時(shí)機(jī)制總線掛死時(shí)自動(dòng)復(fù)位狀態(tài)機(jī)第二支持多主機(jī)仲裁檢測SDA與自身輸出不一致時(shí)退出仲裁第三加FIFO緩沖支持連續(xù)多字節(jié)讀寫而不需要上層頻繁干預(yù)第四參數(shù)化設(shè)計(jì)SCL頻率、地址位寬、數(shù)據(jù)位寬都可配置。8.3 給初學(xué)者的建議如果你剛開始做I2C主控制器我的建議是先用三段式狀態(tài)機(jī)把基本讀寫跑通再逐步加功能。不要一上來就追求大而全先把單字節(jié)寫和單字節(jié)讀調(diào)穩(wěn)定。仿真的時(shí)候一定要寫從設(shè)備模型不要只靠上板調(diào)試。邏輯分析儀抓波形的時(shí)候先看SCL再看SDASCL是節(jié)奏SDA是內(nèi)容節(jié)奏對(duì)了內(nèi)容才好排查。我在實(shí)際項(xiàng)目里用這套架構(gòu)做過EEPROM控制器、傳感器采集控制器、OLED驅(qū)動(dòng)控制器基本沒出過大問題。關(guān)鍵就是把狀態(tài)機(jī)寫規(guī)范把三態(tài)驅(qū)動(dòng)處理干凈把時(shí)序參數(shù)算準(zhǔn)確。這三件事做好了I2C主模式控制器就穩(wěn)了。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
色久丁香五| 亚洲婷婷欧美婷婷| 婷婷九月亚洲| 182.t午在线观看| 深爱五月激情| 亚洲精品五月| 色五月aV| www.夜夜操.con| 9 9 9色色| 久机视频这只有精品| 成年AAAA色情| 青草青草久热这里只有精品| 欧美 日韩 成人| jiZZdr| 99色免费视频| 久久机热这里只有 | 天天做天天爱天天综合网| 日韩不卡DvD| 中文成人在线| 欧亚成人A片一区二区| 国产在这里只有精品| oumeisesewang| 日本欧特黄色刺激一区影视久精品无码| 亚洲欧美婷婷五月色综合| 日日干天天| 色婷婷亚洲在线| 另类激情五月天。| 久久99这里只有精品| 丁香五月综合激情久久潮喷| 久久3级片| 色欲久久综合| 日本人妻伦在线中文字幕| 99色中文| 噜噜视频| 久久五月天综合| 夜夜综合色| 激情文学 综合 色| 99成人网一区| 日本99视频| 综合久久久婷| av在线不卡播放| 九九九九精品精| 欧美日综合| 五月天久久网站| 五月丁香六月日逼| 97色色色色色色色色色色色色色| 色色啊| www.婷婷亚洲基地| 五月色网| 五月婷婷与六月丁香图片激情| 天天摸.天天mo| 99亚洲精品视频| 狠狠干.com| 99ri视频| 嫩草AV久久伊人妇女超级A| 99热天堂| 五月成人网站| 少妇被躁爽到高潮无码文| 婷婷久久亚洲| 99免费在线视频| 欧美99| 91九色中文字幕女在线观看| 亚洲啪啪啪啪| 五月开心网| 成人日韩欧美| 六月丁香啪啪| 午夜微拍福利| 99成人精品六| 久热这里只有精品在线观看 | 嫩草AV久久伊人妇女超级A| 婷婷丁香十月| www999日韩精品| www.婷婷亚洲基地| 九九久久精品| 九九热99在线视频| 色一情一乱一乱一区91Av| 五月婷精品| 亚洲天堂99| 亚洲另类在线观看| 97色婷婷五月天| 六月婷婷久久大全| 另类视频在线| 亚洲一区二区色图-亚洲精品国产精品乱码-成人AV | 综合久久久| 色五月婷婷综合在线| 天天爱天天狠天天透| 五月天婷婷在线AN| 色婷婷视频在线| 色五月亚洲| 夜精品无码A片一区二区蜜桃| 国产伦亲子伦亲子视频观看| 亚洲激情六月丁香| 99热99ai| 第五色婷婷| 99riAv1国产在线观看| 97AV在线视频| 亚洲av另类在线观看| 91精品国产色猫| 热久国产| 狠狠插日日干撸| 亚洲网站999| 婷婷综合视频| 色综合久久之分久久| 色色热日| 91色久| 婷婷五月欧美综合| 97资源欧美日韩大香蕉超碰一区| 免费无码毛片一区二区A片 | 成人va在线观看视频| 激情六月五月婷婷综合网| 五月激情偷拍婷婷| 九九久久综合| 超爽内射| 丁香五月婷婷激情123| 99在热线免费视频| 日欧一片内射VA在线影院| 久99| 丁香五月久久| 99热色精品| 欧美人妻一区二区| 骚五月婷婷| 婷婷五月天六月综合| 婷婷久久色| 影音先锋女人AA鲁色资源| 黑人无码一区| 开心激情播播五月天| 久久婷婷五月综合色奶水99啪| 国产又黄又爽又色的免费| 人操人| 99色色热| 婷婷伊人网| 99丝袜精品视频网站| 五月丁香香蕉| 久久久久久9| www.91久久| 丁香六月婷婷综合啪啪| 99色色色色| 丁香在线视频| 高清无码.com| 九月婷婷久久| 五月丁香在线视频观看| 天天综合网站| 青青草轻轻操| 五月激情婷婷综合| 丁香六月狠狠干| 这里只有精品免费视频在线观看| 久久99最新地址| 日日夜夜狠狠婷婷色| 99精品视频在线观看| 婷婷中文字幕网站| 狠狠五月激情婷婷直播片| 开心激情婷婷| 色国产五月| 色综合激情| 97香蕉人人在线观看| 五月婷婷色吧!| 天天日天天舔| 五月天a婷婷伊人| 激情五月天网站| 亚洲综合字幕色色| 婷婷伊人| 天天影视色综合网| 91fuliwang| 性生活视频98791| 色五月激情五月| 99re在线观看| 九月丁香婷婷| 激情综合网激情五月丁香| 五月丁香啪啪啪| 久操综合| 大香蕉久| 激情五月天色婷婷| 操日视频| 99综合免费视频| 五月激情丁香六月狠狠干| 久久婷婷激情| 午夜丁香六月婷| 99精品偷自拍| 99久久玖玖| 日本天堂网站99| 婷婷久久亚洲| 大香蕉婷婷久久| 九九热精品6| 天天综合网色欲香| 色欲婷婷五月天| 婷婷亚洲天堂| 99久久婷婷精品视频| 岛国av电影网站| 婷婷基地成人五月天| 五月天激情视频| 色老久久| 成人做爰高潮A片免费视频| www 五月天 com| 婷婷五月综合性爱| 色噜噜狠狠色综合成人99| 91九色精品女同系列| 久婷久婷激情肉| 五月天色丁香| 久久亚洲网| 色色欧美色色色| 操你av| 99干在线| 在线只有精品| 人妻激情在线| 日韩乱玛久久| 丁香五月激情宗合网| 久久久GOGO无码啪啪艺术| 凹凸操Av| 狠狠色婷婷7| www.婷婷| 噜噜五月天综合| 婷婷五月大香蕉| 裸睡玩奶头(高H)| 久 久9 9 热 视 频| 九九人人自拍| 亚洲欧洲另类图片| 99精品在线| 日韩成人五月天| 99啪视频在线观看| 99噜噜噜在线播放| Av大香蕉| 亚洲色另类| 五月丁香婷婷无码中文| 久99视频在线观看| 亚洲视频无| 婷婷成人视频| 91狠狠色| 欧美激情VA永久在线播放| 久久五月视频| 久久久99免费视频| 五月天狠狠草| 综合婷婷六月| 色五月天影视| 五月色网| 婷婷五月天成人视频| 国产午夜一区二区三区| 可以观看的AV| 天天影视色综合网| 丁香伊人综合| 六月丁香成人| 日本女天天爽| 丁香婷婷六月激情文学 | AA片在线观看视频在线播放| 天天精品视频免费观看| 91avse| www色综合| 色网站99| 国产成人VA| AV在线免费播放| 丁香五月玖玖| 欲色人妻| 免费色婷婷| 中国丰满熟女A片免费观| 久久五月天视频| 婷婷五月六月激情| 五月丁香黄色视频| 婷婷丁香色情五月天| 天天操天天操| 国产精品A片| 婷丁香五月天| 五月婷婷综合色拍| 逼特逼在线免费播放| 国产成人网站在线观看| 91久操| 欧美性爱一区| 婷婷色丁香五月| AAA亚洲AV| 五月丁香婷婷激情在线视频| 欧美综合丁香网| 五月天激情国产综合婷婷婷就去爱| 7777精品伊人久久久大香线蕉最新版| 成人中文字幕在线| 26uuu视频欧美| 久久久999精品| 婷婷五月丁香综合激情| 免费看无码视频A级| 九伊人网| 人妻性操逼中文字幕 国产| 99黄色性生活| 性婷婷| 欧洲日韩一区二区三区| 开心五月激情五月丁香五月婷婷| 五月天激情视频五月天| 久久久久婷| 亚洲网视屏| 久久久婷婷| 日韩啊啊啊| 色色婷婷丁香| 伊人大香久久| 色综合久| 激情婷婷五月天在线观看| 五月综合六月丁| 26uuu欧美激情另类| 99久久99热| wuyuedingxiang99| 午夜激情五月天| 色婷婷丁香五月| 人人操91| 亚洲欧洲美女在线观| 狠狠综合久久综合| 天天操夜夜爽天天操| sisi热国产| 色婷婷在线视频综合| 婷婷丁香五月综合网上| 久久九九网| 天天干天天干天天| 色综合久久无码| 97操碰在线视频| 婷婷综合网站| 五月草影视| 婷婷婷久久久| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 久久视频这里99| 久久精品这里只有精品免费首页| 1024人妻| 丁香婷婷五月综合影院| 色综合久久88色综合中文字幕| 一级黄色尤物综合视频手机在线观看| 丁香激情网| 能直接看的av网站| 六月成人网| 97成人视频| 九九综合九| 区美毛片子| 伊人久久婷婷五月天激情四射| 亚洲成人人人操| www激情| 久久久精品婷婷五月天| 激情五月婷婷丁香六月| 激情婷婷五月| 久久九九激情五月天| 久久天堂| 亚洲热视频| 69精品人人人人| 91日韩美女被插视频| aaaaaa片| 91久久婷婷| 精品自拍97| 欧美色狠婷久| 老司机伊人| 婷婷六月久久| 激情综合网激情五月丁香| 欧美色五月| 六月丁香天堂| 91婷婷视频| 99 热国产在| 99亚洲视频| 国产AV熟妇人震精品一品二区| 激情丁香九九五月综合网| 第一区久久网站| 在线中文亚洲| chaopengdaxiangjiao| 人人操97| 色综合久久99色| 婷婷五月丁香人妻无码高清| 天天免费日日夜夜夜夜| WWW.久久.COM| 色五月aV| 女人天堂AV| 久久精品五月| 深爱五月激情| 91精品国产色猫| 六月婷婷色宗合| 热久久99热欧美国产亚洲| 碰碰人人漕| 深爱婷婷丁香五月激情| 成片免费观看大全| 六月激情久久| 六月婷婷久久| 久久资源网五月婷| 99视频内射三四| 五月丁香婷婷综合久久| 婷婷五月天成人网| 狠狠干五月天| 婷色成人| 日韩啪啪视品| 狠狠色丁香| 偷偷操九九| 天天做天天爱天天爽综合网| 久热91精品| 亚洲无码另类| 99爱在线| 日本天堂网站99| 亚洲另类噜噜| 男人天堂99| 婷婷五月电影院| 婷婷五月中文字幕| 国产成人+综合亚洲+天堂| 日韩成人av在线| 99九九99九九九视频精彩| 伊人色综合影院视频| 91 九色 熟女| 婷婷六月激情丁香| 第四色大香蕉| 开心激情综合| 六月五月婷婷| 婷婷激情人妻| 蜜桃成语时李时珍 免费| 久久草婷婷丁香网站| 婷婷色色综合| 五月激情婷婷综合| 丁香五月第九色| 亚洲狠狠丁香婷婷香蕉| 国产性爱一级| 丁香狠狠| 五月天社区婷婷丁香社区| 9久热在线视频精品| 激情婷婷五月天。| 日本色超碰| 婷婷亚洲欧美丁香五月| 婷香五月网在线| 天天日天天久久青青| 人妻内射视频| 婷婷丁香高潮了| 伊人激情综合| 9久热免费视频99| www.91久久| 黄网在线免费| 色噜噜婷婷| 欧美激情xxxXX| 天天综合网色欲香| 五月综合激情| 亭亭五月激情亚洲在线| 亚洲中文av| 久草九一| 67194国产| 天天干天天日天天插| 67194成I人在线观看线路1| 婷婷六月丁香色| www.99日本| 欧美性生交A片免费看| 五月丁香影视| 激情综合网 激情五月天| 久久婷婷亚洲无码一起| 五月Huangsewang| 色情五月天A片| 一区=区操屄高清大全av| 欧美黄色韩日网| 99九九热在线观看| 五月色情| www.夜夜操| 天天日综合| 五月丁香婷婷六月天| 色爱99| 青青久久五月| 亚洲日本韩国| www.久久99| 丁香五月人妻| 色播播五月| 五月天色网站| 综合狠狠干| 色五月婷婷基地| 97超碰在线观看免费| 国产露脸150部国语对白| 大香蕉久久久| 激情综合色婷婷啪啪六月天| 噜噜五月天综合| 婷婷九月激情网| 最新色色五月天| 成人精品免费在线观看| 欧美性生交XXXXX无码小说| 色五月丁香五月| 激情五月天综合婷婷网| 激情五月,色播五月| 色噜噜狠狠色综合日日免费| 大香蕉AV在线| AAA久久| 99综合自拍| 婷婷五月a| 久久加勤综合| 婷婷丁香五月综合| 搡BBBB搡BBB搡五十| 色无码| 丁香久久| 婷婷五月天久久久| 天堂成人A片永久免费网站| 丁香五月天啪啪| 日韩在线99| 丁香六月综合| www.久久久.com| 色五婷婷开心缴| 丁香狠狠色婷婷久久无码视频| 丁香婷婷成人在线播放| 这里精品| 99热免费精品| 天天插天天插天天插天天插 | 婷婷五月天VI| 丁香九月综合在线| 91久久色| 丁香久久| 五月丁香亚洲综合网| 丁香五月激情婷婷激情| 丁香综合网| 狠狠狠狠狠狠狠狠| 丁香激情五月| 亚洲超碰在线| 日本欧美成人片AAAA| A片试看120分钟做受图片| 屁股翘好撅高迎合跪趴| 婷婷色色宗合网| 九伊人网| 丁香五月婷婷啪| 91精品91久久久中77777| www.五月天色色.com| 久久婷婷五月丁香网| 色色激情五月天| 激情五月激情综合网一级丸片 | 成人小说 五月天 婷婷| 久久久久久丁香五月| 五月花免费视频| 欧美日韩123| www.色婷婷| 久操香蕉| 天天肏高清在线| 精品视频这里只有精品| 中文字幕色色| 九九色综合| 人妻日日日| 99婷婷五月天激情| 国产中文亚洲欧美日韩性交| 99re最新地址| 深爱五月婷婷| 成 人片 黄 色 大 片| 久久综合五月天激情小说网站| 日韩三及成人AV片| 六月婷婷狠狠色在线观看| 五月天激情AV| 大香蕉手机视频| 丁香六月综合| 免费的日逼视频| 97色色色色色| 99热66| 婷婷自拍| 丁香五月激情性色郤| 超碰二区| 九九久久腿| 五月丁香琪琪| 久久性爱视频这里只有精品| 九九黄色网| 婷婷久久18| 69五月天视频| 99免费在线| 久久婷婷东京热大香樵| 色综合五月婷婷狠狠干| 久久六月天| 99热亚洲综合| 色婷婷综合网站| 天天爱天天做天天操| 九九久久污| 妇激情基地| 五月婷婷 激情五月| 五月色综合| 五月天激情久久| 99热日| 日本美女上人| 婷婷丁香五月天熟女丝袜| 就爱操www com| 天天干,天天日| 久99久99精品免| 综合激情五月综合激情五月激情1| 久久性刺激| 91丁香色五月| 欧美激情综合色综合色| www.婷婷.com| 久热大香蕉| 玖玖五月丁香| 丁香五月婷婷大香蕉| 色综合色| 韩国真做片在线观看| 97综合在线| 天天色天天日| 五月婷婷丁香网| 色婷婷九月| 日韩丁香涩| www.爱操com.| 亚洲国产精品VA在线看黑人| 色婷婷婷综合五月天| 丁香花五月天激情| 97久久久久| 最新色色五月天| 在线观看亚洲视频影院| 99re思思久久| 超黄亚洲瑟瑟网站| 色综合天天综合成人网| 五月激情丁香五月| 五月丁香婷婷综合| 婷婷五月丁香影院| 日日夜夜天天| 欧美日本一区二区三区| 丁香五月婷婷欧美成人色图| 久久色亭亭五月天| 婷婷色啪| 99热这里全都是精品| 五月丁香六月在线欧美| 99视频在线| 九九热视频精品2| 思思久久99| .操區COm| 99久操视频| 色婷婷色情| 婷婷激情五月天桃花网| 五月丁香亭亭| 99综合熟女| 日日爽夜夜爽| 女人露出p毛视频www网站| 99视频自拍| 天天拍夜夜爽| 九九久久高清| 色五月亚洲| 五月综合777| 日本性视频| 五月婷婷激情网| 国产激情久久久| 性无码专区无码| 五月婷婷丁香在线视频| 99啪啪网| AA片在线观看视频在线播放| 综合网五月天123| 射久久丁香五月| 色五月丁香婷婷久草| 久久这里精彩免费在线观看| j五月香在线| 久热免费视频| 五月综合激情图片| 《久久综合九色综合97婷婷| 亚洲精品成人| 日本五月婷婷| 丁香五月婷婷婷婷欧美综合| 精品国产a| 亚洲五月婷婷| 五月丁香六月婷婷视频| 超碰久热| 无码少妇高潮喷水A片免费| 婷婷五月色情天| 日本怕怕视频| 国产激情在线观看| 99国产精品白浆在线观看免费 | 亚洲成人在线播放| 丁香婷在线| 五月天大香蕉| 丁香五月www| 久99久在线观看| 呦呦v线| 日本久久婷婷| 久久日本wwww色| 丁香五月社区| 淫视馆AV在线| 自拍盗摄 另类| 免费观看亚洲AV片| 9久热在线精品| 成人综合网站| 天天干天天日天天操| 任你草| 高清国产AV| AA片在线观看视频在线播放 | 99久久综合精品五月天| 激情图片亚洲| 色噜噜狠狠色综合成人网| 高清a片基地| 亚洲五月天伊人| www.久久爱| 91人人澡人人爽人人看| 夜色.cnm| 婷婷99视频全集高清| 99激情| 九九激情| 五月丁香花开综合网| www.激情五月天.com| 免费国产视频| 99热高清在线| 伊人久久大香天蕉亚洲特级| 五月丁香 狠狠爱| 一区二区成人电影免费播放| 伊人激情AV一区二区三区| 五月丁香亭亭操逼| www.jiujiujiu| 天天做天天爱天天玩| 色永久| 九九视频免费| 人妻射精AV| 色五月婷色彩免播放器| 日韩伊人大香蕉| 色婷婷五月天无码视频| 九月婷婷综合色干| 婷婷五月欧美| www.激情com| 99啪在线| 伊人久久大香线蕉av一区| 99久久99综合| 五月丁香色色色| 五月丁香综合网| 婷色影院| 96色婷婷| 久99热在线观看| 久久总和99| 99在线69| 久99| 五月天婷婷激情干干| www.com操| 色婷婷色五月综合| 婷婷色正月| 人人草人人舔| 色五月 五月婷婷| 五月婷婷综合激情| 99色综合网| 欧美在线骚货| 色色丁香激情五月| 超碰在线综合| 思思热视频在线观看| 91久久久久久久久久久| A久久| 婷婷色五月91啪啪| 日韩精品电影| 久久98| 中文aV网| 大伊久久| 天天综合久久| 色综合色五月| 91打屁股免费看| 中文字幕人妻AV| 97操碰视频| 热无码A∨| 天天色激情| 伊人五月婷婷| 久草热8精品视频在线观看| 亚州第一黄网| 99亚洲精品视频在线观看| 五月四色色| 丁香五月婷婷色播艳门照| 亚洲婷婷丁香| 91chinese在线| 婷婷丁香色五月天| 秋霞性爱AV| 五月丁香激情欧洲啪啪| WWW久久久| 婷婷五月天97干| 久久久.COM| 欧美婷| 无码人妻电影| 综合久久婷婷| 色五月婷婷影院| 狠狠色婷婷丁香六月| 激情六月婷婷| www久| 99色.com| 亚洲精品小视频| 另类专区在线| 五月丁香六月停停停| 亚洲日韩国产黑丝黑丝AVAV一区二区三区 | 91人人爽狠狠狠| 91久女| xxxx五月激情| 97视频.干com| 9l久久久视频| 丁香六月婷婷综合麻豆| 狠狠色婷婷777| 香蕉久久av一区二区三区| 无码激情| 丁香五月激情网| 天天色天天操天天射| 亚洲操B视频| 天天干天天 亚洲| 色婷婷狠狠| 日本天堂免费99| 伊人色综在线| 久久婷婷亚洲| 九九色欲网| 五月婷婷婷| 久久精品熟女亚洲AV麻豆| 九九热a| 激情六月天婷婷| 成人国产欧美大片一区| 五月综合激情久久| 久久婷婷五月综合| 久久3p| 久久激情五月婷婷| 亚洲成人电影在线免费观看| 五月婷婷成人w| 天天射影院| 亚洲九九夜夜| 丁香狠狠色婷婷久久无码视频| 久久精品一区二区三区四区| 99免费成人网| 亚洲五月婷婷| 五月丁香婷婷网网网网| 任你艹| 激情久久 婷婷| 天天精品视频免费观看| 爱iii做iiii日日| 色婷婷中文字母五月丁香| 97色婷婷| 人妻久久久久久久久妻久久久久久久久| 九九自拍网| 久久久久久久久久91| 婷婷综合成人| 丁香影院五月综合| 丁香五月电影| 激情五月天婷婷播播久久综合91 | 精品国产乱码久久久久久免费| 三区激情四射av| 91碰碰| 四虎婷婷五月天| 午夜亚洲AV日韩无码| 久久九九99亚洲国产久精综合| 日本不卡高字幕在线2019| 五月丁香六月情婷婷久久| 色婷婷综合久久| 婷婷激情社区| 五月婷狠狠| 五月婷婷官网色| 五月丁香婷婷成人版| 精品网站:999WWW| 色五月婷婷激情基地| 五月丁香成人小说| 碰超99| www.久久久久| 婷婷五月天激情小说网站| 色天使久久综合| 色噜噜狠狠一区二区三区| 色五月婷婷操逼| 五月亭亭开心网| 久久婷婷五月天懂色| 久热91| www.亚洲激情| 超碰三级片| 九九在线精品| 色综合综合色| 91久久综合| 午夜色婷婷| 色播五月丁香婷婷| 99re热视频这里只精品| 五月丁香六月婷婷综合网站| 色婷婷免费观看| 精品色色| 性色五月天| 天天操天天爱天天日| 丁香五月综合狠狠| 久久五月激情| 色综合久久天天综合网 | 色丁香在线视频| 丁香熟女乱| 五月婷婷六月丁香在线| 亚洲色情免费网| 日韩AV中文字幕在线| 婷婷五月天激情文学| 丁香婷婷激情综合五月激情| 国产免费一区二区三州老师F1……| 亚洲综合另类| 啊V视频在线观看| 天天揷综合网| 91九色精品熟女内射| 激情五月亚洲综合网| 人妻视频在线| 偷拍丁香九月激情| 亚洲操逼网| 国产色色网址网站| 久久婷婷色情7777网站| 丁香情色五月| 俺去也五月天婷婷| 狠狠色婷婷丁香六月| 久久加勒比| 青青草伊人婷婷| 五月婷婷啪啪| 欧美综合激情丁香五月六月婷| 99碰网站| 亚洲另类av| WW婷婷五月天com| 亚州色色色| 99色色视频| 第一区久久网站| 99热大全在线观看| 国产.亚洲.欧洲视频在线| 色婷婷成人色网| 五月丁香激情四射| 丁香色五月婷婷| 99热这里只有精品23| 99色激| 五月丁香激情四射| 丁香伊人五月色婷婷五十路| 夜夜爽77777妓女免费下载| 婷婷中文在线| 五月网网站| 久婷婷久草| 天天人人综合| 97色婷婷成人综合在线观看| 一区二区传媒视频| 婷婷酒色网| yazhoujiqingav| 久久久天堂国产精品女人| 九九亚洲视频| 天天干天天操天天爱| 亚洲熟妇AV综合网五月丁香伊人| 九九色影院| 久久99久久99精品免观看粉| 啪啪东京热| www99精品亚| 1级欧美日韩| 国产婷婷婷| 日日躁夜夜躁狠狠久久AV| 在线另类视频| 超碰三级片| 久99在线视频| 五月丁香好婷婷A片网| 99爱在线视频| 国产精品色色| 开心五月天激情网站| A网在线欧洲| sisi热国产| 新激情综合| 第四色色色色色丁香五月天| 大香蕉在线99热| WwW色婷婷| 国产精女同一区二区三区久| 黄色片avv| 任你干线上免费视频有3吗| 五月色亭丁香| 9精品一区| 丁香六月婷婷色播| 99噜噜| 91色五月| 久99在线视频| 婷婷五月播| 日本熟女三区| 久久这里只有精品1| va亚洲中文在线| 色偷偷五月天| 婷婷五月天久久| 激情五月天视频| 国产精品久久久久久久久久| 9色在线视频| 五月丁香六月激情综合| 亚洲亚洲人成综合网络| 99热在线中出| 丁香五月性| 国产午夜精品一区二区三区四区| 中文字幕在线视频播放| 亚洲在线播放| 九九热啪啪| 久热精品视频在线观| 日本婷婷丁香五月| 97婷婷五月| 色婷婷88| 亚洲人人操| 美女久久天堂| 久青操| 婷婷五月天国产手机在线视频观看| 五月婷婷中文网| 精品九九视频| 丁香色情五月综合网站| www.99热| 91精品久久久久久综合五月天| 97在线观视频免费观看| 人妻熟人中文字幕一区二区| 99啪视频在线观看| 五月丁香激情综合| 五月婷婷激情中心| 五月丁香777| 国外亚洲成AV人片在线观看| 激情丁香五月| 秋霞黄色一级久久| WWW激情五月天| 五月丁香六月色| 男女啪啪做爰高潮无遮挡| 免费看欧美成人A片无码| 日韩 中文 欧美| 午夜爱爱爱成人| 欧美日韩成人免费在线| 精品香蕉99久久久久网站| 久热69| 六月婷婷七月丁香| 色五月婷婷影院| 激情丁香婷婷| 五月激情四射网站| 色五月网址| 狠狠干综合网| 婷色五月| 天天干天天操天天射| 天天爱天天做天天爽| www.五月天色色.com| 超碰婷婷色| 9月色婷婷| 深爱激情丁香五月| 日本狠狠干| 亚洲综合在线播放| 久99热| a网站免费观看| 手机旧版看人妻1025| 五月天激情无码高清| av色色国产| 在线视频激情网站| 丁香婷婷啪啪啪| 亚洲六月婷婷| 骚逼视频一区2区| 狠狠色丁香久久综合婷婷亚洲成人福利 | 久久久欧美精品sm网站| 丁香五月六月激情| 色五月激情五月开心五月| 91互操| 亚洲婷婷六月天| 九九在线视频| 1024国产| 丁香五月天狠狠| 91美女艹逼网站| 99热精品综合| 爆乳熟妇一区二区三区爆乳| 丁香五月成人自拍| 色情五月天A片| 六月激情婷婷| 久久久久久久久久91| 激情五月天婷婷丁香| 亚洲综合五月天婷婷| 91在线视频综合| 开心激情网五月天| 丁香婷婷五月综合欧美另类| 天天添天天摸天天天天做| 六月99天天婷婷激情综合| 97自拍99| 日韩啊啊啊| 丁香五月激情欧美| 97干婷婷| 日韩精品超碰在线观看| 五月婷婷六月情| 色色五月综合| 99热综合| 91激情五月开心| 亚洲午夜一区二区| 亚洲黄色网址| 色五月婷婷啪啪五月| 国产免费性爱| 五月丁香婷婷中文网| 九九在线热九九在线热99热| 婷婷 激情 五月| 少妇性BBB搡BBB爽爽爽视頻| 五月丁香好婷婷姑娘综合网| 思思热在线观看| 色五月天综合| 色五月 婷婷, 大香蕉| 这里只有精品热| 国产欧美熟妇另类久久久| 久久久月丁香| 婷婷丁香五月在线观看91| 五月丁香婷中文| 99九九这里有免费视频| 婷婷中文字暮| 亚洲传媒在线观看| 丁香五月婷婷五月天| www.99热在线观看| 99热网站| 99在线观看视频蜜臀| 影音先锋美国A| 热久久视频99| 野外99热| 91碰| 久久这有这里精品| 狠狠噪| 亚洲色热| 夜夜涩涩涩| 波多婷婷久久| 久久婷婷亚洲| 九九大香蕉黄色影院| 五月开心久久| 日日干日日s| 亚洲综合欧美色丁香婷婷888月图片 | 少妇搡BBBB搡BBB搡毛茸茸 | 99热综合网| 99热在线观看| 这里只有久久精99| 国产操逼网站| 色情五月婷婷| 天天干天天爽天天爽| www.com任你艹| 天天操综合网| 狠狠va| 六月激情网| 九九婷婷综合| 丁香婷婷射| 1区2区视频| 天天搡日日搡aaaaⅩ| 五月色天五月色| 99re热在线观看| 无码人妻少妇色欲AV一区二区| 婷婷五月图片小说网| 激情五月天婷婷丁香| 九九人人操| 日日操人人操| 啪色综合| 风流少妇A片一区二区蜜桃| 五月天婷婷成人| 久鲁鲁色网| 久久免费试看120秒| 伊人五月天| 五月婷婷在线视频观看| 欧美美女国产日韩一区二区久| 99啪视频在线观看| 色综合久久久久| 天天日 天天草| 五月天天丁香婷婷在线中| 免费99色| 婷婷中文无码| 五月激情久久综合网| 人人玩人人橾| 日本色超碰| 一本大道伊人AV久久综合| 五月丁香久久综合| 亚洲 六月 综合| 五月丁香久久网| 色婷婷久久综| 九月性爱网| 欧美私人家庭影院| 大香蕉久艹| 久久这里都是精品| 俺去也在线视频| 亚洲精99| 婷婷五月天久久| 五月天伊人久久| 狠狠色综合网| 欧美日韩999| 国产精品美女| av操一操| 人人看人人草人人摸| 色婷久久| 99热丁香| 伊人五月天久久| 久久婷婷五月天| 精品久久这里热66| 97丁香五月| 婷婷亚洲影院| 婷婷久久五月天丁香| 婷婷狠狠狠爱| 久久久久9| 天天肏夜夜肏| 五月天婷婷基地综合网| www天天色天天射| 激情 婷婷 插| 六月婷婷天天操夜夜爽视频| 精品99在线看| 成人在线日韩欧美| 天色综合网| 五月婷久久综合| 色婷婷操逼网| 天堂网色婷婷| 色丁香五月婷婷综合久久| 亚洲av另类在线观看| 色色色色丁香| 婷婷五月天性色| 人人色人人弄人人操| 国产偷人爽久久久久久老妇APP| 香蕉狠狠爱视频| 五月婷婷之综合激情| 婷婷婷婷婷婷婷五月丁香| 亚洲AV网站| 在线另类| 五月丁香成人网| 五月天偷拍| 久草婷婷| 日本不卡高字幕在线2019| 色噜噜婷婷| 久久九九热视频| 五月婷婷啪啪| 中文字幕成人| 精品香蕉99久久久久网站| 五月婷婷综合在线亚洲视频| 亚洲愉拍99热成人精品| 五月综合人妻| 欧美碰碰碰| 超碰高清在线| 黄色毛片精品| 97影院一级片| 亚洲精品国产成人AV在线| 伊人九九九久| 午夜成人综合| 99久操| 综激情网| 开心 五月 综合| 九九热视频免费观看| 精品久久久人妻| yellow视频在线观看91| 香蕉人在线香蕉人在线 | Av九九| 超碰99久久| 午夜激情婷婷| 六月丁香啪啪| 97碰碰草| 欧美在线干| 伊人天天色| 夜夜操天天干| aaaa.黄| 五月天激情子轮| ri电影在线| 久久精品66| 久久五月综合| XX色综合| 丁香婷婷色五月| www.97视频| 亚洲乱码日产精品BD在线观看| 九色成人AV在线| 国产成人AV在线播放| 五月欧美色播| 夜夜操激情| 色女伊人| 五月婷婷无码| 99在线视频。| 久久婷婷五月丁香网| 狠狠狠狠狠狠狠狠草| 色五月婷婷网| 免费观看欧美成人AA片爱我多深| 99re6久热只有精品6在线直播| 五月天色色无码| 欧美视频五区| 亚洲国产精品成人va在线观看| 日日干日日| 国色天香成人网| 色色色色色五月丁香| 人人舔人人色人人高潮| 99小视频网站| 婷婷亚洲综合| 天堂久久性| 99热这里只有精品69| 青青草轻轻操| 丁香五月影| 日本欧美在线| 五月天综合在线观看| 狠狠色狠狠操| 国产成人精品亚洲线观看| 久人操| 开心五月激情五月丁香五月婷婷| 操人妻视频91| 熟女人妻一区二区三区免费看| 久人操| 九九热视频免费| 天天干 夜夜爽| 成人午夜天| 超碰成人免费| 日日操夜夜爽| 九九综合影音先锋| 日韩 中文 欧美| 久久五月综合| 日本熟妇乱妇熟色A片蜜桃| 99热爱爱干干日| 婷婷六月综合在线| 日日操,天天操| 婷婷五月天综合网| 1024国产| 久久婷婷五月天| 高清免费在线视频| 香蕉久久国产AV一区二区| 丁香婷婷色五月激情综合| 色色色9| 久久精品99| 五月久久婷婷天堂视频| 黑人糟蹋人妻HD中文字幕| 再綫Av免费視品| 九久9精品| 98永久精品| 五月婷婷久| 成AV人片一区二区三区久久| 久操热线| 九九精品在线观看视频6| 另类亚洲电影| 操你av| 91九色PORNY肉丝在线| 亚洲丁香五月美女| 丁香五月婷婷激情尤物| 美欧成人视频| 久久 天天| 九热视频精品|