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.

[参考译文] TLV320AIC3100:AIC3100与DAC3100初始化

Guru**** 2413780 points
Other Parts Discussed in Thread: TLV320DAC3100

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/690321/tlv320aic3100-aic3100-vs-dac3100-init

部件号:TLV320AIC3100
主题中讨论的其他部件:TLV320DAC3100

我在一个设计中使用了DAC3100。

我更换为AIC3100,因为我需要输入功能。

但是,当我在AIC3100中运行DAC3100的初始化代码时,没有输出。

寄存器看起来是一样的,是否还有任何其他我应该添加到init的内容。 现在我只使用DAC功能。

注:我使用的是嵌入式设计。

谢谢。

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

    您能否提供注册配置?

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

    e2e.ti.com/.../aic3100_2D00_init.txthere是我的配置序列。 我已包括ADC config seq.(&注释)

    常数取自Linux驱动程序头文件。 (tlv320aic31xx.h)。 还附加了原始二进制文件。

    const struction aic3100_reg aic31xx_init[]={
    	AIC31XX_PAGECTL		, 0x00},//设置页面0
    	{ AIC31XX_RESET			, 0x01},//软重置
    // PLL
    	{ AIC31XX_CLKUX		,0x07 },// PLL_CLKIN = BCLK,{/CLJ_PLJ=0xPLJ_PLJ_PLJ}
    				
    			// PLL D =0
    	{ AIC31XX_PLLDLSB		,0x00 },
    	{ AIC31XX_PLLPR			,0x98 },// PLL通电,P =1,R =8
    	{ AIC31XX_NDAC			,0x82 },// NDAC通电并设置为2
    	{ AIC31XX_MDAC			,0x88 }, // MDAC已通电并设置为8
    	//{ AIC31XX_NADC		, 0x01},//默认值,从DAC获取
    	//{ AIC31XX_mAdc		, 0x01},//默认值,从DAC获取
    	{ AIC31XX_DOSRMSB		, 0x00},// DOSR =128,DOSR(9:8)=0,DOSR=0, DOSR80(AIC31XX_DOSR0,DO80}
    			//
    	//{ AIC31XX_AOSR		,0x80 },// AOSR = 128
    //接口
    	{ AIC31XX_IFACE1		,0x00 },//模式为I2S,文字长度为16,从属模式
    	{ AIC31XX_DATA_OFFSET	,0x00 },// WCLK上升边缘=0
    	{ AICXX_IFE2		,0x00 }后的BCLK延迟 // BCLK未反转
    // DAC
    	{ AIC31XX_DACPRB		,0x19},//选择处理块PRB_P25
    	{ AIC31XX_PAGECTL		,0x08},//设置第8页
    	{ AIC31XX_DAC_COEF		,0x04},//在DAC处理块
    	{ AIC31XX_PAGECTL		,0x00, 0x00中启用了自适应过滤 //设置第0页
    
    	{ AIC31XX_DAC_VOLCTRL	, 0x00},// DAC =>通过引脚禁用进行音量控制
    	{ AIC31XX_PAGECTL		, 0x01},//设置第1页
    	{ AIC31XX_HPDRIVER		, 0x04},//编程共模电压(定义= 1.35 V)
    	{ AIC31XX_HPPOP/			,0x4E 开机=800毫秒,步进时间=4毫秒
    	{ AIC31XX_DACMIXERROUTE	, 0x44 },// LDAC路由到HPL输出,RDAC路由到HPR输出
    	{ AIC31XX_HPLGAIN		,0x06 },//取消静音HPL,设置增益=0 db
    	{ AIC31XX_HPRGAIN		,0x06 },//取消静音HPR 设置增益= 0 db
    	{ AIC31XX_SPLGAIN		,0x1c },//取消静音D类,xx=增益=(6/12/18/24 dB) 6 dB <=? 18dB+(000xxM00)上的热扬声器(M=静音)
    	{ AIC31XX_HPDRIVER		, 0xC2 },// HPL和HPR加电
    	{ AIC31XX_SPKAMP		,0x86 },//加电D类驱动
    	程序{ AIC31XX_LANALOGUHPL	,0x86,//启用HPL
    		=模拟输出,0xNDEB },设置0 //启用HPR输出模拟音量,SET =-9 dB
    	{ AIC31XX_LANALOGUESPL	, 0x92 },//启用D类输出模拟音量,SET =-9 dB
    	{ AIC31XX_PAGECTL		, 0x00},// SET PAGE 0
    	{ AIC31XX_DACSETUP		, 0xD4 },//启动DAC左右通道(启用软步骤)
    	{ AIC31XX_LDACVOL		,0xf8 },// DAC左增益=-3 dB
    	{ AIC31XX_RDACVOL		,0xf8 },// DAC右增益=-3 dB
    	{ AIC31XX_DACMUTE		,0x00},//取消静音DAC左和右通道
    // AICmic /ADC//{
    	AIC31XX_PAGECTL		,0x01 } //设置第1页
    	//{AIC31XX_MICBIAS		, 0x0A },// MICBIAS POWER 2.0V, mic detect is ignored
    	//{AIC31XX_MICPGA		, 0x80},// mic PGA 0dB
    	//{AIC31XX_MICPGAPI,	0x80},//选择了MIC1LP 10KOHM //{AICXX_MICAMI/
    		,0x80_AMI_AMI_{ECC_},{31dB
    
    			//设置第1页
    	//{ AIC31XX_ADCSETUP	, 0x80}// ADC启用和开机
    	//{ AIC31XX_ADCFGA		, 0x00},//取消ADC静音,0dB
    	//{ AIC31XX_ADCVOL		, 0x00},// 0dB
    
    	{ AIC31XX_END_PROG		,0x00,//结束
    };
    

    谢谢。

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

    我看了一下您的设置,没有出现奇怪或错误的情况。 我将继续研究这一问题。
    这是连接到您使用DAC3100的现有平台上?

    您的BCLK频率是多少?

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

    我的BCLK是352.8K (1.1025万)。 我不是在应用MCLK,但它在DAC3100中工作。

    当我对着麦克风讲话时,我可以看到被测装置的变化。 (应用上述ADC配置时)。

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

    我也可以在HPR上看到音频,但我没有使用它。 我正在使用D类放大器。 我在扬声器输出上看不到PWM (300K)。
    D类是否会在低音频信号(来自数字输入)下工作?

    是否可以是扬声器初始化顺序?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Steve,
    能否显示初始化D类驱动程序的示例,
    -从Mix_L输入
    -增益6-dB
    -模拟衰减0-dB
    —已打开。

    我担心init序列,因为我看不到输出。
    Mix_L也被送入HP,我可以看到输出。

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

    艾哈迈德

    您确定配置在TLV320DAC3100上工作正常吗?  

    1:如果您的BCLK为352.8k, 而您的BCLK为PLL_CLKIN, 则您违反 了PLL_CLKIN的第一个PLL连接 ,请参阅以下约束

    2:如果J=-8和R=8 ,您也将违反第二个限制, 您将获得35.28万 *8*8/1=22.579MHz 。  这也超出了PLL规格。

    从数据表的第67页:

    TLV320DAC3100也存在这些限制。  

    此致,  

    -Steve Wilson

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

    Steve,

    我看到上述限制。 然而幸运的是,它是有效的。 已经有几个月了,它正在DAC3100上播放。

    实际上,我们计划在2.205万年,但为了减少内存,我们转而使用1.1025万。

    我现在可以在HPR上看到音频输出,但在扬声器上看不到。 PLL的设置是否会阻止扬声器输出?

    谢谢。

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

    虽然它可能起作用,但我建议您修改PLL设置以至少满足第二个限制。 只需将J值更改为32,将NDAC更改为4,将MDAC更改为16,就非常容易完成此操作。

    关于扬声器。如果您的耳机工作正常,并且这些寄存器设置为您所拥有的寄存器,则D类放大器应该工作。

    AIC31XX_DACMIXERROUTE,0x44
    AIC31XX_SPKAMP ,0x86
    AIC31XX_SPLGAIN ,0x1c
    AIC31XX_SPLGAIN ,0x1c

    我已在EVM上确认了这一点。

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

    您好,Steve,

    谢谢,它现在在扬声器上工作。

    我将修改P R J登记簿并对结果提供反馈。

    对于低FS (< 2.205万),似乎很难获得这些限制。 我甚至计划将8Ksps用于VoIP应用。

    我试图避免使用外部振荡器。 在这些情况下,是否可以做到这一点?

    此致,

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

    艾哈迈德

    使用BCLK实现低FS时,PLL的约束可能难以满足。  

    您可以将单词长度更改为32或24位 ,或使用TDM模式 ,其中BCLK=256*FS。  即使是8k,BCLK也为2.048Mhz。  您不需要使用所有频道。

    此致,

    -Steve Wilson