2010年03月06日

XMEGAボードの構想

(前の記事:2.8インチ液晶 EGO028Q02から分岐)



タッチパネル付き 2.8インチ液晶 を載せた XMEGA A3 のボードを作ってみようと思う。なにがしたいかについては、前の記事に書いたので割愛して、ピンの割り当てなど検討してみる。

XMEGA A3 は、機能が多いが、だいたい次のように分類できる。

  • ポート A,B アナログ系 ADC / DAC など
  • ポート C,D,E シリアル系 USART,SPI,I2C 。あと 32k 水晶とかPWM とか。4 bit づつに分けて考える。
  • ポート F おまけ
  • ポート R 外部水晶 -- 未使用。TOSC で 32kHz 水晶 FC-255を使おうと思う。

ピンの割り当て案



  • ポート A,B

    PA[0..3] 利得なし 差動入力 タッチパネル X+,Y+,X-,Y-
    PA[4..7] 利得付き 差動入力 オシロ1, AUX1
    PB0 AREF
    PB1 未割り当て (供給電圧測定)
    PB[2..3] DAC サウンド出力 2ch
    PB[4..7] 利得付き 差動入力 オシロ2, AUX2

    未割り当て機能 アナログSW制御 4 つ

    AUX 入力として 差動入力 x2 を外部に出したい。

    あと、ADC を1 つ電源の電圧測定に使いたい。VCCではなく AC アダプタの電圧。VCC は内部チャネルで測定できる。

      供給電圧ということにした。バッテリーを接続した場合、バッテリーの電圧で、AC アダプタのみなら、AC アダプタ電圧。

      バッテリー + 充電中のときかどうかは明らかには判断できない。まぁおまけ機能。

  • ポート C,D,E

    PC[0..3] USART, PWM (1)
    PC[4..7] USART, SPI (2)
    PD[0..3] USART, PWM (3)
    PD[4..7] USART, SPI (4)
    PE[0..3] USART, PWM (5)
    PE[4..5] TOSC 32kHz外部クリスタル
    PE6 未割り当て
    PE7 EVOUT ロジアナ ラッチ制御(?)

    5つのシリアルが使えるブロックがある。配線の都合があるので厳密にはまだ決めない。ここから次の 5 つの機能を割り当てる。

      USART LCD (SPI2PAR 使用)
    USART MicroSD
    USART シリアルFLASH/シリアルRAM
    PWM LED BackLight
    USART,PWM HOST 通信 , ロジアナ ラッチ制御
    未割り当て 1

    SPI マスタは USART を使った方が速いはず。-- ダブルバッファなので。 すべてのブロックに USART があるので、必然的に USART を使うことになりそう。

      SPI マスタで DMA できないとの情報も。USART は送信または受信で使えるが、同時には使えないので似たようなもの。送信タイミングはタイマを使うものなのかも。

    ロジアナ ラッチ制御は、定期的にサンプリングするとき使う。PWM にするのか 、事象出力(EVOUT) を使うのかは未定。たぶん両方接続する。

      PWM は割り当てられなかった。EVOUT のみ。

    バックライト LED は 個別に明るさを調整できるように別々の PWM にする。アノードコモンなので、L で点灯。アノードの電圧は、VCC + Vf まで OK 。5V でも問題ない。XMEGA の ポートの絶対最大定格は、20 mA 。15 mA になるよう設計するべき。

  • ポート F

    PF[0..7] ロジアナ入力

    5V トレラントの ラッチ 74LVC573AMを通して接続する。透過にも出来るので、単なるレベル変換としても使う。


なんだか、ぎりぎりになってしまった。バッテリー駆動とかも考えたいのだが... むりかも。まぁ大体決まったらもう一度再考しよう。

それはともかく、いろいろ遊べる要素は入れるけれども、基本は測定器にしたい。簡易オシロとか簡易ロジアナ以外には、周波数カウンタも入れたい。タイマのクロック元に事象が使えるので、特定のピンを使う必要はないらしい。

CPLD でプリスケーラを作る予定だが、入力ピンが 1 つあれば良い。プリスケーラの入力元は、ロジアナ用のラッチを通す。ちなみに これも簡易なもの。最大周波数は 100MHz ぐらいかも。(CPLD の性能より ラッチの遅延が理由)

あと、JTAG は考慮していない。書き込みは、ブートローダか PDI を想定。

ホストインターフェイスは、USART の予定だが USB - シリアルを付けるのかどうかは未定。AT90USB162 にしたりするかも。

    そんなスペースはなかった。USART の TXD/RXD をコネクタに出すのみ。

使えるデバイスについて


なにが付いていてどう使うのかについてまとめておこうと思う。

