2012年4月17日火曜日

テキサスインスツルメンツ ADS1675 は使いにくい、使い方

テキサスインスツルメンツ(以下TI)というUSAのLSIメーカーがあります.この会社のデータシート(英文)って読みにくいと思いません? リニアテックとかアナデバの英文は読みやすいんだけど、TIのは表になってなくて、ごにょごにょした英文を読まないと理解できない.それでわたしはTIのLSIを使いたくないのです.

がっ、とある基板にADS1675という24bit ADCが載っていてそれの制御logicを設計しなくちゃいけないので嫌々ながら設計したんだけど、わたしは英語がよめないので、表的に記載されていないデータシートを読解できないので、てこずって機嫌が悪くなってしまいました.

ADS1675をつかう方が私のようなくだらない目に遭わないように、わかりづらいところをメモっておきます.

----
ADS1675には様々な動作モードがありますが、わたしがやりたかったのは4Mspsで動かすことです.

●4Mspsで動かすモード(DRATE[2:0] = 101;)にすると自動的に、内部SCLK  かつ LVDS に切り替わるようです.この仕様に不満はありません.

4Mspsで動かすには、LL_CONFIG = 1 にしなくちゃいけません.これが0だと別のモードになってしまい、4Mspsになりません.

●普通は連続して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!

人気ブログランキングへ

2 件のコメント:

  1. いままで見た中で一番使いやすかったのはMAIXMのマニュアル
    ですね。
    参考回路図の周辺ディスクリート(コイルなど)部品の
    具体的なメーカー名や型式まで記載されていたり、
    親切さがにじみ出ていた。

    返信削除
  2. ああなるほど.MAXIMご無沙汰です.英語の書体がボールドというかなんというか太い字体である印象があります.

    返信削除