無線節能信標為什么會自動切換? 排查故障的過程真的像謎一樣無法解釋

      網友投稿 745 2022-05-29

      01

      存在的問題

      1.問題描述

      在 第十六屆全國大學智能汽車競賽競速比賽 中的節能無線信標組中的 信標控制模塊 在2021-04-10測試的時候發現存在以下問題:

      問題描述: 當信標燈被串聯在一起的時候,與主控制器相連,發現在進入測試狀態的的時候,信標燈大約每隔一段時間就會自動切換到下一個信標。

      這個自動切換的時間間隔大約是5秒鐘。

      2.初步排除

      龍邱公司對于信標做了如下的實驗,初步將問題確定在控制器中的U6(也就是控制無線充電控制MCU)部分:

      將原來舊的U1(通訊控制MCU)固件下載,發現故障依然存在;

      將U6從電路板拆除,故障消失;

      U6影響U1是通過KEY1引線,來模擬之前的線圈放大信號。使用示波器測量KEY1信號,初步沒有看到特別的且囊括。

      02

      修改U6的程序

      1.簡化U6程序

      將U6的主函數簡化成只剩下對于看門狗喂狗的過程。上面的自動切換過程依然存在!!!

      那么這個問題究竟是在什么地方呢?

      這與前面判斷與U6有關的結論相互矛盾。

      2.將U6單片機拆除下來

      將U6拆除下來,重新觀察,會看到自動切換現象消除了。

      3.臨時將ADC0_PIN修改成IN

      將ADC0_PIN臨時修改成輸入管腳。此時故障消失了。所以判斷對于U1造成自動切換的問題仍然來自于U6的ADC0_PIN管腳。

      但是由于ADC0_PIN成為輸入,所以程序在無法對于U1發送觸發信號了。

      那么怎么辦呢?

      4.將ADC0_PIN的邏輯修改成與HALL一樣

      也就是將ADC0_PIN的狀態,平時修改高電平。當信號板中的AHLL被磁鐵觸發之后,HALL管腳下降,那么再將ADC0_PIN修改低電平。

      問題神奇的解決了!!!

      到此為止,通過試湊獲得解決問題的辦法,但原因是什么?還不得而知!

      ▌【結論】

      有些故障就像迷一樣,來無蹤去無影。我們總是在有限的時間、精力、測量手段下悲壯的往前行。

      另外有同學詢問,發光燈盤是否可以獨自工作,而不需要控制盒。此時,只需要將發光盤上的4PIN控制端口中的ION與GDN短接即可。

      ■ 相關文獻鏈接:

      第十六屆全國大學智能汽車競賽競速比賽規則

      無線節能信標核心板V4-測試-2021-4-3

      /** ****************************************************************************** * File Name : main.c * Description : Main program body ****************************************************************************** * * COPYRIGHT(c) 2021 STMicroelectronics * * Redistribution and use in source and binary forms, with or without modification, * are permitted provided that the following conditions are met: * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * 3. Neither the name of STMicroelectronics nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * ****************************************************************************** */ /* Includes ------------------------------------------------------------------*/ #include "stm32f0xx_hal.h" /* USER CODE BEGIN Includes */ #include "math.h" #include "stm32f0xxa.h" #include "serialtxt.h" #include "control.h" /* USER CODE END Includes */ /* Private variables ---------------------------------------------------------*/ ADC_HandleTypeDef hadc; DMA_HandleTypeDef hdma_adc; IWDG_HandleTypeDef hiwdg; TIM_HandleTypeDef htim3; UART_HandleTypeDef huart1; DMA_HandleTypeDef hdma_usart1_rx; /* USER CODE BEGIN PV */ /* Private variables ---------------------------------------------------------*/ /* USER CODE END PV */ /* Private function prototypes -----------------------------------------------*/ void SystemClock_Config(void); static void MX_GPIO_Init(void); static void MX_DMA_Init(void); static void MX_ADC_Init(void); static void MX_IWDG_Init(void); static void MX_TIM3_Init(void); static void MX_USART1_UART_Init(void); /* USER CODE BEGIN PFP */ /* Private function prototypes -----------------------------------------------*/ /* USER CODE END PFP */ /* USER CODE BEGIN 0 */ /* USER CODE END 0 */ int main(void) { /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /* MCU Configuration----------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init(); /* Configure the system clock */ SystemClock_Config(); /* Initialize all configured peripherals */ MX_GPIO_Init(); MX_DMA_Init(); MX_ADC_Init(); MX_IWDG_Init(); MX_TIM3_Init(); MX_USART1_UART_Init(); /* USER CODE BEGIN 2 */ STM32F0XXAInit(); ControlInit(); printf("BEACON Wireless Driver. -- by Dr.ZhuoQing[%d] %s,%s\r\n", SystemCoreClock, __DATE__, __TIME__); /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ int nCount = 0; int nShowCount = 0; g_nAdjustFlag = 1; // Begin Adjust I int nOutFlag = 0; PWMOff(); WaitTime(150); //---------------------------------------------------------------------------- // while(1) { // HAL_IWDG_Refresh(&hiwdg); // } //---------------------------------------------------------------------------- while (1) { if(nOutFlag == 0) { if(++nCount & 0x200) ON(LED); else OFF(LED); } else { if(++nCount & 0x40) ON(LED); else OFF(LED); } WaitTime(1); HAL_IWDG_Refresh(&hiwdg); //-------------------------------------------------------------------------- if(VAL(HALL_PIN) != 0x0) { ON(ADC0_PIN); if(g_ucLastHall != 0) { PWMOff(); nOutFlag = 0; } g_ucLastHall = 0; } else { OFF(ADC0_PIN); PWMOn(); g_ucLastHall = 1; nOutFlag = 1; } //-------------------------------------------------------------------------- if(VAL(CTRL_PIN) != 0x0) { PWMOn(); nOutFlag = 1; if(VAL(HALL_PIN) == 0) { OFF(ADC0_PIN); WaitTime(50); ON(ADC0_PIN); WaitTime(50); OFF(ADC0_PIN); WaitTime(50); ON(ADC0_PIN); WaitTime(50); } } else { if(VAL(HALL_PIN) != 0) { PWMOff(); nOutFlag = 0; } } //-------------------------------------------------------------------------- //-------------------------------------------------------------------------- if(++nShowCount >= 500) { nShowCount = 0; } //------------------------------------------------------------------ CONSOLE_DEBUG; /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ } /* USER CODE END 3 */ } /** System Clock Configuration */ void SystemClock_Config(void) { RCC_OscInitTypeDef RCC_OscInitStruct; RCC_ClkInitTypeDef RCC_ClkInitStruct; RCC_PeriphCLKInitTypeDef PeriphClkInit; RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI14|RCC_OSCILLATORTYPE_LSI |RCC_OSCILLATORTYPE_HSE; RCC_OscInitStruct.HSEState = RCC_HSE_ON; RCC_OscInitStruct.HSI14State = RCC_HSI14_ON; RCC_OscInitStruct.HSI14CalibrationValue = 16; RCC_OscInitStruct.LSIState = RCC_LSI_ON; RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL6; RCC_OscInitStruct.PLL.PREDIV = RCC_PREDIV_DIV1; HAL_RCC_OscConfig(&RCC_OscInitStruct); RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_SYSCLK; RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1); PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_USART1; PeriphClkInit.Usart1ClockSelection = RCC_USART1CLKSOURCE_SYSCLK; HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit); HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000); HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK); /* SysTick_IRQn interrupt configuration */ HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0); } /* ADC init function */ void MX_ADC_Init(void) { ADC_ChannelConfTypeDef sConfig; /**Configure the global features of the ADC (Clock, Resolution, Data Alignment and number of conversion) */ hadc.Instance = ADC1; hadc.Init.ClockPrescaler = ADC_CLOCK_ASYNC; hadc.Init.Resolution = ADC_RESOLUTION12b; hadc.Init.DataAlign = ADC_DATAALIGN_RIGHT; hadc.Init.ScanConvMode = ADC_SCAN_DIRECTION_FORWARD; hadc.Init.EOCSelection = EOC_SINGLE_CONV; hadc.Init.LowPowerAutoWait = DISABLE; hadc.Init.LowPowerAutoPowerOff = DISABLE; hadc.Init.ContinuousConvMode = DISABLE; hadc.Init.DiscontinuousConvMode = DISABLE; hadc.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE; hadc.Init.DMAContinuousRequests = DISABLE; hadc.Init.Overrun = OVR_DATA_PRESERVED; HAL_ADC_Init(&hadc); /**Configure for the selected ADC regular channel to be converted. */ sConfig.Channel = ADC_CHANNEL_0; sConfig.Rank = ADC_RANK_CHANNEL_NUMBER; sConfig.SamplingTime = ADC_SAMPLETIME_7CYCLES_5; HAL_ADC_ConfigChannel(&hadc, &sConfig); /**Configure for the selected ADC regular channel to be converted. */ sConfig.Channel = ADC_CHANNEL_1; HAL_ADC_ConfigChannel(&hadc, &sConfig); } /* IWDG init function */ void MX_IWDG_Init(void) { hiwdg.Instance = IWDG; hiwdg.Init.Prescaler = IWDG_PRESCALER_4; hiwdg.Init.Window = 4095; hiwdg.Init.Reload = 4095; HAL_IWDG_Init(&hiwdg); } /* TIM3 init function */ void MX_TIM3_Init(void) { TIM_ClockConfigTypeDef sClockSourceConfig; TIM_MasterConfigTypeDef sMasterConfig; TIM_OC_InitTypeDef sConfigOC; htim3.Instance = TIM3; htim3.Init.Prescaler = 0; htim3.Init.CounterMode = TIM_COUNTERMODE_UP; htim3.Init.Period = 239; htim3.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; HAL_TIM_Base_Init(&htim3); sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; HAL_TIM_ConfigClockSource(&htim3, &sClockSourceConfig); HAL_TIM_PWM_Init(&htim3); sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; HAL_TIMEx_MasterConfigSynchronization(&htim3, &sMasterConfig); sConfigOC.OCMode = TIM_OCMODE_PWM1; sConfigOC.Pulse = 120; sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; sConfigOC.OCFastMode = TIM_OCFAST_DISABLE; HAL_TIM_PWM_ConfigChannel(&htim3, &sConfigOC, TIM_CHANNEL_1); } /* USART1 init function */ void MX_USART1_UART_Init(void) { huart1.Instance = USART1; huart1.Init.BaudRate = 500000; huart1.Init.WordLength = UART_WORDLENGTH_8B; huart1.Init.StopBits = UART_STOPBITS_1; huart1.Init.Parity = UART_PARITY_NONE; huart1.Init.Mode = UART_MODE_TX_RX; huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE; huart1.Init.OverSampling = UART_OVERSAMPLING_16; huart1.Init.OneBitSampling = UART_ONEBIT_SAMPLING_DISABLED ; huart1.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT; HAL_UART_Init(&huart1); } /** * Enable DMA controller clock */ void MX_DMA_Init(void) { /* DMA controller clock enable */ __DMA1_CLK_ENABLE(); /* DMA interrupt init */ HAL_NVIC_SetPriority(DMA1_Channel1_IRQn, 0, 0); HAL_NVIC_EnableIRQ(DMA1_Channel1_IRQn); HAL_NVIC_SetPriority(DMA1_Channel2_3_IRQn, 0, 0); HAL_NVIC_EnableIRQ(DMA1_Channel2_3_IRQn); } /** Configure pins as * Analog * Input * Output * EVENT_OUT * EXTI */ void MX_GPIO_Init(void) { GPIO_InitTypeDef GPIO_InitStruct; /* GPIO Ports Clock Enable */ __GPIOF_CLK_ENABLE(); __GPIOA_CLK_ENABLE(); /*Configure GPIO pins : PA2 PA4 */ GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_4; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_LOW; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); /*Configure GPIO pins : PA3 PA7 */ GPIO_InitStruct.Pin = GPIO_PIN_3|GPIO_PIN_7; GPIO_InitStruct.Mode = GPIO_MODE_INPUT; GPIO_InitStruct.Pull = GPIO_PULLUP; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); } /* USER CODE BEGIN 4 */ /* USER CODE END 4 */ #ifdef USE_FULL_ASSERT /** * @brief Reports the name of the source file and the source line number * where the assert_param error has occurred. * @param file: pointer to the source file name * @param line: assert_param error line source number * @retval None */ void assert_failed(uint8_t* file, uint32_t line) { /* USER CODE BEGIN 6 */ /* User can add his own implementation to report the file name and line number, ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ /* USER CODE END 6 */ } #endif /** * @} */ /** * @} */ /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      18

      19

      20

      21

      22

      23

      24

      25

      26

      27

      28

      29

      30

      31

      32

      33

      34

      35

      36

      37

      38

      39

      40

      41

      42

      43

      44

      45

      46

      47

      48

      49

      50

      51

      52

      53

      54

      55

      56

      57

      58

      59

      60

      61

      62

      63

      64

      65

      66

      67

      68

      69

      70

      71

      72

      73

      74

      75

      76

      77

      78

      79

      80

      81

      82

      83

      84

      85

      86

      87

      88

      89

      90

      91

      92

      93

      94

      95

      96

      97

      98

      99

      100

      101

      102

      103

      104

      105

      106

      107

      108

      109

      110

      111

      112

      113

      114

      115

      116

      117

      118

      119

      120

      121

      122

      123

      124

      125

      126

      127

      128

      129

      130

      131

      132

      133

      134

      135

      136

      137

      138

      139

      140

      141

      142

      143

      144

      145

      146

      147

      148

      149

      150

      151

      152

      153

      154

      155

      156

      157

      158

      159

      160

      161

      162

      163

      164

      165

      166

      167

      168

      169

      170

      171

      172

      173

      174

      175

      176

      177

      178

      179

      180

      181

      182

      183

      184

      185

      186

      187

      188

      189

      190

      191

      192

      193

      194

      195

      196

      197

      198

      199

      200

      201

      202

      203

      204

      205

      206

      207

      208

      209

      210

      211

      212

      213

      214

      215

      216

      217

      218

      219

      220

      221

      222

      223

      224

      225

      226

      227

      228

      229

      230

      231

      232

      233

      234

      235

      236

      237

      238

      239

      240

      241

      242

      243

      244

      245

      246

      247

      248

      249

      250

      251

      252

      253

      254

      255

      256

      257

      258

      259

      260

      261

      262

      263

      264

      265

      266

      267

      268

      269

      270

      271

      272

      273

      274

      275

      276

      277

      278

      279

      280

      281

      282

      283

      284

      285

      286

      287

      288

      289

      290

      291

      292

      293

      294

      295

      296

      297

      298

      299

      300

      301

      302

      303

      304

      305

      306

      307

      308

      309

      310

      311

      312

      313

      314

      315

      316

      317

      318

      319

      320

      321

      322

      323

      324

      325

      326

      327

      328

      329

      330

      331

      332

      333

      334

      335

      336

      337

      338

      339

      340

      341

      342

      343

      344

      345

      346

      347

      348

      349

      350

      351

      352

      353

      354

      355

      356

      357

      358

      359

      360

      361

      362

      363

      364

      365

      366

      367

      368

      369

      370

      371

      372

      373

      374

      375

      376

      377

      378

      379

      380

      381

      382

      383

      384

      385

      386

      387

      388

      389

      390

      391

      392

      393

      394

      395

      396

      397

      398

      399

      400

      401

      402

      403

      404

      405

      406

      407

      408

      409

      410

      411

      412

      413

      414

      415

      416

      417

      418

      419

      420

      無線節能組信標為什么會自動切換? 排查故障的過程真的像謎一樣無法解釋

      421

      422

      423

      /* **============================================================================== ** CONTROL.C: -- by Dr. ZhuoQing, 2015-11-29 ** **============================================================================== */ #include "stm32f0xx_hal.h" #include "stm32f0xxa.h" #include "math.h" #define CONTROL_GLOBALS 1 // Define the global variables #include "CONTROL.H" //============================================================================== // //------------------------------------------------------------------------------ extern TIM_HandleTypeDef htim3; extern ADC_HandleTypeDef hadc; extern IWDG_HandleTypeDef hiwdg; void ControlInit(void) { //-------------------------------------------------------------------------- IN(HALL_PIN); OFF(HALL_PIN); OUT(ADC0_PIN); ON(ADC0_PIN); IN(CTRL_PIN); OFF(CTRL_PIN); PWMOff(); //-------------------------------------------------------------------------- HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_1); HAL_ADC_Start_DMA(&hadc, (uint32_t *)g_nADCBuffer, ADC_BUFFER); //-------------------------------------------------------------------------- SetPWMARR(320); // Set PWM frequency 150kHz //-------------------------------------------------------------------------- g_fLastD = 0.1; g_nADCI = 0; g_nAdjustFlag = 0; g_ucLastHall = 0; //-------------------------------------------------------------------------- HAL_IWDG_Start(&hiwdg); } //------------------------------------------------------------------------------ void GetADCAverage(unsigned short * pADC) { unsigned int nSigma[ADC_CHANNEL]; int i; for(i = 0; i < ADC_CHANNEL; i ++) nSigma[i] = 0; unsigned short * p = g_nADCBuffer; for(i = 0; i < ADC_BUFFER; i ++) { int j; for(j = 0; j < ADC_CHANNEL; j ++) nSigma[j] += *(p ++); } for(i = 0; i < ADC_CHANNEL; i ++) *(pADC + i) = nSigma[i] / ADC_BUFFER; } //------------------------------------------------------------------------------ void SetPWMARR(unsigned int nDivide) { htim3.Instance->ARR = nDivide-1; htim3.Instance->CCR1 = nDivide / 2; } void SetPWMCCR(unsigned int nCCR) { if(nCCR >= htim3.Instance->ARR) nCCR = htim3.Instance->ARR - 1; htim3.Instance->CCR1 = nCCR; } //------------------------------------------------------------------------------ void AdjustIBus(void) { unsigned short nADC[ADC_CHANNEL]; if(g_nAdjustFlag == 0) return; //-------------------------------------------------------------------------- GetADCAverage(nADC); short nI = nADC[0]; g_nADCI = nI; float dnew = 0.5; float f_pi = 3.1415926; if(nI > 10) { float a = sqrt(I_BUS_ADC_SET / (float)nI) * sin(f_pi * g_fLastD); if(a <= 1.0) { dnew = asin(a) / f_pi; } } dnew = dnew * ADJUST_I_BETA + (1 - ADJUST_I_BETA) * g_fLastD; g_fLastD = dnew; if(g_fLastD < 0.01) g_fLastD = 0.01; unsigned int nCCR = (int)(320 * dnew); if(nCCR < 10) nCCR = 10; else if(nCCR > 160) nCCR = 160; SetPWMCCR(nCCR); } //------------------------------------------------------------------------------ void PWMOn(void) { g_nAdjustFlag = 1; } void PWMOff(void) { g_nAdjustFlag = 0; SetPWMCCR(0); g_fLastD = 0.0; } //============================================================================== // END OF THE FILE : CONTROL.C //------------------------------------------------------------------------------

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      18

      19

      20

      21

      22

      23

      24

      25

      26

      27

      28

      29

      30

      31

      32

      33

      34

      35

      36

      37

      38

      39

      40

      41

      42

      43

      44

      45

      46

      47

      48

      49

      50

      51

      52

      53

      54

      55

      56

      57

      58

      59

      60

      61

      62

      63

      64

      65

      66

      67

      68

      69

      70

      71

      72

      73

      74

      75

      76

      77

      78

      79

      80

      81

      82

      83

      84

      85

      86

      87

      88

      89

      90

      91

      92

      93

      94

      95

      96

      97

      98

      99

      100

      單片機

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:加快云原生技術轉型, 智能調度登陸華為云DevOps: 增速,節源
      下一篇:云計算-構建GlusterFS分布式存儲系統
      相關文章
      亚洲精品无码MV在线观看| 亚洲精品又粗又大又爽A片| 自拍偷自拍亚洲精品播放| 亚洲一区二区三区免费观看| 亚洲精品永久www忘忧草| 久久亚洲精品国产精品| 亚洲国产精品婷婷久久| 亚洲情XO亚洲色XO无码| 亚洲中文字幕日产乱码高清app| 亚洲日韩在线第一页| 国产精品亚洲w码日韩中文| 亚洲精品国产精品乱码不卡 | 亚洲av日韩av欧v在线天堂| 国产精品亚洲专区无码牛牛 | 亚洲国产国产综合一区首页| 无码专区—VA亚洲V天堂| 久久精品国产亚洲综合色| 国产成人亚洲精品青草天美| 亚洲成在人线av| 亚洲人成电影福利在线播放| 久久精品国产亚洲AV大全| 亚洲最大中文字幕| 亚洲国产综合精品中文第一| 亚洲综合激情五月丁香六月| 亚洲爆乳大丰满无码专区| 国产亚洲午夜精品| 久久精品国产亚洲AV不卡| 亚洲精品一品区二品区三品区| 亚洲成在人线av| 亚洲日本在线免费观看| 久久狠狠爱亚洲综合影院| 亚洲欧美日韩中文无线码| 国产精品亚洲片在线花蝴蝶| 亚洲综合色在线观看亚洲| 亚洲精品~无码抽插| 91亚洲国产在人线播放午夜| 亚洲AV无码国产精品色| 亚洲码欧美码一区二区三区| 亚洲成年看片在线观看| 亚洲女久久久噜噜噜熟女| 亚洲AV人无码激艳猛片|