タッチバネルが付いていて自由度が高いのだから、基本的にスタンドアローンで使えるものを目指す。... といってもバッテリー駆動とは限らない。(電力的にもスペース的にも)ちょっと厳しそう。


  • MicroSD

    DAC でサウンド出力を付けるので、ストレージとして使う。それ以外に キャプチャしたデータを一時的に格納するのにも使えるかも。使う量は 1MB ぐらい(カードによる)。2MB/sec 弱で書き込みできる予定なので、2ch 12bit なら 最大 500k sps 弱。

  • シリアル Flash/シリアル RAM 。

    MicroSD があれば良さそうだが、扱いが簡単だし(取り外せないので)確実。両方付けたい。

    シリアル RAM は、キャプチャーしたデータを一時的に格納するのが最大の目的。

  • オシロ 入力

    お手軽に使えるものにしたい。コネクタは オーディオジャックにして、LINE 入力の波形表示ぐらいは簡単にできるようにしようと思う。あと、最大電圧範囲は、± 10V 程度にする。

      ところで、XMEGA の タイマはクロック元に任意の事象が使える。... ということは、アナログ比較器も使えるということだ。PA5/PB5 は、+/- 両方の入力に使える。アナログ比較器も機能が豊富になっていて、内部入力に DAC や VCC の 64レベル分圧器が使える。VCC の 64レベル分圧器を使うとヒステリシス特性を持たせることができる。

      こういう多彩な条件で、周波数をカウントしたり、トリガにしたりできるわけだ。入力用のピンは PA5/PB5 にしよう。

  • ADC AUX 入力

    オシロ入力は、1/10 にして入力するので、微弱な信号は扱えない。ADC のピンを外部に出しておこうと思う。

    あ、そういえば... 電波時計なんて記事を昔書いたのを思い出した。あと ChaN さんの ラジオ・スペクトラム・モニタなんて記事もある。

    フィルタは外付けで良いから、PWM で切り替えるスイッチぐらいは仕込んでおきたい。PWM は ポート F を借りる。そのためには、ラッチを Hi-Z にする制御のための ポートも必要。

    ちなみに、74LVC4066のデータシート見たら 3V で 212 MHz と書いてあった。SN74HC4066 だと 30 MHz 。いまは、FM 放送でもいけるのか。

    ところで、PWM は 低い周波数なら分解能が高い正確な周波数が出力できる。あと、CPLD で プリスケーラを作りこめる。PLL 自体はロジックなのでこれも作り込める。VCO だけあれば高い周波数も自在に作れそうなのだが...

    VCO も LC 発振器で良いのなら 容量可変コンデンサ + フランクリン発振器 が使えそう。... やりたいのは、周波数変換。ちょっと考えてみたい。

      CPLD から 2ピンコネクタに接続した。PWM だけだと、PWM で出力できる周波数(と精度)が限界になる。PLL を仕込むことで高い周波数を精度良く出力できるはず。

      PORTF から借りるのは中途半端で嫌なのも理由。

  • サウンド出力

    DAC の説明には、出力に 負帰還のアンプが入っていて、高い駆動能力があると書いてある。基準電圧に VCC が選べるので、3.3Vpp の振幅もある。カップリングコンデンサを入れるだけで、ヘッドホンを駆動できそうな気がするのだが、無理かも知れない。

    LMV358 で ボルテージ・フォロワを入れておいた方が良いかも知れない。ただ、同相入力範囲が VCC - 0.8V なので、電源を VCC にすると フルスイングできない。電源は バックライト LED 駆動用と同じにする。

      一応、ジャンパすることで LMV358 を使わない選択も出来るようにした。

  • ロジアナ

    データシート読み直したら 事象の遅延は 2 クロックだそうだ。同期回路だから、事象を受け取るのに1クロック。経路の設定で 1 クロック。だが、DMA がどれだけ遅延するのかは分からない。バスの調停とかもあるだろうし。

    ラッチに使う予定の 74LVC573A は、LE=L で直前のデータを HOLD 。で、DMA が受け取るまで、LE=L のままにしておかなくてはならない。もし、2 クロックで受け取ってくれるのなら、L の最小期間は 4 クロックで 50% duty だとすれば、1 サイクルは 8 クロック。... 要するに 32 MHz の 1/8 の 4Msps という計算になる。

    同期型のラッチを使えば、倍の 8Msps にできるのかも知れないのだが、DMA の方がネックになるかも知れない。それに、ラッチを使わないという選択ができない。そうすると任意の ビットの変化でトリガするとか便利そうな機能が使えなくなる。

    ところで、LE=L で HOLD ということは、クロック↓でデータ採取ということだ。SPI など 普通 ↑で採取するから論理が逆。困った。... CPLD も使っているから 反転させる回路は入れられる。しかし、これだけ 5V トレラントでなくなってしまう。1回路EXOR の 74LVC1G86Dで逆の論理でも使えるようにしよう。

      1 ゲートだけ欲しいときは、マルチファンクションの
      74LVC1G97 ,1G98を使うのが良さそう。( 今在庫があるのは 1G97 )。ただし、入力論理を 切り替えるのに (HL/LH の組み合わせになり) 2bit 必要になるようだ。... ちょっと悩ましい。

      ... CPLD でなんとか出来るのだから、入力のレベル変換だけで良かった。事象出力とか PWM も MIX したいし機能はいらない。

      発振器とかで使いそうな、74LVC2GU04あたりにしておこうかな。


    573 より エッジトリガの 574 の方が良いかも知れない。秋月のTC74VHC574Fも安くて良いかも。ただ 周波数カウンタで 5V 入力ができるように ラッチを透過モードで使うので 速い LVC574 の方が良いと思う。

電源について


電源は結構悩ましい。とりあえず、まとめておくが変更しそう。

  • VCC
    2.7V 〜 3.6V の範囲で 最高の32MHz で動く。(256A3 の Rev A 以外) 。LCD は 2.4V から 3.3V の範囲。MicroSD やら シリアル FLASH は、普通 2.7V 〜 3.6V 。

    3.3V を使おうとは思うのだが、2.85V のレギュレータもあるから VCC は、TAR5SB33 または SI91841DT-285にしようと思う。両方とも CE 端子があるが、L にすると VCC と GND をショートするものもあるので、使わない予定。

    TAR5SB33はいずれ入手できなくなるかも知れないが、一般的なピン配置なので問題ない。NOISE がない 4ピンタイプのものも使える。

  • ADC 基準電圧

    基準電圧は、1.2V の レギュレータ MCP1700T-1202Eを使う。

    オペアンプの 仮想グランドにも使うので、インピーダンスを低くする。

  • CPLD XC2C64A VCC

    XC2C64A は、1.8V の レギュレータ MCP1700T-1802Eを使う。

  • バックライト LED , DAC 用電源

    LED の Vf は、Typ. 3.2V Max 3.4V 。電流をちゃんとコントロールしたいこともあり 一応 電流制限抵抗を使った上で PWM 制御をしようと思う。

    電源は、4.2V を仮定する。

      1SS352 を電圧降下目的で使うと 50mA 流したときに Vf が 0.8V ぐらいになるので 5V電源時 4.2V 。リポ バッテリーの充電時の最大電圧もこれぐらい。

    ここから、AVR のポートの 抵抗分 を引かないといけない。...
    データシートには都合の良いことに、VCC=3.3V のとき 15mA で 0.4V と書いてある。

    ならば電圧差 0.6V (4.2 - 0.4 - 3.2) で 15mA として 40 Ω。-- 暗いと対処できないので低めにして 33 Ω。

      今回は使わないが、74LVC シリーズは駆動能力が高く 普通のロジック IC でも ± 24mA 流せる。XMEGA で心配なら これをバッファにすると良いと思う。

      XC2C も LED は駆動できるようだ。I/O 電圧を上げるわけにはいかないので、カソード側をドライブするのが前提。あと、設定が必要かも。


