がっ、とある基板にADS1675という24bit ADCが載っていてそれの制御logicを設計しなくちゃいけないので嫌々ながら設計したんだけど、わたしは英語がよめないので、表的に記載されていないデータシートを読解できないので、てこずって機嫌が悪くなってしまいました.
ADS1675をつかう方が私のようなくだらない目に遭わないように、わかりづらいところをメモっておきます.
----
ADS1675には様々な動作モードがありますが、わたしがやりたかったのは4Mspsで動かすことです.
●4Mspsで動かすモード(DRATE[2:0] = 101;)にすると自動的に、内部SCLK かつ LVDS に切り替わるようです.この仕様に不満はありません.
●普通は連続してsamplingするわけですから、START=1にします.STARTにパルスを与える必要はありません.
●デルタシグマADCのためのフィルタのモードが複数あるのですが、英文を読んでも理解できません.なのでFPATHが何を意味しているのかは不明.
●結果として、4Mspsで運用するために固定的に設定すればいいピンはこうなります.あとはCLK=32MHzを入れれば、96Mbpsのserial LVDS出力が出てきます.96MHzはADS1675内部にある32MHz→96MHzのPLLで生成されます.
OTRA = 0;
CS = 0;
DRATE[2:0] = 101;
FPATH = 0;
LL_CONFIG = 1;
LVDS = 0;
SCLK_SEL = 0;
PDWN = 1;
START = 1;
●LVDS出力には、+と-の間に100Ωぐらいの抵抗を入れるべきであるようです.データシートにはそうしろと明記はされてないように思いますが.
●LVDS出力は、SCLK,DOUT,DRDYにbit serialで出てきます.SCLK=96MHzです.DRDYはサンプル同期パルスです.DRDYはSCLK 24発毎に出ますのでDRDYの時刻をMSBとしてシフトレジスタでDOUTを受信すれば4Msps 24bitデータを受信できるという簡単な仕様です.
がっ、DRDYは96MHzの1clk幅ではありません!! 3clk幅ぐらいあるんじゃないかな? わけのわからない仕様です.ふつうこうゆう変な仕様にするか?? なんのためにLVDSで伝送してるんだろうねぇ?
だから、受信回路はDRDYの立ち上がりedgeを抽出してMSBとして扱わなくちゃいけません.バカクサイ.しかも、ゼロクロスでDRDYの幅を意図的に変更しているフシがある.ダサイオシロスコープしか持ってないので直接観測はできませんでしたが.
以上、報告おわり.
ADS1675を使いつつあってこれを読んで助かった方はclick!
人気ブログランキングへ
いままで見た中で一番使いやすかったのはMAIXMのマニュアル
返信削除ですね。
参考回路図の周辺ディスクリート(コイルなど)部品の
具体的なメーカー名や型式まで記載されていたり、
親切さがにじみ出ていた。
ああなるほど.MAXIMご無沙汰です.英語の書体がボールドというかなんというか太い字体である印象があります.
返信削除