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

ARTICLE DETAIL

資訊詳情

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

SD卡日志記錄中斷?從緩沖區(qū)、電源到FAT文件系統(tǒng)的根治指南

SD卡日志記錄中斷?從緩沖區(qū)、電源到FAT文件系統(tǒng)的根治指南 SD卡數(shù)據(jù)記錄這種活兒看起來簡單不就是開個(gè)文件、寫數(shù)據(jù)、關(guān)文件嘛。但真正在野外跑起來十個(gè)項(xiàng)目里有八個(gè)會(huì)栽在同一個(gè)坑上設(shè)備剛上電時(shí)一切正常日志一條條往里寫看著很順利??蛇^了幾分鐘、幾小時(shí)最多撐不過一天日志就悄悄停了。你翻SD卡前半段數(shù)據(jù)好好的后半段什么都沒有連個(gè)報(bào)錯(cuò)殘留都沒有。要是重啟一下設(shè)備它又能正常記錄一段時(shí)間然后再次沉默。這種“只記錄短時(shí)間”的問題我這些年修過不知道多少次從Arduino級(jí)別的小記錄儀到工業(yè)級(jí)的采集盒子都遇到過。今天把排查思路和根因一次性講透。先說個(gè)反直覺的結(jié)論大部分“記錄中斷”根本不是SD卡壞了也不是程序邏輯里寫文件那行代碼出了問題。真正的原因是系統(tǒng)某個(gè)環(huán)節(jié)被堵死、被餓死、或者被電壓波動(dòng)打了個(gè)措手不及。只是這些問題全都暴露在“SD卡寫入”這一步上所以看起來像是卡的錯(cuò)。你要是不把思路從“寫文件”上挪開光盯著SD卡換卡、換格式化工具問題永遠(yuǎn)復(fù)現(xiàn)、永遠(yuǎn)修不好。下面對(duì)標(biāo)我實(shí)際踩過的場景按“現(xiàn)象 - 根因 - 驗(yàn)證 - 根治”的順序拆開講順帶附上可以直接抄作業(yè)的排查流程。1. 先還原現(xiàn)場短時(shí)記錄背后的三類典型表象排查之前先搞清楚你到底面對(duì)的是哪種“停”。同樣是記錄中斷表象不同指向的根因完全不同。我最怕收到的問題描述就是“它停了”沒別的了。你一定要去把SD卡拿回來看文件系統(tǒng)實(shí)際長什么樣這會(huì)直接砍掉一半的排查分支。1.1 表象A文件系統(tǒng)完好日志戛然而止最常見的一種。SD卡插到電腦上文件系統(tǒng)能正常識(shí)別目錄結(jié)構(gòu)也沒壞就是最后一個(gè)文件寫到某個(gè)時(shí)間點(diǎn)之后不再增長。文件大小停在幾十KB、幾MB打開看末尾是完整的半行數(shù)據(jù)沒有亂碼沒有截?cái)嗪圹E。這種表象往往指向邏輯層面的停止——程序還在跑或者已經(jīng)死了但無論如何都沒有再執(zhí)行寫入操作。常見原因包括緩沖區(qū)寫滿后主循環(huán)被阻塞系統(tǒng)進(jìn)入死鎖或看門狗復(fù)位。采樣線程崩了或者FIFO隊(duì)列滿了之后寫入線程被暫停又沒有恢復(fù)機(jī)制。文件打開失敗后錯(cuò)誤處理分支里有個(gè)while(1)死循環(huán)代碼就停在那了。判斷方法很簡單看最后一條數(shù)據(jù)的時(shí)間戳和程序預(yù)期行為是否對(duì)齊。如果最后一條數(shù)據(jù)正好卡在某個(gè)整點(diǎn)、某個(gè)采集周期邊界大概率是軟件邏輯問題而不是硬件問題。1.2 表象B文件損壞、目錄亂碼、卡上出現(xiàn)碎片文件SD卡拔下來插電腦系統(tǒng)提示需要格式化或者目錄里出現(xiàn)一堆“.$$$”臨時(shí)文件、文件名變成亂碼、文件大小為0。這種屬于寫入過程中突然掉電或復(fù)位FAT表沒來得及更新。注意一個(gè)容易被忽略的細(xì)節(jié)SD卡寫入不是直接改扇區(qū)而是先寫數(shù)據(jù)區(qū)再寫FAT表。如果中途斷電數(shù)據(jù)區(qū)可能已經(jīng)寫進(jìn)去了但FAT表沒更新表現(xiàn)出來就是文件大小不對(duì)、數(shù)據(jù)在但文件打不開、或者殘留一堆臨時(shí)文件。這種情況在電池供電的設(shè)備上尤其常見。電池電壓隨著放電逐漸下降當(dāng)電壓跌到SD卡或主控的最低工作電壓附近時(shí)系統(tǒng)會(huì)處于一種“半死不活”的狀態(tài)——主控還在運(yùn)行SD卡卻開始丟響應(yīng)程序反復(fù)重試最終卡死或復(fù)位。復(fù)位瞬間如果正好在寫FAT表文件系統(tǒng)就爛了。1.3 表象CSD卡“消失”必須重新插拔才能恢復(fù)這種最詭異程序還在跑指示燈還閃著但SD卡就是讀不到、寫不進(jìn)。你通過串口打印調(diào)試信息會(huì)看到類似“card init failed”或者“write timeout”的錯(cuò)誤。重啟程序沒用必須物理斷電或者把卡拔出來重新插進(jìn)去才能重新初始化。這種往往是SD卡進(jìn)入了保護(hù)狀態(tài)或者電氣連接出現(xiàn)異常。常見原因SPI模式下SD卡被錯(cuò)誤的電平信號(hào)干擾進(jìn)入休眠或錯(cuò)誤狀態(tài)。電源紋波過大導(dǎo)致卡內(nèi)部邏輯混亂但主控還能撐住。卡座接觸不良振動(dòng)環(huán)境下偶發(fā)性斷路。更隱蔽的情況你的程序在檢測到寫錯(cuò)誤后沒有做重新初始化而是直接放棄之后所有寫入嘗試都走錯(cuò)誤分支表現(xiàn)為“卡消失了”。這三種表象經(jīng)?;旌铣霈F(xiàn)。比如先有電壓波動(dòng)導(dǎo)致寫失敗程序處理不當(dāng)又引發(fā)邏輯死循環(huán)最后表現(xiàn)出來既是B又是A。所以拿到卡之后先做一件最基礎(chǔ)的事把卡掛到電腦上用磁盤檢查工具掃一遍然后直接看卡里日志文件的十六進(jìn)制末尾記錄它“死在哪個(gè)操作上”。2. 緩沖區(qū)與寫入速度的失衡數(shù)據(jù)記錄中斷的第一大元兇2.1 緩沖區(qū)為什么會(huì)滿采樣率與寫入速率的靜態(tài)計(jì)算很多記錄中斷根源就是一句話采樣速率 寫入速率緩沖區(qū)被填滿沒有退路。在MCU環(huán)境下SD卡的寫入速度遠(yuǎn)低于你想象的數(shù)字。以常見的SPI模式SD卡為例實(shí)測連續(xù)寫入速度不計(jì)文件系統(tǒng)和磨損均衡大致在SPI時(shí)鐘20MHz單塊寫入大約500~700 KB/sSPI時(shí)鐘10MHz單塊寫入大約250~350 KB/s如果用的是FatFs 寫小文件 每寫一次就flush一次速度可能掉到幾十KB/s甚至更低。而你如果以較高的采樣率在采集數(shù)據(jù)比如每通道1kHz、雙通道、每個(gè)樣本2字節(jié)那一秒就是4KB看起來不多但如果你的采集任務(wù)里還有波形計(jì)算、浮點(diǎn)運(yùn)算、顯示刷新、無線發(fā)送主控能留給SD卡的時(shí)間遠(yuǎn)沒有你以為的那么多。我遇到過最典型的案例一個(gè)設(shè)備采集加速度計(jì)數(shù)據(jù)采樣率2kHz每個(gè)樣本6字節(jié)理論上每秒12KBSD卡完全扛得住。但程序用的是單緩沖主循環(huán)里先采集一批數(shù)據(jù)然后調(diào)用f_write寫入。f_write內(nèi)部要先查FatFs的狀態(tài)、移動(dòng)文件指針、搬數(shù)據(jù)到內(nèi)部扇區(qū)緩沖實(shí)際耗時(shí)可能高達(dá)幾十毫秒。在寫入期間中斷照常觸發(fā)采集數(shù)據(jù)往哪放只能放同一個(gè)緩沖區(qū)。緩沖區(qū)被覆蓋數(shù)據(jù)丟了程序卻完全不知道。然后系統(tǒng)繼續(xù)運(yùn)行表現(xiàn)就是日志文件有數(shù)據(jù)但數(shù)據(jù)中間缺了一大段看著像“記錄了一段時(shí)間就停了”。如果你用的緩沖區(qū)是固定數(shù)組沒有做“滿了就丟棄”或“滿了就覆蓋”的策略那緩沖區(qū)寫滿后唯一的下場就是寫指針覆蓋讀指針或者主循環(huán)阻塞等待緩沖區(qū)空出來——而緩沖區(qū)永遠(yuǎn)不會(huì)空因?yàn)閷懭刖€程也被卡住了。2.2 致命習(xí)慣只在緩沖區(qū)滿時(shí)才一次性寫入新手最常犯的錯(cuò)誤是采集數(shù)據(jù)放到緩沖區(qū)等緩沖區(qū)滿了才一次性寫SD卡。這個(gè)設(shè)計(jì)貌似合理緩沖區(qū)大小設(shè)成512的整數(shù)倍一次寫入正好一個(gè)扇區(qū)效率最高。但問題在于緩沖區(qū)滿之前的那段時(shí)間如果采集線程一直在填寫入線程沒有機(jī)會(huì)介入。具體來說假設(shè)緩沖區(qū)是4KB采集速率是2KB/s那么2秒后緩沖區(qū)滿了。這時(shí)候觸發(fā)f_write寫入4KB數(shù)據(jù)。在寫入期間采集線程繼續(xù)運(yùn)行又產(chǎn)生了新數(shù)據(jù)。新數(shù)據(jù)往哪放緩沖區(qū)還是那4KB已經(jīng)被寫入線程鎖住或者正在被讀取。要么丟數(shù)據(jù)要么阻塞采集線程要么雙線程共享緩沖區(qū)互相踩踏。解決思路只有兩個(gè)方向雙緩沖交替寫入采集線程寫B(tài)uffer A滿了之后切換Buffer B同時(shí)把Buffer A交給SD卡寫入。寫入期間采集線程繼續(xù)用Buffer B互不干擾。環(huán)形緩沖 丟舊保新或丟新保舊寫入線程持續(xù)工作緩沖區(qū)始終留有余量滿了就覆蓋最舊的數(shù)據(jù)。這兩個(gè)方案不只是實(shí)現(xiàn)差異背后的可靠性模型完全不同。雙緩沖在數(shù)據(jù)完整性上更好但對(duì)時(shí)序要求高你必須在緩沖區(qū)切換間隙完成所有寫入環(huán)形緩沖在實(shí)現(xiàn)上更簡單但必須有明確的數(shù)據(jù)丟失策略并且要在日志里標(biāo)記丟了多少數(shù)據(jù)否則后續(xù)分析數(shù)據(jù)時(shí)會(huì)被誤導(dǎo)。2.3 寫入完成時(shí)間是個(gè)系統(tǒng)性殺手很多人只算平均寫入速度忘了算最壞寫入時(shí)間。SD卡的寫入速度不是恒定的實(shí)際測試中blocking write單次512字節(jié)的耗時(shí)可能從幾毫秒到幾百毫秒不等。特別是在跨FAT簇邊界時(shí)需要額外讀改寫FAT表文件系統(tǒng)碎片化之后寫入前需要查找空閑簇劣質(zhì)卡或老卡的擦除操作特別慢卡接近滿時(shí)閃存內(nèi)部GC垃圾回收占用大量時(shí)間。如果你在主循環(huán)里同步調(diào)用f_write那f_write最壞耗時(shí)幾百毫秒意味著你的系統(tǒng)每寫一筆數(shù)據(jù)就“卡頓”幾百毫秒。采樣線程如果在這段時(shí)間里被阻塞就會(huì)丟數(shù)據(jù)如果采樣靠中斷中斷服務(wù)程序里塞了采集邏輯那直接就是中斷丟失數(shù)據(jù)采不全。所以凡是采樣率超過1kHz、單次寫入數(shù)據(jù)量超過512字節(jié)的場景我強(qiáng)烈建議用RTOS 任務(wù)間隊(duì)列或者狀態(tài)機(jī) 環(huán)形緩沖來解耦采集和寫入。采集任務(wù)只負(fù)責(zé)往隊(duì)列里丟數(shù)據(jù)寫入任務(wù)在空閑時(shí)批量取數(shù)據(jù)、批量寫SD卡。這樣SD卡寫入再怎么慢都不影響采集時(shí)序。從實(shí)操上看我常用的一個(gè)判斷公式是緩沖區(qū)大小字節(jié) / 采樣速率字節(jié)每秒 最長可容忍寫入阻塞時(shí)間秒只要這個(gè)值小于SD卡最壞寫入耗時(shí)一定會(huì)出問題。你把這個(gè)值算出來很多“只記錄幾分鐘”的謎團(tuán)當(dāng)場就解開了。3. 電源與電氣問題SD卡在關(guān)鍵時(shí)刻“掉線”的真實(shí)原因3.1 電流尖峰與電壓跌落數(shù)據(jù)量越大越明顯SD卡寫入時(shí)電流不是恒定的峰值電流出現(xiàn)在擦除和編程階段特別是在寫滿一個(gè)塊、需要搬移數(shù)據(jù)的時(shí)候。瞬時(shí)電流可以達(dá)到100mA甚至更高如果供電鏈路阻抗大電壓會(huì)被瞬間拉低。MCU數(shù)據(jù)記錄設(shè)備大多是3.3V供電很多直接用AMS1117之類的LDO從5V或鋰電池降壓。LDO的響應(yīng)速度有限如果輸入電壓本身有波動(dòng)或者輸出端沒有足夠的鉭電容/陶瓷電容做去耦SD卡寫入瞬間的電壓跌落很容易超過100mV。什么概念SD卡規(guī)范要求供電電壓范圍2.7V~3.6V。如果你的LDO輸出標(biāo)稱3.3V紋波50mVSD卡寫入時(shí)再跌200mV就到了3.05V??雌饋磉€在范圍內(nèi)但加上電源軌上的高頻噪聲就可能跌破2.7V的瞬間閾值卡就復(fù)位了。最要命的是這種復(fù)位不一定整個(gè)系統(tǒng)都復(fù)位。MCU可能在2.7V以上仍然正常工作但SD卡已經(jīng)悄悄重啟了。SD卡重啟后需要重新走一遍初始化流程而你的程序并不知道這件事繼續(xù)按原樣發(fā)寫命令SD卡不響應(yīng)程序超時(shí)、報(bào)錯(cuò)、退出。退出后如果沒做好重試邏輯記錄就停了。外部表現(xiàn)就是日志寫了半小時(shí)然后沒了但LED還在閃MCU也沒死。3.2 線纜與卡座隱藏的串聯(lián)電阻我在實(shí)測試驗(yàn)中發(fā)現(xiàn)很多“只在短時(shí)間記錄”的問題根源在卡座接觸電阻上。SD卡座的彈簧觸片用久了會(huì)氧化接觸電阻從幾十毫歐漲到幾百毫歐甚至1歐姆。如果設(shè)備還有振動(dòng)接觸電阻還會(huì)間歇性跳變。當(dāng)寫入電流達(dá)到100mA時(shí)1歐姆的接觸電阻會(huì)產(chǎn)生100mV壓降。再加上線纜、PCB走線的阻抗SD卡實(shí)際拿到的電壓比主控低得多。很多人習(xí)慣把SD卡電源直接接到主控3.3V網(wǎng)絡(luò)的末端中間經(jīng)過一段細(xì)長走線SD卡寫入時(shí)電壓被拉到閾值以下卡復(fù)位記錄中斷。用示波器一測寫得正歡的時(shí)候電源波形上有一個(gè)明顯的下陷問題當(dāng)場現(xiàn)行。如果你的設(shè)備在野外跑還要考慮溫度。氧化層在低溫下阻抗更高冬天更容易出問題。所以我后來做記錄儀設(shè)計(jì)SD卡電源都會(huì)單獨(dú)走線并且在卡座旁邊加一個(gè)100uF的鉭電容 0.1uF陶瓷電容做局部去耦減小電源跌落幅度。3.3 SPI模式下的信號(hào)完整性與上拉電阻用SPI模式驅(qū)動(dòng)SD卡信號(hào)完整性要求其實(shí)不低。SD卡SPI模式有四個(gè)信號(hào)SCK、MOSI、MISO、CS。每條線都需要上拉電阻通常10kΩ到100kΩ。但如果上拉電阻缺失或者走線太長信號(hào)上升沿變緩高速SPI下就會(huì)出現(xiàn)間歇性通信錯(cuò)誤。特別典型的坑是CS信號(hào)沒拉好。如果CS懸空或上拉太弱SD卡可能進(jìn)入未選中狀態(tài)然后所有寫命令都得不到響應(yīng)。有的程序在寫失敗后重試幾次然后又失敗最后直接關(guān)閉文件退出。這樣的問題在辦公室調(diào)試時(shí)可能一天都不出現(xiàn)到了現(xiàn)場因?yàn)榫€纜更長、環(huán)境電磁干擾更強(qiáng)就開始“記錄一段時(shí)間就斷”。我建議SPI時(shí)鐘先降到2MHz以下做穩(wěn)定性測試。如果在4MHz下不穩(wěn)定、2MHz下穩(wěn)定那基本就是信號(hào)完整性問題而不是SD卡本身的問題。通過降速來確定是不是電氣層面的問題非常直接有效。3.4 實(shí)測驗(yàn)證方法示波器是唯一靠譜的裁判排查電源問題時(shí)不用跟我爭論理論直接測用示波器同時(shí)看SD卡VCC和GND用電流探頭或串聯(lián)采樣電阻看寫入電流讓設(shè)備按最高速率寫入數(shù)據(jù)持續(xù)跑幾分鐘到幾十分鐘觀察每次寫入時(shí)VCC的下陷幅度和恢復(fù)時(shí)間把數(shù)字萬用表設(shè)置成最小/最大記錄模式掛在VCC上跑一個(gè)完整的寫入循環(huán)。如果VCC下陷超過100mV或者觀測到低于2.7V的瞬態(tài)恭喜你找到根因了。如果波形很干凈電壓紋波小于30mV那再往邏輯層面查。有一類特殊情況SD卡和無線模塊共用電源。藍(lán)牙/WiFi/4G模塊發(fā)射瞬間電流可以達(dá)到幾百毫安甚至安培級(jí)直接把電壓拉下去。這種“記錄斷”往往和無線發(fā)送的時(shí)間點(diǎn)高度相關(guān)。你在日志里比對(duì)一下時(shí)間戳如果中斷時(shí)刻恰好和無線發(fā)送時(shí)間吻合那就不要懷疑SD卡了先給無線模塊單獨(dú)供電或者加電源時(shí)序控制。4. FAT文件系統(tǒng)邊界4GB/2GB的硬限制與簇表異常4.1 FAT16和FAT32的單文件大小上限很多人不知道SD卡日志記錄還有一個(gè)非常隱蔽的“定時(shí)炸彈”——FAT文件系統(tǒng)的單文件大小限制。FAT16格式的卷單文件最大2GBFAT32格式的卷單文件最大4GB超過之后f_write會(huì)返回錯(cuò)誤大多數(shù)代碼庫不會(huì)正確處理這個(gè)錯(cuò)誤程序就停了或者文件指針回繞覆蓋已有數(shù)據(jù)。如果設(shè)備采樣率不高2GB可能夠跑很久。但如果你做的是高采樣率記錄儀比如一個(gè)16位、4通道、10kHz的采集系統(tǒng)每秒就是80KB一小時(shí)約288MB。FAT32的4GB上限大約只能撐14個(gè)小時(shí)。FAT16的2GB上限更是撐不到7個(gè)小時(shí)。更麻煩的是很多SD卡出廠時(shí)格式化成FAT32但簇大小是64KB這種格式能支持大文件但小文件寫入性能極差跨簇邊界時(shí)頻繁更新FAT表寫入速度可能掉到幾KB/s。在長時(shí)間記錄場景下我的做法是不用單文件無限增長而是設(shè)計(jì)輪轉(zhuǎn)日志——數(shù)據(jù)寫到一定大小比如512MB就關(guān)閉文件新建一個(gè)帶序號(hào)的新文件在文件名里編碼時(shí)間戳比如LOG_20250101_120000.bin程序啟動(dòng)時(shí)掃描已存在的日志文件按時(shí)間戳順序?qū)懕苊飧采w舊數(shù)據(jù)。這樣既繞開了單文件大小限制又方便事后按時(shí)間段快速定位數(shù)據(jù)。如果你非要單文件連續(xù)寫至少要先算清預(yù)計(jì)最大記錄時(shí)長并確保目標(biāo)文件系統(tǒng)格式支持。4.2 簇表異常與斷電寫入FAT文件系統(tǒng)是日志型文件系統(tǒng)的反面教材它在寫數(shù)據(jù)時(shí)并不保證一致性。斷電時(shí)具體會(huì)發(fā)生什么程序請(qǐng)求寫4KB數(shù)據(jù)FatFs先更新FAT表標(biāo)記數(shù)據(jù)要占用的簇。然后寫數(shù)據(jù)到簇對(duì)應(yīng)的扇區(qū)。最后更新目錄項(xiàng)更新文件大小。如果第2步寫完第3步?jīng)]執(zhí)行文件大小就沒更新數(shù)據(jù)雖然寫在卡里但文件系統(tǒng)不認(rèn)。如果第2步剛寫完FAT表還沒來得及更新數(shù)據(jù)就是徹底的孤兒扇區(qū)目錄項(xiàng)還在舊狀態(tài)過一段時(shí)間會(huì)被新的寫入覆蓋掉。在電池供電的SD卡記錄設(shè)備里這是一個(gè)非常常見的“記錄了一段時(shí)間后文件損壞”的原因。解決辦法不是靠軟件能做到的只能從設(shè)計(jì)上減少暴露窗口增加一個(gè)掉電檢測電路比如比較器檢測電源電壓低于閾值時(shí)觸發(fā)MCU的緊急中斷把正在緩沖的數(shù)據(jù)和FAT表狀態(tài)刷到卡里然后安全關(guān)閉所有文件。如果沒有掉電檢測那就老老實(shí)實(shí)做輪轉(zhuǎn)文件并且控制每次寫入的數(shù)據(jù)量讓FAT表更新的頻率降低。注意不要頻繁調(diào)用f_sync或者f_flush。每寫一個(gè)扇區(qū)就flush一次雖然安全性提高但寫入速度和閃存壽命都會(huì)顯著下降。我一般設(shè)置一個(gè)合理的同步間隔比如每寫256KB同步一次或者每5秒同步一次根據(jù)數(shù)據(jù)的重要程度和系統(tǒng)掉電頻率來權(quán)衡。4.3 格式化工具與SD卡初始化細(xì)節(jié)標(biāo)題下面帶了幾個(gè)熱搜詞“sd card formatter”“sd memory card formatter”。說明很多人在卡出問題后第一反應(yīng)是重新格式化。這方向沒錯(cuò)但要注意格式化的參數(shù)。SD卡官方推薦的格式化工具會(huì)按照SD卡的實(shí)際能力設(shè)置默認(rèn)格式和扇區(qū)大小比操作系統(tǒng)自帶的格式化更可靠。但有一點(diǎn)很重要不要在卡上建立多個(gè)分區(qū)SD卡日志記錄場景只用一個(gè)分區(qū)就夠了。多個(gè)分區(qū)在MCU環(huán)境下處理容易出問題部分FatFs移植代碼不支持多分區(qū)或者會(huì)默認(rèn)訪問錯(cuò)誤的分區(qū)號(hào)。另外有一個(gè)細(xì)節(jié)容易忽略SD卡可能存在“邏輯保護(hù)”卡上的撥桿Lock開關(guān)如果撥到鎖定位置寫入時(shí)卡會(huì)返回錯(cuò)誤。這個(gè)開關(guān)是一個(gè)機(jī)械觸點(diǎn)在振動(dòng)環(huán)境下可能松動(dòng)導(dǎo)致寫一半突然變只讀。這種問題非常無厘頭但確實(shí)發(fā)生過。調(diào)試的時(shí)候先檢查這個(gè)開關(guān)別一上來就去改代碼。還有如果你用的是工業(yè)級(jí)或者三防SD卡它們有的支持“寫保護(hù)”命令即使沒有機(jī)械開關(guān)也可能拒絕寫入。這種卡拿回來先讀一下CSD寄存器的寫保護(hù)位省得后面排查半天。5. 完整排查鏈路從串口日志到波形測量的定位方法論很多朋友反映這些問題太難定位。其實(shí)不難按順序執(zhí)行下面這套排查鏈路大概率能在半天內(nèi)鎖定根因而不需要靠猜。5.1 第一步在日志里標(biāo)記“最后存活時(shí)刻”先別急著改硬件先把你手頭的設(shè)備接上串口調(diào)試線打開所有調(diào)試輸出。在程序的關(guān)鍵節(jié)點(diǎn)加上日志輸出每次成功打開文件的時(shí)間每次f_write返回的字節(jié)數(shù)和耗時(shí)每次f_sync調(diào)用的返回碼初始化失敗、寫失敗、重試的次數(shù)。然后反復(fù)運(yùn)行設(shè)備直到問題復(fù)現(xiàn)。注意看串口輸出的最后一條日志是什么。這一條日志會(huì)直接告訴你問題發(fā)生的上下文如果最后一條是“write timeout”說明卡沒響應(yīng)要查電源和信號(hào)如果最后一條是“file open failed”說明文件系統(tǒng)已經(jīng)掛了如果最后一條什么都不是串口也沒輸出那大概率是MCU死了或者進(jìn)入異常狀態(tài)。這一步不需要任何額外工具但能砍掉一半的排查路徑。90%的人跳過了這一步直接去換卡純屬浪費(fèi)生命。5.2 第二步跑一個(gè)寫入壓力測試隔離硬件問題如果串口日志看不出明確結(jié)論就做一次純粹的SD卡壓測。寫一段小程序不要采集任何傳感器數(shù)據(jù)直接全速往SD卡寫入固定大小的塊持續(xù)跑1小時(shí)同時(shí)用示波器監(jiān)視SD卡VCC和SCK線上的信號(hào)。如果壓測期間出問題說明問題在硬件鏈路或SD卡本身和你的業(yè)務(wù)邏輯無關(guān)。如果壓測穩(wěn)定說明問題出在數(shù)據(jù)采集/緩沖/任務(wù)調(diào)度層業(yè)務(wù)邏輯中的某個(gè)環(huán)節(jié)導(dǎo)致SD卡寫入被餓死或者被阻塞。注意壓測時(shí)寫入模式要對(duì)齊實(shí)際場景不要只測順序大塊寫。要復(fù)現(xiàn)你實(shí)際代碼里的寫入模式包括塊大小、寫入頻率、文件打開關(guān)閉頻率。不然壓測結(jié)果對(duì)定位沒有參考價(jià)值。5.3 第三步換卡交叉測試 格式化工具重建如果壓測期間出問題做交叉測試同一張卡換到另一臺(tái)設(shè)備上跑壓測另一張卡換到這臺(tái)設(shè)備上跑壓測新卡先跑官方SD卡格式化工具再跑壓測。注意SD卡速度和可靠性是兩個(gè)維度。當(dāng)前市面上很多所謂“高速卡”在連續(xù)寫入中的表現(xiàn)反而不如一些老舊的工業(yè)卡。有些卡對(duì)SPI模式支持不好或者不支持部分CMD命令。買卡的時(shí)候別只盯著速度等級(jí)優(yōu)先選標(biāo)注了“工業(yè)級(jí)”“寬溫”或者明確支持SPI模式的卡。如果你排查到這一步還沒結(jié)論可以從這幾個(gè)方向繼續(xù)檢查CSD寄存器確認(rèn)SD卡容量和塊大小用邏輯分析儀抓SPI通信看命令響應(yīng)是否正常檢查文件系統(tǒng)格式化參數(shù)是否和代碼假設(shè)一致。5.4 第四步用示波器抓SD卡的“死亡瞬間”這是最后一步也是最硬核的一步。在問題復(fù)現(xiàn)時(shí)刻用示波器同時(shí)抓SD卡VCC對(duì)GND的波形SD卡MISO線上的波形主控IO口上一個(gè)標(biāo)記信號(hào)比如寫失敗中斷時(shí)拉高。如果問題復(fù)現(xiàn)時(shí)VCC出現(xiàn)了明顯的跌落那電源問題實(shí)錘。如果VCC沒問題MISO線上出現(xiàn)異常電平或者長時(shí)間無響應(yīng)那就是SD卡狀態(tài)機(jī)跑飛了。如果一切波形都正常但寫程序就是失敗那就要檢查代碼中是不是有什么邏輯bug比如中斷優(yōu)先級(jí)搞亂了、看門狗誤觸發(fā)、緩沖區(qū)指針越界等。我個(gè)人的經(jīng)驗(yàn)是80%的“只記錄短時(shí)間”問題能在第二步和第三步被鎖定。真正需要示波器出場的主要是電源紋波和信號(hào)完整性這兩類隱蔽問題。6. 架構(gòu)層面的根治方案讓記錄器穩(wěn)定運(yùn)行數(shù)周的設(shè)計(jì)經(jīng)驗(yàn)排查和修復(fù)不是終點(diǎn)。如果項(xiàng)目要長時(shí)間穩(wěn)定運(yùn)行還是得在架構(gòu)上做減法。下面是我現(xiàn)在做SD卡記錄儀默認(rèn)采用的方案按“抗故障優(yōu)先級(jí)”排列。6.1 雙緩沖 任務(wù)解耦讓采集和寫入徹底隔離無論你用不用RTOS都建議把采集和寫入拆成兩條執(zhí)行路徑。采集路徑只負(fù)責(zé)把數(shù)據(jù)丟進(jìn)隊(duì)列寫入路徑只負(fù)責(zé)從隊(duì)列取數(shù)據(jù)、批量寫SD卡。兩條路徑之間用環(huán)形緩沖或消息隊(duì)列連接緩沖區(qū)大小按最壞情況計(jì)算。具體參數(shù)建議環(huán)形緩沖區(qū)大小至少是最大寫塊大小的4倍以上推薦8KB或更大寫入任務(wù)優(yōu)先級(jí)低于采集任務(wù)但高于普通計(jì)算任務(wù)隊(duì)列滿時(shí)策略是丟棄最舊的數(shù)據(jù)并在日志頭部做個(gè)標(biāo)記比如丟了多少字節(jié)。這樣即使SD卡寫入卡頓幾百毫秒采集任務(wù)也不丟一點(diǎn)數(shù)據(jù)只是環(huán)形緩沖暫時(shí)積壓等寫入恢復(fù)后再慢慢消化。6.2 健康監(jiān)控與自動(dòng)恢復(fù)不讓程序“死等”SD卡寫入失敗時(shí)代碼絕對(duì)不能死等重試。推薦實(shí)現(xiàn)一個(gè)“SD卡健康監(jiān)控”模塊檢測到連續(xù)N次寫入失敗比如10次就切換到“故障模式”在故障模式下停止寫入保留數(shù)據(jù)到RAM緩沖區(qū)或鐵電存儲(chǔ)器定期嘗試重新初始化SD卡發(fā)送CMD0、CMD1、CMD8、ACMD41等初始化命令成功后再恢復(fù)寫入如果重試超過閾值記錄錯(cuò)誤狀態(tài)通過其他通道如無線上報(bào)故障??撮T狗要獨(dú)立出來喂狗操作放在主循環(huán)里不要在SD卡寫入中斷里喂狗否則SD卡卡死時(shí)看門狗被錯(cuò)誤喂掉系統(tǒng)永遠(yuǎn)無法復(fù)位。6.3 輪轉(zhuǎn)日志 掉電檢測從根上繞開FAT表異常前面提過輪轉(zhuǎn)日志。這個(gè)設(shè)計(jì)不只是繞開單文件大小限制更大的價(jià)值在于故障隔離。一個(gè)文件壞了不影響其他文件。程序啟動(dòng)時(shí)對(duì)所有文件做完整性檢查損壞的文件自動(dòng)隔離新數(shù)據(jù)繼續(xù)寫入新文件。掉電檢測電路也很關(guān)鍵。簡單方案RESET引腳或ADC引腳接一個(gè)分壓電阻檢測主電源電壓。當(dāng)電壓低于閾值時(shí)觸發(fā)中斷中斷里做兩件事關(guān)閉當(dāng)前文件f_close會(huì)更新FAT表和目錄項(xiàng)把緩沖區(qū)里剩余的數(shù)據(jù)盡量寫出去如果時(shí)間允許。如果電壓跌得太快連寫操作都來不及完成那就只能靠輪轉(zhuǎn)日志兜底至少舊的日志不會(huì)受到太大破壞。6.4 選卡、格式化與使用習(xí)慣的終極大考最后給幾張卡的選擇和基本使用習(xí)慣做個(gè)建議項(xiàng)目建議理由卡的類型工業(yè)級(jí)、寬溫、MLC以上比消費(fèi)級(jí)卡穩(wěn)定不容易在高溫/振動(dòng)下掉速容量大小32GB以下大容量卡在FAT32格式化時(shí)簇大小文件寫入慢32GB以下兼容性最好文件系統(tǒng)FAT32簇大小16KB或32KB平衡寫入速度和空間浪費(fèi)格式化工具官方SD Card Formatter能正確設(shè)置扇區(qū)和文件系統(tǒng)參數(shù)寫入模式批量順序?qū)懕苊忸l繁隨機(jī)小寫減少GC頻率降低寫入耗時(shí)的抖動(dòng)數(shù)據(jù)備份定期導(dǎo)出日志格式化后重用卡長時(shí)間使用后GC碎片化速度會(huì)明顯下降個(gè)人實(shí)際測試中最穩(wěn)定的組合是32GB工業(yè)級(jí)microSD卡FAT32格式簇大小32KBSPI時(shí)鐘10MHz每次寫入2048字節(jié)或4096字節(jié)每寫入256KB做一次同步。這種配置下連續(xù)寫入速度大約300KB/s穩(wěn)定跑一個(gè)月沒出過問題。最后提醒一個(gè)常見誤區(qū)SD卡不是硬盤別拿它當(dāng)隨機(jī)讀寫的存儲(chǔ)介質(zhì)用。它的強(qiáng)項(xiàng)是順序大塊寫。任何頻繁打開關(guān)閉文件、頻繁寫小數(shù)據(jù)量的設(shè)計(jì)都是在跟閃存管理邏輯對(duì)著干最終都會(huì)以“記錄中斷”或者“文件損壞”收?qǐng)觥?
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
激情五月天com| 另类图片色五月| 五月婷婷亚洲天堂97色婷婷| 性生生活大片又黄又| 91丨九色丨43老版熟女| 婷婷五月天va| 97超碰,人人舔,人人操,人人摸 | 婷婷成人小说综合| 久久99精品久久久| 婷婷丁香色五月| www.五月天婷婷| 婷婷欧美| 五月婷婷色男女| 久久图色4| 狠狠穞A片一區二區三區| 亚洲无码另类| 丁香玖玖| 91性交在线播放| 蜜臀99精品| 国产婷婷五月天| 五月丁香操婷逼| 激情五月婷婷| 久在线综合69| 激情婷婷六月天| 99激| 狠狠久久婷婷| 97在线/日本| 玖玖婷婷五月天| 五月天免费色| 色婷五月天亚洲| 在线免费观看激情视频| 色婷婷99| 久热伊人| 免费亚洲婷婷| 丁香五月天.com| 久久亚洲网| 国外亚洲成AV人片在线观看| 五月丁香六月激情综合| renre人人操国产超碰在线| 影音先锋高清无码资源网| 五月丁香六月色| 久久色五月天| 91要啪| 色狠狠婷婷| 色婷婷成人做爰A片免费看网站| 人人摸人人搞| 婷婷五月丁香色情| 成人超碰AV| 美日韩成人| 五月天激情久久| 成人 在线观看国产| 激情五月综合婷婷| 日本欧美成人片AAAA| 91操碰| 色综合射婷婷| 中文不卡一二区| 五月丁香免费视频| 国产99精品免费视频| 9精品视频在线观看| 国产精品久久久久9999小说 | 荫道BBWBBB高潮潮喷| 伊人玖玖网| 激情五月婷婷在线区| 五月丁香自拍| 婷婷色播六月无码| 亚洲欧美999| 日本老女人黄页在线播放| 综合九九久久| 丁香五月中文字幕| 人妻AV在线| 亚洲不卡123| 激情五月天小说| 亚洲 六月 综合| 五月天婷婷久久日| VA国产在线综合网站| 日日干综合| 成人婷婷深爱综合网| 久久9视频| 婷婷五月综合色小姐小说| 九热网站| 久久久久视剧HD| 人人草碰| 五月婷婷黄| 91avse| 热99久| 婷婷激情五月天激情小说| 五月婷婷激情综合网| 99热这里只有精品免费| 99在线综合视频| 狠狠爱婷婷爱| 夜夜操天天爽| 亚洲久热| 色欲av伊人久久大香线蕉影院 | 啪啪五月天啪啪| 色五月婷婷五月丁香五月| 亚洲99在线| 日本色婷婷| 成人免费在线电影| 五月天综合| 九九九九九999999| 五月丁香日本一抹本| 欧美精品999| 婷婷五月丁香基| 天天插综合| 日日噜狠狠色综合久| 91Chinese在线| 怡红院AV亚洲一区二区三区H| 丁香六月婷婷社区| 久久视频九九视频| 黄色一级影片| 国产精品 的国产| 欧洲日韩一区二区三区| 天天插天天射| 五月天婷婷色色| 亚洲精品一区中文字幕乱码| 欧美男女婷婷| Va另类视频| 91精品国产综合久久密臀| 五月播播| 日韩色色视频| 亚洲激情av| 久99热| 天天久| 青青草tp| 日韩色久| 九九热自拍| 天天天干夜夜夜操| 婷综合六月| 婷婷久久午夜网| 欧美狠狠色| 五月色情| 欧洲激情五月天| 思思热在线视频精品| 成人午夜在线视频| 99亚洲大片精品永久在线观看| 人人摸人人澡人人| www色综合亚洲92| 丁香五月日啪| 强辱丰满人妻HD中文字幕| 国产成人综合网| 99久久极情精品一区| 国产午夜精品一区二区三区四区| 婷婷六月天精品| 99思思| 99re热在线视频观看| 九九色热| 97色在线| 天天操九九插| 超碰人人摸AV| 99爱在线| 婷婷五月深爱五月| 丁香五月激情综合| 青青草色在线视频观看| 五月激情婷婷丁香天堂| 久久网婷婷| 婷婷五月情天| 婷婷五月综合色拍| 九九精品免费| 五月天婷婷久色| 婷婷五月天丁香| 丁香色六月| 久久五月天婷婷| 久久9精品| 91九色在线| 大地资源色婷婷视频在线| 亚洲婷婷五月天综合| 婷婷丁香人妻天天爽| 婷婷五月激情欧美| www五月| 六月丁香成人| 色婷婷小说| 99视频这里只有免费精品| 婷婷色综合av| ,99视频久久| 色99色| 91九色超碰正在播放| 色色色地址| 亚洲九区| 婷婷六月激情在线视频| 9久热免费视频99| 性生活视频98791| 精品香蕉99久久久久网站| 婷婷丁香五月久久| 日韩高清久久| 六月色色| 四虎婷婷五月天| 骚逼视频一区2区| 天天做好综合色| 亚洲小电影在线观看黄999| 久久激情五月婷婷| 狠狠色无码| 欧美超碰亚洲| 在线视频激情网站| 丁香五月情| 天天插天天干| 夜夜撸夜夜骑| 色噜噜狠狠色综合日日| 婷婷色狠狠| 97在线刺激| 成人电影AV在线观看| 综合五月婷婷| 亚洲色婷婷| 久鲁鲁色网| 五月天丁香婷婷视频网址| 天天影视天天爽天天草| 亚洲激情无码久久| 久操福利| 日韩美一级毛卡片| 色婷青青| 丁香五月影视| 色五月婷婷激情| 操操啪| 99五丁香月| 夜夜骑夜夜操| 日韩在线99| 五月伊人视频在线看| 99re免费视频| 亚洲六月综合激情久久下卡| 影音先锋91资源站| 五月激情网综合| 久久色天堂| 蜜乳av一级av| www.色五月天.com| 久久er九九| 丁香六月| av在线免费网站| 秋霞少妇AV网站| 久久这里有精品| 天天色天天日天天舔| 日 日干 日日做| 91久热| 亚洲操B视频| 淫视馆AV在线| 天天干,夜夜爽| 99re这里只有精品首页| 日日夜夜噜噜爽爽| 99热这里只有精品33| 操操啪| 五月天婷婷色情| 好叼操在线观看| 99精彩视频| 九九大香蕉黄色影院| 六月丁香激情综合| 午夜电影网VA内射| 99热这里只有精品搜| 五月婷婷六月丁| 在线不卡视频| 亚洲精品国产成人AV在线| 五月婷婷综合影院| 天堂中文国产| 五月开心婷婷极品激情| 成人片在线免费看| 青青日韩| 黄网网站在线播放| 国产成人AV在线播放| 免费亚洲婷婷| 婷婷激情五月综合| http://www.com久久久精品一区| AA片在线观看视频在线播放| tingtingcaobi| 内射爽无广熟女亚洲| 色色网站| 亚欧州精品视频| 天天爽天天| 99精色| 丁香六月天婷婷开心综合| 99精品爱| 五月天婷婷在线视频| 五月天精品视频| 舔色婷婷| 婷婷五月天小说网| 亚洲精品又粗又大又爽A片| 狠狠精品干练久久久无码中文字幕| 99热综合| 亚洲99精品九九在线| 久月丁香爱婷婷综合| 丁香六月天婷婷| 五月天激情日色在线| 超碰在线网站| 亚洲第一黄网| 日日操,天天操| 色五月婷婷丁香五月| 免费精品66| 色在线99| 五月婷婷与六月丁香图片激情| 一起操最新网址| 综合久久十| 51XX嘿嘿午夜无码| www色婷婷久久综合久色| 五月丁香WWW| 丁香婷婷色五月天| 日韩成人综合网| 99亚洲天堂| 婷婷五月天网址| 综合久久综合久久| 91无码一区人妻A片蜜| 九九re视频在线视频| 五月色色色| 国产Va视频| 操逼棍操逼| 狠狠穞A片一區二區三區| 99热爱爱干干日| 国产美女无遮挡裸体毛片A片| 99热综合在线观看| 噜综合| 九九无码视屏| 性做久久久久久久免费看 | 亚洲色热| 逼特逼在线免费播放| 日本欧美啪啪| 五月亚洲激情| 久久久久久97| 五月桃花网综合| 噜噜操操| 99re视频精品| 高清资源站日A美A欧亚…| 五月丁香日逼| 五月亭亭激情综合| 亚洲色啪| 欧美日韩成人一区二区| 五月天婷婷丁香社区| 日韩aaaaa| 丁香婷婷久久综合在线| 丁香色播五月天| 亚州操操| 九九热99热| 亚洲天堂99| 伊人青涩网| 青青草蜜臀| aa久久| 超碰cap| 色婷婷五月天天天天天| 九九色影视| 六月丁香婷婷综合影院| 天天色综合综合| 五月丁香婷婷伊人| 日本不卡一区二区三区| WWW99视频| 丁香综合网| 少妇高潮呻吟A片免费看软件| 久久久久8888| 97色热| 无码A片一区二区免费| 婷婷在线操| 久久色婷婷| 最近中文字幕2019视频1| 亚洲综合婷婷五月| 婷婷月综合| 9色天堂| 激情五月天色色| 日本九九网| 97干在线免费| 天天日天天爽| 丁香久久综合| 国产激情视频在线观看| 伊人久久婷婷| 狠狠操狠狠操| 五月天婷婷在线观看精品男人| 日本综合久| 99热精品观看| 五月综合丁香婷婷| 啪啪啪综合网| 情欲综合网| 色情五月婷婷| 69激情小说| 久久综合26p| www激情网| 婷婷九月| 五月激情婷婷开心| 久婷婷五月天影院| 国产在线中文字幕| 婷婷5月天激情综合| 欧美人与性动交CCOO| www.av视频xx999.com| 日日撸夜夜操| 五月天激情图| 婷婷五月丁香欧洲| 热99在线| 91婷婷五月天综合视频| 久久机热/这里只有精品| 色v综合网| 91色色色| 五月婷婷视频ab| 久婷视频| 人妻人人操| 综合激情五月丁香| 91岛国片| 色优久久| 婷婷五月激情图片| 日日噜人人人做人| 99热免费18| 激情五月婷婷在线观看| 美女亚洲五月丁香| 毛片蕉地一二| 99色色网| 国产亚洲色婷婷久久99精品91| 丁香五月日韩| 无码G高清天| 丁香八月综合激情| 天天色天天色天天色天天色天天色| 激情电影五月婷婷| 国产 码在线成人网站| 思思99精品视频| 婷久久久| 狠狠狠狠狠狠| 狠狠狠狠狠操| 先锋五月婷婷丁香草草| 97色精品视频| 色五月五月婷婷| 中文字幕 久久9999| 狠狠色丁香婷婷| 欧美人妻一区二区| 亚亚州久久高潮| 大香蕉伊人久久| 狠狠干.com| 91操片| 五月天伊人日日噜影片AV| 光棍影院日韩精品| 国产人妻777人伦精品HD| 狠狠爱五月婷婷| 成人欧美一区二区三区在线观看| 超碰97免费在线| 国产亚洲精品AAAAAAA片| 激情五月丁香五月| 丁香五月激情视频在线| 99久久99视频只有精品| 五月婷婷九九热| 乱精品一区字幕二区| 婷婷六月天天| 天天精品视频免费观看| 日本婷婷色| 久久婷婷综合五月天| 婷婷丁香色情| 综合五月亭亭9| 丁香六月婷婷久久高清| 伊人影院久久网| 国产AV国片偷人妻麻豆| 婷婷丁香五月亚洲| 成人午夜无码视频| 亚洲AV综合网| 日本高清久| 美女五月天| 五月丁香六月婷婷不卡免费无码| 五月婷婷性爱| 人妻人人操| 99精品偷拍视频| 色色色香蕉五月婷| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 激情五月天啪啪| 日韩不卡123| 搡BBBB搡BBB搡18| 五月天啪啪| 日本九婷婷| 天天干天天射色综合| 色综合久久天天综合网| 成人欧美Va| 狠狠va| 丁香六月婷婷缴情欧美| 久久五月视频| 亚洲无码成人网| 99热国内精品| 五月丁香另类图片| 99热只有| 成片免费播放| 色婷婷丁香五月| 五月丁香婷婷综合| 狠狠五月天| 久久性爱视频| www.色五月| 九月丁香| 黄色网址五月婷婷| 红桃91人妻爽人妻爽| 激情综合网激情五月丁香五月俺也去| 雪千夏麻豆| 99色嘟嘟精品网站| 91大屁股精品| 久久激情视频99| 级情九色| 狠狠色狠狠鲁| 日本婷婷色日| 久久色婷婷| 97热视频| 亚洲视频在线观看| 欧美一级毛卡片无码| 丁香婷婷午夜| 激情四射五月天| 天堂婷婷五月在线| 欧美日韩AAA| 亚洲色频| 九九成人| 亚洲天堂碰碰婷婷| 97操在线视频| 五月婷婷深爱六月| 婷婷六月天| 五月婷婷性爱| 1024人妻无码中文字幕| 超碰97免费在线| 九九色热| 九九久久视频| 九九AV| 婷婷六月网| 深爱激情六月| 五月天色区| 色综合久久久综合久久网 | 综合久久高清| 激情五月综合色婷婷| 久久人妻伦理| 天天操夜夜操| 久久91久久91色欲精品| 婷婷丁香人妻| 97碰超级人人看| 成人国产欧美大片一区| 激情婷婷网| 五月激情日本在线| 欧美Va婷色| 99无码视频| 五月天网站亭亭| 婷婷五月婷婷| 色婷婷丁香九月| 五月激情网五月综合网| 精品激情| 99热色婷婷| 夜夜操少妇| 色一情一乱一乱一区91| 99久热| 琪琪狠狠干| 夜夜躁狠狠| 久久九九国产精品怡红院| 99视频只有精品| 99草视频在线观看| 五月综合精品| 国产全是老熟女太爽了| 色色婷婷丁香| 久婷久婷| 亚洲精品成人片在线播| 亚洲激情区| 色爱五月天| 伊人五月婷婷| 欧美色碰| 思思热精品在线观看| 亚洲精品99| 久99久精品视频| 色色 亚洲| 五月丁香综合| 97色色色色色色色| 91超碰在线观看| 在线日韩av| 九九热99精品在线| 777精品久无码人妻蜜桃| 久久久香| 色五月综合在线| 婷婷五月无码| 久久九九热视频| 久久九九99视频| 五月熟妇婷婷久久| 国产亚洲99久久精品| 丁香五月婷婷av| 婷婷色色欧美| 97性高潮久久久| 亚洲激情色色| 五月色亭丁香| 中文AV网站| 日韩AV中文字幕在线| 久久精品视频9| 狠狠干五月| 五月婷婷开心六月激情小说| 最新无码专区| 五月婷婷激情综合视频| 亚洲av成人一区二区电影在线| 99精品无码网站| 1024在线一区| 亚洲亚洲亚洲AAAAAA| 九色视频九色九色91jiuseshipin| 丁香五月激情站| 久在线88综合| 天天综合网网欲色| 婷婷丁香五月91| 热99精品视频五月| 亭亭五月丁香综合欧美| www.99色| 天堂草在线观| 久久99久久久| 六月激情婷婷| 五月丁香在线偷拍视频| 操草草草| 九色视频91| 九九这里只有精品在线视频| 亚洲亚洲人成综合网络| 九九精品在线网| 久久码久久无清| 台湾无码A片一区二区| 免费婷婷| 年轻的妺妺伦理HD中文| 五月丁香在线综合| 国产ava| www色婷婷| 日日撸天天干| 日韩精品一品二区三区的使用体验| 色婷婷激情| 《诡秘之主》在线观看| 激情婷婷五月丁香啪啪啪| 天天狠狠夜夜狠狠2023| 色婷婷九月| 日木WWW视频| 亚洲第一综合| 欧美亚洲999| 伊人大香蕉爱聚| 亚洲五月天婷婷| AV天堂淫乩| 五月丁香婷婷综合网色欲| 99re免费精品视频| 九九九九九九九热| AV在线中文| 色色网站毛片| 色999五月色| 99久久er| 亚洲日韩国产黑丝黑丝AVAV一区二区三区| 俺去也五月| 蜜臀99精品| 天天草狠狠擦| 九九婷婷综合| 影音先锋AV资源男人站| 我爱大香蕉| 丁香丝袜五月| 99色6爱9热| 丁香五月天婷婷大香蕉| 99性爱视频| 天天色粽合合合合合合合| 婷婷瑟五月天久久综合| 日本超碰在线| 色99视| 无码少妇高潮喷水A片免费 | 狠狠狠狠狠狠| 日本久久人| 色婷婷六月综合| 超碰免费大香蕉| 五月丁香 狠狠爱| 操操碰| 午夜爱爱网站| 激情五月天小说|五月天开心激情网|亚洲精品国产自在现线|黄色五月天 | 超碰成人av| 99青青草| 天天色综合色| 婷色人人狠| 欧美天堂久久| 婷婷狠狠97| www。五月,com| 777精品久无码人妻蜜桃| 97色色综合| Www.激情| 狠狠色噜噜| 五月天婷婷色小说| 久久亚洲色导航| 久热无码| 婷婷久热| 五月婷中文字幕| WWW.久久久久久久久久久久久| 一级片操逼视频| 国产人妻777人伦精品HD| 4399成人黄A片| www.99热在线| 婷婷成人视频| 五月激情婷婷丁香| 五月婷婷丁香在线| www.com五月天| 一级操逼内射在线视频| 五月丁香激情婷婷| 五月丁香六月婷婷网站| 日日狠狠久久偷偷四色综合免费 | 五月婷婷六月开心| 九九亚洲视频| 五月婷婷成人| 天天舔天天摸| 色综合久久中文| 任你搞网站| 4399在线日本A片| 色综合久久88色综合天天99| 综合久久综合| 久久久精品色| 国产毛片精品一区二区色欲黄A片| 五月婷婷啪啪| 色五月婷婷在线| 能看的av网站| 91紱請| 婷婷婷久久| 色色色热热热| 天天色丁香| 日本va欧美va国产激情| 人人操AV| 婷婷五月激情小说| 日本乱论99| 欧美在线干| 熟女重口味αV| 狠狠狠狠狠狠狠狠狠狠狠色宗合图片| 我要看激情五月天| 狠狠色五月天| 丁香五月天堂| 99色综合久久| 91九色 婷婷| 丁香五月激情婷婷视频| 色婷綜合网| 终合激情网| 99热在线中文字幕| 亚洲日本韩国| 久草网大香视频| 性爱综合网| 婷婷五月激情欧美大胆视频| www.99热这里精品| www.99热视频| 玖玖九九超碰| 五月婷婷久久综合| 开心五月婷婷在线| 成人av播放| 在线看的免费网站| 九九热99熟女| 久婷婷久草| 激情 婷婷| 亚洲色综合| 日韩五月婷婷久久| 亚洲小视频免费播放| 99精品无码网站| 丁香六月色婷婷| 激情文学综合婷婷五月天丁香花| 91精品综合久久婷婷九色| 日本va网站| 饮料下药迷倒漂亮女同事强干| 九九成人视频| 六月婷婷视频| 五月天激情网址| 14色综合婷婷| 亚洲av电影在线| 激情婷婷五月天。| 伊人激情影院| 国产片XXXXA片国语对白| 91九色视频在线观看| 日韩av大全| 久操人妻| 色五月天丁香婷婷色| 五月丁香综合啪啪対白| 五月婷色| www.激情com| www.十八禁不禁AV.com| 日日干天天爽| 亚洲啪啪网| 五月丁香激情深爱婷婷| 激情色色色| 久久性爱视频这里只有精品| 婷婷丁香六月| 久久99激情| 午夜色丁香| 婷婷丁香六月天| 黄色精品五月婷婷| 色五月天电影| 婷婷丁香大香蕉| 开心婷婷五月天电影院| 色色色热| 操91| 色婷婷操逼| 成人AV网站在线| 国产资源91在线| 在线看的免费网站| 狠狠色丁婷婷日日,伊人激情综合网 | 大香蕉啪啪| 五月婷婷丁香五月婷婷丁香| 猫咪伊人AV| wwwxxx五月婷婷小说| 丰满人妻一区二区三区| 色色无码日韩| 99婷婷| 色综合久久888| 狠狠丁香| 日韩欧美一级大黄网站| 91色五月| 男女99免费视频| 亚洲无码播放| 美女精品一级不卡视频| 久久看婷婷| 久久久久亚洲AV无码网影音先锋| 五月婷视频| 影音先锋 一区| nvrentiantang av| 日韩精品成人在线| 亚洲啪啪网| 久婷| 五月天色丁香| 天天爽天天日人人爱| 思思99热| 天色综合网站| 香蕉曰比| 婷婷色五月在线视频| 亚洲无码猫咪| 99精品免费| 精品99在线| 色色网站在线| 五月花成人网| 久久久噜噜噜操操操| 色婷婷综合视频| 伊人9在线| 国产一级片| 婷婷五月蜜桃成人桃色丁香| 七七婷婷综合| 五月天激情www| 99亚洲精品视频| 91操操| 狠狠干2007| 婷婷丁香无码专区| 五月天激情小说| 成人电影一区| 精品成人无码A片观看香草视频| 思思热在线视频99| 色色色97| 久久色情| 婷婷视频在线| 成人视屏在线观看| 国外亚洲成AV人片在线观看| 欧美人人草草| 五月天伊人综合| 开心五月天私房婷婷| 国产av一区二区三区| 99久久五月婷婷| 狠狠搞五月天| 99热人人操人人操| 九九热超碰| 思思久日精品视频| 亚洲六月婷婷| 狠狠爱深色婷婷综合| 六月份天丁香婷婷| 玖玖在线资源视频| 日本99视频精品免费播放| www.天天干| 色五婷婷开心缴| 五月色丁香综合| 久久五月天丁香花| 婷婷丁香久久| 婷婷综合五月天| 99这里只有免费的小视频在线观看| 五月天激情日色在线| 99成人在线观看| 5月婷婷激情在线| site:wpjngj.com| 99碰视频| 色啦啦视频| 狠狠色丁香| 婷婷亚洲五月| 五月丁香激情综合欧美| 在线网黄| 久久机热探花| 影音先锋91网站在线观看| 九九久久五月天| 激情网综合| 丁香五月精品视频| 大香蕉免费9| 亚洲激情四射色| www五月| 五月天丁香成人| 思思热久久爱| 密臀久久| 99re66热这里只有精品| 《久久综合九色综合97婷婷| 亚洲V国产V欧美V久久久久久| 色噜噜狠狠色综合网| 99热99热99热99热| 婷婷五六日| 色热久资源| 99色综合网| 欧美日韩国产日本精品四虎网网站物| 色婷婷呢狠禁久禁| 天天干天天干天天| 色色激情网| 五月综合色| 26uuu亚洲欧美日本| 色五月婷婷大| 婷婷大美在线| 99er国产| 久久老码第一| 婷婷六月丁香激情| 黄色三级日本| 99热这里只有精品1025| 另类激情四射| 色色五月婷婷久久| 99热全是精品| 视频久久9| 狠狠色网| 99伊人性爱在线影院| www五月天com| 色蜜婷婷| 538任你爽视频不一样的| 999九九九久久久99HD| 婷婷五月激情综合网| 以及AA大片看看| 亚洲精品第一国产综合亚AV| 五月丁香综合色婷婷| 亚洲视频一区| 波多野结衣不卡AV| 97色五月婷婷在线| 婷婷五月激情小说| 男人天堂AV在线一区二区| 996热re视频在线观看视频| 五月丁香 狠狠爱| 中文字幕高清av| 变天就操逼婷婷五月| 婷婷国产五月天17c| 久久月天堂| 77777亚洲午夜久久| 九九综合网色全集 | 97婷婷丁香五月| 色五月婷婷啪啪五月| 色五月婷婷DVD| 79色色色色| 丁香激情五月天| 99热最新精品| 99热在线看| 国产69久久久欧美黑人A片| 秋霞少妇AV网站| 久操大屁股女人av| 日本97在线视频| 久久狠狠欧美| 99色视频在线观看| 欧美日韩AAAA| 亚洲操逼片| 国产精品18久久久| 亚韩精品视频1区| 国产4P视频精品五区| 色色五月天丁香| 日本五月婷婷久久久六月丁香| 婷婷丁香激情| 日日操天天操| 99热这里只有精彩| 激情内射人妻1区2区3区| 无毒黄色网址| 黄网网站在线播放| 婷婷五月天com| 日欧大屏操| 色欲天天综合网| 亚洲精品无人区| 久久99精品久久久久久三级| 婷婷五月天成人五月天| 欧美性色五月天| 欧美成人va| 天天爽夜夜操| 伊人激情网| jiujiu热在线视频| av中文网站| 99久久久久| 五月丁香久久综合91| 玖玖精品婷婷| 夜夜骑日日操| 丁香五月天视频| 五月丁香综合| 91激情五月开心| 我要色综合五月婷婷| 激情五月丁香六月综合AVXXXX| 啪啪91| h亚洲| 99.色| 97色在线| 超碰成人AV| 极品 少妇 内射| 丁香六月婷婷综合激情欧美| 激情文学综合婷婷五月天丁香花| 99啪啪网| 色播婷婷五月天| 国产色色视频| 日本九九网| 婷婷五月天激情AV影院| 综合网亚洲| www,超碰| 日日艹思思热| 五月婷婷综合网| 色婷| 99热免费在线| 欧洲MV日韩MV国产| 国在线激情网| 少妇搡BBBB搡BBB搡毛茸茸 | 亚洲婷婷性爱| 天天日日人| 久久与婷婷| 人妻在线网站| 五月婷婷欲色| 色婷婷成人做爰A片免费看网站| 97人妻碰碰碰久久香蕉| 激情五月丁香综合网站| 欧美黑人巨大性生话| 99ri在线观看视频| 激情 婷婷| 91九九精品| 天天精品视频在线观看视频| 嫩BBB槡BBBB搡BBBB| 人妻性操逼中文字幕 国产| 久热99热| 色色九九五月天 | 猫咪伊人AV| 99久久思思| 中文字幕无码人妻少妇免费视频 | 五月综合激情图片 | 国产成人+综合亚洲+天堂| 婷婷大乡焦噜噜| 婷婷五月天首页激情| 五月丁香六月婷婷手机无线| 狠狠操狠狠插| 亚洲精99| 婷婷五月天色| 激情涩涩网| 天天干天天干天天干| av 一区三区四区| 九九热这里只有精品6| 色婷婷综合网| 五月天激情电影| 日韩色色色色色| 激情综合五月婷婷| 五月天五月色婷婷综合| 色五月激情综合网| 久久这有这里精品| 蜜桃人妻无码AV天堂三区| 五月丁香婷婷AV天堂| 亚洲日韩一页精品发布| 亚洲色情一区二区三区四区| 国产成人AV| 亚洲综合婷婷六月丁香五月| 精品婷婷丁香五| 婷婷五月丁香综合激情| av第一二区| 超碰在线视屏| 久热99| 国产JK精品白丝AV在线观看| 这里只有精品99www| 婷婷大香焦| 色婷婷婷婷五月天| 久久伊人9| 婷婷99| 综合五月亭亭9| 91在线精品一区二区| 色五月欧美| 丁香六月婷婷综合激情欧美| 精品色色| 五月丁香激情欧洲啪啪| 激情啪啪五月天| 欧洲亚洲免费视频9| 五月丁香久久精品在线观看| 99在线免费视频| a久久免费视频| 在线观看亚洲视频影院| www色婷婷| 婷婷五月色亚洲| 丁香五月婷婷Av| 色情五月丁香| 操射国产日本| 狠狠第四色| 国色天香成人网| 深爱激情丁香| 五月天狠狠网站| 亚洲免费综合一区| 99久久www| 夜夜噜夜夜奇| 99偷拍视频在线日本| 久久xx| 久久思思热视频| 九九综合伊人| 国产免费性爱| 毛片新网地| 色婷婷婷综合五月天| 日本三级网址| 精品国产乱码久久久久夜深人妻| 久久婷婷综合五月趴| 国产激情久久久| 婷婷噜噜| 五月份婷婷| 婷婷五月天天激情| 五月激情小说| www.夜夜操.com| 丁香五月婷婷成人色区| 九九中文字幕九| 六月激情网| 五月丁香婷婷综合视频| 婷婷六月中文字幕| 色欲天天综合| 99热黄| 婷婷六月综合激情| 久久婷婷五月天蜜桃| 日日干日日色| 免费97碰碰| 美女久久婷婷| 五月综合色| 五月婷婷深深爱| 狠狠草综合网| 丁香五月天激情五月天激情五月天激情网| 91刘玥视频在线观看| 疯狂做受XXXX高潮A片动画| 91AV婷婷| 色五月色五天免费视频| 久色成人| 先锋五月婷婷丁香草草| 综合久久伊人| 色五月色综合| 国产日韩欧美| 九九色影院| 色色99| 天天摸夜夜夜| 深爱激情网婷婷| 五月婷色| 国产脫衣舞一区二区三区| 超级碰 久久9| 久久久久久久11111111111| 婷婷色播婷婷| 99视频内射三四| 日本激情91| 91精品久久久久、久五月天| 丁香五月天成人| 狠狠搞综合色| 五月在线婷色| 久久久久9999| 九九色综合网| 久久久jd| av激情在线| 久久图色4| 久99久视频精选| 超碰人人摸AV| 爱穴久久| 内射 无码 伊人| 99ri网站在线观看| 五月婷A V在线| 婷婷伊人五月天| 婷婷丁香18| 久久加勤综合| 五月婷婷视频| 五月天丁香久久综合| 成人.在线日韩| 少妇性BBB搡BBB爽爽爽视頻| 五月天婷婷成人网| 婷婷激情五月| 免费无码毛片一区二区A片| 丁香五月成人| 久久精彩免费视频| http:色情日本com| 日韩性爱AV| 婷婷五月激情基地| 91 久热| 成人片在线免费看| 性爱网六月丁香| 激情婷婷九月| 超碰免费99| 天天日天天添| 国产阿姨日皮艹逼内射视频| 色婷婷综合中心| 99热这里只有精品23| 婷婷六月色播| 丁香五月六月综合欧美| 婷婷九月在线| 97人人草| 一起草AV| 久久婷婷一级片| 丁香九色不卡aaa| 亚洲久久日| 九月婷婷| 婷婷久久六月天| 五月丁香无码视频| 99色在线视频| 天天摸天天肏| 91精品久久久久久77777| 日韩中文字幕| 九九美女视频| 秋霞成人毛片一级A片| 婷五月丁香俺| 婷婷娱乐丁香综合网| 婷婷狠狠操| 日本99视频| 97夫妻超碰| 91无码高清| 成人免费120分钟啪啪| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 丁香六月婷婷| 一区=区操屄高清大全av| 色玖玖导航| 婷婷五月天在线综合导航| 久久这里有精品视频在线免费观看| 天天综合精品| 丁香久久| 一起操 91N.com| 久久狠狠欧美| 性天天中文网| 99热最新网址| 婷婷亚洲在线| 色五月婷婷基地| 狠狠色 综合色区| AAA久久久| 久久性爱99国产| 久久狠狠干| 涩五月丁香| 激情伊人| 色综合久久久综合久久网| 97在线/亚洲| 毛片新网地| 91操碰| 中文字幕人妻AV| 丁香六月色香蕉视频| 99久久激情视频| 超碰AV在线| 色五月婷婷1| 很操日本7| 丁香色色网| 久久婷鲁| 妻久久久久| 九九99九九99偷拍视频免费看| 五月天丁香色色| 九九色热| 大婷婷色呦呦噜噜色呦呦噜噜| 伊人无码高清| www色五月| 少妇激情五月天| 亚洲乱码日产精品BD| 色欲av伊人久久大香线蕉影院| 五月丁香六月花| 婷婷午夜| 任你爽免费视频| av人人干| 伊人狼人干| 久色成人| 日韩无码色色| 超碰在线综合| 伊人五月成人| 中字幕视频在线永久在线观看免费| 久超免费视频| 久热A片| 激情五月第四色| 丁香五月综合婷婷| .comwww在线观看免费操| 丁香五月在线观看综合| 综合网天天| www.五月婷婷.com| 天天干天天色综合| 久婷狼色诱惑在线| 99热精品在线播放观看| 久99久在线| 婷婷五月天综合AV| 天天做天天爱天天要| 色婷婷五月天av在线| 狠狠色官网| 欧美日韩91| 色婷婷狠狠| 婷婷五月丁香久久| 都市激情亚洲| 操操日韩| 婷婷五月色情天| 丁香婷婷影院| 婷婷开心综合人妻小说网址| 久久婷婷亚洲| 四色综合网| 色五月婷婷亚洲| 亚洲区,视频区,视频区免费| 五月丁香啪啪啪综合网| 丁香五月综合激情啪啪| 丁香五月婷婷偷拍| 第五婷婷伊人丁香| 久久精彩视频| 亚洲黄3级片网站欧美| 婷婷五月天综合久久| 五月婷婷色白丝| 五月天婷婷综合| 国产午夜精品一区二区| 99九九玖玖| 欧美va视频| 亚洲日日日| 婷婷色五月激情| 亚洲色无码A片一区二区麻豆| 婷婷五月开心中文字幕在线| 99久久66综合|