レイアウト




基板のサイズは、78.5mm x 58.5mm 。RFADのケース MK8260 のガラス板を取って代わりにはめ込むので確定。

    タッチパネル付きなので、しっかり基板につけなくてはならない。固定は両面テープ。裏面には部品は配置せず平面にする。リード部品を付けるときは、液晶より先に付けないといけないのは当然だが.. ハンダ付け前にカットして裏面が平面になるようにする。あと液晶裏は金属なので絶縁に注意する。リードが出ていると 使っているうちに接触したりするかも知れない。

    液晶のコネクタ(ランド)のところの VIA に注意する。

ADC の ポート A,B と パラレルの ポート F を基準に並べたらこんな風になった。C 基板を基準に考えているのだが、あまり収まりは良くない。四方の穴もジャマなのだが残す。

ロジアナ入力は、下にもって行きたかったのだが、配置上難しいので、一列になった。Arduino を考慮するのはヤメ。液晶面があるから 下に試作基板を付けるような使い方はしない。むしろ、ピンヘッダにして、直接ブレッドボードに挿せるようにした方がマシ。

この配置だと、

PC[0..3] USART, PWM (1) HOST 通信
PC[4..7] USART, SPI (2) シリアルFLASH/シリアルRAM
PD[0..3] USART, PWM (3) MicroSD
PD[4..7] USART, SPI (4) LCD (SPI2PAR 使用)
PE[0..3] USART, PWM (5) LED BackLight

になりそう。

あと入れていないのは、各種電源と ホストインターフェイス。抵抗コンデンサも。

レイアウト2






最低限度の部品を置いて、主要部分の配線もしてみた。

まず C 基板で使うことを優先した。コネクタがジャマだがなんとか入りそう。C 基板 の外(周囲)にも コネクタを配置する予定だが、最後にする。

あと、

    XMEGA A3 のピンが足りなくなるのは明らかなので、CPLD に 出力ポートを入れる。

    srt162 ボードか dac23-u4 ボードを付けて通信する。書き込みは、PDI で これも 上記ボードで。電源は上記ボードから 3.3v だけは 供給できるようにしようと思うが、3.3V のみでは、バックライトを点灯できないし、サウンド出力もできない。

    CPLD の JTAG は、自分コネクタを付ける。上記ボードからケーブルで接続。

    メモ:
    TDO = MISO,TCK = SCK, TDI = MOSI, TMS = RESET

レイアウト3





大分出来てきた。一部手配線済。

配線が難しいので、右上の コネクタは上に移動。あと、アナログスイッチの配線 4 本が残っている。ぎりぎりなので、結構厳しい。2 本とか 3 本で済ませるかも。あと右上の 1ゲートを何にするか決まっていない。

コネクタのピンアサインとかデバイスのポート割り当ても.. 配線上の都合で変更・修正。

とりあえず、ソースのスナップショット → L28A3-4.zip
一応 オートルータでほとんど配線できるようになった。

レイアウト4





回路図的にはほぼ完成。

  • 74LVC2GU04 は他に使えそうなので、1ゲートに使うことを決めた。この外部入力と、事象出力・クロック出力 とポート1 つを CPLD に接続。で、ラッチの LE を これを元に制御する。設定は、SPI 経由で レジスタを設定することで行う。

      5-6 ピンのショートで 74LVC1G97 もつかえるよう変更。ただし正論理なので、CPLD で対応しないといけない。

      基本は、SOT23-6 のパターンだが、SC70(US6) も使えるようにした。

    あとプリスケーラは、外部入力を バイナリカウンタで分周して、ポートに出力。ポートで事象を発生させて、タイマのクロック元にすれば 周波数カウンタになる。XMEGA で 4MHz 以下ならカウントできるとすれば、1/64 で最大 256 MHz 。CPLD とか ラッチの性能はこのあたりが上限なので 1/64 で十分のはず。

  • アナログスイッチの制御は、PR[0..1] を使うことにした。CPLDのポートは余っているのだが、4 線を通せそうにないのでヤメ。

    2bit しかないので、コンデンサをショートするような使い方にする。アナログスイッチの抵抗分とコンデンサで LPF になって
    しまうが、LVC4066 の抵抗は、6.5 Ωとすごく小さい。0.1uF との組み合わせでは cut-off 245 kHz 。波形を見るのが目的なので、サンプリング周波数/2 にこだわらなくても良いと判断した。

    これで、残り 1ポート(ADC) --- これは、バッテリー対応するとき使う。

  • 外周コネクタ。DAC23-U4 ボードを接続して書き込みやら通信する予定なのだが、そうするとコネクタを使ってしまうので、外側に同じ信号線のコネクタを付けられるようにした。

  • ボタンは1個だけで、リセットSW。

  • 外部 基準電圧 の MCP1700T にダミーロードを付けられるよう変更。オペアンプの仮想グラウンドにも使うので、不要かも。
  • ソースのスナップショット → L28A3-6.zip

