关于AIC23音频输出问题
最近正在学习DSP的编程,还没有入门。想单一编写一个基于tms320c6731的小程序。就是使输入等于输出。结果来看很好,示波器完美的显示了信号发生器所输入的波形。但是我不明白具体哪些数据对应的是左声道哪些数据对应的是右声道。 程序中所定义的readval是一个32位的二进制数。我本来以为前十六位是左声道,后十六位是右声道,但是就Debug的结果来看前16位始终为零。后十六位要不很大要不很小。请问怎样才能找到我所输入的电压和电路板所接收到的二进制数的关系?
非常感谢!
输入的电压和I2S的数据对应关系可以参考这里:http://www.deyisupport.com/question_answer/analog/audio/f/42/p/60506/134613.aspx#134613
非常感谢你的回答。但是我觉得,在我的这种情况下,aic23接到的信号应该是一个长为32bit的数据。这串数据内应该包含了左声道和右声道的数据,但是我不知道到底哪些属于左声道,哪些属于右声道。根据aic23的 datasheet所写,左右声道的数据应该分局前后16位才对,但是在我的程序里,前16位始终为零。不知道是为什么。
再次感谢你。
你可以看看这个链接:http://e2e.ti.com/support/data_converters/audio_converters/f/64/t/43247.aspx
谢谢!不过在我的实验过程中,使用scratch = scratch & 0xffff0000;就完全没有输出了。使用scratch = scratch & 0x0000ffff;的话两个输出全有。请问这是为什么啊 T_T。
这个问题在上面的链接里看起来是一样的,提问的那位在使用scratch = scratch & 0xffff0000时出现的结果是静音,跟你的完全没有输出是一样的呵,你可以在那个连接下面提问,应该会有回复的。因为这个2进制补码的问题我也没弄很明白,呵呵!你弄明白了也可以在这里分享一下我跟着学习一下!
您好,我弄明白为什么了,hCodec = DSK6713_AIC23_openCodec(0, &config); 这句话里注释只使用一个声道,应该是左声道,所以我的有声道里是没有声音的,也就是全零。不过我还有一个问题。当我给板子一个恒定的1V的电压输入,为什么看不到输出波形?如果给正弦信号的的话就能看到完美的输出波形,这是为什么?是不是意味着,板子是按照牟舟差分的形式编辑的?谢谢。
你好,我跟你出现了一样的问题。你说“hCodec = DSK6713_AIC23_openCodec(0, &config); 这句话里注释只使用一个声道,应该是左声道”。可是我没弄明白,你能分析的详细一点吗?谢谢了!
“hCodec = DSK6713_AIC23_openCodec(1, &config); 应该就是右声道了,不过如何实现两个同时输出我就不知道了。我也想请问下,你找到了输出的二进制数和电压之间的关系了么?如果你清楚的话,能不能指教下我呢? 多谢。
可是我写这三句,
aic23data = MCBSP_read32(hMcbsp);
temp=aic23data&0x0000ffff;
MCBSP_write32(hMcbsp,temp);
这时候左右声道都有声音。如果像你说的禁用了一个声道的话,应该最多只有一个声道会有声音啊。
换成下面三条语句,
aic23data = MCBSP_read32(hMcbsp);
temp=aic23data&0xffff0000;
MCBSP_write32(hMcbsp,temp);
这时候左右声道都没声音了。
还没有找到你说的二进制数和电压的关系。
你好:
输入恒定1V,没有输出,请检查板子的硬件上,输入处是否有隔直电容。
你好:
I2S输出数据和二进制关系请参见下帖:
http://www.deyisupport.com/question_answer/analog/audio/f/42/p/60540/133807.aspx#133807
感谢关注,
板子上应该是没有隔直电容的,前面您说的16位指的是数据,那么请问这16位数据分别有什么意义呢?如何把这16位数据和我的输入电压对应起来。
你好:
sorry,是这个帖子:
http://www.deyisupport.com/question_answer/analog/audio/f/42/p/60506/133793.aspx#133793
这个帖子很清楚的说明了数据和输入电压的关系。