This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TLV320AIC3254:miniDSP GDE流程和配置- ADC输出简单为零

Guru**** 2457760 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/740830/tlv320aic3254-minidsp-gde-process-flow-and-config---adc-output-simply-zeros

部件号:TLV320AIC3254

您好,

我们正在通过miniDSP测试192kHz采样率。 我们尝试配置过滤器B的使用,它将引入-24dB增益错误,该错误应该通过+4位移来修复(更多信息)。 AIC3254位于一个产品上,在该产品中,我具有i2c通信(通过) DSP驱动程序和AIC3254与DSP之间的McASP接口。 因此,我们通过i2c解释pps驱动程序文件寄存器设置,并在没有EVM板的情况下配置编解码器。

尝试复制与 此开机自检类似的内容

一旦配置了miniDSP_A的使用,ADC样本就全部为零。  

我一直在尝试为miniDSP配置以下简单的流程流:

使用的框架不是默认的192kHz帧结构,因为我想使用过滤器B作为带宽,我假定使用的帧结构使用过滤器B

工艺流程设置如下:

使用SystemSettings代码,按如下方式编辑:

(我正在对所有DAC设置进行注释,因为现在我只想让ADC通过miniDSP运行,这是否正常?)

(我还对任何初始化,加电,路由和时钟设置进行了注释,因为这是在miniDSP驱动程序中完成的,我将提供进一步的详细信息)

----------------------------------
;软件重置
;------------------
	;REG[0][1]= 0x01	;通过软件重置初始化设备
;REG[254][0]= 0x0a	;延迟10ms

;------------------
;配置电源
设备;------------------
	%%IF (%%prop (TargetBoard)== 2)
;AIC3254EVM-U特定配置

	;reg[1][2]= 0xa9	;启动AVDD LDO
	;reg[1][1]= 0x08	;禁用弱AVDD到DVDD连接
	;reg[1][2]= 0xa1	;启用主模拟电源控制,AVDD供电LDO

	%%else
;AIC3254EVM-K特定配置
	;REG[1][1]= 0x08	;禁用弱AVDD到DVDD连接
	;REG[1][2]= 0x00	;启用主模拟电源控制

	%%endif

	;REG[1][71]= 0x32	;将输入开机时间设置为3.1毫秒
	;REG[1][123]= 0x01	;将REF充电时间设置为40毫秒(自动)
;	;REG[254][0]= 0x28	;REF开机延迟40毫秒

;------------------
;加载miniDSP代码
----------------------------------
	program_adc		;miniDSP_A系数和指令
	;program_dac		;miniDSP_D系数和指令

;------------------
;信号处理设置
;------------------
	;REG[0][60]= 0x00	;使用miniDSP_D进行信号处理
	REG[0][61]= 0x00	;使用miniDSP_A进行信号处理

	%%IF ("%%prop (FrameworkType)"=="AIC3254App8x4x")
	REG[0][17]= 0x08	;Interpolation
	reg 0];[0x23] 	4x小数
	%%endif

	%%prop (FrameworkType)"=="AIC3254App4x2x")
	reg[0][17]= 0x04	;4x Interpolation
	reg[0][23]= 0x02	;2x decimation
	%%endif

	("%%prop (FrameworkType)"=[0x23] Appreg 0;2x0]
		
		1x抽取
	%%endif

	;IDAC =%%prop(miniDSP_D_CYCLES)
	IADC =%%prop(miniDSP_A_CYCLE)

	%%if (%%prop(miniDSP_a_Adaptive)==1)
	;REG[8][1]=0x04	;ADC自适应模式
	%endif%if (%%diprop(dsp_adaptive)%)=-1--!--

	
	-1---- 	
	