レイアウト5





ほぼ完成。あとはバグとり。... これが完成したら 2.4 inch 版を手直しして作る予定。あと、一緒に面付けする小ケース用基板も検討。

レイアウト6


2.4 インチ版も完成





2.8 インチ版のままでは、CPLD がうまく配線できなかったので、CPLD の ピンアサインを見直した。

あと、
  • シルクをチェック。2.4 インチは基板の露出が多いので、いろいろ書き加えた。2.8 インチ版では見えないところも多いけど同様にした。

  • 1ピン余っていたので、アナログスイッチに回すことにした。機能は カップリングコンデンサの切り離し。

  • 穴の数は 200 前後 -- 700 穴制限でも 2枚割りつけて、小基板の分もある。-- OK。

  • .バッテリー対応。といっても、配線できそうにないしコネクタ付けて外に出す。空きスペースが少しあるので、そこに独立したパターンを追加。

    あと供給電圧を測定できるようにした。スペースの都合で LCD とDACのアンプの電源を分けていたのを共有にした。

    普段は、オーディオ出力にPWM のノイズは載らないと思うが、LCD ON/OFF で 載るかも。

  • なんと、PHONE ジャックの GND が未接続だった。修正。

  • レギュレータの放熱対策を一応入れた。

  • 2.4 iinch 版に PLL発振器のパターンを入れた。ついでに 1.27mm ピッチのコネクタパターンを追加。2.8 inch 版もコネクタのパターンだけは追加 ... ただ コネクタを使うと MicroSD が使えなくなる。

  • ANALOG コネクタの P1/P2 を CPLD からの接続に変更。

    PLL 発振器の出力 (正論理/負論理)を想定。

  • ソースのスナップショット → L28A3-16.zip


そろそろ飽きてきた。FIX したい。

ケースへのマウント方法


基板は、RFAD のケース MK8260 のガラス板と入れ替えるようにして、ケースにマウントする。上下左右 1mm づつ小さく作ると、内部に入れられる。

ガラス板と入れ替える場合の利点は ケースにしっかり固定できること と ケース内部が自由に使えること。

ただ、EGO028Q02 は、4mm 厚で 両面テープとかで固定するとして、4.5mm ぐらいの 厚み。ガラス面からケース上端まで 1.5 mm ぐらいなので、液晶面がケース上端より 3mm 高くなる。

ガラス板を止めていた枠を 先にケースに挿入して、上下のケースで挟むようなマウント方法にすると 2mm 液晶面を下げられるので、よりスマートになるかも。

ケース内部に入れた場合、ケース内部がだいぶ狭くなる。基板 1.6t と液晶で 6mm ほど、 部品は DC ジャック、ヘッドホンジャックが 5mm ほど。 カップリングコンデンサは、普通 220uF を使うわけだが 5 φ11mm のものしかつかないので、6.3V/10V 耐圧のものを使う。(表面実装型の電解コンも付けられるように考慮しているが、リード型より背が高い。)

要するに、1mm ほどの余裕でちょうど入る。ちなみに液晶面を下げた場合はどうかというと、内寸は 10mm。低メス・低オスでサブ基板を接続すると 6mm 高。基板は 1.6t だから サブ基板下は 2 mm ほどのスペースしか残らない。-- DAC23-U4 ボードは スイッチとか ミニ USB コネクタがあるので無理。-- やはりガラスと同じマウントしかないか。

あと、2.4 inch の YHY024006A は 3.7mm 厚で、0.3mm しか違わないので、条件はさほど変わらない。

小基板も1つ完成





他に作りたいものはあるのだが... とりあえず SRT162B をベースにガラス部分に嵌めるやつを作ってみた。LCDを付けるつもりだが、付けない場合で XMEGAボードの開発用ボードとしても使える。

  • 液晶が露出するので、浮かして付けなくて良いように液晶の下には、なにも部品を付けないことにした。SRT162B では、液晶の下にトランジスタ 3 つが付いているが、LED ドライブ用はポート直に変更し、デバイス用電源スイッチは VCC 直結に変更。あとのひとつは、オープンコレクタ出力で、圧電素子とか振動モータを付けるためのもの。それはやっぱり欲しいので、余白に移動。

    LED は XMEGAボードと同じ方式で、L で点灯。.. 論理が逆になった。

  • 基板が長くなったので、ボタンを 3 つ付けた。

  • 配置の変更とか。液晶を中央に置いたり、大きくなった分 USB コネクタを外側に移動したりした。シリアルFLASH も下に移動。

  • デザインルールの変更とか。XMEGAボードもそうだが、0.3mm のドリルを 0.4mm に変更して、PCBCARTEzPCB とかに出せるようにしている。... P板.com が、これからもキャンペーンをやってくれるとは限らないし。

  • 上のコネクタは、SPI(スイッチで ISP) と オープンコレクタ出力 あと デバッグ用 LED と共用のポート出力。下のコネクタは PORTD(USART あり)と + 1ポート。ただし、LCD とか付けてしまうと 使えない。

    いままで作ったSRT162と違うのは、上のコネクタの #5 デバイス用電源出力を NC にしたこと。と、#4 にポート出力を追加したこと。... XMEGAボードに付けたとき #5 はXMEGA で出力にしているので、NC でないと具合が悪い。

  • ソースのスナップショット → srt162b3-03.zip

