Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1071265
  • 博文数量: 132
  • 博客积分: 612
  • 博客等级: 中士
  • 技术积分: 1389
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-14 16:06
文章分类

全部博文(132)

文章存档

2015年(2)

2014年(55)

2013年(53)

2012年(2)

2011年(20)

分类: LINUX

2013-03-12 22:48:55

最近使用ak5702做测试,这是一个音频codec,在初始化的时候需要稍注意一下,看文档时顺便做了总结,放上来保存一下,以备后用。
1.时钟源选择

    ak5702/5701的主时钟源mask clock有两种方式产生。通过寄存器中的PMPLL位来决定,当为0时表示使用EXT-mode,当为1时表示使用PLL模式。

    一种称为EXT-mode,它是直接通过MCKI引脚使用。

    另一种是使用PLL锁相环产生,使用PLL的话还要涉及到一个参考时钟源的问题,就是PLL需要有一个时钟源作为参考时钟,然后通过锁相电路才能产生期望频率的时钟,这个参考时钟可以从MCKI BCLK, LRCK3个地方引入。就是说有3个参考时钟供选择。PLL配置有些繁琐,但不是很繁琐。

    同时,除了要确定时钟源的模式外,还需要确定codec工作在master模式还是slave模式,这两种模式的区别就是:master负责向slave产生BCLKLRCK时钟。在codeccpu之间,谁负责产生这两种时钟谁就是master,接收的那方就是slave。通过M/S位决定,为0表示slave,为1表示master

    这样的话,通过时钟源的不同和master/slave的不同来排列组合,在ak5701/5702中共有5中工作模式。具体参考下面的说明。

1.1 EXT-Mode

1.1.1 EXT-Slave

PMPLL=0

M/S=0

    这种模式时,codec内部的master clock就直接用MCKI引脚上的时钟。同时内部的PLL电路不再起作用。

    对时钟的要求是:

MCKI256fs 或 512fs 或 1024fs

EXLRCK 1fs

EXBCLK 为(>=32fs)

codecmaster clock 要和EXLRCK同步。

MCKI的输入频率有FS1-0决定。

codec上的ADC(PMADL=1 或 PMADR=1)在工作时,外部时钟MCKIEXLRCKEXBCLK需要一直有。如果外部时钟不再了,需要把ADC都关上。PMADL=PMADR=0.

连接图:

DSP提供BCLKLRCKak5701slave

1.1.2 EXT-Master

PMPLL bit = “0”

M/S bit = 1

TE3-0 bits =0101

TMSTER bit=1

    这种模式时,codec内部的master clock就直接用MCKI引脚上的时钟。同时内部的PLL电路不再起作用。

    对时钟的要求是:

MCKI256fs 或 512fs 或 1024fs

EXLRCK 1fs

EXBCLK 为(>=32fs)

codecmaster clock 要和EXLRCK同步。

MCKI的输入频率有FS1-0决定

连接图:

codec上的ADC(PMADL=1 或 PMADR=1)在工作时,外部时钟MCKIEXLRCKEXBCLK需要一直有。如果外部时钟不再了,需要把ADC都关上。PMADL=PMADR=0.

1.2 PLL-Mode

PMPLL bit = 1时,将会使用锁相环来产生codec master clock,锁相环通过PLL3-0FS3-0来配置。具体的配置如下图。可见,共有3PLL reference可供选择,分别是EXLRCKEXBCLKMCKI。通过PLL3-0来配置选择,每种配置对应着不同的输入频率。

采样频率的设置通过下图来设置。配置不同的FS3-0使用不同的采样频率。

下图是参考频率来自MCKI时的采样频率设置。

下图是参考频率来自EXLRCKEXBCLK时的采样频率设置。

1.2.1 PLL-Master

PMPLL bit =1

M/S bit = 1

    当外部时钟(11.2896MHz , 12MHz, 12.288MHz ,13MHz ,13.5MHz, 19.2MHz , 24MHz, 26MHz27MHz ) 输入到MCKI时,MCKO BCLK, LRCK 引脚将会输出由PLL电路产生时钟信号。注意,在PLL-Master模式下,PLL的参考时钟只有从MCKI输入一种方式,不支持从BCLKLRCK输入。

    对应的连接图为:

master模式负责产生 BCLK和 LRCK时钟。

对应MCKO和 BCLK输出 的时钟设置为:

1.2.2 PLL-Slave

    PMPLL bit = 1

M/S bit = 0

此种模式下,PLL的参考时钟可以来自MCKIEXBCLKEXLRCK。具体的参考时钟来源需要使用下图来确定:

1.2.2.1 PLL参考源MCKI

EXBCLKEXLRCK的输入时钟需要与MCKO的输出时钟同步。对相位没有要求。

MCKO的输出频率由下配置。MCKO 位需要使能。

采样频率由下确定:

codec上的ADC(PMADL=1 或 PMADR=1)在工作时,外部时钟MCKIEXLRCKEXBCLK需要一直有。如果外部时钟不在了,需要把ADC都关上。PMADL=PMADR=0.

1.2.2.2 PLL参考源EXBCLKEXLRCK

采样频率由下面决定:

参考文档 ak5701_f02e.pdf


ak5702_5701说明文档.pdf
阅读(2715) | 评论(0) | 转发(0) |
0

上一篇:vim 安装taglist

下一篇:vim 设置tab空格个数

给主人留下些什么吧!~~