日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

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

UDS協(xié)議棧開發(fā)實戰(zhàn):車載ECU診斷的核心機制與集成避坑指南

UDS協(xié)議棧開發(fā)實戰(zhàn):車載ECU診斷的核心機制與集成避坑指南 做了這么多年車載ECU軟件開發(fā)UDS協(xié)議棧幾乎是每個項目都繞不開的坎。每次新項目啟動團隊里最常問的一句話就是“這次用誰家的診斷棧”。這問題看著簡單回答起來卻特別費勁。說一個UDS協(xié)議?!翱孔V”遠不是它能響應(yīng)“0x10 00 00”這種標(biāo)準(zhǔn)會話切換那么簡單。UDS協(xié)議棧的本質(zhì)是把診斷儀與ECU之間那一來一回的診斷語義、狀態(tài)遷移、超時節(jié)奏和異?;謴?fù)全部處理干凈而且要在臺架上測試不出錯、產(chǎn)線上刷不掛、4S店里查得快。這篇文章我不想逐條抄ISO 14229規(guī)范而是想結(jié)合我自己的真實項目經(jīng)歷聊聊UDS協(xié)議棧放在整車環(huán)境里到底承擔(dān)什么角色、哪些核心機制決定它靠不靠譜、集成過程中最常見的坑有哪些。不管是準(zhǔn)備選型、正在集成還是打算自己寫一套的同行應(yīng)該都能從中找到點參考。1. UDS協(xié)議棧放在整車環(huán)境里究竟承擔(dān)什么角色1.1 一條診斷消息從診斷儀到ECU的完整旅程很多剛?cè)腴T的朋友會把UDS協(xié)議棧理解為“一串處理函數(shù)”這個理解太窄了。一條診斷請求從診斷儀發(fā)出到ECU給出響應(yīng)沿途要經(jīng)過好幾層診斷儀應(yīng)用層構(gòu)造UDS報文比如“讀取ECU當(dāng)前故障碼”的0x19服務(wù)請求然后走到傳輸層如果數(shù)據(jù)長度超過單幀CAN報文能承載的8字節(jié)就需要按ISO 15765-2把數(shù)據(jù)拆成多幀發(fā)送這就是常說的CAN TP報文通過CAN總線到達ECU的CAN控制器觸發(fā)接收中斷驅(qū)動層把幀收進來CAN TP模塊完成重組再把完整的UDS數(shù)據(jù)交給協(xié)議棧核心解析。UDS協(xié)議棧真正負責(zé)的就是從“拿到完整應(yīng)用層請求”到“返回完整應(yīng)用層響應(yīng)”這一段。它要判斷服務(wù)標(biāo)識符是否支持、子功能是否合法、當(dāng)前會話是否允許執(zhí)行、安全等級是否足夠、參數(shù)長度是否匹配然后調(diào)用對應(yīng)的服務(wù)處理函數(shù)最后把響應(yīng)按同樣的路線傳回去。如果這臺ECU里面還跑著RTOS那么協(xié)議棧還要考慮消息隊列從中斷上下文到任務(wù)上下文的切換如果ECU同時控制多個總線協(xié)議棧還要能感知到請求是從哪條總線來的響應(yīng)就該回到哪條總線。這些聽著瑣碎但任何一處處理不當(dāng)都會變成真實路線上“偶發(fā)無響應(yīng)”的疑難雜癥。1.2 產(chǎn)線、售后、法規(guī)三個典型場景對棧的要求不一樣同一個UDS協(xié)議棧在不同場景下被“考驗”的點是完全不同的。產(chǎn)線刷寫場景要求的是高吞吐和強實時。刷寫B(tài)ootloader時診斷儀會連續(xù)不斷地發(fā)送0x36請求下載固件每一包數(shù)據(jù)ECU都要盡快寫入Flash而且要通過CRC校驗、合法性校驗。這個場景下協(xié)議棧不能頻繁丟幀不能因為調(diào)度優(yōu)先級問題導(dǎo)致連續(xù)幀接收超時。售后診斷場景要求的是功能覆蓋和穩(wěn)定性。維修工用診斷儀讀故障碼、做執(zhí)行器測試、標(biāo)定傳感器可能一整天都在反復(fù)切換會話、反復(fù)做安全訪問。這時候如果安全訪問嘗試計數(shù)偶爾出錯或者會話切換后服務(wù)可達性狀態(tài)沒復(fù)位就會讓維修工誤以為ECU壞了。法規(guī)檢測場景也就是我們常說的OBD相關(guān)服務(wù)要求的是嚴(yán)格符合排放法規(guī)規(guī)定的服務(wù)集合和報文時序。這一塊兒診斷儀通常是法規(guī)認證的設(shè)備它會按照固定的順序輪詢服務(wù)協(xié)議棧多回了不該回的數(shù)據(jù)、少回了某個DTC狀態(tài)位都可能導(dǎo)致檢測失敗。我在評估一個協(xié)議棧的時候第一件事就是拿這三個場景分別過一遍。不是說產(chǎn)品要同時滿足三條產(chǎn)線才叫靠譜而是說協(xié)議棧的對外表現(xiàn)必須能適配不同應(yīng)用策略而不是寫死了只為一套流程服務(wù)。1.3 正常路徑誰都能做異常路徑才見真章我見過不少協(xié)議棧演示Demo做得花里胡哨正常的0x10、0x22、0x27請求響應(yīng)全都沒問題測試報告拉出來綠油油一片。但真正把它跑進一個復(fù)雜ECU項目之后問題才開始冒出來。所謂異常路徑包含這樣幾類診斷儀在ECU處理前一個請求還沒結(jié)束時又發(fā)來了新的請求多幀診斷報文中間斷了一幀后面又續(xù)上了一個不完整的首幀兩個診斷儀同時通過功能尋址廣播訪問ECU安全訪問密鑰校驗失敗連續(xù)多次刷寫過程中地址超出了合法范圍。這些情況在ISO 14229里都規(guī)定了明確的行為但實現(xiàn)協(xié)議棧的人有沒有把每條都做到位測試的人有沒有把這些工況都測進來直接決定了你拿到的棧是“演示級”還是“量產(chǎn)級”。我后來甚至習(xí)慣先不做正向功能驗證上來就故意發(fā)錯報文、亂切會話、超時中斷看協(xié)議棧的“抗打擊能力”。抗得住再談別的。2. 會話、安全訪問和傳輸時序決定協(xié)議棧成色的三塊硬骨頭2.1 會話狀態(tài)機不是“切到哪個會話”那么簡單UDS的會話管理由0x10服務(wù)控制典型的狀態(tài)有默認會話、編程會話、擴展會話。簡單理解ECU在默認會話下只開放少量診斷服務(wù)進入擴展會話或編程會話后才能碰Flash、標(biāo)定、刷寫這些高風(fēng)險操作。但“切換會話”這件事兒麻煩在這些細節(jié)上切換到編程會話時協(xié)議棧應(yīng)當(dāng)同步調(diào)整自己能處理的服務(wù)集合比如禁止一些非診斷應(yīng)用請求打擾Bootloader默認會話下允許的服務(wù)到編程會話下可能必須拒絕會話之間切換還要把當(dāng)前會話相關(guān)的狀態(tài)復(fù)位比如正在進行的0x27安全訪問解鎖狀態(tài)、臨時寫入的數(shù)據(jù)緩沖、DTC設(shè)置的抑制狀態(tài)都要一并處理干凈。大多數(shù)“不靠譜”的協(xié)議棧做的是“每個服務(wù)進來時查一下當(dāng)前會話”但沒有把“會話切換”本身當(dāng)成一次狀態(tài)遷移事件去處理。結(jié)果就是從擴展會話切回默認會話后之前打開的安全訪問狀態(tài)依然有效或者從編程會話跳回默認會話后0x3E維持會話的計時器沒有被停止導(dǎo)致明明已經(jīng)回默認了ECU還在按編程會話的超時策略走兩個狀態(tài)機互相打架。我自己的習(xí)慣是收到0x10請求、確定切換目標(biāo)會話合法之后先執(zhí)行“離開舊會話的清理動作”再執(zhí)行“進入新會話的初始化動作”最后才發(fā)送肯定響應(yīng)。這個順序是不能反的因為協(xié)議棧內(nèi)部的服務(wù)權(quán)限表、安全等級、會話超時定時器都依賴一套單一的會話狀態(tài)作為唯一事實來源。2.2 安全訪問的種子-密鑰、重試計數(shù)和延遲鎖定0x27服務(wù)是UDS里最容易出幺蛾子的地方。正常情況下診斷儀發(fā)0x27請求種子ECU返回一串隨機數(shù)種子診斷儀用約定的算法算出密鑰發(fā)回來ECU比對通過后就把當(dāng)前會話的安全等級提到允許執(zhí)行敏感操作的水準(zhǔn)。靠譜的協(xié)議棧至少要把這幾件事做對種子只能一次性使用不能被重放密鑰錯誤時ECU要記錄錯誤計數(shù)連續(xù)錯誤達到一定次數(shù)需要進入延遲鎖定狀態(tài)返回NRC 0x36超過嘗試次數(shù)或者NRC 0x37延遲時間未過安全解鎖狀態(tài)只有在當(dāng)前會話有效切換會話、ECU復(fù)位后必須強制回到鎖定態(tài)密鑰的校驗算法不能放在中斷里跑否則長密鑰運算會阻塞整個中斷響應(yīng)。我在實際項目里見過一個典型的坑協(xié)議棧把安全訪問的嘗試次數(shù)做成了每個會話獨立計數(shù)刷寫B(tài)ootloader過程中診斷儀做了兩次安全訪問第一次失敗、第二次成功但那個失敗計數(shù)在切換到新會話后沒有清零導(dǎo)致第三次真正需要解鎖時直接被拒。最后查了半天發(fā)現(xiàn)是狀態(tài)遷移沒做干凈計數(shù)跟著會話殘留了。所以好協(xié)議棧一定會把安全訪問狀態(tài)和會話狀態(tài)綁在一起復(fù)位而不是單獨維護一套“永遠不清零”的歷史計數(shù)。2.3 P2/P2*和NRC 0x78是診斷儀和ECU的“心跳約定”這一塊兒是區(qū)分“懂UDS”和“真懂UDS”的地方。ISO 14229規(guī)定ECU在收到診斷請求后需要在P2server時間內(nèi)給出響應(yīng)默認是50ms如果ECU真的來不及處理可以在P2server內(nèi)先回一個NRC 0x78請求已正確接收響應(yīng)延遲然后ECU和診斷儀之間的響應(yīng)超時時間就切換到P2*server通常是5000ms。這是給ECU爭取處理時間的合法機制但前提是0x78必須盡早回而不是處理完才發(fā)現(xiàn)超時了再補一個0x78。很多協(xié)議棧實現(xiàn)者把0x78當(dāng)成“萬金油”一旦任務(wù)忙就回0x78拖延。但其實0x78還有一層隱含語義ECU告訴診斷儀“我已經(jīng)收到這個請求正在處理你別急著報超時”。在ECU返回0x78之后如果診斷儀緊接著又發(fā)來第二個請求ECU是有權(quán)暫時不處理的因為同一個診斷時序里只允許一個請求在途。我踩過的坑是協(xié)議?;亓?x78之后沒有把診斷應(yīng)用層的“單飛行請求”標(biāo)志置位結(jié)果后續(xù)請求被分組接收、分組解析甚至一個Flash擦除正在進行時另一個線程又來調(diào)斷言擦除接口直接把Flash狀態(tài)機搞亂了。可靠的做法是在收到請求進入處理的那一刻就把請求消息保存在固定的請求緩沖里處理完成、響應(yīng)發(fā)出后才允許接收下一條請求。0x78只是把一個長耗時操作“合法地”拉長它不能成為并發(fā)同時進入ECU的入口。2.4 NRC不是隨便返回的優(yōu)先級和時機都標(biāo)在規(guī)范里NRC否定響應(yīng)碼是UDS里診斷儀判斷ECU到底“哪里不對”的唯一線索。正面響應(yīng)只有一種格式但否定響應(yīng)必須告訴對方具體原因比如服務(wù)不支持、子功能不支持、消息長度錯誤、安全訪問失敗、條件不滿足。我見過不少協(xié)議棧處理NRC時是“誰先發(fā)現(xiàn)錯誤誰先回”這其實是錯的。ISO 14229的各個服務(wù)定義里其實隱含了NRC檢查順序的要求。比如一個0x2E寫入請求通常是先檢查服務(wù)是否支持、再檢查會話是否允許、再檢查安全等級、再檢查地址和長度、最后檢查數(shù)據(jù)是否成功寫入。如果協(xié)議棧把“地址超出范圍”的檢查放在了“安全等級不足”之前那么診斷儀在安全未解鎖時就會優(yōu)先收到0x31而不是0x33導(dǎo)致診斷儀判定錯誤分支做出錯誤的用戶提示。說實話這份檢查優(yōu)先級不是所有協(xié)議棧文檔都會給你畫清楚的判斷是否靠譜就要看它有沒有把檢查順序做成一張明確可讀的判定表。完整的協(xié)議棧應(yīng)該對每個SID都維護一條清晰的NRC優(yōu)先級鏈路并且在代碼注釋里寫明“為什么先查A再查B”方便后續(xù)工程師維護。3. 給協(xié)議棧做體檢我評估靠譜程度的六項清單3.1 標(biāo)準(zhǔn)符合性服務(wù)列表全不代表行為正確第一項體檢是拿ISO 14229-1和ISO 15765-2的正文對著協(xié)議棧的行為逐條走讀。走讀不是看它支持0x22、0x27、0x19這么簡單而是看它每個服務(wù)的肯定響應(yīng)格式、否定響應(yīng)條件、時序、子功能支持范圍是否符合規(guī)范。我通常會讓協(xié)議棧供應(yīng)商提供一個“服務(wù)矩陣”每列一個SID每行一個條件比如“默認會話下是否支持”“擴展會話下是否支持”“安全訪問前是否支持”“長度錯誤時回什么NRC”“地址越界時回什么NRC”。這張矩陣?yán)鰜韰f(xié)議棧實現(xiàn)者有沒有真正理解規(guī)范一目了然。如果供應(yīng)商說“我們只是把開源協(xié)議棧改了改打包給你”那我對標(biāo)準(zhǔn)符合性的信任度會打折扣。因為很多開源棧的側(cè)重點是“常見服務(wù)能用”而不是“所有邊界情況符合規(guī)范”。后者需要投入大量的人力去逐條驗證商業(yè)棧的溢價也主要花在這里。3.2 硬件和OS接口抽象裸機、RTOS、多核都要能落第二個體檢項是看協(xié)議棧的代碼分層??孔V的協(xié)議棧一定做了嚴(yán)格的硬件抽象CAN收發(fā)是由驅(qū)動層回調(diào)的定時器、任務(wù)鎖、消息郵箱這些基礎(chǔ)組件都抽象成接口不會直接去操作某個具體芯片的寄存器。我見過最頭疼的集成是供應(yīng)商給的協(xié)議棧里面直接塞了某款MCU的頭文件換一款芯片就編譯不過。后來換的協(xié)議棧通過一個t_transport_if結(jié)構(gòu)體把所有底層依賴都包了起來我們只需要實現(xiàn)CAN發(fā)送、CAN接收回調(diào)、獲取系統(tǒng)時間戳、臨界區(qū)進入/退出四個接口就能跑起來。多核芯片越來越常見協(xié)議棧還要能明確告知“哪些函數(shù)可以在中斷上下文調(diào)用、哪些函數(shù)只能在任務(wù)上下文調(diào)用”。比如UDS應(yīng)用層的服務(wù)處理函數(shù)通常允許耗時較長就不適合放在中斷里而CAN TP的接收解包函數(shù)適合放在中斷后半段。如果協(xié)議棧不做這層區(qū)分集成方很容易在中斷里誤調(diào)用一個需要信號量的函數(shù)直接拋硬件異常。3.3 資源占用與實時性RAM、ROM、CPU負載UDS協(xié)議棧不是那種可以隨便揮霍資源的模塊。ECU的Flash和RAM預(yù)算卡得很緊尤其Bootloader更是寸土寸金。評估時我會問幾個非常具體的問題只保留0x10、0x11、0x19、0x22、0x27、0x2E、0x31、0x34、0x36、0x37這些核心服務(wù)時ROM占用大概多少接收一條多幀診斷報文比如0x36傳輸數(shù)據(jù)一次20KBRAM緩沖需要多大這個緩沖是靜態(tài)分配還是動態(tài)分配滿負載地連續(xù)收CAN TP連續(xù)幀時每幀重組耗時是多少微秒這些數(shù)字不能只在PPT里看我會直接拉一份編譯后的map文件核對ROM段再寫一個專門的benchmark用例來測CPU負載。別嫌麻煩協(xié)議棧說“我支持最多4095字節(jié)的多幀數(shù)據(jù)”結(jié)果它緩沖區(qū)按最大長度預(yù)分配了4KB靜態(tài)內(nèi)存一個項目里用了三個診斷實例直接小一半RAM不見了這種案例我見過好幾次。3.4 可觀測性日志、Trace和錯誤統(tǒng)計“靠譜”不只是運行時不崩還得在出問題時能快速定位。好協(xié)議棧一定會提供多級日志接口可以把CAN TP的接收狀態(tài)、UDS請求解析狀態(tài)、NRC返回原因、會話切換事件都輸出出來并且能編譯時開關(guān)關(guān)閉。我還會看協(xié)議棧有沒有暴露一組診斷統(tǒng)計計數(shù)收到的請求總數(shù)、返回的肯定響應(yīng)數(shù)、否定響應(yīng)數(shù)、NRC 0x78次數(shù)、CAN TP丟幀數(shù)。因為量產(chǎn)之后如果客戶報“刷寫偶發(fā)失敗”光靠日志遠遠不夠更需要的是運行計數(shù)器的現(xiàn)場導(dǎo)出能立刻看出是哪個環(huán)節(jié)丟的包是CAN層丟的還是協(xié)議棧主動丟的。如果協(xié)議棧完全不提供這些觀測接口那它在我的評估名單里基本會被直接劃掉。哪怕它行為再正確我看不見它的內(nèi)部狀態(tài)就用不了“把它訓(xùn)好”的機會。3.5 交付物與長期維護源碼、文檔和追溯最后看交付物完整度。源碼交付最好實在不行也得有條件地把核心狀態(tài)機的邏輯開源給集成方走查。文檔至少要有集成手冊、服務(wù)矩陣、NRC判定表、CAN TP參數(shù)配置說明、已知缺陷清單。長期維護更關(guān)鍵。主機廠的項目生命周期很長協(xié)議棧發(fā)布后還會有Bug修復(fù)、需求變更、新增OEM擴展診斷服務(wù)。如果協(xié)議棧沒有明確的版本管理、變更記錄、回滾機制那今天看著沒問題三年后一出新問題就可能找不到人管。我會問供應(yīng)商“你們這個?;€版本是什么最近一次變更提交涉及哪些文件”回答含含糊糊的基本可以預(yù)期后面維護會很難受。4. 真實項目集成復(fù)盤從空工程到刷寫流程全通4.1 搭建最小工程CAN收發(fā)、消息隊列和協(xié)議棧初始化我在“模擬項目X”里用的是一塊某款主流車規(guī)MCU帶兩路CAN跑了一個簡單裸機調(diào)度。集成第一步不是塞診斷服務(wù)而是先把CAN底層的收發(fā)跑通CAN控制器初始化、消息RAM配置、接收中斷里把幀收進FIFO然后在主循環(huán)里把FIFO里攢著的CAN幀輪詢?nèi)∽?。我?xí)慣把它做成一個環(huán)形緩沖區(qū)接收中斷只負責(zé)往環(huán)形緩沖里丟“原始CAN幀”診斷任務(wù)從緩沖里取出來再喂給協(xié)議棧。這樣做的原因是CAN中斷頻率可能很高診斷任務(wù)卻可能因為Flash擦寫被卡住幾十毫秒緩沖區(qū)能防丟幀。協(xié)議棧初始化則按三步走先注冊傳輸層接口把CAN發(fā)送函數(shù)和定時器函數(shù)填進去再創(chuàng)建診斷應(yīng)用層的唯一請求緩沖和響應(yīng)緩沖最后啟動會話狀態(tài)機讓它默認落在默認會話。初始化完成后不給任何診斷請求先跑幾分鐘空轉(zhuǎn)看狀態(tài)機有沒有因為空轉(zhuǎn)產(chǎn)生異常響應(yīng)。4.2 最容易卡殼的尋址與過濾物理尋址和功能尋址很多第一次集成的同事會在這里卡很久。CAN上的診斷報文分為物理尋址和功能尋址。物理尋址是“點對點”比如診斷儀用0x7E0發(fā)給ECUECU必須用0x7E8單獨回復(fù)功能尋址是“一對多”比如診斷儀用0x7DF廣播所有ECU都能收到但只有允許功能尋址的服務(wù)才能參與廣播且ECU不需要回復(fù)否則總線上多個ECU同時回就會撞車。當(dāng)時我把接收濾波器配置成了只接收物理尋址報文結(jié)果用功能尋址廣播發(fā)0x10會話切換ECU毫無反應(yīng)排查了很久才想起過濾器把0x7DF給濾掉了。正確做法是濾波器同時接收物理尋址和功能尋址兩個CAN ID然后在協(xié)議棧上層根據(jù)報文ID區(qū)分當(dāng)前請求是物理尋址還是功能尋址再決定哪些服務(wù)可以響應(yīng)、是否需要響應(yīng)。這里面還有一個容易忽略的點0x3E維持會話這類服務(wù)如果通過功能尋址廣播進來ECU即使不回復(fù)也要維持會話狀態(tài)而0x10這類不允許功能尋址的服務(wù)通過0x7DF進來時應(yīng)該靜默丟棄還是回NRC不同OEM的約定也不同集成時要跟需求方對齊別自己拍腦袋。4.3 經(jīng)典刷寫鏈路0x10、0x27、0x34、0x36、0x37、0x11刷寫流程是UDS集成驗收里最嚴(yán)格的一條鏈路我把它作為“協(xié)議棧是否合格”的終極測試。標(biāo)準(zhǔn)鏈路大致是這樣第一步診斷儀發(fā)0x10 02進入編程會話ECU切換到Bootloader模式。第二步發(fā)0x85 02或者0x28來抑制DTC記錄防止刷寫過程中的臨時性錯誤被存成故障碼。第三步發(fā)0x27安全訪問請求種子ECU返回種子診斷儀算好密鑰發(fā)回解鎖安全權(quán)限。第四步發(fā)0x31例程控制比如“檢查刷寫預(yù)條件”確認電壓、上鎖狀態(tài)、版本匹配都滿足。第五步發(fā)0x34請求下載ECU返回允許下載的最大塊長度和起始地址。第六步循環(huán)發(fā)0x36傳輸數(shù)據(jù)每包數(shù)據(jù)ECU會驗CRC、寫Flash、回響應(yīng)。第七步發(fā)0x37請求退出傳輸確認整個刷寫數(shù)據(jù)完整。最后發(fā)0x11復(fù)位ECU讓新程序跑起來。這其中協(xié)議棧要處理的坑非常多。0x34的maxNumberOfBlockLength如果寫小了刷寫吞吐就極低寫大了ECU的接收緩沖裝不下直接回0x31。0x36每包數(shù)據(jù)寫入Flash的時機必須放在響應(yīng)之前寫完確實成功后才回肯定否則刷寫完成后的校驗大概率會掛。0x37之后協(xié)議棧還應(yīng)當(dāng)再做一次整體完整性校驗比如校驗整個Flash的CRC再決定是否允許跳轉(zhuǎn)應(yīng)用。還要特別注意刷寫期間保持會話心跳。擦寫Flash動輒幾十毫秒到幾百毫秒這段時間內(nèi)ECU無法及時響應(yīng)診斷儀發(fā)來的0x3E維持會話請求。如果不做任何處理診斷儀P2超時后會認為ECU失聯(lián)中止刷寫??孔V的方案有兩種一種是在進入長時間Flash操作前先主動回復(fù)一個NRC 0x78把P2定時器拉開等Flash寫完了再補最終響應(yīng)另一種是把0x3E的維持邏輯挪到獨立的定時器任務(wù)里中斷被Flash操作屏蔽時靠定時器任務(wù)維持一個“仍在活著”的標(biāo)志。兩種方式我都用過更推薦第二種因為0x78只能應(yīng)對單條請求維持會話的心跳需要的是能連續(xù)出現(xiàn)的時間片。4.4 收到“半成功”狀態(tài)的處理超時回滾與恢復(fù)真實刷寫最怕的不是整包失敗而是“半成功”前面0x34返回了支持的最大長度你發(fā)了幾十包0x36都寫成功了結(jié)果最后一包校驗發(fā)現(xiàn)整體CRC不對。這時候ECU必須能回到一個穩(wěn)定可重試的狀態(tài)。協(xié)議棧在這個點上要做到刷寫失敗后不能直接鎖死要允許診斷儀重新發(fā)起0x34請求下載從失敗的起始地址重新寫如果當(dāng)前刷寫地址狀態(tài)混亂要能通過重啟Bootloader回到初始狀態(tài)會話超時后如果ECU已經(jīng)退回了默認會話診斷儀仍能通過0x10重新進入編程會話。這一套“回滾”能力需要在協(xié)議棧里把刷寫狀態(tài)機做成分步可恢復(fù)而不是只做一個線性的“開始-進行-結(jié)束”標(biāo)志。在評估商棧時我會專門問供應(yīng)商要一份“刷寫異?;謴?fù)測試報告”里面應(yīng)該有各種中斷時機下的表現(xiàn)掉電中斷、總線拔掉、會話超時、地址越界、長度不符、CRC錯。如果這些恢復(fù)路徑的測試不齊我基本不會采用。5. 那些年我踩過的協(xié)議棧的坑每一處都是真實教訓(xùn)5.1 診斷請求風(fēng)暴下的狀態(tài)機競態(tài)有一次我們在做電磁兼容測試診斷儀以極快的周期連續(xù)發(fā)送0x3E維持會話請求。測試持續(xù)一段時間后ECU突然對下一個0x10請求不響應(yīng)了。抓總線看CAN上明明有請求ECU卻靜默。定位下來發(fā)現(xiàn)問題出在協(xié)議棧的狀態(tài)機變量被多個上下文同時訪問。接收中斷里做的狀態(tài)更新和診斷任務(wù)里做的狀態(tài)跳轉(zhuǎn)訪問了同一個全局狀態(tài)而且沒有任何臨界區(qū)保護。診斷請求風(fēng)暴時中斷頻繁觸發(fā)任務(wù)調(diào)度被打斷兩個上下文的寫操作交錯執(zhí)行狀態(tài)機的會話標(biāo)識被寫壞。這個坑教育了我協(xié)議棧的數(shù)據(jù)一致性不是“用不用RTOS”的問題而是必須在設(shè)計上明確所有狀態(tài)更新的執(zhí)行上下文。后來我改成了“中斷只入隊診斷狀態(tài)只在診斷任務(wù)上下文里更新”才徹底穩(wěn)定下來。5.2 0x78掛起之后忘了還有P2*這回事另一個記憶深刻的坑是一個Bootloader項目在刷寫中途出現(xiàn)“偶發(fā)中斷”診斷儀報告“請求超時”但ECU邏輯上又沒死。最詭異的是用總線分析儀扎上去看ECU在收到0x36后確實回復(fù)了0x78過了大概1秒又回復(fù)了正常的0x36肯定響應(yīng)但診斷儀還是判定超時。原因在于我們的協(xié)議棧在回復(fù)0x78之后把P2定時器的起點算錯了。診斷儀按ISO 14229的規(guī)則在收到0x78后P2的計時是從0x78響應(yīng)完成那一刻開始算的而我們內(nèi)部卻把P2*起點算到了請求收到那一刻。Flash擦寫耗掉了800ms總時間接近2秒本身沒超可統(tǒng)計口徑一錯診斷儀那邊覺得等待時間過了上限。這個坑的教訓(xùn)是0x78不是簡單地“回一個碼”就行所有響應(yīng)超時相關(guān)的定時都必須嚴(yán)格對齊規(guī)范里“響應(yīng)完成時刻”這個語義。改完統(tǒng)計口徑后刷寫再也沒出現(xiàn)過這類誤報超時。5.3 刷寫途中會話超時Bootloader直接“半跪”還是在刷寫場景。某一次做產(chǎn)線聯(lián)調(diào)刷寫程序跑到約三分之一時診斷儀暫停發(fā)送0x36去執(zhí)行其他的預(yù)檢流程結(jié)果超過會話超時時間沒有發(fā)任何請求。ECU按規(guī)范退回了默認會話安全訪問狀態(tài)被復(fù)位Bootloader里的刷寫緩沖也被清空。診斷儀回來后傻了眼接著發(fā)0x36ECU回NRC 0x21請求序列錯誤或者0x33安全訪問被拒絕。這個現(xiàn)象其實完全符合規(guī)范問題出在產(chǎn)線流程設(shè)計和協(xié)議棧容錯策略上。后來的解決方案是產(chǎn)線流程里在長時間暫停時主動發(fā)0x10重新進入編程會話并對Bootloader做“會話超時不下電”的配置讓它超時后還能在Bootloader里等待重新解鎖而不是直接回到應(yīng)用軟件。協(xié)議棧本身是嚴(yán)格按照規(guī)范走的沒有這個容錯策略就會變成“使用者覺得棧不穩(wěn)”。這件事也讓明白了一個道理一個協(xié)議棧不能只考慮單一診斷儀場景要考慮“診斷儀性能夠不夠穩(wěn)定、會不會中途暫?!边@種真實世界的不完美。協(xié)議棧最好能提供一些合規(guī)范圍內(nèi)的容錯開關(guān)比如允許配置會話超時時間、允許配置0x78最大延遲時間讓應(yīng)用層根據(jù)風(fēng)險場景動態(tài)調(diào)整。5.4 多核MCU上的共享數(shù)據(jù)保護多核MCU普及以后共享數(shù)據(jù)保護成了新的重災(zāi)區(qū)。我們的控制器一顆核負責(zé)CAN通信和診斷協(xié)議棧另一顆核負責(zé)應(yīng)用控制算法兩個核需要共享一個“診斷當(dāng)前請求數(shù)據(jù)”的緩沖。最開始圖省事直接用了全局變量沒有加鎖結(jié)果高負載時偶發(fā)出現(xiàn)請求內(nèi)容錯亂診斷儀收到的響應(yīng)里字段錯位。后來在協(xié)議棧的傳輸層與應(yīng)用層之間加了一層“帶自旋鎖的共享緩沖”寫操作和讀操作都走鎖才把問題壓下去。更穩(wěn)妥的方案是直接把整個診斷協(xié)議棧固定在通信核上另一個核絕不直接訪問診斷緩沖所有跨核數(shù)據(jù)交互走核間消息這樣從設(shè)計上消滅了競爭條件。選擇協(xié)議棧時一定要確認它對多核場景有明確的部署建議和鎖接口不能用單核時代的思維硬套。5.5 黑盒交付的堆棧出問題只能靠猜我早期接過一個項目協(xié)議棧以靜態(tài)庫形式交付核心代碼不開源只能調(diào)幾個API。前幾個月用得很順后來做OTA升級需要臨時在特定條件下改一下會話超時行為結(jié)果發(fā)現(xiàn)庫里面根本沒有這個配置項。更麻煩的是壓測時遇到一個偶發(fā)丟響應(yīng)的問題供應(yīng)商只能靠加日志定位一來一回就拖了兩周。那次之后我對黑盒協(xié)議棧有了陰影UDS協(xié)議棧是深度融入ECU應(yīng)用層面的東西不是你調(diào)完就扔在那里不動的模塊。它跟Flash驅(qū)動、網(wǎng)絡(luò)管理、信息安全、診斷策略都有交互你必須有完全可見的代碼和接口才能做系統(tǒng)級調(diào)試。所以我現(xiàn)在選型有一條硬標(biāo)準(zhǔn)要么提供完整源代碼要么提供一個可以完全替代的“內(nèi)部實現(xiàn)鏡像”并且文檔里寫清楚每個函數(shù)的調(diào)用上下文和狀態(tài)遷移圖。達不到這條要求的再好也不碰。6. 選型心得自研、商業(yè)還是開源以及未來的事6.1 三種獲取路徑的適用邊界自研UDS協(xié)議棧適合診斷功能高度定制、長期多次復(fù)用的平臺型項目投入周期比較長但換來的是完全可控的行為和積累多年的內(nèi)部經(jīng)驗。商業(yè)授權(quán)協(xié)議棧適合項目周期短、需要第三方背書、以及團隊沒有足夠精力深研標(biāo)準(zhǔn)的場合。開源協(xié)議棧適合Demo驗證、學(xué)習(xí)研究和沒有嚴(yán)格合規(guī)要求的項目但如果直接搬到量產(chǎn)車上穩(wěn)定性和長期維護成本都要打個問號。我在選型時會把項目階段拉出來。如果是預(yù)研階段做概念驗證開源棧最快如果是量產(chǎn)車型的診斷需求商業(yè)棧或長期自研棧是正路。很多項目掛在開源棧上出問題不是開源棧本身不可用而是用錯了階段缺少了按量產(chǎn)標(biāo)準(zhǔn)做完整驗證的預(yù)算和人力。6.2 面向OTA、DoIP和信息安全的擴展性現(xiàn)在的UDS協(xié)議棧早已不只在CAN總線上工作。DoIP基于以太網(wǎng)的診斷意味著傳輸層要從CAN TP換成TCP/UDP加上DoIP協(xié)議頭這要求協(xié)議棧把“傳輸層接口”抽象得足夠干凈否則換傳輸就要重寫應(yīng)用層。這在選型時是個很關(guān)鍵的隱形門檻。OTA遠程升級比產(chǎn)線刷寫更復(fù)雜它要跟車聯(lián)網(wǎng)平臺、云端證書、信息安全模塊協(xié)同。協(xié)議棧需要能支持更長的數(shù)據(jù)塊、更高的吞吐量、更靈活的安全策略。很多舊架構(gòu)的協(xié)議棧把傳輸緩沖固定成CAN時代的2KB一搬到OTA就不夠用了。所以我現(xiàn)在會關(guān)注協(xié)議棧對“大數(shù)據(jù)塊連續(xù)傳輸”的支持程度以及它的緩沖策略是否能配置為更大容量。信息安全方面安全訪問的種子-密鑰算法、刷寫數(shù)據(jù)的加密保護、UDS服務(wù)的可信執(zhí)行環(huán)境都需要協(xié)議棧在設(shè)計上預(yù)留接口比如密鑰算法可插拔、安全訪問等級可擴展、服務(wù)處理器可以被安全模塊替換。一個寫死的、不支持安全擴展的UDS棧在未來的項目里會處處碰壁。6.3 我的“靠譜”定義寫在最后說了這么多我其實想收個尾。做了那么多年我對“超靠譜的UDS協(xié)議?!钡亩x從來不是“支持的功能列表最長”或者“跑分的響應(yīng)時間最短”而是它在異常情況下能不能保持行為可預(yù)期、問題可定位、狀態(tài)可恢復(fù)。這個標(biāo)準(zhǔn)說穿了就是協(xié)議棧的邊界質(zhì)量。再分享一個小經(jīng)驗吧。我現(xiàn)在每次接到新協(xié)議棧第一件事就是拿到手先干一件很“土”的事——把ISO 14229里所有NRC的觸發(fā)條件整理成一張表然后對著協(xié)議棧代碼一行行核對。這個過程很枯燥但每次都能找出幾個還沒被測試用例覆蓋到的邊界行為。把這些邊界行為補齊比多支持十個服務(wù)都值錢。畢竟量產(chǎn)之后用戶不會夸你“這個ECU支持0x22”只會質(zhì)問你“為什么偶發(fā)回了一個0x31”。把那些“為什么”都消滅掉才是我心里真正靠譜的協(xié)議棧。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
97在线观看免费视频l| 超碰人人干天天射| 国产久久成人| 啊啊啊啊嗯嗯在线久久久| www.狠狠操| 干我久操| 日韩特一级久久| 久热免费视频| 丰满人妻大屁一区二区| 久久狠狠色噜噜狠狠狠狠97| 在线五区| ai欧美亚洲小说| 天天插天天干| av片在线观看免费播放| 五月丁香六月综合缴清无码 | 精品少妇一区二区三区在线视频| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 亚洲天堂另类小说男人| 簧片免费看视频| 91视频综合网| 78m啪啪啪| 欧美日韩国产人人| 97精品97久久| 色一区二区三区综合| 久久婷婷一区二| 韩国午夜理伦三级好看| 色欲日韩欧美在线一区| 操逼视频亚洲| 青青操青娱乐| 色一情一乱一乱一区91Av| 郑州宾馆老熟女露脸啪啪| 亚洲码在线中文在线观看| 中韩中文字幕在线观看| 狠狠做深爱婷婷久久二区| 口爆综合网| 成人久久精品| 天天日日日射| 国产福利夜| 久久国产精品91| 天美AV片| 欧美不卡在线美女| www鬼畜国产男人的天堂| 久草福利在线资源站| 久久毛卡| 性爱乱伦一区| 亚洲夜夜欢无码一区二区| 2018天天干在线视频| 天天色黄色影院天天操| 亚洲自拍天堂| 亚洲图片欧洲图片aⅴ| 日本操逼视频免费| 日本成人A片网站| 久久透逼视频| 女同性恋久久| 开心激情婷婷| 久久97| 色婷婷综合视频| 亚洲久热| 超碰97玖玖爱| AV在线资源| 加勒比AV网| 91成人在线| 欧美激情片一区二区| 97精品97久久| 神马久久久久久| 亚洲爽图| 日本三级韩三级99久久| 神马午夜久久久| 九九九九九精品十六| 男人成人黄色视频在线观看免费下载| 日韩图色| 国产一区二区a毛片| 家庭乱伦网站国产| 91n美女视频| 天美传媒av一区二区| 中文字幕二区| 久久精品国产亚洲5555| 涩涩这里只有精品视频| 天天添天天干电影| 久久宗合亚洲| 屌色在线97视频| 亚洲日韩精品久久久久一区壹牛 | 天天色综合图片| 超碰人人干| 日韩三级av片| 啊啊啊啊免费视频| 人妻一区二区三区四区视频| 亚洲精品xxx| 国产欧美亚洲精品a第2页| 无码少妇精品一区二区60岁老人| 伊人久久88国产女| 久久婷婷欧美| 亚洲成人激情小说视频| 亚洲中文日韩欧美大香蕉视频| 免费观看啪视频| 欧美拳交在线播放| 欧美综合色综合| 精品视频一区二区| 97人妻碰碰中文无码久热丝袜| 久久熟女人| 日韩人妻精品| 亚洲精品无码成人久久久99| 无码heyzo高清一区| 久久久91福利姬| 欧美一级A片在线看视频性色| 青青草福利视频| 亚洲欧美日韩中文久久自慰| 蜜臀视频网站| 思思热一热婷婷热一热| 99这里都是精品| 嗯嗯,好大,好爽,好骚| 国产午夜福利合集| 久久精品中文字幕无码l| 国产视频一区二区三区久久亚洲天堂| av天堂加勒比| 亚洲一卡2卡3卡4卡乱码网站 | 日韩熟女精品无码专区一区二区| 最新9久久久9免费视频| 天天看天天在线精品| oumeisetu综合| 日日嗷| 免费观看性欧美一级| 丝袜美腿诱惑亚洲欧美视频在线观看| 亚洲一区二区中文字幕| 大香蕉久操| 欧美骚少妇| 香蕉国产精品麻豆亚洲欧美日韩| 蜜桃久久久久久久| 日韩一级二级三级免费看完整版| 青青草中文-久久青草精品一区二区三| 亭亭在线资源| 欧亚性爱啪啪| 日本幼女18+| 国产粉嫩出水在线播放| 91麻豆天美国产欧美高潮| 国产亚洲色婷婷久久99精品91葵花宝典 | 超碰一区二区| 小视频国产| 青青草国产亚洲精品久久| 天堂成人网| 色噜噜婷婷| 加勒比色99999| 91狠狠综合久久| 日韩精品 欧美激情| 天堂种子在线www网资源| 男人天堂免费| 丁香五月大香蕉| 久久久久久久| 亚州精品一区二区三区香中文字幕在线| 久久久久久久唑| 九色97| 国产欧美另类久久久精品课程| 97干在线| 日韩欧美亚洲自拍偷拍| 老女人老91妇女老热女| www.色婷婷| 青青草原成人| 国产传媒1234区| 日韩一级成人毛片免费观看| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区 | 欧美第一页| 日韩成人网址| 亚洲AV秘无码一区..| 欧美人人天天网| 操逼逼无码| 男人天堂东京热| 伊人久久国产免费观看视频| 亚洲天堂7777| 久久精品 六十路 熟女 欧美| 97干com| 亚洲一级性爱视频免费看| 日韩天天综合| 天美传媒av一区二区| 久操大香蕉手机视频在线看| 国产91会所女技师在线观看| 欧美国产有色电影| 开心五月天激情网| 777琪琪午夜免费A片| 五月天AV资源| 99RE在线视频精品,这里只有精品| 在线无码操| 一本大道久| 青青草日本中文字幕 | 大香蕉AV丝袜| 国产激情片在线观看| 国产精品美女久久久久久网站| 国产成人主播| 精品九九九九九九九| 亚洲欧美日韩综合在线尤物| 91精品微拍福利| 加勒比99999| 亚洲情色图片区| 黑人无码一区二区| 人人操人人插人人摸人人干| 亚洲欧美综合| 青青草久草| 麻豆人妻偷人精品无码视频| 亚洲国产精品久久久男人的天堂| 超碰97起碰| 91GD.COM| 日本黄 R色 成 人网站| 欧美v亚洲v日韩v最新在线二区| 国内精品嫩模A∨私拍小视频| 日韩欧美女求操每天更新| 啊灬啊灬啊灬啊灬高潮奶出了免费视| 最新精品久久蜜桃| 91丝袜激情在线| 在线人妻熟女一区二区三区四区五区| 中文字幕精品一区二区精品| 天天弄天天操| 激情网五月天| 日韩性爱免费视频在线网站| 在线中文字幕极品av| 亚洲欧美在线观看免费| 日本 色 导航| 黄页视频网站野外| 乱伦熟女区| 日韩欧美国产高清视频| 国产精品色片一区二区| A片 AV一级在线播放观看免费 | 亚洲中字幕日本一区二区三区| 五月天AV资源| 亚洲丝袜二区在线| 美女十八禁| 91老妇女| 91日韩国产欧美亚洲另类精盘州至城都| 麻豆色99999| 亚洲性高潮| 国产精品9999| 日本中文字幕不卡视频| 巨爆乳一区二区爆乳区| 金莲网址| 综合色色婷婷| 五月天婷婷激情| 亚洲人成网www| 夜夜爽妓女| 伊人色综合超碰| 狠狠五月天| 性色一线| 日日做夜狠狠爱欧美黑人| 精品一久久久| 97超碰公开| 国产97在线 | 亚洲| 亚洲精品少妇| 五月婷色| 中亚黄色三级大片| 欧美一级特黄淫片在线观看| 蜜臀久久99精品久久久久久酒店| 亚洲欧美小说| 日本 色 导航| 97香蕉碰碰人妻国产欧美| 午夜免费视频1000| 午夜欧美J进J出白浆流出久久久 | 国产精品网站www| 香蕉免费一区二区三区不读| 亚洲色图一区二区三区| 欧美亚洲第一页| 91啪啪视频| 这里是精品| 少妇丝袜在线观看AV| 欧美欧美少妇| 亚洲精品天堂久久A∨51成人漫| 日本欧美亚洲高清在线看| 亚洲综合在线视频| 亚洲国产精品无码AV久久久| 久久久久密臀视频| 色香av| 免费中文综合精品| 五月丁香成人网| 97精品第3页| 亚91网| 秋霞网—男女啪啪亚洲免费体验区| 日本熟女免费視颖| 久久婷婷国产一区二区色| 久久久男人的天堂| 操操操日本的逼| 欧美日韩国产色图在线| 日本加靬比网站发布页| 免费操逼91| 在线观看黄色电话| 中文字幕人妻色偷偷久久皮| 欧亚无码视频| 六月丁香五月婷婷| 亚洲 欧美综合| 啪啪资源网| 高颜值美女口爆高潮浪叫| 家庭乱伦国产精品| 亚洲熟妇自偷自拍另欧美| 亚洲综合贴图91 | 欧美一区二区三区蜜桃| 久久精9| 欧美成人一级麻豆| 丝袜美腿欧美| 蜜臀在线视频| 富二代亚洲精品99| 国产成人久久精品蜜臀| 国内毛片婷婷六月色| 啊啊啊用力在线观看| 欧美九九九| 秋霞一级视频在线观看免费| 90后后入| 久热免费视频| 女生91网站| 天天弄天天操| 天天综合网~91| 午夜精品一区二区三区三上悠亚| 春色91| 麻豆人妻精品一区二区| 久久岛国| 麻豆 欧美 日韩| 啊啊啊啊啊啊啊啊在线观看| 精品久久久无码| 五十路熟女人妻一区二区在线观看 | 97爱亚洲| 极品丝袜无码| 欧美黄片免费在线观看视频| 久色99999| 日韩乱伦AⅤ| 色呦色呦色精品| 国产精品一二三在线看| 成人国产二区三区在线,男女精品。| 狠狠干,狠狠操| 久久久四区| 精品人妻二区三区| 亚洲97P| 男女性无套 免费九一| 东北女人av| 综合久久久久久久久91| 偷拍2020| 亚洲综合在线视频| 91亚洲综合| 天天综合欧美综合| 国产精品色色| 大香蕉一区二区在线观看.| 秋霞鲁丝午夜无码一区二区三| 最近2019中文字幕国语免费版| 99久久久| 一区二区精品更新提醒| 尤物黄色在线观看网站| 欧色网址| 韩国女主播青草在线| 凹凸视频在线观看伊人| 激情小说激情视频| 亚洲污一污二| 啪啪综合网| 日B操| 大屁股国产在线视频| 99热9| 亚洲色图一区二区三区| 美女网站黄页| 久久9 9 9精品| 国产精品极品美女视频| 精品传媒在线一区| 男人把坤坤插入女人的下体 | 亚洲第一视频 欧美风情 日韩| 97久久精品亚洲| 可以在线观看的黄色网址| 狠狠97| 97操碰| 久操网线| 26uuu久久| A啊啊在线观看| 婷色五月| 全球成人中文在线| 日韩黄片影院| 精品少妇一区二区| 97视频www| 日本免费不卡二区| 久久久涩| 国产精品久久久久999| 插入综合网| 人妻日日干| 97色碰| 天天碰久久入| 免费99精品国产自在在线| 国产精品熟女AV中文字幕在线播放| 欧美一区二区三区互相| 日韩综合无码一区久久92| 久久久一区二区三区麻豆| 蜜臀亚洲中文| 中文字幕少妇色| 精品一区二区人妖| 亚洲AV秘 精品久久老牛影视| 91视频在线观看18| 国产久久久| 97精选久久| 二级久久网| 久久超碰、| 国产精品天美传媒| 日韩中字av一区| 五月综合视频| 操久久久久久| 91婷婷| 日韩婷婷| 天天爽天天操| www.操| 欧美午夜精品久久久久久超碰| 丰满人妻一区二区三区大胸懂色 | 天天天堂影视日韩亚洲91| 色综和网| 天天看高清麻豆| 干B| 97久久精品国产| 激情五月天婷婷| 欧美视频在线第3页| 久久婷婷五月天| 男人天堂2019亚洲| 日本一片一区| 国产精品69久久久久孕妇欧美 | 天天懆天天日| 欧美日韩香蕉| 久久九九综合| 久久久久密| 少妇同性| 久久精品六区| 60秒不遮不挡| 青娱乐黄色录像| 亚洲精品97| 男女日B国产| 男女激情黄色网址| 久色网| 色噜噜人妻av 中文字幕| 国产精品乱码久久久久久久久久久久| 日韩欧美偷拍美女视频| 欧美最婬乱婬爆婬牲视频| 精彩久久中文| 老女人综合网| 色黄色美女大长腿午夜视频| 91一起操| 超碰97玖玖爱| 亚洲激情在线| 视频在线观看免费一区二区三区| 曰韩av中文字幕专区| 久超碰在| 97爱碰| 美女久久久久久久久久久| 国产精品探花色| 操逼不卡中文字幕| 中文字幕av乱伦| 99久久com免费视频′| 91性感网站| 99精品丰满人妻无码| 五月天欧美色图| 亚洲人妻五月丁香婷婷| 日韩久久.一级黄色片| 久久99网站| 亚洲欧美一区二区不卡视频播放| 久久岛国| 91老女人| 26uuu国产成人综合| 激情看片网站| 欧美日韩理论一区| 伊香蕉综合久久久久久久噜噜噜 | 婷婷九月国产| 日本三级A片网站com| 99热这里| 天天性射网| 女欧美一区二三区| 91在线页| 人人妻人人玩人人澡人人爽| 探花一区在线| 射丝袜大香蕉| 国产福利电影| 久久精品亚洲东京热色播| 精品久久九| 浓厚中出中文字幕在线| 久久最新免费视频23| 日日AAvv| 久久久精品国产亚洲AV无码| 超碰97在线色男人??| 欧美激情视频在线一区| 国产13区| 欧美v日韩v亚洲v最新在线| 国内毛片无码一级毛片| 欧美在线干| 国产色图乱伦| 插入综合网| 国产极品馒头逼| 色色色色综合网| 为用户提供免费看黄网址在线观看| 国产毛片精品一区二区色欲黄A片| 久久99精品九九久久久婷婷| 国产又粗又大硬免费色网视频| 色婷五月天| 人妻天堂三区| 91 亚洲 欧洲| 亚洲国产成人精品999| 偷窥自拍亚洲天堂网爆| 国产999精品久久久| 婷婷五月天影院| 蜜屁av| 五月天激情小说网| 东京热,男人的天堂| 立川理惠加勒比无码| 视频在线97| 99热综合| 国产情色第一第二页在线观看| 欧美黑人精品在线播放| 强奸乱伦日韩AV| 麻豆a'v电影| 亚洲精品乱码久久久久久蜜桃麻豆| 色哟哟av网址| 婷婷五月影院| 一起草三级AV电影在线观看| 无码久| 啪啪免费| 蜜臀AV午夜精品久| 久久久久一本一区二区青青蜜月| 午夜亚洲国产理论秋霞| 亚洲天堂日本| 久久伊人大香蕉| 日本精品五区| 色超碰综合| 人人摸人人叼| 狠狠操狠狠燥| 东北黄色电影| 性爱免费视频成人| 99热在线只有精品| 有码人妻系列| 国产精品免费视频人成| 国产成人啪一区二区| 日欧操屄视频| 亚洲se91| 亚洲精品蜜桃久久久久久久| 欧洲一区二区三区四区在线观看| 日欧亚洲二三区大片不卡| 色悠久久久av| 婷婷五月天补不补| 亚洲欧美综合区自拍另类 | 欧美久久婷婷| www.色五月| 国内亚洲高清无码| 东方亚洲在线操逼天堂| 黄色AV影视| 人人操人人干xxx| 国产91专区| 久久超碰亚洲人| 日本 欧美 国产一区| 成人免费性爱视视| 亚州五月| 天堂综合| 1区2区3区中文字幕日韩| 爱我干综合| av在线播放国产一区| 国产精品噜噜噜日日日| 亚洲欧美在线综合| 超碰在线974| 国产激情综合| 国产无码高清操逼视频| 五月天亚洲网| 91亚洲精品青草| 美女极品一区二区三区| 女性91网站| 偷拍 精品另类 凸凹了四区| 久久毛卡| 精品人妻免费观看| 欧美性高潮| 啊啊啊好大好湿| 久久五月份| 在线观看亚洲专区| 777AV电影| 可以免费看黄片的视频| 狠狠婷婷亚洲中文综合久久| 99热这里只有精品18| 色97综合中文字幕| 色五月激情AV在线| 日韩淫色网| 超碰综合色| 伊人991| 欧美久久婷婷| 操亚州| 久久久久久久久久久999| 超碰性爱97| 欧洲精品在线播放| 中文字幕久久精品一区| 亚洲欧美日产国产91毛片| 日韩av熟女一区二区三区成人| 国产成人亚洲精品自产在线| 日韩一级二级| 久久9 9 9精品| 欧美熟妇乱码在线一区| 青青草十区九区爱夜| 亚洲三级网址久久最新| 色九九九九| 国产性爱欧美性爱在线| 久湿久久| 久久久久久久久久久久97| 91欧| 国产91影院| 久久久久亚洲三级电影| 欧美,日韩综合久久| 久操网线| 日本三级中国三级99人妇网站| 人妻熟女字幕一区二区| 歐美一級亂黃99在綫精品| 亚洲精品欧洲精品| 北野未奈加勒比av| 人人操人人操人妻人| 日韩综合色图| 91在线超高颜值国产| 中文字幕成人理论在线| 无码又爽又硬又激情免费视频| 久久激情网| 这里是精品| 91操人| 嗯嗯啊啊啊好爽| 国产亚洲精品一区二区三区| 日日操丁香五月天| 激情五月天婷婷| 亚洲色图20p| 操死我了啊啊啊| 校园春色五月天| 天天插夜夜操| 欧美一级三级| 久草草一二三四区久久| 亚洲 欧美 色图| 黄色香蕉视频网站一区| 久久精品国产亚洲AV嘿嘿| 一级A啪啪啪啪| 偷拍超碰| JuliaAnn丝袜熟女系列| 九色精品视频导航1| 曰本特级特黄特色黄色A级网站高清在线免费看 | 99热精品在线| 亚洲和欧美裸体美女双飞视频| 亚洲综合伊人无码久久| 免费1级a做爰片观看| 五月激情小说| 欧美在线中M| 国产高清自拍视频| 99热在线播放| 成人久久久精品| 91操操操操| 久久久97| 欧美一二级| 久久av无码| 熟妇熟女视频一区二区三区| 熟妇激情| 超碰国产精品久| 日日日啊啊啊| 日本色日夜干| 99视频在线| 夜夜做夜夜爽精品视频| 天堂а√在线最新版在线| 亚洲国产欧美日韩人妻日中文| 亚洲自拍一区夜夜操| 亚洲天堂精品日韩电影| 亚洲AV免费在线| 久久精品电影| av在线不卡一区二区三区| 日本一区二区三区欧美日韩中文字幕| 亚洲交性| 91蜜桃婷婷狠狠久久综合9色| 午夜精品人妻二区三区| 亚洲性爱免费电影| 国模不卡一本二本三电影| 精品无码秘 人妻一区二区| A 天堂在线观看视频| 传媒免费一区二区三区| 最新亚洲人成网站在线影院| 国产白嫩精品久久| 久久婷婷电影网| 中文字幕精品丝袜| 久久狠狠色噜噜狠狠狠狠97| 久视频在线观看| 97亚洲精品| 91九久| 日韩啊V| 天天日日本| 欧美性爱18观看| 丁香五月天堂网| 精品久9| 97久精品| 国产9 9在线 | 亚洲| 亚洲天堂另类美腿| 一区二区三区在线资源| 91 丝袜在线播放| 99热国产| 久久国产精品m码| 天天日日舔舔| 国内精品久久人妻性色av| 欧美综合制服在线| 极品色www影院| 视频二区美腿制服人妻欧美| 大香蕉黄色一区| 精品对白久久不卡| 大香蕉综合| A V视频日本| 成人九九| 亚洲熟妇自偷自拍另欧美| 久久精品国产亚洲粉嫩| 怡红院怡春院| 天天综合网日韩7799| 成人情色综合网| 超碰人人妻| 日本人妻伦在线中文字幕| 蜜屁Av| 欧美精品久久久久久久久88| 999精品乱码| 美欧老女人97| 男人高清无码一区二区| 日本精品免费一区二区三区四区| 欧美日本中字另类在线| 欧美 综合 亚洲| 久久思思热| 青草草免费网站av| 日韩欧美麻豆 | 97色欧洲| 久草婷婷| 免费黄色视频网址| 欧美日韩大黄片| 中国韩国明星一极片一区乱码毛片人妻熟女一区二区三区 | 欧美一级黄片免费播放| 一区二区三区视频| 色婷婷一区二区三区久久午夜| 小少妇| 自拍偷拍草一草| 久久精品成人一区二区三区蜜臀| 资源在线观一 二| 3P乱轮视频| 亚洲天堂男人| 在线播放欧洲免费av| 久草色悠悠在线视频| av资源在线播放天堂| 中文字幕,人妻,日韩| 99在线精品视频| 欧美日日人人天天| 精品人妻一区二区免费蜜桃| 黄片无码在线制服| 日本韩国国产精品一区| 国产激情在线| 香蕉大久久久| 色九九九九| 伊人久久青青草| 五月丁香| 女人被添高潮免费视频| 操操逼操操逼操操逼逼| 亚洲男人综合| 探花视频免费观看国产专区| 久九九九九九九九热| 亚州精品丝袜-不卡成人免费| 午夜婷婷| 婷婷五月av| 囯产乱伦一区二区三女 | 久九9精品| 久干网| 激情文学欧美| 超碰性爱97| 色一射色一射| 中文伊人大香蕉视频| 九九伊人网| 大香蕉久久| 99碰碰| 国产精品 久久久精品一牛| 日语五十路和六十路亚洲国产精品| 啊啊啊啊啊啊在线| 三级色影综合网| 俺也射| 伊人国产视频| 999综合色| 国内97干免费看| 91AV天美在线视频| 婷婷色香| 亚洲男人天堂2016| 超碰69| 少妇人妻在线| 凌辱美少妇久久aV| 色99999| 亚洲一区二区三区春色| 久久久久久国产成人| 久综合国内精品自在自线| 大香蕉免| 裸模AV女优| 91欧美性| 玖玖爱视频网站| 白嫩白嫩的午夜九久久久久久久久久久久成人剧场 | 综合熟妇一区二区三区| 五月天久久人妻| 国产精品视频在线观看| 视频国产成人精品日本亚洲18| 日本一区二区亚洲综合| 三级特黄60分钟播放| 中文字幕一区二区在线日韩精品| 内射老妇BBWX0C0CK| 久久直播国产| 91啪啪视频| 国产不卡片| 中日韩久久人妻一区二区| a片亚洲一本通视频| 91精品国久久久久久无码| 九99久久| 日韩97| 911av网站免费观看| 激情五月综合开心五月| 午夜视频久久久久一区| 久久久久亚洲?V片无码V| 综合av社区| 国产亚洲日韩在线三区黑人| 日韩人妻有码免费视频| 精品无码一区二区三区| a天堂视频| 激情四射婷婷四五月天| 欧美少妇高潮久久91| 人妻天堂三区| 郑州宾馆老熟女露脸啪啪| 午夜精品久久久久久久男人的天堂 | 日韩成人大片一区二区| 亚洲日本韩国极品一区二区| 综合av影片| 欧美日韩中文字幕人妻| 狼狼色丁香久久婷婷综合五月| 五月天激情网图片| 性爱AV天堂| 亚洲全色网| 多乙久久久久久| 97国产精品国| 国产深喉| 亚洲欧美综合区自拍另类| 6080yy午夜理论三级一区二区三区无码 | 伊人久操| 啊啊啊 在线观看| 好屌色综合| 九九九色| 大香蕉伊人久久| 91nbbbbbb| 热99re69精品8在线播放| 中文字幕成人理论在线| 91偷拍欧美亚洲| 久9精品| 国产一级黄色片在线观看| 伊人影院中文字幕| 青青草一本道福利视频| 一类av片在线看| 97在线精品| 天天爱综合网| 国产成人亚洲精品无码古代早漏男 | 久久中文字幕女同性恋一区| 国产精品久久| 7777欧美成是人在线观看| 欧洲Au麻豆| 另类老少妇| 美女黑人91神马| 人人妻人人爽一区二区三区| 亚欧韩av| 日韩成人人妻网站| 93人人操人人| 青青草字幕AV| 激情抓乳插进去啪啪啪日韩 | 97se亚洲综合自| 免费观看啪视频| 爱丝福利| 日韩成人网址| 色情婷婷久久五月天| 亚洲精品白浆高清久久久久久| 久久久工口| 热99这里有精品综合久久| 日本三级韩三级99久久| 精品人妻一区二区三区免费视频| 国产女人操逼视频| 亚洲电影91| 欧美日韩香蕉| 伊人久日| 91久操| 97超碰欧美精品| 中文高清一区二区的| 欧美97| 久久艹逼视频| 综合情欲网| 婷婷爱五月| 天天日天天操天天射河南省| 亚洲综合另类欧美久久久| 国产精品久久久吖| 精品一久久久| 肉嘟嘟www视频在线观看高清| 西西美女视频网| 亚洲成人一区二区精品| 热久久无毒不卡| 99久久久久| V A在线| 色欲色香天天天综合网www-亚洲综合国| 无码不卡亚洲成?人片| 91九九九小逼| 日韩欧美一级特黄大片| 噜噜瑟| 999日韩中文精品观看视频。| 91色香| 五月婷婷六月激情| 久9re热视频这里只有精品| 绑缚麻绳人妻寝取完整版| 久久久国产亚洲精品系列| 性色高清..……| 久操99| 日熟女| 久久伊人东京热| 日本精品人妻少妇一区二区| 免费看国产曰批40分钟怎么下载| 超碰4A| 九九久久国产精品| 精品人人插人人操| 久草这里只有精品 | 老熟女91视频| 91性高| 久久精品小视频| 一区二区视频在看| 怡红院成人av| 99热综合| 岛国大片在线观看网站入口| 97欧美日韩| 国产熟女无套内射| 久久久成人精品| 天天综合~91入口| 人人操人人插 - 百度 - 百度| 色香伊人| 91肏屄网| 国产又爽又黄| 国产精品美女在线一区| 久久久久九九九九| 人妻蜜桃臀| 久久久久密臀视频| 亚洲国产综合久久天堂| 国产亚洲女v在线观看| 欧美一二三| 国产精品大屁股999| 自拍欧美| 肥臀熟女福利视频一区二区| 久久9亚洲| 自拍偷拍 日韩无码| 欧美日韩国产成人高清| 超碰九区| 国产麻豆91欧美一区二区久久婷婷国产精品 | 日本中文字幕熟妇| 97超碰逼| 成人精品电影| 欧美精品第3页| 自拍偷拍第26| 99999国产| 蜜桃AV天堂| 97热视频在线观看| 91 丝袜在线观看| 欧美亚洲se91| 综合日本女人伊人| 日本福利二区视频| 一区三区啪啪| 大香网站| 啪一啪免费视频| 欧美一级A片不卡视频。| 日韩免费高清大片在线| 一级黄色性爱裸体视频| 欧美日韩一二三| 小电影欧美91| 91精品婷婷国产综合久久| 果冻传媒A片一二三区| 亚洲诱惑天堂| 性欧美体内射精| 天色综合网| 99国产精品在线观看| www色色com| 国产精品嫩草影院免费| 亚洲自拍偷拍视频在线| 测评在线观看AV| 黑人猛交| 无码人妻一区二区三区色欲aⅴ | 国产18精品亚洲精品| 国产无码高清操逼视频| 曰韩精品视频一区二区| 国产宅男宅女在线观看| 午夜无码精品免费看性色| 探花在线免费观看视频国产一区| 日韩av性爱在线播放| 91男女| 91亚.色| 超碰在线成人电影| henhen91| 国产一区二区三区高清视频| 亚洲精品人体| 日韩激情无码影院| 日韩欧美成人性爱在线| 日韩黄色一区二区三区| 五月丁香色色网| 亚洲天堂色图| 亚州高清色综合| 中文字幕欧洲有码| 91五十路| 偷拍偷窥与盗摄视频专区| 性爱视频无打码在线观看| 日韩av一级黄片| 久久久久免费少妇| 熟女日韩| 9999亚洲精品| 欧色网址| 三级AV入口| 日本高清久久| 超碰97欧美在线| 97色色,97综合| 午夜福利 成人 91| 2018天天日天天日| 激情五月天插| 99这里有精品| 欧美精品偷拍| 久久久久九九九九九| 东北女人高潮视频| 午夜精品久久久久久久久久蜜桃| 日韩性爱小视频在线观看| 丝袜六区| 99亚洲人人| 91N综合网| 日韩无码精品综合久久| 99精品热| 久操影视| 亚洲色婷婷久久91| 国产精品久久久久久久久AV大片| 91人人看| 欧美,日韩,中文,另类| 日本成人免费一区二区三区| 操B视频日韩无码| 国产精品久久久久久久毛片1| 99在线免费视频| 伦理日韩国产久久| 九九热精品| 日韩精品1区2区中文字幕| xxx亚洲午夜天堂| 91欧美情色| 男人a天堂手机在线版| 丁香五月天婷婷姐| 欧亚三区动漫| 久久久久久国产精品免费网站| 香一区二区三区| 午夜AV污污污| 怡红院成人视频| 粉嫩av平台| 中文字幕在线观看丝袜| 97在线观看免费| 美女天天干| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 亚州情色j区| 自拍欧美| 人人性爱视频免费| 超碰超碰95| 美女9118禁| 在线不卡视频| 妇女乱色二区| 一级久久久久久久久久久 | 人人看人人插| 肥臀熟女福利视频一区二区| 青青草福利视频| 99热这里只有精品8| 午夜操一视频一区| 99re国产精品视频| 草久久久| 色y情视频免费看| 乱精品一区字幕二区| 青青草依人大香蕉| 日本免费人成视频播放120秒| 天天天天干| 18+91网站| 五月丁香婷婷啪啪| 91高清欧美| 五月丁香亭亭| 91色花堂| 午夜天天碰综合视频| 精品视频一区二区| 亚洲aw毛茸茸在线| 青娱乐二区免费| 欧美日韩资源在线| se吧提供91精品国产91久久久久久 | 狠日操| 久久久久久久久久精| 熟女乱伦A| 久久久久久裸体| 久久久国产成人一区二区三区在线| 亚洲91射| 日韩欧美tv一区二区在线观看| 成人热久久精品| 欧美一级黄片视频在线| 爱妻综合网| 日韩一级片在线看| 密臀在线一区尤物| 四月丁香婷婷| 日韩av免费一级电影| 精品人妻一区二区三区视频| 国产精品免费日韩| 日韩无码服务区| 婷婷五月天补不补| 天天噜| 最新精品久久蜜桃| 性爱精品一区| 91日韩国产欧美亚洲另类精盘州至城都| 91neishe| 一类无码操逼视频| 青青草综合在线| 91人妻视频在线| 天天色天天干天天射| 国产精品大屁股999| 久久香蕉综合一本到3atv| 天美传媒AV在线播放| 精品小视频在线| 91人妻Pr| 日韩综合无码一区久久92| 欧美日韩222| 色色香蕉| 久久久久九九九| 激情综合网一盗摄| 东京热亚洲一区二区| 国产美女口爆吞精视频| 人妻人久久精品中文字幕| 伊色综合天堂色97| 国产专区第一页| 超碰97综合| 激情四射熟女丝袜| 日韩人妻资源网| 91在线秘 男同| 96久久久| 久久熟女精品不卡一区| 富二代亚洲精品99 | 久久人人爽av亚洲精品天堂桃色 | 麻豆激情综合| 婷婷五月花| 久久毛卡| 国产精品黑人一区二区三区| 欧美亚洲清纯| 亚洲欧洲精品成人| 亚洲欧美综合区自拍另类| 蜜臀99久久国产| 欧美熟女丝袜| 高清不卡国产| 国产成人网址| 人干人人人操人人摸| 欧美成人免费在线观看| 91丝袜人妻| 亚州欧美一区| 2025亚洲男人天堂| 婷婷五月天基地| 免费人成在线观看网站品爱网| 91日日夜夜| 美欧老女人97| 97操97色| 天天色综合图片| 亚洲午夜av| www网站黄| 综合免费无码中文| 亚洲高清无毛一区二区| 97视频在线播放| 婷婷久草| 一区二区三区男女操逼黄色小电影| 九九色热| 日韩成人大片在线观看| 日本成人A片免费看| 思思视频免费看网站| 国产毛片片精品天天看视频 | 国产精品一二三区福利| 精品人妻美妇91job| 秋霞一级视频在线观看免费| 国产成人亚洲精品无码最新在线| 奶水 人妻 哺乳 在线| avav青青草久久夜| 插B在线观看| 另类欧美| 亚洲做性| 床戏久久久av一区二区麻豆| 欧美淫乱视频|