久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

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

車載CAN通信與UDS診斷協(xié)議開發(fā):從底層硬件到上層應用全解析

車載CAN通信與UDS診斷協(xié)議開發(fā):從底層硬件到上層應用全解析 車載底層 CAN 通信與上層 UDS 診斷協(xié)議開發(fā)技術文檔做車載軟件開發(fā)這幾年我越來越覺得 CANController Area Network控制器局域網(wǎng)和 UDSUnified Diagnostic Services統(tǒng)一診斷服務這兩塊內容是所有想入行或者正在做車載測試、嵌入式開發(fā)的人必須邁過去的兩道坎。你光會點單片機、會點 C 語言在車載領域里其實很難走遠因為車上幾乎所有 ECUElectronic Control Unit電子控制單元之間的信息交互都跑在 CAN 總線上而整車下線檢測、售后故障排查又基本全依賴 UDS 診斷協(xié)議。這篇文章我就圍繞“車載底層 CAN 通信與上層 UDS 診斷協(xié)議開發(fā)”這個主題把我從實際項目里踩過的坑、用過的工具、總結出的方法論完整地分享出來不整虛的。這篇文章適合三類人看一是剛轉行做車載測試或者嵌入式軟件開發(fā)的新人你需要搞懂 CAN 和 UDS 到底是怎么工作的二是已經(jīng)在做 CAN 通信、但想往診斷方向深入一點的工程師本文能幫你把 UDS 那套服務流程理順三是準備面試車載相關崗位的朋友里面不少內容都是高頻考點比如 CAN 時鐘誤差怎么解決、UDS 19 服務 01 子功能怎么用、27 服務種子密鑰流程等等我盡量用大白話講清楚。1. 項目背景與整體架構設計思路1.1 為什么車載開發(fā)離不開 CAN 和 UDS 這條技術鏈路先聊聊背景?,F(xiàn)代汽車里面 ECU 數(shù)量早就不是幾十個的概念了稍微智能一點的車型整車 ECU 數(shù)量能突破一百個。每個 ECU 都要跟其他 ECU 通信比如 BMSBattery Management System電池管理系統(tǒng)要把電池電壓、溫度、SOC 發(fā)給 VCUVehicle Control Unit整車控制器VCU 又要把扭矩請求發(fā)給 MCUMotor Control Unit電機控制器。這么多控制器之間如果全用點對點的線束連接整車線束會重得離譜、成本也壓不住所以必須有一條共享的通信總線。CAN 總線就是干這個事的。CAN 總線是 Bosch 公司在 1986 年提出的一種串行通信協(xié)議最初就是為了解決汽車內部大量控制單元之間的數(shù)據(jù)交換問題。它用兩條差分信號線CAN_H 和 CAN_L就能掛載幾十個節(jié)點抗干擾能力強、實時性好、成本低。直到現(xiàn)在CAN 依然是車載網(wǎng)絡里最主流的底層通信方式。但光是能通信還不夠。車用著用著可能出毛病售后技師得知道是哪個 ECU 報的故障、能不能讀到實時數(shù)據(jù)、要不要刷寫新程序。這時候就需要一套統(tǒng)一的上層診斷協(xié)議讓外部診斷儀能跟任意一個 ECU 對話。UDS 就是這套標準它定義在 ISO 14229 里跑在 CAN 總線之上通過 CAN 幀把診斷請求發(fā)出去ECU 再把診斷響應發(fā)回來。所以你會發(fā)現(xiàn)CAN 是“路”UDS 是“跑在路上的車”兩者是一個底一個上的關系做車載開發(fā)必須把這條鏈路從頭到尾打通。1.2 項目技術架構的分層設計方法這個項目從架構上可以分成三層來看物理層與數(shù)據(jù)鏈路層對應 CAN 控制器和收發(fā)器負責電平轉換、幀收發(fā)、錯誤檢測、仲裁等開發(fā)時主要關心波特率配置、終端電阻、采樣點這些參數(shù)。傳輸層與會話層對應 ISO 15765-2通常叫 TP 層Transport Protocol 傳輸協(xié)議負責把超長的診斷數(shù)據(jù)拆分到多個 CAN 幀里傳輸并在接收端重組。應用層對應 UDS 協(xié)議本身處理各種診斷服務的請求和響應包括會話控制、安全訪問、數(shù)據(jù)讀取、故障碼操作、例程控制等。我們在實際開發(fā)中通常也會按這個分層來組織代碼底層驅動CAN Driver 傳輸協(xié)議層CAN TP 診斷應用層UDS Stack。這樣做的好處是模塊間解耦底層換芯片換了不影響上層邏輯上層增加診斷服務也不用改動傳輸和驅動代碼。我記得第一個完整的項目里我們就直接在 NXP 的 S32K 系列芯片上做這套東西。S32K 的 FlexCAN 模塊用來收發(fā) CAN 幀上層配一個 CAN TP 模塊再往上是自己寫的診斷服務處理邏輯。整個架構理順之后后續(xù)接什么新項目都很快基本就是修改服務表和路由表的事。1.3 關鍵技術點選型與整體開發(fā)流程開發(fā)流程上這個項目大體分為需求分析、AUTOSAR 與非 AUTOSAR 方案選型、協(xié)議棧開發(fā)與集成、臺架/實車測試幾個階段。方案選型這一步很多團隊容易忽略細節(jié)。如果你的項目是基于 AUTOSARAutomotive Open System Architecture汽車開放系統(tǒng)架構的那 CAN Driver、CanIf、CanTp、Dcm 這些模塊都是現(xiàn)成的你主要做配置和集成如果是不帶 AUTOSAR 的裸機開發(fā)或者普通 RTOS 環(huán)境就得自己實現(xiàn)或者移植一套協(xié)議棧。我自己的經(jīng)驗是小項目或者學習階段優(yōu)先考慮自己寫或者用開源的小型協(xié)議棧省去 AUTOSAR 工具鏈那套復雜流程但是量產(chǎn)項目除非團隊里有非常熟悉協(xié)議棧的專家否則還是走 AUTOSAR 成熟方案更穩(wěn)因為診斷協(xié)議棧的邊界情況太多了自己寫很容易漏。這個項目里核心的關鍵技術點有這么幾個CAN 波特率與采樣點計算、CAN 時鐘誤差容錯處理、DBC 報文矩陣設計與解析、UDS 服務分發(fā)與子功能處理、ISO 15765-2 傳輸層分包重組、安全訪問種子密鑰算法、故障碼 DTC 的讀寫清除邏輯。每一個點我都會在后面的章節(jié)里展開講。2. 底層 CAN 通信核心技術解析2.1 CAN 報文結構與總線仲裁機制先過一遍 CAN 報文的組成。標準 CAN 2.0A 的數(shù)據(jù)幀由幀起始SOF、仲裁域Identifier 標識符 RTR 遠程發(fā)送請求位、控制域IDE、DLC 數(shù)據(jù)長度代碼、數(shù)據(jù)域0~8 字節(jié)、CRC 校驗域、ACK 確認位和幀結束組成。開發(fā)時最常打交道的是仲裁域里的 ID這個 ID 不只是報文的標識還決定了總線訪問優(yōu)先級。CAN 總線是載波監(jiān)聽多路訪問/沖突避免CSMA/CA機制多個節(jié)點同時發(fā)報文時靠仲裁段逐位比較顯性位邏輯 0會覆蓋隱性位邏輯 1所以 ID 數(shù)值越小的報文優(yōu)先級越高。比如動力系統(tǒng)的報文一般會給比舒適系統(tǒng)更小的 ID保證優(yōu)先傳輸。我在做 DBCCAN database 數(shù)據(jù)庫文件解析工具的時候經(jīng)常用 python-can 庫來讀報文再結合 cantools 把 DBC 文件轉成解析代碼。這里提一句DBC 文件里每個信號定義了起始位、長度、字節(jié)序Intel 還是 Motorola、縮放因子和偏移量解析時最容易搞錯的是 Motorola 格式也叫大端格式的位序換算很多新手在這兒栽跟頭。我自己的辦法是寫完解析代碼后先用已知報文回灌驗證不要指望一把過。2.2 CAN 時鐘誤差的成因與重同步機制做 CAN 底層驅動或者調試總線故障時時鐘誤差是一個繞不開的問題。每個 CAN 節(jié)點都有自己的晶振晶振本身有精度誤差同時溫度變化、老化也會導致時鐘漂移。當總線上某個節(jié)點的時鐘頻率和主節(jié)點偏差超過一定范圍就會導致采樣點偏移進而產(chǎn)生位錯誤、CRC 錯誤嚴重時整個網(wǎng)絡都通信異常。CAN 協(xié)議為了解決這個問題設計了兩類同步機制硬同步和重同步。硬同步發(fā)生在幀起始的 SOF 位所有節(jié)點重新開始位定時重同步發(fā)生在幀內遇到隱性到顯性的跳變沿時每個節(jié)點根據(jù)自己的相位誤差調整采樣點位置。CAN 控制器通過同步跳轉寬度SJWSynchronization Jump Width來限制每次重同步的最大調整量。項目里有一次現(xiàn)象非常典型某塊板子單獨測 CAN 收發(fā)正常但掛到臺架上就瘋狂報 BUS OFF。排查下來發(fā)現(xiàn)是板載晶振負載電容匹配不對導致實際頻率偏差超過 1.5%超出了 CAN 控制器容忍范圍。后來把晶振換成精度更高的有源晶振問題就消失了。所以選型時不要貪便宜用普通陶瓷諧振器一定要用晶振并且按芯片手冊要求配置正確的負載電容。另外在軟件里盡量把采樣點配置在位的 75%~80% 位置這個區(qū)間對各種干擾的容錯能力最好。2.3 CAN 波特率配置與采樣點計算波特率配置本質上就是給位時間分段。CAN 的一個位時間bit time被分成四段同步段SS固定 1 個時間份額、傳播時間段PTS、相位緩沖段 1PBS1、相位緩沖段 2PBS2。采樣點就是 PBS1 結束的位置。計算過程舉個例子。假設芯片外設時鐘頻率 40 MHz需要配置 500 kbps 波特率那每個位的時間就是 2 us時間份額TqTime Quantum可以做如下分配Prescaler 分頻值取 4則 Tq 4 / 40 MHz 0.1 us一個位由 20 個 Tq 組成。把同步段設為 1 TqPTS 設為 7 TqPBS1 設為 8 TqPBS2 設為 4 Tq那么采樣點 (1 7 8) / 20 80%。這樣配置可行。反過來如果已知目標采樣點比例也能反推各段長度。實際操作里我用 S32K 的 FlexCAN 或者 STM32 的 bxCAN 時都會先用邏輯分析儀抓一下實際波形測量顯性位寬度看波特率和采樣點對不對。不要完全信任代碼注釋里的計算結果因為芯片參考手冊里對傳播時間段和相位緩沖段的命名可能不同一個字母沒對上結果就完全不同。2.4 CAN FD 與車載以太網(wǎng)對底層設計的補充影響現(xiàn)在的新車型越來越多地引入 CAN FDCAN with Flexible Data-rate和車載以太網(wǎng)。CAN FD 相比經(jīng)典 CAN數(shù)據(jù)段波特率可以更高通常 2 Mbps 甚至 5 Mbps一幀最多能帶 64 字節(jié)數(shù)據(jù)對診斷刷寫這種大塊數(shù)據(jù)傳輸非常友好。做底層開發(fā)時如果工程里同時用到經(jīng)典 CAN 和 CAN FD要注意控制器是否支持混合模式以及終端電阻匹配在高速率下是否有更高的要求。CAN FD 的仲裁段和數(shù)據(jù)段波特率可以不同這意味著采樣點配置要分別計算。另外CAN FD 在總線錯誤處理上有個顯著區(qū)別經(jīng)典 CAN 發(fā)錯時所有節(jié)點都會響應錯誤幀而 CAN FD 只有錯誤節(jié)點自己發(fā)錯誤標志這部分在實際調試時容易被表象誤導需要特別留意。如果項目還涉及 UDS over Ethernet通常叫 DoIPDiagnostic over Internet Protocol基于 IP 的診斷協(xié)議那底層就完全變了不再是 CAN 幀而是一整個 TCP/IP 協(xié)議棧。DoIP 的優(yōu)勢是帶寬大適合遠程診斷和 OTA 刷寫但它在安全接入、端口管理上比 CAN 診斷復雜不少。后續(xù)如果做跨域控制器開發(fā)比如智能座艙或自動駕駛域控DoIP 幾乎是必選項這一點可以在第 7 節(jié)展開講。3. CAN 通信開發(fā)實操與驅動實現(xiàn)要點3.1 CAN 控制器初始化與收發(fā)流程我先講一下最基礎的 CAN 驅動初始化步驟以 STM32 的 bxCAN 為例使能相關時鐘GPIO 時鐘和 CAN 外設時鐘。配置 GPIO 復用引腳CAN_RX 和 CAN_TX 引腳要配置為復用功能。配置 CAN 工作模式正常模式或環(huán)回模式。調試初期建議先用環(huán)回模式Loopback不需要外部節(jié)點就能確認控制器本身收發(fā)正常。設置波特率和位時間參數(shù)。配置過濾器經(jīng)典 CAN 的報文過濾在硬件層做可以按 ID 范圍過濾也可以按掩碼匹配。如果沒有正確配置過濾器會導致收不到任何報文這是新手最容易犯的錯。使能中斷發(fā)送中斷、接收中斷、錯誤中斷、總線關閉中斷分別處理。發(fā)送流程應用層把一幀數(shù)據(jù)打包成 CAN_TxHeaderTypeDef然后調用 HAL_CAN_AddTxMessage等待發(fā)送完成中斷后在回調里釋放發(fā)送緩沖。接收流程CAN 控制器收到有效幀后觸發(fā)接收中斷在 HAL_CAN_RxFifo0MsgPendingCallback 中調用 HAL_CAN_GetRxMessage 把數(shù)據(jù)取出來再交給上層協(xié)議棧。項目中比較容易被忽略的一點是CAN 控制器的發(fā)送郵箱數(shù)量是有限的bxCAN 是 3 個郵箱如果上層短時間內投遞大量報文發(fā)送郵箱會滿此時調用 AddTxMessage 會返回錯誤。正確的做法是做一個發(fā)送隊列把待發(fā)送報文緩存到內存里然后在發(fā)送完成中斷里逐個補發(fā)。我見過有人圖省事不寫隊列結果總線負載一高診斷請求周期性丟失排查了半天。3.2 基于 S32K FlexCAN 的工程實踐S32K 的 FlexCAN 跟 STM32 的 bxCAN 差別不小。FlexCAN 使用的是消息緩沖區(qū)MBMessage Buffer機制每個 MB 可以獨立配置成發(fā)送或接收緩沖區(qū)數(shù)量多、靈活性高。開發(fā)時你需要初始化 FlexCAN 模塊選擇時鐘源、設置分頻、設置位時間。分配 MB比如 MB0~MB7 用于接收MB8~MB15 用于發(fā)送。配置中斷每個 MB 都有獨立中斷也可以通過 FIFO 模式接收。使能 FlexCAN 的協(xié)議引擎啟動模塊。我在實際項目里習慣把 FlexCAN 的接收 FIFO 打開。接收 FIFO 的好處是硬件自動緩沖收到的報文即使應用層暫時來不及處理也不容易丟幀。但要注意過濾表還是要配否則 FIFO 緩存里全是無關報文很快就會被塞滿。S32K 的時鐘配置也比較講究。FlexCAN 模塊時鐘可以來自 SIRCSlow Internal RC 慢速內部時鐘、FIRC、SOSCSystem Oscillator 系統(tǒng)振蕩器或者 PLL不同時鐘源在 CAN 波特率配置時會得到不同的 Prescaler 范圍。開發(fā)時我建議先從 SOSC 這種穩(wěn)定性高的時鐘源開始確認整車網(wǎng)絡通信正常后再去優(yōu)化功耗相關的時鐘切換不要一上來就搞復雜的時鐘樹。3.3 DBC 報文解析與波形驗證方法整車開發(fā)中每個 ECU 的 CAN 報文信號定義都會維護在 DBC 文件里。DBC 可以理解為 CAN 通信的“數(shù)據(jù)庫”里面描述了每條報文的周期、ID、數(shù)據(jù)字節(jié)、信號布局。常用工具除了 Vector CANdb還可以用開源的 cantools 庫。用 cantools 解析 DBC 報文很簡單import cantools import can db cantools.database.load_file(vehicle.dbc) bus can.interface.Bus(channelcan0, bustypesocketcan) for msg in bus: if msg.arbitration_id db.get_message_by_name(VCU_Status).frame_id: data db.decode_message(msg.arbitration_id, msg.data) print(data)代碼里 db.decode_message 返回一個字典鍵是信號名比如 vcu_speed、soc 等。開發(fā)前期我強烈建議準備一套可復現(xiàn)的測試腳本每收到一幀報文就打印再跟 DBC 信號的值人工比對確認解析正確。波形驗證方面示波器或邏輯分析儀是必需品。我調試波特率時經(jīng)常用邏輯分析儀抓 CAN_H 與 CAN_L 的差分波形測量最短顯性位的時間。如果時鐘配置正確最短顯性位寬度應該正好等于 1/fdfd 為數(shù)據(jù)段波特率。如果測出來偏寬或偏窄就能反過來校準 Prescaler 和位時間參數(shù)。這個方法在任何一款 MCU 上都通用不用依賴廠商調試工具。4. 上層 UDS 診斷協(xié)議開發(fā)與實現(xiàn)細節(jié)4.1 UDS 協(xié)議??蚣芘c尋址模式UDS 是 ISO 14229 定義的應用層診斷協(xié)議。它跑在不同傳輸協(xié)議之上CAN、LIN、以太網(wǎng)等但在 CAN 上最常用的載體是 ISO 15765-2CAN TP。UDS 的核心思路是“請求-響應”外部診斷儀發(fā)出請求ECU 執(zhí)行后返回響應。診斷儀和 ECU 之間是一問一答的模式。尋址方式分為物理尋址和功能尋址。物理尋址是點對點通信請求幀的目標地址是某個具體 ECU 的診斷地址只有這個 ECU 響應功能尋址是廣播式的比如給所有 ECU 發(fā)“進入擴展會話”的請求ID 通常是 0x7DF所有支持該服務的 ECU 都會響應。這個差異在開發(fā)測試中時要特別注意用功能尋址發(fā)“讀取 DID”請求會收到多個 ECU 的響應數(shù)據(jù)解析不能只按單 ECU 處理。從開發(fā)實現(xiàn)角度看UDS 協(xié)議棧可以拆成三層CAN 驅動負責收發(fā)原始幀CAN TP 層負責處理長報文的分包傳輸將 4095 字節(jié)的最大診斷消息分成多個單幀/連續(xù)幀并在接收端重組UDS 層負責解析請求報文里的 SIDService Identifier 服務標識符和子功能調用對應的處理函數(shù)再組響應報文。4.2 UDS 常用服務功能拆解19 27 31 34 36 37開發(fā)診斷功能時最常用到的 UDS 服務是以下幾個診斷會話控制0x10包括默認會話、編程會話和擴展會話。很多診斷服務只在非默認會話下才能執(zhí)行所以收到請求后先切會話是標準操作。比如 0x10 03 進入擴展會話ECU 如果支持則回 0x50 03。安全訪問0x27涉及種子和密鑰的交換用于保護寫入類操作。先發(fā)請求種子比如 0x27 01ECU 返回一個種子值診斷儀用特定算法計算密鑰0x27 02發(fā)回ECU 校驗一致后解鎖。注意安全訪問有失敗計數(shù)器和延遲時間連續(xù)輸錯密鑰會鎖死一段時間。例程控制0x31執(zhí)行 ECU 內部特定程序比如擦除 Flash、檢查通信、學習轉向角傳感器等。典型流程是 0x31 01 開始例程、0x31 02 停止例程、0x31 03 查詢例程結果。例程編號通常是 2 字節(jié)或 3 字節(jié)的 DID 地址。請求下載0x34、傳輸數(shù)據(jù)0x36、請求退出傳輸0x37這三個服務合起來構成完整的 Flash 刷寫流程。先通過 0x34 告訴 ECU 要下載的數(shù)據(jù)長度和內存地址ECU 回一塊最大傳輸字節(jié)數(shù)比如 64 字節(jié)之后診斷儀分成多個 0x36 請求把數(shù)據(jù)塊發(fā)過去最后用 0x37 結束傳輸。讀取 DID0x22和寫入 DID0x2E用來讀寫 ECU 內部數(shù)據(jù)標識符Data Identifier比如 VIN、軟硬件版本號、標定參數(shù)、采集的電壓溫度等。讀取 DID 是售后診斷里最常用的服務沒有之一。讀取/清除故障碼0x19、0x140x19 有很多子功能其中 01 表示按狀態(tài)掩碼讀取故障碼02 表示讀取特定故障碼的快照數(shù)據(jù)04 表示讀取故障碼擴展數(shù)據(jù)。清除故障碼用 0x14一般格式是 0x14 FF FF FF FF 清除所有 DTC。實際項目里UDS 服務的返回碼NRCNegative Response Code要格外重視。ECU 不支持請求的服務時要返回 0x7F SID NRC。常見的 NRC 有 0x10一般拒絕、0x11服務不支持、0x12子功能不支持、0x13報文長度或格式錯誤、0x22條件不滿足、0x31請求超出范圍、0x33安全訪問被拒絕、0x78請求正在處理需要診斷儀等待。在協(xié)議棧里我建議把 NRC 處理做成一張映射表方便上層直接查。4.3 會話管理、安全訪問與 DTC 管理的核心流程UDS 的狀態(tài)管理是整個診斷邏輯里最容易出問題的地方。每個 ECU 必須知道自己當前處在什么會話里因為不同會話能執(zhí)行的服務集合不同。默認會話0x01下只能執(zhí)行基本讀操作擴展會話0x03下能執(zhí)行寫操作和例程控制編程會話0x02下主要執(zhí)行刷寫相關服務。會話還有超時機制一般在非默認會話停留超過一定時間通常是 5 秒ECU 要自動回到默認會話。這個超時時間在實車上往往被測試團隊專門拿出來考協(xié)議棧里一定要做成可配置的參數(shù)。DTCDiagnostic Trouble Code 診斷故障碼的管理是我建議單獨寫成一個模塊的。DTC 的狀態(tài)信息不是簡單的 0/1而是由多個狀態(tài)位構成比如當前存在、歷史存在、當前失敗、上次失敗、測試未完成等0x19 服務可以按不同子功能讀取。開發(fā)時我習慣用一組 bit 掩碼表示每個 DTC 的狀態(tài)需要上報時再按 UDS 要求的格式填充成響應報文。清除 DTC 時要考慮條件——很多 ECU 只有在特定條件下才允許清除比如車速為 0、點火開關 ON如果條件不滿足要返回 0x22 條件不滿足。4.4 基于 CAN TP 的 UDS 報文分包傳輸原理當 UDS 報文超過 8 字節(jié)時就需要 CAN TP 來分包。ISO 15765-2 定義了四種幀類型單幀SFSingle Frame數(shù)據(jù)長度 7 字節(jié)如果使用擴展地址則更少直接一幀發(fā)完。首幀F(xiàn)FFirst Frame數(shù)據(jù)長度超過 7 字節(jié)時發(fā)送第一幀包含 12 位總長度信息。連續(xù)幀CFContinuous Frame后續(xù)數(shù)據(jù)幀每幀最多 7 字節(jié)數(shù)據(jù)帶序列號。流控幀F(xiàn)CFlow Control接收方告訴發(fā)送方每次可以連續(xù)發(fā)多少個連續(xù)幀以及兩個連續(xù)幀之間的最小間隔時間。實際刷寫 ECU 時一次請求下載的數(shù)據(jù)大小可能到 1 MB分包和重組都是在 CAN 驅動之上自動完成的。我在實現(xiàn) CAN TP 模塊時踩過一個比較典型的坑接收方向發(fā)送方發(fā)完流控幀后如果連續(xù)幀之間的間隔控制得不夠有些 CAN 控制器在 FIFO 溢出的情況下會靜默丟幀而上層還在干等重組完成最后導致整個診斷會話超時。解決辦法是增加 CAN 接收 FIFO 深度并且在應用層做超時重傳機制不要完全依賴 CAN 控制器的錯誤處理。5. 上層診斷與底層 CAN 的銜接方式5.1 從 UDS 服務到 CAN 幀的完整數(shù)據(jù)流我畫一下我自己平時腦中的完整數(shù)據(jù)流診斷儀發(fā)送一個 0x22 F1 90 的請求要讀取 VIN 碼的前幾個字節(jié)。這個請求先經(jīng)過 UDS 層封裝成診斷消息包含 SID 和參數(shù)CAN TP 層根據(jù)長度決定用單幀還是多幀發(fā)送最終交給 CAN 驅動打包成 CAN 報文發(fā)出。ECU 收到這個報文后CAN 驅動先確認收幀CAN TP 層把分片重組UDS 層解析出 SID0x22、DID0xF190查表找到 VIN 碼存儲位置將數(shù)據(jù)組裝成響應報文再按照 CAN TP 的分包規(guī)則逐幀發(fā)回給診斷儀。數(shù)據(jù)流向說起來簡單但真在代碼里實現(xiàn)時最麻煩的是異步并發(fā)。比如 ECU 正在執(zhí)行一個耗時的例程控制期間又收到一個讀取 DID 的請求協(xié)議棧必須保證不能因為正在響應上一個請求就忽略新請求。我的做法是讓診斷模塊維護一個簡單狀態(tài)機空閑狀態(tài)、等待 CAN TP 發(fā)送完成狀態(tài)、等待應用處理完成狀態(tài)。只有狀態(tài)機處于空閑時新請求才會被接受否則適當?shù)胤祷?0x78 請求處理中讓診斷儀稍后重試。5.2 診斷報文與底層驅動的接口設計接口設計的核心是解耦。我在代碼里定義了一組操作函數(shù)指針比如CAN_Transmit(uint32_t id, uint8_t* data, uint8_t len)CAN_Receive(uint32_t* id, uint8_t* data, uint8_t* len)CANTP_Send(uint8_t* data, uint16_t len)CANTP_Receive(uint8_t* data, uint16_t* len)所有上層 UDS 邏輯只跟 CANTP_Send/CANTP_Receive 打交道不直接操作 CAN 驅動。這樣做的好處是后續(xù)要從 CAN 切到 LIN 或者以太網(wǎng)只需要替換底層傳輸接口的實現(xiàn)UDS 層代碼完全不用變動。我還習慣在接口層加一個環(huán)形緩沖區(qū)存放接收到的診斷報文。CAN 接收中斷里只負責把數(shù)據(jù)拷貝進環(huán)形緩沖區(qū)然后置一個事件標志主循環(huán)里檢測到事件后調用 CAN TP 和 UDS 流程處理。這種方式比直接在中斷里做完整協(xié)議解析要安全得多不會因為中斷耗時過長導致丟幀。5.3 上層應用如何正確映射診斷結果UDS 服務執(zhí)行后結果不只是 0x00成功或 NRC還可能攜帶大量數(shù)據(jù)。比如 0x19 02 讀取 DTC 快照響應里會包含 DTC 編號、DTC 狀態(tài)、快照記錄編號、DID 列表和數(shù)據(jù)。上層應用比如儀表盤上的故障燈邏輯不能只是簡單判斷“有故障碼”還必須正確解析 DTC 的狀態(tài)位區(qū)分“當前故障”和“歷史故障”。我見過一個低級但不罕見的 bug上層代碼把 0x19 01 響應的 DTC 狀態(tài)字節(jié)直接當作布爾值導致只要歷史故障存在故障燈就常亮不滅。正確的做法是按位解析狀態(tài)比如 bit01 表示測試失敗當前故障bit41 表示歷史存在但不一定是當前故障。這些細節(jié)做不到位排查問題會浪費大量時間。6. 開發(fā)工具鏈與實測環(huán)境搭建6.1 常用的 CAN 上位機工具與總線分析儀開發(fā) CAN 通信和 UDS 診斷手里沒有幾把趁手的工具不行。我常用的是CANoeVector功能最全支持 CAPL 腳本、DBC 加載、UDS 診斷控制是車廠和 Tier1 的標配工具。缺點就是貴個人學習不建議直接上。PCAN-View / PCAN-ExplorerPEAK便宜實用適合日??磮笪暮秃唵卧\斷。CANable / 兼容虛擬串口的 USB-CAN 工具適合個人開發(fā)開源的 cantools Python 就能配合做自動化測試。周立功 ZCANPRO國產(chǎn)工具里不錯的界面順手支持 CAN FD。如果你是剛入門我建議直接從 PCAN 或者國產(chǎn) USB-CAN 開始配合 Wireshark 的 CAN 解析插件能直觀看到每一幀的 ID、長度、數(shù)據(jù)還能統(tǒng)計總線負載率和錯誤幀。等需要做復雜仿真和自動化測試時再考慮上 CANoe。6.2 搭建一套可復現(xiàn)的 UDS 自動化測試腳本自動化測試是保證診斷協(xié)議棧質量的關鍵。我自己習慣用 Python 寫一套輕量級測試框架核心代碼類似import can import cantools import uds bus can.interface.Bus(channelPCAN_USBBUS1, bustypepcan) ecu uds.Client(bus, request_id0x7E0, response_id0x7E8) # 進入擴展會話 resp ecu.request(0x10, 0x03) assert resp.sid 0x50 and resp.data[0] 0x03 # 讀取 VIN resp ecu.request(0x22, 0xF1, 0x90) print(resp) # 安全訪問示例 seed ecu.request(0x27, 0x01).data[0] key calculate_key(seed) resp ecu.request(0x27, 0x02, key) assert resp.sid 0x67這套腳本跑起來后基本能在一個晚上把常用的 UDS 服務全部回歸一遍。我特別建議在自動化腳本里加隨機性測試隨機間隔發(fā)送診斷請求、隨機切換會話、隨機輸入非法參數(shù)很多協(xié)議棧的隱藏問題就是在這種壓力測試下暴露出來的。6.3 臺架與實車聯(lián)調時的注意事項臺架測試時要確保 CAN 網(wǎng)絡里沒有其他 ECU 干擾最好用獨立電源避免地電位差異影響通信。實車聯(lián)調時需要注意的點更多一定要先確認整車上電狀態(tài)不要讓診斷儀誤觸發(fā)了高壓部件相關例程另外實車 CAN 網(wǎng)絡負載率高診斷響應時間往往會比臺架慢腳本里的超時時間不能設得太短。有一次我在實車上做刷寫測試刷到一半總線出現(xiàn)大量錯誤幀后來發(fā)現(xiàn)是 OBD 口上同時掛了好幾臺診斷設備節(jié)點太多終端電阻被破壞導致了反射。后來規(guī)定測試時只允許掛一個診斷儀其他設備全部拔掉問題就沒了。這個教訓讓我記住了一件事現(xiàn)場排查 CAN 問題第一步永遠先檢查物理連接再看波形最后才懷疑軟件協(xié)議棧。7. 常見問題與排查技巧實錄7.1 CAN 總線 BUS OFF 與錯誤幀的定位思路CAN 總線出現(xiàn) BUS OFF 時節(jié)點會暫時離開總線不再參與通信。排查思路我一般按下面的順序用總線分析儀看錯誤幀的類型是位錯誤、填充錯誤、CRC 錯誤還是 ACK 錯誤。檢查波特率是否一致最快速的方法是抓波形測一個位的寬度對比各節(jié)點配置。檢查終端電阻總線上應該在兩端各有一個 120 歐的電阻萬用表測 CAN_H 和 CAN_L 之間的電阻應該約 60 歐。檢查是否有節(jié)點在總線空閑時主動發(fā)送數(shù)據(jù)導致持續(xù)沖突。錯誤幀里最容易忽略的是 ACK 錯誤。CAN 幀在發(fā)送完成后發(fā)送節(jié)點期望至少有一個其他節(jié)點回 ACK 顯性位。如果總線上只有發(fā)送節(jié)點一個節(jié)點或者接收節(jié)點的控制器沒有配置成監(jiān)聽模式發(fā)送就會一直報 ACK 錯誤。這在單節(jié)點臺架測試時非常常見但不代表協(xié)議棧有問題屬于測試環(huán)境配置問題。7.2 診斷超時與無響應的常用排查路徑UDS 請求發(fā)出去ECU 一直沒響應。我排查時第一步不是看協(xié)議棧而是先看 CAN 層診斷儀能不能看到自己發(fā)的報文ECU 有沒有收到如果 CAN 層有收發(fā)再確認響應 ID 是否和 DBC 里一致。很多新開發(fā)的項目ECU 的物理尋址請求 ID 和響應 ID 配置錯了比如請求 ID 是 0x7E0響應用了 0x7E8結果診斷儀在 0x7E9 上等必然無響應。如果 CAN 層正常再看會話狀態(tài)。ECU 可能還停留在默認會話而請求的服務只能在擴展會話下執(zhí)行此時 ECU 會回 NRC 0x22 或直接無響應。此時手動先發(fā)一個 0x10 03 進入擴展會話再重新發(fā)原請求往往問題就解決了。最后再看安全訪問狀態(tài)寫操作被拒絕時先執(zhí)行 0x27 流程再重試。7.3 UDS 協(xié)議棧狀態(tài)機常見狀態(tài)卡死問題說一個我在自己項目里修過的問題。ECU 在執(zhí)行 0x31 例程控制時如果例程內部因為硬件等待卡住UDS 狀態(tài)機一直停留在“正在處理例程”狀態(tài)之后診斷儀發(fā)任何服務都不響應。后來我在例程執(zhí)行邏輯里加了一個看門狗計數(shù)器超過 3 秒強制返回 NRC 0x10 并恢復空閑狀態(tài)這個問題才算解決。協(xié)議棧狀態(tài)機設計的時候一定要考慮所有可能卡死的路徑。比如正在等待 CAN TP 發(fā)送完成時如果 CAN 控制器因為總線錯誤關閉了狀態(tài)機會永遠等不到發(fā)送完成標志。這時候需要一個全局超時超時后強制復位傳輸層狀態(tài)。我在代碼里專門加了一個診斷模塊的 tick 函數(shù)每 10 ms 調用一次負責檢查各種超時條件。這個設計雖然簡單但在項目里救了很多次場。7.4 常見問題速查表問題現(xiàn)象可能原因快速排查方法總線上收不到任何報文MCU 引腳復用不對檢查 GPIO 配置和 CAN TX/RX 波形偶發(fā)丟幀總線錯誤率高采樣點配置不匹配抓波形計算位寬調整位時間參數(shù)UDS 請求無響應請求 ID / 響應 ID 不一致核對 DBC 和診斷配置服務報 NRC 0x31請求參數(shù)超出范圍檢查 DID、例程編號、數(shù)據(jù)長度清除 DTC 失敗清除條件不滿足檢查整車狀態(tài)條件比如車速、擋位刷寫中途失敗0x36 塊大小或序列號錯誤核對最大傳輸字節(jié)和塊序號安全訪問一直被拒種子密鑰算法不匹配從種子生成模塊排查確認 key 長度和字節(jié)序8. 后續(xù)擴展與接口趨勢分析8.1 從 CAN 診斷到 DoIP 的架構演進現(xiàn)在很多新車型開始引入 DoIP主要是因為軟件刷寫的包越來越大傳統(tǒng) CAN 刷寫一個控制器可能要幾十分鐘而以太網(wǎng)只需幾分鐘。DoIP 的協(xié)議棧跟 CAN 時代的思路完全不同它基于 TCP/IP診斷報文使用 ISO 13400 封裝邏輯上更接近網(wǎng)絡開發(fā)。如果之前只做過 CAN 上的 UDS轉向 DoIP 時要重點理解三個概念DoIP 實體通過 UDP 廣播做車輛發(fā)現(xiàn)Vehicle Announcement 車輛公告TCP 建立可靠的診斷連接每個診斷請求響應通過 payload type 區(qū)分不同的消息類型。物理和邏輯上DoIP 的診斷儀要先拿到車的 IP 地址再發(fā)起 TCP 連接連接建立后才能發(fā)送 UDS 數(shù)據(jù)。8.2 CAN FD 和以太網(wǎng)對上層診斷協(xié)議的支撐變化CAN FD 對 UDS 最大的幫助就是單幀能帶的字節(jié)數(shù)變多了。經(jīng)典 CAN 一次只能傳 8 字節(jié)很多 UDS 響應要拆好幾幀CAN FD 一幀能到 64 字節(jié)0x22 讀取大塊 DID 的響應很多時候一幀就搞定了。但要注意UDS over CAN FD 的地址格式和 N_PDU 結構與經(jīng)典 CAN 并不完全一致傳輸層在數(shù)據(jù)長度對齊上有區(qū)別實現(xiàn)時不能直接把經(jīng)典 CAN TP 代碼拿來改個名字就用。以太網(wǎng)場景下UDS 可以走 TCP/IP使用 DoIP 封裝診斷請求和響應的體量不再受 CAN 幀長限制但仍然要遵循 UDS 的請求響應模型。對于刷寫類服務0x34/0x36/0x37DoIP 為大量數(shù)據(jù)的快速傳輸提供便利同時配合 TLS 做加密通道這對車載信息安全也是加分項。8.3 信息安全需求對 UDS 開發(fā)的影響現(xiàn)在主機廠對診斷安全的要求越來越嚴。以前 0x27 安全訪問可能只是簡單的種子固定算法密鑰現(xiàn)在很多項目要求用 AES 對稱加密做密鑰校驗還有的在傳輸層就要求加密通信。UDS 開發(fā)者也必須了解安全啟動Secure Boot和刷寫校驗的機制比如在 0x34 請求下載階段就要把固件的校驗信息哈希值或簽名一并傳給 ECUECU 在寫入和啟動時做校驗防止未授權程序被刷進去。信息安全這塊很容易被只做功能開發(fā)的工程師忽略但說實話直接決定一個 ECU 能不能過車廠的安全審核。我自己在這方面的經(jīng)驗是盡早讓安全團隊介入?yún)f(xié)議設計不要等代碼寫完了再補另外種子和密鑰算法的實現(xiàn)一定不要硬編碼在 UDS 層代碼里做成一個獨立的安全模塊方便審計和替換。9. 項目總結與經(jīng)驗沉淀9.1 關鍵技術難點回顧整個項目做下來我覺得最考驗人的不是單個協(xié)議的理解而是多層協(xié)議棧的聯(lián)調和異常處理。CAN 層要考慮物理層信號質量、時鐘誤差、總線仲裁CAN TP 層要處理分包重組和流控UDS 層要管理會話、安全、服務分發(fā)和 NRC 映射。任何一層出現(xiàn)問題最終表現(xiàn)可能都是“診斷沒響應”但根因可能在完全不同的層面。這也是為什么我特別強調逐層排查的方法論。9.2 踩坑之后總結的幾條開發(fā)原則第一先做最小可行鏈路。在寫任何復雜診斷業(yè)務之前先讓 CAN 驅動能自發(fā)自收一個單幀 UDS 請求比如 0x10 01 回 0x50 01。這條路通了再往上加功能會省去大量聯(lián)調時間。第二協(xié)議棧代碼必須可觀測。我建議在每個模塊的入口和出口都加可配置的日志打印開發(fā)階段打開量產(chǎn)階段關閉。沒有日志車載現(xiàn)場出現(xiàn)問題時只能靠猜。第三所有超時都做成可配置的。不同的總線負載、不同的 ECU 性能診斷超時時間差異很大。把超時時間定義成宏或者配置項而不是直接在代碼里寫死后續(xù)做跨項目移植時會非常省心。9.3 從項目本身延伸出去的進一步學習路徑如果你看完文章想繼續(xù)深入我建議按這個路徑走先自己寫一個基于 STM32 的最小 CAN 驅動把收發(fā)調通然后用 PCAN 加 PCAN-View 看報文再寫一個簡單的 CAN TP 模塊用自己的上位機測試 UDS 0x10 和 0x22 服務最后再考慮集成安全訪問和刷寫功能。每一步都有明確的驗證手段不會覺得迷茫。另外強烈建議多讀幾遍 ISO 14229 和 ISO 15765-2 的原文。雖然看標準文檔很枯燥但所有工具的底層邏輯都源自這幾份文檔。等你在實際項目里碰到協(xié)議棧的邊界問題再回頭看標準里的描述會突然有種豁然開朗的感覺。最后就留一句我自己的體會車載開發(fā)這一行技術棧再深終究是給整車質量兜底的工程活。把每一個報文、每一個狀態(tài)位、每一個超時時間都摳清楚比追求新潮框架更有意義。希望這篇文章能幫你少踩幾個坑。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 99国产精品自在自在| 青青草在线视频美女| 欧亚日韩中文在线| 大香蕉在线视频15| 欧洲精品二区| 极品白嫩美女白浆成人福利在线看| 伊人大香蕉在线| 大白逼三四级| 色欲日韩欧美在线一区| 亚洲第91页| 一起草三级AV电影在线观看| 99热免费| 欧美日韩欧美| 婷婷丁香久久| 国产精品天干天干综合网麻豆 | GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 性暴力欧美猛交在线直播| 天天做日日爱夜夜爽| 国产馆极品诱惑| 91精品国| 日韩无码专区| 青青草国产欧美非洲黑人| 一区在线观看中文字幕| 久久超碰天天| 久久色人体| 青操影院| 涩五月婷婷| 午夜AV污污污| 91久久精品蜜臀| 国产人妻久久精品一区二区三区| 国产精品无码论坛| 精品少妇高潮久久| 久久人妻视频网| 欧美偷偷网| www.人人cao| 97K超碰在线| 久久久亚洲欧美综合| 国产AV人人 夜夜人人澡| 熟女这里只有精品6| 日本 免费 一区二区三区 久久香蕉 | 97超碰色色| 色综合久| 人人操人人爽人人操人人| 狠狠色婷婷7777久| 精品在线蜜臀| 800zy一区二区| 精品午夜福利导航| 欧美久久婷婷| 亚洲日韩国产欧美综合v| 欧美少妇高潮视频| 好吊妞转入那个网| 熟女乱伦A| 久久久久久99999国产精品| 国内三级自拍小视频在线观看| 天天综合网1| 色一色综合网| 亚洲熟女少妇免费视频| 蜜臀精品1区2区| 免费观看性欧美一级| 国产精品久久久久久夜夜夜夜| 人妻aa| 成人草草视频| 亚州色国| 国产第11页| 丁香九月婷婷| 久久久久久久免费A片国产成a人亚洲精∨品无码 | 91逼逼女人91| 超碰精品国产无码| 日韩中文字幕精品一二三事国产精品| 国产亚洲精品自在线亚洲情侣 | 97大色网| 小泽玛利亚一二三| 久久久精品中文字幕爱豆| 亚洲淫色网中文| 少妇人妻太紧太深av| 欧美偷拍| 91久久国外网| 亚洲 中文 女同| 日本理论在线| 日韩不卡a级视频专区| 欧美色网| 一本色道久久综合精品婷婷| 狠狠热这里都是精品| 亚洲色人| 欧美午夜熟妇黑人精品91| 欧美日韩黄色片一区二区三区四区人与兽做爱| 亚洲激情av| 国产日韩欧美操逼视频| 欧美日韩中文视频播放| 天天综合站| 亚洲A色| 超碰99在线观看| 乱操乱伦AV| 性色avv| 亚洲日本韩国在线| 99操视频| 中文字幕狠狠玩| 亚洲国产成人精品999| 欧日韩一二三f区| 日韩精品人妻中文字有码在线| 久久久久9999| 成人精品在线观看| 欧美疯狂做爰xxxx| 26uuu性物| 天天透伊人| 东京热av影院| 亚洲激情网一二三四区| 午夜亚洲国产理论秋霞| 特色a在线上| 中文字幕精品亚洲熟女| 欧美国产操逼| 超碰无码五月97| 欧美中文字幕男人天堂久久精品| 久久亚洲天天做| 激情自拍 校园春色| 亚洲无码久久久久久久| 大香蕉九九| 思思性爱| 亚洲一区日韩| 女人高潮大叫一级毛片| 爱媛媛久久国产福利| 美女尤物人人操| 免费αV在线视频| 69国产对白刺激| 在线午夜成人无码视频| 色哟哟AⅤ| 亚洲欧洲成人在线电影| .精品人妻一区二区三| 日韩熟女无码| 人妻偷拍一区二区三区| 中文字幕一区二区韩| 欧美v亚洲v综合v国产v妖精| 国产辣妈在线视频福利| 翔田千里Av在线| 两女互慰AV高潮喷水在线观看| 欧美一区二区三区互相| 草草影院最新网址| 麻豆综合一区av| 无码精品久久| 亚洲天堂五月天国产| 特级特黄一级毛片免费| 午夜.DJ高清在线观看免费7| 女人喷水视频在线观看| 99热这里是精品| 欧美日韩高潮喷水91| 国产av白丝| 欧美日不卡| 久久久噜噜噜久久久| 啊啊啊好湿久久| 一本一首道人妻少妇免费久久| 国产十八禁视频| 东北操逼| 热热色中文无码| 国产精品分类在线观看| 很很热性爱视频| 日韩精品一二三四| 18一区二区三区| 欧洲乱码视频| 人妻夜爽夜夜爽| 99无码| 一级日本牲交大片好爽在线看| 国产亚洲美日韩Aⅴ中文字幕无码成人| 思思性爱| 亚洲诱惑| 成人区人妻精品一| 亚欧毛片基地国产毛片基地| 乱论91| 吻戏激情性巴克| 亚洲十八禁止| 中文字幕蜜乳av| 做爱A级亚欧| 色婷婷丁香五月| 一区二区 电影 亚洲| 久久久九| 久久受www免费人成| 日本熟女中文| 亚洲色图 图片| 婷婷久久五月综合激情| 亚洲激情av| 一区 欧美 日韩 麻豆| 青青草在线视频美女| 精品国产乱码久久| 成片免费观看视频大全| 国产偷人妻精品一区二区在线| 日躁天天爽爽| 99久久这里只有精品| 91久热| 欧美嗯啊……在线观看视频免费| 成人开心网在线视频| 97碰| 久久伊人大香蕉| 98福利在线视频| 超碰超碰超碰超碰的大鸡吧操黑丝袜| 欧美极品性爱天天射| 91爱综合| 欧美一区二区三区互相| www四虎| 欧洲亚洲人妻无码久久三区四区| 无码精品人妻一区二区三区妖精| 天天弄欧美| 欧美激情专区| 中文字幕精品日韩中文字幕| 一区二区三区四区姦女| 欧美亚洲| 色噜噜国产在线| 亚洲人天堂| 伊人久久婷婷| 国产精品一区二区三区在线| 综合色图区| 国产深喉| 日韩性色b| 啊啊啊啊操死我| 国产刺激视频| 91麻豆天美传媒在线| 丰满人妻一区二区三区大胸懂色| 国产日韩精品一区二区三区| 大象AV在线| www.四虎在线| 国内偷拍精品一区二区| 天天干一区二区| 九久9精品| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 国产日产精品久久快鸭的功能介绍| 欧美嗯啊……在线观看视频免费| 百度百度日本操逼| 国产SV一线| 水多多映视AV| 亚洲综合九| 国产A v无码专区| 久久视频,这里只有精品 | 亚洲精品国产专区在线观看| 久干网| 国产真实野战在线视频| 久久亚洲一区女同性恋中文字幕| 人妻少妇精品一区二区三区| 亚洲熟女人妻中文字幕一区二区| 大鸡巴久久久| 精品人妻av在线播放| 偷拍五区| 色香阁在线| 美女诱惑久久| 天天综合网1| 欧美伊人久久综合网| 日本久久综合| 亚洲一区日韩| 国内亚洲高清无码| 蜜臀一二三区| 美女啊啊啊啊啊啊啊| 91人妻人人澡人人爽人人精品| 91N综合在线| 久久鲁干| www欧美91| 97高清啪啪| 国产又大又硬又长又粗| 久久久精品网站| 四季AV一区二区凹凸精品小说| 国产女人操逼视频| 91性色| 青青伊人久久| 欧美强奸乱能| 日韩成年人性爱视频| 亚洲素人网| 大香蕉综合网| 无码天天操| 美女十八禁| 亚洲淫乱骚妇AV| 9l视频自拍9l九色成人| 久久久99免费| 啪啪视频免费在线观看| 热热色综合网| 69人妻精品丰满熟女区| 天天插天天射| 日韩成人性爱电影在线播放| 99久久精品欧美国产| 蜜桃午夜视频一区二区| 91天美传媒在线观看| 大香蕉免费乱伦视频| 91岛国动作片| 亚洲AV在线资源| 久久精品人体| 国产日比| 日韩av不卡在线观看| 成人免费性爱视视| 欧美色性情| 97欧美色综合| 精品无码人妻一区二区免费蜜桃| 亚州乱码中文字幕综合久久久| 户外裸露刺激视频第一区| 欧洲在线性爱视频| 91美| 大香蕉中文在线| 久久久久网站-538在线视频-欧美永久乱码 | 久久久久久日韩| 本道在线| 嗯嗯啊啊啊好爽| 五月天AV资源| 亚洲AV不卡在线观看尤物| 欧美天天插| 婷婷五月天激情网| 无码精品一区二区三区潘金莲| 久久精品国产精品一区 | 日本免费中文一区二区三区四区| 九九伊人网| 精品成人av一区二区三区在线| 小视频国产| 国产亚洲精品A在线观看下载| 亚洲综合在线91| 久久曰曰| 爱干爱射网啊啊啊| 中文字幕在线观看AV| 久久最新免费视频23| 精品人妻伦一二三区久久| 大香蕉九九| 亚洲日韩精品在线播放| 成人亚欧免费视频| 亚洲蜜桃V妇女| 在线强奷到舒服的无码视频| 日本1区2区不卡视频| 国产辣妈在线视频福利| 收看日本人日bb| 欧美人人曰人人操人人射射 | 用力操死我| 日韩国产在线观看av| 久久av一级av少妇av高潮| 国模不卡| 国产精品秘 福利姬在线观看| 99热只有这里有精品| 亚洲 欧美 手机在线观看| 亚洲成人性爱在线观看| 日韩人妻少妇中文字幕| 欧美亚州手机在线| 色欧美天天| 婷婷色色五月天| 色婷婷aV一区二区三区麻豆综合| A啊啊在线观看| 欧美黑人性猛交91| baiduhicn.com。| 97欧美色综合| 亚洲国产日韩精品久久久| 精品久久久久久久| 欧美午夜视频免费观看| 色噜噜狠狠色综合日日| 爆乳免费黄网站| 福利一级版子| 久久人妻一区二区三区高清| 国产精品视频内谢女人| 最近2019中文字幕国语免费版| 蜜乳av首页| 国产精品九9| 老司机午夜福利视频一区二区| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | 亚洲在线| 精品毛片av一区二区| 睡产熟女乱伦| 玖玖爱综合| 日本九九久久99| 干B网| 久艾草在线精品视频在线观看| 婷婷10月天青娱乐| 人人看黄色视频| 亚欧性爱无码| 久操精品网| 美女久久久久久久| 欧美日韩不卡传媒| 成人怡红院| 干少妇视频| 久久精视频美日韩在线视频| 人人摸人人添人人操 | 国产高清成人免费视频| 色官网在线| 欧美色图片91| 99re欧美| 日韩激情中文字幕有码| 久久亚州高清| 日韩啪啪视频| 婷婷天堂站| 日韩操呦呦影院在线观看| 国产日产欧产美韩系列麻豆免费| 欧州91高潮| 国产精品视频白浆免费| 天天看特黄的免费网站| 亚洲国产97| 欧美一级A片不卡视频。| 男人天堂婷婷五月天校园春色| 男人的天堂久久狠| 黄片免费看的| 亚洲自拍欧美国产首页网曝| 97欧美资源| 亚洲精品亚洲人成在线麻豆| 一本一道人妻久久一区二区三区 | 成人久久精品| 思思热国产在线视频| 美女露胸露尿口| 九九九九一区| 色综合网1| 99久久com免费视频′| 亚洲人精品久久久| 97爱亚洲| 久草久热| 在线视频亚洲无码| 毛片视频白嫩| 亚洲国产精品无码AV久久| 婷婷五月天福利| 欧美亚洲天天| 91狠狠综合久久久| 国产又粗又长又大的视频| 激情久久久| 国产女人9999| 亚欧高清v| 国产精品禁久久久精品| 嗯啊不要在线| 大象AV在线| 嗯啊啊啊轻点视频| 成人无码在线超碰网| 日韩欧美成人大香蕉| 色悠久| 一起草三级AV电影在线观看| 这里只有精品久久| 国语少妇精| 丁香九月激情| 我想要 啊 啊 啊| 亚洲国产日韩欧美熟妇在线| 欧美成人国产精品| 99久久精品无码一区二区| oumeisetu综合| 久久久不卡区一区二区三区久久久| 无码高清操逼网址| 九一国产精品| 大香蕉亚洲中文| 男女日B国产| 国厂麻豆77q4| av无码精品久久久久| 日韩精品操少妇| 亚洲精品国产无码高清| 天天插天天操天天摸天天射天天看| 91久久久久久久久18| 亚洲瓯美色图| 伊人精品久久网站| 在线播放欧洲免费av| 国产av高清版| 福利在线观看一区二区| 男女国产精品| 一区二区首页| 牛牛aV| 97精品网| 呦女网站| 熟妇最新先锋一二三区| 亚州综合在线| 精品然女一区二区| 日韩国产中文字幕| 黄色片A级一区二区三区| 无码人妻丰满熟妇奶水区毛片| 秋霞免费无码视频日韩A片| 丝袜美腿射精91| 午夜精品探花| 蜜乳视频网站| 91熟女丨91老女人| 欧洲精品一二三在线| 三级三级三级日本99| 97免费在线| 97久久久精品| 色女女女导航| 中国探花熟女| 国产精品久久久久无码Av网曝门| 在线小说视频一区| 狼天天狼天天大香蕉| 成年女人黄网站| 久久国产精品熟女人妻| 亚洲激情综合| 温婉少妇玩3p| 少妇熟女1区2区3区| 91性网| 中文欧丝袜诱惑| 曰韩精品九九无码| 中国女人内射6XXXXX| 国产精品懂色tv影视免费观看| 97久久国产精品| 亚洲欧美另类少妇精品| 亚洲AV无码| 五月婷婷深深爱| 亚欧Av| av天堂精品久久| 91熟女少妇| 后入式在线免费观看60秒| 天天综合,91综合永久| 国产小u女在线观看| 亚洲国产精品有声| 欧美性爱无码一区二区三区| 亚洲色图第四色| 激情四射婷婷四五月天| 99精彩视频| 日本道久久综合色色| 日韩性爱视频在线免费观看 | 亚洲春色欧美| 97久久久久久久久久| 精品国产91久久久久久一区黄无| 中文字幕国产精品1区| 嗯啊不要啊在线| 中文字幕 国产 精品| 亚洲欧美在线观看免费| 超97在线精品视频| 国岛片视频| 久久精品国产亚洲AV嘿嘿| 中文字幕乱亚洲美女精品一区| 老司机香蕉久久久久| 欧美色图校园春色| 欧美日韩另类激情图片| 国产精品天堂| 九九热AV| 极品欧美一区二区三区| 国产精品一区av在线| 毛片麻豆91糖心精品毛情片| 超碰 另类 欧美| 91精品成人| 久久一本大香蕉| 很狠操| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 韩国嫰模上门援交视频| 91在线国产后入风骚翘臀美女素人| 884t在线| 超碰97资源网亚洲| 97网色| 日本中文字幕不卡视频| www.99中文字幕| 亚洲天堂无码| 美日韩一二三区| 新久久AV| 亚洲欧美国产其他二区| www.色婷婷| 久久久久久久久久久人妻| 性爱精品一区| 国产家庭乱伦表演| 天天综合网在线观看| 在线免费观看高清无码视频| 国产一区二区a毛片| 在免费jIzzjIzz在线视频| 激情综合五月婷婷| 级品肉射| 亚洲成人贴图| 99精品欧美一区二区三区桃色| 97福利视频| 闷骚老熟女15P| 人妻美腿丝袜日韩| 91综合熟女| 中文字幕一区二区在线日韩精品| 97人人射| 欧洲精品久久| 久久久少妇诱惑精品视频| 超碰美国| 日韩欧美亚洲一区二区三区影院| 超碰亚洲欧美日韩无| 人妻内射一区二区在线视频| 伊人骚琪琪亚洲天堂网站| 色狠狠 - 百度| 红杏大香蕉| 91影视亚洲| 国内亚洲高清无码| 九九香蕉网| 日韩在线视频1234| 丝袜视频网国产90| 欧美 日韩 亚洲 春色| 青草av在线| 爱啪精品一区| 亚州一区二区| 熟女突然公开看18禁影片| 你草精品在线视频| 蜜臀久久99精品久久久久久-DVD原版全| 美女极品一区二区三区| 国产999精品久久久久久| 91日产欧美| 91黑丝在线| 99久久99九九99九九九| 亚洲性图91| 亚洲春色一区二区三区| 婷婷五月天影院| 97国产综合欧美| 日韩在线地址一| 天天综合精品| 91麻豆天美传媒在线| 91久久精品中文字幕| 综合网欧| 亚洲97成人在线观看| 91国产精品在线看| 97超碰超| 色婷婷丁香五月| 久久婷婷一区| 人人考人人摸人人干| 新视频sss国产| 人人干黄色| 一区中文字幕二区日韩| 探花视频免费观看国产专区| 久久久九97| 国产精品第一页国产大屁股视频免费区| 国产小u女在线观看| 97精品在线| 韩国黄片aaaa| 欧洲亚洲人人爽爽视频| 嗯啊抽插大香蕉网页| 亚州综合AⅤ| 激情五月天插| 亚洲综合射| japan日本高清乱xxxx| 久偷拍欧美日韩三区| 日韩美女操b| 人妻无码一区二区三区久久99| 国产高清在线观看欧美| 十八禁电影伊人网| 亚洲一区日韩| 91啪啪| 亚洲s在线观看| 国产精品4p在线观看| 久久久熟妇熟女国产| 国产精品一区二区亚洲人成毛片| 久草在| 日韩人成网站在线播放| www.成人无码| 欧美嫩性色| 人人看黄色视频| 亚洲天堂日本| 日本九九九九| 人人弄人人摸| 亚洲精品一区二区免费在线观看| 在线国产一区二区av| 啊啊啊骚| 少妇与黑人高潮在线| 国产精品无码av在线| 午夜福利合集| 嗯嗯啊啊操死我| 国产熟女完整版中字| 啊啊啊啊,啊啊好多水| 大香蕉宗合网在线| 日本十八禁免费看污网站| 超碰在线1234区| 少妇二级| 亚洲成人久久一区二区| 国产路线专区| 后入内射蜜桃臀| 福利伊人玖玖国产| 日日爱99| 日韩八十路老熟女| 久悠悠av| 97国产人人| 久久久久女教师免费一区| 伦伦成年午夜免费视频| 91狠狠狠| 91av天美性媒精品视频| 爱我干综合| 国产精品美女久久久久久网站| 日韩丝袜人妻AV| 日操粉逼逼| 91狠狠综合网| 中文字幕精品专区搜索结果91| 男人天堂2012| 综合欧美日韩在线观看| 97视频在线免费观看| 欲色啪| 亚洲男人天堂2012| AV九九| 成人亚欧免费视频| 国内毛片欧美香蕉精品| 久久久久久9999| 草草影院在线视频| 探花激情视频| 日韩精品碰碰| 亚洲精品久久久久毛片A片拉屎| 欧美综合传媒| 欧美变态激情网| 午夜久久一区二区无码中出| 九九成人视频| 两性综合网| 国产欧美日韩一区二区三区| 精品免费视频国产一区| 一级AAA片一区二区三区| 殴洲老熟女| 67194无码不卡| 丁香六月婷婷久久综合| 亚洲超碰AV| 色网在线视频观看免费| 三级精品三级在线观看| 另类图片综合| 91色插| 亚洲精品电影| 91欧美情色| 国产精品97超碰| av 模特一区了| 欧美中文狠| 自拍欧美| 久久久18禁| 综合久欧洲| 欧美第38页| 97欧美精品综合| 久久9精品视频| 九九九午夜| 色呦呦、国产精品| 日韩伦理视频| 夜夜操91744565| 偷拍欧美激情| 中文字幕少妇色| 亚州色站 日韩电影| 国产精品制服丝袜中文字幕日韩一区二区三区 | 日本在线不卡一二区| 久久国内| 日本高清视频xxxx| 在线观看无码三级少妇| 欧美偷拍区| 免费一级a毛片久久久久久鸭绿欲| 免费人成毛片乱码| 天天躁日日躁AAAAXXXX国产| 亚洲国产av中文字幕久久| 日本三级A片网站com| 国产精品嫩草影院免费| 97国产高清视频在线观看| www.色操逼| 日韩熟妇二区| 伊人成人情色综合| 色拍偷亚洲| 密臀成人视频久久久| 超碰在线免费一区二区三区| 熟女人妻一区二区三区免费看 | 精品人妻1237| 久久国产精品熟女人妻| 久久机热| 欧洲亚洲少妇| 超碰97色| 一牛影视成人片免费| 亚洲av乱伦色图网站| 国产按摩一区二区三区| 美女淫穴| 日日玩天天干| 国产强奸乱伦无码视频| 欧美精品成人在线播放| 91久久婷婷| 蜜臀亚洲中文| 日韩av情韩国爱禁区av一区二区| 亚洲av资源| 欧美A片中文字幕| 亚洲av淫乱| 白嫩嫩一区| 狠综合网| 熟女人妻一区二区三区免费看 | 精品无码产区一区二| 天天天干977| 精品国产Av无码久久久亚洲| 日韩激情啪啪| 少妇天堂网络| 97伊人超碰| 精品无码一区二区三区| 欧美综合区| 中文久久一区| 91 偷| 很黄很色的视频在线观看| 99热成人| #NAME?| 久久久久97| 黑人嘿嘿嘿超爽免费视频| 欧美 亚洲 制服 精品| 乱子伦一区二区三区国产精品| 国产91 丝袜在线播放| 亚洲图片婷婷五月天| 9久综合网| 亚洲黄日韩无码专区| 蜜臀th| 岛国1区2区3区在线观看| 日本 欧美 国产一区| 亚洲男人的天堂AV| 国产一区在线看| 把腿张开老子CAO烂你| 国精品一区二区三| 亚洲黄色| 久久黄片国产一区二区| 人妻加勒比东京热| 上床啊啊啊| 日本3级一区二区免费| 久久视频少妇美女| 香蕉久久AⅤ...| 青春草A| 国产精品国产亚洲区艳妇糸列| 日韩三级一区| 99999国产| 亚洲一区中文字幕一区| 激情久久日韩精品中文字幕麻豆| 国产精品人妻熟女aⅴ| 青青草视频在线观看一区二区| 91成人无码| 一级免费啪啪片| 超碰 国产熟女精品一区| 欧美性爱三区二区| 操91| 黄色免费网页无码| 日日夜夜模| 午夜人人操| 91蜜臀熟女| 78超碰| 免费观看欧美日韩操逼视频| 91热热色| 久久思思热| 1024精品在线| 亚洲精品色| 日日干夜夜骑| 自拍视频一区在线观看| 天天干天天日天天射黄色片| 不卡中文字幕aⅴ在线| 尤物av网站| 亚洲国产精品久久AV| 丁香五月综合| 成人久久久| 97久久资源| 99婷婷一区二区| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 亚洲国产日韩欧美熟妇在线| 国产精品禁久久久精品| 99视频自拍| 日本欧美不卡| 久久久人体| 亚洲av噜噜噜噜噜噜| 夜夜夜夜夜夜夜夜夜狠狠狠狠狠狠狠| 伊人九九九| 午夜天天碰综合视频| 另类亚洲一区二区三区| 91日产欧美| 中文久久爆乳| 欧美精品97| 91网站视频在线观看| 影音先锋乱| 清纯唯美激情| 亚洲熟女乱色| 东北丰满熟女国产一区 | 六月激情婷婷| 中欧人妻丝袜中文字幕| 日韩人妻网站| 亚洲操逼无码| 久久激情婷婷| 淫骚熟女一区二区三区| JIZZJIZZ国产精品喷水| 91A欧美电影网站| 欧美熟妇操操视频| 欧美日韩日产免费网站看| 成人夜夜| 密臀在线免费观看| 欧美午夜一区二区三区| 91色拍| 校园春色欧美| 天天看综合网| 国产h片在线观看视频| 亚洲Av诱惑| 神马久久啊啊| 屌逼传媒| 亚洲AV噜噜狠狠网址蜜桃动漫| 美女十八禁| 亚洲欧美精品一区天堂久久| 欧美激情性爱视频网站| 欧美大的香蕉有线电视视频| 大奶尤物鲍汁淫荡欧美视频粉嫩夜夜骚| 久久欧美性爱视频| 日本操逼视频不卡直接放| 欧美春色| 久久超碰av在线| 亚洲欧美天堂在线| 免费一级视频特黄色大片| 中文字幕精品一区欧美| 美欧色综合| 超碰是碰在线观看| 蜜桃臀av在线观看| 夜间福利片1000无码| 大肥女高潮bbwbbwhd视频| 超碰久草| 日产中文字幕2020| 欧美亚洲丝袜人妻制服99| 国产69精品久久久久99尤物| 成人毛片免费| 天天操天天舔| 台湾佬中文娱乐网久久久久久久久久com | 久久久久久少妇| 91国产精品在线看| 日韩亚洲中文有码视频| 97欧美精品| 91精品婷婷国产综合久久竹菊| 狠狠欧美| 亚洲综合五月天| 国产精品探花在线| 国产黄片精品在线| 欧美不卡在线一区二区| 美女啊啊啊啊啊| 午夜亚洲| 怡红院怡春院| 天美AV片| 男人兔费天堂| 色婷婷久久| 成人 日本A片无码8888| 五十路六十路素人熟女| 欧美亚洲素人制服精品| 欧美日韩啪啪电影| 亚洲国产成人精品久久久国产成人一区二区 | 涩五月婷婷| 亚洲人妻av| 中文字幕一区二区三区视频播放| 日本一区二区成人在线| 欧美黄片免费在线观看视频| 一本大道不卡一二三区| 12一15性XXXX粉嫩国产| 免费人成毛片乱码| 黄色片A级一区二区三区| WWW.操逼.COM| 国产第12页| 精品毛片av一区二区| 国产精品麻豆免费视频| 日日日日做夜夜夜夜无码| 中文字幕日韩人妻视频| 亚洲av综合色区图片亚洲| 三级特黄60分钟播放| 国产av波波国产精品| 嗯啊抽插大香蕉网页| 久久精品店| 午夜一区| 欧美制服网站美腿丝袜| 嗯啊啊啊轻点视频| 久婷婷一区| 久草精品视频| 久久久涩| 欧美亚洲| 中文字幕AV乱伦| 一区二区三区 日韩欧美| 最近2019中文字幕国语免费版| 影音先锋国产精品| 午夜激情床戏激情| 婷婷色网| 久久激情视频| 日本高清视频在线观看黄已三辽| 91亚洲图片| 视频国产欧美在线播放| 成人无码电影在线观看网| 1024人妻熟女一区二区三区| 福利视频一区二区微拍| 日本一级性爱| 日韩女优中文字幕| 啊好爽快点-国产一区二区三区撒尿在线-成人AV| 91爱欧美| 欧美人妻少妇| 日韩人妻有码免费视频| 国产自偷自拍一区| 亚洲情色五月天| 久久九操在线观看| 神马久久午夜| 污污汅18禁网站在线永久免费观看| 人妻-91porn| 色噜噜狠狠色综无码久久合欧美| xxx亚洲午夜天堂| 亚洲欧美综合网站| 久久人妻| 91精品伊人久久久大香线蕉91| 91麻豆天美国产欧美日| 久久久不卡区一区二区三区久久久| av2014 日韩在线中文字幕| 中文字幕丝袜| 中文字幕久热视频在线| 中文字幕日韩综合| 加勒比AV天堂| 人人搞人人插人人操| 人人操人人大香蕉| 欧美黄色图片| 午夜噜噜噜| 日韩人妻播放| 北京专精特新企业招聘信息| 日本亚欧爱爱| 都市久久精品激情亚洲| 男人的天堂2010| 伊人久久亚洲色欲综合网站| 在线日韩精品一区二区三区| 亚洲欧美经典一区二区 | 在线国产探花| 精品一区二区三区四区外站| 人妻夜夜爽天天爽三区麻豆AV网站| 丝袜熟女一区二区三区| 精品视频97| 五十路三区在线| 欧美亚洲中文字幕| jiujiujiujingpin| 日本在线观看网址| 鲁鲁色综合网| 欧美亚洲今日在线| 欧美日韩啪啪电影| 天天色悠悠激情| 亚洲欧美日韩不卡人妻| 小情侣高清国产在线视频| 国产亚洲日本| 一级片视频啪啪| 五月黑AⅤ| 久草免费在线视频| 国产无套粉嫩白浆在| 青青伊人久久| 综合伊人网12色| 啊啊啊啊啊啊啊国| 香蕉人欧美综合| 夜夜爽33333| 大逼色网站| 日韩一级免费性爱| 国产AB视频| 国产性爱乱伦AV| 天天摸天天舔天天操| 国产人妖的免费的视频| 97欧美精品综合| 亚洲午夜未满十八勿入网站日本又色又爽又黄 | 99国产女人| 99久热| 精品人妻一区二区三区不卡断| 影音先锋乱| 日韩欧美中文字亚洲慕| 911粉嫩人妻| 免费国产| 精品-91人妻子系列| 欧美美逼| 亚洲黄色影视| 97chaopengongkai| 一道本久久棕合爱| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 九九久久精品| 精品免费囯产一区二区三区| 国模吧 一区二区三区| 2020中文字幕在线| 日本福利二区视频| 青娱乐91| 97国产色综合| 8x福利精品第一福利视频导航| 久久综合女优| 亚洲第一狼人丝袜美女另类| 男人天堂网手机版婷婷| 婷婷色影院| 高清无码人妻久久久一区二区三区aⅴ| 中文字幕一区av| 2017av无码免费无线播| 啊啊啊好舒服好爽啊啊啊视频| 这里只有精品视频在线观看麻豆| 熟妇高潮精品一区二区三区下载| 国产精品女久久久久av爽| 久久熟女嫩草成人片免费| 日韩欧美视频青青| 国产精品不卡高清在线观看| 大香网伊人久久综合网eew| 国产美女mm131爽爽爽爽| 99蜜月精品久久| 亚洲欧洲偷拍一区| 99视频这有这里有精品| 老司机午夜福利视频一区二区| 国产女人成人精品视频| 熟妇乱伦一区二区| 欧洲精品网| 色婷婷激情| 亚洲一区操| 九七人妻在线| 欧美熟爽综合| 黄片色区软件| 日韩欧美中文字幕搭讪巨乳美人妻视频| 久99久视频精选| 久久毛卡| 天天干夜夜操一区二区| 欧美三级一级| 26uuu国产免费观看| 日韩无码极品| 99热8| 欧美躁死她一区二区| 操人人| 午夜噜噜噜| 欧美视频激情久久久久久| 久操热| 婷婷色色五月天福利| 蜜臀久久精品久久久久视频| 极品色社| 囯产乱伦一区二区三女 | 精品无人区麻豆乱码1区2区图片 | 手机在线观看不卡无码av| 中文操逼字幕| 情色五月天就去干| 97 国产一区| 亚洲91极品| 日韩欧美中文| 欧美精品23| 91人妻在线视频| 精品人妻一区二区三区夜夜| 97国产超湿| 久久亚洲婷婷| 精品亚洲黄色片 国产精品导航一区二区| 日逼97| 夜夜高潮夜夜爽国产伦精品| 欧美激情欧美精品| 99热精品免费| 嫖老熟女A片一二三区| 成人性爱AV在线免费观看| 色臀AV| 极品人妻少妇综合| 91女优在线观看 | 久久99视频| 精品一区二区人妖| 国产人妖视频一区在线观看| 秋霞一集毛片观看| 91亚洲人| 久久久啊啊啊| 久久超碰天天| 日本顶级天天操狠狠操夜夜操中文字幕| 午夜成人福利影视| 国产suv精品一区二区四| 亚洲黑丝在线| 亚洲欧美中文日韩视频中国语| 美国aaaaa一级黄片| 国产中文大片资源中文字幕| TS人妖另类精品视频系列| 搡老女人老91二区| 激情在线青青操| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 啊啊啊啊啊啊啊好爽不要| 伊色综合天堂色97| 亚洲老熟妇xxx| 亚洲丝袜二区| 久久久国产成人一区二区三区在线| 九色精品视频导航1| 久久国产乱子伦精品免费女人| 九九热视频在线观看| 精…码一二三区| 欧美综合色,www| 大逼色网站| 老熟妇91| 亚洲国产天堂| 97干色| 五月丁香黄色网| 69XX一中文字幕人妻91| 国内毛片欧美香蕉精品| 免费国产电影一区二区| 五月天久久综合网| 欧美午夜视频免费观看| 探花熟女,姿勢到位,體驗感也到位| 无码免费精品高清| 国产精品青草综合久久| 欧美成人午夜免费福利785| 99视频精品| 玖玖视频在线资源一区二区三区| 欧美精品第3页| 插欧洲美女欧美精品| 曰韩操B| 国产成人精品必看| 手机看片91人妻| 久久九色| 久 久无码人妻AV| 91另类| 不卡二三区人妻少妇| 青青草原av| 99这里只有精品| 蜜臀久久99精品久久久久久婷婷 | 97视频免费在线| 香蕉99秘 一区精品蜜桃臀| 91伊人| 国产一级不卡在线观看| 97综合在线| 毛片17S| 超碰天天操| 精品人妻一区二区三区四区| 人人操人人摸人人骑| 欧美人与动性人交a| 日本熟女中文字幕一区| 色婷婷亚洲婷婷| juliaann丝袜大战黑鬼|