;时钟和接口配置
;------------------
;USB音频支持8kHz至48kHz采样率
;88.2kHz至192kHz采样率需要外部音频接口
;----------------------------------
	%%IF (%%prop (SampleRate)== 17.64万 ||%prop (SampleRate)== 19.2万)
	;REG[0][5]= 0x91	;P=1,R=1,J=8
	;REG[0][6]= 0x08	;P=1,R=1,J=8
	;REG[=00;SS0];0=0[0=0] 	
		
		PLL_CLKIN = MCLK,CODCOD_CLKIN = PLL_CLK,PLL打开
	;REG[0][12]= 0x88	;MDAC =8,分配器通电
	;REG[0][13]= 0x00	;DOSR =32 (MSB)
	REG[0][14]= 0x20	;DOSR =32 (LSB)[
	0x0] 	NADC =2,分配器电源关闭
	reg[0][19]= 0x88	;mAdc =8,分配器电源
	打开reg[0][20]= 0x20	;AOSR =32
	reg[0][11]= 0x82	; NDAC =2,分配器通电

	%%endif

	(%%prop (SampleRate)== 8.82万 ||%%prop (SampleRate)== 9.6万)==9.6万) reg[0][5]=0x91
		;P=1,R=1,J=8
	reg[0][6]=0x08	;P=1,R=1[0x00]
	reg	;0[=0[0] reg=0[=00]
		d=0000 (LSB)
	reg[0][4]= 0x03	;PLL_CLKIN = MCLK,CODE_CLKIN = PLL_CLK,PLL on
	reg[0][12]= 0x88	;MDAC =8,分配器通电
	reg[0][13]= 0x00	;DOSR =64 (MSB)
	reg =0[ 0x40]	;0x14] DOSR =64 (LSB)
	REG[0][18]= 0x02	;NADC =2,分配器断电
	REG[0][19]= 0x88	;mAdc =8,分配器通电
	REG[0][20]= 0x40	;AOSR =64
	REG[0][11]= 0x82	; NDAC = 2,分配器通电
	%%endif

	(%%prop (SampleRate)== 4.41万||%%prop (SampleRate)== 4.8万)
	reg[0][5]= 0x91	;P=1,R=1,J=8
	reg[0][6]= 0x08	;P=1,R=1[
		0x00] reg;0[=0[0xD]
		d=0000 (LSB)
	reg[0][4]= 0x03	;PLL_CLKIN = MCLK,CODE_CLKIN = PLL_CLK,PLL on
	reg[0][12]= 0x88	;MDAC =8,分配器通电
	reg[0][13]= 0x00	;DOSR =128 (MSB)
	reg =0[;0x14] 	DOSR =128 (LSB)
	REG[0][18]= 0x02	;NADC =2,分配器电源关闭
	REG[0][19]= 0x88	;mAdc =8,分配器电源
	打开REG[0][20]= 0x80	;AOSR =128
	REG[0][11]= 0x82	; NDAC =2,分配器通电
	%%endif

	(%%prop (SampleRate)== 3.2万)
	reg[0][5]=0x91	;P=1,R=1,J=8
	reg[0][6]=0x08	;P=1,R=1,J=8
	reg[0][7]=0x00	;D](0x00)[ 0)]
		d=0000 (LSB)
	reg[0][4]= 0x03	;PLL_CLKIN = MCLK,CODE_CLKIN = PLL_CLK,PLL on
	reg[0][12]= 0x88	;MDAC =8,分配器通电
	reg[0][13]= 0x00	;DOSR =192 (MSB)
	reg =0[	;0x14] DOSR =192 (LSB)
	REG[0][18]=0x02	;NADC =2,分配器电源关闭
	REG[0][19]=0x8c	;mAdc =12,分配器电源
	打开REG[0][20]=0x80	;AOSR =128
	REG[0][11]=0x82	; NDAC = 2,分配器通电
	%%endif

	(%%prop (SampleRate)== 2.205万 ||%%prop (SampleRate)== 2.4万
	) reg[0][5]= 0x91	;P=1,R=1,J=8
	reg[0][6]= 0x08	;P=1,R=1[
		0x00] reg;0[=0] reg=0[0xD]
		d=0000 (LSB)
	reg[0][4]= 0x03	;PLL_CLKIN = MCLK,CODE_CLKIN = PLL_CLK,PLL on
	reg[0][12]= 0x88	;MDAC =8,分配器通电
	reg[0][13]= 0x01	;DOSR =256 (MSB)
	reg =0[ 0x00]	;0x00] DOSR =256 (LSB)
	REG[0][18]= 0x02	;NADC =2,分配器电源关闭
	REG[0][19]= 0x90	;mAdc =16,分配器电源
	打开REG[0][20]= 0x80	;AOSR =128
	REG[0][11]= 0x82	; NDAC = 2,分配器通电
	%%endif

	%%prop (SampleRate)== 1.6万
	) reg[0][5]= 0x91	;P=1,R=1,J=24
	reg[0][6]= 0x18	;P=1,R=1,J=24
	reg[0][7]=0x00	;D](0x00) reg[0]
		d=0000 (LSB)
	reg[0][4]= 0x03	;PLL_CLKIN = MCLK,CODE_CLKIN = PLL_CLK,PLL on
	reg[0][12]= 0x88	;MDAC =8,分配器通电
	reg[0][13]= 0x01	;DOSR =384 (MSB)
	reg =0[;0x14] 	DOSR =384 (LSB)
	REG[0][18]= 0x02	;NADC =2,分配器电源关闭
	REG[0][19]= 0x98	;mAdc =24,分配器电源
	打开REG[0][20]= 0x80	;AOSR =128
	REG[0][11]= 0x82	; NDAC =2,分配器通电
	%%endif

	(%%prop (SampleRate)== 1.1025万)
	reg[0][5]= 0x91	;P=1,R=1,J=16
	reg[0][6]= 0x10	;P=1,R=1,J=16
	reg[ 0][7]=0x00	;D](0x00)[ 0)]
		d=0000 (LSB)
	reg[0][4]= 0x03	;PLL_CLKIN = MCLK,CODE_CLKIN = PLL_CLK,PLL on
	reg[0][12]= 0x88	;MDAC =8,分配器通电
	reg[0][13]= 0x02	;DOSR =512 (MSB)
	reg =0[ 0x00]	;0x00] DOSR =512 (LSB)
	REG[0][18]=0x02	;NADC =2,分配器电源关闭
	REG[0][19]=0xa0	;mAdc =32,分配器电源
	打开REG[0][20]=0x80	;AOSR =128
	REG[0][11]=0x82	; NDAC =2,分配器通电
	%%endif

	%%prop (SampleRate)== 8000
	) reg[0][5]=0x91	;P=1,R=1,J=24
	reg[0][6]=0x18	;P=1,R=1,J=24
	reg[0][7]=0x00	;D=0[0x00] reg[=0]
		d=0000 (LSB)
	reg[0][4]= 0x03	;PLL_CLKIN = MCLK,CODE_CLKIN = PLL_CLK,PLL on
	reg[0][12]= 0x88	;MDAC =8,分配器通电
	reg[0][13]= 0x03	;DOSR =768 (MSB)
	reg =0[ 0x00]	;0x00] DOSR =768 (LSB)
	REG[0][18]= 0x02	;NADC =2,分配器电源关闭
	REG[0][19]= 0xb0	;mAdc =48,分配器电源
	打开REG[0][20]= 0x80	;AOSR =128
	REG[0][11]= 0x82	; NDAC =2,分配器已通电
	%%endif



