aic3256与DSP的SPI通信问题
序: 搞了几块aic3256,按照TI公司的原理图做了最小系统,想用F2812来驱动,结果老是不行,好,我想,既然这样,那就从最简单的开始一步一步慢慢来。于是种种问题就浮出水面……
病态试验现象1: 我从最简单的DSP与aic3256的通信开始试验,看究竟能不能对codec读写数据,通信方式选的是SPI。一边通信一边用示波器观察时钟、数据的波形,一开始波形还比较有型,高电平是高电平,低电平是低电平(读aic3256端口前前后后只有那么一次正常过)。可是顶多一根烟的功夫就出问题啦,(时钟、数据的)高电平像是不负重压老往下踏,低电平像是煮沸的肉汤总想串起来。片选端口隐约出现时钟波形,MISO口努力模仿MOSI口的波形。
板子症状1: 首先用万用表测量各个VCC(3.3V和1.8V),正常。去掉连线测量:有的通信引脚间的电阻居然几乎为零,并且VCC与地的电阻也几乎为零,但是之前VCC的电压正常,且并没有出现芯片发烫的迹象呀,伤不起呀!
板子病症消失: 我不甘心,于是边想边拿万用表探头去搓那些短路的端口。折磨了一段时间后,奇怪的事情出现了,各个短路端口间的电阻有变大的趋势,并在后来陆陆续续的恢复了正常的断开状态,我的个神呀,奇迹出现了。
病态试验现象2:激动之下,我又开始试验,结果并不如意,又出现了“病态试验现象1”的过程。
板子症状2: 用万用表测量,结果如“板子症状1”,另外还多了一个点新发现,aic3256的通信端口本来上拉为SPI方式,结果居然是低电平,也就是说整个IOVCC的电压全部落在了上拉电阻上。同样在这些不正常的情况下,各个VCC口的电压都是正常的,这点让人费解!
最后: 过了很久,那些短路的端口同样回复了正常状态,我又试验了几次,开始重复上面的几个过程,大神们啊,救救我吧!究竟是哪里出问题了啊?
Hi
请把原理图发上来看一下,还有就是AIC3256如何与F2812连接的?
Hi Derek Xie,
非常感谢你的关注!
F2812与Aic3256的连接如下:
电源是从DSP开发板上面取的3.3V和1.8V。
f2812的一个IO口与Aic3256的Reset连接,f2812和Aic3256的SPI口对应相连,用f2812的XCLKOUT输出大概18MHz时钟到Aic3256的MCLK口。