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

ARTICLE DETAIL

資訊詳情

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

ODrive固件解析:從STM32定時(shí)器時(shí)基到8kHz控制環(huán)的實(shí)現(xiàn)

ODrive固件解析:從STM32定時(shí)器時(shí)基到8kHz控制環(huán)的實(shí)現(xiàn) 直接開工。搞過(guò) ODrive 的人都知道這玩意兒在電機(jī)控制圈子里是個(gè)“繞不開的參考系”。開源、硬件設(shè)計(jì)漂亮、固件質(zhì)量高而且它那套代碼里藏了不少底層細(xì)節(jié)普通 demo 工程里根本看不到。尤其是從定時(shí)器時(shí)基到 8 kHz 控制環(huán)這一整條鏈路幾乎是所有想深入 FOC 控制、想自己移植固件、或者想搞明白“為什么我的電機(jī)跑起來(lái)噪音那么大”的人的必修課。這一篇是系列的第二篇核心就一件事講清楚 ODrive 固件里定時(shí)器時(shí)基是怎么搭建的又是怎么一步步把它變成實(shí)際執(zhí)行 PID 控制律的 8 kHz 控制環(huán)。這里會(huì)涉及 STM32 定時(shí)器的底層配置、PWM 生成、更新中斷觸發(fā)、以及中斷服務(wù)程序里的任務(wù)調(diào)度最終帶你把整個(gè)調(diào)用鏈路串起來(lái)。適合誰(shuí)看想讀 ODrive 源碼但不知道從哪下手的用 STM32 自己寫 FOC 想抄作業(yè)的以及已經(jīng)在跑 ODrive 但總感覺(jué)“里面有事兒”的好奇派??赐赀@篇你應(yīng)該能說(shuō)出“8 kHz 控制環(huán)”到底是哪個(gè)中斷拉起來(lái)的那個(gè)中斷里又干了哪些事。1. 內(nèi)容整體設(shè)計(jì)與思路拆解1.1 先搞清楚 8 kHz 控制環(huán)到底是個(gè)什么概念很多人一聽“控制環(huán)”第一反應(yīng)是“一個(gè) PID 循環(huán)”。這句話不算錯(cuò)但對(duì) ODrive 來(lái)說(shuō)控制環(huán)不是一個(gè) while(1) 里跑的邏輯而是一個(gè)被定時(shí)器中斷精確驅(qū)動(dòng)的硬實(shí)時(shí)任務(wù)。在 ODrive 固件里它把控制邏輯分成了好幾層電流環(huán)最內(nèi)層負(fù)責(zé)把 d/q 軸電流快速壓到目標(biāo)值頻率最高。速度環(huán)中間層基于編碼器測(cè)速得到的速度值輸出電流指令。位置環(huán)最外層基于目標(biāo)位置和實(shí)際位置的誤差輸出速度指令。ODrive 把這幾個(gè)環(huán)放在同一個(gè)定時(shí)器中斷里跑整個(gè)控制周期的頻率就是 8 kHz。也就是說(shuō)每過(guò) 125 微秒CPU 會(huì)強(qiáng)制暫停當(dāng)前手頭的事跳到中斷服務(wù)函數(shù)依次完成編碼器讀數(shù)、坐標(biāo)變換、PID 計(jì)算、PWM 占空比更新然后再跳回去干之前的事。為什么是 8 kHz這其實(shí)是幾個(gè)約束條件折中的結(jié)果STM32F405 的 CPU 主頻是 168 MHz8 kHz 意味著每個(gè)控制周期約有 21000 個(gè) CPU 周期可用。電流環(huán)需要在一個(gè)周期內(nèi)完成至少一次完整的 Clarke/Park 變換加 PI 運(yùn)算再加上速度環(huán)、位置環(huán)的 PID運(yùn)算量不小??刂祁l率越高電流環(huán)帶寬越高電機(jī)噪音和振動(dòng)越小但 CPU 壓力也越大。8 kHz 不是隨便拍腦袋定的它是一個(gè)在“能帶動(dòng)多少運(yùn)算量”和“控制性能還需要提升多少”之間的平衡點(diǎn)。后續(xù)你會(huì)看到ODrive 里很多參數(shù)都跟這個(gè)頻率掛鉤比如電流環(huán)的 PI 增益、濾波器的截止頻率、甚至看門狗的超時(shí)判斷。所以先記住這個(gè)數(shù)8 kHz 是 ODrive 固件的控制心跳頻率。1.2 時(shí)基選型為什么用定時(shí)器而不是 SysTickODrive 固件運(yùn)行的平臺(tái)是 STM32F405/F407 系列這個(gè)系列提供了多個(gè)定時(shí)器。這里就涉及一個(gè)關(guān)鍵選擇為什么控制環(huán)的中斷源用的是高級(jí)定時(shí)器 TIM1而不是大家更熟悉的 SysTick滴答定時(shí)器如果你看過(guò)一些 STM32 工程會(huì)發(fā)現(xiàn)很多人用 SysTick 做延時(shí)或者做簡(jiǎn)單的時(shí)間片輪詢。SysTick 確實(shí)簡(jiǎn)單Cortex-M 內(nèi)核自帶不用翻手冊(cè)就能配好。但它有一個(gè)先天不足SysTick 的優(yōu)先級(jí)是固定的你沒(méi)法把它調(diào)成比外設(shè)中斷更高的優(yōu)先級(jí)。在電機(jī)控制這種場(chǎng)景里控制環(huán)必須搶占一切不能容忍被串口中斷、USB 中斷打斷。一旦控制中斷被其他中斷延誤電流環(huán)的執(zhí)行時(shí)間跳動(dòng)會(huì)直接反映在電機(jī)噪音和電流波形上。TIM1 是高級(jí)定時(shí)器它不僅可以輸出帶死區(qū)的互補(bǔ) PWM還自帶更新中斷。ODrive 的巧妙之處在于它讓 TIM1 既承擔(dān) PWM 輸出職責(zé)又承擔(dān)控制環(huán)中斷來(lái)源一份硬件資源兩重功能這是非常典型的嵌入式思路。軟件上把中斷優(yōu)先級(jí)設(shè)為最高保證任何時(shí)刻控制中斷來(lái)了都能打斷其他任務(wù)。你需要理解的核心思路是控制環(huán)的中斷源不一定非要用定時(shí)器但必須滿足兩個(gè)條件——可精確配置頻率、優(yōu)先級(jí)足夠高。用定時(shí)器是 STM32 平臺(tái)上一個(gè)很自然、很成熟的方案。SysTick 在這種硬實(shí)時(shí)場(chǎng)景里不具備優(yōu)勢(shì)。1.3 從定時(shí)器到控制環(huán)的整體鏈路先給你一張“地圖”把整個(gè)過(guò)程在邏輯上畫出來(lái)。ODrive 固件啟動(dòng)后進(jìn)入 main 函數(shù)完成一堆初始化最后進(jìn)入一個(gè) while(1) 主循環(huán)。但主循環(huán)里干的全是慢節(jié)奏的事USB 通信、日志輸出、參數(shù)保存、狀態(tài)機(jī)切換這些。真正干控制活的是那段中斷驅(qū)動(dòng)的代碼。整個(gè)鏈路是這樣走的初始化階段配置 TIM1 的時(shí)基讓它產(chǎn)生頻率為 8 kHz 的更新事件開啟更新中斷并把 NVIC 里 TIM1_UP_TIM10 的中斷優(yōu)先級(jí)調(diào)到最高。啟動(dòng)階段使能定時(shí)器計(jì)數(shù)TIM1 開始跑更新中斷開始按 125 微秒一次的頻率觸發(fā)。運(yùn)行階段每次進(jìn)入中斷服務(wù)函數(shù)依次執(zhí)行“讀編碼器/讀電流采樣值 → 電流環(huán) FOC 計(jì)算 → 速度環(huán) PID → 位置環(huán) PID → 更新 PWM 比較寄存器”。主循環(huán)階段處理對(duì)實(shí)時(shí)性不敏感的任務(wù)比如通過(guò) USB 接收上位機(jī)的指令、解析參數(shù)、打印狀態(tài)。這個(gè)結(jié)構(gòu)中主循環(huán)像是一個(gè)“后臺(tái)辦公室”處理各種不急的瑣事定時(shí)器中斷像是“生產(chǎn)線上的節(jié)奏器”每 125 微秒發(fā)出一聲“干活了”把控制任務(wù)從上一道工序推到下一道工序。硬件中斷的確定性保證了控制周期的穩(wěn)定這正是電機(jī)控制領(lǐng)域最核心的追求。2. 核心細(xì)節(jié)解析與實(shí)操要點(diǎn)2.1 定時(shí)器時(shí)基的計(jì)算與配置要理解 ODrive 的代碼你得先能自己把時(shí)基算出來(lái)。這一步不難但很容易搞錯(cuò)。STM32 的時(shí)基由三個(gè)寄存器控制PSC預(yù)分頻器、ARR自動(dòng)重載值、以及時(shí)鐘源頻率。公式非常簡(jiǎn)單定時(shí)器頻率 定時(shí)器時(shí)鐘源頻率 / (PSC 1) / (ARR 1)ODrive 用的 STM32F405TIM1 掛在 APB2 總線上。當(dāng)系統(tǒng)主頻 168 MHz、APB2 預(yù)分頻系數(shù)為 1 時(shí)TIM1 的時(shí)鐘頻率就是 168 MHz。如果 APB2 分頻為 2則定時(shí)器時(shí)鐘為 84 MHz此時(shí)定時(shí)器會(huì)額外倍頻到 168 MHz具體要看芯片的時(shí)鐘樹。要實(shí)現(xiàn) 8 kHz可以用很多組合比如PSC 0ARR 20999頻率 168 MHz / 1 / 21000 8000 HzPSC 1ARR 10499頻率 168 MHz / 2 / 10500 8000 HzPSC 83ARR 249頻率 168 MHz / 84 / 250 8000 Hz第一種組合 ARR 偏大適合需要較長(zhǎng)周期的 PWMODrive 里因?yàn)?TIM1 同時(shí)還要輸出 PWMPWM 頻率和微步細(xì)分有關(guān)所以它的 PSC 和 ARR 需要綜合計(jì)算。打開固件源碼你會(huì)看到timer_freq和pwm_freq這兩個(gè)變量被反復(fù)計(jì)算就是在調(diào)這組參數(shù)。有一個(gè)細(xì)節(jié)值得注意ODrive 支持 PWM 中心對(duì)齊模式也就是定時(shí)器計(jì)數(shù)先往上加、再往下減。這種模式下的更新事件頻率是 PWM 頻率的兩倍一個(gè)完整的三角波周期產(chǎn)生兩次溢出中斷如果你不理解這一點(diǎn)后面分析中斷觸發(fā)頻率時(shí)會(huì)卡住。2.2 中斷服務(wù)函數(shù)的編寫風(fēng)格ODrive 的中斷服務(wù)函數(shù)寫得非常干凈沒(méi)有一堆 if-else。它直接在中斷里調(diào)用一個(gè)統(tǒng)一的入口函數(shù)然后這個(gè)入口函數(shù)內(nèi)部會(huì)做一次“當(dāng)前階段判斷”決定這一拍要執(zhí)行什么任務(wù)。看代碼的時(shí)候你會(huì)發(fā)現(xiàn)ODrive 的 TIM1 中斷服務(wù)函數(shù)本身非常短真正的大頭在Motor::update()這類函數(shù)里。這種風(fēng)格的好處是中斷入口保持極短減少中斷延遲控制邏輯獨(dú)立成類方便復(fù)用和測(cè)試。這里給你一個(gè)實(shí)操層面的建議寫電機(jī)控制代碼時(shí)不要往中斷里塞浮點(diǎn)打印、塞日志、塞編碼器數(shù)據(jù)的串口發(fā)送。你在調(diào)試時(shí)可能會(huì)忍不住想“順便發(fā)個(gè)數(shù)據(jù)看看波形”但只要串口傳輸時(shí)間超過(guò)了控制周期控制環(huán)就被你親手毀了。ODrive 的做法是中斷里只操作共享內(nèi)存標(biāo)志通信任務(wù)由主循環(huán)統(tǒng)一處理。2.3 優(yōu)先級(jí)與搶占為什么 NVIC 配置必須正確NVIC嵌套向量中斷控制器的優(yōu)先級(jí)配置是 ODrive 能穩(wěn)定運(yùn)行的又一關(guān)鍵。Cortex-M4 支持搶占優(yōu)先級(jí)和子優(yōu)先級(jí)。ODrive 把 TIM1 更新中斷的搶占優(yōu)先級(jí)設(shè)為最高這樣任何時(shí)刻來(lái)了控制中斷其他中斷都得讓路。哪怕你正在處理 USB 傳輸控制中斷來(lái)了也會(huì)先打斷 USB 服務(wù)函數(shù)跑完控制任務(wù)再回去繼續(xù)處理 USB。我見過(guò)不少人把控制中斷的優(yōu)先級(jí)和串口中斷設(shè)成相同優(yōu)先級(jí)或者只比串口高一點(diǎn)點(diǎn)結(jié)果電機(jī)運(yùn)行的時(shí)候偶發(fā)抖動(dòng)電流波形上出現(xiàn)毛刺。原因很簡(jiǎn)單串口中斷本來(lái)就頻繁如果控制中斷排隊(duì)等串口處理完那這個(gè)周期的控制計(jì)算就被延遲了執(zhí)行時(shí)間抖動(dòng)自然體現(xiàn)在電機(jī)噪音里。正確配置分兩步在NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority里設(shè)置最高搶占優(yōu)先級(jí)。確保NVIC_IRQChannelSubPriority不會(huì)因?yàn)槠渌?jí)中斷導(dǎo)致?lián)屨蓟靵y。需要記住的是分配給控制環(huán)中斷的時(shí)間資源是定死的一旦被搶走這個(gè)控制周期就補(bǔ)不回來(lái)。這是硬實(shí)時(shí)系統(tǒng)的基本特性。2.4 時(shí)基相關(guān)的幾個(gè)“坑”很多人把 ARR 配置成 PWM 頻率對(duì)應(yīng)的值卻發(fā)現(xiàn)更新中斷頻率不對(duì)原因就是上面說(shuō)的中心對(duì)齊模式下更新事件觸發(fā)在頂點(diǎn)和底點(diǎn)。有些定時(shí)器配置需要在初始化時(shí)額外生成一次更新事件否則第一次中斷不會(huì)來(lái)。PSC/ARR 修改后需要重新初始化定時(shí)器或者使用影子寄存器功能否則會(huì)出現(xiàn)一個(gè)周期內(nèi) PWM 頻率突變的問(wèn)題。我對(duì)這項(xiàng)工程印象最深的一點(diǎn)是ODrive 里為了精確限制 PWM 的更新頻率專門用了一個(gè)叫PWM_UPDATE_MECH的機(jī)制它保證 PWM 在線更新時(shí)的相位同步這種細(xì)節(jié)如果不是自己調(diào)過(guò)毛刺很難想到。3. 實(shí)操過(guò)程與核心環(huán)節(jié)實(shí)現(xiàn)3.1 時(shí)基初始化代碼分析打開 ODrive 固件源碼找到init_pwm()函數(shù)核心工作就是配置 TIM1。我在這里用偽代碼加注釋的方式還原一下配置流程方便你對(duì)照源碼理解void init_pwm(TIM_TypeDef* TIMx) { // 1. 先把定時(shí)器時(shí)鐘打開以 APB2 為例 RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE); // 2. 時(shí)基單元初始化設(shè)定 PSC 和 ARR TIM_TimeBaseInitTypeDef tim_init; tim_init.TIM_Prescaler 你算好的 PSC; tim_init.TIM_Period 你算好的 ARR; tim_init.TIM_CounterMode TIM_CounterMode_CenterAligned1; // 中心對(duì)齊模式 TIM_TimeBaseInit(TIMx, tim_init); // 3. 如果是中心對(duì)齊模式需要單獨(dú)設(shè)置更新中斷的觸發(fā)時(shí)機(jī) // 一般在頂點(diǎn)/底點(diǎn)都觸發(fā)實(shí)際頻率為 PWM 頻率的 2 倍 // 4. 使能更新中斷 TIM_ITConfig(TIMx, TIM_IT_Update, ENABLE); // 5. 使能定時(shí)器 TIM_Cmd(TIMx, ENABLE); }這一段就能解釋很多事TIM_Period決定了 PWM 的周期也決定了更新中斷的間隔。如果你手頭跑的是 ODrive v3.x 固件默認(rèn)的 PWM 頻率在 20k~40k 之間配合中心對(duì)齊模式更新中斷頻率變成 PWM 頻率的兩倍。但是ODrive 內(nèi)部會(huì)配置成“只在底點(diǎn)觸發(fā)中斷”這樣就保證中斷頻率仍然是 8 kHz同時(shí) PWM 頻率更高能有效降低電機(jī)噪音。實(shí)測(cè)下來(lái)這一步配置正確與否區(qū)別非常大配置錯(cuò)了控制環(huán)頻率變成 PWM 頻率的另一倍電流環(huán)參數(shù)就得重新調(diào)。3.2 PWM 比較寄存器更新定時(shí)器時(shí)基只是骨架真正的控制輸出體現(xiàn)在 PWM 占空比上。FOC 控制最后一步是生成三路 SVPWM 信號(hào)每路信號(hào)的占空比對(duì)應(yīng)逆變器三相的開關(guān)狀態(tài)。ODrive 的做法是在控制中斷里算出三相占空比數(shù)值然后寫入 TIM1 的三個(gè)比較寄存器CCR1/CCR2/CCR3。因?yàn)閱⒂昧祟A(yù)裝載寄存器實(shí)際的比較值更新會(huì)發(fā)生在下一個(gè)周期開始時(shí)這樣避免了一個(gè)周期內(nèi) PWM 占空比突變導(dǎo)致的電流畸變。這個(gè)“預(yù)裝載”機(jī)制用生活類比來(lái)說(shuō)有點(diǎn)像樂(lè)隊(duì)指揮。指揮定時(shí)器給每個(gè)樂(lè)手比較寄存器一個(gè)樂(lè)譜預(yù)裝載值但樂(lè)手們不會(huì)在指揮手一揮的瞬間立刻改而是等到這個(gè)小節(jié)結(jié)束、下一小節(jié)開始的時(shí)候才統(tǒng)一翻頁(yè)。這樣就保證了每個(gè)人都在同一個(gè)節(jié)拍點(diǎn)切換不會(huì)有人早半拍有人晚半拍。3.3 執(zhí)行頻率驗(yàn)證方法怎么確認(rèn)系統(tǒng)真的是按 8 kHz 在跑你不會(huì)去用示波器測(cè)量中斷執(zhí)行時(shí)間——測(cè)一個(gè)中斷執(zhí)行時(shí)間實(shí)際上是很難的事情。常見的做法是在中斷服務(wù)函數(shù)入口翻轉(zhuǎn)一個(gè) GPIO。用示波器看這個(gè) GPIO 的方波頻率就能直接讀出控制環(huán)頻率。再用示波器測(cè)量中斷執(zhí)行時(shí)間也就是 GPIO 高電平的寬度就能看出每個(gè)控制周期用了多少 CPU 時(shí)間。實(shí)測(cè) ODrive 在 8 kHz 控制頻率下完整跑完一輪電流環(huán)速度環(huán)位置環(huán)大約占用 80~120 微秒。這個(gè)數(shù)字和 125 微秒的控制周期一比你會(huì)發(fā)現(xiàn)在 CPU 還有余量。那為什么不用 16 kHz因?yàn)殡娏鳝h(huán)的帶寬不光取決于執(zhí)行頻率還受限于 ADC 采樣時(shí)間、PWM 死區(qū)時(shí)間、編碼器讀取延遲等因素頻率翻倍并不代表性能翻倍。3.4 中斷到控制環(huán)的調(diào)用鏈ODrive 里中斷服務(wù)函數(shù)和你真正想找的 PID 邏輯之間隔了一層“調(diào)度邏輯”??聪潞?jiǎn)化后的調(diào)用順序TIM1_UP_TIM10_IRQHandler - Motor::update() - read_encoder() / read_current() - current_controller_.update() - controller_.update() // 包含位置環(huán)、速度環(huán)邏輯 - write_pwm_commands()每一步都有講究。讀編碼器必須在控制周期開始階段做越早越好因?yàn)榫幋a器讀數(shù)越接近這個(gè)周期開始時(shí)的真實(shí)速度速度環(huán)的采樣延遲越小。讀電流采樣值也類似它直接決定了電流環(huán)的響應(yīng)質(zhì)量。控制環(huán)的實(shí)際執(zhí)行順序是內(nèi)環(huán)電流環(huán)先執(zhí)行外環(huán)速度/位置后執(zhí)行。之所以電流環(huán)最優(yōu)先是因?yàn)殡娏鳝h(huán)的反電動(dòng)勢(shì)更快延遲會(huì)導(dǎo)致電流相位滯后直接影響力矩輸出的精度。3.5 主循環(huán)與中斷的數(shù)據(jù)交換主循環(huán)和中斷經(jīng)常需要共享數(shù)據(jù)比如用戶通過(guò)上位機(jī)改了速度指令這個(gè)指令需要通過(guò) USB 中斷傳到主循環(huán)再在主循環(huán)里寫入共享內(nèi)存下一拍控制中斷就會(huì)讀到新的目標(biāo)值。這個(gè)數(shù)據(jù)交換的實(shí)現(xiàn)處處體現(xiàn)“無(wú)鎖編程”的思想。中斷里只是讀取共享變量主循環(huán)只在安全時(shí)機(jī)修改共享變量或者用獨(dú)立的緩沖區(qū)完成狀態(tài)同步。你在源碼里不會(huì)看到一堆 mutex那是因?yàn)?ODrive 故意把數(shù)據(jù)流設(shè)計(jì)成了單生產(chǎn)者單消費(fèi)者的模式。真要在自己的工程里復(fù)刻這套邏輯先別急著加鎖先想想你的數(shù)據(jù)流是不是單向的。單向數(shù)據(jù)流加上內(nèi)存屏障基本就夠了。4. 常見問(wèn)題與排查技巧實(shí)錄4.1 控制環(huán)頻率不對(duì)的排查步驟這是最常遇到的問(wèn)題。你按照源碼改了參數(shù)覺(jué)得應(yīng)該是 8 kHz但測(cè)量出來(lái)要么翻倍要么減半。第一步確認(rèn) TIM1 的時(shí)鐘源頻率。很多人從別的工程拿了初始化代碼芯片主頻不同APB2 分頻不同時(shí)基就差出來(lái)了。用 debugger 直接讀 RCC_CFGR 寄存器的值這個(gè)最靠譜。第二步確認(rèn)計(jì)數(shù)器模式。如果你用的是中心對(duì)齊更新事件頻率和 PWM 頻率的關(guān)系是兩倍關(guān)系。尤其要注意 ODrive 里使用的是 CenterAligned1 模式更新中斷在計(jì)數(shù)頂點(diǎn)和底點(diǎn)都會(huì)觸發(fā)必須檢查中斷標(biāo)志位過(guò)濾邏輯。第三步看中斷優(yōu)先級(jí)有沒(méi)有被其他頻繁中斷搶占。如果中斷優(yōu)先級(jí)配錯(cuò)控制中斷的執(zhí)行間隔會(huì)出現(xiàn)偶發(fā)變長(zhǎng)你在示波器上看到的不再是干凈的方波。我處理過(guò)最多的 case 是明明代碼沒(méi)問(wèn)題但控制環(huán)頻率偏了最后發(fā)現(xiàn)是 APB2 分頻設(shè)置被別的初始化函數(shù)改了。建議每次配置定時(shí)器之前先打印一下定時(shí)器時(shí)鐘頻率。4.2 電機(jī)運(yùn)行時(shí)抖動(dòng)、噪音大的原因噪音大的原因往往不是 PID 參數(shù)太激進(jìn)而是底層時(shí)基不干凈。如果控制環(huán)執(zhí)行時(shí)間抖動(dòng)在幾個(gè)微秒以上電流環(huán)輸出的相位噪聲會(huì)直接變成電機(jī)抖動(dòng)。這里有個(gè)實(shí)用的診斷方法把控制環(huán)的執(zhí)行時(shí)間測(cè)出來(lái)把執(zhí)行時(shí)間的波形和電流波形放到同一個(gè)時(shí)間軸上對(duì)比。如果電流波形上的毛刺出現(xiàn)的位置和執(zhí)行時(shí)間變長(zhǎng)的位置重合那問(wèn)題就在中斷優(yōu)先級(jí)或者中斷阻塞上。還有一個(gè)隱蔽的原因電流采樣值是在 PWM 計(jì)數(shù)器頂點(diǎn)觸發(fā)的 ADC 采樣的如果你把采樣點(diǎn)配置錯(cuò)了采樣到的電流值會(huì)帶有巨大的開關(guān)噪聲進(jìn)而導(dǎo)致電流環(huán)計(jì)算出來(lái)的占空比噪聲放大。4.3 定時(shí)器更新中斷偶爾丟失的問(wèn)題定時(shí)器更新中斷不會(huì)“丟”但確實(shí)會(huì)發(fā)生“被同優(yōu)先級(jí)中斷屏蔽”的情況。Cortex-M 的中斷系統(tǒng)里如果正在處理一個(gè)優(yōu)先級(jí)相同的中斷新到的中斷必須等待。而 TIM1_UP_TIM10 這個(gè)中斷向量在 ODrive 里同時(shí)也對(duì)應(yīng)用途不那么嚴(yán)格的 TIM10。如果你在代碼里開了 TIM10而又不小心把優(yōu)先級(jí)設(shè)成和 TIM1 一樣那 TIM10 的中斷就會(huì)跟控制環(huán)搶執(zhí)行時(shí)間。這種問(wèn)題的排查很痛苦因?yàn)楝F(xiàn)象像是“偶爾丟中斷”。唯一的辦法是全工程搜索所有定時(shí)器中斷把控制環(huán)中斷優(yōu)先級(jí)設(shè)為絕對(duì)最高其他所有中斷都要讓路。4.4 看門狗和暫停操作帶來(lái)的問(wèn)題ODrive 支持通過(guò)上位機(jī)暫停電機(jī)暫停操作本身會(huì)直接關(guān)閉 PWM 輸出但定時(shí)器還在跑。如果你在暫停時(shí)還需要保持控制環(huán)的編碼器讀數(shù)更新那定時(shí)器不能停。ODrive 的處理是暫停狀態(tài)只置標(biāo)志位控制環(huán)還在繼續(xù)跑只是輸出占空比被置為安全值。如果你自己寫代碼時(shí)用了“暫停就關(guān)定時(shí)器”的做法那再啟動(dòng)時(shí)要重新做同步很容易漏掉 PWM 的初始相位同步電機(jī)啟動(dòng)時(shí)會(huì)有彈跳。我的建議是暫停就封 PWM 輸出讓控制環(huán)繼續(xù)空轉(zhuǎn)。4.5 控制環(huán)頻率參數(shù)怎么調(diào)整才安全如果你想試 16 kHz 控制環(huán)不要只改定時(shí)器。你要同時(shí)確認(rèn)三件事ADC 采樣時(shí)間是否足夠短。電機(jī)驅(qū)動(dòng)芯片的硬件過(guò)流保護(hù)響應(yīng)時(shí)間是否跟得上。電流環(huán) PI 參數(shù)是否需要重新整定。頻率翻倍后執(zhí)行時(shí)間也翻倍你必須先量測(cè)新的執(zhí)行時(shí)間是否還在控制周期內(nèi)。如果執(zhí)行時(shí)間接近甚至超過(guò)控制周期那不用測(cè)也知道結(jié)果——系統(tǒng)完全不工作。我實(shí)測(cè)過(guò)ODrive 默認(rèn)狀態(tài)下的執(zhí)行時(shí)間大約在 80 微秒左右升到 16 kHz 時(shí)執(zhí)行時(shí)間會(huì)略長(zhǎng)但依然有裕量。問(wèn)題是 PID 參數(shù)需要重調(diào)不然同樣的帶寬目標(biāo)下離散化誤差變了增益也需要調(diào)整。5. 斷電重啟后時(shí)基配置的校驗(yàn)與調(diào)試5.1 上電初始化順序的講究ODrive 的初始化順序是有講究的先初始化時(shí)鐘樹再初始化 GPIO再初始化定時(shí)器最后配置中斷和全局變量。如果你把定時(shí)器初始化放在編碼器接口初始化之前有的編碼器接口配置會(huì)順手把定時(shí)器的重映射改掉導(dǎo)致時(shí)基計(jì)算對(duì)不上。調(diào)試的時(shí)候我建議你在定時(shí)器初始化函數(shù)里加一個(gè)斷點(diǎn)打印 ARR 和 PSC 的最終值先確認(rèn)這兩個(gè)數(shù)和你預(yù)期一致。然后再往下走等跑到控制中斷里再打印讀到的編碼器值確認(rèn)真實(shí)物理量進(jìn)入系統(tǒng)。5.2 一個(gè)快速驗(yàn)證時(shí)基是否穩(wěn)定的技巧想讓控制環(huán)穩(wěn)定運(yùn)行你可以不用 PID 輸出先做開環(huán)測(cè)試。給一個(gè)固定占空比跑起來(lái)看電機(jī)是不是勻速轉(zhuǎn)動(dòng)。如果電機(jī)轉(zhuǎn)動(dòng)時(shí)有明顯的卡頓感說(shuō)明控制執(zhí)行頻率不穩(wěn)定或者 PWM 更新時(shí)機(jī)不對(duì)。這個(gè)測(cè)試簡(jiǎn)單但非常有效它能幫你把“時(shí)基問(wèn)題”和“控制算法問(wèn)題”分離。時(shí)基不穩(wěn)后面調(diào)什么都白搭先解決基礎(chǔ)問(wèn)題再往上層走。5.3 關(guān)于調(diào)試接口是否影響時(shí)基的說(shuō)明很多人開著調(diào)試器跑電機(jī)的時(shí)候發(fā)現(xiàn)電機(jī)聲音跟拔掉調(diào)試器不一樣。這不是錯(cuò)覺(jué)。調(diào)試器的實(shí)時(shí)跟蹤機(jī)制會(huì)影響 CPU 執(zhí)行效率如果開啟了DEBUG_MODE里的 trace 或者頻繁斷點(diǎn)控制環(huán)的時(shí)間微調(diào)會(huì)受影響。我的建議是關(guān)閉 J-Link 的實(shí)時(shí)數(shù)據(jù)請(qǐng)求盡量不要在中斷里打斷點(diǎn)。每次打斷點(diǎn)中斷服務(wù)函數(shù)的時(shí)間特征都不一樣。你可以把數(shù)據(jù)寫到內(nèi)存里等停了再讀效果遠(yuǎn)好于打斷點(diǎn)。6. 寫在最后的個(gè)人實(shí)操心得說(shuō)實(shí)話我自己第一次讀 ODrive 源碼的時(shí)候最大的感受不是它的 FOC 算法多精妙而是它對(duì)“時(shí)間”這件事的認(rèn)真程度。每一段代碼都在小心翼翼地維護(hù)一個(gè)確定性的時(shí)間節(jié)奏。這種節(jié)奏一旦被打破什么高級(jí)算法都救不回來(lái)。從定時(shí)器時(shí)基到 8 kHz 控制環(huán)本質(zhì)上就是在回答一個(gè)問(wèn)題你憑什么保證每隔 125 微秒做一次一樣的動(dòng)作答案是用硬件定時(shí)器用嚴(yán)格的優(yōu)先級(jí)配置用不阻塞的中斷服務(wù)函數(shù)用預(yù)裝載寄存器來(lái)同步輸出。如果你打算在自己的工程里復(fù)刻這套機(jī)制先別急著抄代碼先把下面這幾個(gè)問(wèn)題想明白你的控制頻率是多少為什么是它你的時(shí)基用的是哪個(gè)定時(shí)器它和 PWM 是什么關(guān)系你的中斷服務(wù)函數(shù)里有多少事在做是不是有不必要的操作你的中斷優(yōu)先級(jí)配對(duì)了沒(méi)有還有沒(méi)有其他中斷在執(zhí)行時(shí)阻塞了控制環(huán)把這些問(wèn)題的答案寫下來(lái)再做代碼移植你會(huì)發(fā)現(xiàn) ODrive 源碼瞬間“透明”了。最后再分享一個(gè)小技巧調(diào)試時(shí)把控制環(huán)執(zhí)行時(shí)間、控制頻率、PWM 占空比更新延遲這幾個(gè)參數(shù)做成變量塞進(jìn) ODrive 自己的日志系統(tǒng)里用上位機(jī)實(shí)時(shí)拉曲線。我靠這個(gè)方法排查過(guò)好幾個(gè)詭異的問(wèn)題——某個(gè)變量看起來(lái)是平均值正常但瞬時(shí)值已經(jīng)跑飛了。這種級(jí)別的排查光靠看代碼是看不出來(lái)的。下一篇文章我會(huì)繼續(xù)拆解電流環(huán)的代碼重點(diǎn)講 Clarke/Park 變換在固件里怎么寫的、電流 PI 調(diào)節(jié)器的抗飽和機(jī)制以及 SVPWM 那段代碼背后的數(shù)學(xué)原理。到時(shí)見。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲永久永久永久永久一级一级一级精品 | 午夜福利免费福利视频| 国产精品乱码久久久久久久久| 另类综合另类| 免费作爱一级视频| 欧美视频一| 欧美日韩国产电影| 看黑人AV不卡| 免费观看欧美日韩操逼视频| 手机在线A片| 久久超碰com| 图色综合网| 亚洲最大AV网| 成人性爱av| 亚洲色图欧洲| 91麻豆天美国产欧美高潮| 亚洲人在线| www.久久| 强奸a片网| 天天干天天燥| 国产男女边吃边摸视频网站| 天天日夜干| s片在线观看| 日本一久是| 97蜜桃综合| 狠狠色色| 亚洲综合小说另类图欧美视频激情小说色五月天 | 91欧美美女日韩国产婷婷| 久久精彩免费视频| 丁香五月婷婷基地| 国产欧美精品日韩区二区麻豆天美| 综合 欧美 亚洲 日本| 日韩成人无码| 七月丁香婷婷| 日韩久久.一级黄色片| 91精品人妻偷情| 神马麻豆福利院| 人人九九精| 97视频900| 青青草原综合久久大伊人精品| 99久在线精品99re8| 亚洲黄网在哪免费看| 亚洲无码久久久久久久| 色噜噜婷婷| 96久久精品一二三区色欲| 日本性感人妻91| 综合久久97| 91制服丝袜| 变态另类专区| 一区二区影视| 黄色网址在线免费观看| 91 亚洲 欧洲| 亚洲色资源| 蜜桃狠狠色伊人亚洲综合 | 很很很很操| 麻豆天美制片厂网站视频| 亚洲AV乱码专区国产噜噜亚洲 | 四虎在线视频| 性色AV蜜色av色欲av| 欧美不在线| 国产精品 视频| 黄视频免费| 色翁荡息又大又硬又粗又爽| 免费黄色A片| 在线观看A啊啊啊| 亚洲精品天天影视综合网| 亚洲综合图色在线| 天天性射网| 超碰欧美97| 国产91影院| 中文精品一区二去| 五月综合激情| 国产青青美女玩逼视频| 一二三四区电影| 亚洲欧美另类图片| 午夜男人av| 91一起操| 伊人国产视频| 91熟女视频| av在线观看不卡网站| 欧美劲爆视频一区二区| 免费农村成人少妇人妻Aa一区二区视频| 亚洲色9| 亚洲男人的天堂网| 人人弄人人摸| 天天影视综合网欧美精品| 九九拍拍精品视频在线播放| 国产精品操| 天天看天天在线精品| 色人久久| 日韩精品一区,二区 九九...老司机| 久热这里只有精品9| 性爱视频免费网址| 五月天激情婷婷| 性色中出| 国产精品黑人一区二区三区| 日本色色网| 欧美伦乱爱| 国产品精品自在在线午夜免费| 国产高清在线观看欧美| 中文字幕一区二区三区蜜臀| 久久线上视频免费看| 欧美日韩国产另类综合| 97自拍一区| 久久精品国产亚洲AV先锋| 亚洲成人美女无吗| 久久同城AV| 一本色道无码DVD中文字幕| 一块操欧美性爱| 香港日本韩国人妇99www.wccm20| 98人妻精品一区二区色欲| 99久久99久久综合| 91性情| 亚州AV无码国产精品| 久久久久亚洲Av无码专区老牛影视| 亚洲国产成人精品无码专区| 亚洲情色一区二区三区| 欧美自拍偷拍免费观看| 欧美综合777| 啪啪啪东京| 日韩精彩免费| 亚洲精品一区二区精品| 大肉棒导航| 亚洲一区日韩精品| 色偷偷色偷偷欧美日韩| 看免费的黄片| av草草在线电影| 粉嫩在线一区二区懂色| 国产尤物在线三区| 欧美啪啪女女| 亚洲欧洲av影音| 久久最新免费视频23| 日本αv| 狠狠搞 亚洲91| 第四色奇米影视777| 久草新免费| 制度丝袜99| 亚洲精品97中文字幕| 欧美大香蕉同搞| 欧美少妇高潮久久91| 久久毛卡| 欧美日韩久久精品爱爱| 最新av在线| 自慰白浆在线观看| AV女优男人的天堂| 欧美激情视频一区二区三区不卡| 日本中文熟女视频| 熟人人妻少妇精品久久| 久草色悠悠在线视频| 亚洲欧洲综合成人av一区| 人妻熟女一区二区三区在线| 久久久九九网站| 亚洲天堂男人| 久久成人午夜狠狠| 性爱综合一区二区| 日韩熟女精品无码专区一区二区| 动漫爆乳3D奶水一区在线观看| 五月丁香影院| 亚洲校园激情| 欧美日韩性爱操大逼| 色大师网站www永久网站视频| 亚洲欧美综合| 黄色高清久久无码依人| 性久久久| 久草男人天堂| 人人操人人大香蕉| 天天日熟妇| 中文字幕亚韩| 亚洲另类色综合网站| 欧美专区第一页| 中文一区在线日| 亚洲成aⅴ人片不卡无码| 男女性感激情网站| 新亚洲无码| 91新在线欧美| 国产女人高潮视频| 日本狠狠干| 人人色97| 火箭成精品视频884必出精品| 日本黄色大片一级视频免费麻豆| 91 丝袜在线播放| 精品免费1| 人人摸.人人色| 午夜精品久久久99热蜜桃的功能特点| 色啪网| 国产精品直播在线观看直播| 精品亚州18| 五月天综合网| 视频在线观看免费一区二区三区 | 视频在线97| 久久午夜伦| 午夜超爽| 日韩一区二区精彩视频| 国产夫妻性生活视频| 青青操在线亚洲视频观看欧美在线 | 超碰 国产熟女精品一区| www.99色| 日日碰狠狠添天天爽超| 明星性猛交ⅹxxx乱大交| 97视频免费在线| 日本九九久久99| 中文字幕在在线观看网站| 婷婷五月天影院| 一级aaaaa欧美中文字幕录像片| 96一区二区| 国产黑白丝在线| 熟女高潮合集-永久久久-成人AV| 亚洲18禁| 国产传媒美日韩av| 蜜桃av色偷偷av老熟女| 大香蕉碰碰| 强奸乱伦免费网站| 91麻豆天美国产| 日韩一级二级| 嗯,啊。舔我逼| 91成人无码| 秋霞网—男女啪啪亚洲免费体验区 | 乱伦3P视频| 欧美美女自慰一区二区三区| 9/A片| 中文字幕伊人| 无码高清少妇久久| 国产精品成人无码av| 操操逼视频| 国产精品伦理| 中文字幕AV中出| 久久国产乱子伦精品免费女,网站| 99精品九九九九九九| 日日摸日日碰夜夜爽视频| 东京热大香蕉| av无码av无码专区| 国产这里只有精品| 极品内射| 午夜爽爽爽| 国产日韩欧美操逼视频| 91狼人| 情色AV电影| 人妻美腿丝袜日韩| 国产精品无码成人精品| 艹比视频国产精品| 吉田爱美AV在线| 91欧| 久操视频资源站公开| 激激五月| 欧美熟妇色| 岛国毛片在线观看免费| 天天影视综合网欧美精品| 热热热热日日漂亮永久永久国产日| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 人妻熟女一区二区三区在线| 欧美高潮| 日韩乱伦AⅤ| 射 色综合| 嗯嗯不要视频| 色yeye成人免费视频| 婷婷久久久精品| 欧美亚洲韩国视频十五区 | 久久久一区二区三区四区五区| 精品久久久久久久久久久久| 亚洲成人精品在线一区| 亚洲吊色| 荡小穴在线观看| 91 欧美| 欧美日韩大黄片| 18啪啪手机免费性爱| 亚洲无码成人精品| 秋霞 色色| 91色艳| 日韩无码视频黄色| 97在线视频免费看| 日韩黄色小说| 福利天堂| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 国产精品分类在线观看| 男女真人网18| 久久久性爱| 91碰碰碰| 亚洲 自拍偷拍 欧美| 日韩精品大香蕉伊人在线| 蜜乳性色无码专日粉嫩骚逼AV| 色大香蕉97N| 国产九九九九九九九九| 操熟女91| 日本天天干天天搞一区| 亚洲国产欧美中日韩成人综合视频| 欧美色图自拍| 日韩精品高清资源在线| 综合影视国产无码| 97精| 欧美亚洲综合999| 欧美亚涩| 香蕉人人操tv| 欧美日韩黄片精品在线| 日韩有码中文字幕女同性恋| 免费网站观看www在线观| 国产尹人在线视频免费| 成人午夜高潮av猛片| 91亚洲最新在线| 天堂在线一区二区| 极品五月天噜噜| 日本熟女中文| 伦伦成年午夜免费视频| 一级性爱视频免费观看 | 美女网站黄页| 自拍第一页| 无码av永久免费专区网站| 中文字幕天天操| 亚洲91在线播放影院| 日韩无码一级黄色av片| 激情小说亚洲| 亚洲欧美另类激情小说| 天天激情干| 天天搞在线综合网| 97综合久久| 大香蕉免| 动漫爆乳3D奶水一区在线观看| 欧美综合97www| 一本正道久久熟女| 亚州少妇| 大香蕉久操| 99久在线精品99re8热| 欧美性巨大╳╳╳╳╳高跟鞋| 在线中文字幕| 国产美女口爆吞精视频| 伊人精品久久网站| 一区二区三区四区免费视频| 国产视频一区二区免费| 国产自偷自拍一区| 国产AV超爽| 国产成人久久久精品免费AV| 亚洲欧美日韩精品久| 丁香九月激情啪| 男人的天堂一区三区| 操逼操操操91| 国产按摩一区二区三区| 吻戏激情性巴克| 日本一本一区二区三区四区五区欧美日韩中文字幕 | 亚洲国产精品成人综合| 亚洲欧美高清无码| 国产成人手机视频激情| 丁香成人五月天| 精品少妇后入一区二区三区四区人妻巨乳| 97久久精品亚洲| 好看的91视频| 久久久78| 久久丁香久草综合网| 欧美日韩亚洲一区二区在线观看 | 久久久久亚洲av综合波多野制衣| 中文字幕一区二区韩| 亚洲一区日韩精品中文字幕 | 韩国黄色片精品久久久| 亚洲中文日韩欧美大香蕉视频| 精品国产av一区二区三区四区入口| 97天天操天天干| 欧美亚洲| 韩国一区二区精品亚洲| 国产人妻久久精品一区二区三区| 亚洲精品国产专区在线观看| 色香色欲天天综合网天天来吧| 宅男影院久久久,99| 欧美天天干| 四虎影视永久在线观看精品免费网站| 美国一区二区免费视频| 久久国产精品,久久国产| 一区二区三区色综合| 黑人综合网| 五月天黄色激情视频| 青青伊人这里只有精品| 亚洲精品毛片在线观看| 在线播放一级无码视频| 综合色播| 国产超碰人人爽人人做| 日韩福利综合一区| 久久成年片色大黄全免费网站| 亚洲图片 91| 国产亚洲日本精品在线| 日韩欧美国产高清视频| 欧美αv.com| 三级AV入口| 欧美97在线欧| 丰满人妻一区二区三区免费| 啊啊啊啊在线播放| 91处女在线视频| 蜜桃视频一区二区三区| 99啪啪| 日本熟妇熟色97一本在线观看| 性爱乱伦网址| 亚洲色啪| 九九成人| 人妻天天爽夜夜爽精品2| 性做久久久久久免费观看软件| 夜间福利片1000无码| 综合久久久久久久综合网| 操www| 在线国产福利网址导航| 多毛小伙内射老太婆| 26uuu性物| 欧美真人抽搐一进一出gif| 九九九热| 国产丝袜欧美在线视频| 亚洲毛片一级带毛片基地| 可能人人看人人摸| 亚洲欧美在线观看2021| 99热久| 色综合天天| 老鸭窝亚洲毛片| 91久精品| 都市激情人妻一区二区青青操视频 | 久青草影院| 天天综合,91综合永久| 天天影视网综合少妇| 91大胆欧美| 成人五月天色网| 囯产精品强| 97资源站国产精品| 精品国产乱码久久久久久蜜臀| 色吧 综合| 人人妻人人澡人人爽人人精品浪潮| 蜜桃久久一区二区| 亚洲精品99| 五月花婷婷| 国产一区麻豆免费观看| 丝袜亚洲91| 免费在线视频97| 青青色在线观看| 日韩中文字幕精品一区在线| 岛国在线一区二区三区| 欧美日韩99精品麻豆传媒| 蜜伊人色综合97| 97热视频在线观看| 亚洲精品人体| 国产精品一级片在线看| 五月婷婷六月天| 色播五月婷婷| 国产农村妇女精品1区二区| 91超碰碰在线| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 国产精品一二三区福利| 粉嫩久久久久| 国产精品免费1区2区视频| 日本肉体xxxx裸交| 偷拍超碰| 亚洲加勒比| 久操网无码在线| 无码99| 超碰这里有精品| 97爱爱| 日本午夜福利影院| 国产av色网| 欧美v亚洲v综合v国产v妖精| 国产精品三级视频网站| 欧美色偷拍| 精品人妻一区二区蜜桃视频| 秋霞一级A片黄色视频| 美女被艹尤物视频| 51一区二区三区| 尤物网址| 亚洲妇色| 日本不卡一区| 欧美天天拍| 欧美淫乱视频| 美女国产一区二区久久| 97久久精品亚洲中六字幕| 天天亚洲| 婷婷六月天| 中日韩久久久免费看| 夜夜骑夜夜操| 人妻少妇色综合| 色哟哟av| 国产精品视频精品一二| 蜜桃AV天堂| 国产偷拍自拍在线视频| 欧美一级专区免费大片| 久操操AV电影| 亚洲日韩少妇一道本视频| 国产亚洲性生活视频播放| 欧美性爱97超碰| 三级色影综合网| 超踫中文字幕| 亚洲色图一区二区三区| 精品一区二区三区蜜桃臀赵总 | 蜜臀99久久| 人人妻人人操人人乐| 淫淫综合网| 一区二区娱乐网站| 亚洲一二三四区| 丁香五月激情综合| 色欲av国内精品久久久久久| av九九| 黄骗免费网站| 日韩影片中文字幕一区二区三区| 日韩欧美加勒比| 少妇500双飞99| 人妻丰满熟妇一区二区三| 韩国女主播青草在线| 亚洲图片日本AⅤ欧美在线| 久久久久久久久久久999| 日逼视频日本| 天天综合91入口| 国产精品无码在线| 91综合网站| 高清不卡一二三区视频......| 欧美一区二区男人天堂| 久热久操| 丁香五月色| 色噜噜国产精品视频一区二区| 久草大| 日韩三级伦理中文字幕| 青青欧洲黑| 凸凹视频在线观看| 成人五级久久| av草草在线电影| 97色色视频| 无码人妻一区二区三区四区老鸭窝| 欧美色偷拍| 亚洲91在线播放影院| 亚洲熟女少妇免费视频| 日韩内射视频| 91精品无码人妻系列| 久热热| 久久国产视频专区一二三| 国产日逼视频| 亚洲91射| 亚州再线| 情色AV电影| 久干9操| 性色综合网| 午夜AV污污污| 亚洲精品丝袜| 日韩女模中文造逼| 91精品老女人| 国产美女91| 日本一片一区| 丁香五月色情| 超碰成人国产| 亚欧成人综合影院| 97日韩| 99热在线只有精品| 97丝袜亚洲在线播放| 99热这里只有精| 中文字幕中文字幕一区二区| 日本成人免费一区二区三区| 2020天天色综合| 日韩 欧美 校园一区| 欧洲天天在线| 亚洲欧洲综合视频在线| 综合在线导航一区| 岛国AB视频| 亚洲欧美日韩制服另类| 国产白丝AV| 校园春色美腿丝袜 | 亚欧Av| 一级人妻性爱视频| 亚州综合色| 久久久免费高清中文视频| 亚洲欧美国产中文字幕| 欧美大香蕉在线观看| 久久久一区二区三区四曲免费听| 国模吧 一区二区三区| xxxx网站亚洲精品| 久草免费福利在线播放| 国产精品区在线12p| 中文字幕在线免费观看2| 亚洲精品九九九| aV中文麻| 久久久啊啊啊| 超碰在线综合97| 中文字幕国产| www男人天堂| 亚洲干B| 九九久久久| 欧美激情内射| 久久久四区| 成人线上超碰| 乱操乱伦AV| 在线播放成人高清免费视频| 国产精品一区二区亚洲人成毛片| 国产精品免费1区2区视频| 日韩免费在线观看不卡| 免费精品中文字幕| 国产白嫩漂亮KTV在线| 最新中文字幕精品在线| 亚洲夜夜欢无码一区二区 | 精品国产嫩穴视频| sss视频华人在线| 激情四射五月天| 亚洲日韩东京热一区| 亚洲天天精品| 亚州男人天堂| 国产精品国产亚洲区艳妇糸列| 日韩成人高清一区二区| 99热在线观看| 日本熟女中文字幕一区| 美国日韩黄色片| 狠狠综合网| 久日91在线| 欧美色图小说综合| 99无码狠狠久久| 免费看黄视频亚洲网站| 久久久精品国产亚洲AV无码| 国产乱婷婷精品二区三区| 久久久婷婷| 中文字幕诱惑制服人妻丝袜美丝袜美| 97在线免费看视频| 黄色大片免费在线| 色婷婷丁香| 啊啊啊快操我视频| 夜夜嗨一区| 欧美亚洲自拍另类人妻| 97色干| 69综合网| 校园春色美腿丝袜 | 欧美日韩香蕉| 欧美综合第一| 国产97综合| 大肥女高潮bbwbbwhd视频| 婷婷中文网| 操我啊啊啊啊啊| 伊人四虎综合| 人妻一二三区| 五月婷婷五月天| 91国产美女丝袜足交精品视频| 欧美激情精品| 99精品视频在线观看免费| 色色色综合| 国产suv精品一区二六| 欧差乱伦二三| 欧美婷婷| 综合熟妇一区二区三区| A级毛片在线看免费| 免费看一级a性色生活片久久无| 伊人青青草久久| 日韩15p| 天天精品| 国产AB视频| 国产辣妈在线视频福利| AV九九| 91九色丰满高潮| 国产日逼视频| 大香蕉 222| 97色网| 国产999精品久久久久久| ...日韩成人一区二区三区字幕| 最新日日夜夜天天干干| 久久国色天香香蕉| 极品少妇久久久| 色墦五月丁香| 四虎精品永久在线观看| 国产成人免费观看在线视频| 欧美亚洲高清不卡| 亚洲国产精品9999在线观看| 在线人妻熟女一区二区三区四区五区| 97天天日| 欧美日韩m| 亚洲在线欧美| 久久综合久久综合人久久夜精品| 91宗合网| 人妻激情偷乱视频一区二区三区 | 久草精品在线| 成人在线视频网| 五月开心久久AV官网| 久久亚洲AV无码专区首页| 青春草A| 嗯啊抽插大香蕉网页| 亚洲天堂人人妻| 国产av波波国产精品| 人人九九精| 欧美性爱一级操| 亚洲欧美天| 口爆综合网| 校园春色五月天| 亚洲欲色9532548967一区| 伊人影院日本| 久插综合| 国产h片在线观看视频| 性欧美| 婷婷五月丁香五月| 久久一区二区三区四区五区| 狠狠操一区二区| 国产欧美成人第一页在线观看| 欧洲免费一区二| 国产AV激情无码久久无码| 亚洲老司机123专区| 思思热免费视频观看| 国产伊人精品在线| 蜜臀久久99精品久久久久久久久| 日韩 国产 欧美自拍| 天天干人妻| 欧美一区二区亚洲天堂| 91色色网站| 麻豆成人av| 狠狠操综合| 肏逼福利网站| 九九九九九九九九九九九九九九九女| 亚洲精品人妻在线| 日韩综合97p| 亚洲成人一二三区| 亚洲各类熟们中文字幕| 少妇综合网| 91/欧美| 精品国产乱码久久久久久影片| 日韩欧美性吧婷婷乱伦大香蕉| 亚洲性猛交| 奸色色 男人天堂 天天射| 国产精品麻豆免费视频| 激情综合网一盗摄| 爱爱动态120秒| 中文字幕一区二区在线日韩精品| 国产精品一区二区三区四区五区| 丰满人妻一区二区三区在线| 18禁的网站在线| 国产精品美女久久久久久网站| 亚洲精品不卡一二三区| 97久久精品亚洲| 黄片www.| 国产多人在线观看视频| 99re在线| 插B在线观看| 一区二区三区男女操逼黄色小电影| 妺妺跟我一起洗澡没忍住| av影片在线观看不卡| 欧美体内射精| 97一本大道亚洲一区| 精品久久久久,69国产成人精| www…国产操逼| 欧美精品成人一区二区在线观看| 91亚洲欧美综合高清在线| 插老姨肥穴| 97人肏| 五月色网| 亚洲激情在线一区二区| 日韩免费大片一级播放| 国产日韩区| 日韩中文字墓| 超碰诱惑| 91欧美网| 屁股久久久久久久久久| 色九久| 夜夜躁狠狠躁日日躁av| 色九久| 欧美美女视频| 欧美资源| 探花精品 一区二区| 青娱乐妇女性生活| 天天日夜干| 78操B| 亚洲久草AV色图| 99re在线视频国产| 亚州色图欧美| 91国精产品| 日韩精品大香蕉伊人在线| 大香蕉婷婷| 爽爽淫人网| 精品妇女一区二区三区| 青娱乐av在线| www.四虎在线| 有码免费观看| 99在线视频播放| 97色涩| 天天综合站| 免费男人的天堂| 亚洲操操操无码| 久久国产乱子伦精品免费女,网站| 欧洲精品二区| 香蕉国产精品麻豆亚洲欧美日韩| 十八禁啪啪视频| 亚洲日韩精品久久久久一区壹牛| 超碰国产精品久| 亚洲黄网在哪免费看| 99热综合| 欧美在线啊啊啊 | 久久e6只有精品| 亚洲天堂自拍| 少妇内射www在线观看视频| 香蕉免费一区二区三区不读| 久久成人东京热人妻| 久久久九精品| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区 | 人人插人人摸人人| 日本一级黄色电影| 久热色情精品| 久久人爽| 久久久月天| 久久久久夜夜夜夜| 欧美αv.com| 婷婷AV一区二区三区| 国产超碰国产97| 性生活无遮挡纯毛片在线看| 中文字幕精品亚洲熟女| 私人尤物在线精品不卡| 色在线亚洲视频www| 另类小说五月天| 麻豆影音天美视频| 青青操视频在线| 久久丝袜| 尤物黄色在线观看网站| 狠狠干婷婷| 中文字幕日韩精品一区二区三区| 日本五区不卡| 日韩免费中文字幕视频| 色五月综合| 欧美日韩国产男人| 亚洲图片欧美色| 欧亚乱色熟女一区二区| 中文字幕视频一区视频二区| 天天影视网色欲色香| 久久免费少妇| 岛国成人av在线播放网址| 一牛影视久久久一区二区三区| 日韩欧美天天爽爽爽天天爽爽| 日韩欧美亚洲自拍偷拍| 亚洲黄网在哪免费看| 男人的天堂色偷偷青青草视频婷婷网| 久久精品国产97欧美精品亚洲 | 手机在线免费看的av| 精品超碰国产| 欧美亚州色的图| 国内毛片欧美香蕉精品| 人人乐大香蕉| 中文字幕第二页| 1人人看人人摸人人操| 蜜臀av在线播放一区二区三区| 在线情色电影 91大| 乱伦一二三区| 日韩欧美麻豆大片| 亚洲丝袜综合| 人妻精品视频一区二区| 天天操天天7| 九九综合久久中文字幕| 91啪9色| 屁股久久久久久久久久| 欧美一区二区亚洲天堂| 啊啊啊啊,啊啊好多水| 国产美女销魂在线观看不卡| 2025亚洲男人天堂| 91久久青青草原精品| 操99| 中文字幕一区二区日韩网| 伊人影院在线理论播放| 91肉丝| 成人在线视频二区| 国产老女人久久毛| 男人的天堂亚洲| 婷婷综合伊人一区| 日韩久久三区| 快灬快灬 一下爽蜜桃在线观看 | 不卡六六在线91| 国产综合操逼高清| 精品二区三四区五电影 | 天天摸夜夜操视频| 久久丁香久草综合网| 丝袜综合| 午夜超爽| 男人的天堂三级| 在线观看国产黄色| 白嫩91在线亚洲| 五月丁香六月婷综合成人综合| 精品国产乱码久久久久久免费| 大香蕉一线视频| 国产亚热在线久久| 中文字幕 人妻不满 在线视频| 极品人妻少妇综合| 美女在线H91| 国内精品a| 日韩干B| 欧美日韩99| 黄片视频观看| 成人一区二区三区四区| 国产高清成人传媒影视| 97国产|免费| 成年女人一区| 欧美日韩国产黄色片| 欧美成人国产精品| 69精品少妇一区二区三区蜜桃| 色欲久久99国产精品久久久久久| 91 丝袜在线| 久久国产热视频97电影| 蜜臀久久99精品久久久久久成人小说 | 911粉嫩人妻| 人妻精品一区二区| 天天看特黄的免费网站| 伊人黄色视频免费观看| 综合网欧美| 熟女AV一区| 搡老人老9丨女老熟人| 亚洲成人ab| 女生自91网站| 超碰79人人乐| 亚洲欧洲综合av在线| 久久久久女教师免费一区| 老女人日韩美91| 男男H黄动漫啪啪无遮挡网站| 免费在线视频97| 国产精品电影推荐| Julia在线播放亚洲久久| 成人一级性爱| 熟女熟妇一区二区三四区| 91成人国产综合久久精品蜜月| 在线观看日韩av不卡| 国产精品熟女一区二区三区| 久久视频,这里只有精品| 五月婷婷深深爱| 国产精品无码在线| 国产在线综合福利网站| 91热| 91/欧美| 久久这里精品国产99丫e6| 青娱乐手机日韩在线视频| 97在线青| 思思热在线视频免费| 欧美高清在线| 97久久久精品| 亚洲综合五月天婷婷丁香| 国产网站在线播放| 久久精品国产亚洲AV清纯| 国产日韩美女小穴视频网站不卡| 91欧美偷拍| 日韩人妻操B| 婷婷激情综合网| 午夜男女爽爽大片免费观看| 久久99干一本高清| 超碰无码五月97| 久久天天躁日日躁狠狠躁 | 超碰97人妻| 麻豆亚洲AV成人无码久久精品| 亚洲精品国产av天美传媒| 少妇二级| 五月婷婷大香蕉| 日本在线观看网址| 人人弄人人摸| 熟女人妻精品一区二区视频| 九九九九精品视频| 另类老少妇| 91痴汉| 久草精品视频| 五月天欧美色图| 加勒比海成人视频网| 亚洲第91页| 久久超碰免费的| 亚洲欧洲日产国产综合网| 另类综合另类| 99热精品青草在线| 日本一区二区电影网站| 免费看污网站| 九九热九九热| 天天看人人操屄犊摸阴| 日韩天堂av电影在线观看| 午夜天堂精品久久| 精品国产乱码久久久久久免费| 亚洲宗合网| 青青青艹在线视频| 久久久久久少妇| 校园春色美腿丝袜 | 欧美日韩第一页| 免费看欧美美女黄色大片| 亚洲国产欧美中日韩成人综合视频| 日韩久久.一级黄色片| 日韩欧美亚洲一区二区三区影院| 国产传媒操逼视频| 蜜臀操逼黄色视频操的好爽| 乱伦av国产| 色噜噜婷婷| 婷婷色色网| 人人爽夜夜操| 女生自91网站| 欧美淫乱视频| 96麻豆精品一区二区三区| 亚洲在线网站| 18禁免费视频| 五月婷婷丁香| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 97久久国产精品| 欧美大色交| 妇女一区二区三区| 97国产超碰| 中文AV制服乱伦| 人人看人人摸人人色| 操人91| 国产亚洲色婷婷99精品91| 智利AV在线网| 亚洲色图综合| 中文字幕五月婷婷免费| 国产精品免费视频不卡| 日本超碰在线国产一区| 日韩美女,国产传媒,视频一区| 香蕉免费一区二区三区不读| 亚洲欧美洲综合| 无码久久亚洲高清,| 亚洲各类熟们中文字幕| 色综合一区二区三巨| 中文字幕伊人| 啊啊啊啊啊在线| 少妇干B| 久久极品一区二区| 麻豆人妻偷人精品无码视频| 欧美综合网A| 成人网站 免费观看| 天天天天操| 日本高清加勒比| 特色a在线上| 亚洲精品日日夜夜52| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 五月天色五月| 美女诱惑在线一区| 日韩欧美亚洲自拍偷拍| 国岛片视频| 99操| 三级色影综合网| 久久性爱大全| 日韩av三四区| 国产97在线视频| 视频分类 国内精品| 淫乱图区| 18精品一二区| 国产美女高潮叫床视频| 伊人aaa| 毛片一区二区| 婷婷香蕉欧美在线一区二区三区| 97操在线| 国产精品久久久久久照片| 亚洲五月丁香花狠狠干一区二区三区| 超碰 国产熟女精品一区| 人妻性爱一区二区| 午夜激情床戏激情| 国产麻豆91欧美一区二区久久婷婷国产精品| 台湾成人无码AV| 精品91摸| 人妻一区二区三区四区视频| 无码视频黄色网战| 大香蕉欧美日韩| 中文字幕精品一区欧美| 色妺妺在线视频| 天天躁夜夜躁狠狠躁AV| 成人一级性爱| 殴美,日韩国产伦精品| 竹菊一区二区三区AV线| 国产精品自在自拍视频| 91国产美女丝袜足交精品视频| 99热在线观看| 嗯嗯啊操我| 蜜桃臀一区二区三区久久| 热久久国产| 东京成人一区| 日本性爱视频一级| 夜夜高潮夜夜爽| 久久成人国产精品| 超碰这里只有精品| 亚洲日韩视频二区| 亚洲美女 晚间男人天堂| 中国操逼无码| 大香蕉之青青草原| 免费的很黄很污的全部视频| x97av| 看一级黄色视频| 亚洲操操操无码| 五月综合色| 97伊人网| 中文字日本乱码| 在线播放成人高清免费视频| 97视频在线观看高清资源| 亚洲高清无毛一区二区| 91熟女综合| 黄色性爱网网| 久久婷婷一区| 嗯啊不要在线| 欧美一区二区三区不卡高清视频| 亚洲av夫妻操穴网| 久久精品一区二区一8| 成人国产二区三区在线,男女精品。| aaa一级黄片| 看全色黄大色大片免费视频| 亚洲一二三精品久久网| 欧美精品日韩久久久九| 色亚洲欧美| 91婷婷伊人狠人| 九九久久一区二区伦理| 蜜桃香蕉久草精品在线| 熟妇高潮一区二区免费视频| 蜜臀99久久精品久久久懂爱| 超碰97最新人妻| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 日韩97在线| 色九九九九| 伊人久久在线视频观看| 蜜臀99久久精品久久久久久| 国精品一区二区三| 天天综合网日韩7799| 2017天天插| 欧美白嫩女HD| 98色网| 老司机射| 中文字幕后石码四区五区| 久湿久久 | 亚洲女优有码无码高清| av操操不卡| 啪啪啪综合网| 麻豆视频国产一区二区| 丝袜美腿操av| 99爱久久视频频| 激情五月天丁香| 亚洲高清视频在线免费观看| 啊啊啊啊啊啊啊网址在线观看| 超碰日本97美女人妻人人玩人人爱| 九九热免费在线国产视频伊人五月| 国产99精品一区二区三区免费| 男人的天堂va在线| 日韩三级在线观看mp4| 日本狠狠干| 插日本熟女视频| 色汉综合| 偷拍导航视频网站| 日韩av色图综合| 337p大胆噜噜噜噜噜91Av| 韩国手机不卡无码三级视频| 97欧美日韩精品| 日韩不卡网操逼中文字幕日韩| 97色色网| av日韩在线观看电影| 欧美亚洲天堂| 97超级久久| 国产久9| 九九九九97| 日韩精品高清资源在线| 天天综合色电影| 国产真乱mangent| 午夜爽爽爽| 综合五月天| 97在线观看免费| 久久 久久国内精品亚洲| 1区2区3区中文字幕日韩| 久久98| 色色婷婷丁香| av午夜影院在线播放| 日韩Va亚洲va欧美Ⅴa久久| 99久久精品无码一区二区毛片免费 | 大香蕉日韩欧美| 激情四射婷婷六月天| 后入人妻一区| 亚洲熟妇无码一区二区三区| 婷婷五月天影院| 最新中文字幕精品在线| 精品久久久久久中文| 一个人免费视频观看在线WWW | 无码9区| 91久久精品蜜臀| 亚洲激情四射| 开心五月婷婷激情| 2024人人操人人摸| 婷婷综合网| 中文字幕精品一区二区精品| 国产无码一二三区| www色色com| 天天肏夜夜肏| 婷婷久草一区二区三区| 大香蕉AV丝袜| 色婷婷aV一区二区三区麻豆综合| 麻豆久久久久久久久丝袜| 青娱乐大香蕉| 高潮综合网| 啊啊啊操死我了|