硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2110|回复: 2
收起左侧

请教下,stm32f7xx 的lcd与sai的时钟源是否相同 ?

[复制链接]

610

主题

3062

回帖

4912

积分

至尊会员

积分
4912
发表于 2017-12-9 14:10:35 | 显示全部楼层 |阅读模式
请教下,stm32f7xx 的lcd与sai的时钟源是否相同 ?


sai 时钟配置如下:



u8 SAIA_SampleRate_Set(u32 samplerate)
{   
  u8 i=0;
  RCC_PeriphCLKInitTypeDef RCCSAI1_Sture;  


  for(i=0;i<(sizeof(SAI_PscTab)/10);i++)//看看改采样率是否可以支持
  {
    if((samplerate/10) == SAI_PscTab[0])
      break;
  }
  if(i == (sizeof(SAI_PscTab)/10))
    return 1;//搜遍了也找不到
  
    /* Configure PLLSAI prescalers */
    /* PLLI2S_VCO: VCO_429M
    SAI_CLK(first level) = PLLI2S_VCO/PLLSAIQ = 429/2 = 214.5 Mhz
    SAI_CLK_x = SAI_CLK(first level)/PLLI2SDivQ = 214.5/19 = 11.289 Mhz */  
  
  RCCSAI1_Sture.PeriphClockSelection = RCC_PERIPHCLK_SAI1;        //外设时钟源选择
  RCCSAI1_Sture.Sai1ClockSelection   = RCC_SAI1CLKSOURCE_PLLSAI;  
  RCCSAI1_Sture.PLLSAI.PLLSAIN       = (u32)SAI_PscTab[1];    //设置PLLSAIN
  RCCSAI1_Sture.PLLSAI.PLLSAIQ       = (u32)SAI_PscTab[2];    //设置PLLSAIQ
  RCCSAI1_Sture.PLLSAIDivQ           = SAI_PscTab[3];         //设置PLLSAIDivQ   
  HAL_RCCEx_PeriphCLKConfig(&RCCSAI1_Sture);                  //设置时钟


  __HAL_SAI_DISABLE(&SAI1A_PlayHandler);                          //关闭SAI
  SAI1A_PlayHandler.Init.AudioFrequency=samplerate;               //设置播放频率  
  HAL_SAI_Init(&SAI1A_PlayHandler);                               //初始化SAI
  SAIA_DMA_Enable();                                          //开启SAI的DMA功能
  __HAL_SAI_ENABLE(&SAI1A_PlayHandler);                           //开启SAI
  return 0;
}





lcd 时钟配置如下:

static u8 LTDC_UserClkSet(u32 pllsain,
                           u32 pllsair,
                           u32 pllsaidivr )
{
    RCC_PeriphCLKInitTypeDef PeriphClkIniture;
   
    //LTDC输出像素时钟,需要根据自己所使用的LCD数据手册来配置!
  PeriphClkIniture.PeriphClockSelection = RCC_PERIPHCLK_LTDC;    //LTDC时钟     
    PeriphClkIniture.PLLSAI.PLLSAIN       = pllsain;   
    PeriphClkIniture.PLLSAI.PLLSAIR       = pllsair;  
    PeriphClkIniture.PLLSAIDivR           = pllsaidivr;
    if(HAL_RCCEx_PeriphCLKConfig(&amperiphClkIniture)==HAL_OK) //配置像素时钟,这里配置为时钟为18.75MHZ
  {
    return 0;   //成功
  }
  else
    return 1;  //失败   
}







上述的两个时钟源都使用到



PLLSAI.PLLSAIN   
PLLSAI.PLLSAIQ  
PLLSAIDivQ         



,他们在同时使用时是否会发生冲突啊 ?????


现在的问题是,播放 有些音频文件时,屏幕会有干扰,有些音频文件又没有,跟这个时钟源有没有什么关系啊 ?、











回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
发表于 2017-12-9 14:12:53 | 显示全部楼层
可以分开的,以我们的F429为了,我们是用的I2S时钟用于SAI,而SAI的时钟用于LCD。

ps:多发的一个帖子帮你删除了。
回复

使用道具 举报

610

主题

3062

回帖

4912

积分

至尊会员

积分
4912
 楼主| 发表于 2017-12-10 17:20:53 | 显示全部楼层

回 eric2013 的帖子

eric2013:
可以分开的,以我们的F429为了,我们是用的I2S时钟用于SAI,而SAI的时钟用于LCD。

ps:多发的一个帖子帮你删除了。

多谢多谢啊, 有空我也改成 i2s 试试看效果如何
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-15 21:50 , Processed in 0.204789 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表