谈谈MAX1304的控制

最近搞的项目里面用到了美信公司的max1304,8路同步450KHz同步AD采集器。这里是美信官网上的技术手册。调试控制时,出了一些问题,经过几天的折腾终于搞好了。这里分享一下我的菜鸟经验,也算是自己做一下记录,免得以后重蹈覆辙。

 

由于所需要的应用很简单,就是8路信号同时采集,然后取出采集数据。根据技术手册,控制时序很简单。主要就是那么几个信号:CONV-启动信号;RD-读取信号;CS-片选信号;EOC-单路转换完成;EOLC-全部转换完成。

 

实际操作中,依照所给的时序要求,通过FPGA加上上述控制信号以后,发现根本读取不到数据。加上示波器看,发现问题主要有以下几方面:1、RD信号和CS信号不能同时有效,若同时有效则芯片立刻发生“死机”;2、并不是所有通道都参与了转换,现象是只给出了几个EOC信号,有时3个有时4个,也有时8个。下面就这两个主要问题说一下解决办法,其实都是一些经验问题,权当是抛砖引玉。

 

1:RD和CS不能同时有效。这个问题是由于WR信号引起的。因为当初考虑8路通道要全部采用,就根本没有想到要对AD通道数进行设置。虽然WR信号是接在FPGA上的,但是根本没有进行过设置,导致WR信号一直为低有效。因此,这个时候再加上RD与CS,就造成了芯片死掉。

2:转换通道数不足。这个问题一开始困扰了我很久,因为我明明对1304的两个通道控制引脚SHDN和CHSHDN分别加上了高电平与低电平,按照它技术手册上的说法,此时全部通道“有效”。

但是,实际情况并不是这样子,即使按照它所说的加上了控制电平,也不能保证全部通道都能被转换、原因在于,这里所说的“有效”并不是我们理解的通道开启,而是通道“上电”!!而“上电”的结果,就是可以使1304在切换通道时,节约1ms的上电时间!!CHSHDN这个信号的真正作用,就是通过对所有通道进行上电,在通道切换时来节约1ms时间。关于这个概念,可能是由于我经验不足,所以才会造成这么大的误解。(我是通过图11看出来的,图中CHSHDN=1.但是只转换了一个通道,证明CHSHDN并不是直接控制通道数。)

了解了原因,再来就好改了。只需要在每次上电之前通过WR、CS和DATA线将全1写入配置寄存器,此时8通道就配置好了。

 

另外,还有几个小问题,比如按照手册上面数据在RD有效之后,最长30ns以内就已给出。但是在我实测中,直到50ns左右读出的数据才是正确的。不知道为什么,不过还是可以接受的。

 

总结:一个看似简单的控制时序,其实需要很多细节。不能因为只关注读控制,就忽略了写控制部分,这次的两个主要问题,都是由于写寄存器引起的。。另外,不得不吐槽一下这个技术手册,虽然我知道现在想找一个中文的技术手册不容易,可是我还是要说:引脚说明太容易引起误解了。要不是我注意到图11,简直都无从下手(因为明明说的上电所有通道有效!)。当然,这些也与我没经验有关,如果有童鞋和我遇到一样的问题,希望能帮到你。还是那句话,权当是抛砖引玉了。

posted @ 2012-09-25 01:59  imner  阅读(484)  评论(0编辑  收藏  举报