とりあえずは、120x120 に面付けするデータは揃った。 出来ると発注したくなるのだが ... ezPCBが良いのかな。まぁ慌てて発注しなくても良いか。

    最近は、P板以外にだせるように、ドリルを 0.4mm にするようにしていたのだが、PCBCART の標準では Annular Ring の最小が 0.3mm 。-- ためしに DRC で Restring の Min を 0.3mm にしてみると ぜんぜんダメな感じ。最初から意識してデザインしていないので無理。EzPCB は、どうなのか? 「EzPCB への基板発注」を見ると、よくわからないものの PCBCART よりはマシみたい。-- Hole Postion Deviation 0.03mm とは ezPCB の Capabilities に書いてある。よくわからないが、基板の方は0.2mm ならなんとか出来そうなので、とりあえず 0.2mm に変更してみることにした。... といっても配置とか少し変えないとルーティングすらできないようなので少々面倒。

    あと、EzPCB は穴数無制限らしいし、V-cutting ならやってくれるみたい。面付けするつもりなのでうれしい点。ただ、基板間はどれぐらいスペースを取ればよいのか?

2つ目の小基板





あまり変わり映えしないのであるが、載っているのは CPU ではなく CPLD 。CPLD に SPI で接続するのは XMEGAボードと 同じだが、ピン配置を変えて機能も変更した。

DAC23-U4 ボードと組み合わせてデバイスを使えるようにするのが目的のボード。デバイスは、CPLD と MicroSD と シリアルFLASH 。CPLD から接続するデバイスは、LCD と PLL発振器 あとボタン。 PLL の入力クロックは、EVIN で、VCO を 分周したものを EVOUT として出力する。AVR から見ると、EVIN は PWM 出力 で EVOUT はピン変化割り込みとか。

こちらの方がむしろ作りたい。XMEGA ボードを作る場合、LCD を取り付けるのが最後になる。で、CPU 周りのテストとかプログラミングをやって一通りできてからLCDを付けることになって...いつ LCD を付けられるのか? ということになりそう。このボードだと、CPLD のテストが主目的だし、早い段階で LCD を使ってみることができる。それに、SRT162 ボードと同レベルのテストもやりたいし、デバイスは欲しい。

面付け完了





あとファイルのリストを作れば、EzPCB に発注できる状態にはなった。あと配線ミスがないかチェックが終われば出したいのだが、ライブラリも自作なので信用できない。-- いつになるやら。ちなみにサイズは、116.3 x 113.3 。Price calculator の自動見積りでは 4 枚だと 111.39 ドルで、8 枚でも 138.56 ドル。(EMS 送料込み) 。4 枚で十分だが... どうしよう。

  • ソース他全部入りのスナップショット → ez1004-03.zip

ところで、RSコンポーネンツでセールをやっている。

今回の基板で使えそうなものを探してみた。

  • 601-7240P SN74LVC1G97DBVR 単価 26 円。

    ロジアナトリガのレベル変換。ちょっとパターンのショートが 1ヶ所必要だが使える。

  • 441-6869P SN74LVC573ANS 単価 48 円。

    これも OK 。

  • 644-6777P NLHV25T-R33J-PF など 単価 1 円。

    0.12 uH 〜 0.82 uH のインダクタ。PLL発振器用で使うつもり。パターンは CB2518 用にしておいたので、OK 。

    これは、デジキーでも扱っていて、例えば NLHV25T-R12J-PFが10個250円。

    まぁ背が高い(ほとんどサイコロ) から人気がないのだろうけれど、電子工作レベルでは関係ないし。

  • 490-0538P SN74LVC2GU04DCK 単価 21 円。

    発振器用。パッケージが 0.65mm ピッチの US6 。いっそパターンをこれにしてしまおうか。



    ちょっと部品のパターンを変更してみた。--- うまくハンダ付けすれば付けられるんじゃないか。パッケージが小さいので、難しいかも ... まぁ練習してみよう。

  • 546-468P SVC710-TL-E 単価 5 円。

    サンヨーの容量可変ダイオード。発振器用。
    低電圧で容量変化が大きく好都合。ただ、パッケージはは、3 端子の MCPH3 。.. といっても2個入っているわけではなく1個。

    こちらは、2012 のパターンを幅広にして 2020 にした。2 は NC なので 、1,2 を同じランドに付ける。

    これは、デジキーでも扱っていて、1個44円

  • 387-962P M25P05-AVMN6P 単価 20 円。

    512Kbit(64kB) のシリアルフラッシュ。容量が少なすぎて何に使うのか疑問はあるが、付くことは付く。

    日本語フォント? k12x10 だとして 一文字 11x9=99bit 。うまく詰め込めば 入る計算か。

    あとは、簡易音源のデータとか曲データとか。安いから役に立つケースもあるような気がする。

