亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

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

STM32 CAN總線通信入門:從物理層原理到bxCAN配置實(shí)戰(zhàn)

STM32 CAN總線通信入門:從物理層原理到bxCAN配置實(shí)戰(zhàn) 我在幫一個(gè)同學(xué)調(diào)一套電機(jī)驅(qū)動(dòng)板時(shí)第一次正兒八經(jīng)接觸 CAN 總線。板子上主控是 STM32F103驅(qū)動(dòng)板上留了一組 CANH、CANL 接口。我當(dāng)時(shí)想當(dāng)然地以為它像串口一樣把 TX 接 CANH、RX 接 CANL 就能收發(fā)結(jié)果數(shù)據(jù)全亂通信完全不可用。后來才發(fā)現(xiàn)CAN 和串口根本不是一回事——串口解決的是“兩個(gè)設(shè)備之間怎么傳字節(jié)”CAN 解決的是“幾十個(gè)設(shè)備之間怎么穩(wěn)定地?fù)尶偩€并保證高優(yōu)先級(jí)消息不丟”。這個(gè)認(rèn)知差就是很多人學(xué) CAN 卡住的根本原因。這篇文章我按自己從入門到項(xiàng)目落地的路徑來寫先講 CAN 到底解決了什么問題再把物理層和協(xié)議層一次性拆清楚最后落到 STM32 的 bxCAN 外設(shè)上給出一套能直接抄作業(yè)的 CubeMX 配置和 HAL 代碼骨架同時(shí)把我在多節(jié)點(diǎn)聯(lián)調(diào)里踩過的坑全部列出來。適合正在學(xué) STM32、準(zhǔn)備接電機(jī)驅(qū)動(dòng)、傳感器模塊、電池管理或者工業(yè)設(shè)備的開發(fā)者。不管你有沒有接觸過 CAN看完應(yīng)該都能上手。1. CAN 總線到底解決了什么問題從汽車線束到多主通信CANController Area Network本質(zhì)是一根兩根線串聯(lián)所有節(jié)點(diǎn)的現(xiàn)場(chǎng)總線。它最早是為汽車電子設(shè)計(jì)的目的非常樸素車上的控制器太多了發(fā)動(dòng)機(jī)、變速箱、ABS、儀表盤、車窗每個(gè)控制器都要互相傳數(shù)據(jù)。如果全部點(diǎn)對(duì)點(diǎn)連接線束會(huì)多到整車布線根本塞不下而且重量和成本也完全不可接受。所以 CAN 采取了一個(gè)極其聰明的思路把所有的控制器掛在同一條總線上就像一群人圍在一個(gè)圓桌邊開會(huì)誰都能發(fā)言但發(fā)言內(nèi)容所有人都能聽到。每個(gè)節(jié)點(diǎn)只關(guān)心自己感興趣的消息不需要建立專用通路。這樣整車的線束從“蜘蛛網(wǎng)”直接簡(jiǎn)化成兩條線而且天然支持廣播和多主通信。1.1 從點(diǎn)對(duì)點(diǎn)通信到多主競(jìng)爭(zhēng)傳統(tǒng)的串口 UART 是典型的點(diǎn)對(duì)點(diǎn)通信一個(gè) TX 只能對(duì)應(yīng)一個(gè) RX。I2C 和 SPI 雖然能掛多個(gè)設(shè)備但必須由一個(gè)主機(jī)來調(diào)度從機(jī)自己不能主動(dòng)發(fā)起通信。這在工業(yè)現(xiàn)場(chǎng)和汽車?yán)锸呛芤膱?chǎng)景——假設(shè)一個(gè)傳感器突然檢測(cè)到異常它希望立刻上報(bào)如果它是 I2C 從機(jī)它只能等主機(jī)來輪詢。假如主機(jī)剛好在處理別的任務(wù)等輪詢到它的時(shí)候可能已經(jīng)晚了。CAN 去掉了“主機(jī)”的概念。任何節(jié)點(diǎn)只要檢測(cè)到總線空閑都可以主動(dòng)發(fā)送報(bào)文。如果兩個(gè)節(jié)點(diǎn)同時(shí)在發(fā)總線會(huì)進(jìn)入仲裁機(jī)制按照?qǐng)?bào)文 ID 的優(yōu)先級(jí)決定誰能繼續(xù)發(fā)低優(yōu)先級(jí)的節(jié)點(diǎn)自動(dòng)退讓。也就是說CAN 是一個(gè)真正的多主總線節(jié)點(diǎn)之間是平等關(guān)系誰有緊急數(shù)據(jù)誰就能搶到總線。這個(gè)能力意味著你可以隨時(shí)往總線上加一個(gè)新節(jié)點(diǎn)不需要重新配置主機(jī)的調(diào)度邏輯也不需要修改其它節(jié)點(diǎn)的代碼只要新節(jié)點(diǎn)不跟別人搶同一個(gè) ID整個(gè)網(wǎng)絡(luò)就能正常工作。這在做擴(kuò)展性要求高的項(xiàng)目時(shí)非常舒服。1.2 和 UART、I2C、SPI、RS-485 放一起比很多剛?cè)腴T的人都會(huì)問一句為什么不用現(xiàn)成的串口或者 I2C我把它們放在一張表里對(duì)比大家就清楚了。對(duì)比項(xiàng)UARTI2CSPIRS-485CAN連接方式點(diǎn)對(duì)點(diǎn)總線一主多從總線總線多主能力不支持不支持不支持半支持原生支持最高速率常見 115.2k 起步可更高400k/1M幾十 Mbps10M 左右1MCAN FD 到更高傳輸距離板級(jí)幾米內(nèi)板級(jí)一般不超過 1 米板級(jí)短距離可達(dá)千米級(jí)百米級(jí)速率越低越遠(yuǎn)仲裁與優(yōu)先級(jí)無無無無有錯(cuò)誤處理極弱弱弱較弱CRCACK錯(cuò)誤狀態(tài)機(jī)看這張表你會(huì)發(fā)現(xiàn)I2C 和 SPI 天生是給板內(nèi)通信設(shè)計(jì)的距離短、沒有多節(jié)點(diǎn)競(jìng)爭(zhēng)RS-485 解決了距離和多點(diǎn)問題但 RS-485 本身只是物理層標(biāo)準(zhǔn)協(xié)議得自己寫多節(jié)點(diǎn)同時(shí)發(fā)送要靠上層軟件來避讓。CAN 則是把物理層 數(shù)據(jù)鏈路層全部做完了甚至仲裁都由硬件完成對(duì)開發(fā)者非常友好。所以只要是“多個(gè)設(shè)備跨板互聯(lián)、距離超過幾米、又要求通信可靠”的場(chǎng)景CAN 幾乎都是首選。1.3 你在什么場(chǎng)景下會(huì)被迫用上 CAN我自己的體會(huì)是大多數(shù)嵌入式開發(fā)者接觸 CAN并不是因?yàn)檎n程要求而是因?yàn)轫?xiàng)目里接了一個(gè) CAN 接口的設(shè)備。常見的幾類無人機(jī)飛控連接電調(diào)和數(shù)傳機(jī)器人關(guān)節(jié)里面的電機(jī)驅(qū)動(dòng)汽車后裝儀表讀取整車數(shù)據(jù)AGV 小車底盤與主控通信BMS 電池管理板內(nèi)部各模塊互聯(lián)工業(yè)現(xiàn)場(chǎng)的傳感器和執(zhí)行器。這些設(shè)備選擇 CAN是因?yàn)?CAN 的實(shí)時(shí)性和抗干擾能力在工業(yè)環(huán)境里非常穩(wěn)定而且協(xié)議簡(jiǎn)單適合做輕量級(jí)數(shù)據(jù)交互。我的建議是如果你只是做板級(jí)小作品I2C 和 SPI 完全夠用沒必要非得用 CAN但如果你的設(shè)備需要長(zhǎng)距離通信、多節(jié)點(diǎn)互聯(lián)、或者以后有擴(kuò)展到更多節(jié)點(diǎn)的可能那直接上 CAN 是穩(wěn)妥的。接下來我們把它拆開看CAN 能穩(wěn)定通信靠的到底是什么。2. 把 CAN 協(xié)議拆開看物理層、幀結(jié)構(gòu)與總線仲裁CAN 給人難學(xué)的感覺很大程度上因?yàn)樗皇且粋€(gè)單純的“協(xié)議”而是物理層和數(shù)據(jù)鏈路層打包在一起的解決方案。這一節(jié)我盡量用大白話把底層邏輯講清楚不堆術(shù)語但關(guān)鍵的位場(chǎng)結(jié)構(gòu)必須看懂因?yàn)楹竺?STM32 配置和調(diào)試都會(huì)用到這些概念。2.1 物理層差分信號(hào)、顯性電平、隱性電平與終端電阻CAN 的物理層由兩條線組成CAN_H 和 CAN_L。它采用差分信號(hào)傳輸也就是說邏輯值不是靠單根線的絕對(duì)電壓表達(dá)而是靠?jī)筛€之間的電壓差來表達(dá)。這一點(diǎn)和 USB、RS-485 的思路一樣好處是對(duì)共模干擾不敏感抗噪聲能力特別強(qiáng)——尤其適合電機(jī)會(huì)產(chǎn)生強(qiáng)干擾的場(chǎng)合。CAN 定義了兩種總線狀態(tài)顯性電平Dominant對(duì)應(yīng)邏輯 0。此時(shí) CAN_H 被拉高、CAN_L 被拉低兩根線之間存在一個(gè)明顯的電壓差。顯性電平具有“覆蓋”能力。隱性電平Recessive對(duì)應(yīng)邏輯 1。此時(shí)兩根線都處于一個(gè)近似等電位的高阻狀態(tài)電壓差接近 0。隱性電平是“讓位”狀態(tài)。最直觀的記憶方式顯性是主動(dòng)拉線隱性是放手。如果總線上同時(shí)有節(jié)點(diǎn)輸出顯性、有節(jié)點(diǎn)輸出隱性最終表現(xiàn)是顯性就像一條電線一個(gè)人用手拉低另一個(gè)人不碰結(jié)果是拉低。這個(gè)特性是整個(gè)總線仲裁機(jī)制的基礎(chǔ)后面會(huì)展開。終端電阻也是 CAN 物理層里繞不開的坑。標(biāo)準(zhǔn)做法是在總線物理兩端各接一個(gè) 120 歐姆電阻目的是吸收信號(hào)反射。兩端的 120 歐并聯(lián)后從總線上任意一點(diǎn)往里看阻抗大約 60 歐姆。如果你量到 CANH 和 CANL 之間的電阻接近 60 歐姆說明終端電阻是正常的如果量到 120 歐姆說明只在一端有電阻如果是開路說明兩端都沒有。這個(gè)測(cè)量方法在排查總線故障時(shí)極其實(shí)用后面章節(jié)會(huì)再提到。2.2 一幀報(bào)文的數(shù)據(jù)結(jié)構(gòu)從 SOF 到 EOFCAN 報(bào)文分為標(biāo)準(zhǔn)幀和擴(kuò)展幀。標(biāo)準(zhǔn)幀使用 11 位 ID擴(kuò)展幀使用 29 位 ID。STM32 的 bxCAN 兩種都支持但項(xiàng)目中最常用的還是標(biāo)準(zhǔn)幀。我們把標(biāo)準(zhǔn)幀拆開看它就像一個(gè)“廣播信封”字段長(zhǎng)度作用SOF1 bit起始位固定為顯性標(biāo)志一幀開始ID11 bit報(bào)文標(biāo)識(shí)符同時(shí)用于仲裁RTR1 bit遠(yuǎn)程請(qǐng)求標(biāo)志數(shù)據(jù)幀為顯性 0IDE1 bit標(biāo)準(zhǔn)幀/擴(kuò)展幀標(biāo)志標(biāo)準(zhǔn)幀顯性 0DLC4 bit數(shù)據(jù)長(zhǎng)度0 到 8 字節(jié)DATA0~8 字節(jié)實(shí)際負(fù)載數(shù)據(jù)CRC15 bit循環(huán)冗余校驗(yàn)檢測(cè)傳輸錯(cuò)誤ACK2 bit應(yīng)答發(fā)送方發(fā)隱性任意接收節(jié)點(diǎn)拉顯性表示收到EOF7 bit幀結(jié)束全部隱性這個(gè)結(jié)構(gòu)里ACK 位很有意思。它是一個(gè)“匿名確認(rèn)”機(jī)制發(fā)送方在 ACK slot 輸出隱性電平任何收到正確幀的節(jié)點(diǎn)都可以在這時(shí)候把總線拉成顯性表示“我收到了”。發(fā)送方發(fā)現(xiàn) ACK 位不再是最初的隱性就知道總線上至少有別的節(jié)點(diǎn)成功收下了這幀數(shù)據(jù)。如果一幀報(bào)文發(fā)出去沒人應(yīng)答發(fā)送方就會(huì)判定出錯(cuò)并觸發(fā)重傳機(jī)制。這是 CAN 可靠性的第一道保障。實(shí)際應(yīng)用里我們關(guān)心的是 ID、DLC 和 DATA 三個(gè)字段。ID 決定這幀數(shù)據(jù)的身份比如 0x123 代表“電機(jī)轉(zhuǎn)速指令”DLC 告訴接收方這幀帶了幾字節(jié)數(shù)據(jù)。接收方主要靠硬件過濾器和軟件解析來篩選自己關(guān)心的報(bào)文其余的一律丟。2.3 總線仲裁為什么 CAN 多節(jié)點(diǎn)同時(shí)發(fā)送不沖突在搞清楚仲裁之前要先理解 CAN 的電平覆蓋關(guān)系顯性永遠(yuǎn)壓過隱性。如果節(jié)點(diǎn) A 和節(jié)點(diǎn) B 同時(shí)開始發(fā)送報(bào)文它們都會(huì)從高位往低位逐位輸出自己的 ID。由于接收方每發(fā)出一個(gè)位的同時(shí)也在監(jiān)視總線電平當(dāng)某個(gè)位出現(xiàn)“自己發(fā)隱性、但總線上是顯性”的情況這個(gè)節(jié)點(diǎn)立刻知道自己仲裁失敗馬上停止發(fā)送轉(zhuǎn)入接收狀態(tài)。舉例來說節(jié)點(diǎn) A 要發(fā) ID 0x100節(jié)點(diǎn) B 要發(fā) ID 0x200。在仲裁過程中兩者從最高位開始逐位比較。由于 0x100 最高位是 00x200 最高位是 1這里只為說明方便實(shí)際要看二進(jìn)制展開0x100 先出現(xiàn)顯性電平0x200 的節(jié)點(diǎn)檢測(cè)到總線電平與自己輸出不一致馬上退出。最終 0x100 順利發(fā)完整幀。從這個(gè)機(jī)制可以推出一個(gè)結(jié)論CAN 報(bào)文 ID 越小優(yōu)先級(jí)越高。因?yàn)?ID 數(shù)值越小它在高位越早出現(xiàn)顯性 0越容易在仲裁中勝出。所以做項(xiàng)目時(shí)關(guān)鍵的控制指令應(yīng)該用較小的 ID周期性低速數(shù)據(jù)可以用較大的 ID。這個(gè)原則在 CAN 的工程應(yīng)用里幾乎是鐵律。仲裁過程中高優(yōu)先級(jí)節(jié)點(diǎn)發(fā)送完全不受干擾甚至感受不到仲裁發(fā)生過。這是 CAN 和以太網(wǎng) CSMA/CD 的本質(zhì)區(qū)別以太網(wǎng)沖突后要退避重發(fā)浪費(fèi)時(shí)間CAN 在沖突瞬間就完成了競(jìng)爭(zhēng)勝者繼續(xù)發(fā)送代價(jià)為零。所以 CAN 在實(shí)時(shí)控制場(chǎng)景里特別合適保證確定性延遲。2.4 幀過濾與常見幀類型和多主總線配套的是接收過濾機(jī)制。每個(gè)節(jié)點(diǎn)通常不需要處理總線上所有報(bào)文所以 CAN 控制器硬件會(huì)提供濾波器。以 STM32 bxCAN 為例你可以配置濾波器只放行某些 ID其余的硬件直接丟棄完全不進(jìn) CPU。這是一個(gè)非常高效的“減負(fù)”手段也是 STM32 上大家經(jīng)常配置錯(cuò)誤的地方后面我會(huì)專門講。常見的幀類型除了我們上面講的數(shù)據(jù)幀還有遙控幀。遙控幀沒有數(shù)據(jù)區(qū)它只有一個(gè) ID作用是讓某個(gè)節(jié)點(diǎn)主動(dòng)請(qǐng)求其它節(jié)點(diǎn)發(fā)送數(shù)據(jù)。實(shí)際項(xiàng)目里遙控幀用得不多大部分場(chǎng)景是各節(jié)點(diǎn)周期性主動(dòng)上報(bào)數(shù)據(jù)或者用單次數(shù)據(jù)幀做控制指令。另一樣需要知道的是 CAN FD 幀。它是 CAN 2.0 的擴(kuò)展最多攜帶 64 字節(jié)數(shù)據(jù)并且數(shù)據(jù)段可以用更高的波特率傳輸。STM32F1 系列不支持 CAN FD只有部分新系列支持如果選型時(shí)確定以后要用 FD需要專門確認(rèn) MCU 型號(hào)。3. STM32 的 bxCAN 外設(shè)從 CubeMX 配置到最小收發(fā)例程理論部分到這里已經(jīng)足夠支撐實(shí)戰(zhàn)了。這一節(jié)直接進(jìn)入 STM32 的開發(fā)流程。我用的是 STM32CubeMX HAL 庫代碼量小配置透明對(duì)新手最友好。如果你想直接操作寄存器理解了這一節(jié)的核心過程之后再去讀參考手冊(cè)也會(huì)順利很多。3.1 bxCAN 外設(shè)的結(jié)構(gòu)和關(guān)鍵資源STM32 的 bxCAN 本質(zhì)上是一套完整的 CAN 控制器只需要外界接一個(gè) CAN 收發(fā)器芯片就能把電平轉(zhuǎn)換成 CAN_H 和 CAN_L 的差分信號(hào)。bxCAN 內(nèi)部有幾個(gè)關(guān)鍵資源兩個(gè) CAN 外設(shè)CAN1 和 CAN2。CAN1 是主外設(shè)CAN2 是從外設(shè)兩者共享一部分內(nèi)存和過濾器組。STM32F1 系列里CAN2 若要工作必須先使能 CAN1而且 CAN2 只能用掛在 CAN1 下的濾波器。這個(gè)設(shè)計(jì)非常隱蔽很多人踩坑后面細(xì)說。3 個(gè)發(fā)送郵箱每個(gè)郵箱可以緩存一幀待發(fā)送報(bào)文硬件會(huì)自動(dòng)按優(yōu)先級(jí)發(fā)送。郵箱狀態(tài)可以通過 HAL 函數(shù)查詢滿了就是發(fā)送失敗。2 個(gè)接收 FIFOFIFO0 和 FIFO1。接收到的報(bào)文先經(jīng)過過濾器再進(jìn)入 FIFOCPU 需要及時(shí)讀取否則 FIFO 滿后新報(bào)文會(huì)直接丟棄。28 個(gè)濾波器組不同型號(hào)數(shù)量不同每組可以配置成屏蔽位模式或列表模式用來決定哪些報(bào)文能進(jìn) FIFO。理解了這幾個(gè)資源后面的代碼就順理成章。配置的本質(zhì)就三件事初始化波特率和模式配置濾波器然后在中斷或輪詢里收發(fā)。3.2 用 CubeMX 配置 CAN 參數(shù)波特率、采樣點(diǎn)和工作模式打開 CubeMX在 Pinout 里找到 CAN1勾選 RX 和 TX 引腳。默認(rèn)情況下 CAN1 的引腳通常在 PA11RX和 PA12TX具體以你板子為準(zhǔn)。接著在 Configuration 里打開 CAN1 的配置界面需要設(shè)置幾個(gè)關(guān)鍵參數(shù)工作模式Normal 用于真實(shí)總線通信Loopback 用于單板自測(cè)發(fā)送的數(shù)據(jù)自己接收Silent 模式只接收不發(fā)送可以配合 Loopback 使用。入門調(diào)試建議先用 Loopback 模式驗(yàn)證收發(fā)鏈路再接雙板。波特率CAN1 掛載在 APB1 總線上。你需要先確認(rèn)時(shí)鐘樹里 APB1 的時(shí)鐘是多少 MHz然后通過 Prescaler、BS1、BS2 三個(gè)參數(shù)組合出目標(biāo)波特率。采樣點(diǎn)這是很多人忽略的。CAN 信號(hào)的采樣點(diǎn)在每個(gè)位時(shí)間里的位置推薦落在 80%~87.5% 之間。采樣點(diǎn)太靠前抗干擾能力差太靠后容錯(cuò)余量不足。舉個(gè)例子我習(xí)慣把 APB1 配成 42MHz然后設(shè)置 Prescaler4BS116 TQBS24 TQ。這樣總時(shí)間量子是 4 * (1 16 4) 8442MHz 除以 84 正好是 500kbps。采樣點(diǎn)位置是 (1 16) / (1 16 4) 85.7%落在推薦區(qū)間。CubeMX 的時(shí)間段配置界面里你可以直接看到波特率和采樣點(diǎn)的計(jì)算值。我實(shí)測(cè)下來CubeMX 的自動(dòng)計(jì)算是可靠的但前提是 APB1 時(shí)鐘一定得確認(rèn)清楚。有次我在項(xiàng)目里為了跑 USB把 APB1 從 42MHz 改成了 36MHz只改了時(shí)鐘樹沒有同步調(diào)整 CAN 的分頻參數(shù)結(jié)果雙方波特率差了幾十 k現(xiàn)象是偶爾能通、大部分時(shí)間報(bào)錯(cuò)。從那以后我每次配置 CAN 都會(huì)先看時(shí)鐘樹把 APB1 的最終頻率寫進(jìn)計(jì)算器里算一遍而不是只看 CubeMX 推薦的 Prescaler 下拉框。工作模式里還有一個(gè)常見誤區(qū)新手拿到板子先拿 Loopback 模式測(cè)發(fā)現(xiàn)收發(fā)自如就以為硬件沒問題。換成 Normal 模式接雙板后突然不通就開始懷疑代碼。大概率不是代碼問題而是物理接線、終端電阻或者收發(fā)器供電問題。所以正式聯(lián)調(diào)前務(wù)必把 Loopback 和 Normal 分開測(cè)試并且明白它們?cè)隍?yàn)證不同層級(jí)。3.3 濾波器配置屏蔽位模式和列表模式濾波器是 STM32 bxCAN 配置里概念最繞、但功能極其重要的部分。每個(gè)濾波器組有兩種典型使用方式列表模式配置一組精確的 ID只有這些 ID 能通過類似門禁名單。屏蔽位模式配置一個(gè) ID 和一個(gè) Mask。Mask 的每一位表示“這一位要不要比較”。Mask 位為 1則 ID 對(duì)應(yīng)位必須匹配Mask 位為 0則 ID 對(duì)應(yīng)位不關(guān)心任意值都算通過。剛?cè)腴T最容易犯的錯(cuò)是把 Mask 理解反。有人想只接收 ID 0x123結(jié)果把 Mask 配置成了 0含義從“所有位都不比較”變成了“所有報(bào)文都能通過”于是濾波器形同虛設(shè)總線上亂七八糟的報(bào)文全進(jìn) FIFO。正確做法是要精確匹配一個(gè)標(biāo)準(zhǔn)幀 IDID 寄存器填 0x123Mask 填 0x7FF。7FF 是標(biāo)準(zhǔn)幀 11 位 ID 的全 1 掩碼表示 11 位全部比較。如果你希望接收一整個(gè)范圍的 ID比如 0x120 到 0x12F可以把掩碼的最低位設(shè)為 0讓低 4 位不參與比較ID 寄存器填 0x120Mask 填 0x7F0。這樣 0x120 到 0x12F 都能通過。這個(gè)技巧在實(shí)際項(xiàng)目中非常有用可以把節(jié)點(diǎn)按功能分組。在 CubeMX 里濾波器配置在 CAN 外設(shè)的 Filter Configurator 中。可以選擇 Filter Mode 為 Mask 或 ListFilter Type 為 Data 或 RemoteFilter Bank 編號(hào)對(duì)應(yīng)硬件濾波器組FIFO Assignment 選擇通過后的報(bào)文進(jìn)入 FIFO0 還是 FIFO1。我通常把控制類報(bào)文進(jìn) FIFO0 并開中斷把日志類報(bào)文進(jìn) FIFO1 用輪詢讀取避免低優(yōu)先級(jí)日志把控制報(bào)文拖慢。提示如果只是快速驗(yàn)證通信可以先不使用濾波器或者配一個(gè)全部通過的濾波器Mask0。但正式項(xiàng)目里一定要開啟精確過濾否則總線負(fù)載一高CPU 會(huì)被無效中斷淹沒。3.4 最小收發(fā)代碼骨架HAL 庫直接抄配置完成后CubeMX 會(huì)生成初始化代碼。接下來是兩個(gè)最基本的操作發(fā)送和接收。發(fā)送的核心是填充CAN_TxHeaderTypeDef然后調(diào)用HAL_CAN_AddTxMessage例如發(fā)送一個(gè)標(biāo)準(zhǔn)幀 ID 0x1238 字節(jié)測(cè)試數(shù)據(jù)CAN_TxHeaderTypeDef tx_header; uint8_t tx_data[8] {0x68, 0x65, 0x6C, 0x6C, 0x6F, 0x00, 0x00, 0x00}; uint32_t tx_mailbox; tx_header.StdId 0x123; // 標(biāo)準(zhǔn)幀 ID tx_header.IDE CAN_ID_STD; // 使用標(biāo)準(zhǔn)幀 tx_header.RTR CAN_RTR_DATA; // 數(shù)據(jù)幀 tx_header.DLC 8; // 數(shù)據(jù)長(zhǎng)度 8 字節(jié) if (HAL_CAN_AddTxMessage(hcan1, tx_header, tx_data, tx_mailbox) ! HAL_OK) { // 發(fā)送失敗檢查郵箱狀態(tài)和總線錯(cuò)誤 }需要注意HAL_CAN_AddTxMessage是把報(bào)文放到發(fā)送郵箱里真正的發(fā)送由硬件完成。如果三個(gè)發(fā)送郵箱全滿這個(gè)函數(shù)會(huì)返回失敗。所以不要在緊耦合的控制循環(huán)里無腦發(fā)送必須結(jié)合總線狀態(tài)判斷。接收有兩種方式輪詢和中斷。中斷最常用。你需要在 main 函數(shù)里調(diào)用HAL_CAN_ActivateNotification使能 FIFO0 消息掛起中斷然后在中斷回調(diào)函數(shù)里讀取void HAL_CAN_RxFifo0MsgPendingCallback(CAN_HandleTypeDef *hcan) { CAN_RxHeaderTypeDef rx_header; uint8_t rx_data[8]; if (hcan-Instance CAN1) { HAL_CAN_GetRxMessage(hcan, CAN_RX_FIFO0, rx_header, rx_data); // 解析 rx_header.StdId 和 rx_data } }這個(gè)回調(diào)函數(shù)是在中斷上下文里執(zhí)行的所以千萬不要在回調(diào)里面做耗時(shí)操作比如打印長(zhǎng)日志、浮點(diǎn)運(yùn)算、延時(shí)。正確的做法是把數(shù)據(jù)拷到自己的緩沖區(qū)設(shè)置一個(gè)標(biāo)志位然后回到主循環(huán)再處理。我在項(xiàng)目里一般直接在回調(diào)里放一個(gè)環(huán)形緩沖區(qū)主循環(huán)從緩沖區(qū)取數(shù)據(jù)解析這樣既不會(huì)丟數(shù)據(jù)也不會(huì)拖慢中斷。提示如果同時(shí)使能了多個(gè) CAN 或多個(gè) FIFO要注意回調(diào)函數(shù)名稱。FIFO0 對(duì)應(yīng)HAL_CAN_RxFifo0MsgPendingCallbackFIFO1 對(duì)應(yīng)HAL_CAN_RxFifo1MsgPendingCallback別把回調(diào)配錯(cuò)了。4. 實(shí)測(cè)多節(jié)點(diǎn)聯(lián)調(diào)中最常見的坑與排查思路代碼能編譯、單板回環(huán)能收發(fā)并不代表實(shí)際總線上就能跑。我在多節(jié)點(diǎn)聯(lián)調(diào)里踩過的坑很多都是“看起來像軟件問題實(shí)際是硬件問題”或者反過來。以下是我認(rèn)為最高頻的五類問題按照排查順序?qū)懗鰜怼?.1 終端電阻缺失導(dǎo)致的可靠性問題CAN 總線的終端電阻有時(shí)候很“傲嬌”短距離、低速率的總線上哪怕完全不接終端電阻通信也可能正常因?yàn)椴ㄐ畏瓷鋸?qiáng)度在距離短時(shí)不足以造成位錯(cuò)誤。但只要距離拉長(zhǎng)、節(jié)點(diǎn)增多、波特率提高反射問題就會(huì)被放大表現(xiàn)為總線偶發(fā)錯(cuò)誤、錯(cuò)誤計(jì)數(shù)器不斷累積嚴(yán)重時(shí)甚至完全斷連。我遇到過一個(gè)很典型的案例兩個(gè)開發(fā)板用 30cm 杜邦線連接跑 125kbps一切正常我把通信改成 500kbps偶爾收到錯(cuò)誤幀再把線延長(zhǎng)到 2 米幾乎完全不通。排查了半天先查代碼再查濾波器和波特率最后用萬用表量 CANH 和 CANL 之間的電阻發(fā)現(xiàn)開路——兩端的收發(fā)器板上根本沒有焊終端電阻。解決辦法很簡(jiǎn)單在總線兩端分別并入一個(gè) 120 歐姆電阻。如果是臨時(shí)測(cè)試直接在其中一個(gè)節(jié)點(diǎn)的 CANH 和 CANL 之間跨接一個(gè) 120 歐電阻也可以但正規(guī)項(xiàng)目必須按菊花鏈拓?fù)湓谖锢碜钸h(yuǎn)的兩端各接一個(gè)。用萬用表量總線兩端之間的電阻應(yīng)該讀到約 60 歐姆。如果讀到 120 歐姆說明只有一端有終端電阻如果讀到接近 0 歐姆說明 CANH 和 CANL 之間短路了優(yōu)先檢查線序和插頭。4.2 波特率參數(shù)不一致報(bào)錯(cuò)但不明顯CAN 總線有一個(gè)很迷惑人的現(xiàn)象波特率不匹配時(shí)不一定完全靜默而是會(huì)出現(xiàn)“偶爾收到一幀成功、大部分時(shí)間報(bào)錯(cuò)”。原因是某些位序列恰好滿足接收方的采樣窗口錯(cuò)誤還沒被檢測(cè)出來但更多情況下會(huì)在 CRC、ACK 或 bit stuffing 階段被識(shí)破表現(xiàn)為錯(cuò)誤幀。如果你用 PCAN 之類的工具抓總線能看到大量紅色錯(cuò)誤幀那就該懷疑波特率了。排查時(shí)先確認(rèn)兩邊的目標(biāo)波特率一致再核對(duì)實(shí)際配置。STM32 的波特率由 APB1 時(shí)鐘和分頻參數(shù)決定所以哪怕你在 CubeMX 里選了同一個(gè)波特率只要兩邊的 APB1 時(shí)鐘不同實(shí)際波特率也不同。我建議每個(gè)節(jié)點(diǎn)都打印或者讀取一下hcan1.Init里的參數(shù)自己算一遍實(shí)際波特率不要憑感覺。還有一種“差一點(diǎn)”的情況兩邊名義波特率都是 500k但因?yàn)榉诸l組合不同導(dǎo)致采樣點(diǎn)偏差很大比如一邊采樣點(diǎn)在 70%另一邊在 90%。通信短距離能通長(zhǎng)距離或者干擾強(qiáng)一點(diǎn)就開始報(bào)錯(cuò)。采樣點(diǎn)不一致的問題很難肉眼發(fā)現(xiàn)建議統(tǒng)一把采樣點(diǎn)配置在 80%~87.5% 區(qū)間。4.3 濾波器配置錯(cuò)誤硬件把消息悄悄丟了濾波器是另一種“查不出代碼問題”的重災(zāi)區(qū)。如果你的接收中斷一直沒有觸發(fā)但發(fā)送端確認(rèn)已經(jīng)在發(fā)送第一步應(yīng)該檢查的就是濾波器。常見錯(cuò)誤有三種濾波器全部禁用CubeMX 中如果沒有配置濾波器有些庫版本默認(rèn)是不接收任何報(bào)文的你需要顯式使能至少一個(gè)濾波器組。這會(huì)讓新手懷疑自己代碼寫錯(cuò)實(shí)際只是濾波配置缺失。Mask 配置不對(duì)想精確接收某個(gè) IDMask 卻填了 0導(dǎo)致所有報(bào)文都通過或者反過來把 Mask 填成 0xFFFFFFFF 這樣的值結(jié)果任何報(bào)文都進(jìn)不來。標(biāo)準(zhǔn)幀精確匹配應(yīng)該是 ID0x123Mask0x7FF。報(bào)文進(jìn)入了 FIFO0 還是 FIFO1 搞混濾波器里可以選擇把報(bào)文分配到 FIFO0 或 FIFO1。你中斷使能了 FIFO0但濾波器把報(bào)文分配到了 FIFO1自然永遠(yuǎn)不會(huì)觸發(fā) FIFO0 的回調(diào)。這種錯(cuò)誤只需要把分配關(guān)系改成一致就行。排查濾波器問題時(shí)我一般會(huì)先臨時(shí)配置一個(gè) Mask0 的全通濾波器確認(rèn)通信鏈路本身是通的然后再逐步收緊過濾條件。這樣可以區(qū)分“鏈路問題”和“過濾問題”。4.4 CAN2 的隱藏規(guī)則必須借道 CAN1 和共享濾波器如果你用的是 STM32F1 這類雙 CAN 型號(hào)容易踩一個(gè)隱藏規(guī)則CAN2 不是獨(dú)立運(yùn)行的必須同時(shí)使能 CAN1。原因是 CAN2 的接收路徑依賴 CAN1 的濾波器資源。即使你的業(yè)務(wù)邏輯只用 CAN2初始化時(shí)也要先初始化 CAN1并且在 CAN1 的濾波器里分配至少一個(gè)濾波器組給 CAN2 使用。CubeMX 的圖形化配置里這一步很容易被忽略導(dǎo)致 CAN2 的發(fā)送正常但接收永遠(yuǎn)無反應(yīng)。處理方式在 CubeMX 中同時(shí)使能 CAN1 和 CAN2。CAN1 可以不接發(fā)送數(shù)據(jù)但必須確保 CAN1 時(shí)鐘使能、CAN1 初始化成功。然后在 CAN1 的濾波器配置界面里把一個(gè) Filter Bank 的 FIFO Assignment 指向 CAN2這樣 CAN2 收到的報(bào)文才能進(jìn)入接收 FIFO。這屬于 STM32 bxCAN 的架構(gòu)性設(shè)計(jì)參考手冊(cè)里寫得很隱晦實(shí)戰(zhàn)中我見過不止一個(gè)項(xiàng)目卡在這個(gè)地方。4.5 回環(huán)模式正常、正常模式不通時(shí)的優(yōu)先級(jí)排查如果你已經(jīng)做了雙板測(cè)試但通信失敗建議按照下面的優(yōu)先級(jí)排查而不是重新翻代碼用萬用表檢查 CANH 和 CANL 是否接反、是否短路。檢查所有節(jié)點(diǎn)的 GND 是否共地。CAN 收發(fā)器差分信號(hào)雖然抗共模干擾但收發(fā)器本身工作的參考地必須一致。跨電源供電時(shí)最好讓兩個(gè)板子的 GND 連在一起否則極大的共模電壓會(huì)直接損壞收發(fā)器。確認(rèn)收發(fā)器芯片供電正常。很多 CAN 收發(fā)器有 STBY 引腳或 RS 引腳必須拉成正確電平才能進(jìn)入工作模式。某些帶 5V 和 3.3V 電平轉(zhuǎn)換的模塊跳線帽錯(cuò)了也會(huì)導(dǎo)致通信失敗。確認(rèn)終端電阻正確后再抓總線波形。如果有示波器可以直接看 CAN_TX 引腳上是否有波形確認(rèn) MCU 正在發(fā)送再看 CAN_H 和 CAN_L 之間的差分信號(hào)振幅是否符合收發(fā)器規(guī)格。最后再檢查代碼里的波特率、濾波器和回調(diào)配置。順序很重要。我見過有人花了兩天查代碼最后發(fā)現(xiàn)是收發(fā)器的 STBY 引腳懸空收發(fā)器一直在待機(jī)模式。硬件問題優(yōu)先排除能省下大量時(shí)間。5. 工程化選型建議與硬件布局心得如果你已經(jīng)跑通了雙板通信接下來的問題通常就是怎么正式做項(xiàng)目這里分享一些我在工程實(shí)踐中的選型和硬件布局經(jīng)驗(yàn)。5.1 收發(fā)器芯片怎么選STM32 的 bxCAN 輸出的是 TX/RX 數(shù)字信號(hào)不是差分信號(hào)所以必須外接 CAN 收發(fā)器。選型時(shí)有幾個(gè)關(guān)鍵點(diǎn)供電電壓早期常見的收發(fā)器是 5V 供電比如 TJA1050 這類。它直接出來的 CAN_H/CAN_L 電平是 5V 體系。而 STM32 的 TX/RX 是 3.3V兩者之間的邏輯電平匹配一般沒問題但信號(hào)電平上要注意共地。另一種方案是 3.3V 供電的收發(fā)器比如 SN65HVD230 系列它和 STM32 同電壓體系接線更直接適合電池供電或低功耗產(chǎn)品。待機(jī)控制很多收發(fā)器有 STBY 或 S 引腳用于進(jìn)入低功耗待機(jī)模式。這個(gè)引腳不能懸空必須按手冊(cè)要求接上拉或下拉否則收發(fā)器可能一直在待機(jī)通信完全不通。防護(hù)等級(jí)工業(yè)現(xiàn)場(chǎng)有浪涌和靜電風(fēng)險(xiǎn)建議選內(nèi)置 ESD 保護(hù)的型號(hào)并在總線入口加 TVS 管和共模電感。汽車級(jí)應(yīng)用還要考慮收發(fā)器的 EMI 特性。如果你做的是小批量產(chǎn)品直接買集成了收發(fā)器和保護(hù)電路的 CAN 模塊即可但量產(chǎn)時(shí)還是單獨(dú)設(shè)計(jì)收發(fā)器電路更可控。5.2 波特率與總線長(zhǎng)度的經(jīng)驗(yàn)對(duì)照CAN 總線的傳輸距離和速率不是無關(guān)的。速率越高允許的物理距離越短因?yàn)槲粫r(shí)間越短信號(hào)在長(zhǎng)線纜上的反射和衰減越容易破壞位同步。下面是一組工程上常用的經(jīng)驗(yàn)值波特率參考總線長(zhǎng)度1 Mbps約 40 米500 kbps約 130 米250 kbps約 270 米125 kbps約 530 米50 kbps約 1300 米這個(gè)表格只做參考線徑、絞合、接頭質(zhì)量和節(jié)點(diǎn)數(shù)量都會(huì)影響實(shí)際效果。但我建議選型時(shí)遵循一個(gè)原則先確定最遠(yuǎn)節(jié)點(diǎn)間的物理距離再反推最大可用波特率。如果距離預(yù)算寬裕盡量選低一檔波特率可靠性能大幅提升。此外總線拓?fù)浣ㄗh采用菊花鏈即每個(gè)節(jié)點(diǎn)從上一個(gè)節(jié)點(diǎn)引線到下一個(gè)節(jié)點(diǎn)避免在某個(gè)節(jié)點(diǎn)引出很長(zhǎng)的分支線。CAN 標(biāo)準(zhǔn)對(duì)支線長(zhǎng)度有嚴(yán)格要求支線過長(zhǎng)會(huì)破壞信號(hào)完整性。如果現(xiàn)場(chǎng)必須星型連接應(yīng)該在中心點(diǎn)使用 CAN 集線器而不是直接把線擰在一起。5.3 代碼封裝、ID 規(guī)劃與后續(xù)擴(kuò)展工程化不只是硬件代碼層面同樣有講究。我自己的做法是把 CAN 操作封裝成一個(gè)獨(dú)立模塊提供幾個(gè)基礎(chǔ)接口初始化和濾波器配置、發(fā)送接口、接收回調(diào)注冊(cè)、總線錯(cuò)誤處理。業(yè)務(wù)代碼不直接操作 HAL 層的CAN_HandleTypeDef全部通過模塊接口調(diào)用。這樣換 MCU 或換庫的時(shí)候只需要改底層適配業(yè)務(wù)邏輯基本不動(dòng)。ID 規(guī)劃也值得提前做。我習(xí)慣把 ID 按功能段劃分比如 0x000~0x07F 用于系統(tǒng)的控制指令0x100~0x1FF 用于電機(jī)反饋0x200~0x2FF 用于傳感器數(shù)據(jù)0x300~0x3FF 用于調(diào)試和日志。每個(gè)節(jié)點(diǎn)只能發(fā)送自己權(quán)限范圍內(nèi)的 ID接收則通過濾波器精確匹配。這樣當(dāng)總線上有新節(jié)點(diǎn)加入時(shí)不需要全局修改其它節(jié)點(diǎn)的代碼只在新節(jié)點(diǎn)里配置輸入的 ID 規(guī)則即可。周期型數(shù)據(jù)和事件型數(shù)據(jù)也要分開周期數(shù)據(jù)用定時(shí)器發(fā)送事件數(shù)據(jù)用中斷或任務(wù)觸發(fā)避免所有節(jié)點(diǎn)都在同一時(shí)刻搶總線造成抖動(dòng)。如果你在產(chǎn)品規(guī)劃階段就知道未來的數(shù)據(jù)量會(huì)增長(zhǎng)比如單幀 8 字節(jié)不夠用、總線負(fù)載率超過 40%那么在 MCU 選型時(shí)就要考慮支持 CAN FD 的型號(hào)。CAN FD 能把單幀數(shù)據(jù)擴(kuò)展到 64 字節(jié)數(shù)據(jù)段還能切換到更高波特率總線利用率提升非常明顯。STM32F1 全系不支持 CAN FD如果你剛開始選型建議直接把 F4 或 G4 系列納入考慮省得后期換平臺(tái)。從最初以為 CAN 是“高級(jí)串口”到后來能在總線上同時(shí)掛十幾個(gè)節(jié)點(diǎn)穩(wěn)定跑幾個(gè)月我的最大體會(huì)是CAN 真正的難度不在協(xié)議棧而在于物理層細(xì)節(jié)和多節(jié)點(diǎn)協(xié)作。先把終端電阻、波特率、濾波器這三件事吃透你的 CAN 項(xiàng)目基本就穩(wěn)了一大半。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
久久精品人人做人人看| 国产91精品在线免费| 99999精品成人| 性夜影院爽黄A爽免费动漫| 欧洲在线性爱视频| 国产CHASE男男GAYGA 毛多色婷婷| 黄片在线免费在线观看| 有码人妻系列| 97超级久久| 久久久精品网站| 国产精品久久久久亚洲av| 视频黄色国产一级| 亚洲色图殴美色图激情乱伦| 欧美激情精品| 成人夜夜爽| 日本性交操一区二区不卡系列| 青青欧洲黑| 国产色呦呦| 亚洲av国产av综合av卡| 欧美精品成人一区二区在线观看| 伊人久久亚洲色欲综合网站 | 99久久久久| 91爱做| 丰满人妻一区二区三区免费,| 亚州高清色综合| 久久不卡一区二区| 天天操夜夜嗨| 伊人五月天婷婷| 超碰97首页| 天天干人妇| 国产精品人人爽人人做可爱福利| 嗯嗯嗯啊啊在线观看| 95精品在线| 亚洲 日本 国产 综合| 久久久精品一区二区| 久久仑合| 男人天堂2019亚洲| 怡红院怡春院| 天天插夜夜爽| 热热色国产一二区AV| 99少妇精品视频| 亚洲精品国产精品乱码不99| 少妇高潮对白在线观看| 中文字幕精品免费一区二区| 新怡红院| 青青三级视频| 精品乱码在线观看| 国产精品老熟女一区二区| 3p国产欧美99热| 久久综合激情| 91足交| 中文字幕丰满人妻日本| 天美传媒精品一区二区| 日本免费专区| 91狼人| 这里只有精品视频在线| 国模精品一区二区三区苹果色戒| 精品午夜福利国产一区二区在线观看 | 欧美精品,四区。五区| 精品综合久久久久久97| 风间由美日韩欧美久久| 色九九久九九| 欧美亚洲另类在线蜜桃| 超碰人妻在线| 青青久操| 九九九精品美女| 久久久久国产| 久草这里只有精品| 无色无码| 秋霞男人网| 大香蕉十区| 亚洲性少妇| 91熟女视频网| 中文字幕一区二区三区四五区| 久草加勒比一区在线| 超97在线精品视频| 欧亚综合一卡二卡中文字幕| 日本一区二区三区精品| 欧美亚洲一级在线观看| 天天谢天天干| 中文字幕一区av| 一区二区三区四区免费视频| 日韩av三四区| 国产精品视频内谢女人| 久久久久久AⅤ无码免费肉站| 肥臀熟女福利视频一区二区| 传媒在线观看一区二区三区| 都市久久精品激情亚洲| 自拍大香蕉乱插| 蜜臀av一区二区三区免费观看| 91色综合激情| 99re98| 久久久111| 欧美色图亚洲色| 岛国福利在线精品播放| 亚洲涩涩| ji熟女.com| 久久丁香| 超碰欧美COM| 狠狠操官网| 日韩三级视频一区二区三区| 超碰久草| 夜间福利片1000无码| 欧美性暴力猛交XXXX| 热久久九九热| 青娱乐休闲视频在线观看| 色小视频蜜乳| 欧美综合综合| 91 在线亚洲| 精品超碰色| 韩国轻伦国内自拍一区| 亚洲伊人a线观看视频| 日本欧美一区二区三区免费| 亚洲成av人片色午夜乱码| 操b网站亚洲无码| 久久久久久无码人妻中文字幕| 日韩无码极品| 国产精品高潮久久AV| 蜜臀AV成人精品蜜臀| 春色91| 免费家庭乱伦视频| 嗯嗯啊啊好大好爽| 激情五月综合网| 青青草久草| 亚州色图第三区| 久草免费在线视频| 91亚洲黑人| 国产精品免费久久久久久久久久| 亚洲男人的天堂AV| 又粗又长又爽在线观看| 亚洲素人综合| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 大二网站亚洲| 丝袜AV一二三区| 人妻少妇精品视频一区二区三区| 日本超碰在线国产一区| 秋霞午夜成人福利片片| 骚熟女吞| 亚洲成人久久美女| 天天色欧美| 亚洲情色五月天| 999国产精品999久久久久久| av九九| 精品久久久一本一道| 亚洲图片激情综合另类| 91欧美另类| 在免费jIzzjIzz在线视频| 欧美日韩妖精91com| 99在线观看| 日韩欧美中文字亚洲慕| 欧美午夜精品久久久久久3D| 久久草草亚洲蜜桃臀| 欧美午夜视频| 91麻豆va国产精品| 尤物视频视频官网| 久久精品视频一区三区小泽玛利亚| 免费A V在线播放| 欧美激情一| 亚洲最大AV网| 日韩视频中文字幕| 97精品熟女少妇一区| 黄久在线| 啪啪啪精品视频| 蜜臀99久久国产| 国产性感在线观看| 婷婷伊人网| 91深夜夜| 欧美一级A一级a爱片久久| 黄资源| 一区二区三区在线资源| 亚洲AV秘 精品久久老牛影视| 激情欧美97| 亚洲欧洲无码97久久精品| 欧美日韩91| 国产女s强制榨精视频| 国产精品夜夜| 成人九九| 亚洲欧洲激情| 亚洲在高跟鞋自慰久久在色线| 色婷婷影院| 欧美色性爱| 日产欧美电影一区二区三区| 午夜欧美精品久久久| 日韩一级二级三级免费看完整版国语版| 无码免费一区二区三区啪啪| 五月婷婷丁香六月| 中文字幕美女91| 久久久久久久| 九九九999久久久网站| 好爽,再快点啊哈嗯嗯嗯嗯| 婷婷AV一区二区三区| 正在播放国产精品一区| 欧美一级美片在线观看免费| 起碰97| 国产欧美另类久久久精品课程| 亚洲成人妻日韩在线| 熟妇视频一区二区三区在线观看| 目产99999久久999| 蜜桃丰满熟妇av无码区不卡| 日日摸日日弄日日拍| 久久超碰av在线| #NAME?| 999综合色| 秋霞午夜视频一区二区| 亚洲超碰综合网| 日韩精品第3页| 伊人久久国产免费观看视频| 97碰碰日本乱偷人妻中文的| 亚洲国产中文字幕| 女上位精品在线| 欧美亚州色的图| 国产乱码精品久久久久久| 欧美精品第四五页中文字幕在线观看| 欧美 亚洲| 97色欧洲| 亚洲在线| 久久亚洲欧美中文字幕国语 | 少妇天堂网络| 97视频620| 伊人色综合欧美| av东京热男人的天堂| 韩国女主播青草在线| 性色av一区二区| 久久一本大香蕉| 精品二区三四区五电影 | 亚川综合视频| 日韩乱伦视频| 无码最新| www.色操逼| 99性视频| 亚洲综合性感在线| 亚洲欧洲第二视频在线观看色图| 亚洲熟女一区| 一本久道久久综合狠狠爱一密臀精 | 美女黄网| 一起草日韩| 免费一级毛片在线视频观看| 久久精品视频28| 国产吹潮女在线观看| 欧美日韩人妻精品一区二区三区| 午夜一区| 天天色黄色影院天天操| 无码欧美有限公司| 激情四射婷婷四五月天| 欧美淫乱视频| 亚洲国产成人7777| 亚洲综合激情五月久久| 日韩图区| 国产中出内射一区二区| 亚洲成人美女无吗| 久久这里只精品99re66图| 97香焦色区| 色www精品视频在线观看| 欧美爱国产综合、| 中国操逼无码| 色色激情| 亚洲区限制级 99| 91欧美大片| 欧美日韩性爱操大逼| 手机av天堂久久久久| 足交视频老司机| 亚洲精品九九九| 婷婷五月天激情四射| 中文字幕一二区二三区人妻专区| 色色热| 99re6在线视频精品免费完整版安卓版| 综合久久99| 黄色欧美性爱视频| 日韩av情韩国爱禁区av一区二区| 国产精品白领在线观看| 麻豆色约约| 日韩在线欧美精品一区二区| 欧美日韩99精品麻豆传媒| 久草成人影片| 伊人五月天| 美女网站黄页| 中文字幕成人理论在线| 综合视频91| 国产精品黑人一区二区三区| 欧美综合站| 超碰吊日色| 成人无码影片视频在线| 久草精品一区| 一级A片女人高潮叫床| 欧美精品第四五页中文字幕在线观看| 精品国产乱码久久| 欧美图片色综合| 亚洲美女精品九九视频| 人妻天堂综合网| 亚洲图片欧美偷拍| 岛国小电影| 亚洲天堂2020| 丝袜熟女2P| 国产99热| 日韩欧亚太美不卡| 国产又色又粗又黄又爽| 精品乱码久久久久| 逼逼逼逼操操操操操操操操操午夜剧场 | 嫩草黄页| 黄色av片三级三级三级免费看| 青青草玖玖爱| 91久久久久久| 国产极品馒头逼| 91N欧美| 加勒比综合| 97蜜桃综合| 久久午夜色播影院免费高清| 国产人伦精品一区二区三区| 欧美中文字幕日韩在线| 亚洲色图欧美另类在线| 国产 日韩 另类 视频一区爱| 欧洲精品一二三在线| 亚洲操逼视频网站| 丝袜AV一区二区三区| 欧美天天插| 性爱网站一区二区| 热久久无毒不卡| 五月婷婷基地| 久久性爱视频免费看| 自拍视频大全亚洲专媒视频/一区二区三区| 国产亚洲色停停久久99精品91| 综合网亚| 亚洲精品人妻吞精av| 97资源站日韩| 美女AV一区二区| 艹比视频国产精品| 天堂综合网| 伊人丝袜美腿高跟在线观看高清| 国产丰满熟夫69mpp| 一区二区三区黄片免费观看| 蜜臀va69| 夜夜福利| 激情色播| 思思热免费在线视频| 99超碰网| 美性中文综合网| 色综合久久久久| 手机午夜电影神马久久| 超碰97久| 97在线无精品| http://qxhbdz.com| 久久这里只| 午夜欧美神马久久久久| 天天射网| 欧美很很操视频| 伊人丁香五月婷婷| 思思热国产高清| 欧美中字不卡| 18岁禁 茉莉成人久久| 色九区| 国产操操日韩三级黄| 啊啊啊啊啊啊在线观看| 色97欧美| 丝袜亚洲91| 人妻日日夜夜精品| 五月天婷婷色| 亚洲成人久久美女| 久操网址| 亚洲字幕一区二区| 国产无码久久高清| 欧美爱爱97| 99999亚洲另类| 少妇精品久久久| 久久超碰、| 极品色社| 久久久久久久少妇| 亚洲国产一区二区三区在线| 亚洲午夜免费狠狠干| 国产呦精品一区二区三区下载| 国产久久免费精品视频| 日本在线观看网址| 3PAV乱伦视频| 麻豆久久一区二区三区| 葡萄牙性视频一二区| wuyechaopeng| 97精品人妻一二三四| 伊人久久蜜月| 啊啊啊啊,啊啊好多水| 九九精品网| 91日日夜夜| 久久婷婷色| 国产97视频免费观看| 人妻少妇被猛烈进入中| 日韩无码a片| 久久黄片国产一区二区| 亚洲欧洲中文日韩女优乱码| 在线毛片片免费观看| 神马久久午夜| 波多野结衣被操50分钟免费视频| 丁香六月激情| 午夜一区| 精品无码一区二区| 青青草吊丝| 一区二区三区日韩欧美 | 免费久久9999| 熟妇无码视频三区| 嗯嗯不要视频| 成人免费毛片| 国精精品无码一二三区水多多| 国产精品自拍xxxx| 99ri在线视频| 91黑丝少妇| 97超碰巨乳| 2020中文字幕在线| 日韩综合色图| 国产女人和拘做爰视频 | 国产精品国产自产拍高清AV| 欧美97在线观看| 亚洲欧洲日产国产综合网| 美女91av| 牛牛AV人人夜夜澡人人爽| 强奸抽插av| 日本国产高清色www视频在线| 国产乱伦性爱AV| 亚洲图片欧美91N| 国产精品伦理| 国内亚洲高清无码| 色久桃花影院在线观看| 九九色逼| 欧美72网页| 一本色道久久综合亚洲二区三区| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 国产日韩久久| 亚洲图片欧美| 少妇高潮对白在线观看| 日韩有码免费视频| 久久久久921| 东京热天堂网| 中文字幕aⅴ在线视频| 嗯嗯啊中文字幕| 亚洲国内精品成人不卡| 亚洲国产97| 色黄色美女大长腿午夜视频| 久久久精品日本一道| 超碰久久草| 99久久99久久免费精品蜜臀| 国产日韩欧美亚洲精品95| 偷拍 精品另类 凸凹了四区| 在线小视频| 欧美精品精品一区二区| 婷婷亚洲天堂| 超碰综合97在线| 欧美色女人| 91在线无码精品秘 软件| 嗯……啊…嗯嗯…啊…好舒服| 久久久成人免费av电影| 亚洲一区操| 亚洲 欧美 天天| 欧美性五月| 日本一区视频在线观看| 禁止观看美女黄| 久久香蕉国产线看观看亚洲女人 | 国产浮力影院第1页| 亚洲 图片 欧美 色图| 欧美劲爆第一页| 成人性爱电影一区二区| 色色青青久久| 亚洲天堂人妻熟妇视频| oumeizonghese,www| 91精品无码久久久久久久| 天天欧美欧美亚洲网| 变态另类专区| 色人久久| julia国产在线 | 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 性久久| 亚洲中文字幕有码视频一区二区三区| 超碰色老头| 丰满人妻一区二区三区| 夜夜欧美| 999久久久久久久精| 久久久久少妇| 97人人爱人人做人人乐| 强被迫伦姧在线观看无码网站| 婷婷香蕉欧美在线一区二区三区| 亚洲丝袜诱惑| 极品粉嫩一区二区| 在线观看一级α片刺激高潮视频| 欧美se亚洲| 人人操我人人干| 精品一二三区四视频| 国产免a费看黄片在线| 91久久久老司机| 99在线无码精品秘 入口黑人| 成人久久久精品| 欧美成人黄网色网站| 玖玖无码超碰| 97国产超湿| 亚洲av综合伊人久久| 人妻 制服 日韩 中文 在线| 91三级理论片播放器| 91无码人妻精品一区二区三区蜜桃 | 91爰爱欧美| 强奸乱伦麻豆| 熟女精品日韩一区二区三区 | 黄色无码高清黄色无码网站| 国产精品欧美激在线| 性色av蜜臀av色欲aV| 欧美色图99| 大香蕉在线视频15| 国产av又色又爽又黄| 久久风骚城市| 中文字幕片| 亚洲一卡2卡3卡4卡乱码网站| 欧美性高潮在线| 干B视频伊人网| 日本精品无码三级网站| 亚洲天堂男人的天堂| 中文在线久久字幕| www.夜夜| a天堂视频| 搡老女人老熟女91| 亚洲精品久久一区二区三区蜜桃臀| 99精品久久| 99老司机精品视频在线观看| 国产精品成人午夜福利| 夜精品久无码| 天天干一区二区| 在线视频免费播放一区| 国产一级高清免费观看| 激情久久日韩精品中文字幕麻豆| 久热69九色熟妇97| 国内精品伊人久久久久影院会| 草草电影院| 香港久久久| 999综合色| 国产丝袜美女诱惑| 天天爽夜夜操| 欧美中出1| 一类av片在线看| 激情小说在线视频| 日比av无码| 人妻素股| 大香蕉啪啪啪啪在线| av天堂影视中文在字幕在线中文| HEYZO高无码国产精品227| 91看黄片| 国产探花日韩援交| 懂色Av| 男人的天堂VA| 99最新日韩偷拍视频| 色天堂综合| 少妇诱惑视频| 久操99| 七久久久| 欧美国产日韩清纯唯美| 激情五月婷婷| 色情五月婷婷| 中文字幕成人| 天天综合精品| 91黑丝露脚| 婷婷久久综合久| 亚洲综合在线视频| 激情综合色| 日本久久网| 狠狠色婷婷| 日本三级黄页| 麻豆精品久久久久久久| 国内精品999| 色性欧美| 亚洲中文字幕有码视频一区二区三区| 欧美极品女人的天堂| 丁香激情网| 97人肏| 江都AV在线| 色老汉色| 亚洲熟女一区| 夜夜春夜夜操| 外站AV在线| 秋霞网无码| 中文字幕日韩电影人妻| 日韩欧美国产一区二区三区四区| 黄色小视频日本txt| 99热在线观看| 欧美躁死她一区二区| 久久精品欧美一区蜜桃| 日本女厕偷拍| 青操影院| 四虎精品一区二区| 黄色免费网| 精品国产人成在线| 久99| 91中文精品日韩欧美在线 | 欧美在线亚洲| 欧美乱伦专区| 日本不卡高清视频| 亚洲高清在线| 国产有码一区| 亚洲drav色图| 白嫩少妇| 在免费jIzzjIzz在线视频| 激情五月丁香五月| 日韩AV一区二区三区三州三州| 人妻少妇色综合| 少妇大屁屁| 成 人 A V免费视频在线观看| 色色色欧美| 亚洲人成网www| 97国产天堂岛| 78操B| 色综合天天| 日韩啪啪啪啪啪| 综合av影片| 97超碰中文在线| 精品一区二区成人| 怡红院怡春院| 日日摸日日碰夜夜爽视频| 免费日韩黄片| 国产一区二区三区中文字幕| WWW美腿丝袜香蕉中文| 九九九久久久| 五月天激情影院| 91丝袜激情在线| 夜夜欢天天干| 高跟丝袜AV专区国产| 一区二区三区日韩欧美| 亚洲黄色电影| 亚洲最大AV网| 综合91网| 欧洲亚洲国产综合在线| 一本一道人妻久久一区二区三区| 九一国产精品| 色狠狠 - 百度| 夜夜操老骚逼视频网站| 中文字幕乱码在线观看| 日韩精品9999| 精品九九| 97天天摸天天碰| 5252色欧美在线男人的天堂| 在线看片国产精品每日更新| 嗯嗯啊啊视频一区二区三区| 人人摸人人入| 麻豆60秒| 丰满人妻-区二区三区| 亚洲成?V人片在线观看福利| 久久久久久久9最新免费视频观看| 青青青国产手线观看视频2| 精品女人999| 蜜臀AV午夜精品久| 国产精品麻豆成人AV艾秋| 暴力av在线| 国模精品一区二区三区苹果色戒 | 天天看夜夜看日日干| 欧美日韩高潮喷水91| 人妻精品一区二区| 天天影视色香色欲| 2017天天操| 97中文超碰| 狠狠操狠狠操操| 国产九九久久久精品| 日本一区二区不卡| 伊人久久亚洲中文字幕| 欧美精品二区视频在线| 欧美天天谢综合网| 国产一进一出视频网站| 亚州高清色综合| 黑人嘿嘿嘿超爽免费视频| 日日干夜夜骑| 精品久热| 国产乱伦视频污| 爽爽爽免费视频| 国产99精品一区二区三区免费| 精品人妻一区春色| www成人啪啪18秘 免费| 欧美激情在线观看视频| 一区黄二区黄| 999亚洲国产视频| 丝袜视频网国产90| 色欧美天天| 国产无码精品成人| 91欧美丝袜| 热九九精品| 三上悠亚在线毛片91| 亚洲永久永久永久永久一级一级一级精品| 亚洲一级性爱视频免费看| 在线五区| 无码欧美有限公司| 狠狠色噜噜狠狠狠狠狠色综合久久 | 亚洲天堂男人天堂网| 精品国产99| 国产亚洲禁久一区二区| 欧洲久久一二线| 亚洲色图欧美另类在线| 中文字幕永久在线| 91在线超高颜值国产| 国产尤物在线三区| 亚洲第一页欧美| 亚洲欧美国产成人综合不卡| 日韩一级二级三级在线不卡观看完整| 闷骚老熟女15P| 九九无码视频| 人人贴人人摸| 男人天堂新在线| 日韩美女高潮喷水视频| 99热免费| 免费作爱一级视频| 青娱乐淫乱1314| 亚洲极品| 99啪啪| www久久久| 超碰人人操97碰| 老熟妇91| 啊啊啊轻点在线观看| 啊啊啊啊啊啊好湿好爽视频| 静品嫩模一区二区| 日韩性爱1级片视频| 色九久| 长久操视频| 久久国产视频专区一二三| 狠狠爱综合| 乱论91| 欧美日韩国产一区二区小黄片大全| 亚洲91射| 99国产精品久久久在线播放| 97综合在线观看| 色色色五月婷婷| 99在线无码精品秘 入口黑人| 国产精品午夜AV完会免费| 五月天AV资源| 亚拍在线| 超碰97最新人妻| 亚洲精品97久久| 啊嗯嗯啊好大好爽| 级品肉射| 蜜臀99999| 亚洲码和欧洲精品激情系列| 天天欧美欧美亚洲网| 欧美99热| 婷婷亚洲色| 亚洲另类电影| 色五月激情综合网| 国产精品亚洲美女久久久久| 婷婷五月天激情网| 亚洲乱码国产乱码精网站| 手机在线中文字幕国产| 麻豆国产视频精品观看| 国产美女口爆吞精视频| 日本成a人v网站在线观看| 加勒比海色香蕉婷婷| 黄页| 夫妻天天操岛国视频| 亚洲欧洲自拍| 美女黄网| 国产拍偷精品网站| 欧美真人抽搐一进一出gif| 亚洲欧美一区二区网址| 美女裸体无遮挡永久免费观看网站| 蜜臀久久99精品久久久久久无删减| 欧美色图 色综合图| 97视频在线播放| 亚洲高清视频在线免费观看| 精品欧美老熟女一二区| 国产在线观看一区二区三区| 日韩有码 一区二区三区| 婷婷在线视频在线观看| 思思热免费在线视频| 一区二区影院| 性爱av在线免费观看| 色优久久| 中文字幕 一区二区 亚洲无码| 久久九九一区二区三区成人| 亚洲资源网| 日本不卡免费二区| 好爽视频在线观看| 国产精品成久久久久午夜午夜| 亚洲春色欧美激情自拍| 狠狠色狠狠色狠狠五月| 国产成人久久久精品免费AV| 亚州国产精品乱| 女同性恋一区二区三区精品视频| 日本天天干天天搞一区| 破处bbq| 成人性生活高清视频在线播放| 欧美色www亚洲国产阿娇要播| 久久久久亚洲AV无码专区少妇| 91 亚洲 欧美 日韩 国产 综合| 亚洲综合激情五月久久| 曰本精品久久久| 在线小说视频一区| 张柏芝国产一区在线观看| 日本三级一区二区 在线| 爱我干综合| 久久蜜桃综合网| 久草色在线观看| 日本人妻伦在线中文字幕| 欧美午夜一区二区三区| 91久热这里只有精品| 97精品97久久| 青娱乐国产剧情av一区| 人人做人人妻人人夜视频| 99这里有精品| 欧美伦乱| 波多野结衣被操50分钟免费视频 | 亚洲人综合| 97亚洲综合| 欧美日韩国内不卡| 欧美精品91| 先锋女优在线观看视频| 91高清无码下载| 欧美日韩免费专区在线| 天天综合~91| 强奸乱伦亚洲第一页| 久久色人体 | 成人午夜小视频手机在线看| 久久e6只有精品| 亚洲无码一区成人免费午夜| 日本免费专区| 97香蕉人人乳| 蜜臀99久久精品久久久懂爱| 中文字幕jul-617人妻熟女| 一区,二区,三区视频| 新亚洲无码| 亚洲天堂区| 国产精品另类| 人看人人摸人人操| 激情天天视频| 亚洲另类久操网| 综合久久9| 99视频只有精品| 欧洲一区二区| 国产精品爽爽va在线观看98| 欧美日韩青操| 17c在线成人免费A片观看| 啊啊啊 在线观看| 91成人无码| 天天爽天天| 大香蕉草草| 色婷婷久久| 蜜臀久久99精品久久久久久成人小说 | 啊好爽快点-国产一区二区三区撒尿在线-成人AV | 伊人久久综合精品欧美| 日韩精品人妻中文字幕久久久| 日韩欧美性吧婷婷乱伦大香蕉 | 婷婷爽人人婷婷爽视频| 婷婷五月天av| 亚洲中文字幕熟女少妇一区二区| 亚洲欧美日韩综合在线尤物| 日韩欧美天堂| 女人高潮抽搐喷水视频网站| 欧美综合色| 99精品热| 欧美亚洲91| 久极品在线观看| 超碰精品日韩欧美国产| 神马久久久久久久久久久久| 91精品久久久久五月天精品| 美女毛片999| 中文字幕丝袜国产第一页不卡| 久久日本熟女精品一区| 最新中文字幕在线亚洲| 欧美极品色| 丁香五月久久| 精品视频在线观看| 久久综合精品一区二区三区| 370p日韩欧美亚洲精品| 精品久久久不卡一区二区| 国产亲戚伦亲在线| 中国韩国明星一极片一区乱码毛片人妻熟女一区二区三区 | 精品久久久久久久久久久久| 精品高清一区二区三区三州| 女人18精品一区二区三区| 五月天开心网| 人人看黄色视频| 色在线69堂| 热久久这里只有精品| 亚洲最新Av| 丰满人妻一区二区中文| 色五月大香蕉| 2019精品国产无码成人| 97超色| 亚洲av在线免费观看| 国产91av在线播放| 999熟女精品| 丝袜熟女2P| 欧美日本国产日韩激情视频| 久草资源在线| 走光一区92下载| 五月激情小说| 91碰超| 精品人妻av区天天看片| 女人的天堂大香蕉网| 97色在线| 日韩乱伦AⅤ| 青青五月天| 亚洲 另类 丝袜 自拍 动漫| 99热综合| 成人亚欧免费视频| 激情综合网激情综合| 日日干夜夜欢| 日韩/97| 天天插天天操| 中文字幕91页| av黄图片在线观看| 毛片99-全集电影手机免费观看完整-B029AV | 亚洲AV无码| 欧美十八禁在线看| 国产精品区在线12p| 蜜臀久久99精品久久久久久酒店| 91爱看| 91丝袜美腿网站| 中文字幕 国产区| 亚洲免费成人在线高清无码视频| 99久在线精品99re8蜜桃| 9久精品视频在线观看| 亚洲情色电影网| www.av在线观看| 手机在线A片| 粉嫩av平台| 久久一二三四| 婷婷国产精品一区二区| 另类成人首页一区| 日本大香蕉| 91新在线欧美| 国产欧美一区二区| 69超碰综合| 日日夜夜天天| 五月婷婷性爱| av一区二区三区 中文| 中文字幕交换人妻| 爽极品影院| 亚欧免费| 日韩在线一区高清在线| 色婷婷六月丁香七月婷婷| 夜夜骑夜夜操| 亚洲精品97| 欧美日韩1234| 亚洲图片欧美| 欧美一级A一级a爱片久久| 嗯嗯不要视频| 一区,二区,三区网站| 自拍偷拍国产欧美日韩韩| 熟妇亚洲一区二区三区| av最新免费中文字幕| 麻豆天美AV传媒第一页| 爱爱动态120秒| 日韩欧美字幕亚洲一区二区| 久久国产精品m码| 熟妇人妻一区二区三在线| av国产无码| 97人妻免费中文字幕| 欧美 亚洲精品首页| 色九九九综合| 欧美一二三区四五区| 国产精品熟女丝袜一区二区| 家庭乱伦国产精品| 91热| 亚洲欧洲日韩中文字幕一区| 蜜臀99久久精品久久久久久| 精品久久无码午夜福利| 偷窥自拍A片| 国产午夜精品在线观看| www.伪伪| 久久亚洲色图中文字幕| 亚洲精品国产熟女| 日本高清免费一本视频在线观看| 国产污视频麻豆传媒一区二区 | 色色亚洲| www.色五月| 99碰碰| 国产精品熟女乱伦| 乱伦系列一区二区| 国产精品久久久久久 百度| 国产成年精品高清在线观看91| 精品国产91内射久久| 国内毛片无遮挡国产| 国模私拍一区二区三区神乳| 久久久久亚洲av综合波多野制衣| ji熟女.com| 91小视频| 亚洲黑丝在线| 四虎免费看黄| 蜜桃视频啊啊啊啊| 东京太热男人的天堂久久久| 久久69| 亚洲成人久久一区二区| 日本女人操逼| 佐山爱中文字幕| 97资源站久久| 国产色产精品在线观看| 国产久久成人| 天综合网| 久久久久久少妇| 久久男人的天堂| 人人操人人摸人人看人人干| 欧美色婷婷| 啊啊啊 在线| 亚洲欲色| 欧美黄色大香蕉一区二区| baisiav| 午夜九九| 色噜噜精品一区二区三| 日韩97超碰中文字幕| 日韩电影天堂视频一区二区| 精品黄色电影| 日韩精品一区二区三区色欲| 欧亚第一综合网| 老熟女综合网| 99久久久久| 茄子社区国产精品| 天天干天天燥| 91国产大片| 亚洲开心网| 日日干夜夜干| 97鸡把在线视频| 激情四射五月天| 欧美色图片欧美色图| 亚洲欧美日韩精品久| 久久m| 视频国产精品未满十八禁止在线观看| 天天综合欧美综合| 性色AV网站| 后入内射蜜桃臀| 亚洲āv网址在线观看| 久草婷婷| 中日韩熟女| 综合熟妇一区二区三区| 97色干| 天天色图| 美女的肌被草喷水视频| 精品中文字幕第一页| 91男人天堂网| 国产AV久久久蜜爱影集| 国产区在线| 日本九九久久99播| 精品国产一区二区三区香蕉欧美| 91N综合在线| av一区二区三区 中文| 啊啊啊啊啊在线| 97超碰天天爱天天爱| 国产美女mm131爽爽爽爽| 精品在线78| 伊人久久大香线综合无码| 国产人妻天天干精品| 97超碰久久| 丝袜视频网国产90| 2025亚洲男人天堂| 亚洲经典啪啪| 欧美日韩另类在线播放| 怡红院成人视频| 久久久久密臀视频| 精品妇女一区二区三区| 肉嘟嘟www视频在线观看高清| 精品久久久久久久| 大香蕉伊然在亚洲91| 啊啊啊好湿久久| 一区二区日韩欧美久久| 国产精品久久久无码AV网站| 美女裸体无遮挡永久免费观看网站| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 神马午夜久久久| AV免费在线播放一区| 网友自拍第一页| 久久久无码精品人妻二区| 999 久久久| 亚州乱码中文字幕综合久久久| 97干在线| 小泽玛利亚一二三| 色欲天天综合网| 中文字幕亚韩| 亚洲欧美在线观看无码| 国产人妻天天干精品| 久久久久久久强迫| 91精品无码久久久久久久| 韩国三级色呦呦| 91天天综合| 少妇厨房愉情理伦片bd在线观看 | 丁香六月天| 欧美拳交在线播放| 日本天堂网| 伊人久久大香蕉线AV五月天| 天天插夜夜爽| 60秒免费视频| 97中文热色| 超碰日韩人妻| 操逼天美3区| 亚洲国产一区二区三区四区国产| 人妻日日干| 亚洲综合五月天婷婷丁香| 91久久久久久久久久久| 久久999久| 人妻激情视频| 99人妻碰碰碰久久久久禁片| heyZO天然素人无码AⅤ专区| 人、人、摸,人、人、草| 六月婷婷综合| WWW.加勒比人妻一区不卡.com| 日韩综合第八区国产精品| 成人线上超碰| 亚洲美女自拍偷拍视频| 日韩一级二级| 亚洲素人综合| 久久久久久久久久va| av一区二区三区 中文| 美女的肌被草喷水视频| 国产白丝网站| 狼狼色丁香久久婷婷综合五月| 无套内射性感少妇视频| 四虎免费看黄| 久热一区二区| 99久久久久| 97天天插| 日本国产高清色www视频在线| 四虎影视在线| 日韩15p| 亚洲中文字幕精品久久久久久直播| 欧美A√综合网| 欧州一区二区三区四区| 久操大香蕉手机视频在线看| 美女91网址| 亚洲国产高清福利视频| 激情五月婷| 黄色激情电影在线观看| 人人乐大香蕉| 欧美组图日韩亚洲中文字幕| 亚洲成人综合在线| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 五月天综合网| 欧美性第一页| 五月天伊人| 国产精品盗摄 偷窥盗摄| 国产极品久久久| 日韩欧美大力操| 狠狠2050在线观看| 日韩av不卡在线观看| 日本国产二线女色| 国产精点久久久成人| 亚洲天天操| 一区二区 日韩 欧美 国产 传媒| 1769一区| 日韩精品9区| 五月天激情网图片| 在线观看中文字幕| 韩日精品福利视频一区不卡在线免| 中日韩免费看男女操逼大全| 在线毛片片免费观看| 国产亚洲国产超碰| 大香蕉综合网| 又大又长又粗又爽又黄| 国产AV线| 日韩欧美麻豆大片| 精品少妇人妻av久久免费| 久久精品老司| 中文字幕在线高清男人的天堂 | 蜜桃无码AV一区二区| 欧美97| 夜夜高潮夜夜爽夜夜爱爱一区| 91新在线欧美| 精品夜夜澡人妻无码| 成人免费福利在线观看| 99e久久国产精品| 日韩图色| 4tube欧美女厕所| 九九国产| 欧美 日韩 国产传媒| AV天堂丝袜| 91站街按摩店老熟女熟女| 国产亚洲中文不卡二区| 日本高清视频xxxx| AAAA级日本片免费视频| 日本综合色图|