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

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久久国产成人精品| 99精品免费| 九九激情网| 亚洲天堂色色| 另类综合国产| 九九九九九九毛片| 午夜不卡久久精品无码免费| 国产日日操夜夜操的肉棒视频| 激情文学综合婷婷五月天丁香花| 五月亭亭性| 五月天婷婷社区久久综合| 狠狠色综合网| 婷婷五月天激情基地| 亚洲久久日| AA片在线观看视频在线播放| 色噜噜狠噜噜视频| 五丁香激情综合| 天天日色情| 射久久丁香五月| 五月丁香在线国产| 97久久精品| 婷婷天堂站| SESE无码AV| 精品99在线看| 无码字幕中文| 亚洲综合在线视频| 999精品乱码77777| 五月天精品视频| 男人天堂伊人五月丁香| 五月婷婷日| 色婷婷五月天| 五月天婷婷综合| 五月天播播中文字幕| 久久永久网址| www.五月婷| 五月婷婷丁香五月| 日日噜噜夜夜狠狠久久丁香六月| www.五月天激情| av九九| 超碰只有精品在线| 天天日天天插| 综合网亚洲| 五月天综合色| 色婷| 丁香六月婷婷综合| 五月丁香人妻| 色婷五月| 亚洲狠狠爱婷婷| AV在线观看网站| 丁香六月视频免费观看| 五月丁香婷婷视频| 婷婷六月丁香欧美视频在线| 天天操,夜夜骑| 一个色的综合| 五月婷丁香久久久| 欧美综合婷婷网| 激情综合网婷婷久久| 久色网| 亚洲色色色色| www.99热这里精品| 天天射夜夜骑| 色婷婷天堂| 丁香五月天网友自拍啪啪啪视频| 无码人妻一区二区三区免费九色| 久久久久久人妻久久久久久久久久人妻久久久 | 大香蕉人人网| 伊人成综合五月婷婷| 九九伊人网| 国产亚洲在线观看| 国产SUV精品一区二区6| 丁香五月五月婷婷欧美大香蕉| 免费无码毛片一区二区A片| 无码人妻AV久久久一区二区三区 | 97热91| 亚洲丁香五冃97色| 日韩在线视频9色| txt五月激情四射网综合俺也来了| 五月久久| 伊人青草成人| 丁香五月天激情小说| 26uuu欧美日韩| 99久久精彩视频。| 五月婷婷婷婷网| 激情综合网五月婷婷| 日韩精品一品二区三区的使用体验| 五月婷婷性| 亚洲乱码在线观看| 99无码视频| 一级AV片| 97婷婷色| RenRenSe在线视频网站| 日韩高清成人| av婷婷丁香| 亚洲人操亚洲人| 久综合九综合99| 丁香婷婷浪潮AV久久综合| 五月天激情亚洲| 色婷婷中文在线| 人人色性网| 丁香五月a| 午夜九九九九九九九九九九九九九| 99色色网| 色天使色婷婷| 熟女婷婷网站一婷婷五月一丁香婷婷一婷婷激情网| 婷婷亚洲欧美丁香五月| 久久五月网| 成人做爰A片免费看视频| 免费看欧美成人A片无码 | 天天干天天操天天上| 五月丁香啪啪网| 久综合网| 久操人妻| 五月丁香久久综合精品| 色色操| 色婷婷精| 岛国av网| 色九月婷婷| 香蕉伊人综合| 午夜激情五月天| 色色色热| 91丨九色丨国产打屁股| 丁香五月欧美| 丁香五月激情五月| 久久这里只有精品1| 开心五月网| 天天做天天爽| 大香蕉久久伊人婷婷五月丁香| 婷婷五月天在线综合导航| 婷婷五月天综合在线| 五月天婷婷基地| 色五月婷婷影院| 26uuu激情五月天| www.超碰在线| 婷婷WWW久久| 五月丁香色| 五月欧美色播| 丁香久久| 激情综合九| 五月婷成人网| 深爱激情五月天| 91九色中文字幕女在线观看| 丁香五月婷婷六月丁香| 婷婷激情四射五月天| 91ncom.色| 激情综合五月.....| 婷婷五月丁香五月综合网| 99只有精品| 日本操碰碰| 久热免费视频| 五月天婷婷香蕉狠狠超碰综合| 99 这里只有精品| 婷婷丁香十月| 五月丁香婷婷啪啪网| 色婷婷影视| 99视频九九热| 91viP在线看| 五月丁香琪琪| 婷婷激情97| 噜噜噜精品欧美成人在线观看| 精品在线网站| 人妻熟妇国产精品| 97色婷| 婷婷第六色| 婷婷五月天色| 五月丁香直播| 国产高清av黄色看片| 日本人人干| 91人妻人人做人碰人人爽九色| 草美女在线观看视频在线播放| 99色热| 亚州美女| 97色五月婷婷在线| 激情婷婷网| 色无婷婷| 婷婷五月天激情免费在线观看| 97超级碰人人| 色色com| 99毛片| www.色9| 97热这里精品在线视频| 九九99久久| 丁香婷婷六月婷婷六月婷婷六月婷婷| 日本人妻伦在线中文字幕| 男人的天堂婷婷色五月| 丁香五月成人社区| 人人操婷婷| 综合五月激情| 色五月首页| 性日本激情| 五月天综合色| 99热大全在线观看| www.com久久久久久久久久久久久久久久久| 手机激情网| 67久久| 天天日,天天干,天天操| 久久9视频| 91精品丝袜久久久久久| 国产,欧美,日韩,性爱| 四川操逼站| 日韩 中文 欧美| 99操视频| yw国产AV| 色色色免费视频| 国产夫妻操逼内射视频| 五月丁香花激情啪啪网| 色五月人妻| 婷婷5月天av| 99ri网站在线观看| 久久综合九九| 色综合色色| 97碰久久| 婷婷综合在线网| 色五月色图| 2015好吊操| 成人.在线日韩| 天天干夜夜想| 婷婷五月丁香高清无码| 色碰碰| 激情综合网色播五月| 婷婷激情蜜桃玖玖丁香| 92久久| AA片在线观看视频在线播放| 久久怡红院| 亚洲激情校园| 久久99久久99精品免观看粉嫩| 婷婷丁香六月天| 五月天俺去也| 99久在线观看| 亚洲高清在线| 99ri精品视频在线观看| caopeng97日韩| 97人妻碰碰碰久久香蕉| 亚洲人成网站999综合| 日韩AAAAA| 99热永久在线观看| 天天操天天插天天射| 99色免费观看全部| 国产精品爽爽久久久久久| 99在线免费视频| 亚洲最大成人综合网720P| 丁香综合婷婷五月天| 狠狠色婷婷7| 激情啪啪五月天| 99国产精品久久久久久久久久久| 亚洲免费99| 午夜电影网VA内射| site:minyis.com| 国产黄色在线观看| 精品夜夜澡人妻无码AV| 亚洲日日操| 九九性视频| 九九热九九| 人人综合久| 亚洲久艹| 97成人在线视频| 五月天激情国产综合婷婷婷| 99ri国产在线| 99激情网| 日良久久| 丁香婷婷五月综合色情| 操97免费超级视频 | 51XX午夜影福利| 国产精品香蕉| 色色色色色色97| 久热只有这里有精品| 九九综舍久久| AA片在线观看视频在线播放| 婷婷丁香六月| 色色99| 日韩色五月| 六月综合在线| 久久婷婷五月综合色和| 五月天婷a| 五月丁香激情综合六月涩涩爱| 99精品久久| 99噜噜| 狼人婷婷综合| BT综合在线视频观看| 97丁香视频| 涩丁香| 麻豆AV一区二区三区| 五月天丁香网| 日本欧美成人片AAAA| 久久99精品视频| 91色婷婷综合久久中文字幕二区| 综合久久综合| 99热思思| 国外亚洲成AV人片在线观看| 人妻激情久久| 色站9/| 日本欧美成人片AAAA| 99热最新网址| 91紱請| 国产精品美女久久久久AV超清| 99干视频| 日本一级一级一级一级| 国产偷人爽久久久久久老妇APP| 色婷婷五月天| 嫩模草| 91狼友视频在线观看| 五月美女婷婷风骚| 久久激情五月网| 大香AV| 国产亚洲99久久| 激情五月婷婷综合秋霞| 激情五月九九九| 婷婷五月a| 色婷婷色九月| 免费的日逼视频| 国产综合激情五月久久| 色婷婷婷婷五月天| 九九热99热| 激情影院丁香五月| 99热这里只有精品66| 噜噜噜久久| 亚洲精品久久久久AV无码| 九九九激情综合| 97婷婷久久丁香| 久久狠婷婷| 99热在线中文字幕| 伊人五月久久| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 久久狠狠干| 亚洲婷婷五月| 亚洲亚洲人成综合网络| 亚洲第二AV| 婷婷久久性爱| 美女被操一区二区| 9有码中文| 日本色频| 婷婷十月激情综合网| 色婷婷天堂| 五月天激情影院| 夜色热久| 日日骑夜夜撸| 精a品a| 天天做天天爱| 九九九午夜视频| 成人五月天在线观看| 婷婷五月丁香伊人网| 丁香五月亭亭六月综合激情网| 日韩不卡123| 久久婷婷五月综合激情国产| 亚洲人人干| 99热精品在线在线| 丁香五月欧美婷婷综合| 思思热天天看| 思思久久99| 日韩成人综合网| 在线sebiav精品视频| 免费视频WWW在线观看网站| 国产女18毛片多18精品| 九九热这里有精品视频| 久久久久人妻网址| 丁香六月婷婷色XXXX| 五月天天综合| 激情五月婷婷丁香综合网| 操人91| 亚洲人操亚洲人| 五月婷婷六月丁香| 五月丁香激情综合| 丁香婷婷综合影院| 久婷婷久草| 久久婷婷五月综合激情国产| 人妻在线观看视频| 亚洲狠狠婷婷综合久久久| www.9797国产| 丁香五月婷婷影院| 97好吊操| XX色综合| 欧美噜噜免费观看| 天天爱夜夜爽| 国产又色又爽又黄又免费| 99熟女啪啪视频| www.俺去也com| 色五月综合网| 久久久久久久久久8888| 香蕉婷婷色五月| 久久久久久久,99精品视频| 激情5月婷婷狠狠干| 美女网黄| 久久久激情视频| 婷婷深爱五月| 色月丁| 色5月婷婷| 六月丁香啪啪| 思思99热在线| 激情综合五| 九九色热| 思思热精品在线视频| 熟女网站久久| www九九热| 精品亚洲国产成AV人片传媒 | 久久狼人天堂| 亚洲视频二区| 情色五月天网站| 激情五月丁香婷婷| 婷婷激情六月综合| 99热这里| 丁香六月久久| 超碰大香蕉网| 久久久妻人人人| 丁香五月天色婷婷| 五月伊人综合| 蜜桃成语时李时珍 免费| 九九色综合| 丁香五月久久| 99视频超级精品| 丁香六月婷婷色XXXXX| 青青草tp| 日日噜噜夜夜狠狠久久丁香五月| 五月丁香色婷婷婷基地| 色99在线| 午夜婷婷五月天在线| 麻豆观看夏晴子| 精品久久久久久久久久久久人妻| 久9热在线免费观看| 久久这里有精品在线观看| 91麻豆国产三级精品福利在线观看| 小视频一区| 岛国在线观看91| 成 久久| 中文超碰视在线| 夜丁香综合| 色婷婷啪啪| 天天做天天爽| 五月婷婷六月丁香激情深爱| 亚洲无AV在线中文字幕| 26uuu亚洲欧美| 九九精品碰| 无码色| 大香蕉婷婷五月天| 99精品网| 五月婷婷在线免费| 无码色色色色色| 婷婷丁香五月综合| 欧美激情综合色综合色| 成人 在线观看国产| 午夜丁香五月天综合| 四季AV综合网| 99网| 色婷婷社区| 亚洲AV第二区国产精品| www.99在线| 伊人久久五月天| 操操精品| 亚洲乱码日产精品BD| 五月天激情综合10p| 九九精品re免费视频| 色综合九九色综合88| AA丁香综合激情| 日本乱子人伦在线视频| 丁香婷婷九月| 黄色99网| 黄色三级日本| 91人妻九色大屁股| 啪啪综合网| 思思w99| 久99久99精品免| 99免费在线视频| 久久丁香五月婷| 亚洲AV成人在线| 免费无码毛片一区二区A片| 激情五月,婷婷五月,丁香五月| 中文字幕九九九九| 亚洲精品第一国产综合亚AV | 秋霞午夜理论| 色婷久| 超碰久热| 色你久久| 丁香六月亭亭久久综合| 天天射影| 涩九九九九| 色偷偷AV亚洲男人的天堂| 婷婷色综合av| 99在这里有精品| 开心五月婷婷五月| 天天插天天射天天干| 麻豆WWWCOM内射软件| 五月天婷婷社区| 天天爽,天天操。| 五月婷婷|欧美| 黄色片久久| 91Chinese在线| 99成人免费热视频| 我要色综合五月婷婷| 超碰在线观看9| 久色资源| 99久久精品网| 久久99最新| 婷婷操逼| 久久久婷丁香五月天激情综合| 伊人婷婷大香蕉在线| 99色色网| 99热丁香| 天天色亚洲| 欧美丁香六月激情视频| 狠狠操.com| 夜夜资源站| 久久九九re热| 婷婷五月丁香激情图片 | 久久久这里有精品| 久久这里只有国产视频| 开心五月婷婷激情网| 九九色中文| 婷婷五月丁香欧洲| 无码色综合| 激情五月最新网址| 丁香激情综合| 97操操网| 九月婷婷在线视频| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | 成人AV免费观看| 婷婷伊人75| 99热www| 亲子乱AV-区二区三区| 黄网在线免费| 婷婷在线日韩综合| 五月婷婷丁香91| 精品国产AV色一区二区深夜久久| 国自产拍偷拍精品啪啪一区二区| 大香蕉伊人久久| 美女五月天| www.色99| 国产精品色| 婷婷五月天开心网| 五月婷婷无码| 欧美性猛交XXXX乱大交极品| AA片在线观看视频在线播放| 深夜婷婷 丁香| 日韩精品视频中文字幕| www.99色在线| 九九综合图片网| 97婷婷五月激情六月丁香伊人| 爱iii做iiii日日| 67194中文在线| 中文字幕91,综合| 综合色吧| 自拍偷窥99热| 五月婷婷丁香啪啪| 丁香五月六月婷婷自拍| 色六月天| 六月色播| 久久婷婷网站| 丁香成人五月天| 久久视频在线视频| 丁香五月激情啪啪啪啪| 亚洲操B视频| 婷婷丁香97| 99精品视频在线观看免费| 怡红院 久久| 久久性爱视频免费| 九九热免费| 成人在线视频一区| 99久久玖玖| 久久婷婷五月综合| 婷婷五月天视频| 久久er99热精品一区二区| 亚洲免费综合一区| 亚洲色人妻| jiqingtaose五月天| 五月天六月丁香| 26uuuavcom| 五月情婷婷| WWW.99视频| 激情AV| 婷婷五月丁香性爱| 成人av中文字幕| 色情丁香五月天| 97婷婷五月| 97人凄人人操人人爽| 思思99热| 久热在线观看视频9| 色综合中文色综合网| 婷婷丁香社区网| 超碰狠狠色| 五月天婷婷AV| 亚洲日韩一页精品发布| 182TV大香蕉| 婷婷久久五月天亚洲欧美国产日韩在线观看 | 五月天久久婷婷| 天天草天天爱| 色爱综合网| 婷婷综合网站| 丁香五月婷婷大香蕉| 五月天婷婷六月激情网| 狠狠色婷婷777| 婷婷五月丁香基地| 热久久婷婷| 五月婷婷激情刺激| 97操碰在线视频| 青柠影视免费高清电视剧| 亚洲欧美国产A片免费观看| 97人人草| 色综合伊人网| 婷婷五月天国产传媒| 色狠狠色综合久久久绯色AⅤ影视 大香蕉五月天婷婷丁香91 | 99久久综合| 五月天激情综合网| 玖玖九九99| 思思久久99热只有频精品66| 五月天激情婷婷| 97艹| 婷婷五月骚厕所| 99这里有精品视频| 婷婷五月丁香花综合| 天天久久综合| 91丨九色丨东北熟女| www,com,五月色色| 五月婷婷精品无在线| 久久人妻精品| 999婷婷综合| 天天摸天天做天天爱天天爽| 激情内射人妻1区2区3区| 婷婷激情综合| 婷婷色色丁香五月天| 亚洲超碰青涩| 日韩AAA| 五月天激情综合网| 99啪啪视频| 天天天天操| 日韩AC在线免费观看| 小视频在线亚洲| 99热偷拍| 亚洲六月色婷婷| 五月丁香六月婷婷国产视频| 操大屄五月天视频| 五月丁香人人婷婷在线观看| 婷婷丁香五月综合| 婷婷成人网五月天| 五月婷色| 五月丁香色色网| 久久婷婷综合国产| 色婷婷瘦婷婷日韩| 日韩AAAAAAAAAAA片| 羞羞嫩草视频| 开心婷婷五月中文字幕组| 国产古装妇女野外A片| 久久机热这里只有精品免费视频| 日本精品99| 五月丁香久人妻中文| 日本婷色| 爆乳熟女一区二区三区爆乳| 99热精品在线| 综合99久久天天综合| 丁香成人五月天| 自拍视频99| 婷婷丁香五月高清| 热996精品在线观看| 天天干com| 久久婷婷艹| 久久欧洲综合网| 97干在线视频精品店| 快色t v在线入口| 超碰2021| 五月丁香色六月激情干大屄| 五月叮香啪| 亚洲第一综合| 91超级碰在线视频| 成人丁香五月天| 成人噜噜网| 五月婷婷激情网| 996er热| 91狠狠综合网| 欧美一级色| 国产成人亚洲综合A∨婷婷| 亚洲午夜AV| 久热免费视频| 可以直接看的av网站| 婷婷五月性感| 亚洲色网址| 激情亚洲婷婷| 五月天色五月| 久色网五月| 色噜婷婷| 激情床戏| 激情精品久久| 中文AV网站| 天天搞天天爽| 色婷婷电影网| 在线观看免费观看在线9久| 激情综合色五月丁香六月亚洲| 丁香五月婷婷综合激情啪啪啪| AV性爱在线| 婷婷五月激情综合| 欧美情色一区| 五月丁香婷婷婷激情爱爱| 337p大胆噜噜噜噜噜91Av| 日韩成人精品中文字幕| 五月天成人小说网| www.99婷婷| 色婷婷五月天| 天天干电影| 五月婷婷开心亚洲无| 六月婷婷综合网2| 五月丁香六月色| 六月丁香五月婷婷首页| 日本97人人| 色一情一乱一乱一区91| 亚洲综合丁香五月| 综合色婷婷| 操一区| 亚洲综合热| 五月丁香啪| 婷婷五月天丁香综合网| 亚洲色啪| 婷婷色爱| 激情五月天噢美| 久久资源综合| 国产99久久久国产精品免费看| 五月婷视屏在线观看| 超碰99在线| 五月婷婷性爱网| 夜夜谢天天干| 亚洲热视频| ,99视频久久| 超碰在线观看9| 欧美 色婷婷| 天天爽人人综合免费7799| 我爱婷婷五月天综合88| 日本啪啪网| 99精品丁香五月| 婷婷五月天小说网| 婷婷网五月天| 国产探花AV在线| 亚洲综合成人网| 五月激情婷婷四射| 欧类av怡春院| 五月婷婷啪啪| 天堂综合久久 | 五月婷婷激情视频| 天天草天天爱| 人人爱操| 久草性爱| 中文字幕黄色电影网址| 日韩成人影片网站| 日韩aaaaa| 婷婷久久精品| 79精品视频在线观看,| 五月人妻婷婷| 中文字幕婷婷五月天| 97五月久久丁香婷婷| 九色亚洲| 亚洲天堂婷婷丁香| 九九香蕉网| 超碰在线国产| 综合狠狠干| 丁香五月激情婷婷婷婷在线观看| 久热中文字幕在线线观看 | 婷婷五月花| 色综合区| 另类精品视频在线观看| 99热色精品| 天天摸色吧天天摸色吧| 五月丁香六月婷婷亚洲| 六月丁香婷婷色综合| 五月婷婷 欧美| www.婷婷五月天.com| 人人插9| 丁香婷婷综合影院| 91在线资源| 久久五月天激情| 搡BBBB搡BBB搡五十| 色婷婷激情| www.色婷婷| 五月丁香婷婷色| 丁香婷婷六月| 超碰99在线| 婷婷五月天丁香花| 99视频精品| 激情五月婷婷| 六月婷婷色综合| 五月丁香啪啪| 国产精品色色| 无码激情AAAAA片-区区| 亚洲国产精品VA在线看黑人| AA片在线观看视频在线播放| 亚洲日本韩国| 黄网在线免费| 国产精品A片在线| 思思热视频在线观看| 可以直接看的av| 久9视频| BBWCUCKOLD精品熟妇| 4399无码视频| 色婷婷av综合网| 久久色吧| 手机在线日韩视频中文字幕| 激情六月丁香| 精品五月视频婷婷在线观看| 免费国产VA国产免费| 九九热这里有精品视频| 日日干综合| 欧美激情综合色综合色| 丁香婷婷深情五月亚洲| 五月天婷综合| 九九性视频| www.狠狠| 亚洲一级 片内射网站在线观看| 啪啪色激情五月天| 桃色激情五月天| 色优久久| 五月丁花色综合网| 橾逼网| 久久婷丁香五月| 丁香五月五月婷婷| 青草视频在线观看视频 | 日本成人噜噜| 亚洲网站999| 人妻久久久久久久 | 91黄址| 婷婷九月激情| 五月婷婷开心丁香| 色99日韩| 国产精产国品一二三在观看| 182tv992tv人之初午夜免费观看| 91在线日本| 免费AAAAA网| 婷婷色色网| 丁香五月综合| 99热18| 97操碰免费视频| 色婷丁香| 婷婷五月色综合| 婷婷综合亚洲| 国产黄大片在线观看画质优化| 色原狠狠综合| 婷婷色五月婷婷姐妹| 四月婷婷丁香| 五月丁香| 99精品丰满| 亚洲成人网站在线观看| 丁香婷在线| 丁香婷婷性爱| 一级黄在线| 婷婷激情视频| 深爱开心五月天| 99色精品| 人人摸人人操人人爱| 91精品婷婷国产综合| 夜夜做天天爽| 九九综合伊人| 六月婷欧美丁香综合| 琪琪色五月天| 激情婷婷五月基地| 久草热在线视频| 男人的天堂99| 五月天合网| 亚洲免费观看高清完整版AV线| 99久久国产宗和精品1上映| 综合激情五月婷婷| 色噜噜婷婷| 久久激情视频| 激情啪啪五月| 五月天色婷婷网| 婷婷另类小说| 色人久夂| 99成人免费热视频| 五月婷婷五月天| 人妻激情综合| 日日爱激情| 欧美成人一区二区三区在线视频| 五月丁香婷婷综合久久| 五月婷婷丁香网| 无码AV久久久久久久久| 久久作爱| 久久 天天| 婷婷不卡基地| 日韩av大全| 丁香激情五月| 亭亭色色五月天| 色五月播五月| 夜色.cnm| 色五月天激情| 噼里啪啦完整版中文在线观看| 91黄操| 天天干天天干天天干天天干天天干| 老师的粉嫩小又紧水又多A片视频 粉嫩AV久久一区二区三区 | 九月av在线| 丁香五月婷婷成人网| 99热这里只有精品99| 狠狠综合网| 97色色色| 一级性感毛片| 99成人小视频| 大香蕉久久视频久久视频| 色婷婷久久综合久色| 婷婷午夜| 午夜天堂啪啪| 亚洲综合1024| 色色色综合色| 色噜噜狠狠色综合网| 91天堂网综合| 国产日韩欧美| 国产亚洲av片| 少妇达人正片在线播放_ikun_福利吧| 综合色、色综合| 色情五月天首页| 亚洲乱码日产精品BD| 欧美五月丁香啪啪响视频| 人妻人人操| 91AV婷婷| 99ri在线视频| 色婷婷香蕉| 婷婷黄色| 99久热| 久久精品这里只有精品免费首页| 九九热在线观看6| 99精品在线观看视频| 激情色播| 激情综合网五月婷婷| 熟女激情网| 国产真人做爰视频免费| AⅤ色区| 大香蕉久久青青| 影音先锋人妻出差| 婷婷综合在线网| 五月天 无码| 91热视频色网站| 狠狠操综合| 五月天啪啪| 天天日夜夜| 丁香五月亚洲婷婷| 五月丁香六月婷婷激情四射| 欧美色婷婷| 五月丁香好婷婷A片网| 久久五月激情| 99在线精品视频观看免费下载| 婷婷五月色播| 丁香婷婷五月六月天| 国产99久| 极品另类| 婷婷丁香五月亚洲欧美| 蜜桃成语时李时珍 免费| 五月天成人在线| jiuse91在线| 色婷婷888| 深爱五月婷婷开心中文字幕| 丰满少妇乱A片无码| 婷婷综合爱| 日本99在线| 伊人五月天| 色色婷婷综合网| 亚洲成人无码片| 五月婷婷啪啪啪| 干亚洲天堂| 亚洲色图五月丁香五月婷婷| 五月天婷婷爱| 激情婷婷内射| 色五月美女| www.五月婷婷.com| 五月丁香WWW| 色欲色香,www,com| 激情综合色网| 思思w99| 色综合中文色综合网| 99热综合| 综合激情站| 久99热| 久婷婷视平| 国产精品成人AV在线| 九九99视频精品| 91精品视频男人的天堂| 在线观看中文字幕| 玖玖资源天天无码| 婷婷九九| 色五月 婷婷, 大香蕉| 五月天天综合| 色丁香综合影院| 五月天丁香综合在线| 26uuu亚洲| 99er热精品视频| 狠狠大香婷婷爱| 亚州成人综合在线| 天天干夜夜谢| 丁香五月天啪啪a日本| 丁香婷婷激情综合五月激情 | 色五开心五月五月深深爱| 色五月丁香五月| 综合久久五月| 久热伊人| 九九99热久久精品66中文字幕| 日本美女天天日天天爽| 大香蕉Av在线| 99精品视频在线观看| 97人妻碰碰碰久久香蕉| 婷婷五月天性| 五月香婷婷| 综合婷| 精品夜夜澡人妻无码AV| 久久久99免费视频| 无月播播激情在线观看视频| 五月天天丁香婷婷在线中| 综合久久伊人| 国产精品久久久久久久久久 | 91男同| 五月婷中文娱乐综合| 被强行糟蹋的女人A片| www九九| 五月成人天| 五月婷免费视频久久久| 五月丁香啪啪啪综合网| 激情五月天福利| 亚洲愉拍99热成人精品| 99欧美| 日本五月天网站| 99热99热不卡| 色九月激情综合网| 久久中文人妻系列| 9久久久久| 色五月自偷自拍婷婷婷婷| 色色网站毛片| 99热在线观看| 色五月婷婷基地| 亚洲视频二区| 激情综合色婷婷啪啪六月天| 婷婷五月天堂一本在线| 97婷婷丁香五月天激情图片| 亚洲操操| 欧美五月婷婷| 99啪99| 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | 婷久久高清| 欧美精品在线观看| 97在线精品| 久久久噜噜噜久久人妻| 亚洲啪啪啪啪| 99色网站| 国产婷婷五月天| 久色五月丁香视频| 婷婷香五月天| 激情五月天无人视频在线| 丁香六月激情蜜桃| 开心五月婷婷激情网| 天天肏天天插| 日韩欧美四五区| 亚洲精品五十一区| 丁香五月天在线视频| 婷婷激情中文综合| 婷婷五月天丁香| 久热91| 色婷婷狠狠18禁| 婷婷色中文字幕| 日本综合久久| 日韩成人精品中文字幕| 激情五月婷婷丁香六月| 欧美极品999| 国产色丁香| 五月综合激情图片| 激情五月丁香色婷婷| 婷婷五月天深爱| 天天综合五月| xfplayav在线| 五月天基地| 噜噜久| 激情綜合W W W,激情五月天| 丁香五月在线| 色婷婷天堂| 免费黄色片子| 色色射| 狠狠干,狠狠操| av中文网| 99热欲| 超碰人人操| 99久久久久久| 激情五月天在线观看婷婷| www.国产亚洲69ty.久久久久久久久久久久| 国产色色网站网址| 色情激情五月| 婷婷激情五月色综合| 五月丁香六月婷婷激情视频在线观看免费| 久久丁香五月天| 超碰免费大香蕉| 五月综合无码| 爱久久小说下载网| 天天婬色综合| 久久婷婷人人| 国产67194| 色五月丁香激情视频| 激情网五月婷婷| 亚洲丁香五月天视频| 欧洲不卡视频| 午夜一区| 五月久久丁香| 91久久色| 996er在线观看| 亭亭五月天黑人2014| 青青草成人网| 9久久精品| 人与禽A片啪啪| 午夜激情久久| 色欲av伊人久久大香线蕉影院| 99热精品10| 天天射色五月天| 五月丁香婷中文| 免费看欧美成人A片无码| 丁香婷婷老司机久操| 五月丁香久| 激情丰满熟妇五月| 免费观看的av| 久久色情| 91精品视频男人的天堂| 丁香丁婷五月激情| 99久久久| 97色碰| 99热在线极品极品| 激情久久久久久| 激情五月丁香激情综合网| 五夜丁香| 国产真人做爰视频免费| 色婷亚洲五月丁香| 色VA| 色五月丁香婷婷久草| 色色激情五月天| 亭亭玉月丁香| 十月丁香婷婷| 婷婷丁香六月| 乱岳熟女50岁| 欧美日韩成人一区二区| 五月婷综合性中心| 色婷婷激情| 国产毛片操B| 99九九精品| 91人人爽久久涩噜噜噜| 91人妻PORNY九色大屁股| 怡红院91a√| 丁香五月视频在线观看| 婷婷五月天激情电影| 五月天色小说| 丁香五月性爱| AV性爱网| 99人妻碰碰久久久禁片| WWW久久久| 亚洲狠狠干| 国产精产国品一二三在观看| 狠狠色噜噜狠狠| www夜夜操wwwcon| 色五月婷婷在线| 亚洲免费av在线| 色婷婷色人人射| 97色色婷婷| 婷婷综合97| 成人精品99| 狠狠五月天| 久久总和99| se影音资源在线观看| 无码激情AAAAA片-区区| 午夜婷婷| 久久婷婷五月综合激情国产 | 丁香五月亚洲| 亚洲色色色| 中文无码婷婷| 99激情视频| 97超美国视频在线观看| 婷婷激情五月天天天开心| 五月丁香六月激情综合| 激情综合另类| 伊人狠狠综合| 激情五月天综合网| 九九九九综合| 天天干天天拍| 免费99色| 激情小说视频图片网| AV成人在线网站| 国产99精品免费视频| 激情综合网五月婷婷| 九九热99视频| 五月天社区婷婷丁香社区| 六月丁香啪| 色五狠狠| 2050人人操免费工开爱| 丁六月激情| 日本片日本片祼观看网站在线看中文版网页在线看 | 激情六月丁香| www.久久爱.com| 亚洲色图81p| 五月丁香在线观看| 亚洲性爱AV| 人妻精品久久久久久久| 五月开心播播网| 五月婷婷久久综合| 色五月婷婷网| 九九九九九无码| 婷婷丁香五月综合| 激情婷婷内射| 99综合免费视频| 五月综合激情久久| 91成人性爱视频| 无码四色色色| 久久婷综合| 激情综合网之激情五月| 国产精品扒开腿做爽爽爽A片唱戏| 久月久在线视频| 五月天久久成人| 国产美女无遮挡裸体毛片A片| 欧美va视频不用播放器的va视频网| 五月丁香综合激情网| 就是色婷婷五月亚洲色| 婷婷五月天小说| 综合久色五月| 亚洲乱码日产精品BD| 亚洲 无码 中文字幕 中出 | 五月综合亚洲色| 丰满老熟妇BBBBB搡BBB| ji'qing'luan'ren'lun| 国产亚洲精品久久久久久久久动漫| 甈你aaaaa| 9色操| 天天爽天天干| 亚洲天99| 五月天开心激情综合网| 久久婷婷五月国产激情综合片| 99热超碰在线| 久99久热只有精品国产99| 8050一级网| 热久久99热欧美国产亚洲| 超碰爱爱爱| 色欲丁香| 99久久国产宗和精品1上映| A片试看50分钟做受视频| 激情婷婷丁香色五月| 丁香六月亚洲| 中文字幕,综合,91| 99这里有精品久久97| 日本精品人妻无码77777| 成人精品99| 偷拍91九色| 综合色播| 天天干天天操天天爱| 无码一级片| 激情色色| 五月丁香婷婷成人伊人网| 色9999综合久久| 黄网免费观看| 成人小说 五月天 婷婷| 久久玖玖99| 五月天色色网站| 3p日韩网站视频| 五月婷婷性爱视频| 91chinese在线| AⅤ色区| 六月婷色| 国产乱妇无乱码大黄AA片| 婷婷五月天欧美图片在线播放电驴| 婷婷中文字幕网| 日本九九九九| 婷婷亚洲欧美丁香五月| 亚洲1区| 久久丁香综合香蕉| 丁香久久久| 五月丁香直播| www.sebowuyue| 天天日天天插| 狠狠摸狠狠摸| 五月色丁香综合| 亚洲四色五月| 色婷婷久久| 婷婷五月天综合在线| 最新午夜理论片| 亭亭玉月丁香| 青青久在线视频免费观看| 91成人看片|