你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

F745+CY7C68003(USB PHY),枚举不到设备问题

[复制链接]
daddyk 提问时间:2017-1-18 09:06 /
使用F745+CY7C68003(USB PHY) ,USB HS通信,单发现枚举不到设备。 请ST的工程师给出帮助。 Thansk
附件是部分原理图和代码。系统晶振26mhz,stm32的vcc1.8v

stm32f7.pdf

下载

23.75 KB, 下载次数: 19, 下载积分: ST金币 -1

实验56 USB读卡器(Slave)实验.zip

下载

2.63 MB, 下载次数: 14, 下载积分: ST金币 -1

收藏 3 评论8 发布时间:2017-1-18 09:06

举报

8个回答
daddyk 回答时间:2017-1-18 09:30:52
下面是部分需改的代码:
  1. void Stm32_Clock_Init(u32 plln,u32 pllm,u32 pllp,u32 pllq)
  2. {
  3.     HAL_StatusTypeDef ret = HAL_OK;
  4.     RCC_OscInitTypeDef RCC_OscInitStructure;
  5.     RCC_ClkInitTypeDef RCC_ClkInitStructure;
  6.           RCC_PeriphCLKInitTypeDef PeriphClkInitStruct;
  7.         
  8.     __HAL_RCC_PWR_CLK_ENABLE();

  9.     __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
  10.       
  11.     RCC_OscInitStructure.OscillatorType=RCC_OSCILLATORTYPE_HSE;
  12.     RCC_OscInitStructure.HSEState=RCC_HSE_ON;
  13.     RCC_OscInitStructure.PLL.PLLState=RCC_PLL_ON;
  14.     RCC_OscInitStructure.PLL.PLLSource=RCC_PLLSOURCE_HSE;
  15.     RCC_OscInitStructure.PLL.PLLM=pllm;
  16.     RCC_OscInitStructure.PLL.PLLN=plln;
  17.     RCC_OscInitStructure.PLL.PLLP=pllp;
  18.     RCC_OscInitStructure.PLL.PLLQ=pllq;
  19.     ret=HAL_RCC_OscConfig(&RCC_OscInitStructure);
  20.     if(ret!=HAL_OK) while(1);
  21.    
  22.     ret=HAL_PWREx_EnableOverDrive(); //¿ªÆôOver-Driver¹¦ÄÜ
  23.     if(ret!=HAL_OK) while(1);
  24.     /* Select PLLSAI output as USB clock source */
  25.                 PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_CLK48;
  26.                 PeriphClkInitStruct.Clk48ClockSelection = RCC_CLK48SOURCE_PLLSAIP;
  27.                 PeriphClkInitStruct.PLLSAI.PLLSAIN = 432;
  28.                 PeriphClkInitStruct.PLLSAI.PLLSAIQ = 9;
  29.                 PeriphClkInitStruct.PLLSAI.PLLSAIP = RCC_PLLSAIP_DIV2;
  30.                 if(HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct)  != HAL_OK)
  31.                 {
  32.                         while(1) { ; }
  33.                 }
  34.     //Ñ¡ÖÐPLL×÷ΪϵͳʱÖÓÔ´²¢ÇÒÅäÖÃHCLK,PCLK1ºÍPCLK2
  35.     RCC_ClkInitStructure.ClockType=(RCC_CLOCKTYPE_SYSCLK|RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2);
  36.     RCC_ClkInitStructure.SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK;
  37.     RCC_ClkInitStructure.AHBCLKDivider=RCC_SYSCLK_DIV1;
  38.     RCC_ClkInitStructure.APB1CLKDivider=RCC_HCLK_DIV4;
  39.     RCC_ClkInitStructure.APB2CLKDivider=RCC_HCLK_DIV2;
  40.    
  41.     ret=HAL_RCC_ClockConfig(&RCC_ClkInitStructure,FLASH_LATENCY_5);
  42.     if(ret!=HAL_OK) while(1);
  43.                
  44. }
复制代码
  1. void CY7C68003_Init(void)
  2. {
  3.     GPIO_InitTypeDef GPIO_InitStruct;
  4.     __HAL_RCC_GPIOA_CLK_ENABLE();
  5.           __HAL_RCC_GPIOF_CLK_ENABLE();
  6.         
  7.           //CY7C68003 NRST
  8.     GPIO_InitStruct.Pin=GPIO_PIN_7; //PA7
  9.     GPIO_InitStruct.Mode=GPIO_MODE_OUTPUT_PP;
  10.     GPIO_InitStruct.Pull=GPIO_NOPULL;
  11.     GPIO_InitStruct.Speed=GPIO_SPEED_HIGH;
  12.     HAL_GPIO_Init(GPIOA,&GPIO_InitStruct);
  13.         
  14.         
  15.           //CY7C68003 NCS
  16.     GPIO_InitStruct.Pin=GPIO_PIN_11; //PF11
  17.     GPIO_InitStruct.Mode=GPIO_MODE_OUTPUT_PP;
  18.     GPIO_InitStruct.Pull=GPIO_NOPULL;
  19.     GPIO_InitStruct.Speed=GPIO_SPEED_HIGH;
  20.     HAL_GPIO_Init(GPIOF,&GPIO_InitStruct);
  21.         
  22.           //RCC_MCO1SOURCE_HSE  RCC_MCO1SOURCE_PLLCLK
  23.           HAL_RCC_MCOConfig(RCC_MCO1,RCC_MCO1SOURCE_HSE ,RCC_MCODIV_1);                //PA8  MCO1
  24.         
  25.    
  26.     HAL_GPIO_WritePin(GPIOA,GPIO_PIN_7,GPIO_PIN_SET);

  27.     HAL_GPIO_WritePin(GPIOF,GPIO_PIN_11,GPIO_PIN_RESET);


  28. }
