免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

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) 直接開工。搞過 ODrive 的人都知道這玩意兒在電機(jī)控制圈子里是個(gè)“繞不開的參考系”。開源、硬件設(shè)計(jì)漂亮、固件質(zhì)量高而且它那套代碼里藏了不少底層細(xì)節(jié)普通 demo 工程里根本看不到。尤其是從定時(shí)器時(shí)基到 8 kHz 控制環(huán)這一整條鏈路幾乎是所有想深入 FOC 控制、想自己移植固件、或者想搞明白“為什么我的電機(jī)跑起來噪音那么大”的人的必修課。這一篇是系列的第二篇核心就一件事講清楚 ODrive 固件里定時(shí)器時(shí)基是怎么搭建的又是怎么一步步把它變成實(shí)際執(zhí)行 PID 控制律的 8 kHz 控制環(huán)。這里會(huì)涉及 STM32 定時(shí)器的底層配置、PWM 生成、更新中斷觸發(fā)、以及中斷服務(wù)程序里的任務(wù)調(diào)度最終帶你把整個(gè)調(diào)用鏈路串起來。適合誰(shuí)看想讀 ODrive 源碼但不知道從哪下手的用 STM32 自己寫 FOC 想抄作業(yè)的以及已經(jīng)在跑 ODrive 但總感覺“里面有事兒”的好奇派??赐赀@篇你應(yīng)該能說出“8 kHz 控制環(huán)”到底是哪個(gè)中斷拉起來的那個(gè)中斷里又干了哪些事。1. 內(nèi)容整體設(shè)計(jì)與思路拆解1.1 先搞清楚 8 kHz 控制環(huán)到底是個(gè)什么概念很多人一聽“控制環(huán)”第一反應(yīng)是“一個(gè) PID 循環(huán)”。這句話不算錯(cuò)但對(duì) ODrive 來說控制環(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。也就是說每過 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)算量不小。控制頻率越高電流環(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í)器如果你看過一些 STM32 工程會(huì)發(fā)現(xiàn)很多人用 SysTick 做延時(shí)或者做簡(jiǎn)單的時(shí)間片輪詢。SysTick 確實(shí)簡(jiǎn)單Cortex-M 內(nèi)核自帶不用翻手冊(cè)就能配好。但它有一個(gè)先天不足SysTick 的優(yōu)先級(jí)是固定的你沒法把它調(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)中斷來源一份硬件資源兩重功能這是非常典型的嵌入式思路。軟件上把中斷優(yōu)先級(jí)設(shè)為最高保證任何時(shí)刻控制中斷來了都能打斷其他任務(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è)過程在邏輯上畫出來。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ù)比如通過 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í)基算出來。這一步不難但很容易搞錯(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ù)寫得非常干凈沒有一堆 if-else。它直接在中斷里調(diào)用一個(gè)統(tǒng)一的入口函數(shù)然后這個(gè)入口函數(shù)內(nèi)部會(huì)做一次“當(dāng)前階段判斷”決定這一拍要執(zhí)行什么任務(wù)??创a的時(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í)間超過了控制周期控制環(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í)刻來了控制中斷其他中斷都得讓路。哪怕你正在處理 USB 傳輸控制中斷來了也會(huì)先打斷 USB 服務(wù)函數(shù)跑完控制任務(wù)再回去繼續(xù)處理 USB。我見過不少人把控制中斷的優(yōu)先級(jí)和串口中斷設(shè)成相同優(yōu)先級(jí)或者只比串口高一點(diǎn)點(diǎn)結(jié)果電機(jī)運(yùn)行的時(shí)候偶發(fā)抖動(dòng)電流波形上出現(xiàn)毛刺。原因很簡(jiǎn)單串口中斷本來就頻繁如果控制中斷排隊(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ǔ)不回來。這是硬實(shí)時(shí)系統(tǒng)的基本特性。2.4 時(shí)基相關(guān)的幾個(gè)“坑”很多人把 ARR 配置成 PWM 頻率對(duì)應(yīng)的值卻發(fā)現(xiàn)更新中斷頻率不對(duì)原因就是上面說的中心對(duì)齊模式下更新事件觸發(fā)在頂點(diǎn)和底點(diǎn)。有些定時(shí)器配置需要在初始化時(shí)額外生成一次更新事件否則第一次中斷不會(huì)來。PSC/ARR 修改后需要重新初始化定時(shí)器或者使用影子寄存器功能否則會(huì)出現(xiàn)一個(gè)周期內(nèi) PWM 頻率突變的問題。我對(duì)這項(xiàng)工程印象最深的一點(diǎn)是ODrive 里為了精確限制 PWM 的更新頻率專門用了一個(gè)叫PWM_UPDATE_MECH的機(jī)制它保證 PWM 在線更新時(shí)的相位同步這種細(xì)節(jié)如果不是自己調(diào)過毛刺很難想到。3. 實(shí)操過程與核心環(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è)下來這一步配置正確與否區(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ī)制用生活類比來說有點(diǎn)像樂隊(duì)指揮。指揮定時(shí)器給每個(gè)樂手比較寄存器一個(gè)樂譜預(yù)裝載值但樂手們不會(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ù)比如用戶通過上位機(jī)改了速度指令這個(gè)指令需要通過 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. 常見問題與排查技巧實(shí)錄4.1 控制環(huán)頻率不對(duì)的排查步驟這是最常遇到的問題。你按照源碼改了參數(shù)覺得應(yīng)該是 8 kHz但測(cè)量出來要么翻倍要么減半。第一步確認(rèn) TIM1 的時(shí)鐘源頻率。很多人從別的工程拿了初始化代碼芯片主頻不同APB2 分頻不同時(shí)基就差出來了。用 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)志位過濾邏輯。第三步看中斷優(yōu)先級(jí)有沒有被其他頻繁中斷搶占。如果中斷優(yōu)先級(jí)配錯(cuò)控制中斷的執(zhí)行間隔會(huì)出現(xiàn)偶發(fā)變長(zhǎng)你在示波器上看到的不再是干凈的方波。我處理過最多的 case 是明明代碼沒問題但控制環(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è)出來把執(zhí)行時(shí)間的波形和電流波形放到同一個(gè)時(shí)間軸上對(duì)比。如果電流波形上的毛刺出現(xiàn)的位置和執(zhí)行時(shí)間變長(zhǎng)的位置重合那問題就在中斷優(yōu)先級(jí)或者中斷阻塞上。還有一個(gè)隱蔽的原因電流采樣值是在 PWM 計(jì)數(shù)器頂點(diǎn)觸發(fā)的 ADC 采樣的如果你把采樣點(diǎn)配置錯(cuò)了采樣到的電流值會(huì)帶有巨大的開關(guān)噪聲進(jìn)而導(dǎo)致電流環(huán)計(jì)算出來的占空比噪聲放大。4.3 定時(shí)器更新中斷偶爾丟失的問題定時(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í)間。這種問題的排查很痛苦因?yàn)楝F(xiàn)象像是“偶爾丟中斷”。唯一的辦法是全工程搜索所有定時(shí)器中斷把控制環(huán)中斷優(yōu)先級(jí)設(shè)為絕對(duì)最高其他所有中斷都要讓路。4.4 看門狗和暫停操作帶來的問題ODrive 支持通過上位機(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)芯片的硬件過流保護(hù)響應(yīng)時(shí)間是否跟得上。電流環(huán) PI 參數(shù)是否需要重新整定。頻率翻倍后執(zhí)行時(shí)間也翻倍你必須先量測(cè)新的執(zhí)行時(shí)間是否還在控制周期內(nèi)。如果執(zhí)行時(shí)間接近甚至超過控制周期那不用測(cè)也知道結(jié)果——系統(tǒng)完全不工作。我實(shí)測(cè)過ODrive 默認(rèn)狀態(tài)下的執(zhí)行時(shí)間大約在 80 微秒左右升到 16 kHz 時(shí)執(zhí)行時(shí)間會(huì)略長(zhǎng)但依然有裕量。問題是 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è)固定占空比跑起來看電機(jī)是不是勻速轉(zhuǎn)動(dòng)。如果電機(jī)轉(zhuǎn)動(dòng)時(shí)有明顯的卡頓感說明控制執(zhí)行頻率不穩(wěn)定或者 PWM 更新時(shí)機(jī)不對(duì)。這個(gè)測(cè)試簡(jiǎn)單但非常有效它能幫你把“時(shí)基問題”和“控制算法問題”分離。時(shí)基不穩(wěn)后面調(diào)什么都白搭先解決基礎(chǔ)問題再往上層走。5.3 關(guān)于調(diào)試接口是否影響時(shí)基的說明很多人開著調(diào)試器跑電機(jī)的時(shí)候發(fā)現(xiàn)電機(jī)聲音跟拔掉調(diào)試器不一樣。這不是錯(cuò)覺。調(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í)操心得說實(shí)話我自己第一次讀 ODrive 源碼的時(shí)候最大的感受不是它的 FOC 算法多精妙而是它對(duì)“時(shí)間”這件事的認(rèn)真程度。每一段代碼都在小心翼翼地維護(hù)一個(gè)確定性的時(shí)間節(jié)奏。這種節(jié)奏一旦被打破什么高級(jí)算法都救不回來。從定時(shí)器時(shí)基到 8 kHz 控制環(huán)本質(zhì)上就是在回答一個(gè)問題你憑什么保證每隔 125 微秒做一次一樣的動(dòng)作答案是用硬件定時(shí)器用嚴(yán)格的優(yōu)先級(jí)配置用不阻塞的中斷服務(wù)函數(shù)用預(yù)裝載寄存器來同步輸出。如果你打算在自己的工程里復(fù)刻這套機(jī)制先別急著抄代碼先把下面這幾個(gè)問題想明白你的控制頻率是多少為什么是它你的時(shí)基用的是哪個(gè)定時(shí)器它和 PWM 是什么關(guān)系你的中斷服務(wù)函數(shù)里有多少事在做是不是有不必要的操作你的中斷優(yōu)先級(jí)配對(duì)了沒有還有沒有其他中斷在執(zhí)行時(shí)阻塞了控制環(huán)把這些問題的答案寫下來再做代碼移植你會(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è)方法排查過好幾個(gè)詭異的問題——某個(gè)變量看起來是平均值正常但瞬時(shí)值已經(jīng)跑飛了。這種級(jí)別的排查光靠看代碼是看不出來的。下一篇文章我會(huì)繼續(xù)拆解電流環(huán)的代碼重點(diǎn)講 Clarke/Park 變換在固件里怎么寫的、電流 PI 調(diào)節(jié)器的抗飽和機(jī)制以及 SVPWM 那段代碼背后的數(shù)學(xué)原理。到時(shí)見。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
五月丁香人妻| 天天综合激情| 蜜臀AV在线观看| 另类综合网| 婷婷色色欧美| 97操资源婷婷| 99五月香婷婷丁香在线视频| 五月丁香色婷婷| 色永久| 婷婷丁香久久| 久超超碰| 久久新地址| 亚洲狠9| 九九久久网| 色婷视频| 婷婷五月婷婷五月| 战争与艾拉电影免费观看| 成人网站在线观看视频| 婷婷色在线观看| 色婷婷无吗| 丁香五月av| 狼人婷婷久久| 色婷精品91| 人妻自慰高清合集| 婷婷社区五月天| 五月婷婷久久爱| 任你爽视频| 97黑人精品区| 激情六月丁香| 夜夜 操无码| 五月丁香人妻| 人妻精品在线| 亚洲第一色网站| 九九热99视频| 久热这里只有精品在线观看 | 大香蕉娱乐| 大战熟女丰满人妻AV| 色五月大香蕉| 可以免费观看的av| 色吧婷婷五月亚洲| www,99视频| 精品色色| 婷婷婷狠狠| 国产午夜精品一区二区三区嫩草| 久久大香蕉丁香| 欧美性生交A片免费看| 久久激情五月| 丁香花综合永久入口| 青柠影视免费高清电视剧| 91久久久久久久久18| 久久婷婷视频| 少妇AB又爽又紧无码网站| 色偷偷五月天| 99九九这里有免费视频| 久久91久久91色欲精品| 国产精品电影| 99亚洲欧洲| 我要射综合| 中文不卡一二区| 色狠狠图片| 婷婷五月天激情综合深爱| 成人婷婷五月天| 五月婷婷色男女| 婷婷夜夜夜夜| ww久久| 国产成人网址| 天天日色情| 99婷五月| 亚洲一区国产传媒| 色五月丁香激情| 99在线国| 在线观看的av| 国产婷婷五月中文字幕高清| 婷婷五月情| 99男人的天堂| 老美AA片| 九九精品综合| 小视频一区| 欧美爆乳一区二区三区| 九九色色| 久久九九精彩| 99在线视频在线观看| 五月天成人在线| 五月婷婷五月天在线| 午夜婷婷久久| 大香蕉福利导航| 伊人碰碰婷婷| 婷婷五月丁香色情| 超碰在线成人| 丁香五月97视频| 精品爆操| 久久视频在线| 成 人片 黄 色 大 片| 九久久九精品视频| 三区激情四射av| 久久性爱视频这里只有精品 | 国精产品一区一区三区免费视频| 欧美啪啪9| www.激情五月天.com| 丁香五月天啪啪激情综合网| 人人操AV| 网色99| AV国产有码| 婷婷久久丁香五月| 婷婷丁香视频| 激情五月狠狠| 亚洲黄色网址| 深爱五月中文字幕| 婷婷色色网| www,超碰| 天天日天天色| 在线综合啪| 丁香色五月直播| 久久婷婷五月天蜜桃| 五月婷婷啪啪| 九热视频| 婷婷五月丁香综合| 大香蕉久久久久| 五月婷六月丁| 丁香花社区av| 狠狠操狠狠干综合| 99福利视频导航| 亚洲成人色五月天| 九九亚洲视频| 日日婷婷不卡| 久久精品一区二区三区四区| 激情综合激情五月| 99热 精品在线| 丁香五月激情天AV无码| h在线看免费版在线看| 色色色色色五月| 丁香五月天激情综合网| 狠狠久久婷五月综合色| 九九热视频思思| 亚洲爆乳无码精品AAA片蜜桃| 99色中文| 丁香五月Av| 久久婷婷亚洲| 4399成人黄A片| 欧美极品999| 97碰| 五月伊人综合| A片女女女女女女BBBB| 26uuu色噜噜精品一区| 天天综合色| 色婷婷免费视频| 99视频在线精品| 五月天久久激情| 五月婷av| 五月天天堂久久| 天天摸天天透天天舔| 91成人看| 97色片| 亚洲精品国产setv| 九九热精品| 久久视屏这里只有久久| 精品亚洲国产成AV人片传媒| 伊人久久五月天综合| 67194线路二在线观看| 久久五月天黄色五月天色网址| 99热久久这里只有精品| 国产综合网在线| 9色天堂| www激情婷婷com| 九九中文色色| 色狠狠色| 婷婷五月综合啪| 欧美成综合在线观看| 五月丁香欧美综合| 亚洲小视频免费播放| 99色热| 色婷婷丁香五月观看| 国产精品久久久久久久久久久久 | 婷婷瑟瑟五月天| 色99免费视频中文| 能看的av| 99视频久久| 成人电影在线免费试看| 国产成人精品123区免费视频| 五月天播播综合| 丰满少妇猛烈A片免费看观看| www.五月丁香av| 五月天伊人久久| 97人人操人人| 婷婷狠狠干| 99性感视频| 亚洲国产另类av| 色碰碰视频| 99亚洲综合| 99久热视频在线| 久久久无码精品成人A片小说| 亚洲AV网址| 婷色五月| 婷婷久久五月丁香| 亚艹艹| 99ri久久| 日本天堂网站99| 婷婷激情九月| 狠狠的日| 日韩精品无码99| 天堂久久性| 久热无码| 日韩狠狠色| 狠狠人妻久久久久久综合丁香| 99在线综合视频| 欧美精品999| 丁香六月无码| 婷婷丁香人妻| 五月天激情黄色小说在线观看| 久久六月婷婷| 性做久久久久久久免费看| 色中色综合| 丁香六月婷婷缴情欧美| 9久久精品| 九月av在线| 婷婷视频网| 久久精品这里只有精品免费首页| 婷婷激情五月综合丁| 色综合久久天天综合网| 最新AV在线观看| 国产精品久久欧美久久一区| 丁香五月播播| 五月天啪啪| 五月婷天天搞视频| 操啊操av| 99热这里只有精品最新| 人人做人人看人人摸| 婷婷丁香五月综合| 狠狠色婷婷7777久| 超碰在线国产| 天天爱天天做天天日| 久久 无毛。| 91妻人人爽人人看片| 日韩啪啪视频| 色综合色色| 婷婷久月| 日韩精品999| 婷婷伊人网| 五月天婷婷丁香社区| 99热这里只有精品亚洲| 婷婷久久五月天亚洲欧美国产日韩在线观看| 中文字幕丰满人妻无码专区| 久久九九中文字幕| 色五月激情| 久热天堂| 五月丁香网站| 99久久婷婷国产综合精品青桔| 国产性爱一级| 国产67194| 色欲久久久久久综合网综合网| 一区=区操屄高清大全av| 国精产品一区一区三区免费视频| 99riav 亚洲| 99网| 五月激情婷婷偷拍| 丁香五月www| 97婷婷五月丁香| j五月香在线| 色色色色色色综合网| 亚洲欧洲中文日韩久久AV乱码| 国产成人片| 国产精品涩涩涩视频网站| 啪啪啪大香蕉| 91人人看| 99久久99九九99九九九| 开心久久爱五月天| 99热6色| 五月婷视屏在线观看| 天天激情欧美美女| 色婷婷五月天偷拍| 色综合77777| 青青草Avb在线| 一二区成人电影| 丁香五月中文字幕| 这里只有国产精品在线| 天天操夜夜操| 久久婷婷五月天| 亚洲AV在线免费看| av国产精品偷| 欧洲亚洲欧洲99久久| 伊人深爱综合| 亚洲第一黄网| 国内精品99| 国产色99| 国产婷婷五月中文字幕高清| 婷婷综合在线| 青青草国产亚洲精品久久| 亚洲一二三网| 丁香五月天婷婷在线视频| 狠狠色狠狠鲁| 国产成人高清| 亚洲成人无码专区| 成人AV免费观看| 夜夜天天久久婷婷| 婷婷五月综合网| 五月天激情小说网| 99热99久久| 久久6这里只有精品| 五月精品免费XXX| 五月丁香婷婷爱| 丁香五月性爱| 久久免费操| 人妻久久久久久久久妻久久久久| 欧日韩成人| 九九九激情综合| 超级黄色片| 五月婷婷六月丁香激情深爱| 99热国产免费| 日本91在线播放| 999激情视频| 99精品在| 婷婷91| 丁香激情五月少妇| 日日狠夜夜狠| www.婷婷五月天| 激情五月份婷婷| wwxx日本| 丁香激情五月| 91超碰在线观看| 久久99成人性爱高清视频| 激情综合网五月丁香| 日本三级99人妇网站| 人人摸人人操人人爽| 五月婷导航| 色婷婷六月| 色色色婷婷| 这里只有精品69| 五月天开心网| 69精品人人人人| 成年人丁香五月| 亚洲妇女熟BBW| 精品在线网站| 9久久婷婷国产综合精品性色| 丁香婷婷五月份| 天天做天天爱天天搞| 夜夜爽天天干| 亚洲成人中文字幕| 色XX综合网| 日韩AV免费看| 婷婷六月伊人| 九九爱精品网站| 国产欧美日韩一区二区三区| 99在线精品免费视频| 欧美日韩成人在线| 日本欧美成人片AAAA| 成人电影在线免费试看| 婷婷射丁香| 視频福利乱色| 99热综合色图| 色V狠狠的干| 神马欧美精| 成人免费网站免费看| 久久久五月婷婷| 大香蕉220| 日本美女天天日天天爽| 精品国产乱码久久久久久免费| 99久久久国产大片区| 五月激情六月宗合| www.天天干.com| 可以看的av| 日韩无码专区| 夜精品无码A片一区二区蜜桃| 亚洲精品色色| 色.五月综合网| 激情综合丁| 丁香五月亚洲综合丝袜| 六月综合在线| 人人97碰| 六月婷婷综合| 99精品7| 色呦呦在线| 蜜乳中文字| 亚洲正能量欧美| 色色色色色网站| 91精品丝袜久久久久久久久粉嫩| 人人人操| 亚洲第一色网站| 丁香网五月天| 99色在线| 亚州激情在线视频| 色九月综合网| 久热这里只有精品6官网亚洲| 99性爱| 久久人人人人妻| 亚洲区1| 久久婷婷内射| 婷婷丁香高潮了| 久久看九九90| 人人干99| 六月婷婷亚洲| 超碰91在线| 三十熟女| 99热日韩| 天天射天天射一道本日本社区 | 精品色情一区二区三区四区| 日本nghangse中文字幕| 九九热这里| 思思99re这里只有| 成人亚洲精品| 秋霞九九无码| 婷婷五月天成人| 五月天色婷婷成人| 丁香五月综合激情久久潮喷| 久热亚洲| 日本激情综合| 久久综合五月| 四月婷婷五月丁香| 五月丁香人人婷婷在线观看| 97干欧美| 97人人操人人拍| 色色丁香| 婷婷人人操| 亚洲尤物在线| 九九视频免费| 97干在线观看视频| 色玖玖网| 69凹凸成人综合网| 五月天激情小说网| 91视频五月丁香| 五月天婷婷丁香蜜桃91| 六月色婷婷色| 久久99久久99精品免观看粉| 色婷婷无吗| 丁香五月天之婷婷影院| AV成人在线播放| 夜夜夜叫天天天做| 六月丁香视频网站| 99自拍视频在线| 影音先锋AV男人站| 伊人久久丁香狠狠婷婷综合香蕉 | 色欲婷婷五月天| 9 1 A v久久久| 97精品人人A片免费看| 欧美日本国产欧美日本韩国99| 色色色色色色色色色999| 99操久久| 99视频在线播放大全| 五月丁香六月片| 久久人妻精品| 99热官网| 亚洲这里只有精品| 99色免费观看全部| 五月激情偷拍| 开心五月婷婷激情| 五月丁香婷婷中文| 男女99免费视频| 超碰人人干| 久久五月天色| 成人无码免费一区二区中文| 久久丁香五月天| 99热视| 99欧美| 91在线日| 中文字幕黄色片| 国产精品视频免费看| 4399高清无码视频| 丁香六月狠狠干| 色色日本欧美| 一区视频网站| 成人片在线播放| 99久在线精品| 天天做天天爱天天搞| 日韩啪啪视频| 久久五月天激情婷婷| 开心婷婷五月天综合| 久久五月丁香| 天天婷婷天天| 欧美啄木乌丝袜人妻系列| 99热这里只有精品69| 综合激情五月丁香| 丁香五月a| 激情综合色婷婷六月天| 欧美影院| 五月天播播| 91超碰人人操| 五月成人丁香av91| 婷婷久久在线| 五月丁香啪| 久久久久久久综合狠狠综合| 影音先锋 91工厂| 26uuu激情五月天| www,五月天激情| www激情婷婷com| 五月天丁香综合久久国产| 五月丁香福利| 男男野外做爰全过程69| 丁香色五月AV在线| 激情小说五月天社区丁香| 天天噜天天爱| www.99热视频| 成功精品影院| 九九色情网五月天| 99久久99九九99九九九| 日日操日日干| 亚洲AV网址| 激情五月综合亚洲另类| 91综合在线观看| 久久精品五月天| 欧美成人无码一区二区三区| 久久人妻伦理| 天天舔天天爽| ady狠狠入| 色丁香五月婷婷| 26uuu国产精品| 色五月婷婷一二| 色色五月婷婷| 婷婷六月久久| 思思视频这里是精品| 狠色色狠网| 色射影院| Www.se.久久| 成人av免费观看| 综合六月激情婷婷| av狠狠操| 精品久久婷婷| 久久机热思思热| 99久热在线精品| 丁香五月婷婷激情97| 9久久久久| 五月婷婷乱| 婷婷久久综合久| 操逼综合激情网| 亚洲热手机在线观看| 五月丁香五月综合欧美| 婷婷五月天综合亚洲| www.激情| 六月丁香网| 黑人巨粗进入警花疼哭A片| 九热免费视频| 泰州成人视频| 九月性爱网| 99在线观看视频精品| 丁香九月综合| 婷婷丁香www视频日本韩国| 激情五月丁香综合蜜桃| 99久久性爱| 大香蕉人人人| 99热这里只有免费精品| 日韩艹比| 99色最新在线视频| 久草热在线视频| 久久婷婷五月综合啪| 丁香五月激情鲁| 99精品视频在线观看| 超碰免费成人| 大香蕉婷婷丁香天堂AV| 在线观看996精品| 色永久| 91精品激情9| wWw色五月| 9久热| 久99久精品视频| 激情综合激情综合| caopeng97人人| 婷婷五月天激情五月天深爱五月天| 99这里有精品| 性小说五月天| 欧美日韩精品人妻狠狠躁免费视频 | 亚洲色激情| 亚洲激情五月| 九艹在线| 大香网伊人久久综合| 亚洲乱码在线观看| 337p大胆噜噜噜噜噜91Av| 在线观看av网站| www.99热在线| 天天操无码| 精品99在线| 男人的天堂五月丁香| 久热免费| 激情五婷网| 久/久精品99看9| 婷婷亚洲综合| 蜜桃人妻无码AV天堂三区| 99在线观看这里都是精品| 欧美激情综合| 五月色俺婷婷| 中文av在线观看| 人人操AV| 久久色在线视频| 精品人妻伦九区久久AAA片| 六月婷婷色五月| 新激情五月天| 婷婷色操| 婷婷五月天受日本法律保护| 亚洲午夜在线视频| 亚洲综合激情五月久久| 51成人| 久久性爱视频| 人人干人人操人人摸| 91精品综合久久婷婷九色| 91久久久久久久久18| www.99色| 桃色五月婷婷| 五月婷婷久久大香蕉| 狠狠色婷婷| 免费无码毛片一区二区A片| www.亭亭五月天| 丁香婷婷色情| 国产精品扒开腿做爽爽爽A片唱戏 亚洲爆乳无码精品AAA片蜜桃 | 丁香婷婷色情| 嫩BBB槡BBBB搡BBBB| 婷婷综合网站| 亚洲中文字幕av| 国产伦亲子伦亲子视频观看| 俺去也五月天| 99er免费在线观看| 天天综合网~91| 天天操天天曰| 色噜噜狠狠插综合| 丁香六月天婷婷在线| 久777| 婷婷五月天久久| 婷婷五月天亚洲激情戏精品| 日韩久热| 久9热插入| 精品乱码久久久久| 直接看的av| 五月花婷婷在线精品视频| www.婷婷激情网.com| 97人人干人人操| 色5月婷婷| 亚洲天堂热| 色婷婷狠狠久久综合五月| 午夜丁香| 五月天婷婷久久| 男人综合网| 99热在线中文字幕| 一区二区传媒视频| 人人爽网| 久久久婷婷| 91丁香五月| 九九色热视频| 最新精品视频99| 亚洲啪啪啪啪| 国产精品国产| 久久五月天精品视频| 97久久超碰| 久久久久亚洲AV无码网影音先锋| VfJxEwPH| 狠狠狠狠操| 老司机午夜福利视频金瓶梅| 婷婷情色五月天| 一区=区操屄高清大全av| 婷婷五月天小说| 激情av| 五月天婷婷成人网| 热99这就是精品视频| 亚洲男人的天堂婷婷色五月| 婷婷五月 丁香六月| 五月婷网| 久久久WWW| 99色在线观看视频| 四季AV综合网| 操逼国产91| 五月丁香亭亭A片| 亚洲色就是色色色| 亚洲色无码A片一区二区麻豆| 亚洲va综合va国产va中文| 久9久9热久热| 日韩成人综合网| 激情综合99| 99色色| 1区2区视频| 激情五月天色播| 精品久久99码| 婷婷五月色| 桃色五月天| 婷婷五月天福利| 五月婷婷激情| 99人碰碰碰| 亚洲99综合| 99九九精品| 九九热免费| 久色激情| 成人国产欧美大片一区| 婷婷影院A成人| 色色色色色色综合网| 超碰人人摸人人操| 丁香五月天社区婷婷| 五月天婷婷激情四射综合| 五月丁香婷婷激情爱爱| 秋霞丝袜啪啪啪| 丁香五月综合激情啪啪| 欧美色婷婷| 五月丁香怕啪啪| 涩涩五| 天天摸天天日天天舔| 综合激情站| 五月色综合| 男女99免费视频| 亚洲成人在线播放| 精品日本视频444| 日本一级大片| 玖热精品综合视频| 五月丁香啪啪啪啪| 天天干 夜夜爽| 久久人人超| 丁香激情网| 日韩在线视频9色| 久七香蕉| 色婷婷视频| 天天做天天摸| 午夜五月天| 精品9197碰| 伊人三级激情| 五月天天天操天天爽夜夜操| www.激情五月天| 黄网免费看| www.超碰97| 光棍影院日韩精品| 婷婷黄色五月天在线视频| 亚美欧色影院| 五月天婷婷综合网| 五月婷中文娱乐综合| 91精品久久久久久久| 好好干av| 婷婷导航| 丁香五月婷婷欧美成人色图| 激情五月黄色小说| 久久怕怕视频| 亚洲乱码日产精品BD| 亚洲AV无码成人精品区电影网| 九九热这里有精品视频| 五月天天视频| 成人做爰A片免费看网站找不到了 国产露脸150部国语对白 | 中文字幕 码精品视频网站| 1024在线视频| Av性爱网站| 色婷婷激情四射视频| 亚洲中文字幕在线观看| 另类激情五月| 成人综合伍月天| 天天日天天色| 色老久久| 另类综合婷婷五月天欧美视频| 开心激情五月天网| 免费看成人747474九号视频在线观看| 婷婷五月天,影院| 99热这里都是精品| 久操人| 思思99热这里只有精品6| 99久久99久久综合| 91人碰| 天天爽夜夜爽天天爽夜夜爽| 亚洲操操| 丁香五月在线人妻| 狼友视频在线观看18| 日逼影音先锋AV男人资源站| 逼逼AV| 99成人| 99精品久久久| 久久艹99| 亚洲操B视频| 久久这里有精品视频| 少妇被下春药玩弄A片| jiujiu热在线视频| 91九色国产| 九月av| 色五月婷婷亚洲| 丁香五月婷婷社区| 色五月激情基地| 一点色成人网| 开心四月婷婷在线色播播| 97干在线| 91欧美| 日本色色色| 狠狠色色| 色色色色色网| 婷丁五月| 大香蕉AV在线| 五月婷人妻| 性做爰1一7伦| 久色中文| 亚洲mm免费| 五月丁香婷婷激情澎湃四射| 九日日夜夜69| 无码 色| 婷婷日本色| 九九精品免费| 91色九| 99操视频| 五月天激情综合网站| 久久婷婷视频| 激情开心五月婷婷| 婷婷五月花| 蜜桃婷婷丁香| 成人视频免费观看高清完整版在线观看| 五月天激情子轮| 国产伊人大香蕉| 色五月 五月婷婷| 97色97干| 五月婷婷啪啪| 日韩av大全| 色亭亭九月| 久热免费| 9999久久久久| 精品一二三区久久AAA片| 狠狠色狠狠鲁| 99婷婷色| 二色av| 亚洲色婷婷激情| 丁香婷婷影院| www.婷婷,com| 综合丁香婷婷五月天| 免费观看全黄做爰的视频| 天天色官网| 色欲婷婷五月天丁香| 狠狠干狠狠色| 人妻操操色| 婷丁香五月天| 97碰在线视频| 日本VA视频| 色色五月丁香婷婷| 欧美三级巜人妻互换| 噜噜色噜噜网| 另类图片天天影视在线观看| 国产SUV精品一区二区883| 婷婷五月中文在线视频| 97人人干人人操| 国外亚洲成AV人片在线观看| 丁香六月婷婷| 久久激情综合| 伊人久热91| 九九热视频在线观看| 五月天久久丁香| 午夜丁香| 97伦色婷婷| 九九热99热| 日夜夜久久| www.色99| 97ai婷婷| 亚洲妇女熟BBW| 五月天婷综合| 五月丁香六月婷婷a v| 五月婷婷导航| 99热热热99精品婷婷| 亚洲综合在线播放| 综合图区激情| 五月丁香日本一抹本| 1024AV视频| 五月天激情婷婷| 五月婷婷色五月| 婷婷五月天激情在线观看| 五月婷久久草| 91色综合网站在线| 99热这里只有精品在线| 丁香六月综合| 五月亭亭综合五码| 激情综合五月激情17| 99视频91| 激情综合网激情五月俺也去| 婷婷亚洲综合| 超碰人人91| 五月丁香黄色视频| 婷婷五月丁香激情色情| 九九激情综合| 99热加勒比| 日本97人人| 欧美成人AAA片一区国产精品| 丁香五月综合婷婷| 99这里| 99热在线免费| 人人色AV| 99丁香五月婷| 婷婷综合| 久久网日本| 偷偷操99| 婷婷久久图片| 热久久婷婷| 99亚洲精品综合在线| 青草视频在线观看视频| 五月天婷婷无码| 日本久久综合| 综合久久97| 久久综合婷婷五月| 五月婷婷在线视频| 99爱视频在线播放| 婷婷六月花| 五月天激情图| 婷婷综合在线观看视频| 思思久久思思| 天天干天天干天天干天天干天天| 天天综合干| 亚洲激情无码久久| 婷婷丁香视频在线观看免费| 91操碰| 另类视频在线| 大香蕉久久| 激情综合五月| site:xmssd.com| 精a品a视a频| 丁香蜜臀黄色婷婷五月天| 9l视频自拍9l九色成人| 久久女婷| 欧美又粗又大一区二区在线观看| 六月五月丁香五月欧美| 色五月婷婷丁香国产在线| 久久性爱视频免费| 色插综合网| 激情五月天婷婷视频| 性生活视频98791| 五月的色婷婷高潮| 99爱视频| 激情五月婷婷五月| 双性美人被调教到喷水A片| 性按摩玩人妻HD中文字幕| 激情五月综合网丁| 日本欧美999久久久三级片| 综合玖玖偷拍| 激情视频网址| 欧美色骚婷婷五月天| 五月天色婷婷视频| 丁香五月综合网亚洲综合欧美狠狠| 五月天综合激情网| 久久久性爱视频| 婷婷激情综合| 香蕉久操| 五月婷婷婷| 五月开心婷婷网| 九九九成人在线视频| 婷婷五月另类网站| 超碰99热| 七七婷婷综合| 久久精品五月| av在线资源| 丁香激情六月天婷婷| 色五婷婷开心缴| 99啪啪| 婷婷婷婷婷婷婷婷婷婷丁香| 2022人人操人人看| 狠狠色丁香五月婷巨| 激情婷婷六月| xxxx久| 亚洲电影在线观看| 探花搜索结果 - 黄上黄| 国产色色在线| 亚洲天天综合| 97色色综合| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | 久久综合五月婷婷| 熟女色专区| 婷婷六月情| 激情五月综合网| 九九热这里只有精品9| 99碰网站| 婷婷五月AV| 婷婷五月天久久| 狠狠插.com| 1024国产| 99热这里只有免费精品| 天天影院色| 极品少妇婷婷五月| 五月天婷a在线| 五月丁香婷婷视频| 亚洲情综合五月天| 激情久久五月天| 婷婷丁香色情五月天| 婷婷五月天开心网| 5五月综合网亚洲| 婷婷五日b| 97色婷婷成人综合在线观看| 五月综合激情网| 色色色色热热| 99在线热视频| 老司机视频lsj爱就色| 免费AAAAA网| 日韩精品一品二区三区的使用体验| 国产肥白大熟妇BBBB视频| 爽极品色| 欧美婷婷综合| 68热超碰在线| 丁香五月婷婷丫| 99色婷婷视频| 婷婷激情四射网| WWW五月| 激情性爱五月天网页| 99热99ai| 婷婷中文在线| 日本丁香久在线| 九九久热| 久9综合| 婷婷开心青青草| 狠狠搞狠狠操| 殴美日比视频| 亚洲不卡欧洲| 六月激情婷婷综合| 久久久久久人妻久久久久久久久久人妻久久久 | 亚洲网在线观看| 天天综合色丁香| 久久伊人大香蕉| 天天综合五月| www.色婷婷| 日韩激情网站| 五月丁香婷婷激情视频| 婷婷丁香综合网| 婷婷五月丁香基| 国产做爰视频免费播放| 婷婷免费精品视频| 亚洲天天操| 五月婷婷黄色| 五月伊人网| 色婷婷伊人| 色伊人婷婷| 六月丁香综合| 成人av中文字幕| 99热播放| 99re思思热久久| www.久久久久| 99这里只有精品视频| 狠狠舔| 色五月大香蕉| 五月激情婷婷开心五月| 日本人妻伦在线中文字幕| 亚洲第一色色色色| 无码日本精品XXXXXXXXX| 综合狠狠干| 久久久久久久久久久-久五月天婷婷| 激情五月网站| 色欲五月丁香| 精品人妻久久久久| 天天se在线视频| 九九这里是免费的视频5| AV在线观看网站| 婷婷综合网| 一本久久亚洲五月婷婷| 成人国产欧美大片一区| 色五婷婷| 亚洲AV第二区国产精品| 久久丁香五月天| 人人操Av| 丁香六月在线综合| 婷婷五月天高清无码| 国产黄色一级片| 狠狠人妻色综合| 热九九在线| 欧美日韩成卜| 精品乱码久久久久| caop在线| 久久99国产综合精品免费| 99热这里只有免费| 色情五月天。| 日韩成人网址| 五月天另类图片| 久久色五月| www.狠狠操| 亭亭五月天黑人2014| 丁香玖玖| 97操碰| 欧美国产一区二区三区| 国产在线黄色| 99久久66综合| 丁香婷五月天开心六月| 日韩人妻在线观看| 婷婷五月天在线观看| 97色色色色| 日逼影音先锋男人资源站| 香蕉婷婷色五月| 六月丁香视频网站| 婷婷丁香五月天操逼| 久久婷婷五月综合| 国产一级婬片毛片| 亚洲AV中文在线| 超碰狠狠干99| 97色片| 五月丁香六月情婷婷久久| 啪啪夜久久| 国产SUV精品一区二区6| 日韩一级网站| 99久久思思| 亚洲射激情| 婷婷五月丁香手机在线视频| 91碰| 丁香五月激情图片婷婷| 婷婷丁香激情综合色情| 五月开心啪啪| 欧洲毛片基地c区| 色综合婷婷99| 亚洲超碰在线| WWW.桔色成人.COM| 天天射影视综合网| 九月婷婷久久| 国产4P视频精品五区| 久久精品99国产精品日本| 99这里都是精品| 免费观看的AV| 99久久免费性爱视频`| 国产探花一片区| 99精品在线观看| 97碰人人操| 激情婷婷网| 婷婷六月开心网| 五月丁香六月婷综合成人综合| 婷婷综合干| 97色吧| 色色五月天激情| 婷婷九月丁香| 日日狠夜夜狠| 欧美久久五月婷婷| 婷婷五月天国产精品| 国产99久9在线| 久久五月婷综合| 超碰人人在线| 日本色婷婷| 97操碰在线视频| 99视频在线精品免费观看2| 思思热精品免费视频| 五月丁香久人妻中文| 欧美日韩国产一区| 去色色五月天| 五月婷婷久久网| 天天色综网| www.色婷婷| 亚洲午夜av| 色噜噜婷婷| 久久精品9| 亚洲精品视频电影| 26uuu国产| 色综合色综合色综合色综合| 亚洲欧州色情在线观看| 视频这里只有精品16| 色婷婷欧美在线| 婷婷欧美偷拍综合| 激情五月婷婷丁香六月| 六月婷婷激情| 久久ww| 97色婷婷| 五月丁香久人妻中文| 五月开心婷婷极品激情| 婷婷五月色| 欧洲永久精品| 99热这里只有精品国产免费| 另类色视频| 欧美又粗又大一区二区在线观看| 天天做天天要天天爱| 99色在线观看免费| 综合久久婷婷五月丁香| 精品色情一区二区三区四区| 激情深愛五月視頻| 五月婷婷少妇之| 99热99免费| 丁香婷婷综合激情五月色| 常久最新免费的色吊丝| 精品久久久人妻| 久久99热免费最新版| 激情綜合網址| 另类图片天天影视在线观看| 九九热视频精品| 五月丁香啪啪网| 97干干干丁香| 色五月在线综合| 六月婷婷视频| 五月丁香性爱| 狠狠五月激情在线| 亚洲五月婷天天操| 一区二区三区四区无码| 天天日夜夜帕| 激情综合网激情五月天| 久久综合丁香激情五月| 中文字幕成人| 在线成人va| 五月婷婷97| 97狠狠色| 婷婷五月天天| 久热这里只有精品99re| 情色婷婷五月天| 9久久精品| 67194中文在线| 激情爱爱网站超大免费| WWW,色五月| 丁香五月欧美色综合| 丁香五月婷婷基地| 久久久免费精彩视频| 国产乱人偷精品人妻A片| 99艹精品在线观看| 五月天开心色情网| 五月天婷婷色播| 久久爱婷婷| 日本五月婷婷| 亚洲人操亚洲人| 97碰| sewuyue第四色| 婷婷久久五月天| 另类小说五月天| 久久丁香社| 26UUU成人网| 开心激情网五月天| 久久激情视频| 97精品综合久久内射| 色热久资源| 六月婷婷久久| 99自拍视频在线| 大胆伊人久久| 热无码A∨| 亭亭玉月丁香| 搡BBBB搡BBB搡五十| 91chinese 在线| 伊人五月久久| 五月丁香婷中文| www.91热久久| 色10月婷婷视频| 婷婷五月丁香六月综合网| 激情久久久| 亚洲顶级VA在线观看-高清完整版在线影院观看-S022AV | 99精品偷自拍| 超碰人人色| 色婷婷五月中文字幕在线dvd| 97色色色| 激情av在线| 五月丁香六月香综合激情| 婷婷五月情| 91九色中文| 思思热久久爱| 丁香五月激情五月| 午夜激情婷婷| 欧美xx激情视频在线观看| 国产欧美熟妇另类久久久 | 噜噜狠狠色综合久| 婷婷伊人综合| 深爱激情五月天色婷婷| 淫视馆aV二区一区| 伊人久久综合| 激情综合婷婷| 开心激情站| 五月四色激情| 婷婷另类开心| 狠狠色综合网站久久久久| 97久久超视频| 日日夜夜天天爽| 99国产精品白浆在线观看免费| 久久精品4| 这里只有精品视频| 在线亚洲综合| 激情综合网 激情五月天| 91碰碰| 亚洲精品国产成人AV在线| 99热官网| 伊人青涩网| 色狠久| 任我干视频在线观看| 五月婷色丁香| 亚洲亚洲人成综合网络| 丁香六月婷婷综合激情欧美 | 91爱操| 97人人搞| 国产日韩av片| 色女人久久| 午夜成人综合| AA丁香综合激情| 天天综合网~91| 婷婷另类小说| 婷婷五月无码| 五月天婷婷视频小说| 六月婷在线| 色噜噜五月天| 亚洲色图日韩网址| 亚洲精品永久久久久久| 97婷婷五月激情六月丁香伊人| 婷婷综合色播网| 五月丁香日逼| 亚洲热综合| 五月99久久| 91欧美日韩综合| 99久热在线精品| 五月婷婷综合激情| 五月丁香网站在线播放|