... まぁこんなものか。あと気になったのは、

  • 242-116P HD74LV4066AFP-E 単価 39 円。

    使えるとは思うのだが、On 抵抗が大きい。200 Ωぐらいなので、使おうと思っている LVC4066(NXP Semiconductors) の 6.5 Ωと全然違う。--- On 抵抗が LPF の要素になるので、面白くない。

  • 490-0588P SN74LVC2G66DCU 単価 24 円。

    こちらは、2 回路だから無理なのだが、On 抵抗は 7.5 Ωとマズマズ。パターンを変更しようかとも思ったが、0.5mm ピッチなので実装が厳しい。... 残念。

  • 546-458P SVC707-AL 単価 7 円。

    リード部品の容量可変ダイオード。SVC710 と似たような特性。実験には良さそう。

  • VLF3012AT とか VLF4012AT 単価 14円(一部)。

    TDK のインダクタ -- 値によって 安いものがある。33uH なんか良さそう。残念なことに 22uH は少し高い。VLF4012AT は 秋月でも 47uH だけ扱っている。

    ちなみにデジキーだと VLF4012AT-330MR39が 1個 81円。なんだかセール価格と通常価格の差が大きい。

  • NLCV25T とか NLCV32T とか 単価 2 円

    TDK のインダクタ -- なんか極端に安い。

    NLCV25T は、2.2uH,3,3uH,6.8uH,15uH,33uH が 2円。33uH で 120mA 流せる。LCフィルタとか、消費電流が少ない昇圧回路に使えそう。

    NLCV32T は、1.5uH,6.8uH,15uH,68uH,150uH,220uH が 2円。で 33uH,47uH が 9円。22uH - 47uH ぐらいが使いやすいということか。

    15uH は 370mA で 68uH は 140mA 。-- VLF3012AT が 15uH で 410mA だから結構近い。まぁ背がだいぶ高いけど関係ないし。

    ちなみにデジキーだとNLCV25T-150K-PFが 10個 222円 で NLCV32T-150K-PFが 10個 242円。なんと 1/10 ... 。

  • TAR5SB シリーズ 単価 23 - 24 円

    3.3V , 5.0v は、秋月でも,扱っている (5.0V)。

    1.5V 〜各種あり安くなっている。ただし 1.8V は残念なことにないようだ。

  • 640-4464P BD4927G 単価 18 円。

    ロームのリセット IC NCP300LSN(CMOS 出力) と互換性があるのが、BD49xxG で NCP301LSN(オープンドレイン) と互換性があるのが BD48xxG のようだ。

    BD48xxFVE とか沢山の種類があるが、0.5 mm ピッチ。ピンアサインも違う。

    2.7V は、リポ電池の過放電保護につかえるのだ。

  • 545-966P MCH3427-TL-E 単価 17 円
  • 545-954P MCH3377-TL-E 単価 12 円

    とりあえず、1.8V 駆動可な MOSFET を一組見つけた。MCH3427 は Nch , Max 4A 。MCH3377 は、Pch , Max -3A 。パッケージは、MCPH3 で、0.65mm ピッチ。SOT23 より小さい SOT323,SC70 相当。



    ... そうか、SOT23 のパターンに載るのか。

    これは、デジキーでも扱っていて、MCH3427-TL-E 1個 84円 MCH3377-TL-E 1個 72円。

  • 398-461P TSM6981DCA 単価 13 円
  • 398-467P TSM6968SDCA 単価 13 円

    TSSOP-8 の Dual の MOSFET 。こちらは、2.5V 駆動可。TSM6981DCA は、Pch で 2.5V で -4A 。TSM6968SDCA は、Nch で 2.5V で 5.5A 。

    代替品の種類が少なくて、あんまり使いやすくないような気がするけど一応。


EzPCBにオーダー



もうオーダしてしまうことにした。

サイズは、116.3(W) x 113.3(L) で Price calculator の自動見積りでは 4 枚だと 111.39 ドルで、8 枚でも 138.56 ドル。(EMS 送料込み) 。

だったわけだが... v-cuting の料金が $30 かかる。パネライズのための面積追加は必要ない。

また、最初間違いで EMS 送料が $20 のところ $30 と請求された。(要チェック)

Paypal の場合、合計金額の 4% を bank charge (受け手が支払う手数料分)として追加。

結局 間とって 6 枚で発注。

自動見積もり $125.64 (6 枚+EMS) + v-cutting charge $30
合計額 $156/6pcs + $8
支払い額 $162

おおむね、こんな感じ。思ったより高い。P板.com の ワークサイズパッケージは、やはり格安だった。

ところで、修正依頼がきた。1.4mm のドリルを使ったのだが、1.65mm にしなければならないらしい。

オーディオジャックと 丸ピンICソケット のコンタクト(?) を埋め込んでみたいだけで付けたコネクタなので、まぁ対応するのは良いのだが ... ほんとかな?

これは、間違いだった。



なんの事を言っているのかワケが分からなかったのだが、イメージファイルを送ってもらって、ようやく理解できた。

要するに、コネクタの部分とベタアースの間のクリアランスが足りないということらしい。

    ドリルは、1.1mm で Pad の幅は 10% なので 0.11mm 。直径は 1.32mm 。で クリアランスは 0.2mm なので 1.52mm のはず。

ベタアースは16角形で、ドリルとその周りはちゃんとした円。誤差で指定したクリアランスにならないのかも知れない。(大き目のドリルだと誤差が大きくなる?)

問題は判ったのだが、eagle で、どうやって直せば良いものやら。皆目わからない。

試行錯誤の結果、Pad-Wire 間のクリアランスだけ、0.235mm にした。(他は 0.2mm)。ルールが変わるので、対応はかなり大変。少しでも楽にしようと思い Smd の 角に 4mil の丸みを付けることにした。-- 角を削るから、ナナメの線との距離に余裕ができるわけだ。



緑が前回の ベタアースで、今回のが黄色。わずかしか広くなっていない。eagle では、Pad-Wire のクリアランスと Smd-Wire のクリアランスが同じ項目なので、あまり広げると Smd の方も影響を受け、配線自体ができなくなる。

    例えば、0.65mm ピッチに 0.4064mm の電源ラインを配線しようとすると .. となりの Smd との距離は (Smd も 0.4064mm として) 0.2436mm 。このあたりが限界。




ポリゴンの Isolate で値をいれることで、似たことが出来ることが分かった。対 Pad で出来ると まさにやりたいことになるのだが、Isolate は、境界が対象。上のイメージでは、0.254mm を指定した。-- 今回はこれでいこう。



送ったのだが、全然メールの返事が来ない。再度催促したら、返事が来た。ez1004-07-out.zip は受け付けられて製造中だそうだ。とりあえずほっとした。

ez1004-07-out.zip 最後に送ったのが、3/28 。3/29 に受け取ってもらったかどうかは怪しい。催促して 返事が来たのが 4/2 あるいはここから スタートしたのかも。
4/12 に 4枚に切るがそれで良いか?という質問が来た。さらに 4/13 住所を教えろというメール。どうもできたらしい。

あと一週間ぐらいで届くはず。だがしかし、テンションは大分落ちてしまっている。まぁボチボチやっていこう。

4/17 夜基板を受け取った。思えば長かった。その間に別のものに興味が湧いてテンションが下がっていたのだが ... 基板をチェックしているとまた作りたくなっても来ている。うーん困った。