复制代码
  1. void USB_OTG_BSP_Init(USB_OTG_CORE_HANDLE *pdev)
  2. {
  3.      GPIO_InitTypeDef  GPIO_InitStruct;
  4.     __HAL_RCC_GPIOA_CLK_ENABLE();
  5.           __HAL_RCC_GPIOB_CLK_ENABLE();
  6.           __HAL_RCC_GPIOC_CLK_ENABLE();
  7.         
  8.           __HAL_RCC_USB_OTG_HS_CLK_ENABLE();
  9.           __HAL_RCC_USB_OTG_HS_ULPI_CLK_ENABLE();
  10.          
  11.                 // CLK
  12.                 GPIO_InitStruct.Pin = GPIO_PIN_5 ;
  13.                 GPIO_InitStruct.Mode=GPIO_MODE_AF_PP;
  14.     GPIO_InitStruct.Pull=GPIO_NOPULL;
  15.     GPIO_InitStruct.Speed=GPIO_SPEED_HIGH;
  16.     GPIO_InitStruct.Alternate=GPIO_AF10_OTG_HS ;
  17.     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
  18.                


  19.                 // D0
  20.                 GPIO_InitStruct.Pin = GPIO_PIN_3  ;
  21.                 GPIO_InitStruct.Mode=GPIO_MODE_AF_PP;
  22.     GPIO_InitStruct.Pull=GPIO_NOPULL;
  23.     GPIO_InitStruct.Speed=GPIO_SPEED_HIGH;
  24.     GPIO_InitStruct.Alternate=GPIO_AF10_OTG_HS ;
  25.     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
  26.                

  27.                 // D1 D2 D3 D4 D5 D6 D7
  28.                 GPIO_InitStruct.Pin = GPIO_PIN_0 | GPIO_PIN_1  |
  29.                          GPIO_PIN_5 | GPIO_PIN_10 | GPIO_PIN_11| GPIO_PIN_12 |
  30.                          GPIO_PIN_13 ;
  31.     GPIO_InitStruct.Mode=GPIO_MODE_AF_PP;
  32.     GPIO_InitStruct.Pull=GPIO_NOPULL;
  33.     GPIO_InitStruct.Speed=GPIO_SPEED_HIGH;
  34.     GPIO_InitStruct.Alternate=GPIO_AF10_OTG_HS ;
  35.     HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
  36.                

  37.                 // STP DIR NXT
  38.                 GPIO_InitStruct.Pin = GPIO_PIN_0  | GPIO_PIN_2  |
  39.                      GPIO_PIN_3 ;
  40.                 GPIO_InitStruct.Mode=GPIO_MODE_AF_PP;
  41.     GPIO_InitStruct.Pull=GPIO_NOPULL;
  42.     GPIO_InitStruct.Speed=GPIO_SPEED_HIGH;
  43.     GPIO_InitStruct.Alternate=GPIO_AF10_OTG_HS ;
  44.     HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);

  45. }
复制代码
  1. int main(void)
  2. {
  3. Cache_Enable();
  4.     HAL_Init();
  5.     Stm32_Clock_Init(216,26,2,9);
  6. CY7C68003_Init();
  7. USBD_Init(&USB_OTG_dev,USB_OTG_FS_CORE_ID,&USR_desc,&USBD_MSC_cb,&USR_cb);
  8.         delay_ms(1800);                           
  9.         while(1)
  10.         {
  11.         }                                                                          
  12. }
复制代码
daddyk 回答时间:2017-1-18 09:31:59
除以上需要改的地方,还有什么地方我忽略了么?
无薪税绵 回答时间:2017-2-15 08:17:01
没有接触过,只能帮楼主加人气了。
chaplin1999-262 回答时间:2017-2-15 09:14:45
不懂帮顶了
yb0121 回答时间:2017-2-15 10:27:25
不懂路过
cldym 回答时间:2017-2-15 13:59:43
没有接触过,只能帮楼主加人气了。
七哥 回答时间:2017-2-15 18:17:05
这个太高端,没板子,不会玩
zcl201207 回答时间:2017-2-15 20:37:26
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版