;------------------
; ADC信道配置
----------------------------------
	;REG[1][51]= 0x40	;已启用麦克风偏置,源= AVDD,1.25V

	%IF (%%prop (TTargetBoard)==2)
;AIC3254EVM-U特定配置
	;REG[1][52]= 0x10	;将IN2L路由到具有10K输入阻抗的Left_P
	;REG[1][54]= 0x40	; 将CM1L路由到具有10K输入阻抗的Left_M
	;REG[1][55]= 0x10	;将IN2R路由到具有10K输入阻抗

	%%else的Right_P
;AIC3254EVM-K特定配置
	;REG[1][52]= 0x40	;将IN1L路由到具有10K输入阻抗的Left_P
	;REG[1][54]= 0x40	; 将CM1L路由到具有10K输入阻抗的Left_M
	;REG[1][55]= 0x40	;将IN1R路由到具有10K输入阻抗

	%%endif
	
	的Right_P;REG[1][57]= 0x40	;将CM1R路由到具有10K输入阻抗的Right_M
	;REG[1][59]= 0x00	; 启用MicPGA_L增益控制,0dB
	;REG[1][60]= 0x00	;启用MicPGA_R增益控制,0dB
	;REG[0][81]= 0xc0	;打开LADC/RADC电源
	;REG[0][82]= 0x00	;取消LADC/RADC静音