追記: 2011/1/9



ひとつ中途半端だが組み立てた。XMEGA192A3 は入手できていないかわりに、入手できた XMEGA192D3 を使っている。

ただこの D3 あまりに機能が削られすぎていて興がわかない。DAC なし / ADC 200kHz で DMA すらない。いまのところただの(PDI)ライターのテスト用。

posted by すz at 03:05| Comment(0) | TrackBack(0) | XMEGA

2009年12月10日

XMEGA16A4

ついにねんがんの XMEGA を共立から手に入れた。




とりあえず、アイテムラボのピッチ変換基板に、秋月の ダブルピンソケット(低メス) 26P (2x13)を12P + 12P に切り離して、付けた。


ピン配置



沢山の機能があるが、とりあえず、興味があるところだけピックアップ。



水晶は別に付ける必要はないが、32.768 K Hz を付けると、内蔵 RC を 自動補正できるらしい。

    ちなみに、水晶は秋月で表面実装の品を扱っている。負荷容量 12.5 pF って書いてあるから、10pF 表面実装セラコンも合わせて買うといいかも。... といっても、データシートにはどれぐらいの容量が使えるか書いてないようだ。



    ちなみに、RAM は 4KB 。あと、XMEGA は、ブートローダ用の FLASH が別にある。( XMEGA64A4 では、4KB )

    ADC は、PA0-PA7 PB0-PB3 と沢山あるが、DAC は、PB2,PB3 のみ。

    SPI は、2 つ PC4-PC7 と PD4-PD7 。SS 付き
    TWI は 2 つ。PC0-PC1 と PE0-PE1 。

    水晶を付けるのは、PR0-PR1 のみ。32KHz を付けるなら、CPUCLOCK 用の水晶は付けられない。


買ったといっても、作りたいものは、まずライターソフト。avrdude-serjtag の Bitbang ライターで対応するのだ。

参考:
posted by すz at 19:32| Comment(0) | TrackBack(0) | XMEGA

2008年08月21日

XMEGA の PORT機能

XMEGA も そろそろなので、日本語データシートをボチボチ見ている。

PORT の機能が大幅に増えていることに気が付いた。

いままでは、出力と入力、あと入力時の プルアップの機能しかなかったが、XMEGA では ワイヤードOR、ワイヤードAND 出力もできるようになった。それだけでなく、プルダウンもできるようになっている。いろいろ便利に使えそうだ。

さらに PORT のピンの入出力の論理を負論理にする -- 反転I/O 機能 -- や、1 を書き込むとトグル動作になるという -- データ出力値交互切換機能 -- がある。要するに いままでのPWM の動作種別の機能の一部が PORT 側に移り汎用になった。

また、データ出力値設定、データ出力値解除レジスタというものがある。これによって、出力ピンのマスクができる。反転I/O 機能と組み合わせて 簡単に差動信号を出力できるようになった。
ちなみに、00 と 11 みたいなデータを作るには、PIN7と PIN6 を使うのが良さそうだ。char 形変数の bit7 に 0/1 のデータを入れて右シフトすれば 同じデータをコピーできる。

PORT と DMA

あと DMA は、PORT に対しても行えるようだ。アドレスを任意に設定できるから PORT を 転送元/転送先に設定すればよい。事象(Event) システムを使うと、任意の PORT の 立ち上がり/立下りを DMA の起動タイミングにすることができるから、スレーブの場合 ストローブ信号を 事象(Event) に割り当てれば良さそう。

マスターとして動かすときは、自分でタイミングを作らないといけない。よくわからないのだが、PWM でタイミングを作って、あとはスレーブのように PORT の ON/OFF から 事象(Event) を作ればよいのかも知れない。

PORT に対する DMA ができれば、たとえば AD9283から、データを定期的に取り込んだり、8bit デジアナを作れたり、8bpp フレームバッファ(ビデオ or LCD)とかを作れそうだ。最高性能は、8M Bytes/sec (or sps) ぐらいだと思う。

それ以外では、SD カードで 4bit 単位でI/Oする ネイティブの通信が高速にできるかも知れない。

ただ、高速 I/O として PORT で DMA を使う場合、注意点がある。CPU と DMA でバスが競合した場合、CPU に優先権があるため、DMA のレスポンスが悪くなり、タイミングが守れないかも知れない。よくわかっていないのだが、割り込みのレジスタ セーブ・リストアとかも含めて特別な考慮をしなければ、タイミングを守るのは難しいかも知れない。

ハンドシェイク

さて、DMA で Request/Acknowledge みたいなハンドシェイクはできないのだろうか?

Request=入力/Acknowledge=出力の場合、Request の立ち上がり/立下りで、DMA を起動することはできる。

そして、事象(Event)チャネルの値を PORTC,D,E の ピン7 に割り当てることができる。集中(Burst)転送完了 事象(Event) を使えば良い ... と言いたいところだが ... どうやらそんな事象(Event)はないようだ。ただ、デジタル濾波機能を使って、Request 事象(Event)を遅延させることはできるから、十分な時間遅延させればなんとかなるかも知れない。

これができるなら、たとえば SL811HSTとの通信で DMA を使えそうだ。
posted by すz at 12:39| Comment(0) | TrackBack(0) | XMEGA

2008年08月16日

XMEGAで作ってみたいもの

すぐに作れるとは思えないが、思いつくままに書いてみる。

1) AMラジオ

PSoCでAMラジオは作れる。ただ ADC の サンプリング周波数を高くできないので、中間周波数が低く混信が避けられない低性能なものしかできない(はず)。 XMEGA の ADC は、最高 2Msps 。これなら一般的な中間周波数にさえ対応できる。

電波時計の記事に書いたことが、XMEGA なら簡単にできそうだ。

