TLV320AICB左右路配置相同,输出不同,一路正常,一路有附加谐波
用的是OMAP_L138中McBSP,通过SPI口对TLV进行了配置,左右路的配置完全一样,时钟和同步是McBsp提供的,然后送过去的数据,左右路也完全相同,都是一个 正弦波的采样,左路输出很完美,无任何毛刺等问题,右路的正谐波附有很多毛刺,就像正弦波乘以了一个特别小的正弦波。
输入通过测量,没有问题。求解决。
另外。不太懂TLV320AICb里面的DA是怎么工作的。。。
有两可能:硬件电路或者布线的缺陷导致干扰信号的影响;软件设置里有错误或者bug。
你好:
你检查一下你的时钟是对的吗?每个时钟的数据是如何配置的?
寄存器的配置可以简单注释一下,然后发上来,我抽空帮你看一下。
这个事TLV的配置
这个是MCbsp的配置。两种,分别是主动给TLV时钟和同步,和又TLV提供时钟和同步。
希望你能帮我解决一个小问题,就是我找不到TLV这款芯片内部的DA到底是啥,,,额,谢谢了
你好:
请问你这颗具体的型号是哪一颗?请写清楚具体的料号,我们没有TLV320AICB。
还有可否解释一下照片的里的语句,给个范例,诸如是给哪一号寄存器写的数值是多少,我觉得好像看不清楚,0x17是寄存器的位号吧,但是写入的数值是多少呢?
芯片tlv320AIC23B
0x17是对他的配置,前面的英文,是宏定义的地址,就是配置TLV的各个寄存器,然后后面是配置的内容,虽然是9位内容,但都配置的后面的8位
McBsp的配置说明:
比如McBSP_SPCR = 0x00000000,是先初始化,后面有一句没在照片上,所有配置完后将SPCR的4个RST位复位
TLV配置说明:Left_line_input_channel_volume_control,0x17,将0x17配置给地址为地址为0x0的位置。
现在的问题,基本不在这个配置上。
关于最初的问题,正弦信号上有个附加的谐波,已通过硬件电路解决,现在的问题是到底TLV这款芯片里面的DAC是什么型号的,怎么工作的
因为我赋给它的值是1,2,1,2,1,2,。。。本来一般的DA输出是方波,这个输出是正弦波,我想看一下他的DA资料,可是TLV320AIC23B里面并没有具体的DA工作原理,换句话说,我先都没法验证我的输出到底对不对,我输出的是一个正弦波,可是如果错位了,整体向左移了一位,也就是扩大了一倍看到的仍然是正弦波,我必须知道他的DA是怎么弄得。幅度到底是怎么比例算的。
另外现在还遇到了一个问题,就是当TLV芯片作为主台的时候,提供给McBSP时钟和同步时,McBSP配置需要时钟下降沿发数据,因为TLV是上升沿采集。可我用McBSP作为master时,提供给TLV时钟同步和数据,这个时候数据需要选择为下降沿发,不然就会出错,已通过管脚实际亮出时钟同步和数据位,可是因为TLV芯片资料上的DSP模式收发时序讲的非常简单,不能确定TLV到底是怎么把数据读里去的,也就是到底是从哪个位置读里去的。
附的附件是,TLV的收发时序,然后以及我现在的情况。
你好:
1.硬件电路解决了,那应该是之前硬件有问题,请问你是如何解决的?
2.TLV320AIC23B的DAC是delt-sigma DAC,工作原理所有的delt-sigma DAC一样,关于这个类型的DAC,你可以百度了解一下工作原理的。并不是datasheet没有说明,而是这个是很基础的原理,所以没有写出来。这个跟逐次比较型的DAC不一样,我感觉你是理解成逐次比较性的DAC了。
3.你给他赋值1,2,1,2他输出确实不是方波,音频DAC的接口时I2S,关于I2S的知识你也可以先百度一下,然后看一下下帖中关于1FFS数据输入和输出电压的关系,就明白了。
http://www.deyisupport.com/question_answer/analog/audio/f/42/p/60506/133793.aspx#133793
1.首先说一下硬件电路的解决办法
检查了各个配置后没有发现什么问题,而且出的现象是加了一个谐波,除了一开始不懂DAC的工作原理,怀疑DAC工作产生外,就只可能是外部电路干扰了,TLV输出外围,LOUT,ROUT,LPHONEOUT,RPHONEOUT,4个管脚的外部电路结构都不同,断开一些外围电路后问题得到了解决,后来增加了滤波,在TLV管脚的检查谐波,也没了。
2.一个十分困扰的问题,希望得到解释。
首先,在此表示感谢,希望能帮我看一下这个问题的原因或者解释。我会尽量描述的清楚。
以下是TLV芯片上面基于DSP模式,数据读取的时序图,TLV的配置已检查,都是按照这个时序配置的。主要的几个配置如下注释
其他说明,时钟和帧同步都是TLV供给McBSP的,而且在示波器上显示出的和上路完全一样。McBSP是下降沿组织发数据。而且发出的正弦波可以在TLV的输出端检测到。
问题来了:实际亮出的数据,MSB位是出现在上路紫色框的位置。而不是在帧同步结束后的第一个时钟。
问题排查过程:觉得有可能TLV只读到了我给的数据的n-1位,也就是第N位被漏掉了。可是通过配置McBSP的dataDelay,可以将数据移位到按照芯片中的MSB的位置,可是这样反而TLV的输出不正确了。
所以怀疑到底TLV读取数据时,所谓的MSB,也就是第一位是哪一位。
简单说一下我验证的某一组数据::数据位0x7fff7fff (0111 1111 1111 1111 0111 1111 1111 1111)
实际通过示波器检测到数据的第0位出现在紫色框位置。
如果按照TLV读取的第一位是红色框位置,也就是芯片上自己说的时序。读出的左路数据应该是 - 2 (因为是有符号数 即第一位0漏掉,读出1111 1111 1111 1110)和右路数据 - 1 。而实际输出是正的最大值3.3V,并非接近0的1.65V
同样若输入的数据是-32768,确实输出是0,也就是TLV是把紫色位置的那位数读出作为MSB了。
另外一个更直白的例子:左右路都是配置的一个正弦波的采样点。TLV左右路输出都是正弦波。若通过McBSP强行加入了1bit的数据延迟,即将MSB输出到红色框的位置,输出的正弦波已发生了变形。
综上,得出的结论是芯片手册上面的时序是不正确的?
是我哪里理解出了问题,求解决,这个问题卡了好久了。十分感谢
你好:
1.你能否用示波器展示几张说明这个问题的图片?主要是关于时序问题的图片。我这边都没有这个EVM了,没有条件复现你说的这个。
2.Datasheet写错的可能性很小,大多数是中间有些问题我们没有理解。顺便问一下,这个时序的问题给你造成了哪些困扰?影响工作吗?
3.你先看一下附件里的这个note,关于AIC23B和McBSP的配置。我稍后晚点再帮你看一下这个方面的,另外你也可以看一下你的McBSP的配置。3823.Interfacing the TMS320F2833x to the AIC23B Stereo Audio.pdf
1.由于一些原因,图片略粗糙,其中红色画的是帧同步,绝对是我量出来的位置,今天把飞的线取了,不好测了。
另外,在上一个回复中其实已经把现象说的很清楚了。就是上一个回复中说的那种时序。
2.困扰或工作中影响。毕竟你要验证自己输出的是否正确,时序不对劲的话,保不准以后出问题,换种说法,如果是我理解出了问题,那么有可能读取的数据已经出了错误,只是不明显我没有察觉。
困扰的话确实是有的,而且很大的困扰。毕竟自己都不清楚为什么时序配置出来和芯片手册上不同,反而芯片却输出正常,那我接下来把McBSP配成主模式,是按照上面这种时序来,还是芯片上的来。