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

ARTICLE DETAIL

資訊詳情

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

SPI片選信號(hào)導(dǎo)致單片機(jī)死機(jī):硬件干擾與軟件競(jìng)態(tài)深度排查

SPI片選信號(hào)導(dǎo)致單片機(jī)死機(jī):硬件干擾與軟件競(jìng)態(tài)深度排查 1. 問題現(xiàn)象好端端的代碼一拉片選就翻車做單片機(jī)開發(fā)的朋友十有八九都被SPI折磨過。前陣子調(diào)試一個(gè)項(xiàng)目板子上掛了一片外部Flash芯片主控用STM32的SPI2接口驅(qū)動(dòng)讀寫邏輯寫得很順單步調(diào)試一切正常但只要一跑全速芯片就死機(jī)——不進(jìn)入HardFault不復(fù)位就是卡死在某個(gè)中斷里出不來看門狗也喂不上最后系統(tǒng)復(fù)位。最開始懷疑是Flash讀寫時(shí)序問題因?yàn)镾PI有四種模式時(shí)鐘極性和相位配置錯(cuò)了讀出來的數(shù)據(jù)就是亂的。但奇怪的是普通讀寫操作都能正常跑系統(tǒng)死機(jī)幾乎都發(fā)生在切換片選信號(hào)、連續(xù)讀寫多頁數(shù)據(jù)的場(chǎng)景里。后來用邏輯分析儀抓波形才發(fā)現(xiàn)問題根源不在數(shù)據(jù)線上在片選信號(hào)本身的“附加傷害”上。我先說結(jié)論SPI片選信號(hào)導(dǎo)致死機(jī)本質(zhì)上是片選引腳的GPIO配置、中斷處理、外設(shè)復(fù)用三者之間互相踩腳導(dǎo)致系統(tǒng)進(jìn)入了一種不可恢復(fù)的阻塞或陷阱狀態(tài)。它不會(huì)直接報(bào)錯(cuò)而是讓你的系統(tǒng)“靜默崩潰”排查起來非常隱蔽。這篇文章就把這個(gè)坑從硬件到軟件、從現(xiàn)象到原理徹底拆一遍給同樣踩坑的朋友提供一條清晰的排查路徑。2. 深入拆解為什么片選信號(hào)能“干掉”整個(gè)系統(tǒng)2.1 硬件層面的隱形陷阱GPIO模式與復(fù)用沖突片選信號(hào)在SPI通信里承擔(dān)的是“選中從設(shè)備”的職責(zé)。絕大多數(shù)場(chǎng)景下工程師會(huì)把它配成普通的推挽輸出這在邏輯上沒有任何問題。但SPI接口本身有個(gè)特殊機(jī)制硬件NSS。很多MCU的SPI外設(shè)引腳中有一個(gè)專門用于片選的硬件引腳例如STM32的NSS引腳名通常為CS、SS、NSS等。片上外設(shè)內(nèi)部包含NSS輸入引腳以及一個(gè)可配置的軟件NSS位SSI。如果你在初始化SPI時(shí)把NSS配置為硬件模式SSM0即硬件NSS模式那么芯片內(nèi)部的片選信號(hào)就由這個(gè)引腳的電平直接決定。此時(shí)如果你又把這個(gè)引腳配置成普通GPIO推挽輸出想在每次通信前手動(dòng)拉低、通信結(jié)束后拉高就會(huì)和SPI外設(shè)內(nèi)部的NSS狀態(tài)機(jī)產(chǎn)生沖突。舉個(gè)例子你手動(dòng)拉了低電平表示開始通信此時(shí)SPI外設(shè)認(rèn)為總線被占用。如果你在中途因某個(gè)中斷把片選電平改變了或者GPIO配置被重新初始化了一次外設(shè)內(nèi)部的NSS狀態(tài)就可能處于“未選中”狀態(tài)導(dǎo)致后續(xù)發(fā)送的數(shù)據(jù)根本沒有真正輸出到總線上而你的軟件還在傻等發(fā)送完成標(biāo)志。還有一種更隱蔽的情況GPIO配置成了開漏輸出Open-Drain。開漏輸出只有低電平驅(qū)動(dòng)能力高電平要靠外部上拉電阻。如果你的板子上沒有給片選引腳裝上拉電阻那么當(dāng)片選試圖拉高時(shí)實(shí)際電壓可能達(dá)不到高電平閾值SPI外設(shè)會(huì)一直認(rèn)為自己處于“被選中”狀態(tài)。此時(shí)如果你剛好開啟了SPI的接收中斷或者總線繁忙檢測(cè)就會(huì)出現(xiàn)中斷風(fēng)暴把系統(tǒng)卡死。我在實(shí)際項(xiàng)目里還遇到過一種比較罕見的硬件坑片選引腳和另一個(gè)外設(shè)的復(fù)用功能互相干擾。很多MCU的同一組引腳有多組復(fù)用功能可供選擇比如PA4這個(gè)引腳既能做SPI1的NSS又能做DAC的輸出還能做普通的ADC輸入。如果初始化代碼中GPIO的復(fù)用功能配置晚于外設(shè)的初始化或者某個(gè)外設(shè)庫函數(shù)悄悄把這個(gè)引腳配置成了別的功能就會(huì)導(dǎo)致片選信號(hào)不受你控制直接觸發(fā)外設(shè)的異常行為。2.2 軟件層面的致命邏輯中斷搶占與共享變量硬件只是導(dǎo)火索真正讓系統(tǒng)死機(jī)的往往是軟件邏輯在片選操作過程中的缺陷。先看最常見的一種情況片選信號(hào)的操作被中斷打斷。你的主循環(huán)正在拉低片選準(zhǔn)備發(fā)送第一個(gè)字節(jié)此時(shí)一個(gè)高優(yōu)先級(jí)的中斷觸發(fā)中斷服務(wù)函數(shù)里也恰好在操作同一個(gè)SPI外設(shè)。兩個(gè)地方同時(shí)操作SPI發(fā)送的數(shù)據(jù)交叉混疊SPI外設(shè)的寄存器狀態(tài)被破壞發(fā)送標(biāo)志永遠(yuǎn)等不到于是主循環(huán)卡死在while循環(huán)里。這個(gè)問題的隱蔽性在于SPI外設(shè)本身不具備“總線占用仲裁”功能不像I2C那樣有多種主機(jī)仲裁機(jī)制。SPI總線上一旦同時(shí)出現(xiàn)兩個(gè)發(fā)送者數(shù)據(jù)就是亂的而且沒有任何錯(cuò)誤標(biāo)志位提示你。你以為是程序卡死了其實(shí)是因?yàn)镾PI發(fā)送標(biāo)志始終為0你的代碼一直在while循環(huán)里旋轉(zhuǎn)等待。再往下深挖還有一種更陰險(xiǎn)的情況SPI的DMA傳輸和片選信號(hào)配合失誤。比如你配置了SPI的DMA發(fā)送傳輸完成后由DMA中斷里拉高片選但在DMA傳輸還沒有完全結(jié)束的時(shí)候片選就已經(jīng)被提前釋放切換。此時(shí)從設(shè)備可能還在接收數(shù)據(jù)主控這邊已經(jīng)把片選拉高了從設(shè)備認(rèn)為通信結(jié)束保存了不完整的數(shù)據(jù)。下次通信時(shí)從設(shè)備的狀態(tài)機(jī)錯(cuò)亂表現(xiàn)為長(zhǎng)時(shí)間不響應(yīng)而你的主控在等待從設(shè)備返回狀態(tài)時(shí)如果加了超時(shí)死循環(huán)且沒有正確地退出機(jī)制系統(tǒng)就死鎖了。除了中斷和DMA另一個(gè)容易被忽略的是共享變量問題。一個(gè)全局標(biāo)志比如“SPI總線忙”在主循環(huán)里置位在中斷里清除。如果沒有用volatile修飾或者沒有做原子操作保護(hù)編譯器優(yōu)化后可能會(huì)導(dǎo)致標(biāo)志位的讀寫出現(xiàn)不可預(yù)期的順序最終出現(xiàn)兩個(gè)地方同時(shí)認(rèn)為自己擁有總線控制權(quán)的情況。2.3 觸發(fā)機(jī)制回顧死機(jī)的三個(gè)典型特征這類片選導(dǎo)致的死機(jī)通常具備三個(gè)特征一是死機(jī)前會(huì)有短暫的總線異常比如偶發(fā)的數(shù)據(jù)錯(cuò)亂二是死機(jī)表現(xiàn)為程序卡死而非復(fù)位因?yàn)橛布撮T狗在中斷死循環(huán)里可能被喂狗失效或者看門狗超時(shí)時(shí)間較長(zhǎng)三是死機(jī)和操作頻率強(qiáng)相關(guān)低頻通信時(shí)一切正常高頻通信或連續(xù)大塊數(shù)據(jù)讀寫時(shí)必現(xiàn)。這三個(gè)特征加在一起基本可以鎖定是片選信號(hào)或SPI總線狀態(tài)異常導(dǎo)致的系統(tǒng)級(jí)阻塞。3. 工具選型與排查手段怎么把問題釘死3.1 必備工具邏輯分析儀比示波器更適合抓時(shí)序排查片選問題邏輯分析儀是首選工具。原因很簡(jiǎn)單SPI通信頻率動(dòng)輒幾MHz、十幾MHz示波器確實(shí)能看到波形細(xì)節(jié)但如果你要長(zhǎng)時(shí)采集一段連續(xù)通信過程來分析片選和數(shù)據(jù)的關(guān)系示波器的存儲(chǔ)深度往往不夠而且觸發(fā)條件設(shè)置起來比較麻煩。我用的是那種幾十塊錢的USB邏輯分析儀常見品牌包括Saleae及其兼容型號(hào)等配合開源上位機(jī)軟件如PulseView、Logic等可以同時(shí)抓8路信號(hào)采樣率24MHz對(duì)于SPI這類低速總線已經(jīng)足夠。實(shí)測(cè)下來很穩(wěn)關(guān)鍵是它能直接解碼SPI協(xié)議把MOSI、MISO、CS、SCK四路信號(hào)導(dǎo)入后軟件直接標(biāo)出每一幀的起始、結(jié)束、數(shù)據(jù)內(nèi)容排查效率非常高。3.2 第一步先抓波形看片選與時(shí)鐘的時(shí)序關(guān)系抓到波形之后先看三件事。第一件片選信號(hào)的下降沿和SCK第一個(gè)上升沿之間是否有足夠的時(shí)間間隔。很多從設(shè)備要求片選拉低后需要一段“建立時(shí)間”才能開始接收時(shí)鐘一般是幾十納秒到幾微秒不等。如果主控配置的是硬件NSS自動(dòng)控制這個(gè)時(shí)間通常由外設(shè)自動(dòng)保證如果是軟件控制片選就完全取決于你拉低片選后多久才開始調(diào)用SPI發(fā)送函數(shù)。如果兩次操作之間間隔太短從設(shè)備可能根本來不及準(zhǔn)備導(dǎo)致通信失敗。第二件片選信號(hào)的上升沿是否在SCK最后一個(gè)邊沿之后。片選拉高表示一場(chǎng)通信結(jié)束如果SCK最后一個(gè)數(shù)據(jù)位還在傳輸過程中你就拉高了片選從設(shè)備會(huì)丟棄最后幾個(gè)bit的數(shù)據(jù)。這個(gè)問題通常發(fā)生在SPI發(fā)送函數(shù)返回時(shí)機(jī)不準(zhǔn)的情況下比如你用了SPI的“發(fā)送但不等待完成”模式函數(shù)返回時(shí)數(shù)據(jù)其實(shí)還沒完全移出移位寄存器。第三件片選信號(hào)本身是否干凈。如果片選信號(hào)上有明顯的毛刺、振鈴說明驅(qū)動(dòng)力不夠或走線過長(zhǎng)。此時(shí)即使從設(shè)備本身工作正常也可能因毛刺誤觸發(fā)片選邊沿打斷通信。這里有一個(gè)經(jīng)驗(yàn)值片選信號(hào)從高到低的邊沿如果超過100ns就要檢查GPIO的輸出速度和負(fù)載電容了。3.3 第二步查軟件邏輯加打印插樁定位卡死位置波形只能確認(rèn)物理層沒問題如果波形完全正常但系統(tǒng)還是死機(jī)那就要在軟件層面加插樁信息定位。我推薦用串口打印配合一個(gè)超小型的“心跳計(jì)數(shù)器”在主循環(huán)里讓一個(gè)變量自增在串口中斷里周期性輸出這個(gè)值。死機(jī)前最后一次輸出的值能幫你判斷程序卡死在哪個(gè)函數(shù)附近。更精準(zhǔn)的辦法是利用單片機(jī)自帶的調(diào)試工具如st-link、jlink等設(shè)置斷點(diǎn)在程序卡死時(shí)暫停查看當(dāng)前PC指針和調(diào)用棧。如果芯片支持實(shí)時(shí)跟蹤如ARM Cortex-M系列的ITM/SWO還可以不打斷程序運(yùn)行直接觀察變量變化定位效率更高。這塊如果開發(fā)環(huán)境支持強(qiáng)烈建議直接上手比反復(fù)加打印重編快得多。4. 實(shí)操過程一次完整的SPI片選死機(jī)排查實(shí)錄4.1 復(fù)現(xiàn)問題的日常配置SPI初始化代碼排查這里我把當(dāng)時(shí)排查的初始配置代簡(jiǎn)化一下大家對(duì)照看自己的工程哪里會(huì)踩雷。當(dāng)時(shí)的初始化代碼如下基于STM32 HAL庫// SPI2 初始化 hspi2.Instance SPI2; hspi2.Init.Mode SPI_MODE_MASTER; hspi2.Init.Direction SPI_DIRECTION_2LINES; hspi2.Init.DataSize SPI_DATASIZE_8BIT; hspi2.Init.CLKPolarity SPI_POLARITY_LOW; hspi2.Init.CLKPhase SPI_PHASE_1EDGE; hspi2.Init.NSS SPI_NSS_SOFT; // 軟件NSS模式 hspi2.Init.BaudRatePrescaler SPI_BAUDRATEPRESCALER_8; hspi2.Init.FirstBit SPI_FIRSTBIT_MSB; HAL_SPI_Init(hspi2); // 片選引腳 PA4 配置為推挽輸出 GPIO_InitStruct.Pin GPIO_PIN_4; GPIO_InitStruct.Mode GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull GPIO_NOPULL; GPIO_InitStruct.Speed GPIO_SPEED_FREQ_HIGH; HAL_GPIO_Init(GPIOA, GPIO_InitStruct); // 拉高片選默認(rèn)不選中 HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET);這段配置看起來中規(guī)中矩但有一個(gè)隱患GPIO_Speed配置成了GPIO_SPEED_FREQ_HIGH輸出翻轉(zhuǎn)速度極快如果PCB走線較長(zhǎng)或存在雜散電容就會(huì)在片選信號(hào)邊沿產(chǎn)生振鈴。當(dāng)時(shí)這塊板子的片選走線確實(shí)走了一段比較長(zhǎng)的排線加上又沒有串聯(lián)匹配電阻振鈴幅度一度超過邏輯閾值偶爾就會(huì)誤觸發(fā)從設(shè)備的片選邏輯。4.2 波形驗(yàn)證確認(rèn)硬件層異常用邏輯分析儀實(shí)測(cè)發(fā)現(xiàn)片選信號(hào)的下降沿和上升沿附近都能看到明顯的回勾也就是振鈴。振鈴幅度超過1V已經(jīng)對(duì)從設(shè)備的片選判決造成了干擾。進(jìn)一步測(cè)量還發(fā)現(xiàn)片選高電平時(shí)間不穩(wěn)定在連續(xù)讀寫場(chǎng)景下會(huì)出現(xiàn)偶發(fā)的“提前拉高”現(xiàn)象。定位到這個(gè)問題后先做了兩個(gè)板級(jí)修改在片選引腳串聯(lián)一個(gè)33Ω電阻限制邊沿速率同時(shí)把GPIO輸出速度從High降為Medium。改完之后振鈴幅度明顯下降波形更接近理想方波。實(shí)測(cè)在高頻連續(xù)讀寫下死機(jī)概率從原先的“必現(xiàn)”下降到“偶發(fā)”說明還有軟件層面問題沒解決。4.3 代碼防御中斷互鎖與超時(shí)保護(hù)硬件問題解決了但死機(jī)仍偶發(fā)那就得懷疑軟件邏輯。我們把所有涉及SPI的操作梳理了一遍發(fā)現(xiàn)有兩個(gè)地方存在隱患。第一處是主循環(huán)里操作SPI發(fā)送時(shí)沒有關(guān)閉SPI全局中斷。由于系統(tǒng)里還有定時(shí)器中斷和串口中斷這些中斷的優(yōu)先級(jí)都高于主循環(huán)。一旦中斷恰好在SPI發(fā)送過程中觸發(fā)而中斷服務(wù)函數(shù)里也調(diào)用了SPI發(fā)送函數(shù)比如通過串口命令間接觸發(fā)就會(huì)造成SPI總線的并發(fā)訪問。這里加了一把簡(jiǎn)單互斥鎖來解決static volatile uint8_t spi_busy 0; uint8_t SPI_Transfer_Atomic(uint8_t data) { uint32_t primask; primask __get_PRIMASK(); // 保存當(dāng)前中斷狀態(tài) __disable_irq(); // 關(guān)閉全局中斷 while (spi_busy) { // 如果被占用則等待 } spi_busy 1; // 拉低片選 HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET); // 發(fā)送數(shù)據(jù) uint8_t rx 0; if (HAL_SPI_TransmitReceive(hspi2, data, rx, 1, 10) ! HAL_OK) { // 超時(shí)處理 SPI_CS_Release(); spi_busy 0; __set_PRIMASK(primask); return 0xFF; } // 拉高片選 SPI_CS_Release(); spi_busy 0; __set_PRIMASK(primask); // 恢復(fù)中斷狀態(tài) return rx; }第二處是SPI發(fā)送等待的循環(huán)缺乏超時(shí)機(jī)制。HAL庫的HAL_SPI_TransmitReceive有超時(shí)參數(shù)但很多人圖省事直接傳HAL_MAX_DELAY等于無限等待。一旦SPI外設(shè)因?yàn)槟撤N原因卡住整個(gè)系統(tǒng)就永遠(yuǎn)停在那里。后來把所有等待都改成有限超時(shí)超時(shí)后強(qiáng)制復(fù)位SPI外設(shè)并且把片選拉高確保從設(shè)備狀態(tài)機(jī)復(fù)位。void SPI_CS_Release(void) { HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET); }4.4 DMA與中斷綜合修復(fù)從“死機(jī)必現(xiàn)”到“連續(xù)拷機(jī)48小時(shí)通過”經(jīng)過上述修復(fù)死機(jī)概率降到了數(shù)百次操作才出現(xiàn)一次。但秉著“零重啟”的目標(biāo)繼續(xù)深挖最終發(fā)現(xiàn)還有一個(gè)隱藏較深的DMA問題DMA傳輸完成后中斷里拉高片選的時(shí)機(jī)在極端情況下會(huì)早于DMA最后一個(gè)字節(jié)真正移出SPI移位寄存器。這是因?yàn)镈MA的“傳輸完成”信號(hào)在外設(shè)側(cè)可能先于SPI移位寄存器清空發(fā)出。解決方法是判斷SPI外設(shè)的“忙”標(biāo)志BSY位后再拉高片選。具體做法是在DMA傳輸完成中斷里等待SPI_SR寄存器的BSY位清零再釋放片選。加上這層保險(xiǎn)后連續(xù)拷機(jī)48小時(shí)、高頻大數(shù)據(jù)量讀寫再也沒有出現(xiàn)過一次死機(jī)。5. 常見問題與排查技巧實(shí)錄5.1 片選死機(jī)問題速查表我把這幾年遇到的SPI片選導(dǎo)致死機(jī)的典型場(chǎng)景整理成了一張速查表大家可以先對(duì)著表排查一輪能省不少時(shí)間。現(xiàn)象可能原因排查方法解決手段高頻通信必死片選信號(hào)振鈴過大邏輯分析儀看波形邊沿串聯(lián)電阻/降GPIO速度偶發(fā)死機(jī)低頻無問題軟件NSS和硬件NSS沖突檢查SPI初始化寄存器統(tǒng)一用軟件NSSGPIO獨(dú)立控制死機(jī)時(shí)SPI發(fā)送標(biāo)志卡死中斷里重復(fù)操作SPIPC指針定位卡死點(diǎn)加互斥鎖/關(guān)中斷保護(hù)DMA傳輸后數(shù)據(jù)錯(cuò)亂片選釋放早于BSY清零查看DMA完成中斷時(shí)序等待SPI_SR.BSY0再拉高CS開漏輸出時(shí)偶發(fā)死機(jī)片選缺少上拉電阻量片選引腳高電平電壓PCB補(bǔ)上拉或改推挽從設(shè)備偶發(fā)不應(yīng)答片選建立時(shí)間不足看CS下降沿到SCK首個(gè)邊沿拉低CS后延時(shí)幾個(gè)時(shí)鐘周期5.2 我在實(shí)際排查中總結(jié)的幾條獨(dú)家技巧片選信號(hào)排查有個(gè)順序原則先硬件后軟件先波形后代碼先外設(shè)后中斷。不要一上來就翻代碼很容易陷進(jìn)去出不來。關(guān)于GPIO速度選擇我建議SPI控制引腳SCK、MOSI、CS在非必要高速場(chǎng)景下都用Medium檔。很多人都喜歡配置High檔但高速翻轉(zhuǎn)帶來的邊沿振鈴在長(zhǎng)走線上反而會(huì)引入可靠性問題。你跑10MHz的SPI用Medium檔完全夠至少我這么做之后從來沒遇到過時(shí)序不夠的問題。關(guān)于片選引腳我強(qiáng)烈建議加上拉電阻阻值選4.7kΩ到10kΩ。即使你用的推挽輸出上拉電阻也能在MCU復(fù)位期間把片選固定在高電平防止從設(shè)備在MCU啟動(dòng)過程中被誤選中。很多從設(shè)備比如SD卡、Flash芯片對(duì)片選毛刺極其敏感一個(gè)啟動(dòng)時(shí)的誤選中就可能把Flash內(nèi)部狀態(tài)機(jī)搞亂。關(guān)于中斷鎖的實(shí)現(xiàn)務(wù)必用“保存中斷狀態(tài)、關(guān)中斷、恢復(fù)中斷狀態(tài)”的方式而不是簡(jiǎn)單的__disable_irq()和__enable_irq()。因?yàn)槿绻陉P(guān)中斷之前某個(gè)更高優(yōu)先級(jí)的嵌套中斷已經(jīng)把中斷狀態(tài)改了直接開中斷會(huì)破壞中斷嵌套的上下文。這是我在一個(gè)RTOS項(xiàng)目里踩過的坑寫在這里提醒大家少走彎路。最后是關(guān)于超時(shí)參數(shù)的一點(diǎn)心得。SPI通信的超時(shí)不要設(shè)太短也不要太長(zhǎng)。以SPI時(shí)鐘10MHz、一次傳256字節(jié)為例理論傳輸時(shí)間大概是200微秒左右留出3-5倍余量設(shè)成1毫秒到5毫秒都合理。太短會(huì)誤報(bào)超時(shí)太長(zhǎng)會(huì)拖慢錯(cuò)誤響應(yīng)速度。我當(dāng)時(shí)用的是10毫秒因?yàn)檫€疊了一層DMA保證極端情況下不誤判。5.3 一個(gè)小技巧片選操作統(tǒng)一收口統(tǒng)一封裝這次排查的另一個(gè)重要收獲是把片選操作從業(yè)務(wù)代碼里徹底抽離封裝成統(tǒng)一接口。原先工程里不同模塊各自操作GPIO拉高拉低片選有些地方直接操作寄存器有些地方調(diào)用HAL庫風(fēng)格混亂排查時(shí)根本不知道哪里改動(dòng)了片選狀態(tài)。重構(gòu)后所有片選控制只通過幾個(gè)函數(shù)完成例如片選選中、片選釋放、SPI單字節(jié)收發(fā)、SPI多字節(jié)收發(fā)、SPI發(fā)送帶超時(shí)等每個(gè)函數(shù)內(nèi)部都自動(dòng)處理片選時(shí)序和總線占用標(biāo)記。之后如果再出現(xiàn)片選相關(guān)問題排查面從整個(gè)工程縮小到這幾個(gè)函數(shù)即可效率提升顯著。6. 項(xiàng)目復(fù)盤與擴(kuò)展片選死機(jī)的本質(zhì)是什么6.1 本質(zhì)復(fù)盤片選信號(hào)是多米諾骨牌的第一張這次折騰下來最大的體會(huì)是片選信號(hào)導(dǎo)致死機(jī)本質(zhì)上不是“GPIO操作錯(cuò)了”這么簡(jiǎn)單而是“GPIO操作、SPI外設(shè)狀態(tài)、中斷執(zhí)行時(shí)機(jī)、從設(shè)備響應(yīng)能力”四者之間的耦合關(guān)系被打破了。片選只是第一張多米諾骨牌真正翻車的是后續(xù)一系列連鎖反應(yīng)。很多人寫SPI驅(qū)動(dòng)時(shí)目光只盯著數(shù)據(jù)收發(fā)流程忽略了片選信號(hào)其實(shí)是SPI通信中時(shí)域關(guān)系最敏感的一環(huán)。片選拉低是通信開始拉高是通信結(jié)束從設(shè)備的所有狀態(tài)機(jī)轉(zhuǎn)換都以這兩個(gè)邊沿為基準(zhǔn)。如果你的代碼里有多處地方在掌控這個(gè)邊沿或者這個(gè)邊沿的物理質(zhì)量不達(dá)標(biāo)就會(huì)導(dǎo)致從設(shè)備狀態(tài)錯(cuò)亂進(jìn)而引發(fā)主控側(cè)的等待超時(shí)或總線沖突。這套邏輯換到別的通信協(xié)議也一樣成立比如I2C的起始/停止條件、UART的幀起始位本質(zhì)都是時(shí)序敏感信號(hào)。6.2 這類問題還可以這樣擴(kuò)展排查如果你在當(dāng)前項(xiàng)目里解決了SPI片選問題但還遇到過其他接口導(dǎo)致死機(jī)的現(xiàn)象比如RS485上電死機(jī)、多個(gè)UART串口接收導(dǎo)致死機(jī)等問題排查思路是相通的。都遵循“先看物理層波形再查外設(shè)寄存器狀態(tài)最后排查中斷和任務(wù)搶占”的順序。RS485上電死機(jī)常見于RE/DE控制引腳在上電瞬間處于不確定狀態(tài)導(dǎo)致收發(fā)器同時(shí)使能收發(fā)總線沖突拉低電平進(jìn)而干擾主控的UART接收邏輯。多串口接收死機(jī)則常見于中斷優(yōu)先級(jí)設(shè)置不當(dāng)多個(gè)串口同時(shí)到達(dá)數(shù)據(jù)時(shí)CPU無法及時(shí)響應(yīng)導(dǎo)致接收溢出標(biāo)志置位程序在中斷里反復(fù)進(jìn)出。這些都是“看似外設(shè)問題實(shí)則時(shí)域和優(yōu)先級(jí)管理問題”的典型。6.3 一個(gè)值得嘗試的加固方案軟件片選狀態(tài)機(jī)如果你想讓SPI通信的健壯性再上一個(gè)臺(tái)階可以嘗試在軟件層引入一個(gè)簡(jiǎn)單的片選狀態(tài)機(jī)?;舅悸肥嵌x枚舉類型表示片選空閑、片選選中、等待發(fā)送完成、等待DMA完成等狀態(tài)每次切換狀態(tài)都加超時(shí)保護(hù)和異常恢復(fù)。如果在某個(gè)狀態(tài)停留時(shí)間超過閾值就強(qiáng)制復(fù)位SPI外設(shè)、拉高片選、清空DMA緩沖回到空閑態(tài)。這套方案我后來用在了好幾個(gè)項(xiàng)目里雖然沒有直接證據(jù)證明它“攔截”了多少次潛在死機(jī)但有了狀態(tài)機(jī)之后系統(tǒng)的可觀測(cè)性大大提高一有問題能立刻從狀態(tài)寄存器里看出卡在哪一步調(diào)試效率提升明顯。6.4 預(yù)防性設(shè)計(jì)才是最優(yōu)解經(jīng)過這次的折騰我現(xiàn)在的項(xiàng)目里對(duì)SPI片選的設(shè)計(jì)有一套默認(rèn)原則寫在這里供大家參考。首先是片選引腳統(tǒng)一使用推挽輸出加10kΩ上拉GPIO速度選Medium不做特殊需求不選High其次是片選操作全部收口到獨(dú)立驅(qū)動(dòng)文件業(yè)務(wù)代碼不允許直接操作片選GPIO再者是堅(jiān)持使用軟件NSS模式避免硬件NSS與GPIO的復(fù)用沖突SPI初始化中把NSS配置為軟件模式片選交給獨(dú)立GPIO控制最后是所有SPI等待必須帶超時(shí)超時(shí)后執(zhí)行SPI外設(shè)復(fù)位和片選釋放。這套原則目前已經(jīng)穩(wěn)定運(yùn)行了多個(gè)量產(chǎn)項(xiàng)目還沒有一次因SPI片選導(dǎo)致死機(jī)的報(bào)告算是用真金白銀換來的經(jīng)驗(yàn)。7. 寫在最后的調(diào)試心得如果你現(xiàn)在正被片選信號(hào)導(dǎo)致死機(jī)折磨得焦頭爛額我的建議是先不要改代碼找一個(gè)安靜的工位把邏輯分析儀接上把片選、時(shí)鐘、數(shù)據(jù)四路信號(hào)抓下來一幀一幀地看。硬件問題不解決軟件改再多都是白費(fèi)。確認(rèn)波形干凈之后再回頭審視代碼里有沒有不設(shè)防的等待循環(huán)、沒有保護(hù)的中斷并發(fā)、沒有超時(shí)的DMA完成判斷。我個(gè)人在實(shí)際操作中的體會(huì)是這類問題最難的往往不是解決本身而是承認(rèn)問題出在自己從來沒注意過的地方。片選信號(hào)看起來太簡(jiǎn)單了簡(jiǎn)單到讓人下意識(shí)跳過它去懷疑更復(fù)雜的模塊殊不知恰恰是最簡(jiǎn)單的地方最容易因?yàn)椤袄硭?dāng)然”而出錯(cuò)。希望這篇分享能幫你少走幾段彎路。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
免费看欧美成人A片无码| 成人av播放| 激情综合色婷婷啪啪六月天| 亚洲精品视频在线播放| 天天干天天拍| 激情久久综合网| 久久综合婷| 99亚洲精品视频| 天天操天天爱天天玩| 色激情五月| 天天做天天爱| 日韩无码色色| 91狠狠综合网| 五月激情小说| 婷婷午夜天| 婷婷五月综合婷婷| 五月天婷婷色在线视频免费观看| 熟女啪啪视频| 中文字幕成| 99热99艹在线观看| 亚洲视频在线观看| 第九色区av天堂| 丁香六月综合| 久久性爱视频网站| 国产精品VA在线| 五月丁香色婷婷婷基地| 四色综合网| 欧美色碰| 久久综合无| 婷婷五月天渟渟| 9色在线| AV性爱网| 亚洲人成色A777777在线观看| 六月丁香婷婷色综合| 夜夜爱伊人| 久碰久| 亚洲妇女熟BBW| 9久热在线视频精品| 五月天激情网开心网| 天天爱天天日| 天天色月| 五月天另类综合网| 天插天啪天啪天啪| 婷婷五月花西瓜| 久久香蕉婷婷五月天| 黄网免费看| 激情五月天99色| 婷婷五月丁香色色| 亚洲AV无码影院| a性生活久久无| site:901-07.com| 六月婷婷色色色| 色综合播放| 天天日天天肏天天奸| 久久婷婷五月综合| 亚洲婷婷性爱| 丁香六月av| 婷婷五月丁香激情图片 | 性爱网六月丁香| 教师性爱毛片| 色综合色色色色| 69色婷婷| 丁香六月开心| 亭亭色天香| 97色五月天| 婷婷五月天xxx| 日日噜噜久久婷婷五月天| 草综合网| 丁香五月亚洲| 日韩欧美一级大黄网站| 国产精产国品一二三在观看| 婷婷五月乱交换| 国产女18毛片多18精品| 色婷婷丁香五月| 五月丁香久久| 亚洲V国产V欧美V久久久久久| 性无码专区无码| 小香蕉av| 99ri国产在线| 婷婷亚洲在线| 激情六月丁香| 影音先锋美国A| 婷婷不卡基地| 婷婷导航| 六月丁香影院| 亚洲成人一区| 婷婷五月天成人视频| 五月丁香欧美在线| 91超级碰碰| 久久久久久欧美精品se一二三四| 国产精品岛国片在线观看免费| 久久五月网| 色情五月天视频网| 噜噜国产| 欧美 色婷婷| 欧美日韩成人在线免费| 人人操A| 婷婷综合五月天亚洲综合| 久久天堂| 亚洲精品444久久久久久| 五月天操逼网| 这里只有精彩亚洲视频推荐| 青草激情综合| 五月丿香啪啪| 五月丁香六月婷婷手机无线| 激情综合网五月婷婷| 大香蕉福利导航| aaa久久| 立川无码av| 玖玖热视频| 亚洲中文乱字字幕在线永久| 欧美性爱一区| 99色性爰网络| 久操香蕉| 婷婷夜夜夜夜| 伊人激情AV一区二区三区| 国产成人AV在线播放| 婷婷色无码| 久久伊人五月天| 欧美精品18| 激情国产五月| 久热播这里只有精品| 色综合久久综合中文综合网| 4399在线观看免费高清黄色视频| 色停停五月天| 香蕉影院色| 激情六月天婷婷| 日本狠狠爽| 欧美va在线观看| 六月婷婷色综合| 热久久色| 亚洲色激情| 精品一二三区久久AAA片| 色婷久| 色五月丁香激情视频| 久久99热这里只频精品6学生| 五月天婷婷综合网| 高清无码.com| 天天操人人干| www。五月天激情| 婷婷五月丁香伊人| 97碰 在线视频观看| 五月丁香综合啪啪| 2017狠狠干| 日韩一级| 思思精品热在线| 五月天婷婷综合网| 99热 在线观看| 婷婷五月天影院| 91av视频在线观看最新网址| 播四月婷婷六月丁香| 亚洲亚洲人成综合网络| 天天日人人| 综合婷婷| 五月丁香久久网| 无码任你操| 99九九99九九九视频精彩| 五月花综合视频| 懂色av粉嫩av蜜臀av| 激情综合五月| 99re在线播放| 五月婷婷丁香av| 六月激情网| 亚洲操操操| 色综合狠狠色| 香蕉综合在线| 久久婷婷五月国产激情综合片| 欧洲色| 天天综合网~91| 婷婷六月丁| 99久99久| 色婷婷先锋| 婷婷五月丁香欧洲| 综合婷婷久久| 五月激情丁香久久综合网| 中文字幕在线观看视频www| 欧美啪啪9| 五月丁香大相交| 丁香五月六月综合欧美| 成人一级片| 啪啪色区| 亚洲五月天综合色| 日本激情综合| 亚洲顶级VA在线观看-高清完整版在线影院观看-S022AV | 五月开心网| 色五月天.con| 亚洲无码影音| 这里只有精品视频| 五婷婷六月合| 丁香六月欧美| 亚洲人妻av| 99re思思热在线视频| 日韩无码成人电影| 狠狠五月激情丁香六月| 51XX午夜影福利| 色色色色色色色色网站| 中文字幕日韩无码制服诱或| 亚洲一级AV在线免费播放| 婷婷情色五月天| 婷婷丁香五月综合| 五月欧美色色五月| 琪琪色五月天| 男女啪啪做爰高潮无遮挡| 久久草婷婷丁香网站| 中文字幕高清av| 成人电影在线免费试看| 婷婷性爱无码视频| 91九色国产| 婷婷五月天开心网| 九九这里有精品| 大香蕉久艹| 无码人妻丰满熟妇奶水区码| 91九色精品| 综合亚洲色色| 日日日日日| 99热最新| 日韩三级视频一区二区| 亚洲综合激情五月久久| 成人精品人妻| 日本五月天网站| 五月天婷亚洲天综合网综合| 五月天停停日日| 久久久久久久久久8888| 99热碰碰热| 99色热视频| 大香蕉伊人爱在线| 国产精品24r| 久草大| 天堂婷婷丁香六月网| 99福利导航| 久久这里99| 九九大香视频| 六月婷婷操逼| 播丁香五月婷婷欧美| 高清不卡一区| 久久小视频| 激情综合五月色在线| 色九综合| 中文字幕av网站| 噜噜噜久久| 天天草天天爽| 日本女人久久| 丁香六月激情| 国产成人亚洲综合亚洲| 九热...av| 狠狠五月天| 丁香五月天堂| 日本三级大片| 好吊丝aV| 伊人激情啪啪| 五月婷婷六月情| 伊人丁香五月| 九九九九九无码| 免费国产视频| 99在线视频资源| 五月婷婷久久爱| 精品一二三区久久AAA片| 亚洲精品色| 日本操B视频| 国产精品-91JQ就要激情网91JQ6.91JQ27.CASA:16888 | 激情综合九| 国产67194| 91狠狠综合久久久久久| 婷婷五月在线免费| 99无码视频| 色99自拍| 亚洲精品视频在线播放| 久er免费视频| 婷婷五月天激情网址| 五月丁香成人网| 激情AV在线| 99啪99| 婷婷九九视频| 99色天堂| 五月丁香在线国产 | 2025神马午夜福利| 99青青草99| 爱iii做iiii日日| 99婷五月| 欧美、日韩、中文、制服、人妻| 大香蕉人在线65| 天天操五月天| 婷婷五月天最新综合你懂的| 无码中文一区二区三区| 激情五月天伊人影院| 丁香激情婷婷网| 亚洲综合婷婷六月丁香五月| 亚洲人人操| 九九AV在线| 99精品久久| 天天色视频| www.久久| 超碰免费观看| 亭亭色色五月天| 99久久精彩视频。| 色综合久久88色综合中文字幕| 天天爱天天做天天爽| 久8色色| 激情五月小说婷婷| 九九热在线视频观看| 亚洲成人免费电影| 九九热狼人| 94干大香蕉| 丁香五月日韩| 1010日日无码| 91操碰| 亚洲精品V天堂中文字幕| 亚洲丁香五冃97色| 五月开心久久| 九九热视频网站| 五月天色在线| 色色激情网| 国产激情久久久| 婷婷激情久久| 日本精品在线噜噜噜| 亚洲 无码 中文字幕 中出| 激情五月色在线播放| 可以看的av| 五月大香蕉| 九九九九九九热| 色婷婷五月色| 精品,99| 五月婷激情| 伊人五月婷| 日韩 中文 欧美| 99热在线免费观看精品| 色色狼人综合| 色情成人五月天| 久久九色| 9久久网| 97香蕉碰碰人妻国产欧美| 三十路磁力链接| 97人人搞| 久婷视频| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 全高清无码视頻| 呦呦v线| 欧美色色色色色色色色色色| 六月色 亚洲| 777久久精品| 婷婷五月天在线观看| 大地资源色婷婷视频在线| 九九青草热| 热99这里只有精品视频| 欧洲色区| 伊人五月天日日夜夜久久久天天| 在线中文字幕av| 日韩欧美性爱| 久久性爰视频这里只有精品| 五月天激情小说| 色九亚洲| 97人妻碰碰碰久久香蕉| 色婷婷五月天成人网| 91人妻人人操| 热99只有精品| 色偷偷AV亚洲男人的天堂| 91操片| 五月丁香婷婷综合视频| 99久久婷婷综合| 亚洲第一色色色| 天天搞天天爽| 噜综合| 久久99久久99精品免视看婷| 激情五月丁香社区| 久久在这里99| 九九久久99精品免费观看www| 九热视频| 正宗黄色毛片| 久久婷婷内射| 97色婷| 九色自拍| 天天插天天插天天操| 欧美大香蕉视频| 婷婷久久伊人| www,久久久| 色五月超碰| 99精品在线观看| 99热99| 野战毛片三一3| 伊人五月天久久| 亚洲综合丁香五月天| 色婷丁香91| 99热这里只有精品13| 国产伦亲子伦亲子视频观看| A色色| 97碰碰免费.视频| 伊人久久丁香婷婷六月五月综合| 亚洲欧美国产A片免费观看| 这里只有精品网站| 亚洲色图五月丁香| 亚洲乱码日产精品BD在线观看| 99热国产这里只有| 99精品丰满| 色欲色香伊人| 亚洲无码成人| 日本猛少妇色XXXXX猛叫| 国产精品五月丁香| 精品国产a| 中文在线成人| 我爱婷婷五月天综合88| 97超喷视频在线观看| 婷婷色五月色| 好好干Av| 婷婷五月精品| 99精品热| 玖玖资源站中文| 亚洲综合另类| 成人.在线日韩| 这里只有精品网| 9热在线观看| 欧美操人| 懂色AⅤ| 操久久精| 天堂成人A片永久免费网站| 婷婷香五月综合激情| 国产探花一片区| 亚洲午夜AV| 国产精品第一国产精品| 亚洲九九视频| 五月婷婷 六月丁香| 成人五月天。COM| www.五月天色色.com| 精品久久人妻热| 超级久久久| 可以看的AV| 思思热精品在线观看| 久久久久8888| 日韩欧美成人一区二区三区| 91九色首页| 亚州日本欧州韩美高青高潮一| 先锋男人91资源| 久久性视频| 五月丁香黄色视频| 久久国产性爱A V| 在线观看996精品| 少妇大叫太大太粗太爽了A片| 5月丁香婷婷激情网| 丁香六月天AV| 国产五月天婷婷| 五月婷婷香蕉| 婷婷五月天丁香| 九色无码| 婷婷爱五月| 婷婷五月天激情亚洲小说| 久久婷婷色色| 精品99在线观看| 成人做爰A片免费看网站找不到了| 99热碰碰| 99热6这里只有精品| 人人爱天天摸摸天天爱| 第四色婷婷日本| 色婷婷四虎| 亚州美女| 色婷婷影院| 东京热伊人| 婷婷丁香五月综合网上 | www.jiujiujiu| 亚洲丁香五月在线观看| 日日撸天天干| 亚洲成人电影aaaa| 丁香五月狠狠综合欧美| 热的国产,热的综合,热的有码| 超碰在线免费9| 97在线视频 欧美| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 激情久久肏屄视频| 99视频只有精品| 五月久久丁香| 五月丁香六月婷婷久久| 天天综合网网欲色| 日本激情五月| 五月丁香青草综合啪啪| 九九久久综合网站| 婷婷五月精品中文字幕| 99在这里有精品| Www.婷婷五月| 五月婷婷激清网| 四虎婷婷五月天| 丁香五月天色| 伊人成人宗合网| 久久久思思热| 丁香六月av| 久久视频这里都是精品| 五月天婷婷色小说| 五月深爱激情网| SESE无码AV| 99久久玖玖| 伊人深爱综合| 婷婷五月天影院| 成功精品影院| 爱射综合| av国产精品| ..真实国产乱子伦毛片| 五月婷久久综合| 久草嫩草在线观看| 激情人妻综合| 婷婷五月天成人动漫 | www.色五月| 色色欧美色色色| 丁香婷婷狠狠97| 免费播放AV| 爆乳熟女一区二区三区爆乳| AV色五月婷婷| 俺去也在线官网| 久久久精品人妻| 久久 婷婷 五月天| 八戒青柠影视剧在线观看| 国产精品成人AV在线观看春天| 91男女视频在线观看| 99久99久| 久久久99视频| 99热这里只有精品96| 久草五月天| 96精品久久久久久久久| 第九色区av天堂| 国内久久婷婷| 丁香五月天无码AV| 丁香五月婷在线| 色色色在线观看| 五月天啪啪啪| 人人97操| 97婷婷丁香五月天激情图片| 性综合网| 欧美三级巜人妻互换| www.韩日视频| 久久这里只有国产| 夜夜撸天天操| 99爱爱| 自拍视频在线观看9| 99操| 五月天播播| 97在线精品视频| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | 黄色精品五月婷婷| www,婷婷五月天,com| 成人电影在线免费试看| 亚洲激情四谢| 婷婷亚洲五| 人人草人| 搡BBBB搡BBB搡18| 日本97久久久精品| 五月激情婷婷开心| 婷婷色在线| 九九热婷婷| 久久99久久99精品免视看婷婷| 色欲午夜无码久久久久久张津瑜| 色香蕉婷婷| 婷婷伊人綜合中文字幕| 久久怕怕视频| 日韩三级视频一区二区| 五月社区婷婷激情| 开心激情婷婷| 五月丁香婷婷在线| 五月丁香婷婷欧美| 五月丁香久久激情综合| oVV4WIB3vFi8D| 婷婷丁香人妻天天爽| 日韩AV中文字幕在线| 五月人人丁香婷婷五月人人丁香| 色婷操逼| 九九热re99re6在线精品| 26UUU在线观看| 狠狠五月天| AV在线免费网站| 丁香六月婷婷色XXXXX| 婷婷D区| 激情涩涩网| 亚洲激情av| 五月天婷婷社区久久综合| 天天精品视频在线观看视频| 少妇大叫太大太粗太爽了A片| 九九九精品视频免费观看| 国产免费AV在线| 婷婷欧美激情| 五月婷婷五月天| 日韩成人影片在线观看| 激情五月丁香综合网站 | 大香蕉太香蕉视频97| 26uuuavcom| 中文字幕按摩做爰| 激情五月综合色婷婷| 综合婷婷| 色人五月婷婷| 9国产在线视频| 亚洲综合色丁香五月天| 超级碰碰97在线| 丁香六月婷婷综合麻豆| 91性交在线播放| 插插干干干色| 99热最新网址| www.丁香黄色五月天人与| 深爱激情五月天色婷婷| 精品欧美性爱超级爽| 五月婷成人网| 五婷婷综合网| 五月丁香在线综合| 91精品婷婷国产综合久久| 日韩成人综合网| 亚洲超碰在线| 丁香五月成人| www.色五月天.com| www.com色播五月天| 激情综合激情综合| 丁香无月在线观看| 国产午夜精品一区二区三区四区| 2020久久婷婷五月| 丁香五月综合激情久久潮喷| 色噜噜五月天| 超碰三级秋霞| 婷婷五月丁香基| 五月天五月天激情网| 大香AV| 综合网亚洲| 六月丁香婷婷色综合| 在线观看视频1区| 99视频精品在线| 色情综合| 伊人狠狠狠综合| 久久区区一二三av| 婷婷伊人| 色婷婷成人| 99操中文视频| 7EzOBIhNq85TO| 综合色播| 成人必爱视| 99热最新国内| 99这里只有精品|v| 丁香六月激情综合啪啪| 欧美精品啪啪| 九九综合九| 26uuu丁香婷婷五月| 激情播丁香| 97碰人人操| 婷婷在线播放| 九九精品综合| 丁香六月亚洲综合| av中文在线| 天堂美国久久| 久久久久9| 五月婷婷之综合激情| 久久只有精| 欧美三级大片AA在线看| 大香蕉九九| 色99在线观看| 色亭亭五月天网扯| 亚洲精品国产成人AV在线| 狠狠干五月| 成人日韩欧美| 六月婷婷五月丁香| 淫荡综合网| 久久香蕉影院| 日本一毛片| 99ri网站在线观看| www。狠狠干。com| 超级黄色片| 国产成人精品一区二三区熟女在线| 五月婷婷影视| 五月综合色| 天天干天天色综合| 亚洲国产精品VA在线看黑人| 99热日本| 天天插天天日天天爽| 婷婷丁香社区| 99re思思久久| 色色五月天丁香婷婷| 婷婷丁香综合| 五月婷婷中文网| 婷婷五月丁香五月| 亚洲中文字幕AV| 婷婷玖玖丁香| 综合久久伊人| 中文字幕综合色| 风流少妇A片一区二区蜜桃| 97人人射| 第五色色色婷婷| 久久久久人妻精选| 九九热视频在线观看| 任你爽精品免费视频6| 亚洲av骚货| 99国产性感视频| 六月丁香激情最新更新| 岛国资源网| 五月天国产成人| 色啪综合| 丁香综合婷婷开心激情网| 日韩色久| Av九九| 激情黄色小说色五月| 天天色99| 女同激情久久av久久| 成人av在线网址| 91精品国产日韩91久久久久久国模| 色综合播放| 9色在线| 色狠狠色噜噜AV天堂五区| 五月天伊人| 成AV人片一区二区三区久久| 99热精品在线| 爱99干99| 日本高清不卡免费一区二区三区| 99啪在线| 色综合久久88色综合天天99| 伊人激情啪啪| 久久婷婷五月国产激情综合片| 五月总合激情网| 天天操夜夜夜拍拍拍| 丁香五月天精品| 在热视频精品| 中文久久婷婷| 国产精品电影| 少妇人妻人伦A片| 五月做爱| 国产精品日日躁夜夜躁| 亚洲综人色综网| 激情的五月| 久色五月| 骚五月婷婷| 五月丁香啪| 丁香桃色综合网| 99思思热只有在这里看| 天堂久久婷婷| 丁香六月婷婷| 婷婷影院A成人| 9色免费网| www.五月婷婷久久.com| 五月激情精品视频| 五月天天爽| 91人人爽狠狠狠| 97 天堂| 成人在线网站| 丁香 婷婷五月| 午夜丁香五月天综合| 99在线观看精品| 日韩ww| 色丁香五月| 亚洲激情无码久久| 99精品在线| 成人av免费观看| 亚洲视频在线网| 视频这里只有精品| 六月婷婷最新网址| 噜噜色五月| 五月开心色| 精品久久99| 六月婷婷视频| 激情五月综合免费| 色婷婷a| 无码激情AAAAA片-区区| 日本久草福利| 亚洲美女婷婷五月天| 精品无吗va视频免费观看| 亚洲精品99| 亚洲熟女乱色综合亚洲网站| 亚洲Av入口| 久婷婷| 丁香六月激情综合网| 五月婷婷色男女| 久久538| 日韩一级一片内射视频4K| 色五月婷婷综合| 婷婷五月激情在线视频| 少妇人妻人伦A片| 久久综合首页| 99这里是精品| 欧亚成人A片一区二区| 丁香婷婷五月综合影院| 天天干夜夜想| 婷婷丁香18| 伊人婷婷青青cao| 97干婷婷| 欧洲区自拍| 思思久久青草热| 八戒青柠影视剧在线观看| 7777激情基地| 99riAV国产精品视频| 欧美日韩一区二区三区四区| 丁香六月毛片| 欧美性做爰大片免费看办公室| 丁香激情网| 日韩黄色电影| 婷婷综合另类| 色色色色色网| 日本全黄一级999| 狠狠色噜噜狠狠狠狠狠色综合久久| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 中文字幕乱轮| 新激情婷婷| 欧洲日韩一区二区三区| CHINESE熟女老女人HD视频| 色五月综合网| 婷婷激情综合网| site:hcxsz888.com| 久草大| 97干欧美| 五月丁香激情啪啪| 人人爱干人人爱草| 五月激情小说| 亚洲综合激情五月天婷婷| 亚洲成人免费在线| 日本va欧美va欧美va精品| 亚洲国产99| 婷婷五月激情热播| 久久婷婷五月天| 五月丁香六月婷婷在线小说视频| 99无码| 91人人妻人人操人人爽| 丁香五月六月婷婷殴美综合| 色色丁香婷婷五月天| 99在线精品视频免费观看20| 久久婷婷东京热大香樵| 99激情| 大香蕉啪啪| 丁香五月人妻| 五月社区婷婷激情| 啪啪色激情五月天| 狠狠99| 五月天综合在线| 丁香六月婷婷| 六月天无码网址| 超级碰碰视频无码| 大香蕉天堂| 综合97五月| 无码少妇高潮喷水A片免费| 性爱在线播放av| 男人的天堂99| 美女网黄| 婷婷综合五月激情| 伊人影院久久网| 成人片在线播放| 99久久国产宗和精品1上映| 性欧美大战久久久久久久83| 色色射| 97热视频| www.91五月| 九九無妻| 新久久五月天激情| 婷婷五月天久草在线| 999热这里只有精品| 99久久99视频只有精品| 丁香五月,激情五月,深爱五月| 天天操天天国产三级片处女学生妹| 五月天天视频| 丁香五月婷婷综合视频| 影音先锋 一区| 激情丁香五月| 少妇达人正片在线播放_ikun_福利吧| 国产成人av在线| 丁香婷婷久久| 色噜噜狠狠一区二区三区| 啪啪一区| 婷婷黄色网| 亚洲综合色色色| 五月婷婷激情久久| 五月色综合网欧美网| 中文婷婷狠狠| 婷婷五月影院| 五月天国产| 狠狠色丁香99| 美女黄频aⅴ视频| 一区二区三区四日本| 99riAv1国产在线观看| 五月天伊人av| 97色色色| 九月色婷婷婷| 99视频内射三四| 五月婷婷激情日本| 丁香成人色情五月天| 六月丁香婷婷视频综合在线观看| 丁香社92视频| 国产乱妇无乱码大黄AA片| 99这里都是精品| 婷婷综合五月天亚洲综合| 丁香五月网络网络| 色域五月婷婷丁香| 色色热日| 香蕉影院色| 欧美99热| 51XX午夜影福利| 五月在线| 五月丁香婷婷婷婷综合网| 丁香婷婷六月激情文学| 香蕉视频91| 成片免费观看大全| 无码 av电影| 婷婷五月色| 婷婷开心激情| 成人一级片| 五月丁香六月婷婷色情| 综合激情五月天六月婷免费视频| 五月丁香999| 性日本激情| 亚洲av成人在线| 日本精品干| 久久超视频| 超碰AV成人| 久色大香蕉| 黄色激情网站在线观看| 婷婷丁香无码专区| 黄桃AV无码免费一区二区三区| 五月婷婷色播| 激情五月天婷婷五月天| 五月婷婷成人| 色色色色热| 婷婷大香蕉| 日韩另类| 婷婷五月天激情小说| 国产成人网| 五月天婷婷色色| 久久网日本| 五月丁香六月综合基地| 这里只有精品在线视频在线观看| 日本色色视频| 怡红院视频| 婷婷丁香五月激情| 五月99久久| 国产avapp 网| 99操久久| 噜噜视频| 日韩AV免费电影在线播放| 久久在线视频免费观看| 亚洲精品又粗又大又爽A片| 99久久国产宗和精品1上映| 五月天婷婷综合色| 婷婷五月丁香99| 综合九色| 9福利性视频欧美| 九九综合久久| 影音先锋女人av鲁色资源网小说免费 | 丁香五月另类小说在线阅读| 久热这里只有精品在线观看 | 国产精产国品一二三在观看| 密着浓厚中出乚交尾GvG935| 精品热青草| 天堂久久大香蕉| 91视频一起草| 欧美成人无码一区二区三区| 成人AV在线网站| 五月婷婷自拍视频| 热99视频| 丁香五月天社区| 超碰99在线观看| 深爱激情五月天| 欧亚成人A片一区二区| 久久久人人操A V| 中文精品在| 五月天天天综合| 伊人网色婷婷五月天| EEUSS鲁片一区二区三区| 五月丁香色情| 国产毛片精品一区二区色欲黄A片| 五月天另类小说久久小说网| 激情婷婷丁香五月天| 亚洲激情无码久久| 婷婷激情五月天小说校园| 91人操人人人操人| 成人做爰A片免费看网站找不到了| 成人国产网| 91免费看片| 六月色婷婷欧美| 神马欧美精| 婷婷丁香成人| 日韩三级视频一区二区| 色人久久| 色婷五月天激情| 99精品视频免费观看| 99热人人艹| 婷婷五月色综合| 色久免费| 九九99免费视频| 狼人伊人天堂| 日韩亚洲视频| 天天插综合| 五月婷婷无码| 色婷婷情片| 五月色 亚洲| 大香蕉婷婷丁香视频在线| 免费无码毛片一区二区A片| 丁香花成人区| 婷婷五月天深爱| 色婷婷五月综合| 爱狠射| 加勒比色色| AV在线观看网站| 操日本色| 婷婷区日本| 国产色网站| 99久久婷婷五月| 国内裸舞二区| 9久国产精品| 久久天堂色| 婷婷深爱五月亚洲综合| 91人人爽狠狠狠| AV中文字幕夜夜操b天天摸bb| 天天上天天爽| 成片免费播放| 成人在线视频一区| 综合网五月天123| 青柠影视免费高清电视剧| 中文字幕永久免费| 丁香五月香蕉| 人人97操| 五月天深爱激情网| 亚洲视频一区| 青青.com| 99精品热| 五月婷精品| 色综合天天| 久久狠婷婷| 色色哒五月婷婷六月丁香| 日产精品久久久久久久蜜臀| 久久XX| 综合网亚洲| 日本熟妇精品99| 婷婷激情六月视频| 久久大香免费| 五月天婷婷影院影院观看| 婷婷激情五月呦呦| 97色色色色色色色色色色色色色| 五月激情小说| 都市激情蜜桃婷婷五月天| 91啪啪视频| 日本三级大片| 狠狠草在线观看| 综合久久9| 久草五月婷婷| 日韩亚洲视频| 超碰久热| 色五月天影视| 五月色婷婷综合| 婷婷精品视频| 99热这里只有精品2| 久久伊人婷婷| 操操碰| 婷婷亚洲激情在线观看视频| 色婷婷丁香五月| 久久一二三视频| 99热网精品| 丁香五月天啪啪激情综和网| 久久caop| 色五XX| 五月婷婷色白丝| 日本成人噜噜噜| 猫咪伊人久久| www.婷婷| 爱爱色五月天| www.com久久久久久久久久久久久久久久久| 欧美亚洲操逼| 东京热人妻一区二区三区在线| 五月天成人网在线观看| 五月婷婷与六月丁香图片激情| 色五月婷婷基地| 婷婷色网| 狠狠五月婷婷| 亚洲成人五月天| 97亚洲婷婷| 99久久6| 人人人人人人人人人草| 思思久久久婷婷| 婷婷五月天高清无码| 丁香婷婷五月六月久久| 久久五月天婷婷| 99热综合在线观看| 久久久五月天网站| 色婷婷五月综合在线| 异能之下短剧免费观看全集| 亚洲熟妇AV乱码在线观看| 丁香婷婷五月基地| 久色五月天| 五月婷婷丁香| 天天激情| 婷婷五月色综合| 五月色综合| 思思国产99| 最新av在线观看| 婷婷97狠狠成人网站| 五月六月伦理| 日本色色图| 婷婷99狠狠躁天天久久久九九九| 亚洲激情久久| 综合激情五月四射婷婷| 91干婷婷| 天天操天天曰| 激情网婷婷婷| 大香蕉婷婷色| 久久99草五月婷婷| 丁香九月婷婷综合| 婷婷五月丁香成人| 天天操天天插天天射| 丁香六月婷婷色XXXXX| 综合色综合| 97人人看| 九九99偷拍视频| 久久性爱视频网站| 天天天天天日| 婷婷五月情色| 婷婷激情四射网| 在线18av | 久草婷婷| 能直接看的av网站| 亚洲五月六丁香激情| 丁香九九九九| 日比视频91| 婷婷视频网| 99九色视频在线观看| 五月丁香五月天现场视频| 婷婷射丁香| 亚洲精品网址| 欧美日本韩国亚洲| 人妻熟妇国产精品| 99在线精品视频| 互月天综合| 婷婷五月天黄色| 正宗黄色毛片| 97碰碰草| 日本三级中国三级99人妇网站| 色婷婷电影网| 国产精品久久久久久五月天加勒比| 亚洲不卡欧洲| 大香伊人婷婷| 7777国产盗摄农村女人| 五月综合视频| 色综合色综合网| 日本美女五月天| 五月婷婷激情四月| 婷婷五月欧美综合| 另类专区在线观看| 久99久99精品免| 9 9 9色色| 久久电影五月天丁香电影| 国产成人精品亚洲线观看| 能看的av| 91丨九色丨大屁股| 久久婷婷久久| 日本三级中国三级99| 五月婷婷激情综合av| 色色色国产| www.亭亭五月天| 天天射影视综合网| 97人人草| 五月天激情播播网| 天天久久66xxx| 草综合网| 婷婷五月天成人在线视频| 九色91视频| 亚洲免费看片| 337p大胆噜噜噜噜噜91Av| 色五月婷婷影院| 伊人激情综合网| 午夜爱爱网站| 变态另类9| 99操久久| 日本色色图| anquye伊人| 亚洲精品操一操、噜一噜、摸一摸、爽 | 超碰成人AV| 大香线蕉伊人| 亚州操操| www.激情五月天。com| 五月婷婷综合网| 婷香五月网在线| 91啪级电影| 婷婷娱乐丁香综合网| 26uuu另类亚洲欧美日本一| 综合五月婷婷| 五月久久婷婷天堂视频| 第四色激情网| 五月天成人免费视频| 欧美日韩成人在线| W色综合| 五月丁香婷婷综合网色欲| 99热 在线播放| 99热这里全是精品| 五月综合视频| 国精产品一区一区三区免费视频| 思思热在线观看| 亚洲精品又粗又大又爽A片| 婷婷97C| 激情图片久久| 久久久这里都是精品| 99热99热在线观看| 日韩激情人伦人| 激情五月综合婷婷| 99热自拍| 国产亚洲在线观看| 激情婷婷狠狠干综合| 亚洲人成网站999综合| 91精品婷婷国产综合久久| 成人五月天色天堂| 99久久精品视频女神1| 激情婷婷久久| www狠狠| 欧美激情-区二区三区| 99资源在线视频| 综合亚洲六月婷婷在线| 色婷婷五月天在线| 无码色| 日日撸夜夜操| 肏日网在线看| www.久久久久| 99免费热视频| 日韩亚洲视频| 99精品视频在线观看| Caop在线| 包操45分钟网站| 人妻久久久久久| 激情综合婷婷| 国产午夜精品一区二区三区四区| 亚州色综合| 丁香五月天激情婷婷丁香六月| 秋霞AV吧| 综合99久久天天综合| 五月天天天开心激情网| 丁香六月婷婷综合欧美| 思思热在线播放| 日韩性爱无码| 五月丁香五月丁香| 在线观看av网站| 91打屁股免费看| 玖玖爱综合网| 五月婷婷丁香瑟瑟视频| 久久人人妻| 久婷久婷激情肉| 狠狠干激情五月| 色五月av| 久久五月婷综合| 国产67194| 99精品热| 天天射网站| 色色色色热热| 丁香五月婷婷视频| 五月天激情国产综合婷婷婷| 婷婷五月综合网| 亚洲激情精品| 国产成人精品亚洲线观看| 天天综合五月| 五月色婷婷综合| 天堂无码人妻精品AV一区| 日韩欧美成人片| 婷婷五月天激情诱惑| 午夜少妇在线观看视频| 久久综合九九| 五月激情综合网| 日韩成人电影av| www开心激情网| 开心激情站| 骚五月婷婷| 亚洲成人va| 国产乱人偷精品人妻A片| 天堂色婷婷| 色亚洲欧洲| 亚洲精品V天堂中文字幕| 91九色国产| 人人爽天天爽| 伊人婷婷99热精品| 五月丁香五月丁香| 色综合综合色| www.久9| 久热网在线视频| 亚洲网站观看视频| 人妻内射麻豆视频| www.99视频| 99视频这里只有免费精品| 亚洲、热| 琪琪色网址| 天天撸夜夜爽| 婷婷中文字幕网站|