免费国产精品自在自线-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
返回資訊列表
久久99综合| 人人操97| 色色综合网。| 欧美草久久五月天91| 中字幕视频在线永久在线观看免费 | 可以免费观看的AV| 久久久精品AV| 丁香五月婷婷基地| av中文网站| 狠狠搞五月天| 色色色com| 色婷婷基地| 亚洲视频无| 欧美五月婷婷| 色综合天堂| 国产67194| 五月婷婷色男女| 成人无码髙潮喷水A片| 九月婷婷综合八月丁香在线观看| 成人AV综合在线| 国产91视频| 激情五月激情综合网一级丸片 | 六月婷婷综合| 国产小网站| 99日本黄站| 天天狠天天狠| 99热热热国产超碰| 热日韩欧美| 999激情视频| 天天人人综合| 97se视频在线| 欧美性爱丁香五月| 婷婷五月天 丁香五月天 裸体| www.操.com| 伊人色综在线| 99热免费网站| 丁香六月天婷婷色| 激情综合五月激情17| 男人大jjc女人免费视频| 激情综合网五月天| 精品久久99码| 久久久27操| 欧美丁香六月在线观看视频| 亚洲亚洲激情| 久久久久久xxxxx| 开心五月婷婷婷美女| 五月天社区| 操骚货在线| 色五月在线播放| 丁香五月天欧美成人| www,色婷婷| 97色婷婷| 色黄啪啪| 7777久久亚洲中文字幕| 丁香性爱在线视频| 欧美日韩精品人妻狠狠躁免费视频| 综合网色| 免费无码毛片一区二区A片| 亚洲操B| 亚洲AV色婷婷人禽五月天| 激情五月婷婷啪啪| 狠狠干2007| 五月丁香婷婷在线| 伊人网碰碰| 99在线er热| 98毛片| 大香蕉狼人久久| 色五月婷婷91| 中文不卡一二三区| 久久小视频| 337午夜福利| 五月天成人在线精品| 久操人妻| 天天综合网亚洲综合网| 毛片新网地| 26uuu.| 亚洲国产精品VA在线看黑人| 七月激情六月婷婷综合在线播放| 婷婷丁香五另类网站| 婷婷综合干| 色婷婷中文| 97在线干| 亚洲AV人人操| 九九伊人网| 婷婷久久精品| 天天撸夜夜爽| 另类专区在线观看| www.色婷婷| 99热首页| 狠狠九九婷婷韩| 五月婷精品| 提提热五月天婷婷| 婷婷基地爱| 亚洲区视频| 无码毛片992367| www.久久66| 日日操天天操| 欧美这里只有精品| 狠狠爱婷婷五月天| 日韩人妻无码一区二区| 亚洲色婷婷五月| 亚洲婷婷91丁香| 俺去也婷婷| 亚洲激情在线| 99色干| 69er小视频| 五月天婷婷綜合院| 成人中文网| 日本久久婷| 江苏少妇性BBB搡BBB爽爽爽| 五月天婷婷激情网| 婷婷伊人久久综合| 国产成人精品123区免费视频| 亚洲日本韩国| 伊人网碰碰| 激情综合亚洲色婷婷五月| 激情婷婷网| 色播五月网| 97碰免费视频在线| 久久草中文日韩欧美| 丰满少妇猛烈A片免费看观看| 九九热99在线视频| 凹凸操Av| 色网五月婷婷| 天天 青草 丝袜制服 在线| 婷婷五月六月激情| 91干婷婷| 五月婷婷六月激情网| 五月婷婷之综合激情| 9久久久久| av免费在线看不卡无毒| 六月丁香婷婷尤物| 日韩在线看AV| 人人人操97| 中国丰满熟女A片免费观| 白度黄视频| 国产免费一区二区三州老师F1F1| 五月激情影院| 久热99热| 久久99网| 色色婷婷丁香五月天| 婷婷色五月丁香六月欧美啪| 久久伊人婷婷| 婷婷和五月天| 色五月成人| 成人人操| 九九aV| 大香蕉伊人爱在线| 午夜色婷婷| 日韩在线观看亚洲| 91精品久久久久久综合五月天| 久99在线| 九九在线免费观看| 色九月| 偷拍91九色| 丁香五月天堂| 人人干人人干骚美女| 欧美日韩99| 丁香五月天.com| 五月婷婷香| 亚洲丁香婷婷| 久热99热| 激情五月综合| 91无码视频| 九九热大香蕉| www,8050,午夜三级| 狠狠色婷婷777| 婷婷中文字幕| 另类五月激情| 久久五月视频| 国产成人99久久亚洲综合精品| 在线观看欧美| 99精品无码| 婷婷丁香六月影视| 五月久久| 涩涩五月天| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 色婷| 99热这里只有精品2016| 99人人操人人爱久久久| 人人干人人看| 五月天免费色| 五月天基地| 婷香五月| WWW.色婷婷.COM| 亚洲国产另类av| 天天做天天干天天综合网| 91男人操女人视频| 狠狠操狠狠操AV| 色五月激情综合| 色婷婷电影网| 色五月婷婷九月| www.婷婷| 日韩AV免费电影在线播放| www.成人婷婷综合| 五月天丁香婷| www超碰com| 日本高清久| 五月情婷婷五月| 99玖玖视频| 97久久超碰| 色 丁香婷婷| 色婷婷久久视屏| 亚洲欧美成人在线| 九九热中文| www.激情五月天com| 久久五月激情综合| 丁香六月成人网| 天天干夜夜谢| 婷婷五月激情欧美大胆视频| 激情五月综合网| 午夜成人av在线| 五月婷婷啪啪| 久久久无码精品成人A片小说| 天天操夜夜啊| 久热黄色| 五月丁香毛片| 夫妻超碰在线| 人妻有码乱操| 男人先锋久久| 亚洲精品又粗又大又爽A片| 婷婷六月色开 | 成人看片网站| 久久五月天色婷婷| 久久婷婷五月综合啪| www.婷婷六月天| 99热精品无码| 天天爽天天摸人妻综合网| 亚洲婷婷五月天综合| 94干大香蕉| 97超碰免费超级在线观看| 日日噜狠狠| 婷婷免费视频| 五月开心网| 激情五月,激情综合网| 欧美婷婷五月无砖| 99热6这里之有精品| 狠狠99| 7777久久亚洲中文字幕| 久久3级片| av高清无码| 狠狠干,狠狠操| 综合色色婷婷| 久久五月激情综合| 国产免费一区二区在线A片视频| 天天天天色天天天天天干| 五月丁色AV| 成人AV免费观看| 色欲婷婷五月天丁香| www九九免费视频| 国产精品色| 激情五月天视频| 日韩啊啊啊| 亚洲av网站| www99在线观看视频| 久草热在线视频| 色狠狠色噜噜AV天堂五区消防| 亚洲无码另类| 99久热这里只有精品视频删减版| 丁香蜜臀黄色婷婷五月天| 开心五月综合激情网| 91婷婷色| 婷五月天天| 九九热超碰| 久久婷婷五月综合| www.狠狠操.con| 色情丁香五月天| 色综合爱综合| 婷婷五月天在线综合| 色婷婷成人| 九色啦蜜臀| 婷婷五月天AV在线| 亚洲精品永久久久久久| 丁香婷婷六月天| 婷婷五月天电影网| 99色网站| 人妻丰满精品一区二区A片| 99国产在线精品视频| 影音 五月 婷婷 久久| 狠狠色综合五月人人| 99热成人| 大香蕉久久久久久久久| 丁香五月区| site:901-07.com| 综合五月亭亭9| www,av好吊操| 99久视频| 1级欧美日韩| 超碰v| 久久婷婷五月天大香蕉| 九九亚洲无码| 六月丁香婷婷色综合| 九九热这里只有精品31| 996热| 性做爰1一7伦| 激情丁香九九五月综合网| 久久99网站| 九九热在视频| 色五月婷婷综合在线| 色五月综合网| 丁J香六月首页| 99久久婷婷国产综合亚洲| 激情啪啪五月| 9久热这里只有精品| 五月天播播中文字幕| 另类天堂| 婷婷自拍| 婷婷色五月色妇| 久色大| 激情av| 2022久久婷婷| 色情五月天首页| 丁香五月第九色| 久久黄色片| 婷婷五月色| 久久久九九视频精品18| 色五月天天| 五月丁香啪啪综合| 丁香五夜激情四射夜夜夜| 亚洲成人综合在线| 午夜婷婷久久 | 婷婷五月天激情四射五月天激情| 思思久久精品| 久久性都花花世界成人免费视频| 亚洲天堂AV免费片| 99久久婷婷国产综合精品草原| 91碰碰视频在线观看| 大香蕉九九| 五月丁香综合在线| 九97免费视频| 日韩在线五月天婷婷| 成人精品在线| 丁香五月情色| 久久99精品久久只有精品| 色色亚洲| 天天综合五月天| 怡红院精品视频久久久久久久久| 丁香啪啪| 天天爽天天爽天天爽天天爽天天爽 | 九九色婷婷| 久久婷婷电影| 丁香五月天啪啪a日本| 人人摸人人干| 亚洲精品乱码久久久久久按摩观| 在线网黄| 五月丁香久久网| 丁香五月六月综合激情| 美女xx不卡| www.26uuu.com亚洲电影| 六月丁香网| 九九热黄色| 操操自拍| 9久视频| 久久婷婷内射| 人人摸人人操人人爽| 日韩啊啊啊| 性爱五月婷| 久久A V无码视频| 激情五月婷婷视频| 激情五月天激情综合网| 成人片在线免费看| 色你久久| 五月丁香亚洲校园欧美| 激情综合五月| 国产精品蜜臀99| 丰满少妇乱A片无码| 天天色天天色天天色天天色天天色天天色 | 婷婷五月天社区| 99这里只有精品视频在线| 99精品在线观看| 欧美激情 日韩无码 婷婷 五月天| 久99热| www.狠狠| 中文字幕日产A片在线看| 天天摸天天舔天天爽| 婷婷五月成人| 思思久久青草热| 中文字幕在线视频播放| 欧美性色视频| ww亚洲ww在线观看| 综合色图婷婷| 婷婷五月精品中文字幕| 久鲁鲁色网| 99网| 五月丁香婷婷综合| 成人在线日韩| 国产AV成人精品| 婷婷丁香人妻天天爽| 五月婷久久草| 99精品在线观看| 五月天激情日色在线| 狠狠色婷婷综合开心影视 | 91精品久久久久久77777| 青青.com| 99情色五月天| 国产激情综合五月久久| 婷婷五月天堂一本在线| 就是色婷婷五月亚洲色| 欧美婷婷综合| 伊人久久婷婷| 无码区婷婷五月花开| 日本久久高清| 国产亚洲AV人片在线| 激情五月天综合网| 高清无码 一区 二区 三区| 欧美精品狠狠色丁香婷婷| 九九热最新| 五月婷婷干干干| 影音先锋高清无码资源网| 天天做天天爽| 五月天在线视频尤物视频在线看| 亚韩在线视频| 天天日日| 先锋资源996| 五月丁香色色色| 操人91| 五月婷婷丁香色吧网| 五月婷婷久久久| 2025超碰| 日韩成人电影AV| 婷婷五月六| 丁香亭亭久久| 另类图片色五月| www.金莲av| 在线播放中文字幕| 婷婷五月天综合在线| site:pzdcoin.com| 婷婷五月AV| 五月丁香六月综合图| 26uuu欧美日本| 九九婷婷网五月天| 婷婷五月噜噜| 久久机热这里只有 | 永久思思热在线| 日韩美女羞羞网站在线观看| 影音先锋男人AV资源站| 99ER热精品视频| 另类图片天天影视在线观看| 五月天久久网站| 久久九九99.www| 欧洲色色| 丁香五月婷婷影院| 日韩999| 五月综合无码| 伊人五月天在线| 思思w99| 色婷丁香五月| 五月丁香 六月婷婷a| 久久狠狠干| 99ri视频在线观看| 精品九九婷婷| 婷婷九月在线| 久久加勒比| 色爱五月天| 成人视频在线免费播放| 久久性刺激| 激情国产五月| 夜色五月天| 欧美成人精品A片免费一区99| 五月综合久久| 九九色热| CHINESE熟女老女人HD视频| 99re在线观看| 99热色精品| 深爱五月婷婷| 中文字幕视频色婷婷| 搡BBBB搡BBB搡五十| 香蕉综合网| 亚洲无码色| 亚洲另类在线观看| 免费在线观看AV网站| 欧美成人AAA片一区国产精品| 免费观看的av| 色五月丁香伊人五月| 婷婷丁香综合成人| 99热这里| 婷婷网五月天| 日本一级黄色片。| 日韩婷久| www.婷婷五月| 五月婷婷六月丁香激情综合网| 五月天五月色婷婷综合| 天天成人丁香美女AV| 婷婷丁香色情| 亚洲网站999| 成人av中文字幕| 人妻操逼视频| 五月天丁香久久综合| 欧美三级视频| 国产9色在线/日韩| 99热99热在线观看| 丁香五月婷久久| 五月天激情婷婷| 天天肏夜夜肏| 五月综合人妻| 成人网站免费在线播放| 久草婷婷网| 色色草97| 激情综合女人网五月播播| 五月综合婷婷网| 97 A I色色| 色婷婷五月天小说| 99九九久久| 亚洲日本韩国| 婷婷丁香亚洲色综合91| 五月天五月色| 五月丁香啪啪婷婷| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 五月草影视| www久久久久久久97| 色婷婷丁香五月| 中文字幕av网站| 99操中文视频| 五月丁香婷爱在线| 久草五月| 国产成人AV在线播放| 99丁香五月婷| 亚洲视频操| 亚洲欧美在线观看| 在线看片av| 色五月婷婷DVD| 久9视频| 综合狠久久| 色激情综合| 国产高清RV综合aVa| 激情五月综合网| 99精品偷自拍| 噜噜噜噜噜在线| 99无吗| 天天射影院| 亚欧州精品视频| 日日夜夜爽爽| 国产暴力强伦轩1区二区小说| 九九干视频| 激情小说之五月| 色五月在线播放| 四季AV综合网| 夜夜撸天天操| 国产av天天插天天操天天爽| 国产成人VA| 高清不卡一区| 91啪啪网| 五月婷婷激情综合| 丁香六月激情国产| 五月丁香基地| 色爱99| 色欲婷婷五月天| 夜夜干天天干| 婷婷色综合网日韩国产| 天天添天天摸天天天天做| 日日爽日日| www,超碰| 亚洲五月天色色| 亚洲精品网址| 婷婷丁香色五月亚洲| 久久3级片| 免费99情趣网视频| 99热在线观看免费精品| 91精品国产91久久久久青草| 五月天婷婷色色网| 老妇操B| 五月天激情小说欧美激情| 五月婷婷激情综合| 日韩人妻无码一区二区| 激情五月天婷婷| 欧美日韩999| 九九99精品视频| 另类 在线| 五月天色五月| 丁香六月婷婷综合欧美| 亚洲精品视频在线| 欧韩性爱| 无码人妻AV久久久一区二区三区 | 夜夜操夜夜操| 丁香六月色| 狠狠色综合精品视频在线| #NAME?| 狠狠色综合网站久久久久| 色色9 9| 色婷婷裸体色性在线| 六月婷婷天堂| 日本在线99| 性生活视频98791| 超碰在线观看99| 国产婷婷色五月| 丁香五月社区| 婷婷五点亚洲| 综合色影| 欧美成人精品A片免费一区99| 成人色色综合| 97操碰人免费| 99久久婷婷五月综合| 久久久久久欧美精品se一二三四| 一本大道嫩草AV无码专区| 久久这里只有精品视频26| 视频一区二区在线| 日韩综合天堂| 婷婷色五月久久| 欧美婷婷综合网| 色情丁香五月婷婷精品| 久久只有精品| 婷婷性爱综合| 婷婷五月天伊人网| 99国产性感视频| www.久久久久久| 激情综合五月| 日韩精品无码99| www.婷婷.com| 成人国产欧美大片一区| 超碰人人操| 色五月婷婷天天干| 婷婷中文网站| 欧美肉大捧一进一出免费视频| 色婷婷五月天天天干天天操天天爽| 综合www色| 久热大香蕉| 五月激情婷婷丁香天堂| 色色99色色| 丁香五月天堂网AV| 欧美大肥婆大肥BBBBB| 妻久久人久久| 亚洲视频色色| www.henhenl| 九九99九九精品免费 | 性色播| 五月婷九九草| 最近中文字幕大全免费版在线| 五月丁香六月婷婷操操操| 精a品a视a频| 激情五月狠狠喔| 99视频自拍| 99免费在线视频| 操逼福利视频| 99在线观看视频免费| 亚洲第一av| 少妇搡BBBB搡BBB搡毛茸茸| 天堂综合久久 | 深爱激情丁香| 国产熟女日日骚五月丁香爱| 天天插天天玩天天干| 91碰九色| 五月精品99综合| 人人操AV| 99这里有精品视频| 99热在线精品播放| 人妻精品一区二区三区| 丁香婷婷十月| 超碰精品手机在线| eeuus五月婷| 久操激情| 免费人人操| 丁香五月天堂亚洲社区| 超碰av在| 国产偷人爽久久久久久老妇APP| 九色PORNY9l原创自拍| 色婷五月天| 亚洲成人噜噜| 天天日日综合| http://www.sd-xiangsu.com/| 六月丁香婷婷网| 婷香五月网在线| 成人网站在线观看视频| 婷婷成人综合| 五月婷婷色情| 久久婷婷亚洲| 啪啪91| 日韩综合网络男女香蕉a片| 国产成人在线不卡AV| 久久精品天| 久色88| 激情综合色婷婷啪啪六月天| 婷婷五月丁香色播| 天天综合久久| 99这里有精品视频| 国产一级片| 欧美婷婷| 99热这里只有精品98| 色五月丁香五月激情五月激情| 激情网第九色| 夜夜操夜夜爽| 丁香五月骚喷水视频| 欧美久久五月婷婷| 开心五月综合激情综合五月| 五月丁香五月天现场视频| 婷婷五月天熟妇| 色六月视频| 婷婷五月天免费视频| 五月婷婷在线免费| 欧美熟女99| 五月婷婷六月色| 性无码专区无码| 丁香伍月婷电影全集| 9|在线观看视频| www.91在线看| 婷婷大香蕉| 五月婷婷就去色| 婷婷丁香五月天中文字幕| 九九婷婷五月天| 久99在线视频| 激情五月天视频| 国产毛片精品一区二区色欲黄A片| 粉嫩av懂色av蜜臀av熟妇| 欧美午夜乱妇午夜福利| 天天干天天拍| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 东北婷婷五月天| 巴基斯坦粉嫩无码视频| 欧美激情五月天| 99色视频在线| 伊人喵咪a V| 欧美激情中文字幕| 777.色色| 久色五月丁香视频| 日本狠狠干| 日韩啪啪自拍| 91操操| 久久 这里只有精品1| 欧美狠狠色| 色色激情五月天| 色色综合热| 综合狠狠伊人| 婷婷九月在线| 熟女重口味αV| 九九热免费| 狠狠色噜噜狠狠狠狠综合| 欧美久久九九| a网站免费观看| 五月天深爱激情网| 五月丁香在线观看| 日本三级片片| 亚洲婷婷五月草久| 久久在这里99| 97成人视频| 婷婷五月天激情文学小说| 精品成人a v无码内射| 婷婷五月天视频| 五月婷婷黄| 欧美性丁香色色五月天综合爱爱| 夜色综合网| 色五月亚洲| 婷婷爱在线观看| 婷婷亚洲综合| 99se丁香| tingting五月天亚洲| 久久99久久99精品免观看粉嫩| 色欧美一级| 99色这里| 综合久久综合久久| 丁香五月婷婷婷桃花影院| 丁香五月激情婷婷激情| 久久免片| 在线成人网站| 色欧美影院| 日本偷拍九九九| 五月丁香网站在线播放| 欧美婷婷| 日韩综合久久| 日本啪啪天堂| www.天天干| 色婷婷四虎| 天天狠狠色| 欧美槡BBBB槡BBB少妇| 我爱大香蕉| 色综合天堂| 色五月婷婷AV| 五月天激情综合| 99视频极品在线香蕉| 天天操夜夜爱| 超碰99热精品在线| 爱草视频在线观看| 少妇高潮呻吟A片免费看软件| 大香蕉五月丁香| 99男人的天堂| 大香蕉99| 爆乳熟妇一区二区三区爆乳照片| 五月丁香少妇| 中文AV在线观看| 97欧美在线| 色婷婷五月综合在线| 大香蕉七区| EEUSS鲁片一区二区三区| 亚洲av网址| 色噜噜狠狠色综无码久久合欧美| 色综合香蕉| www.99热视频| 99久视频| 天天操夜夜啊| 少妇性按摩无码中文A片| 丁香婷五月天| 久久婷婷一级片| 99热免| 一二区成人电影| 91操片| 开心五月六月婷婷| 婷婷五月天小说| 日韩婷婷五月天| 爱穴久久| AAAA网站| 欧美在线看| 色情五月婷婷| 日日干夜夜撸夜夜骑| 99精品视频播放| 欧洲激情精品婷婷| 另类精品视频在线观看| 久久久久婷婷| 五月天婷婷激情春色小说| 色色色五月天激情资源| 综合99久久天天综合| 99日韩| 欧美性生交XXXXX无码小说| 婷婷五月激情欧美大胆视频| 亚洲中文AV网站| 国产激情在线| 五月情丁香色| 99精品久久久久久久久| 日韩综合久久| 天天粽合合合合| 久久香视频| 五月丁香色情| 蜜乳国产网站| 2017狠狠干| 国产成人精品一区二区三区视频| 亭亭五月色男人| 人人澡玖玖一| 曰韩五月丁香色婷婷无码| 人人爱摸视频| 亚洲视频色色| 丁香久月| 女人高潮内射99精品| 夜夜操,天天撸| 大香蕉九操| 国产一二区爆乳_1国产日韩一区二区三-成人AV | 丁香六月激情综合| 六月久久狠狠| 任你爽视频| 拍色综合| 久久久com| 日日噜噜夜夜狠狠久久丁香六月| 色五月婷婷狠狠撸| 人人爽欧美婷婷久久久五月丁香| 欧美一级色| www.色婷婷.com| 久久怡红院| 免费看成人747474九号视频在线观看| 婷婷五月天激情综合婷婷五月天激情综合| 99久久.www| 麻豆AV一区二区三区| 天天综合网91| 99久久大片| 久久黄色网扯| 爽极品色| 国产操逼网站| 91久久精品国产91性色TV| 色啪影院| 99综合| 狠狠五月天婷婷激情网。| 91丨九色丨熟女高潮| 丁香花操逼| 婷婷五月花.97| www.狠狠| 久久综合中文| 天天插天天插| 色五月第四色| 婷婷五月天亚洲激情戏精品| 丁香五月激情婷婷视频| www.久久久久久| 在线日韩av| 99精品视频播放| 国产成人精品一区二三区熟女在线| 91天天操天天干天天射| 思思热在线| 色婷婷社区| 天天天摸夜夜夜玩| 26uuuu精品一区二区| 五月天天天综合| 99热99在线| 五月丁香综合在线| 激情五月综合久久| jiuse91在线| 久久五月天丁香| 色婷小说| ai97re99一本| 97日本在线播放| 激情婷婷丁香| 色和综合网| 久久久久久久11111111111| 成人视频网| 偷拍视频五月天| 五月天婷婷色播综合在线| 99色色热| 涩综合在线 | 婷婷综合五月天| 成人丁香五月| 天天拍天天操| 亚洲精品无AMM毛片| 202丰满熟女妇大| 色狠狠色噜噜AV天堂五区| 天天色情站| 免费观看全黄做爰的视频| 精品夜夜澡人妻无码AV| 亚洲视频在线观看| 色噜噜丁香| 日本网站久久| 碰碰碰91| 国产精品视频免费看| www98日本小时间到了| 五月天综合久久| 五月天激情综合在线| 国产永久一二一起草| 五月综合777| 亚洲色 视频| 丁香六月婷婷色XXXXX| 久久精品婷婷| 丁香五月精品视频| 激情播丁香| 欧美激情2025| 亚洲色五月婷婷| 色色丁香婷婷综合| 久久久精品人妻| 午夜精品人妻无码一区二区三区| 69凹凸成人综合网| 激情五月天婷婷色色色色色色色色色色色| 色综合狠狠色| 伊人激情| 内射激情在线| 亚洲最大视频| 丁香五月婷婷影院| www.97视频| 色婷婷影音| 亚洲色综合| 久色中文| 另类激情五月在线视频欧美| 久久久久人妻精品| 欧美A片在线视频免费观看| 99热碰碰| 国产日批视频| 丁香五月成人av| 亚洲综合激情五月久久| 99天堂在线观看免费视频| 综合激情肏逼网| 日日操夜夜操狠狠操| 天天碰夜夜爽| 激情五月婷婷五月| 五六月婷婷久久| 九月婷婷久久久| www.夜夜騎夜夜狠| 久久亚洲婷婷| www.韩日视频| 99小视频| 亚洲综合色色| 国产精品色色| 六月丁香色色色| 国产一级婬片毛片| 日韩高清成人| 碰99在线| 九九精品在线视频观看| 青青草原精品久久| 亚洲婷婷五月天| 五月综合色播播丁香婷婷| 91视频一起草| 日本WwW色偷偷丁香花久久久京东热| 天天肏天天肏天天肏| 欧美熟女乱又伦| 91精品久久久久| 香蕉色色网| 另类图片五月天婷婷| 色婷婷88| 婷婷五月天丁香综合网| 婷婷激情五月天网站| 色偷偷五月天| 狠狠干五月| 99精品国产在热久久| www.97干视频| 丁香五月在线观看完整版| 日本三级日本三级99| 91人人超碰在线| 婷婷六月激情在线视频| 欧美电影在线播放| 91九色首页| 先锋资源婷婷| 国产亚洲99久久精品熟女| 五月花成人网| 精品人妻一区二区| 午夜爱插插| 99热在这里只有精品| 91男人操女人视频| 日韩抽插操逼| 天天天天操| 久久久久婷婷| 久久总和99| 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | 五月综合视频| 色婷婷五月综合激情中文字幕| 综合狠狠伊人| 91 九色 熟女| 97干免费视频| 久久婷丁香五月| 久久亚洲天堂| 人人视频人人干人人做| 狠狠狠狠狠狠草| 夜夜夜叫天天天做| 久久人妻熟女一区二区| 这里只有精品99视频| 岛国av网站| 亚洲Va成人| 欧美婷婷| 激情婷婷五月天。| 婷婷六月丁香五月| 婷婷99狠狠| 婷婷婷婷婷婷婷五月丁香| 美日韩成人| 婷婷丁香18| 99 热| 欧美精品999| 99国产小视频免费观看| www.夜夜| 丁香六月婷婷综合网| 欧美丰满熟妇BBB久久久| 久色视频首页| 日韩黄色影院| 五月天久久综合婷婷丁香| 激情影院69| 色五月婷婷在线观看| 亚洲人人操| 成人一级片| 色色色欧美| 操一区| 婷婷在线午夜| 91丁香婷婷综合久久欧美| 99久久极情精品一区| 九月丁香八月婷婷久久综合久97| 天天插天天插| 久久ww| 天天操夜夜操| 色色丁香激情五月| 人人妻人人澡人人爽| 男人天堂99| 激情婷婷五月天| 蜜桃人妻无码AV天堂三区| 天天做综合网色综合| 97丁香视频| 久久婷婷啪啪视频| 久久五月天综合视频网站| 五月丁久久| 人妻啪啪啪| 99精品久久久久久久婷婷| 日本三级大片| 久久久久久五月天| 丁香六月婷婷综合啪啪| 五月婷六月| 99热精品一区| 婷婷久久免费| 五月亭亭开心网| 天堂草在线观| 狠狠久久婷五月| 精品夜夜澡人妻无码AV| 激情五月婷婷丁香| 国产成人网| 色九九中文字幕| 色99色| 色六月丁香婷婷狠狠干| 免费操超碰| 天天插天天干| 天天五月天综合网址| 天天开心天天色| 久热A片| 久久精品99| 五月丁香六月婷婷综合网缴情| 五月天丁香网站| 射婷婷中文字幕| 色色色国产| 天天看夜夜看| 操一区| 偷拍99在线视频观看| 日日噜噜夜夜狠狠久久丁香六月| 毛片色五月| 人人操Av| 欧美超碰人人| 精品亚洲国产成AV人片传媒| 六月久久婷婷| 五区毛片七区毛片| 五月天激情综合在线| 九九精品re免费视频| 99热这里只有精品8| 99九九视频| 麻豆五月丁香婷婷| 91操人| 亚州综合色| 五月天丁香久久综合| 色五月婷婷中文字幕| 五月婷婷婷婷| 精品99爱免费视频在线观看 | 激情丁香五月天| 激情五月天之五月婷婷| www.婷婷五月| 99热九九在线| Aaa久久| 亚洲人妻av伦理| 另类视频一区| 久热免费视频| 天天日,天天射,天天舔| www.狠狠操.con| 丁香九月婷婷| 秋霞A V毛片| 国内久久久精品99| 99久久五月婷婷| 久久一级AV| 丁香六月婷| 婷婷香五月天| 97视频91| 亚洲综合另类| 99精品热| 日本操逼九九九九58日本操逼| 欧美综合激情五月丁香| 99五月丁香丁| 九九色影院| 伊人五月婷婷| 精品99视频| 91久草五月天婷婷| 国产91在线视频| 五月天久久婷| 99色爱| 亚洲愉拍99热成人精品| JAPANRCEP老熟妇乱子伦视频| 五月丁香色| www.丁香五月| 色5月婷婷| 九九碰九九爱97超碰| 99热在线精品观看| www久久艹| 婷婷五月天影院| 色噜噜狠噜噜视频| 日韩一级网站| 免费看成人747474九号视频在线观看| 5月婷婷激情在线| 婷婷伊人网| 天天操天天操天天操天天操天天操 | 色色五月综合| 小泽玛利亚视频一区二区| 色99婷婷五月天| 欧美色碰| 六月色播| 超碰91在线| 成人操呦av| 丁香六月婷婷高清| 这里只有精品在线播放| 9这里只有精品| 丁香五月婷婷激情中文| 精品久久久人妻| 久久丁香综合| 综合色五月天| 日韩成人综合网| 97色婷婷| 99视频日韩| 日本人人草草| 99色激| 婷婷涩涩网| 亚洲激情精品| 五月婷婷五月天| 99视频自拍| 国产人妻777人伦精品HD| 岛国在线观看91| 色婷婷玖玖影院| 久久人人九九| 五月天婷婷午夜丁香| 丁香五月综合在线播放| 人人干人人操人人摸| 99在线观看视频| 天天色综合网吨吧| 国精产品一区一区三区免费视频 | 99精品综合视频| 精品无码久久久久久久久| 97碰 在线视频观看| 久久久久99精品成人网站| 色婷婷网| 激情五月婷婷综合视频| 99re热视频这里只精品5| 99热主页日本| 国产欧美精品AAAAAA片| 手机在线视频观看9| 色欲久久综合| 爱的综合网| 久久九九国产精品怡红院| 色色色热| 五月激情网综合| 五月丁香婷草| 国产午夜精品一区二区三区嫩草| 日本欧美999久久久三级片| 久热九九| 久久久五月婷婷| 五月天开心色情网| 激情内射人妻1区2区3区| 碰碰人人漕| 深爱激情AV| 六月丁香激情| 熟女人妻一区二区三区免费看| 欧美成综合在线观看| 久久视网36| 激情丁香五月天图片| 婷婷丁香六月| 五月丁香婷婷综合网色欲| 色婷婷五月天天天天天| 五月丁香六月色| 韩国真做片在线观看| 激情中文在线| 五月天黄色激情小说| 婷婷五月丁香六月| www.爱婷婷.com| 五月婷人妻| 午夜成人AV在线| 色色热日| 777久久综合视频 | 色婷婷视频| 99视频九九热| 自拍盗摄 另类| 无码AV免费精品一区二区三区 | 射久久丁香五月| 看片视频在线免费日产在线看| 毛v一区二区视频| 五月婷婷六月激情网| 精品人妻伦一二三区久| 91在线视频综合| 丁香五月开心婷婷| 中国女人做爰A片| 婷婷五月av| 久久婷婷亚洲| 91猫咪国产在线播放| 五月婷视频| 丁香六月婷婷综合激情欧美| 亚洲色夜| 丁香五月www| 久久精品66| 欧美性生交A片免费看| 九九视频免费| 日本久久婷婷| 欧美、日韩、中文、制服、人妻| 激情五月亚洲| 成人无码精品1区2区3区免费看 | 九色视频91疯狂| www.久久9| 五月丁香淫淫婷婷婷| 五月激情四射网站| 婷婷五月开心中文字幕色| 狠狠狠狠狠干| 婷婷九月| 91狠狠综合久久| 亚洲在线操| 超碰97人人操| 久久婷婷网站| 婷婷激情九月| 97色色色| 日本在线视频www色| 色娸娸综合网| 久9精品视频| 人人人操| 激情综合无码| 日本色婷婷| 色久天| 色五月天.con| 99热综合| 五月天天天操天天爽夜夜操| 久久狠狠干| 草操AV在线| 国产乱人偷精品人妻A片| 色色日韩无码| 丁香五月停停av|