電波時計を作るにしても、いままでと違う方法で作れるかも知れない。たとえば、ADC で直接 取り込んでデジタルフィルタにかけるとか。それだと 雑音が多すぎるなら、可変容量ダイオードを使って アンテナ同調の機能を付けたりしても良いかも知れない。

おなじようにして、FMラジオは作れないのだろうか?
LA1800の中間周波数は 100KHz らしい。(参考: LA1800を使った FMラジオ) それなら ADC で取り込める。PICマイコンを使ったPLL方式ステレオFMラジオを参考にすれば、受信部も作れそうだ。

2) オーディオ帯域オシロ

そういえば、PCM2906オーディオ帯域オシロなんて記事も書いた。PC で制御するなら USBオーディオを使ったほうが良さそうだが、XMEGA なら 液晶をつけてハンディなものを作れそう。

PIC24F を使った ビデオ出力のオシロスコープなんてのがあったことを思い出した。XMEGA は PIC24F よりメモリも多いし高機能なんだから、ビデオゲームとか作れるのかも知れない。


3) 音をだすなにか

12bit の DAC が付いていれば PWM よりよほど良い出力ができる。メモリも最大で 16KB あってそこそこ多いから、いろいろな処理ができそうだ。

さらに、DMA がある。シリアルで相互に接続すれば、マルチチップで処理させることも可能だろうし、SPI で DMA を使えるから、SD/microSD からデータを読み出しつつ、サウンド処理をすることもできそうだ。

ソフトでの MP3 デコーダは作れるような作れないような...。
ARM なら ARM MP3/AAC Playerなんてものがある。とりあえず 内蔵 DAC を使ってできるかどうかやってみるのも面白いかも知れない。
posted by すz at 01:04| Comment(0) | TrackBack(0) | XMEGA

2008年08月14日

XMEGAはそろそろか

デジキー本家で XMEGA の価格が出るようになった。
日本ではまだだが、そろそろ買えそう。ちなみに値段は、44ピンの ATxmega64A4 が 600円ぐらい。(5.38ドル)
日本版でも値段が出るようになった。8/20現在、発注はまだできない。

開発ソフトは、WinAVR-20080610,AVR Studio 4.14 で XMEGA がサポートされている。

それは良いのだが... 対応済みの書き込み器が少ない。JTAG ICE mkIIと STK600、AVRISP mkIIぐらい。

書き込みの方法が PDI という2線方式に変わっていて従来と互換がない。双方向データ線を使うので通信が複雑になっていて対応が面倒そう。JTAG もあるので、FT245R/FT232R を使って...と考えていたのだが、手ごろな 44pin の A4 シリーズだけ JTAG がなかった -- 残念。

すぐにでも使いたい場合、安価な AVRISP mkII (デジキーで 4227円)も合わせて買っておいたほうが良いかも知れない。(ただし AVR Studio のリリースノートには対応したという記述がないのでリスクあり)

いろいろ問題がありそうだが...そろそろだ。

手始めに JTAG があり RAMが 16K もある ATxmega192A3 でも買って遊んでみたい。

追記:09/11/02

そろそろか ... なんて記事を書いてから 1 年以上たってしまった。デジキーでも 100pin の A1 以外扱ってくれない。

ふと チップワンストップで検索してみたら ... 0.8mm ピッチ 44 pin の A4 や 0.8mm ピッチ 64pin の A3 が売っていた

ちょっとメモすると ...

  • ATXMEGA128A3-AU   1〜 @ \1,670 10〜 @ \1,080
  • ATXMEGA192A3-AU   1〜 @ \1,910 10〜 @ \1,230
  • ATXMEGA256A3-AU   1〜 @ \2,150 10〜 @ \1,340

  • ATXMEGA32A4-AU    1〜 @ \1,180 10〜 @ \740


64 pin の A3 は、0.5mm ピッチかと思って敬遠していたが、データシートみたら 0.8mm ピッチらしい。A4 は容量少ないし、JTAG がないので使いにくいかも知れない。ATXMEGA256A3-AU あたりが良さそう。

共立で発売している ATXmega128A1-AU のレポートを発見

参考になります。

追記:09/11/12

ふと、MOUSER を覗いたら、ATXmega の A3/A4 を 扱っていた。

ちょっとメモすると ...

  • ATXMEGA128A3-AU   1〜 @ \753.8 10〜 @ \648.6
  • ATXMEGA192A3-AU   1〜 @ \860.9 10〜 @ \740.7
  • ATXMEGA256A3-AU   1〜 @ \969.0 10〜 @ \833.8

  • ATXMEGA32A4-AU    1〜 @ \473.5 10〜 @ \407.4
  • ATXMEGA64A4-AU    1〜 @ \538.5 10〜 @ \463.5


あと、A3/A4 系でいくつか obsolute になっていて、新たな D3/D4 というタイプが ...

追記: 09/11/17

共立エレショップでも取り扱い開始。


  • ATXMEGA64A3-AU   1〜 @ \1,600

  • ATXMEGA16A4-AU 1〜 @ \1,000


ちょっと高いが、送料は安い。それより、容量が小さいのしかないのが微妙。お試しに使うならこれでもいいか。

追記: 2011/3/30

久しぶりに Digikey を覗いてみたのだが、買える XMEGA の品種が増えていて XMEGA192A3 もその中にあった。Mouser ではもっと前から買えたのだが、ERR とか表示されるので注文を控えてしまっていた。Digikey だと いつもの内容を書くだけなので 安心して買えた。

値段は、単価 1040円。25 個なら 652 円まで下がるが、10 個すら使う自信がないので、5 個にしておいた。

あと、一緒に買ったのは、FPGA の Spartan6 LX9 (TQG144) (単価 1416 円) こいつは、将来使ってみたいだけで最低数レベル。(1回失敗するのを前提にして 2 個)
posted by すz at 20:41| Comment(0) | TrackBack(0) | XMEGA