;------------------
; DAC信道配置
----------------------------------
	;REG[1][20]= 0x25	;去弹:5个时间常量,6k电阻
	;REG[1][12]= 0x08	;将LDAC路由到HPL
	;REG[1][13]= 0x08	;将RDAC路由到HPR
	;REG[1][14]= 0x08	;将LDAC路由到LOL
	;REG[1] 15]= 0x08[	; 将LDAC路由到Lor
	;reg[0][63]= 0xd4	;启动LDAC/RDAC,带软步进
	;reg[1][16]= 0x00	;取消HPL驱动程序静音,0dB增益
	;reg[1][17]= 0x00	;取消静音HPR驱动程序,0dB增益
	;reg[1][18]= 0x00	; 取消OLL驱动器静音,0dB增益
	;REG[1][19]= 0x00	;取消Lor驱动器静音,0dB增益
	;REG[1][9]= 0x3c	;打开HPL/HPR和LOL/Lor驱动
	程序;REG[0][64]= 0x00	;取消LDAC/RDAC静音 

如上所示,以下是一些突出显示的配置设置(它们是否正确)?

时钟设置:

PLL被使用= 98.304MHZ = CODEC CLKIN  

NADC = 2

mAdc =8

AOSR = 32

CODCOD_CLKIN = NADC x mAdc x ADC_FS = 2 x 4x 19.2万 = 98.304MHZ (是否正确?)

我在时钟分配树中看到一个指示,即在NADC之后,小型DSP时钟生成分支关闭了,这是否仍意味着我的时钟设置正确,对我来说有点混乱?

另外,在参考文章中,他们使用2倍的小数位,我不清楚为什么以及2倍的小数位来自何处,因为我的印象是,小数位是在基于框架的miniDSP之前,使用硬件过滤器(过滤器C)完成的。 它如何与时钟频率设置和采样频率相适应?

如果需要,我已附上流程流:

e2e.ti.com/.../TC5-Test-2.zip

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Miguel,

    当您 评论编解码器的一些初始化寄存器时,我想知道设备配置是否有问题,因为通常应遵循系统设置代码中遵循的顺序。 您是否尝试使用完整的系统设置代码运行该应用程序? 实际使用miniDSP时的小数筛选器由小数块确定,该小数块应与所选框架匹配。  

    我将详细了解您的流程和设置,但我可能需要一些时间来尝试,因此请提前感谢您的耐心等待。

    此致,

     -Diego Mel é ndez López ñ a
      音频应用工程师

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Diego,

    感谢您的回复。

    我没有,尽管编解码器在我“使用小型DSP”之前运行得很好,所以我很确定初始化和通电是正确和正常的吗?

    感谢您查看流程,我期待您的回复。

    此致
    米格尔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Diego,在启动和运行流程方面是否有任何进展?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Diego,

    我仍然无法通过miniDSP获取音频。 您是否仍在尝试花时间更详细地查看流程?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    米格尔

    很抱歉耽误了时间,最近被淹没了,错过了这个。 我在EVM中加载了您的流程,并注意到.PFW文件中没有注释系统设置代码。 我已将该代码下载到EVM中,并且可以在DOUT中查看ADC输出。 然后,在设备上重置硬件后,我尝试加载您在此POST中共享的系统设置代码,ADC输出(DOUT)丢失。 我注意到您不仅在评论初始化寄存器,而且还评论ADC和PLL配置寄存器,这是不正确的,在取消评论这些线路后,我得到了DOUT信号。 请参阅下面我使用的系统设置代码:

    ----------------------------------
    ;软件重置
    ;------------------
    REG[0][1]= 0x01;通过软件重置REG[254][0]=
    0x0a;延迟10ms
    
    ;------------------
    ;配置电源
    设备;------------------
    %%IF (%%prop (TargetBoard)==2)
    ;AIC3254EVM-U特定配置
    
    ;reg[1][2]= 0xa9;启动AVDD LDO
    ;reg[1][1]= 0x08;禁用弱AVDD到DVDD连接
    ;reg[1][2]= 0xa1;启用主模拟电源控制,AVDD %ELSE
    
    
    ;LDO; AIC3254EVM-K specific configuration
    reg[1][1]= 0x08;Disable weak AVDD to DVDD connection
    reg[1][2]= 0x00;Enable Master Analog Power Control
    
    %%endif
    
    reg[1][71]= 0x32;set the input power up time to 3.1ms
    reg[1][123]= 0x01; 将REF充电时间设置为40ms (自动)
    reg[254][0]=0x28;REF加电延迟40ms
    
    ----------------------------------
    ;加载miniDSP代码
    ----------------------------------
    program_adc;miniDSP_A系数和指令
    ;program_dac;miniDSP_D系数和指令
    
    ;------------------
    ;信号处理设置
    ;------------------
    ;REG[0][60]= 0x00;使用miniDSP_D进行信号处理
    REG[0][61]= 0x00;使用miniDSP_A进行信号处理
    
    %%IF ("%%prop (FrameworkType)"=="AIC3254App8x4x")
    REG[0][17]= 0x08;Interpolation
    reg 0];[0x23] 4x小数
    %%endif
    
    %%prop (FrameworkType)"=="AIC3254App4x2x")
    reg[0][17]= 0x04;4x Interpolation
    reg[0][23]= 0x02;2x decimation
    %%endif
    
    ("%%prop (FrameworkType)"=[0x23] Appreg 0;2x0]
    
    1x抽取
    %%endif
    
    ;IDAC =%%prop (miniDSP_D_CYCLES)
    ic腹=%%prop (miniDSP_A_CYCLES)
    
    %%if (%%prop (miniDSP_a_Adaptive)==1)
    reg[8][1]= 0x04;ADC %%endif的自适应模式
    
    
    %%prop (miniDSP_a_Adaptive)=1)[%reg
    (dsp_dsp_dsp_rep模式)
    
    
    ,从%f[012%f]自适应),从一个自适应方式,从一个自定义,从一个自定义,从一个自———————————————————————————————————————————————————————————————————————————————————————
    ;时钟和接口配置
    ;------------------
    ;USB音频支持8kHz至48kHz采样率
    ;88.2kHz至192kHz采样率需要外部音频接口
    ;----------------------------------
    %%IF (%%prop (SampleRate)== 17.64万 ||%%prop (SampleRate)== 19.2万)
    REG[0][5]= 0x91;P=1,R=1,J=8
    REG[0][6]= 0x08;P=1,R=1,J=8
    REG[ 0]7 =
    0[ SB=0]
    = 0[;MS00] REG[ 0[6]0] PLL_CLKIN = MCLK,CODCOD_CLKIN = PLL_CLK,PLL ON
    REG[0][12]= 0x88;MDAC =8,分配器通电
    REG[0][13]= 0x00;DOSR =32 (MSB)
    REG[0][14]= 0x20;DOSR =32 (LSB)
    REG=0[ 0x18] NADC =2,分配器电源关闭
    reg[0][19]= 0x88;mAdc =8,分配器电源
    打开reg[0][20]= 0x20;AOSR =32
    reg[0][11]= 0x82; NDAC =2,分配器通电
    
    %%endif
    
    (%%prop (SampleRate)== 8.82万 ||%%prop (SampleRate)== 9.6万)==9.6万) reg[0][5]=0x91
    ;P=1,R=1,J=8
    reg[0][6]=0x08;P=1,R=1[0x00]
    reg;0[=0[0] reg=0[=00]
    d=0000 (LSB)
    reg[0][4]= 0x03;PLL_CLKIN = MCLK,CODE_CLKIN = PLL_CLK,PLL on
    reg[0][12]= 0x88;MDAC =8,分配器通电
    reg[0][13]= 0x00;DOSR =64 (MSB)
    reg =0[ 0x40];0x14] DOSR =64 (LSB)
    REG[0][18]= 0x02;NADC =2,分配器断电
    REG[0][19]= 0x88;mAdc =8,分配器通电
    REG[0][20]= 0x40;AOSR =64
    REG[0][11]= 0x82; NDAC = 2,分配器通电
    %%endif
    
    (%%prop (SampleRate)== 4.41万||%%prop (SampleRate)== 4.8万)
    reg[0][5]= 0x91;P=1,R=1,J=8
    reg[0][6]= 0x08;P=1,R=1[
    0x00] reg;0[=0[0xD]
    d=0000 (LSB)
    reg[0][4]= 0x03;PLL_CLKIN = MCLK,CODE_CLKIN = PLL_CLK,PLL on
    reg[0][12]= 0x88;MDAC =8,分配器通电
    reg[0][13]= 0x00;DOSR =128 (MSB)
    reg =0[;0x14] DOSR =128 (LSB)
    REG[0][18]= 0x02;NADC =2,分配器电源关闭
    REG[0][19]= 0x88;mAdc =8,分配器电源
    打开REG[0][20]= 0x80;AOSR =128
    REG[0][11]= 0x82; NDAC =2,分配器通电
    %%endif
    
    (%%prop (SampleRate)== 3.2万)
    reg[0][5]=0x91;P=1,R=1,J=8
    reg[0][6]=0x08;P=1,R=1,J=8
    reg[0][7]=0x00;D](0x00)[ 0)]
    d=0000 (LSB)
    reg[0][4]= 0x03;PLL_CLKIN = MCLK,CODE_CLKIN = PLL_CLK,PLL on
    reg[0][12]= 0x88;MDAC =8,分配器通电
    reg[0][13]= 0x00;DOSR =192 (MSB)
    reg =0[;0x14] DOSR =192 (LSB)
    REG[0][18]=0x02;NADC =2,分配器电源关闭
    REG[0][19]=0x8c;mAdc =12,分配器电源
    打开REG[0][20]=0x80;AOSR =128
    REG[0][11]=0x82; NDAC = 2,分配器通电
    %%endif
    
    (%%prop (SampleRate)== 2.205万 ||%%prop (SampleRate)== 2.4万
    ) reg[0][5]= 0x91;P=1,R=1,J=8
    reg[0][6]= 0x08;P=1,R=1[
    0x00] reg;0[=0] reg=0[0xD]
    d=0000 (LSB)
    reg[0][4]= 0x03;PLL_CLKIN = MCLK,CODE_CLKIN = PLL_CLK,PLL on
    reg[0][12]= 0x88;MDAC =8,分配器通电
    reg[0][13]= 0x01;DOSR =256 (MSB)
    reg =0[ 0x00];0x00] DOSR =256 (LSB)
    REG[0][18]= 0x02;NADC =2,分配器电源关闭
    REG[0][19]= 0x90;mAdc =16,分配器电源
    打开REG[0][20]= 0x80;AOSR =128
    REG[0][11]= 0x82; NDAC = 2,分配器通电
    %%endif
    
    %%prop (SampleRate)== 1.6万
    ) reg[0][5]= 0x91;P=1,R=1,J=24
    reg[0][6]= 0x18;P=1,R=1,J=24
    reg[0][7]=0x00;D](0x00) reg[0]
    d=0000 (LSB)
    reg[0][4]= 0x03;PLL_CLKIN = MCLK,CODE_CLKIN = PLL_CLK,PLL on
    reg[0][12]= 0x88;MDAC =8,分配器通电
    reg[0][13]= 0x01;DOSR =384 (MSB)
    reg =0[;0x14] DOSR =384 (LSB)
    REG[0][18]= 0x02;NADC =2,分配器电源关闭
    REG[0][19]= 0x98;mAdc =24,分配器电源
    打开REG[0][20]= 0x80;AOSR =128
    REG[0][11]= 0x82; NDAC =2,分配器通电
    %%endif
    
    (%%prop (SampleRate)== 1.1025万)
    reg[0][5]= 0x91;P=1,R=1,J=16
    reg[0][6]= 0x10;P=1,R=1,J=16
    reg[ 0][7]=0x00;D](0x00)[ 0)]
    d=0000 (LSB)
    reg[0][4]= 0x03;PLL_CLKIN = MCLK,CODE_CLKIN = PLL_CLK,PLL on
    reg[0][12]= 0x88;MDAC =8,分配器通电
    reg[0][13]= 0x02;DOSR =512 (MSB)
    reg =0[ 0x00];0x00] DOSR =512 (LSB)
    REG[0][18]=0x02;NADC =2,分配器电源关闭
    REG[0][19]=0xa0;mAdc =32,分配器电源
    打开REG[0][20]=0x80;AOSR =128
    REG[0][11]=0x82; NDAC =2,分配器通电
    %%endif
    
    %%prop (SampleRate)== 8000
    ) reg[0][5]=0x91;P=1,R=1,J=24
    reg[0][6]=0x18;P=1,R=1,J=24
    reg[0][7]=0x00;D=0[0x00] reg[=0]
    d=0000 (LSB)
    reg[0][4]= 0x03;PLL_CLKIN = MCLK,CODE_CLKIN = PLL_CLK,PLL on
    reg[0][12]= 0x88;MDAC =8,分配器通电
    reg[0][13]= 0x03;DOSR =768 (MSB)
    reg =0[ 0x00];0x00] DOSR =768 (LSB)
    REG[0][18]= 0x02;NADC =2,分配器电源关闭
    REG[0][19]= 0xb0;mAdc =48,分配器电源
    打开REG[0][20]= 0x80;AOSR =128
    REG[0][11]= 0x82; NDAC =2,分配器已通电
    %%endif
    
    
    
    ;------------------
    ; ADC信道配置
    ----------------------------------
    REG[1][51]= 0x40;已启用麦克风偏置,源= AVDD,1.25V
    
    %%IF (%%prop (TTargetBoard)==2)
    ;AIC3254EVM-U特定配置
    REG[1][52]= 0x10;将IN2L路由到具有10K输入阻抗
    REG[1][54]= 0x40的Left_P; 使用10K输入阻抗
    REG[1][55]=0x10将CM1L路由到Left_M;使用10K输入阻抗
    
    %%else将IN2R路由到Right_P
    ;AIC3254EVM-K特定配置
    REG[1][52]=0x40;使用10K输入阻抗
    REG[1][54]=0x40将IN1L路由到Left_P; 使用10K输入阻抗
    REG[1][55]=0x40将CM1L路由到Left_M;使用10K输入阻抗
    
    %%endif
    
    REG[1][57]=0x40将CM1R路由到Right_M,使用10K输入阻抗
    REG[1][59]=0x00; 启用MicPGA_L增益控制,0dB
    REG[1][60]= 0x00;启用MicPGA_R增益控制,0dB
    REG[0][81]= 0xc0;打开LADC/RADC
    REG[0][82]= 0x00;取消LADC/RADC静音
    
    ;------------------
    ; DAC信道配置
    ----------------------------------
    ;REG[1][20]= 0x25;去弹:5个时间常量,6k电阻
    ;REG[1][12]= 0x08;将LDAC路由到HPL
    ;REG[1][13]= 0x08;将RDAC路由到HPR
    ;REG[1][14]= 0x08;将LDAC路由到LOL
    ;REG[1] 15]= 0x08[; 将LDAC路由到Lor
    ;reg[0][63]= 0xd4;启动LDAC/RDAC,带软步进
    ;reg[1][16]= 0x00;取消HPL驱动程序静音,0dB增益
    ;reg[1][17]= 0x00;取消静音HPR驱动程序,0dB增益
    ;reg[1][18]= 0x00; 取消OLL驱动器静音,0dB增益
    ;REG[1][19]= 0x00;取消Lor驱动器静音,0dB增益
    ;REG[1][9]= 0x3c;打开HPL/HPR和LOL/Lor驱动
    程序;REG[0][64]= 0x00;取消LDAC/RDAC静音 

    此致,

     -Diego Mel é ndez López ñ a  
      音频应用工程师

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好,Diego

    感谢您的回复。

    回复:"我注意到您不仅在评论初始化寄存器,还评论ADC和PLL配置寄存器,这是不正确的"  

    如果您在我的初始问题中查看,我将详细介绍一些ADC和PLL设置(这就是为什么我注释掉工艺流程设置-我不使用EVM)。  


    "

    时钟设置:

    PLL被使用= 98.304MHZ = CODEC CLKIN  

    NADC = 2

    mAdc =8

    AOSR = 32

    CODCOD_CLKIN = NADC x mAdc x ADC_FS = 2 x 4x 19.2万 = 98.304MHZ (是否正确?)
    "


    为了提供更大的画面,PLL按如下所示进行设置:

    PLL使用MCLK,频率为14.7456MHz。

    R = 1

    P = 3

    J.D = 20.0

    此设置当前在没有miniDSP的情况下使用,并且工作正常。

    我尝试过NADC =4和mAdc =4 (不使用miniDSP设置) 和  NADC =2和mAdc =8,但没有成功。




    查看此诊断树,我看到miniDSP在NADC分隔器之后获得其时钟。  

    miniDSP的时钟速率到底应该是多少? 也许我的问题在这里?

    此致

    米格尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Miguel,

    感谢您的反馈。 PLL计算是正确的,但为此,您需要启用它并将正确的值加载到PLL系数。 您当前使用的值是什么?  是否可以在提供的系统设置代码之外共享正发送到PLL的精确寄存器写入?

    另外,请注意,在您提供的系统设置代码中,ADC未打开, 这会导致DOUT信号为零。 您是否在系统设置代码之外配置ADC?

    此致,

     -Diego Mel é ndez López ñ a
      音频应用工程师

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好,Diego

    感谢您的回复。 请在下面查找下面的配置,我希望它可以理解:

    格式:

    AIC3254_PAGE_X,         0xxx                      ,0xxx
    Page_0          ,        登记号(十六进制)        ,注册值(十六进制)


    //设置时钟多路复用器:
    //-低PLL时钟范围
    //- PLL输入时钟为MCLK
    //- codec_CLKIN = PLL时钟

    AIC3254_PAGE_0,0x04,0x03


    //-选择R = 1,P = 3
    //-计算J.D = 20.0 --> J = 20且D = 0
    //-这将导致PLL_CLK为98.304 MHz

    //对PLL P和R值以及通电PLL进行编程
    Page_0,0x05,0xB1

    //对PLL J值进行编程
    AIC3254_PAGE_0,0x06,0x14

    //编程PLL D值
    AIC3254_PAGE_0,0x07,0x00 MSB
    AIC3254_PAGE_0,0x08,0x00 LSB



    //配置输入通道(ADC)
    //设置NADC和加电分隔器

    // NADC = 4
    AIC3254_PAGE_0,0x12,0x84

    //设置mAdc和加电分隔器
    AIC3254_PAGE_0,0x13,0x84

    //设置AOSR =32
    AIC3254_PAGE_0,0x14,0x20

    回复:正在打开ADC  

    是的,ADC在其他位置配置。 这一点得到了确认,如果我只是将允许使用miniDSP的寄存器切换为不使用它,那么ADC将按预期进行采样。  

    以下是开机配置:

    AIC3254_PAGE_0,  0x51,  0xC0

    非常感谢您在这方面的帮助。

    米格尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    米格尔

    感谢您提供更多信息。 我查看了寄存器设置,似乎PLL配置正确,我认为时钟不会是问题。 您需要考虑的一点是,即使时钟设置不正确或不适合所需的miniDSP周期数,您也应该在ADC输出处看到某些内容,可能是失真的数据,但应该看到某些内容。 我提到这一点是因为我认为问题在其他地方。

    如果您有器件的初始化序列,其中不使用miniDSP,且器件工作正常,则如果在加载miniDSP代码后没有输出,则会建议在加载miniDSP代码时覆盖某些寄存器,从而导致器件不再工作。 为了识别可能导致问题的寄存器,我想知道您使用的完整寄存器设置初始化编解码器,然后在启用miniDSP时加载到您的编解码器的确切代码是什么。 通过这种方式,我可以跟踪可能出现的问题,并可以提出解决方法。 我必须指出,一般来说,当使用miniDSP时,将使用从PPS导出的代码,而不是动态更改以禁用miniDSP。

    此致,

     -Diego Mel é ndez López ñ a
      音频应用工程师