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

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

[复制链接]
hpdell 提问时间:2017-12-9 14:00 /
请教下,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[i][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[i][1];    //设置PLLSAIN
  RCCSAI1_Sture.PLLSAI.PLLSAIQ       = (u32)SAI_PscTab[i][2];    //设置PLLSAIQ
  RCCSAI1_Sture.PLLSAIDivQ           = SAI_PscTab[i][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(&PeriphClkIniture)==HAL_OK) //配置像素时钟,这里配置为时钟为18.75MHZ
  {
    return 0;   //成功
  }
  else
    return 1;  //失败   
}




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

PLLSAI.PLLSAIN   
PLLSAI.PLLSAIQ  
PLLSAIDivQ         


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







收藏 1 评论4 发布时间:2017-12-9 14:00

举报

4个回答
七哥 回答时间:2018-2-12 09:32:39
本帖最后由 toofree 于 2018-2-12 09:37 编辑

给你上个图,看能说明问题不。图片放大看 傲游截图20180212093216.png


意思就是LCD可以与SDI1是由同一个时钟模块PLLSAI1产生,但是输出的分频系数可以不同。
SDI1时钟输出也可以从SDI2的时钟模块产生。

点评

你懂的真多  发表于 2018-2-12 10:46

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

无薪税绵 回答时间:2018-2-12 14:22:20
toofree 发表于 2018-2-12 09:32
给你上个图,看能说明问题不。图片放大看

大神的回复,
真到位,一针见血了。
七哥 回答时间:2018-2-12 14:28:00
无薪税绵 发表于 2018-2-12 14:22
大神的回复,
真到位,一针见血了。

有好工具得用
各种MCU,我一上来就喜欢看时钟树

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版