海思芯片调试PCM1774

一.简介

        由于原设备的输出音频效果不佳。所以,在海思芯片作为开发平台上,为了改善这个问题,添加PCM1774作为音频转接器和核心板音频输出AO对接。基本步骤如图1:

 

                          图1 基本步骤

二.操作

1.I2S3数据的输出选择

         现在将核心板子上原本输出给音频处理芯片的I2S3数据选择成PCM1774,需要打开片选芯片的选择控制管脚寄存器。

          在telnet设备的终端操作:

          设置管脚复用寄存器,将控制片选芯片输出选择的管脚GPIO18_3复用成I/O:

                               himm 0x120F0204 0x0

          设置GPIO18_3的方向(GPIO_DIR )为输出:

                               himm 0x12270400 0x8

          将GPIO18_3管脚置1,高电平使得I2S3数据通过片选芯片输出到PCM1774:

                               himm 0x12270020 0x8

           关于对管脚的控制,可以查看“HI3531的GPIO使用的再分析https://blog.csdn.net/qingzhuyuxian/article/details/82980110

2.PCM1774的I2C控制

         PCM1774支持I2C总线和数据传输协议,其从地址按如图所示的格式进行设置。

         高6位(MSBs)是固定的100011。由于同一I2C总线最多可以控制两个PCM1774,所以ADR可由用户通过硬件进行定义、用于标记当前控制的PCM1774芯片。最低位(LSB)表示读和写操作(R/W

 

                                                  图2 从地址

3.用户可定义的PCM1774模式控制寄存器

          PCM1774的模式控制寄存器中,每个寄存器的地址用7位表示,如下表所示。

 

                                      表1 PCM1774的模式控制寄存器

4.上电后,主要模式控制寄存器的设置时序

时序

寄存器及数据

设置项说明

1

打开所有电源①

2

4027h

耳机放大器左声道音量( -6分贝)②

3

4127h

耳机放大器右声道音量( -6分贝)②

6

4427h

数字衰减器左声道通道(-24分贝)②

7

4527h

数字衰减器右声道通道(-24分贝)②

8

4600h

关闭过采样、启用I2S传输数据格式③

12

49E0h

DAC(DAL,DAR)和模拟偏置功率上电

13

5601h

零交叉检测启用

14

4803h

模拟调音台(MXL,MXR)上电

15

5811h

模拟调音台输入(SW2,SW5)选择

16

49ECh

耳机放大器(HPL,HPR, HPC)上电

18

4A01h

Vcom上电

19

5230h

模拟前端(D2S,MCB, PG1,2,5,6)上电

20

5711h

模拟输入(MUX3, MUX4)选择。模拟输入(MUX1,MUX2)选择

①.这些寄存器设置(打开)时,VDD应优先打开或着同时打开。所有电源上电后,寄存器数据需要伴随系统时钟输入的进行设置。

②.可以设置任何音量和衰减值,这些值需要在系统断电时保存在寄存器数据中。

③.设置音频接口格式方便与DSP或解码器匹配并被使用。

                                                                 表2 寄存器的上电时序

根据表2,设备上电后,PCM1774启动,在telnet设备的终端操作,通过I2C设置PCM1774主要模式控制寄存器的值。如图3所示:

 

            图3 寄存器写数据

           按时序设置主要模式控制寄存器的值:

                        i2c_write 0 0x8e 0x40 0x27
                        i2c_write 0 0x8e 0x41 0x27
                        i2c_write 0 0x8e 0x44 0x27
                        i2c_write 0 0x8e 0x45 0x27
                        i2c_write 0 0x8e 0x46 0x00
                        i2c_write 0 0x8e 0x49 0xe0
                        i2c_write 0 0x8e 0x56 0x01
                        i2c_write 0 0x8e 0x48 0x03
                        i2c_write 0 0x8e 0x58 0x11
                        i2c_write 0 0x8e 0x49 0xec
                        i2c_write 0 0x8e 0x4a 0x01
                        i2c_write 0 0x8e 0x52 0x30
                        i2c_write 0 0x8e 0x57 0x11

5.断电前,主要模式控制寄存器的设置时序

时序

寄存器及数据

设置项说明

1

447Fh

DAC L- CH数字软静音启用.

2

457Fh

DAC R-CH数字软静音启用.

4

5811h

模拟调音台输入( SW2,SW5)选择

5

49ECh

耳机放大器(HPL,HPR,HPC)上电.②

6

5200h

模拟前端(D2S,MCB,PG1,2,5,6)断电

7

5A00h

PG1,PG2增益控制(0 dB为单位)

8

4A00h

Vcom断电

9

等待时间(750毫秒).③

10

49E0h

耳机放大器(HPL,HPR, HPC)关闭电源,扬声器放大器(SPL,SPR)断电

11

4800h

模拟调音台(MXL,MXR)断电

12

4900h

DAC(DAL,DAR)和模拟偏置电源关闭

13

关闭所有电源.④

①.可以设置任何音量和衰减值。

②.电源关闭时,需要设置耳机放大器。

③.PCM1774的Vcom到达公共电平的地电平需要时间。所允许的等待时间依赖于设置寄存器125的PTM[1:0]、RES[4:0]。默认设置为750毫秒。

④.此处不需要电源排序。根据时钟输入设置的寄存器后,关闭所有电源。

                                                                            表3 寄存器的断电时序

          根据表3,设备断电前,PCM1774启动,在telnet设备的终端操作,按时序通过I2C设置PCM1774主要模式控制寄存器的值:

                           i2c_write 0 0x8e 0x44 0x7f

                           i2c_write 0 0x8e 0x45 0x7f

                           i2c_write 0 0x8e 0x58 0x11

                           i2c_write 0 0x8e 0x49 0xec

                           i2c_write 0 0x8e 0x52 0x0

                           i2c_write 0 0x8e 0x5a 0x0

                           i2c_write 0 0x8e 0x4a 0x0

                           i2c_write 0 0x8e 0x49 0xe0

                            i2c_write 0 0x8e 0x48 0x0

                            i2c_write 0 0x8e 0x49 0x0

PCM的数据手册(也可以去TI官网下载):海思芯片调试PCM1774及PCM1774数据手册.rar

 

  • 总结

当研究了一段时间后,陷入停滞时,最快的方法的是咨询做驱动的同事,毕竟其有相关的经验。但有可能单个同事的想法有不全面,可以再咨询他人。如果软件上做足了功夫,不要怀疑自己,大胆的想是不是硬件问题。

另外,首先需要明白PCM1774的工作原理(用I2C控制模式、I2S传输数据)。然后,如何让其实现工作。I2C的如何控制、如何打开I2S的数据传输。然后, I2C控制配置什么寄存器、成什么模式。英文数据手册太长,可以搜索关键词(mode、power up、work、function、programer、user)等和启动PCM1774工作的相关寄存器。上电后,然后仔细看需要配置的寄存器的各寄存器的内容、代表含义、配置什么值等。

最重要的是,不要停滞,不要害怕,迷茫时问人,大胆怀疑。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值