99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

I2C總線從開漏物理層到RTL實(shí)現(xiàn):一周攻堅(jiān)與避坑指南

I2C總線從開漏物理層到RTL實(shí)現(xiàn):一周攻堅(jiān)與避坑指南 1. 為什么I2C值得花一周時(shí)間徹底吃透很多人第一次接觸I2C覺得它簡(jiǎn)單——兩根線一根時(shí)鐘一根數(shù)據(jù)掛幾個(gè)從設(shè)備寫個(gè)時(shí)序就能跑。但真正做過(guò)項(xiàng)目的人都知道I2C是那種“入門五分鐘精通五年”的協(xié)議。你隨便找個(gè)做過(guò)嵌入式或者FPGA的工程師問(wèn)問(wèn)十有八九都踩過(guò)I2C的坑上拉電阻選大了波形爬不上去選小了功耗又扛不住多主設(shè)備搶總線的時(shí)候仲裁丟了數(shù)據(jù)從設(shè)備時(shí)鐘拉伸把主設(shè)備拖死PCB走線稍微長(zhǎng)一點(diǎn)就開始出現(xiàn)莫名其妙的NACK。我自己第一次用Verilog寫I2C控制器的時(shí)候覺得不就是個(gè)狀態(tài)機(jī)嘛結(jié)果調(diào)了整整三天波形抓了幾十張最后發(fā)現(xiàn)是開漏輸出沒(méi)配對(duì)SDA線根本沒(méi)有被真正釋放。從那以后我就下定決心把I2C從物理層到協(xié)議層到RTL實(shí)現(xiàn)全部捋一遍。這篇文章就是那次“一周攻堅(jiān)”的完整總結(jié)我會(huì)把開漏物理層的電氣原理、多主仲裁的逐位競(jìng)爭(zhēng)機(jī)制、RTL狀態(tài)機(jī)的設(shè)計(jì)思路、以及實(shí)際調(diào)試中遇到的各種坑全部攤開來(lái)講。不管你是剛學(xué)Verilog的學(xué)生還是正在做項(xiàng)目的嵌入式工程師或者是在調(diào)試I2C總線的硬件工程師這篇內(nèi)容都能幫你把I2C的底層邏輯徹底搞清楚。我不會(huì)只給你講“怎么做”還會(huì)告訴你“為什么必須這么做”——因?yàn)镮2C的很多設(shè)計(jì)決策背后都有非常實(shí)際的電氣和邏輯考量。2. 開漏物理層兩根線背后的電氣博弈2.1 開漏輸出的本質(zhì)為什么不能用推挽I2C最容易被忽視的就是物理層。很多人寫代碼的時(shí)候只關(guān)心時(shí)序覺得電平翻轉(zhuǎn)就是0和1的事。但I(xiàn)2C的總線結(jié)構(gòu)決定了它必須用開漏輸出Open-Drain這不是隨便選的而是被總線共享的本質(zhì)需求逼出來(lái)的。先說(shuō)什么叫開漏。一個(gè)普通的CMOS推挽輸出內(nèi)部有上管和下管兩個(gè)MOSFET輸出高的時(shí)候上管導(dǎo)通接到VDD輸出低的時(shí)候下管導(dǎo)通接到GND。這種結(jié)構(gòu)輸出阻抗很低驅(qū)動(dòng)能力強(qiáng)但有一個(gè)致命問(wèn)題你絕對(duì)不能把兩個(gè)推挽輸出直接連在一起。如果一個(gè)設(shè)備輸出高、另一個(gè)輸出低那就是VDD直接短路到GND瞬間大電流燒毀器件。I2C總線上掛多個(gè)設(shè)備每個(gè)設(shè)備的SDA和SCL都連在同一條線上。如果用推挽輸出只要有兩個(gè)設(shè)備同時(shí)想輸出不同電平總線就短路了。所以I2C規(guī)定所有設(shè)備的輸出級(jí)只能是開漏結(jié)構(gòu)——只能主動(dòng)拉低不能主動(dòng)拉高。輸出高的時(shí)候MOS管截止引腳呈高阻態(tài)相當(dāng)于“放手”輸出低的時(shí)候MOS管導(dǎo)通把線拉到GND。那高電平從哪來(lái)靠上拉電阻??偩€上的上拉電阻把線拉到VDD當(dāng)所有設(shè)備都“放手”的時(shí)候線就是高電平。任何一個(gè)設(shè)備拉低線就是低電平。這就實(shí)現(xiàn)了“線與”邏輯只要有一個(gè)設(shè)備拉低總線就是低。注意開漏輸出配合上拉電阻本質(zhì)上實(shí)現(xiàn)的是一種“分布式與邏輯”。總線的狀態(tài)是所有設(shè)備輸出的邏輯與——全1才是1有0就是0。這個(gè)特性是多主仲裁的物理基礎(chǔ)。2.2 上拉電阻的計(jì)算不是隨便選個(gè)4.7K就行上拉電阻的選擇是I2C硬件設(shè)計(jì)中最容易出問(wèn)題的地方。很多人抄別人的原理圖看到4.7K就跟著用結(jié)果換個(gè)場(chǎng)景就不通信了。上拉電阻的取值需要同時(shí)滿足兩個(gè)條件上升時(shí)間夠快和低電平電流不超標(biāo)。先說(shuō)上升時(shí)間。I2C總線的上升沿不是理想的階躍而是通過(guò)上拉電阻給總線電容充電的RC曲線??偩€電容來(lái)自PCB走線、引腳寄生電容、連接器等典型值在10pF到400pF之間。I2C標(biāo)準(zhǔn)規(guī)定標(biāo)準(zhǔn)模式100kHz上升時(shí)間不超過(guò)1000ns快速模式400kHz不超過(guò)300ns快速模式1MHz不超過(guò)120ns。上升時(shí)間的計(jì)算公式是tr ≈ 0.847 × R × C其中R是上拉電阻C是總線電容。假設(shè)總線電容是200pF快速模式要求tr ≤ 300ns那么R ≤ 300ns / (0.847 × 200pF) ≈ 1.77kΩ也就是說(shuō)400kHz下200pF總線電容時(shí)上拉電阻不能超過(guò)1.77K。如果你用了4.7K上升時(shí)間會(huì)變成tr 0.847 × 4700 × 200p 796ns這已經(jīng)超過(guò)了快速模式的300ns限制波形會(huì)變得很“圓”在高速下可能被誤判。再說(shuō)低電平電流。當(dāng)設(shè)備拉低總線時(shí)上拉電阻上的電流會(huì)灌入設(shè)備的開漏MOS管。I2C標(biāo)準(zhǔn)規(guī)定標(biāo)準(zhǔn)模式和快速模式下VOL低電平輸出電壓最大0.4V灌電流最大3mA。計(jì)算最小電阻R ≥ (VDD - VOL) / IOL (3.3V - 0.4V) / 3mA ≈ 967Ω所以上拉電阻的合理范圍是1K到1.7K對(duì)于3.3V、200pF、400kHz的場(chǎng)景。但實(shí)際中還要考慮功耗如果總線上有多個(gè)設(shè)備同時(shí)拉低電流會(huì)疊加嗎不會(huì)因?yàn)殚_漏是線與電流只走一條路徑。但每個(gè)設(shè)備拉低時(shí)電流都會(huì)流過(guò)自己的MOS管所以每個(gè)設(shè)備的灌電流能力都要滿足。參數(shù)標(biāo)準(zhǔn)模式100kHz快速模式400kHz快速模式1MHz最大上升時(shí)間1000ns300ns120ns最大總線電容400pF400pF550pF典型上拉電阻3.3V4.7K-10K1K-2.2K680Ω-1K最大灌電流3mA3mA3mA實(shí)操心得如果你不確定總線電容可以用示波器測(cè)上升時(shí)間然后反推電容。方法是在總線上加一個(gè)已知電阻測(cè)上升時(shí)間用tr0.847RC算出C再根據(jù)目標(biāo)上升時(shí)間選R。我試過(guò)幾次比盲猜靠譜得多。2.3 上拉電阻小了不通信可能是這個(gè)原因熱搜詞里有個(gè)“i2c上拉電阻小了不通信”這個(gè)現(xiàn)象很典型。上拉電阻太小比如用了100Ω會(huì)出現(xiàn)什么問(wèn)題第一功耗暴增。3.3V除以100Ω等于33mA這已經(jīng)超過(guò)了大多數(shù)I2C設(shè)備的灌電流能力。設(shè)備拉低時(shí)MOS管可能進(jìn)入線性區(qū)VOL升高導(dǎo)致低電平被誤判為高電平。第二多個(gè)設(shè)備同時(shí)拉低時(shí)電流分配不均。雖然理論上電流只走一條路徑但實(shí)際PCB上如果有多個(gè)設(shè)備同時(shí)拉低每個(gè)設(shè)備的MOS管都會(huì)導(dǎo)通電流會(huì)從VDD經(jīng)過(guò)上拉電阻然后分流到各個(gè)設(shè)備的MOS管。如果某個(gè)設(shè)備的導(dǎo)通電阻較大它分到的電流小VOL可能正常但如果某個(gè)設(shè)備導(dǎo)通電阻小它分到的電流大可能過(guò)熱。第三上升時(shí)間確實(shí)快了但下降時(shí)間可能變慢。因?yàn)殚_漏輸出的下降沿是MOS管放電如果總線電容大放電時(shí)間常數(shù)是Rds_on × CRds_on通常很小幾十歐姆所以下降沿很快。但上拉電阻太小會(huì)導(dǎo)致低電平時(shí)的靜態(tài)電流很大對(duì)電池供電的設(shè)備很不友好。所以上拉電阻不是越小越好要綜合上升時(shí)間、灌電流、功耗三個(gè)因素。我一般會(huì)先用1.5K到2.2K試如果波形不好再調(diào)整。3. 多主仲裁逐位競(jìng)爭(zhēng)的藝術(shù)3.1 仲裁的物理基礎(chǔ)線與邏輯的天然優(yōu)勢(shì)多主仲裁是I2C最精妙的設(shè)計(jì)之一。它不需要額外的仲裁線不需要復(fù)雜的協(xié)議只靠開漏的線與特性就能實(shí)現(xiàn)。原理很簡(jiǎn)單所有主設(shè)備在發(fā)送數(shù)據(jù)的同時(shí)也在監(jiān)聽總線上的實(shí)際電平。如果自己發(fā)的是1但總線上是0說(shuō)明有別的設(shè)備在拉低自己就輸了立刻退出。這個(gè)過(guò)程是逐位進(jìn)行的。假設(shè)兩個(gè)主設(shè)備A和B同時(shí)開始傳輸它們都發(fā)送起始條件然后發(fā)送地址。在每一個(gè)時(shí)鐘周期它們都把自己的SDA輸出和總線上的SDA比較。只要有一位不一致輸?shù)哪莻€(gè)就退出。舉個(gè)例子A發(fā)送地址0x50二進(jìn)制1010000B發(fā)送地址0x52二進(jìn)制1010010。前六位都一樣第七位A發(fā)0B發(fā)1。A拉低SDAB放手??偩€上是0B讀到0發(fā)現(xiàn)自己發(fā)的是1但總線是0B就輸了退出仲裁。A繼續(xù)傳輸完全不知道曾經(jīng)有競(jìng)爭(zhēng)。這種仲裁機(jī)制的好處是不需要重傳不需要等待輸?shù)脑O(shè)備自動(dòng)變成從設(shè)備或者等待下一次總線空閑。而且仲裁是在數(shù)據(jù)位級(jí)別進(jìn)行的不會(huì)浪費(fèi)總線時(shí)間。注意仲裁只能發(fā)生在主設(shè)備發(fā)送地址或數(shù)據(jù)階段。如果兩個(gè)主設(shè)備發(fā)送的數(shù)據(jù)完全一樣它們會(huì)一直競(jìng)爭(zhēng)到最后一個(gè)位然后其中一個(gè)發(fā)送停止條件另一個(gè)繼續(xù)。但這種情況很少見因?yàn)榈刂吠ǔ2煌?.2 時(shí)鐘同步慢設(shè)備如何拖住快設(shè)備多主仲裁還有一個(gè)關(guān)鍵機(jī)制時(shí)鐘同步。I2C的SCL線也是開漏的所有主設(shè)備都可以拉低SCL。當(dāng)多個(gè)主設(shè)備同時(shí)傳輸時(shí)它們的時(shí)鐘周期可能不同。I2C規(guī)定SCL的低電平周期由所有主設(shè)備中最長(zhǎng)的那個(gè)決定高電平周期由最短的那個(gè)決定。具體來(lái)說(shuō)每個(gè)主設(shè)備在拉低SCL后會(huì)開始計(jì)時(shí)自己的低電平周期。如果某個(gè)主設(shè)備的低電平周期還沒(méi)結(jié)束它會(huì)繼續(xù)拉低SCL。其他主設(shè)備看到SCL還是低就會(huì)等待。所以最終SCL的低電平時(shí)間是所有主設(shè)備低電平周期的最大值。高電平周期則相反每個(gè)主設(shè)備釋放SCL后上拉電阻把線拉高。但如果有主設(shè)備還沒(méi)釋放線就是低。所以高電平時(shí)間是所有主設(shè)備高電平周期的最小值。這種機(jī)制保證了慢速設(shè)備不會(huì)被快速設(shè)備“帶偏”整個(gè)總線的時(shí)鐘頻率由最慢的設(shè)備決定。這也是為什么I2C總線上可以混掛不同速度的設(shè)備——只要它們都支持標(biāo)準(zhǔn)模式就能一起工作。3.3 仲裁丟失后的處理從主到從的切換當(dāng)一個(gè)主設(shè)備在仲裁中失敗時(shí)它必須立刻做三件事停止拉低SDA和SCL把自己的輸出級(jí)切換到高阻態(tài)完全釋放總線。切換到從設(shè)備模式開始監(jiān)聽總線上的地址。如果贏的那個(gè)主設(shè)備發(fā)送的地址正好是自己的地址它就要響應(yīng)。等待下一次總線空閑如果它還想發(fā)起傳輸必須等到當(dāng)前傳輸結(jié)束停止條件出現(xiàn)后再重新發(fā)起起始條件。這個(gè)過(guò)程在RTL實(shí)現(xiàn)中需要特別小心。很多初學(xué)者寫的I2C控制器在仲裁丟失后沒(méi)有正確釋放總線導(dǎo)致總線被卡死。正確的做法是在仲裁丟失的那一刻立刻把SDA和SCL的輸出使能拉低同時(shí)把狀態(tài)機(jī)切換到從設(shè)備接收狀態(tài)。實(shí)操心得仲裁丟失是正?,F(xiàn)象不是錯(cuò)誤。你的控制器必須能正確處理仲裁丟失并且在丟失后能夠重新發(fā)起傳輸。我建議在RTL中加一個(gè)仲裁丟失計(jì)數(shù)器如果連續(xù)丟失超過(guò)一定次數(shù)就主動(dòng)降低優(yōu)先級(jí)或者等待更長(zhǎng)時(shí)間再試。4. RTL實(shí)現(xiàn)從狀態(tài)機(jī)到Verilog代碼4.1 狀態(tài)機(jī)設(shè)計(jì)主從一體的架構(gòu)用Verilog寫I2C控制器最核心的是狀態(tài)機(jī)設(shè)計(jì)。我推薦用主從一體的架構(gòu)因?yàn)镮2C設(shè)備經(jīng)常需要在主從之間切換。狀態(tài)機(jī)可以分成幾個(gè)主要狀態(tài)IDLE總線空閑等待啟動(dòng)條件。START發(fā)送起始條件SDA在SCL高時(shí)從高變低。ADDR發(fā)送7位地址加1位讀寫位。ACK1接收從設(shè)備的應(yīng)答。DATA_TX發(fā)送數(shù)據(jù)字節(jié)。ACK2接收從設(shè)備的應(yīng)答。DATA_RX接收數(shù)據(jù)字節(jié)。ACK3發(fā)送應(yīng)答或非應(yīng)答。STOP發(fā)送停止條件SDA在SCL高時(shí)從低變高。每個(gè)狀態(tài)都需要一個(gè)位計(jì)數(shù)器來(lái)跟蹤當(dāng)前發(fā)送或接收到了第幾位。I2C的時(shí)序要求SDA在SCL低電平時(shí)變化在SCL高電平時(shí)保持穩(wěn)定。所以狀態(tài)機(jī)的輸出更新應(yīng)該發(fā)生在SCL低電平期間。// 簡(jiǎn)化的I2C主設(shè)備狀態(tài)機(jī)片段 localparam IDLE 3d0; localparam START 3d1; localparam ADDR 3d2; localparam ACK1 3d3; localparam DATA_TX 3d4; localparam ACK2 3d5; localparam DATA_RX 3d6; localparam ACK3 3d7; localparam STOP 3d8; reg [2:0] state, next_state; reg [2:0] bit_cnt; reg sda_out, scl_out; reg sda_oe, scl_oe; // 輸出使能1為拉低0為高阻 // SDA和SCL的三態(tài)輸出 assign sda sda_oe ? sda_out : 1bz; assign scl scl_oe ? scl_out : 1bz;注意這里的sda_oe和scl_oe是輸出使能信號(hào)。當(dāng)oe1時(shí)輸出out的值當(dāng)oe0時(shí)輸出高阻。這就是開漏輸出的RTL實(shí)現(xiàn)方式。4.2 時(shí)鐘分頻與時(shí)序參數(shù)I2C的時(shí)鐘頻率由SCL決定。標(biāo)準(zhǔn)模式100kHz快速模式400kHz。在FPGA中系統(tǒng)時(shí)鐘通常是50MHz或100MHz需要分頻得到SCL。分頻系數(shù)的計(jì)算假設(shè)系統(tǒng)時(shí)鐘50MHz目標(biāo)SCL 400kHz那么分頻系數(shù) 50MHz / 400kHz 125。但I(xiàn)2C的SCL不是50%占空比而是低電平時(shí)間可能比高電平時(shí)間長(zhǎng)。標(biāo)準(zhǔn)規(guī)定標(biāo)準(zhǔn)模式下低電平至少4.7us高電平至少4.0us快速模式下低電平至少1.3us高電平至少0.6us。所以分頻器需要分別控制高電平和低電平的計(jì)數(shù)。我一般用兩個(gè)計(jì)數(shù)器一個(gè)計(jì)數(shù)高電平周期一個(gè)計(jì)數(shù)低電平周期。這樣可以根據(jù)需要調(diào)整占空比。// 時(shí)鐘分頻器 reg [15:0] clk_cnt; reg scl_r; localparam HIGH_CNT 16d60; // 高電平計(jì)數(shù) localparam LOW_CNT 16d65; // 低電平計(jì)數(shù) always (posedge clk or negedge rst_n) begin if (!rst_n) begin clk_cnt 0; scl_r 1; end else begin if (clk_cnt (scl_r ? HIGH_CNT : LOW_CNT)) begin clk_cnt clk_cnt 1; end else begin clk_cnt 0; scl_r ~scl_r; end end end注意SCL的高電平時(shí)間不能太短否則從設(shè)備可能來(lái)不及采樣??焖倌J较赂唠娖街辽?.6us對(duì)應(yīng)50MHz時(shí)鐘是30個(gè)周期。我一般會(huì)留一些余量用35到40個(gè)周期。4.3 仲裁丟失檢測(cè)的RTL實(shí)現(xiàn)仲裁丟失檢測(cè)是主設(shè)備必須實(shí)現(xiàn)的功能。原理很簡(jiǎn)單在每個(gè)SCL高電平期間比較自己輸出的SDA和實(shí)際讀回的SDA。如果自己輸出1但讀回0說(shuō)明仲裁丟失。// 仲裁丟失檢測(cè) reg arb_lost; always (posedge clk or negedge rst_n) begin if (!rst_n) begin arb_lost 0; end else if (state ADDR || state DATA_TX) begin if (scl_r sda_oe sda_out !sda_in) begin arb_lost 1; end end else begin arb_lost 0; end end當(dāng)arb_lost置位時(shí)狀態(tài)機(jī)應(yīng)該立刻切換到從設(shè)備接收模式釋放SDA和SCL并等待當(dāng)前傳輸結(jié)束。4.4 從設(shè)備時(shí)鐘拉伸的處理從設(shè)備時(shí)鐘拉伸是指從設(shè)備在需要更多時(shí)間處理數(shù)據(jù)時(shí)主動(dòng)拉低SCL。主設(shè)備必須檢測(cè)到SCL被拉低并等待SCL釋放后再繼續(xù)。在RTL中主設(shè)備在每個(gè)SCL高電平期間應(yīng)該檢測(cè)SCL是否真的被上拉電阻拉高了。如果SCL還是低說(shuō)明從設(shè)備在拉伸時(shí)鐘主設(shè)備應(yīng)該保持等待。// 時(shí)鐘拉伸檢測(cè) reg scl_stretch; always (posedge clk or negedge rst_n) begin if (!rst_n) begin scl_stretch 0; end else if (scl_oe scl_out !scl_in) begin scl_stretch 1; end else if (!scl_oe scl_in) begin scl_stretch 0; end end當(dāng)scl_stretch為1時(shí)主設(shè)備的時(shí)鐘計(jì)數(shù)器應(yīng)該暫停直到SCL真正變高。5. 常見問(wèn)題與排查技巧實(shí)錄5.1 波形分析邏輯分析儀怎么抓I2C邏輯分析儀是調(diào)試I2C的必備工具。抓I2C波形時(shí)要注意幾個(gè)關(guān)鍵點(diǎn)觸發(fā)條件設(shè)置起始條件觸發(fā)SDA在SCL高時(shí)從高變低。采樣率至少是SCL頻率的10倍。400kHz的SCL采樣率至少4MHz建議10MHz以上。解碼設(shè)置大多數(shù)邏輯分析儀都有I2C解碼功能設(shè)置好地址位寬7位或10位和讀寫位。抓到的波形要重點(diǎn)看幾個(gè)地方起始條件是否干凈地址和數(shù)據(jù)的建立保持時(shí)間是否滿足ACK位是否正確拉低停止條件是否正常。5.2 常見問(wèn)題速查表現(xiàn)象可能原因排查方法解決方案總線一直低某個(gè)設(shè)備拉死SDA或SCL逐個(gè)斷開設(shè)備測(cè)電平找到故障設(shè)備檢查其開漏輸出起始條件后無(wú)ACK從設(shè)備地址不對(duì)用邏輯分析儀解碼地址核對(duì)從設(shè)備數(shù)據(jù)手冊(cè)的地址波形上升沿太慢上拉電阻太大或總線電容太大測(cè)上升時(shí)間算RC減小上拉電阻或減少總線負(fù)載多主仲裁頻繁丟失多個(gè)主設(shè)備同時(shí)發(fā)起傳輸觀察仲裁丟失時(shí)的波形加軟件退避策略錯(cuò)開發(fā)起時(shí)間從設(shè)備時(shí)鐘拉伸導(dǎo)致超時(shí)從設(shè)備處理慢測(cè)SCL低電平時(shí)間增加主設(shè)備超時(shí)時(shí)間或降低SCL頻率數(shù)據(jù)位錯(cuò)誤建立保持時(shí)間不足測(cè)SDA和SCL的相位關(guān)系調(diào)整RTL中SDA的變化時(shí)刻5.3 獨(dú)家避坑技巧技巧一上拉電阻并聯(lián)加速。如果上升沿太慢可以在上拉電阻上并聯(lián)一個(gè)二極管和一個(gè)小電阻。二極管方向是從總線到VDD這樣上升時(shí)二極管導(dǎo)通小電阻加速充電下降時(shí)二極管截止只有原上拉電阻工作功耗不增加。這個(gè)方法我實(shí)測(cè)有效但要注意二極管的結(jié)電容。技巧二總線電容估算。沒(méi)有示波器的時(shí)候可以用萬(wàn)用表測(cè)總線對(duì)地電容。方法是在總線上加一個(gè)已知頻率的方波測(cè)電流用I C × dV/dt反推C。雖然不太準(zhǔn)但能估個(gè)大概。技巧三仲裁丟失后不要立刻重試。仲裁丟失后立刻重試很可能再次丟失。我一般會(huì)加一個(gè)隨機(jī)退避時(shí)間比如等待總線空閑后再等幾個(gè)微秒錯(cuò)開競(jìng)爭(zhēng)窗口。技巧四用GPIO模擬I2C調(diào)試。在正式寫RTL之前可以先用FPGA的GPIO模擬I2C時(shí)序手動(dòng)控制SDA和SCL觀察從設(shè)備的反應(yīng)。這樣能快速驗(yàn)證硬件連接和從設(shè)備地址比直接寫RTL調(diào)試快得多。技巧五注意電源域。如果I2C總線上有不同電源域的設(shè)備比如3.3V和1.8V混掛需要用電平轉(zhuǎn)換器。電平轉(zhuǎn)換器的選擇要注意方向性和速率有些轉(zhuǎn)換器不支持開漏輸出會(huì)導(dǎo)致總線無(wú)法拉低。6. 從協(xié)議到實(shí)踐一個(gè)完整的I2C讀寫EEPROM案例6.1 EEPROM的I2C時(shí)序特點(diǎn)以常見的24C02 EEPROM為例它的I2C時(shí)序有幾個(gè)特點(diǎn)設(shè)備地址是1010xxx其中xxx由A2A1A0引腳決定寫操作需要發(fā)送設(shè)備地址、字地址、數(shù)據(jù)讀操作需要先寫設(shè)備地址和字地址然后重新發(fā)起起始條件發(fā)送讀地址再讀數(shù)據(jù)。寫操作的時(shí)序起始條件 → 設(shè)備地址寫位 → ACK → 字地址 → ACK → 數(shù)據(jù) → ACK → 停止條件。注意EEPROM在收到停止條件后才會(huì)開始內(nèi)部寫周期期間不響應(yīng)任何請(qǐng)求主設(shè)備需要等待5ms左右。讀操作的時(shí)序起始條件 → 設(shè)備地址寫位 → ACK → 字地址 → ACK → 起始條件 → 設(shè)備地址讀位 → ACK → 數(shù)據(jù) → NACK → 停止條件。6.2 Verilog實(shí)現(xiàn)的關(guān)鍵片段// EEPROM寫操作狀態(tài)機(jī)片段 localparam WR_IDLE 4d0; localparam WR_START 4d1; localparam WR_ADDR 4d2; localparam WR_ACK1 4d3; localparam WR_WORD 4d4; localparam WR_ACK2 4d5; localparam WR_DATA 4d6; localparam WR_ACK3 4d7; localparam WR_STOP 4d8; localparam WR_WAIT 4d9; // 寫操作流程 always (posedge clk or negedge rst_n) begin if (!rst_n) begin state WR_IDLE; end else begin case (state) WR_IDLE: if (start) state WR_START; WR_START: state WR_ADDR; WR_ADDR: if (bit_cnt 7) state WR_ACK1; WR_ACK1: if (sda_in 0) state WR_WORD; // 收到ACK WR_WORD: if (bit_cnt 7) state WR_ACK2; WR_ACK2: if (sda_in 0) state WR_DATA; WR_DATA: if (bit_cnt 7) state WR_ACK3; WR_ACK3: if (sda_in 0) state WR_STOP; WR_STOP: state WR_WAIT; WR_WAIT: if (wait_cnt 50000) state WR_IDLE; // 等待5ms endcase end end6.3 實(shí)測(cè)波形與調(diào)試記錄我第一次調(diào)EEPROM的時(shí)候?qū)懖僮饕恢辈怀晒壿嫹治鰞x顯示地址和數(shù)據(jù)的ACK都正常但停止條件后EEPROM就是不響應(yīng)。后來(lái)發(fā)現(xiàn)是等待時(shí)間不夠24C02的內(nèi)部寫周期最大5ms我只等了1ms。改成5ms后一切正常。還有一次讀操作時(shí)第一個(gè)字節(jié)讀出來(lái)總是0xFF。查了半天發(fā)現(xiàn)是重新發(fā)起起始條件的時(shí)候SDA釋放得太早導(dǎo)致從設(shè)備誤判為停止條件。正確的做法是在SCL高電平期間先拉低SDA然后再拉低SCL這樣才能形成重復(fù)起始條件。實(shí)操心得EEPROM的寫周期等待時(shí)間一定要留足余量。數(shù)據(jù)手冊(cè)上寫5ms實(shí)際可能更長(zhǎng)尤其是老化的芯片。我一般等6ms寧可慢一點(diǎn)也不要出錯(cuò)。7. 進(jìn)階話題I2C與其他協(xié)議的對(duì)比與選型7.1 I2C vs SPI vs UART特性I2CSPIUART線數(shù)242速度100k-3.4M1M-100M通常1M多設(shè)備支持地址尋址支持片選不支持點(diǎn)對(duì)點(diǎn)時(shí)鐘同步同步異步仲裁支持不支持不支持開銷地址ACK無(wú)起始停止位I2C的優(yōu)勢(shì)在于線少、支持多設(shè)備、有仲裁機(jī)制。劣勢(shì)是速度相對(duì)慢上拉電阻和總線電容限制了傳輸距離。SPI速度快但線多每個(gè)設(shè)備需要單獨(dú)的片選。UART簡(jiǎn)單但只能點(diǎn)對(duì)點(diǎn)。7.2 PMBus與I2C的區(qū)別PMBus是建立在I2C物理層之上的協(xié)議主要用于電源管理。它的物理層和I2C完全一樣但協(xié)議層增加了特定的命令集和故障處理機(jī)制。PMBus的時(shí)鐘頻率通常固定為100kHz或400kHz支持PEC包錯(cuò)誤校驗(yàn)。如果你做電源管理PMBus比裸I2C更方便因?yàn)槊罴菢?biāo)準(zhǔn)化的。7.3 I2C擴(kuò)展多路復(fù)用和電平轉(zhuǎn)換當(dāng)總線上設(shè)備太多地址沖突或者電容太大時(shí)可以用I2C多路復(fù)用器如TCA9548A把總線分成多路。每路有獨(dú)立的電容和地址空間主設(shè)備通過(guò)寫多路復(fù)用器的控制寄存器來(lái)選擇當(dāng)前通道。電平轉(zhuǎn)換方面如果3.3V和1.8V設(shè)備混掛可以用專用的I2C電平轉(zhuǎn)換器如PCA9306它支持開漏輸出和雙向傳輸。注意不要用普通的推挽電平轉(zhuǎn)換器會(huì)破壞I2C的線與邏輯。8. 我踩過(guò)的那些坑和最后的建議調(diào)I2C的這幾年我踩過(guò)的坑真的不少。有一次是上拉電阻用了10K100kHz下勉強(qiáng)能跑換成400kHz就完全不行波形圓得像個(gè)饅頭。還有一次是多個(gè)主設(shè)備競(jìng)爭(zhēng)仲裁丟失后我的控制器沒(méi)有正確釋放總線導(dǎo)致整個(gè)總線死鎖所有設(shè)備都不通信。最慘的一次是PCB上SDA和SCL走線太長(zhǎng)沒(méi)有做阻抗匹配反射導(dǎo)致數(shù)據(jù)錯(cuò)誤查了兩天才發(fā)現(xiàn)是走線問(wèn)題。如果讓我給正在學(xué)I2C的人一個(gè)建議那就是不要只寫代碼一定要抓波形。I2C的問(wèn)題90%都能從波形上看出來(lái)。上升沿太慢、建立保持時(shí)間不夠、ACK位不對(duì)、仲裁丟失這些在波形上都一目了然。邏輯分析儀不貴幾百塊就能買一個(gè)但能幫你省下幾十個(gè)小時(shí)的調(diào)試時(shí)間。另外RTL實(shí)現(xiàn)的時(shí)候一定要把仲裁丟失和時(shí)鐘拉伸這兩個(gè)功能做進(jìn)去。很多開源I2C控制器為了簡(jiǎn)化把這兩個(gè)功能省了結(jié)果在多主或者慢速?gòu)脑O(shè)備的場(chǎng)景下直接歇菜。這兩個(gè)功能不難但能決定你的控制器能不能用在真實(shí)項(xiàng)目里。最后再分享一個(gè)小技巧如果你不確定從設(shè)備的地址可以用邏輯分析儀抓一次成功的通信直接看地址字節(jié)。比翻數(shù)據(jù)手冊(cè)快得多而且不會(huì)出錯(cuò)。我現(xiàn)在的習(xí)慣是拿到任何I2C設(shè)備先抓波形確認(rèn)地址和時(shí)序然后再寫代碼。這個(gè)習(xí)慣幫我省了無(wú)數(shù)次返工。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
开心激情综合| 色婷婷五月六月丁香综合视频| 天天日天天干天天天| 激情又色又爽又黄的A片| 99热99网| 精品无码av丁香五月激情| AV五月丁香| 色婷婷综合在线| 日日噜狠狠色| 91碰碰视频| 99热在线观看精品| 日日婷婷不卡| 91日精品| 色色五月天婷婷| 色爱99| 五月丁香啪啪啪| 六月色色| 六月激情网| 亚洲五月婷婷在线| 六月婷婷国产| 刘玥精品一区| 激情六月婷婷| 色五月激情视频在线综合| 日日天天干| 婷婷五月丁香综合激情小说| 大香蕉视频婷| 小视频一区 | 久久免片| 色色综合五月| 久久九九热视频| 不卡成人免费| 激情五月婷婷综合| 日本啪啪网| 狠狠色成人影片| AV操一操| 玖玖爱资源站| 色欲婷婷夜夜| 久久受www免费人成| 丁香六月色香蕉视频| 青草五月天| 色婷婷综合久久久久| 亚洲五月天激情| 丁香婷婷午夜| 日韩综合天堂| 九九热这里有精品23| 亚洲第一黄网| 久久99久久99精品免观看软件| 国产人妻777人伦精品HD| 五月综亚洲| 国产三级片91| 99在线精品视频免费| 成人一区在线观看| 超碰av在| 国产精品久久久久久久久久久久| 色色色色色色色色网站| 婷婷射综合| 天天综合中文| 牛牛碰免费| 丁香五月之久操视频| 久久婷网| 国产日韩欧美性爱| 五月丁香婷婷综合网色欲| 久久婷婷五月综合| av无码电影| 9久热精品在线视频| 日韩精品一区二区亚洲AV观看 | 狠狠五月激情在线| 天天情天天狠天天透| 五月天综合久久丁香91| 六月婷婷七月丁香| 91视频人人做97| 色青青电影色五月| 成人无码髙潮喷水A片| 五月天婷婷AV| 国产午夜精品AV一区二区麻豆| www,久久久| 婷婷五月色網站| 人妻五月天激情开心网| 996er在线观看| 无码动漫av| 香港九九六区八区99| 综合aV在线| 免费观看全黄做爰的视频| 色综合伊人网| 日日夜夜婷婷| 中文字幕在线免费| 久久99热这里只频精品6学生| 久久性视频| 欧美丁香五月97色| 中文激情网| 逼里香不卡| 日日爽日日| 思思热这里只有精品| 丁香五月五婷| 丁香五月开心婷婷| 亚洲色图五月丁香| co超碰在线观看| 激情五月天天| 成人免费视频一区| 久久精品99久久久久久| 婷婷色导航| 亚洲网在线观看| 区欧美日韩成人| 色色色9 9 9| 精品久久9| 五月丁香香蕉| 色五月激情五月丁香五月婷婷啪啪综合| 99re这里只有精品国产99| 五月色情婷婷| 在线A色| 色五月激情综合网站| 99精彩视频在线观看| 综合超碰熟| 五月丁香六月激情综合| 五月婷俺去也| 婷婷香五月综合激情| 99视频只有精品| 色八月婷婷| 成人丁香五月天| 亚洲色五月| a网站免费观看| 久久婷婷综合拍| 热99国产精品| 婷婷久久综合| www久| 色综合色色色色色| 操人妻AV| 色婷婷五月丁香在线观看| 9l视频自拍9l视频自拍九色学生| 极品五月天| tingtingjiqingwuyue| 激情图片婷婷丁香五月| 综合网色综合| 久久久精品色色色| 刘玥精品一区| 色色色图| 五月天激情网址| 精品久久艹| 日本乱子人伦在线视频| 夜夜夜叫天天天做| 亚洲欧美日韩VIP| 丁香伊人综合| 亚洲欧美在线观看| 99久久大片| 91九色PORNY大屁股| 日本成人噜噜噜噜噜| AV在线不卡播放| www。88热在线视频免费观看| 五月丁香色色网| 久久婷婷丁香五月一二三| 99re久久| 色五月婷婷天天操夜夜操| 欧洲综合一区| 99精品久久久久| 黄网免费看| 91超碰人人操| 俺也去在线视频 | 五月丁香六月色| 中文字幕在线资源| 婷婷草| 97久操视频| 大香蕉天堂| 天天做天天爱天天摸| 99热18| 91干网站| 99天堂网| 日韩av一区二区在线/日产精品久久久| 色欧美影院| AV 3P| 五月天开心网| 99热www.| 五月婷婷综合激情小说| α久久| 精品少妇人妻AV无码专区偷人| 色情·com| 99热青青草原| 国产干逼片| 这里只有精品视频一区| 操大屄五月天视频| 丁香色综合| 丁香五月婷婷高清| 色情五月天丁香社区| 色女人久久| 色五月综合| 精品99久久久久成人网站免费| 丁香五月天啪啪| 高清无码中文字幕aVDV| 五月天大香蕉视频| 激情AV| 天天综合干| 婷婷五月天最新网址| 婷婷五月激情中文字幕| 婷婷五月丁香av网站| 婷婷综合在线| 九色激情网| www.婷婷.com| 99在线观看视频蜜臀| 免费看欧美成人A片无码| 天堂草在线观| 欧美色99| 亚洲va久久久噜噜噜久久天堂| 五月天 无码| 丁香五月婷婷激情小说| 激情综合激情五月| 99热这里只有精品国产精品| 色偷偷五月天| 欧美在线干| 搡BBBB搡BBB搡18 | 色噜久| 超级碰碰91| 六月色日韩| 亚洲国产色色| 五月婷婷激情| 色日本颜射| 国产干逼片| www91久久| 琪琪理论片| 五月婷婷六月丁香在线视频| 99热超碰在线| 新激情综合| 99re这里只有精品9| 碰超在线九色| 99久久婷婷精品视频| 日狠狠| 激情五月丁香六月综合AVXXXX| 五月天狠狠干| 婷婷五月天色综合翘| 亚洲色碰| 天堂在线9| 激情五月婷婷她| 黑人糟蹋人妻HD中文字幕| 97色永久免费视频| 亚洲丁香五月天视频| 色婷五月天| 香蕉婷婷| 久久99久久久久久| 九月婷婷激情| www..999热久| 久热黄色| 久久婷婷六月综合| 99精彩视频| 久久香蕉网| 婷婷丁香五月天色色| 中文字幕在线观看视频www| 婷婷丁香在线| 密着浓厚中出乚交尾GvG935| 六月丁香婷婷综合影院| 日本久久99| 狠狠婷婷爱| 婷婷五月天BBw| 久久婷婷五月综合色丁香| 五月天日日操夜夜操| 99视频超级精品| 狠狠色婷婷六月激情网| 96精品久久久久久久久| 精品人妻伦九区久久AAA片| 91久女| 成人版视频在线观看| 天天天天天天天干| www.婷婷五月| 强壮公让我夜夜高潮A片视频| 禁片二区| 99色最新在线视频| 天天综合精品| 国产SUV精品一区二区883| 欧美在线视频9| 婷五月丁香俺| 夜色综合网| 思思热思在线精品视频| 五月婷婷综合丁香视频| 成人精品视频99在线观看免费 | 久久久久久天天日天天爱| 五月天另类图片| 99精品视频网站| wuyuedingxiang| 婷婷在线观看五月天在线视频| 久久九九思思| 九九99热精品| 亚洲综合网激情五月天| 亚洲综合婷婷| 第五色婷婷| 色五月婷婷基地| 五月丁香六月色情网欧美| www.久久婷婷| 黄色99热| 激情九色| 国产成人AV在线播放| 色婷婷操逼| 丁香五月天在线| 五月丁婷婷| 激情综合网激情五月网| 五月婷婷开心色伊人| 色婷婷中文字母五月丁香| 婷婷97| 六月婷欧美| 99久久精品国产色欲| av无码电影| 日本久久婷婷| AV 3P| 欧美激情综合| 超碰操日| 日本一级特黄大片AAAAA级| 色五月激情| 午夜天堂啪啪| 五月丁香啪啪网| 大香蕉久操| 99热这里| 天天综合五月天| XXXX岛国| 91超碰人人操| 婷婷五月丁香亚洲| 五月丁香天堂网| 丁香六月婷婷综合麻豆| 男人天堂99| A1片久久| www.色五月| 婷婷五月伦理网站| 91丨熟女丨首页| 国产精品成av人在线视午夜片| 五月天综合色| 婷婷五月天综合网| 激情五月四色| 六月丁AV| 综合网天天| 亚洲天堂有码| 性爱在线播放av| 尔尔AV一区| 99热国产| 日韩色色一区| 五月五丁香婷婷| 激情婷婷丁香五月天| 伊人综合网站| 97性视频| 婷婷五月天另类网站| 婷婷在线中文字幕| ...婷婷五月综合不卡,国产在线手机 | 少妇人妻综合色6699| 亚洲综合网激情五月天| 久久黄色网扯| 激情激情激情网| 五月丁香久人妻中文| 91人无码久久久久久| 91久久九九| 激情综合视频| 久久婷婷五月天丁香| 99精品国产在热久久| 九九99免费视频| 五月婷婷激情综合网| 色色色色热| 人人干av| 色欲久久久久久综合网综合网| 啄木鸟丝袜美女福利视频| www.色色色色| 五月综合色| 五月天婷婷小说| 九九九九综合| 在线成人va| 丁香五月天亚洲综合| 淫视馆aV二区一区| 激情五月综合色婷婷| 99色看这里只有精品| 人人综合五月人人婷婷| 极品另类| 天天日中文| 五月久久| 九九精品热| 婷婷中文字幕版| 六月婷婷视频| 岛囯综合激情网| 婷婷五月天综合久久日美女| 久热天堂| 五月亚洲激情| 婷婷久久综合| 久久婷婷五月综合啪| 九九色大香蕉| 天天日夜夜草进麻麻的子宫| 中文在线成人| 亚洲成人av在线观看| 思思久久99热| 丁香五月成人社区| 在线播放人妻| 婷五月天天| www,com,五月色色| 婷婷综合影院| 五月婷婷丁香俺日污视频| 日本色五月| 丁香五月激情综合婷综| 色天堂A| 丁香,开心成人,久久| 精品久久婷婷| 欧洲色| 激情文学综合婷婷五月天丁香花| 久草婷婷| 久久九九综合| 99在线er热| 九九色精品| 色99视| 高清不卡一区| 激情综合区| 婷婷久久色| 亚洲黄色操逼| 欧美va在线观看| 超碰在线免费9| 色婷婷丁香五月| 亚州第一A片| 激情网婷婷婷| 欧美日韩国产日本精品四虎网网站物| 天天爽天天摸人妻综合网| 97超级啪啪在线观看| 天天日日天天| 天啪天啪天啪天啪| 久久九九国产精品怡红院| 丁香五月黄色| www.婷婷| 黄页大全十八禁| 神马久久五月天| 婷婷五月天黄色| 亚洲一个色| 色偷偷AV亚洲男人的天堂| 久久这里只有精品07 | 婷婷五月天另类网站| 97性高潮久久久| 久热9| 丁香六月婷婷开心| 久久久精品免费啪啪国| 激情丁香婷婷| 久久久精品人妻录| 99re热精品视频国| 亚洲色区17| www.91.com黄| 天堂婷婷丁香六月网| 国产日韩av片| 婷婷丁香综合网| 国产三级片91| 狠狠搞五月天| 激情综合色婷婷啪啪六月天| 欧美婷婷| 五月天精品| 色99色| VA婷婷亚洲| 97人人射| www98日本小时间到了| 免费观看日韩成人av| 九月婷婷综合| 97福利视频| 九月丁香| 亚洲人妻av| 欧美色婷婷| 这里只有精彩视| 日本噜噜色网| 丁香五月 六月婷婷首页| 欧美日本VA| WWW.婷婷五月天.COM| 99色视频免费在线规看| 天天爽综合| 99热日本| 久久视频这里都是精品| 99热这里只有精品21| 婷婷在线免费| 密黄站| 五月婷婷av| 日本色天堂| av成人在线播放| 丁香五月婷婷基地| 久久性视频| 中文AV在线观看| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 久久综合影院| 国产激情综合| 久久久婷婷婷| 色婷婷综合网站| 五月激情婷婷开心五月| www.精品99| 亚洲色色图片| 五月综合激情视频| 人人色婷婷| 91九色国产熟女| 成人视频在线免费播放| 99久热| 婷婷九月色| av操逼网| 欧美三级欧美一级| 婷婷的五月天另类视频| 亚洲精品五月| 2025年最新亚洲在线欧美| 色久免费| 丁香五月综合婷婷| 在线不卡视频| 天天色凹凸| 亚洲成人av在线播放| 色婷婷狠狠干| site:feetmall.com| 日本婷婷| 99这里有精品视频| 91久久免费| 色欲天天综合网| 色天天久婷婷| 色五月丁香婷婷| 国产人妻777人伦精品HD| 九九草草逼| 激情视频网址| 丁香五月六月婷婷殴美综合| 99热国产精品| 九月丁香八月婷婷加勒比| 97视频.干com| 午夜微拍福利| 日韩黄黄| 久久人妻乱| 久久香蕉网| 亚洲综合欧美色丁香婷婷888月图片 | 精品99这里有| 五月天婷久精视频| 婷婷色色五月| 日本高清久| www.六月丁香看AV| 天天插天天插| 91视频久久久| 九九热思思热| 大香蕉伊人久久| 免费看片在线观看| 欧美va| 91超级碰| 色www.con| 日本激情五月| 五月婷婷片| 玖玖婷婷免费| 天天插夜夜爽| 亚洲天堂AAA| 国产综合婷婷| 啪啪色激情五月天| 欧洲综合色| 色欲久久久久| 国产XXXX搡XXXXX搡麻豆| 99碰碰中文| 色天天综合成人网| 91呦呦呦| 亚洲一区先锋影音| 午夜69成人做爰视频| 激情AV| 色五月婷婷基地| 99热精品网| 色色网五月激情| 婷婷丁香中文字幕| 天天色激情| 久久综合站| 丁香五月色五月婷婷宗合| 亚洲精品字幕在线观看| 五月六月丁香婷婷在线观看| 日本丁香五月| 色色综合网站| 能看的AV| 成人短视频免费| 五月天激情婷婷五月天久久| 天天色粽合合合合合合合| 99婷婷| www.zbzhongsen.com| 五月丁香综合啪啪啪啪啪| 五月丁香久久| 色情五月天A片| 超碰京东热av男人的天堂| 色女伊人| 婷婷五月天丁香激情| 九九在线精点品| 性爱网五月天| 任你草| 精品综合久久久久久五月天| 色婷婷激情五月天丁香| 久久五月婷婷丁香| 狠色综合网| 老师的粉嫩小又紧水又多A片视频| 五月丁香成人| 麻豆精品| 婷婷天天日婷婷| 婷婷在线五月天观看| 婷婷深爱五月| 狠狠爱婷婷爱| 福利视频在线播放| www,天天干| 色婷婷五月开心六月综合| www.久久| 天天做好综合色| 狠狠丁香| 综合久久首页| 91色久| 欧爱综合视频| 五月丁香婷婷啪啪综合| 狠狠操狠狠插| 亚洲色婷婷五月天| 五月青青草综合| 五月情涩综合婷婷| 九九热视频在线观看| 狠狠久综合| 伊人婷婷综合| 婷婷中文综合网| 91丁香五月| 五月婷婷五月丁香综合| AVV黄| 亚洲视频在线网站| 婷婷五月天久久| 五月婷婷九| 九九热a| 嘿嘿视频免费看9| 久久久婷婷婷| 婷婷五月天在线综合| 狠狠操天天操| 日本人人干| 丁香婷婷网| 五月天精品视频| 色婷婷国色天香综合| 中文网婷婷字幕婷| 久久婷综| 情欲综合网| 亚洲色碰| 五月丁香在线观看99| 国产精品日本一区二区在线播放| 五月婷婷影院| 九九热最新| 婷婷激情欧美| 五月天激情在线视频| 九月婷婷色色| 91中文狠狠综合| 五月婷婷啪啪| 色婷婷六月| 亚洲精品视频电影| 成人色五婷婷| 五月丁香六月激情视频| 久久综合天天综合| 五月色导航| 九九热中文| 高清成人综合| 成人在线综合| 欧洲S级在线观看| 9999热在线| 91操在线| 日本97在线观看| 99热精品综合| 26uuu国产精品| 五月综合在线婷婷图片| www.久久爱.c n| 天天插天天日天天爽| 六月色色| 欧美VA在线| 久久婷婷五月综合色天| 九九re精品视频在线观看| 日韩天堂久久| 26.uuu丁香五月婷婷| 男人天堂AV在线一区二区| 九九久热| 综合性爱网| 操碰97| 亚洲精品乱码久久久久久综合| 婷婷伊人五月天| 免费视频舔| 亚洲国产精品二二三三区| m色激情网| 久久天堂婷婷五月| 97色色网| 日本欧美成人片AAAA| 亚洲视频a| 久久激情四射| 香蕉婷婷色五月| 韩国天天婷婷| 婷婷色在线播放| 97人人射| 五月丁香香蕉| 激情五月婷婷伊人| 色五月婷婷大香蕉| 五月综合激情婷婷六月色窝| 婷婷五月婷婷| 午夜性爱影视一区77| 国产免费一区二区三州老师F1…… | 五月天激情小说欧美激情| 青青草原伊人网| 免费观看全黄做爰的视频| 性色天| 包操45分钟网站| 五月丁香婷婷啪啪综合| 91.www综合| 97福利视频| 99热这里只有精品86| 久久久性爱视频| 玖玖综合色区在线观看| 国产毛片欧美毛片久久久| 内射综合网| 五月婷婷自拍| 久久综合天天综合| 欧美五月丁香| 玖玖资源部在线播放| 先锋五月婷婷丁香草草| 九九综合五月欧美| 亚洲另类AV| 怎么样可以看免费的一级av| 色情综合| 第五色婷婷| 久热超碰91| 噜噜噜噜综合在线| 九九精品系列| 99日在线观看视频| 97精品综合久久内射| 色婷婷AV久久| 最新日韩久热免费视频看看| 色婷婷久久| 中文字幕AV网址| 五月天婷婷影院| 五月婷在线| 婷婷 丁香 精品| www.maotanji.com| 色情五月综合婷婷| 色欲一区二区三区精品A片| 九九这里有精品| www.99色| av婷婷丁香| 教师性爱毛片| 99久扒热| 色婷婷最爱五月| 五月丁香亚洲五月| 停停五月丁香| 99熟女| 成人综合网站| 天天搡日日搡aaaaⅩ| WWW99热| 久久久久婷婷五月热综合| 99热www.| 五月婷婷啪啪啪| 婷婷色网| 九九久久精品國產| 亚洲激情视频网| 色综合久久五月天| 99精品无码| 激情六月丁香| 九九九九九九九热| 天天噜日日噜综合无码| 五月丁香六月停停停| 91天堂网综合| 激情五月综合免费| 色九亚洲| 热婷婷av| 丁香六月激情综合网| 久草五月婷婷| 77777亚洲午夜久久| 婷婷97碰碰| 婷婷五月综合亚洲| 国产女18毛片多18精品| 4399在线日本A片| 色停停五月天| 婷婷五月天丁香综合网| 热99精品视频在线观看| 99热最新| 9999综合99综合人| 丁香六月天之亚州热女| 九月婷婷在线视频| 插插干干干色| 97精品综合| 五月婷婷视频啪啪美女| 天天色图| 九九热欧美| 久久色婷婷| 亚洲图色五月天| 天天橾日日橾夜夜橾17| 欧美69久成人做爰视频| 这里只有精品热| 91色久| 99成人网一区| 婷婷五月丁香基地| 久久久久8888| 99免费在线视频| 久久婷婷五月综合啪| 97在线视频 欧美| 99色色| 久久婷婷综合基地| 在线观看的av| 久久婷.com| 婷婷丁香五月天操逼| 五月天淫乱视频| 久热综合| 99热成人| 五月天伊人| 在线看片av| 婷婷五月丁香五月| 婷婷婷婷婷婷婷婷| 日本a片网址| 中文字幕婷婷9月天| 伊人色综合网| 丁香色五月天| 五月丁香六月停停| 色综合久久99色| 五月丁香婷婷啪啪| 深爱五月最新网址| 色婷婷丁香六月| 1024在线一区| 色五月婷婷基地| av性爱网站| 一起草无码视频| 九九九AAA热视频| 五月婷婷激情综合网| 99青青草| 天天肏屄夜夜爽| 中文字幕婷婷在线| 午夜成人片400| 婷婷色情网| 激情五月丁香综合网站 | 人妻操日日| 婷婷丁香综合网| 天天干天天操天天拍| 婷婷五月综合视频免费播放| 色色综合网站| 婷婷在线精品| 天堂网啪啪| 亚洲激情四射色| 免费无码毛片一区二区A片| 久久精品99国产精品日本| 人妻精品久久久久久| 色综合久久伊伊婷婷五月| 91综合在线| 超碰在线人人| 99视频久久| 久久9久| 9 1超碰九色| 东京热伊人| 97人妻碰碰中文无码久热丝袜| 亚洲av免费在线| 九色91国产| 日本久久性| 亚洲激情亚洲激情| 天天日夜夜B久久| 97色色色视屏| 久久亚洲婷婷| 九九热视| 九九热视频精品| 色99自拍| 禁欲电影完整版在线播放| 亚洲精品白浆高清久久久久久| 亚洲精品字幕| 9视频1在线| 五月丁香婷婷综合在线| 凹凸7777操操操| 青青草原99热| 久艹大香蕉| 久久性爱视频| 日韩成人综合| 婷婷六月丁香激情| 日逼免费视频| 色噜噜狠狠色综合网| 99国产精品久久久久久久久久久| 91精品综合久久久五月天| 91精品人妻少妇无码影院| 99色色爰| 欧美这里只有精品| 成人片在线播放| 99九九热视频| 在线观看玖玖资源免费观看| 六月激情网| 强壮的公次次弄得我高潮A片日本 | 99热人人艹| 4399在线观看免费高清电视剧| 夜夜夜叫天天天做| 五月天堂色| 色婷婷av综合网| 亚洲激情综合| 婷婷色九月| 婷婷99狠| site:901-07.com| 五月婷婷色影院| 激情综合另类| 99只有这里是精品| 亚洲精品V天堂中文字幕| 超碰在线精品| 丁香六月欧美| 黄网免费看| 激情丁香五月| 国产AV网页| 婷婷综合色五月天| 国产精品成人网址| 蜜桃婷婷丁香五月天狠狠久久综合| 久久久久人妻网址| 思思干精品| 久久 这里只有精品1| 一本大道嫩草AV无码专区| 天天色图| 久久无意婷婷| 久久丁香综合| 九九色院| 丁香五月婷婷啪啪| 久久多色| 婷婷伊人五月天| 色五月丁香五月激情五月激情| 国产无套精品一区二区| 亚洲精品乱码久久久久久综合| 99操久久| 五月婷婷欧美| 成人综合网站| 青青草原精品久久| 国产精典视频在线观看| 五月天色五月| 激情小说五月天中文字幕| 六月婷婷毛片| 色天五月天在线观看视频| 五月丁香大香蕉| 91五月天| 色激情五月| 久久婷婷啪啪视频| 亚洲精品又粗又大又爽A片| 噜噜色com| 五月婷婷深深爱| 337p大胆噜噜噜噜噜91Av| 色综合日日| 日本三久久| 一区二区三区四日本| 丁香六月婷| 色五月开心五月激情五月| 激情五月天色色色| 噼里啪啦在线观看免费完整版视频| 这里只有精彩视频| www..com色爱| 97碰碰视频在线观看免费| 天天做天天爱天天爽| 五月婷六月| 久久伊人日日夜夜| 久草婷婷| 丝袜人妻| 欧美成人日韩| 韩国不卡AC视频 | 婷婷五月情| 五月成人丁香av91| 九九色精品| 另类激情综合| 日日干日日| 五月亚洲| 综合激情网激情五月。| 激情婷婷六月| 国产欧美婷婷| 久久多色| 五月综合激情| 婷婷伊人75| 久久婷婷人人| 久久久精品99| 影视av久久久噜噜噜噜噜三级| 热99一二三| 变天就操逼婷婷五月| 久久五月婷综合| 丁香花大香蕉婷婷综合| 北条麻妃伊人| 五月做爱| 另类视屏| 激情久久久久久久久久久| 久操干| 国产视频福利| 久久久久久18| 4399在线日本A片| 欧美欧盟性爱网| 五月丁香色婷婷综合| 极品五月天| 久久五月天婷婷| 97干在线观看视频| 日本狠狠色| 人妻熟女一区二区AV| 中文字幕无码人妻少妇免费视频| 午夜精品久久久久久久爽| 伊综合蕉| 97色色色色| 涩涩涩.com| 91无码视频| 狠狠干狠狠色| 色婷婷女优有码五月亭| 91色综合网| 亚洲 日韩色色| 色五月综合激情| 色色丁香婷婷| 97在线/日本| 亚洲视频在线观看99| 五月婷婷婷丁香播| 色婷婷基地 | 九九十99视频| 久久综合丁香激情五月| 久久久97| 色综合久久88色综合天天看| 六月丁香五月婷婷首页| 亚洲碰碰碰| 色亭亭九月| 五月丁香五月丁香| 激情综合激情综合| 人妻丰满精品一区二区A片| 激情五月丁香六月综合AVXXXX| tingtingjiqingwuyue| 日韩另类在线观看| 中文字幕av网站| 色欲香综合网| 国产69久久久欧美黑人A片| 五月停停999| 无码人妻一区| 五月婷在线观看| 丁香五月23111| 日本乱子人伦在线视频| 91九色在线视频| 五月久视频| 99热免费18| 天天色综合网1| 玖玖婷婷五月天毛片| 人妻VideOssS人妻| 丁香五月影院| 能看的AV网站| 婷婷五月性感| 天天干狠狠艹| 欧美色偷偷大香| 先锋资源婷婷| 九洲一级A片| 国产激情久久久| 99色在线视频观看| 六月丁香久久| 亚洲日韩26uuu| 婷婷五月丁香第四色超碰在线| 九九热思思热| 殴美97色| www,色婷婷| 一区二区免费看| 色九月婷婷| 99国产精品久久久久久久久久久| 婷婷五月天.com| 亚洲精品V天堂中文字幕| 天天日婷婷| 丁香婷婷色九月| 99久久国产宗和精品1上映| 色色色无码| 6月丁香婷婷| 996re热精品视频| 亚洲操B| 99亚洲日韩| 亚洲丁香婷婷五月天综合色| 欧洲综合一区| 丁香桃色网| 色五月婷婷五月丁香五月| 色99网| 亚洲黄色操逼| 六月婷婷激情| 五月婷婷深深爱| 五月天婷婷乱| 九色视频91疯狂| 壅壅儕家a| 亚洲色综合| 丁香五月婷婷香| 丁香六月婷婷综合激情欧美| 97人人操人人操人人操人人| 丁香五月性| 久久久五月五丁香| 久久婷婷五月草视频在线播放| 天天拍天天做视频| 久久综合综合久久| 色吊丝99| 性做久久久久久久免费看| 婷婷涩五月| 九九热在线视频观看| 丁香5月啪啪| 欧美噜噜久久久XXX| 9l视频自拍9l视频自拍九色学生| 小香蕉av| 色婷婷成人做爰A片免费看网站| 丁香五月av| 国产欧洲欧洲精品久久| 五月婷婷九月婷婷九月婷婷| xxxx五月| 天天草狠狠擦| 婷婷五月丁香成人| 日本性激情色播| 人人干Av| 色情五月停停丁香| 天天做天天爱天天综合| 久久性爱视频这里只有精品| 久久久久人妻中文| 五月婷婷免费看| 色婷婷亚洲婷婷在线观看| 精品爆操| AV九九| 久久久com| 变态 另类 在线 | 欧美天天草人人草| 丁香 婷婷五月| 538久久| 激情综合色播| AV在线免费网站| 欧美成人精品三区综合A片| 超级碰碰97在线| 91色碰| 丁香五月AV在线| 99热这里只有精品无码| 操逼巨乳91| 搡BBBB搡BBB搡18| Www.久久| 99热只有精品在线播放| 婷婷之六月丁香| 丁香五月天综合| 99热最新| 婷婷激情人妻| 欧美综合婷婷欧美综| 五月天狠狠网| 中文成人在线| 九九色院| 亚洲婷婷乱乱丁香| 夜夜爱网站| 最新日韩久热免费视频看看| WWW.五月天9999| 色五月亚洲| 色九九综合色| wwW天天干| 丁香五月婷婷色情综合| 91久久人人操| 综合热无码| 婷婷色综合| 天天看A片| 亚洲婷婷丁香| 成人AV综合在线| 99热这里只有精品50| 亚洲五月花| 极品色丁香| 人人操av| 亚洲Av成人在线观看| 天天干天天爽天天操| 99国产精品久久久久久久久久久| 玖玖在线视频| 天天激情站| 去干网av| 丰满老熟妇BBBBB搡BBB| 天天久久66xxx| 久9视频| 成人午夜无码视频| 91丁香五月| 无码区婷婷五月花开| 人妻AV在线观看| 玖玖在线| 色吧五月婷婷| 狠狠色婷婷7| 福利视频在线播放| 五月丁香花激情综合网| 9久热免费视频99| 五月天激情视频| 无码激情精品色婷婷久久久久| 成人国产欧美大片一区| 天天操夜夜爽歪歪| 久久大香蕉伊人| 亚洲成人网站在线观看| 77799热| 影音先锋AV资源男人站| 少妇人妻综合色6699| 九热电影av| h在线看免费版在线看| 亚洲精品性色| 久久 婷婷 五月天| 成人精品在线观看| 人人草开心五月天| 五月丁香 六月婷婷a| 日韩不卡123| 99热这里只有精品青草| 色天天综合成人网| av在线资源| 91九九九九九九| 婷婷天堂综合| 综合网五月天123| 久久色婷婷| 激情五月瑟瑟| 久久丁香五月婷婷| 九九热最新视频| 一个色的综合| www99精品| 六月婷在线| 超碰免费观看| 夜夜穞天天穞狠狠穞AV美女按摩| 色色色色色综合| 热99re| 69五月天视频| 日韩一区二区在线播放| 九色91视频| 久久182| 中文AV网站| 丰满少妇乱A片无码| 九九热av| 国产精品视频免费看| 婷婷 月 丁香| 婷婷五月AV| 激情五月丁香激情综合网| 伊人婷婷青青cao| 日本一级特黄大片AAAAA级| 久久精品日| 玖玖综合玖玖| 99热很操老逼| 99久久久久久久| 探花搜索结果 - 黄上黄| 婷婷五月天精品| 久久婷婷五月综合激情国产| 五月伊人婷婷999| 婷婷五月丁香成人网| 国产探花一片区| 五月丿香啪啪| 成人在线观看一区| 99人人操| 99色在线观看| 开心五月激情站| 玖玖资源天天无码| 思思热视频| 国产在线中文字幕| 色中色综合| 久九九热| 中文字幕,综合,91| 婷婷在线观看五月天在线视频| 天天做综合| 都市激情五月婷婷亚洲| 日本九婷婷| 色优久久| 日韩国产在线免费观看| 色色五月婷| 99色免费视频| 伦乱天堂| 激情碰碰碰| 成人五月天在线观看| 激情五月综合网最新 | 四川BBB搡BBB爽爽视频| 色综合综合综合| 日本色99| 性生活视频98791| 日韩aaa| 成人在线网站| 婷婷六月中文字幕| 中文字幕永久免费| 欧美五月婷婷综合| 久久久中文| 色五月激情网| 91a片爽| 五月婷婷开心色伊人| 色欲久久综合| 九热视频免费观看| 成人精品一区二区三区四区五区| 色色国产| 五月丁香888| 激情综合六月| 久久精品国产一区二区三区四区 | 成人丁香五月| 中文字幕,综合,91| 日本成人噜噜噜| 伊人大香久久| 五月婷婷伊人在线| 丰满人妻一区二区三区| 日日干天天射| 大香蕉75线| 91操片| 婷婷射图| 9色在线视频| 殴美激情综合网| 97碰| 欧美激情VA永久在线播放| 亚洲欧洲另类| www.五月天婷婷| 狠狠五月天婷婷| 欧美性生交A片免费看| 综合性视频99| 精品国产a| pom538精品视频| 亚洲、欧美、国产另类笫二区| 日韩另类在线观看| 色99日韩| 97在线/亚洲| 亚城区在线| 成人网站av免费网站推荐| 成人网站在线观看视频| 大香蕉久久| www.9操| 五夜丁香| 99热思思在线观看| 91碰免费视频|