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

ARTICLE DETAIL

資訊詳情

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

FOC電流采集代碼優(yōu)化:從ADC觸發(fā)到DMA搬運的完整實踐

FOC電流采集代碼優(yōu)化:從ADC觸發(fā)到DMA搬運的完整實踐 做FOC的兄弟如果你點進這篇文章大概率是被那幾行“看起來沒問題跑起來就炸”的電流采集代碼折磨過。這個系列我已經(jīng)寫到第11篇了前幾篇聊了任務調(diào)度、內(nèi)存池、log開銷這些通用優(yōu)化手段今天專門落到一個非常具體的場景上一段跑在STM32或類似MCU上的FOC電流采集程序怎么把它從“能跑”優(yōu)化到“抗干擾、低延遲、CPU占用低”。這篇文章我會按照自己實際調(diào)試的路徑來寫——先看原始代碼有哪些壞味道再用工具量化瓶頸然后給出整套優(yōu)化方案最后是踩坑記錄。不聊虛的每一步都對著代碼和時間數(shù)字說話。1. FOC電流采集性能優(yōu)化的前置認知1.1 電流采集在FOC環(huán)路里的核心地位FOC說到底就是一個“觀電流-換坐標系-算電壓矢量”的閉環(huán)。Clark變換把三相電流采樣值投影到靜止坐標系Park變換再把它轉(zhuǎn)到旋轉(zhuǎn)坐標系得到id和iq然后過電流環(huán)PID反Park變換生成電壓矢量最后SVPWM輸出給逆變器。這套鏈路里第一環(huán)就是電流采集。電流采集慢半拍整個電流環(huán)的相角裕度就會下降。具體來說電流環(huán)的延遲直接加進系統(tǒng)的相位滯后里。如果你采樣延遲從2微秒漲到10微秒在20kHz電流環(huán)下相當于把系統(tǒng)相位裕度拖掉了大約9度左右。如果原來就只留了30到40度裕度這9度延遲完全可能讓電機從“穩(wěn)”變成“嘯叫”甚至“炸管”。我見過不少現(xiàn)場問題電機跑起來低速抖、高速嘯排查了半天不是PID沒調(diào)好而是電流采樣的時機和耗時根本不對。所以做FOC性能優(yōu)化第一個要動的就是電流采集。1.2 為什么電流采樣要放在下橋熱搜詞里有個高頻問題FOC電流采集為什么都要設置在下橋這個要結合三相逆變器的開關狀態(tài)來理解。FOC常用的是雙電阻或三電阻采樣方案。雙電阻方案里采樣電阻串在下橋臂MOSFET的源極和地之間只能在下管導通的時刻采集到對應的相電流。因為上管導通的時候相電流走的是母線上管到電機繞組的路徑不經(jīng)過下橋采樣電阻你根本量不到東西。具體到“什么時候采”這個點業(yè)內(nèi)通用做法是在PWM中心對齊模式的定時器上溢或下溢時刻觸發(fā)ADC。因為在這個時刻三相下橋全部處于導通狀態(tài)至少也要避開死區(qū)和窄脈寬的坑采樣電阻上有完整的相電流流過采集到的值最穩(wěn)定。所以“下橋采樣”不是工程師拍腦袋定的而是由電流物理路徑和SVPWM開關狀態(tài)共同決定的。你只要理解了這一點后面配置ADC觸發(fā)時就不會擰巴。1.3 性能優(yōu)化前先搞清楚要優(yōu)化什么指標看性能永遠先定義指標。對于FOC電流采集代碼我主要關注下面三個數(shù)字。第一是CPU占用率。電流環(huán)中斷如果每50微秒跑一次一次執(zhí)行10微秒那就是20%的CPU花在了電流環(huán)上。如果還能壓到3微秒就能省出大量CPU給上位機通信、觀測器或者其他控制任務。第二是采樣延遲也就是從“電流真實流過采樣電阻”到“電流環(huán)拿到這個數(shù)據(jù)”的時間差。這個延遲包含ADC轉(zhuǎn)換時間、搬運時間、濾波時間和坐標變換時間。門檻就是剛才說的延遲越小相位裕度越充足。第三是采樣噪聲和抖動。ADC觸發(fā)的時刻抖動會導致采樣值抖動如果抖動和電機的電磁噪聲疊加你最后看到的電流波形就是一團毛刺。這會影響電流環(huán)質(zhì)量也會讓轉(zhuǎn)速波動變大。這三個指標互相牽制。CPU占用下去了如果采樣時刻飄了也是白搭。所以優(yōu)化不是單一維度而是整套鏈路一起優(yōu)化。2. 原始代碼的壞味道與性能基線測量2.1 一段很典型的“能用但難受”采集代碼為了說明問題我把一份常見的電流采集代碼簡化后放在下面。這段代碼雜糅了STM32標準庫和部分HAL風格真實項目里往往比這個更亂。// 電流環(huán)中斷PWM下溢觸發(fā)頻率20kHz void TIM_UP_IRQHandler(void) { // 手動觸發(fā)ADC轉(zhuǎn)換然后死等結果 ADC1_StartConversion(); while (!ADC1_GetFlagStatus(ADC1_FLAG_EOC)) ; // 阻塞等待 int16_t adc_val[2]; adc_val[0] ADC1_GetValue(); ADC1_StartConversion(); while (!ADC1_GetFlagStatus(ADC1_FLAG_EOC)) ; adc_val[1] ADC1_GetValue(); // 換算實際電流值 float ia (float)adc_val[0] * K_SCALE - I_BIAS; float ib (float)adc_val[1] * K_SCALE - I_BIAS; float ic -(ia ib); // 低通濾波用的還是double static double ia_flt 0.0, ib_flt 0.0; ia_flt ia_flt * 0.9 (double)ia * 0.1; ib_flt ib_flt * 0.9 (double)ib * 0.1; // Clark變換 float i_alpha ia_flt; float i_beta (ia_flt 2.0f * ib_flt) * 0.57735027f; // Park變換用了正弦和余弦?guī)旌瘮?shù) float sin_t sinf(theta); float cos_t cosf(theta); float id i_alpha * cos_t i_beta * sin_t; float iq -i_alpha * sin_t i_beta * cos_t; // 電流環(huán)PID省略中間代碼 pid_id_run(pid_id, id, id_ref); pid_iq_run(pid_iq, iq, iq_ref); // 更新SVPWM比較值 svpwm_update(); }你第一眼看這段代碼可能覺得“該做的都做了”但真正跑起來就發(fā)現(xiàn)問題很多。最大的問題是阻塞等待ADC轉(zhuǎn)換STM32F103這類MCU的ADC單次轉(zhuǎn)換大約1微秒到幾微秒不等如果你每個PWM周期要采兩路一路等一次光這一項就吃掉好幾微秒。第二個問題是中斷里做低通濾波而且用的double在Cortex-M3/M4上double運算比float慢不少。第三是Park變換里的sinf和cosf雖然加了f后綴但庫函數(shù)還是在中斷里跑了幾百個周期。這些問題單看每一項好像都“還好”累積起來就比較致命。我們實測過這段代碼在一顆72MHz的Cortex-M3上跑一個20kHz中斷的執(zhí)行時間能到13.8微秒CPU占用率27.6%。電機不轉(zhuǎn)的時候沒問題一旦帶上負載電流波形毛刺明顯電機噪音也大。2.2 用IO翻轉(zhuǎn)和邏輯分析儀測性能基線不測量就沒有優(yōu)化。每寫一段優(yōu)化代碼之前我都會先在中斷入口和出口拉高拉低一個測試IO用邏輯分析儀看高電平時間寬度。這個方法土但非常有效能干到幾十納秒的精度。測法很簡單進中斷先GPIO置高出中斷前GPIO置低邏輯分析儀采樣率設到100MHz以上抓幾個PWM周期高電平時間就是中斷執(zhí)行耗時。當時測出的數(shù)據(jù)大致是項目數(shù)值PWM頻率20kHz周期50微秒中斷平均執(zhí)行時間13.8微秒中斷最大執(zhí)行時間15.2微秒CPU占用率27.6%ADC觸發(fā)方式軟件手動觸發(fā)阻塞等待采樣抖動峰峰值約±1.2微秒看到采樣抖動這行你可能就明白了為什么這個電機低速時會有周期性的噪聲。因為電流采樣點前后飄了1微秒以上在正弦波電流的過零點附近這個時間偏移對應不小的電流誤差。這誤差進了電流環(huán)等于給系統(tǒng)加了一個隨機擾動。2.3 明確瓶頸優(yōu)先級先時序后算法面對這段代碼我曾經(jīng)也想過先把sinf換掉、把double換float但實測發(fā)現(xiàn)這些還不是關鍵。核心瓶頸是先“什么時候采”的問題沒解決。軟件觸發(fā)ADC意味著你必須等ADC轉(zhuǎn)換完才能做下一步。你永遠不知道前一次中斷里的其他代碼是不是拖沓了導致這次ADC觸發(fā)晚了。這個機制本質(zhì)上是串行依賴的天生就會引入抖動。所以第一優(yōu)先級是改采樣觸發(fā)方式把ADC觸發(fā)從“軟件觸發(fā)輪詢等待”改成“硬件定時觸發(fā)DMA搬運”。這樣ADC轉(zhuǎn)換和CPU計算可以在時間上重疊起來。等CPU真正拿到數(shù)據(jù)的時候ADC已經(jīng)把該轉(zhuǎn)的都轉(zhuǎn)完了。算法層面的優(yōu)化像濾波、坐標變換可以放到后面做。先把時序理順往往能解決一大半問題。3. 優(yōu)化方案逐步落地從ADC觸發(fā)到DMA搬運3.1 用定時器硬件觸發(fā)ADC替代軟件觸發(fā)針對上面的痛點第一步就是把ADC改成由定時器主動觸發(fā)。STM32的高級定時器TIM1或TIM8在PWM輸出模式上有個很方便的特性可以配置為在中心對齊計數(shù)的上溢或下溢事件時輸出一個觸發(fā)信號給ADC。這樣ADC采樣就和PWM載波嚴格同步了不需要軟件干預。SVPWM的中心對齊模式下定時器計數(shù)值先增后減遞減到0的時刻下溢正好是三相下橋全部導通的窗口中心在這里觸發(fā)ADC采樣是最理想的。配置的核心代碼大致長這樣// 以STM32F407為例使用TIM1的TRGO觸發(fā)ADC1 TIM_SelectOutputTrigger(TIM1, TIM_TRGO_UPDATE); // 或者根據(jù)需求用TIM_TRGO_CC1IF等事件 ADC_InitTypeDef adc_init; // ADC獨立模式12位采樣時間盡量短但保證充足 adc_init.ADC_Mode ADC_Mode_Independent; adc_init.ADC_ExternalTrigConv ADC_ExternalTrigConv_T1_TRGO; adc_init.ADC_ExternalTrigConvEdge ADC_ExternalTrigConvEdge_Rising; adc_init.ADC_Resolution ADC_Resolution_12b; // 其他配置略配置好以后你每次PWM周期內(nèi)不需要再調(diào)用ADC1_StartConversion()ADC硬件會在定時器事件到來時自動啟動轉(zhuǎn)換。這里有個細節(jié)觸發(fā)邊沿要選對。如果你的定時器配置為上溢和下溢都會更新那就需要根據(jù)實際配置選擇沿。常用的做法是配置成僅在向下計數(shù)到0時觸發(fā)一次這樣每個PWM周期只采樣一次。如果你的電流環(huán)需要每個周期采集兩次比如在某些特殊工況下需要兩個矢量作用時刻的電流用于低調(diào)制比下的重構再改成雙觸發(fā)。3.2 打開ADC的DMA模式讓數(shù)據(jù)自動搬運光靠硬件觸發(fā)還不夠因為轉(zhuǎn)換完成標志還是要軟件去查。此時引入DMA就順理成章了。ADC每個通道轉(zhuǎn)換完成后DMA會自動把數(shù)據(jù)從ADC的數(shù)據(jù)寄存器搬到內(nèi)存數(shù)組里不需要CPU參與搬運。配置DMA的要點有兩個一是工作在循環(huán)模式這樣每個PWM周期DMA都會自動搬運一組新數(shù)據(jù)永遠不用重裝二是數(shù)據(jù)長度要和ADC通道數(shù)對齊。DMA_InitTypeDef dma_init; dma_init.DMA_Channel DMA_Channel_0; // ADC1對應DMA2 Stream0按芯片手冊選 dma_init.DMA_PeripheralBaseAddr (uint32_t)ADC1-DR; dma_init.DMA_Memory0BaseAddr (uint32_t)adc_buffer; dma_init.DMA_DIR DMA_DIR_PeripheralToMemory; dma_init.DMA_BufferSize 2; // 兩路電流采樣 dma_init.DMA_Mode DMA_Mode_Circular; // 循環(huán)模式 dma_init.DMA_PeripheralInc DMA_PeripheralInc_Disable; dma_init.DMA_MemoryInc DMA_MemoryInc_Enable; dma_init.DMA_PeripheralDataSize DMA_PeripheralDataSize_HalfWord; dma_init.DMA_MemoryDataSize DMA_MemoryDataSize_HalfWord; dma_init.DMA_Priority DMA_Priority_High; dma_init.DMA_FIFOMode DMA_FIFOMode_Disable;DMA模式下CPU完全不用等ADC。電流環(huán)中斷觸發(fā)時直接讀adc_buffer[0]和adc_buffer[1]即可。注意要用volatile修飾緩沖數(shù)組否則編譯器可能在優(yōu)化時把兩次讀數(shù)組重排或直接緩存到寄存器里讀到舊數(shù)據(jù)。內(nèi)核里有一個非常反直覺的坑——你讀DMA緩沖時DMA可能正好在搬運新數(shù)據(jù)。雖然循環(huán)模式下ADC的兩個通道是順序轉(zhuǎn)換的但如果你在PWM中斷里讀到的兩路數(shù)據(jù)分別屬于兩個不同的PWM周期那你用來算Clark變換的ia和ib就不是同一時刻的電流值會產(chǎn)生額外的相位誤差。解決辦法有兩個要么在PWM中斷里讀數(shù)據(jù)時先關DMA再讀再開DMA這種方法如果操作不當會丟失一個觸發(fā)事件不一定好要么配置ADC為注入組單次掃描模式用注入組轉(zhuǎn)換結束事件觸發(fā)中斷保證兩個通道是同一批次轉(zhuǎn)換出來的。我個人更推薦后者因為它從機制上保證了兩個值的時間一致性。3.3 電流環(huán)中斷瘦身只留真正必要的計算硬件觸發(fā)和DMA解決的問題是“采集過程不占用CPU時間”。但中斷里仍然存在一些不合理的計算。先看濾波部分。有些工程師習慣把低通濾波放在中斷里但我們得想清楚FOC電流環(huán)本身就是一個帶寬很高的環(huán)路你砍掉高頻噪聲是可以的但如果濾波太深會把有用信號也削掉。比如你用0.1的系數(shù)做低通等效帶寬可能已經(jīng)低于電流環(huán)帶寬了這會導致相位延遲增大。更穩(wěn)妥的做法是如果ADC采樣毛刺不是特別嚴重直接用硬件層面優(yōu)化。比如把ADC采樣時間從1.5周期加到3個周期讓采樣電容充分充電毛刺往往就下來了。實在需要軟件濾波優(yōu)先用一階IIR系數(shù)選0.7到0.9之間別低于0.7。再來看坐標變換時的sinf和cosf。我理解很多人圖省事直接用數(shù)學庫但它的實現(xiàn)里包含精度和兼容性考慮往往不是最快的。FOC里角度theta的變化是有規(guī)律可循的在很多項目里可以把sin/cos表做成512點甚至1024點的查找表查表加線性插值的誤差足夠小速度卻快很多。3.4 用查表替代實時三角函數(shù)計算舉一個具體例子。假設電機最高電頻率是500HzPWM頻率20kHz也就是每個電周期有40個PWM周期。如果用512點sin表每次查表之間角度步進是360/512約等于0.7度對電流環(huán)來說精度已經(jīng)足夠好了。查表法實現(xiàn)如下#define SIN_TABLE_SIZE 512 #define SIN_TABLE_MASK (SIN_TABLE_SIZE - 1) // 建表時一次性算好 static float sin_table[SIN_TABLE_SIZE]; void sin_table_init(void) { for (int i 0; i SIN_TABLE_SIZE; i) { sin_table[i] sinf(2.0f * PI * i / SIN_TABLE_SIZE); } } // 查表線性插值 float fast_sin(float angle_rad) { float index_f angle_rad * (SIN_TABLE_SIZE / (2.0f * PI)); int32_t index (int32_t)index_f; float frac index_f - (float)index; index SIN_TABLE_MASK; int32_t index_next (index 1) SIN_TABLE_MASK; return sin_table[index] (sin_table[index_next] - sin_table[index]) * frac; }實際項目中這個查表函數(shù)在Cortex-M4上大概幾十個周期就能跑完比sinf快一半還多。3.5 電流環(huán)代碼抽離緊急任務和非緊急任務分開電流環(huán)中斷里除了坐標變換和PID往往還混著一些不太相關的東西。比如有的工程師會把轉(zhuǎn)速估算、弱磁控制、過流保護邏輯全塞在一個中斷里。這類問題在優(yōu)化時要拆開。FOC中真正需要和PWM同頻執(zhí)行的部分只有電流采樣讀取、坐標變換、電流環(huán)PID、SVPWM輸出。這些都是必須在載波周期內(nèi)完成的“緊急任務”。轉(zhuǎn)速估算這類東西很多時候不需要20kHz的頻率。如果你的目標帶寬在100Hz左右那么轉(zhuǎn)速估算哪怕降到1kHz也沒有問題。把它挪到低優(yōu)先級定時中斷或者主循環(huán)里跑能大幅減輕高頻中斷的負擔。過流保護必須走硬件比較器或ADC模擬看門狗這是硬件級別的快速保護不能讓軟件延遲決定是否炸MOS管。軟件層面的過流檢測可以作為第二道防線不要把它和電流環(huán)PID混在同一個中斷里。3.6 把高頻中斷放到RAM里執(zhí)行這個優(yōu)化點知道的人不算多但在Flash速度慢的MCU上非常有效。很多MCU從Flash取指令是有等待周期的尤其是高頻時鐘下。比如STM32F4在168MHz主頻下Flash等待周期可能到5個周期這意味著每條指令都要多等好幾個周期。解決辦法是直接把電流環(huán)中斷服務函數(shù)放進RAM執(zhí)行。GCC環(huán)境下用__attribute__((section(.ramfunc)))即可IAR則用__ramfunc關鍵字。__attribute__((section(.ramfunc))) void TIM1_UP_IRQHandler(void) { // 快速執(zhí)行電流環(huán) }注意這段函數(shù)會被拷貝到RAM里運行如果RAM緊張就不能放太多內(nèi)容。實際項目中我通常只把最關鍵的電流環(huán)ISR放進去其他普通中斷保持原地不動。4. 優(yōu)化后的代碼長什么樣4.1 結構清晰的電流環(huán)主流程經(jīng)過了上面幾步的優(yōu)化電流環(huán)中斷的代碼就清爽多了。下面是我在項目中實際使用過的簡化版本// 電流環(huán)中斷TIM1下溢硬件觸發(fā)ADCDMA搬運 __attribute__((section(.ramfunc))) void TIM1_UP_IRQHandler(void) { adc_dma_buffer_t adc read_adc_buffer(); // 原始電流還原 float ia adc.sample_a * K_SCALE - I_BIAS; float ib adc.sample_b * K_SCALE - I_BIAS; float ic -(ia ib); // 可選的弱濾波只在必要時啟用 ia iir_lpf(ia, filter_a_state); ib iir_lpf(ib, filter_b_state); // Clark變換 i_alpha ia; i_beta (ia 2.0f * ib) * SQRT1_3; // Park變換查表法 float s fast_sin(theta), c fast_cos(theta); id i_alpha * c i_beta * s; iq -i_alpha * s i_beta * c; // 電流環(huán)PID pid_id_run(pid_id, id, id_ref); pid_iq_run(pid_iq, iq, iq_ref); // 反Park變換 vd id_out * c - iq_out * s; vq id_out * s iq_out * c; // SVPWM輸出 svpwm_apply(vd, vq); }這段代碼的精髓在于數(shù)據(jù)已經(jīng)從DMA那準備好了濾波函數(shù)做了輕量化三角函數(shù)用查表整個中斷里沒有阻塞等待沒有多余的判斷分支。你甚至可以把這段代碼的執(zhí)行時間控制得很穩(wěn)定這對FOC控制的一致性非常重要。4.2 ADC配置代碼的完整示例光看中斷代碼還不夠ADC和DMA的初始化也要配套。這里給一個相對完整的STM32F4系列初始化參考。void foc_adc_init(void) { ADC_InitTypeDef adc_init; DMA_InitTypeDef dma_init; GPIO_InitTypeDef gpio_init; NVIC_InitTypeDef nvic_init; // 使能ADC1時鐘和GPIO時鐘 RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE); RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_DMA2 | RCC_AHB1Periph_GPIOC, ENABLE); // PC0和PC1作為模擬輸入對應ADC1的通道10和通道11 gpio_init.GPIO_Pin GPIO_Pin_0 | GPIO_Pin_1; gpio_init.GPIO_Mode GPIO_Mode_AN; gpio_init.GPIO_PuPd GPIO_PuPd_NOPULL; GPIO_Init(GPIOC, gpio_init); // DMA2 Stream0配置 dma_init.DMA_Channel DMA_Channel_0; dma_init.DMA_PeripheralBaseAddr (uint32_t)ADC1-DR; dma_init.DMA_Memory0BaseAddr (uint32_t)foc_adc_dma_buffer; dma_init.DMA_DIR DMA_DIR_PeripheralToMemory; dma_init.DMA_BufferSize 2; dma_init.DMA_PeripheralInc DMA_PeripheralInc_Disable; dma_init.DMA_MemoryInc DMA_MemoryInc_Enable; dma_init.DMA_PeripheralDataSize DMA_PeripheralDataSize_HalfWord; dma_init.DMA_MemoryDataSize DMA_MemoryDataSize_HalfWord; dma_init.DMA_Priority DMA_Priority_High; dma_init.DMA_Mode DMA_Mode_Circular; DMA_Init(DMA2_Stream0, dma_init); // ADC1配置 adc_init.ADC_Mode ADC_Mode_Independent; adc_init.ADC_ScanConvMode ENABLE; // 掃描模式多通道 adc_init.ADC_ContinuousConvMode DISABLE; // 超時觸發(fā)不是連續(xù)轉(zhuǎn)換 adc_init.ADC_ExternalTrigConvEdge ADC_ExternalTrigConvEdge_Rising; adc_init.ADC_ExternalTrigConv ADC_ExternalTrigConv_T1_TRGO; // TIM1觸發(fā) adc_init.ADC_DataAlign ADC_DataAlign_Right; adc_init.ADC_NbrOfConversion 2; ADC_Init(ADC1, adc_init); // 配置兩個通道的采樣時間 ADC_RegularChannelConfig(ADC1, ADC_Channel_10, 1, ADC_SampleTime_3Cycles); ADC_RegularChannelConfig(ADC1, ADC_Channel_11, 2, ADC_SampleTime_3Cycles); // 使能DMA和ADC ADC_DMACmd(ADC1, ENABLE); ADC_Cmd(ADC1, ENABLE); }初始化代碼里需要注意的一個細節(jié)是掃描模式下ADC的通道順序就決定DMA緩沖里的數(shù)據(jù)順序。你必須清楚通道10對應dma_buffer[0]通道11對應dma_buffer[1]后面讀數(shù)據(jù)時別搞反。4.3 優(yōu)化后的性能參數(shù)實測代碼改完之后我用同樣的邏輯分析儀測了一輪結果對比如下指標優(yōu)化前優(yōu)化后中斷平均執(zhí)行時間13.8微秒4.2微秒中斷最大執(zhí)行時間15.2微秒4.5微秒CPU占用率20kHz中斷27.6%8.4%采樣抖動峰峰值±1.2微秒±0.15微秒電流波形毛刺明顯帶載時噪聲大基本消除CPU占用從27.6%降到8.4%直接省出了19個百分點的算力。這個余量你可以用來做無傳感器觀測器、做在線參數(shù)辨識或者干脆降低主頻以省電。采樣抖動從1.2微秒壓到0.15微秒電機低速時的周期性噪聲基本消失。5. 高頻FOC工程中的常見問題清單5.1 采樣點正好落在死區(qū)或者窄脈寬區(qū)間電流采集要避開死區(qū)時間否則采樣出來的電流不是真實相電流。這個問題在做小占空比、低調(diào)制比工況時尤其容易踩。SVPWM載波中心的下橋?qū)ù翱谌绻瑼DC采樣時刻稍微偏一點就可能采到死區(qū)期間的回流狀態(tài)。解決思路是加入最小采樣窗口判斷。比如計算當前PWM周期的有效下橋?qū)〞r間如果低于某個閾值比如3微秒就放棄本輪采樣用上一次的電流值或者把ADC觸發(fā)點往安全方向偏移。5.2 電流過采樣濾波后出現(xiàn)了額外相位延遲有些工程師為了讓波形更干凈喜歡把多個PWM周期內(nèi)的電流采樣值做平均。比如四周期滑動平均這在軟件上很好寫但效果不一定好。因為滑動平均本質(zhì)是一個FIR濾波器它本身會引入大約1.5個采樣周期的延遲。在電流環(huán)里這個延遲直接轉(zhuǎn)化為相位滯后。我見過有人把滑動窗口加到八個點結果電機跑高速時電流環(huán)開始振蕩。濾波不是越強越好做電流環(huán)濾波時一定要拿示波器看階躍響應確認沒有額外相移。5.3 DMA循環(huán)模式下讀到了“半新半舊”的數(shù)據(jù)這個問題我在3.2節(jié)提了一些實際項目中經(jīng)常讓人頭疼。DMA循環(huán)模式是永遠在跑的你讀數(shù)組的時候數(shù)組里面可能既有前一周期數(shù)據(jù)又有本周期的數(shù)據(jù)。這在ADC掃描模式配置不當?shù)臅r候尤其明顯。我的建議是果斷使用注入組轉(zhuǎn)換。注入組轉(zhuǎn)換可以配置為一次轉(zhuǎn)換一組通道并把結果鎖存到注入數(shù)據(jù)寄存器里。這樣讀到的兩個值才是嚴格同一時刻的快照不需要用開關DMA這種粗糙的規(guī)避方案。5.4 PFC和電機驅(qū)動共用MCU時中斷優(yōu)先級怎么定很多項目是一個MCU同時管PFC和電機FOC。PFC通常也是高頻控制兩個電流環(huán)中斷優(yōu)先級一旦配錯系統(tǒng)就會出現(xiàn)奇怪的震蕩。一個基本準則是哪個環(huán)路帶寬高、故障風險大哪個優(yōu)先級就高。FOC的過流風險更大通常FOC電流環(huán)中斷優(yōu)先于PFC。PFC的電流環(huán)如果稍微滯后一拍一般不會炸機但FOC的電流環(huán)滯后就會導致電流失控。5.5 在中斷里不要用printf這條聽著像廢話但真的有人踩坑。FOC電流環(huán)20kHz頻率下你要是往中斷里塞一個printf哪怕是重定向到數(shù)組緩存也會大量占用CPU時間甚至把中斷棧頂爆掉。調(diào)試的時候可以用IO翻轉(zhuǎn)邏輯分析儀或者DMA串口輸出少量關鍵變量不要用阻塞式的printf。真要看波形把變量存到一個環(huán)形緩沖區(qū)然后讓上位機通過慢速通道慢慢讀這個通道放在主循環(huán)里執(zhí)行就行。6. 優(yōu)化思路的橫向遷移不只適用于FOC這套優(yōu)化方法并不是只能用在FOC電流采集上。數(shù)字電源的電壓電流雙環(huán)、伺服驅(qū)動的編碼器采樣、并網(wǎng)逆變器的電網(wǎng)電壓鎖相環(huán)它們本質(zhì)都是“高速外設采樣高頻控制中斷延遲敏感閉環(huán)”。你只要記住這條主線數(shù)據(jù)準備盡量用硬件自動完成CPU在中斷里只做真正的控制運算最后用測量數(shù)據(jù)驗證每一個環(huán)節(jié)的開銷。哪里延遲大就把哪里往硬件卸載或者往低頻搬。我自己在數(shù)字電源項目里也復用了這套ADCDMA定時器觸發(fā)機制效果同樣明顯。所以這篇文章的內(nèi)容與其說是“FOC電流采集代碼優(yōu)化”不如說是一套嵌入式高實時性閉環(huán)的通用套路。最后說一個個人心得做這類優(yōu)化不要一上來就懷疑自己的控制算法不行。先把鏈路里每一段延遲都測出來、量出來讓數(shù)據(jù)告訴你瓶頸在哪里。大多數(shù)情況下問題根本不在PID參數(shù)而在數(shù)據(jù)通路本身。把通路理順了電流環(huán)自然就聽話了。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
加勒比日本在线| 天美传媒AV在线| 大香蕉一线视频| 99精品九九九九九九| 亚洲丝袜色| 看免费的黄片| 久久久亚洲熟妇熟女| 九九热超碰97亚洲最新香蕉 | 中文字幕一区二区在线日韩精品| 亚洲熟久久| 五月婷婷色| 97国产|免费| 天综合网欧美| 1二区9| 婷婷精品| 久久黄黄| 精品在线观看视频在线| 午夜舔阴达高潮视频免费看| 一二三四区操操Av| 日本新免费二区三区| 五月丁香影院| 激情小说成人日本无码一| 精品欧美乱码久| 久久精品99| 东北女人| 亚洲熟妇综合久久久久久| 亚洲熟妇图片| 超碰爽人妻熟女Av| 韩日精品四区| 久久天堂婷婷网| 欧美精品1区2区3区| 在线a亚洲视频播放在线| 综合熟妇一区二区三区| 亚洲成人妻日韩在线| 婷婷尹人大香蕉免费| 欧美人妻一区| 国产精品69人妻无码久久久| 欧美黄片视频在线观看免费 | 性饥渴少妇av无码毛片| 国产内射爽爽大片| 日躁天天爽爽| 亚洲精品91| 五月天精品| 久久综合久色欧美综合狠狠| 欲女人妻性色av| 人人超碰在线观看黄| 东北女人高潮视频| 日本一级不卡一二区| 亚洲drav色图| 亚洲黄色AV电影| 一区二区无码视频| 欧美日日人人天天| 人妻色情天天操| 91无码人妻精品一区二区三区蜜桃| 粉嫩小泬久久久一区二区| 久久综合精品一区二区三区| 超碰 av 女人天堂| 欧美熟女丝袜| 少妇精品久久久八区九区| 久久m| 97超碰久| 91热| 国产美女口爆吞精视频| 无码人妻精品一区二区三区99不卡| 狠狠色噜噜狠狠狠狠2018| 岛国免费黄色网址| 人妻熟女av国产网站| 在线精品福利免费播放| 91麻豆天美国产欧美| 综合久欧洲| 九九热视频这里只有精品| 夜夜免费视频| 亚洲毛片基地专区| 操B视频日韩无码| 天天躁日日躁AAAAXXXX国产| 人人妻人人狠人人| 操人91| 偷拍网站久久男女男| 夜夜夜久久| 天堂在线一区二区| 综合97| 人妻一区二区三区视频| 丁香九月激情啪| 婷婷尹人大香蕉免费| 久热色情精品| 美女上床网站| 人人操人人操人人人操| 人妻少妇久久久| 97欧美色资源| 欧美色图20P| 97欧美| 巨爆乳一区二区爆乳区| 99性爱视频| 顶级少妇BT天堂| 日韩电影天堂视频一区二区| 亚洲天天做日日做天天谢日日| 中文字幕乱碼在线| 中文字幕欧美日本乱码一线二线| 欧美亚洲综合高清在线| 人人色97| 97操综合| 国产福利视频精品视频| 久久久A∨| 欧美熟女逼久久久久久| 成人激情无码在线视频| 欧美A√综合网| 久久久97| 蜜臀久久久久久999| 亚洲欧美国产va在线| 亚洲综合999| xxx0国产在线播放| 欧美内射少妇| 国产毛片毛片4p懂色| 日韩黄色一区二区三区| 18禁久极品美女久久哦哟呀!| 国产一区二区在线播放| 97人人模人人爽人人| 蜜臀亚洲综合一二三四区| 人人弄人人摸| 99re6国产精品99re在线| 亚洲双插| 国产在线视视频有精品| 欧美亚洲韩国视频十五区 | 欧美熟妇人体| 日韩亚洲欧美中文字幕| 五月天春色激情网| 少好三P| 亚洲国产精品99久久久| 久久大精品乱码视频人妻熟女| 婷婷超| 欧美美女啪啪视频| 亚洲一区二区在线观看91| 97人人模人人爽人人| 欧美,亚洲,日韩,v,天堂,手机在线观看| 亚洲色婷婷久久91| 四虎视频在线观看| 人人看人人爰人人操| 嗯嗯嗯啊啊啊在线免费观看| 一级做a爰片性色毛片久久| 99热精品在线| 久操免费观看| 久久国色天香香蕉| 欧 美 自 拍 偷 拍| 久久日本熟妇熟色高清 | 人妻免费观看| 曰本人妻人人澡人人夹| 操91| 97色碰| 久久久91| 嗯~啊~快点 死我视频| 八戒午夜福利理论片| 97精品国产97久久久久久户外免费| 97欧美日韩| 嗯啊免费视频| 69少妇一区二区| 偷拍2020| 日韩久久三区| 天堂精品小草| 欧美18老人禁| 国产精品久久久吖| 97视频620| 涩涩涩综合| 国产一区二区三区,在线观看观看| 探花激情视频| av网站国产主播在线| 中文97国产| 成人三一级一片aaa| 偷拍新久久| av天堂影视中文在字幕在线中文| www.99中文字幕| 亚洲欧美啪啪| 久久9精品视频| 国产精品区在线12p| 91插B网站| 亚洲九区| 高潮毛片无遮挡高清免费| 9 1超碰九色| 狠狠狠狠狠干| 亚洲人妻在线一区| 久久精品熟妇丰满人妻99| 中文字幕55555| 乱论91| 日韩无码第3页| 欧美无圣光在线| 91丨熟女丨丰满熟女| 久久久久九九九| 99色骚| 偷拍 精品另类 凸凹了四区| 每日更新AV| 中文字幕欧美丝袜07资源| 97在线无精品| 欧美综合制服在线| 97精品一二区| 骚逼高潮久久精品| 国产精品99久久久www| 久久精品| 张柏芝国产一区在线观看| 色性综合| 久久啊哟| 亚洲情色91| 国产一区二区三区影片| 狠狠色噜噜狠狠狠狠狠色综合久久 | 精品久久久久久中文字幕视频免费| 好看的久久不射无码影视影院| 五月天婷婷欧美三区| 干干干天天| 欧美91在线| av天堂加勒比| 白嫩白嫩的午夜九久久久久久久久久久久成人剧场| 国产精品视频电影| 欧美午夜精品久久久久久超碰| 精品在线观看视频在线| 日本在线观看网址| 97色碰| 欧美色图自拍| 欧美中日韩XXXX| 91精品人妻五十路| 超碰精品人妻狠狠干| 青青草吊丝| 日本一线产区和二线产区伦理片| 91黑丝操| 97视频新免费| 粉嫩久久久极品| 久久久成人免费av电影| 超碰在线综合97| 色色青青久久| 91黄站| 夜夜无码| 中国熟妇| 国产成人无码a| 色色香蕉| 一级性爱aaaa| 久久婷婷视频| 久久超碰久| 蜜臀久久99精品久久久久久久久| 日本欧美成人片AAAA| 中文字幕一区二区三区视频播放| 欧美视频在线视频免费va| 青草av在线| 综合色久| 一区二区三区四区五区高清无码永久视频 | 九t超碰| 欧美亚洲首页| 狠狠色狠狠色狠狠五月| 国产在线精品偷| 免费一级视频特黄色大片| 国产67194| 另类综合另类| 九九九九九九成人| 超碰在线在公开超碰在线在公开| 欧色网址| 久久直播国产| 亚洲熟女国产综合另类| 婷婷五月天无码| 91黑丝操| 精品性爱| 婷婷五月成人| 噜噜噜久久亚洲精品色情| 亚洲熟妇白浆无码AV| 亚洲人妻五月丁香婷婷| 亚洲成人无码影院| 婷婷亚洲中文字幕在线| 国产第11页| 天天久久久久久| A片大香蕉在线| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 99久久99九九99九九九| 蜜臀AV秘一区翔田千里| 亚洲午夜av| 欧洲无码一区二区| 久草久日| 成人av福利在线观看| 9久久精品| 伊人国产视频| 日韩一级欧美一级国产一级台湾 | 人人摸人人干| 人人妻人人爽| 日韩久久.一级黄色片| 亚洲欧洲色情高清| 一级黄色视频网| 玖玖视频在线资源一区二区三区| 蜜乳av一区二区三区四区不卡| 91综合网在线| 日韩精品一区二区三区色欲| 夜夜嗨一区| 99精品视频在线观看免费| 狼天天狼天天大香蕉| 久久精品视频一区三区小泽玛利亚| 97干97色| 先锋精品av色鲁| 超碰9 7女人| 色综合av综合久久| 婷婷五月天激情小说| 欧美论理片| 熟女激情综合网| 久久精品人体AV| 香蕉国产97| 97人妻免费中文字幕| 中国黑人三级片网站上区| 91亚州| 亚洲黑丝在线| 欧美日韩亚洲天堂| av优播| 超碰色老头| 婷婷AV一区二区三区| 亚洲青青草| 亚洲精品性爱片| 天天天天天超碰| 国产兽交视频在线播放| 毛片17S| 国产精品午夜福利| 婷婷色色网| 97se亚洲综合自| 婷婷五月成人| 欧美天天综合| 91 丝袜在线| 久久久久久日韩| 玖色AV| 9久精品| 色狠人在线99| 亚洲中文国际强奸字幕| 国产自产22区| 激情综合久久| 天天看夜夜看日日干| 澳门成人网站久国产日韩| 狠狠久久手机视频精品| 婷婷香网站| 国产 亚洲 丝袜 制服| 十八禁电影伊人网| 欧美亚洲综合色| 97综合在线| 日本999精品视频| 欧美大香蕉同搞| 超碰视97中文| 中文字幕精品人妻丝袜| 国产aⅴ无码片毛片一级网站| 久久人妻一区二区三区高清| 婷婷久久五月| 无码精品久久| 91美女视频。| 精品无码一区二区| 小视频玖玖| 蜜臀久久99精品久久久久久婷婷| 9精品久久| 性爱1区| 免费观看日本操逼视频| 国产AV线| 色鬼在线综合| 夜间福利片1000无码| 欧美另类丝袜熟女| 天天夜夜久久| 欧亚成人在线视频| 成片免费播放| 精品欧美А∨无码黑人大荫蒂 | 九九九成人| 观看免费区二区三区二| 精品成人av一区二区三区在线| 诱惑网综合| 综合久久99亚洲人妻中文在线| 国产成人网| www.伪伪| 岛国黄片网站| 欧美日韩中文视频播放| 九九热午夜欧亚国产视频| 国产不卡片| 操逼逼无码| 老司机天天操| 欧洲精品一级二级精品综合视频综合| 九九免费影片| 日韩中文9| 大香蕉 222| 在线日韩视频| 在线观看日韩av不卡| 亚洲无码国产精品久久| 国产黄色影片在线观看| 精品人妻一区二区三区四区石在线 | 性感美女啊啊啊在线| 欧美另类自拍 | 99999久久精| 亚洲凸凹超碰成人| 一区二区国产视频在线观看| 麻豆天美久久91| 第一高清av中文字幕| 精品91日日夜夜超清资源| 天天躁日日躁狠狠狠躁| 日夜尻逼网| 97超碰精品成| 春色综合免费| 中字一区| 天天久久久久久| 干美女人妻| 超碰日韩美妻| 麻豆区久久久久亚| 久久 久久国内精品亚洲| 国产精品天干天干综合网麻豆| 自拍视频大全亚洲专媒视频/一区二区三区 | 妇女性内射冈站HDWWWCOM| 日韩小电影| 久一区久久蜜桃| 五十路熟女人妻一区二区在线观看| 激情小说激情视频| AV女优男人的天堂| 亚洲开心网| 99re98| 成人性爱免费播放| 亚洲色图尤物视频| 无码高清国产AV| 欧美日产国产在线成人第一区| 国产精品一区二区亚洲人成毛片| 啪啪资源网| 亚欧成人中文字幕一区| 综合97久久| 亚洲区限制级 99| 97爱啪| 啊啊啊好大好深| 97超碰日韩| 中英熟女操女| 亚欧无码在线| 日韩不卡毛片Av免费高清| 亚洲最新a在线观看| 亚洲一区中文字幕一区| 操穴国产| 亚洲日本天堂| 夜夜精品视频| 国产成人无码a| 99热99在线播放激情| 亚洲欧美国产日本一区二区三区| 97在线精品| 日本天堂网| 91女优在线观看 | 极品粉嫩一区二区| 啊啊啊啊啊啊啊在线| 国产欧美另类久久久精品课程| 91亚洲综合| 乱伦av国产| 亚洲黑丝在线| 亚洲日韩久久精品一区| 久久老熟女| 91亚洲色图| 9丨亚洲一区二区在线| 天天操天天舔| 国产AV天美| 俺去啦自拍| 又大又大又大又粗爽高潮观看| 色在线亚洲视频www| 久久婷婷五月综合| 神马久久啊啊| 日本操逼视频在线| 午夜高清成人在线视频| 99国产精品久久久久久久成人热 | 性爱Av免费| 欧美激情五月天| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 精品少妇一区二区三区| 无码操逼视频一下| 殴美,日韩国产伦精品| 精品中文日韩字幕视频| 很很操在线| 国产67194| 九九九九免费高| 蜜桃狠狠色伊人亚洲综合网站| 男男H黄动漫啪啪无遮挡网站| 青青11操操操操操操操操| 蜜区区视频79 | A啊啊在线观看| 婷婷午夜清品久久久久久久性色视频观| 蜜乳av一区二区| 99超碰色| 精品久久久久久久| 日韩欧美午夜视频在线| 亚洲drav色图| 国产日韩在线播放| 久久成人网站| 亚洲啪啪视频一区二区| 2019午夜福利视频| 性久久| 欧美狠狠弄| 久久69| 九九久久精品| 啊啊啊好大好深| 久久草在线综合视频| 久久人妻少妇| 国产亚洲色婷婷久久99精品91葵花宝典 | 东京热激情视频一二三区| 夜夜无码| 99热超碰在线| 欧美加勒比| 91亚·色| 无码137片内射在线影院| 男人下部插入女人下部| 国产肏逼网站| 97超久碰| 国产区91柔拿会所技师| 欧美线天码中字| 手机看片1025| 3P丝袜熟女 色综合| 九九99久久| 久久一区二区三区四区五区| 亚洲不卡不卡中文字幕不卡| 国产剧情一区在线观看| 免费AV中文网在线观看| 午夜天堂精品久久| h4610国产人妻| 久久精品中文| 久久色情| 久久久久久亚洲Av无码| 久操影视| 夂久色| 777琪琪午夜免费A片| 欧美在线 亚洲| 中文字幕在线观看丝袜| 久久成人国产精品| 青青草女人天天干| 91大胆欧美| CCYY草草影院地址入口| 色99久草| 嗯嗯啊啊亚欧精品| 强免费黄色网址| 99re免费| chaopen97久久| 欧美久久九九| 亚洲最新a在线观看| 国产免费内射视频| 97这里只精品| 91狠狠综合久久| 久久丁香久草综合网| 欧美人妻一区二区| 99热免费精品| 久久黄色性爱视频| 日本黄色大片一级视频免费麻豆| 中国一级操逼视频| 亚洲男人的天堂一区二区| 久久久久久9| 99日视频在线免费| 亚洲天堂另类美腿| 亚洲欧洲久久天堂| 任我爽视频在线观看| 超碰性爱97| 九九精品无码专区免费| 97少妇人妻中文字幕久久| 欧美色图天堂在线| 色就色综合| 亚洲欧美不卡线| 日韩大香蕉精品在线视频| 九九在线视频| av网页一区二区三区| 亚州色综合| 亚洲中亚日激情视频| 少妇同性| 日韩性色b| 亚洲夜夜欢无码一区二区| 日韩成人在线性爱视频| 91色综合| 国产精品欧美在线观看| 欧美综合色综合| 精品国产国产AV| 久久免费老司机精品| 欧美老妇曰批的视频| 欧美熟妇乱码在线一区| 99re28在线观看| 操逼无码操逼| 男人的天堂网页| 国产三级中文字幕粉嫩| 亚洲日韩东京热一区| 丰满少妇一区二区三区四区观看| 午夜丁香| 九九色婷婷| 欧美精品自慰系列寂寞少妇| 欧美顶级黄色大片免费| 亚洲精品国产无码高清| 99亚洲精品| www.久久最新地址| 成人精品一区二区91毛片不卡| 一本色道无码DVD中文字幕| 久操免费观看| 国产精品久久久亚洲第一牛牛_在线观看 | 国产色精品午夜大片| 看免费的黄片| 国产高清免费不卡av| 精品毛片av一区二区| 无码丰满熟妇一区二区浪潮AV| 91P0RNY大屁股人妻| 思思久热在线精品66| 国产在线综合网| 99人妻碰碰碰久久久久禁片| 亚洲无码太久| 亚洲无码一二三区| 免费a级毛片av无码久久精品中文字幕| 日韩精品一区二区人人人| 97天天插| av草草在线电影| 激情欧美97| 欧美影院一区二区三区| 人人操,人人插| 性在久久久久久| 丁香婷婷九月| 一品道视频一区二区三区| 91人妻丝袜无码| 加勒比日本在线| 丝袜色综合| 91性网| 亚洲熟伦熟妇AV无码春色| 无码一区二区精品视频久久久春药| 九九久久一区二区伦理| 99色综合| 69人妻精品丰满熟女区| 福利五区| 沈阳熟女高潮对白视频| 操比国产| 91人妻丝袜无码| 人妻熟女一区二区| 亚洲综合欧美| 熟女精品va中文字幕| 久久久久久午夜男人的天堂| 97青娱乐超碰久久| 国产美女自拍视频| 成年无码动漫av片无尽在线| 熟女色综合久久| 国产农村妇女一区二区| 欲色啪| 亚洲午夜未满十八勿入网站日本又色又爽又黄 | A片 AV一级在线播放观看免费| 久久久草成人网站久久久草成人久久久草久久久 | 嗯嗯啊啊视频在线看| 亚洲精品蜜桃久久久久久久| 欧美热图99| 中国少妇XXXX做受| 天天日日舔舔| 性欧美| 女生91网站| 国产色产精品在线观看 | AV色五月| 国产人妖的免费的视频| 吻戏激情性巴克| 欧美日韩美女精品久草一区二区三区| 中文字幕精品探花视频| www九九热| 亚洲综合九| 日韩精品在线视频,日韩精品……| 欧美日韩国内不卡| 亚洲情色在线| 国产在线观看一区二区三区| 日韩有码免费视频| 一区二区无码视频| 国产欧美岛国精品一区| 久久久久久久久久久久久久久乱码| 国产精品另类| 免费看欧美美女黄色大片| 国产熟妇一区二区| 国产黄色视频久久| 肥臀熟女福利视频一区二区| 夜夜爽夜夜摸夜夜操免费视频| 天天综合网日韩| juliaann精品熟女一区| 日韩图区| 岛国在线国产| 用力操死我| 天天色图| 久久不卡一区二区| 日本一区二区中文字幕久久| 大鸡巴久久久| 青青草国产欧美非洲黑人| www.夜夜| 91无码西班牙视频在线| 天堂av2019| 东北女人无套内谢视频| av操操不卡| 麻豆视频国产一区二区| 美日韩在线不卡人妻| 国产精品免费1区2区视频| 暖暖精品二区三区观看| 男女啪啪网站免费视频| 中文字幕人妻色偷偷久久皮| 色婷婷激一区二区三区| 青青草日韩免费观看高清在线| 久久riav中文精品| 久久久内射良家| 日本日皮视频逼| www.人人摸在线视频| 欧美色五月| 91肉丝| 99re69| 国产剧情AV不卡在线观看| 日韩欧美蜜桃精品久久中文字幕久久 | 小视频国产| 校园春色综合香蕉| 国产九九九九九九九九| 久操国产在线| 96精品在线| 无码久久亚洲高清,| 91精品又粗又猛又爽| 国产67194| 92一区二区| 超碰97最新人妻| 91精品无码人妻系列| 亚洲欧美不卡线| 欧美A√综合网| 亚洲色欲天天人妻无码系列专区| 国产日本一区二区三区蜜臀在线观看| 91国产美女丝袜足交精品视频| 亚洲国产一级精品毛一级精品看免费视频 | 天天综合网久久ww| 欧美性巨大╳╳╳╳╳高跟鞋| 天天干夜夜鈤| 东北女人| 日本三级中国三级99人妇网站| 日本成人免费一区二区三区| 色偷综合| 97se综合网| 我爱大香蕉| 国产第12页| 超碰4A| 美腿丝袜高跟网免费视频免费视频| 日韩一级免费性爱| 欧美在线永久天堂| 亚洲情色 自拍| 欧美夜色| 啊啊啊com| 久久香蕉国产线看观看猫咪av| 黄色免费一级在线毛片| 校园春色美腿丝袜| 日韩精品第3页| 人妻久久久久久久久久久久久久久| 日逼视频日本| 欧美Ⅴ性爱| 69久久久久久久久久久久久| 午夜婷婷| xxx0国产在线播放| 男女猛烈无遮掩视频免费软件| 久久亚洲一区女同性恋中文字幕| 亚洲综合骚逼| 久久中文色图| 久操黄色视频| 日韩三级一区| 国产欧美一区激情交| 午夜电影在线观看无码专区| se吧提供国产乱老熟视频胖女人| 国产9l 大屁股| 国产吹潮女在线观看| 天天看特黄的免费网站| 91色综合激情| 欧美激情亚洲色图| 精品一区二区三区蜜桃臀赵总 | 欧美人妻制服| #NAME?| 美国三级日本三级久久99| 精品久久久久黄少妇| av优播| 日韩pv中文| 防屏蔽在线视频| 亚洲操操操| 日本亚洲熟女视频| 亚洲色图欧美视频| 无码高清专| 久久精品国产亚洲AV嘿嘿| 亚洲欧美在线观看无码| 一区不卡在线观看av| 日韩免费簧片| 911av网站免费观看| 久操网无码在线| 国产成年免费大片黄在线观看| 亚洲精品国产无码高清| 国产一区二区三区免费视频在性观看| 超碰在线人妻中文字幕| 久久精品午夜国产亚洲AV无码| 日韩操啪| 亚洲精品一二区| 国产区91柔拿会所技师| 日本色色色视频| 91人人臊| 人妻天天夜夜爽一区二区| 毛片视频白嫩| 91成人在线| 欧美黑人猛交春色影视大全| 精品人妻美妇91job| 久久人人爽爽人人爽人人片αV| 亚洲 小说 欧美 激情 另类| 97超碰人人模人人拍人人| 97操| 大香蕉一级黄色片久久| 日骚逼视频| 女欧美一区二三区| 国产对白刺激视频| 麻豆这里只有精品| 丝袜熟女2P| 小骚逼被操的爽不爽| 天天大干大香蕉| 日韩大香蕉AV影片| 久久亚洲AV无码白度| 三级激情网站| 六月激情婷婷| 国产福利夜| 天天日熟妇| 亚洲欧美日韩偷拍色图| 一级性爱网| 男女啪啪啪18禁网站| 在线一道啪| 国产原创自拍| 美女AV一区二区| 日韩欧视频| 极品欧美一区二区三区| 久久99亚洲精品久久99果| 亚洲不卡不卡中文字幕不卡| 午夜精品久久久99热蜜桃的功能特点| 欧洲人妻视频| 久久精品国产99精品亚洲蜜...| 亚洲成av人片色午夜乱码| 亚洲情色1区| 果冻传媒A片一二三区| 欧美性爱一区二区| 国模无码一区二区三区在线| 亚州色交| 欧美日韩人妻精品一区二区三区| 桃花色综合影院| 夜夜草网站| 伦在线97| 日韩欧美亚欧在线视频| 高清国产av无码| 青青草密桃在线播放| 成人黄页| 9丨久久九九九| 日本东京热加勒比久久| 综合网~91综合网| 亚洲高清综合网| 人看人人摸人人操| 国产乱码精品久久久久久| 国产精品96| 久久久网站| 熟女露脸激情自拍视频| 无码精品久久| 精品人妻1237| 超碰色老头| 色情五月综合婷婷| 欧美日韩青操| 午夜无遮挡男女啪啪视频| 97视频网站在线观看| 97 国产精品| 在线综合 亚洲 欧美中文字幕 | 日韩在线观看字幕精品| 久久久久久久国产| 欧美色www亚洲国产阿娇要播| 免費黃色視頻觀看一| 综合 青草 伊久久 影院 综合 | 无码av永久免费专区网站| 国产精品久久久久久久久久久久久久久久久久| 97超碰色情| 色五月综合网| 亚洲 日本 不卡| 啪啪一区| 97欧美资源| 顶级丝袜熟女一区二区三区 | 精品超碰中文在线| 久久久999国产精品| 国产精品免费日韩| 中文字幕精品丝袜| 少妇久久久| 色综合91| 999久久久免费精品国产牛牛| 999狠狠综合| 校园春色 欧美| 国产欧美一区二区| 亚洲本色精品一区二区久久| 色眯眯射| 8x福利精品第一福利视频导航| 天美传媒在线一区| 国模艳艳啪啪一区| 综合色久欲| 精品一区二区亚洲国产| 久久婷婷成人综合色怡春院| 国产这里只有精品| 国产精品电影大全| 嗯嗯啊啊视频在线看| 任我爽在线视频免费观看| 中国少妇XXXX做受| 97免费视频在线观看视频| 精品亚洲国产成人AV制服丝袜| 一本色道人妻久久| 精品妇女一区二区三区| 天天视频黄| 福利天堂| 操碰97| 牛牛AV人人夜夜澡人人爽| 亚洲另类小说卡通动漫| 国产精品视频91久久| 韩三级a视频在线观看| 国产高清视频无码在线| 温婉少妇玩3p| 啊啊啊啊二区好大| 99r九九| 色综合网1| 九九九九一级| 91爱| 欧美成人一区二区三区在线播放 | 91P0RNY大屁股人妻| A 天堂| 欧美人妻一区| 欧美青青视频| 久久性生大片免费观看性| 亚州色图狠狠干| 精品一二三区久久AAA片| 97欧美在线| 久久久久9999妇女| 欧美十八禁在线看| A片大香蕉在线| 日本亚欧爱爱| 精品国产99| 人人插人人搞人人操| 人人操 欧美| 久九九九九九九九热| 1区2区3区中文字幕日韩| 影音先锋国产精品| 国产精品久久久无码aV去| 熟人人妻少妇精品久久| 九九毛片这里只有精品| 九月丁香婷婷色| 97视频免费在线观看| 色综合1991| 久久超碰、| 亚洲图片欧美日韩| 懂色AV蜜臀无码精品APP| 欧美gv在线观看| 99re这里只有| 热热色色综合| 欧美中文字幕男人天堂久久精品 | 亚欧中文字幕在线视频| 激情文学网伊人| 无码日韩网站| 强奸乱伦亚洲第一页| 中国一级αV| 久久三区四区| 97视频免费在线| 1024手机看片欧美日韩| 视频在线观看一二三区| 日本三级中国三级99人妇网站| 亚洲最新中文字幕免费| 操逼逼一区视频| 久久伊人影院| 日韩电影中文字幕| 97超碰资源网| 久久、1234| 亚洲A色| 亚洲图片 91| 亚洲天天艹| 中出91| 97啪啪| 婷婷操逼| 色九月婷婷| 五月婷婷性爱| 五月丁香激情综合| 999国产精品999| 午夜精品探花| 一级免费啪啪片| 成人无码在线超碰网| 好吊色综合| 青草园大香蕉| 在线免费试看60秒| 超碰伊人在线| 欧美日韩午夜精品一区二区三区 | 中文一区在线视频| 十八禁的黄污污免费网站| 亚洲国产ⅴ高清在线观看| 婷婷av在线中文字幕| 8x福利精品第一福利视频导航| 日本精品网站在线中文| 少妇人妻好深太紧了vr91| 三级激情网站| 天堂中文日本在线观看| 欧美自拍偷拍免费观看| 偷窥自拍亚洲天堂网爆| 天天做天天爱天天高潮| 午夜天堂啪啪| 大香樵伊人网| 精品一区96| 中文字幕97色| 综合色久欲| 国产精品欧美在线观看| 超碰在线一区| 国产三级在线现体验区| 日本免费一级AAA大片器| 激情接吻视频久久久久久| 9999久久久久| 久久9亚洲| 亚洲自拍一区夜夜操| 丁香7月婷婷| 怡春院久久| 91天天| 中文字幕亚洲永久精品| 亚洲天堂中文字| 国产 亚洲 丝袜 制服| 综合久久欧美| 99丝袜福利在线播放| 日韩人妻网站| 综合网亚洲1| 男人的天堂网页| 无码国产Av| 麻豆啪啪啪视频| 久久理论字幕视频| 神马久久69| 东北熟女91| 91搞逼视频| 午夜精品视频777| 99久久com免费视频′| 成人熟女区| 九九九九一级| TS人妖另类精品视频系列| 久久透逼视频| 日本不卡高清免v欧美日韩在线观看| 三级三久久线久久99久目本WW| 91爱看| 91老熟女老女人国产老太| 欧美激情久久久久| 青娱乐黄色录像| 欧美91精品国产自产| 91黄站| 日本福利二区视频| 五月天激情综合网| 熟妇在线视频一区二区| 亚洲国产综合久久天堂| 超碰这里有精品| 人人么人人操| 亚洲日韩精品在线播放| 日本日日色视频| 欧美性爱超碰97| 免费啪啪一级视频| 欧美色图亚洲特色| 九九热国产| 尤物一级在线免费观看| 台湾佬中文娱乐自偷自拍| 性欧美91| 一起草精品人妻| 不卡超碰护士AV在线免费播放| 五月天人妻综合| 成年女人黄网站| 欧美色图偷拍另类| 欧美97爱| www色色色com| 91网站18+| 精品亚洲国产成人av网站| 中文字幕视频2区| 97视频免费| 激情综合五月| 日本精品九九九| 日va操| 综精品久久久aaaa| 欧美少妇色图| 91精品综合久久久久久五月丁香| 四虎免费视频| 蜜乳AV网址| 天天操天天日天天干| 强奸乱伦大香蕉| 9久久美女首页| 日韩在线欧美精品一区二区| 久久9亚洲| 亚洲在线网站| 欧洲免费一区二| 深爱伊人影院| www.婷婷| 加勒比99999| 日本福利社| 婷婷午夜清品久久久久久久性色视频观| 伊人久久在线视频观看| 大香蕉伊在线久草麻豆天堂故事| 亚洲 欧美综合| 三级AV入口| 日影院久久婷婷夜夜网| 草草影院最新网址| 98精品国产乱码久久久久久| 少妇无码av专区线| 久久久久性熟视频| 久久精品久| 91原创在线观看| 在线观看一级α片刺激高潮视频| 亚洲男人的天堂V| 伊人久久在线视频观看| 国产性爱欧美性爱在线| 国产精品一区二区三区,亚洲综合 性开放中文AV高清无码免费看 | 99色日| 无码日韩人妻av一| 午夜九九| 亚州一区二区成人片免费| 亚洲精品九九九九九九| 顶级丝袜熟女一区二区三区| 91综合天天看| 国产偷拍网站| 超碰97人妻免费在线| 五月天色综合| 久操热| 欧美特黄视频网站| 97在线免费看| 99re热有精品视频国产| 久久天堂网| 91美女视屏| 国产麻豆一级精品视频| 九九九九久久久久| 91操人| 国产精品麻豆成人AV艾秋| av天堂精品久久| 久久久极品| 欧美后入视频| 六月丁香啪啪| 精品午夜福利国产一区二区在线观看| 91在线国产后入风骚翘臀美女素人| 亚洲另类综合欧美| 一级片在线观看高清无码| 骚货 中文字幕 av| 白丝1区2区3区| 囯产乱伦一区二区三女 | 综合网亚洲在线| 国产精品。| 99热99色| 高清国产性猛交xxxx乱大交| 欲色综合| 九一精品牛牛一区二区| 亚洲AV免费在线| 日产操逼| 久久精品国产97欧美精品亚洲| 欧美少妇大量自拍视频在线观看| 综合操逼| 久久成年片色大黄全免费网站| 中文字幕在线第二页| 亚洲五区熟女| 久久精品一区二区三区不卡| 国产粉嫩出水在线播放| 日本成人免费一区二区三区| 蜜桃臀av一区二区| 亚洲情色图片区| 亚洲 欧美 中文 日韩超碰| 久久精品国产72国产精品福利| 91啦人妻| 亚洲无码日韩电影| 无码九九| 精品999日本| 18精品一区| 色婷婷香蕉| 波多野结衣先锋影音| 亚洲**2021在线观看| 少妇的嫩逼图片| 亚洲天堂久| 99只有精品| 最新亚洲风情电影| 蜜臀久久一区二区| 影音先锋国产精品| 思思在线免费视频| 色臀av| 成人免费性爱视视| 亚洲色电影在线| 久久亚洲一区二区色婷婷| 99精品高潮| 在线观看A啊啊啊| 色综合潮| 婷婷五月天丁香| 91操碰| 操99| 激情专区综合| 日本高清一区二区在线| 欧美午夜一区二区三区| 隔壁邻居波多野结衣中文字幕 | av操操不卡| 国产13区| 亚洲 se图 欧美电影|