スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
webadm | 投稿日時: 2006-5-26 3:45 |
Webmaster 登録日: 2004-11-7 居住地: 投稿: 3107 |
カメレオンUSB/ロジアナキットが届いた 数年前から定評のあるカメレオンUSBとロジアナボードのキットが届いた。
秋葉原のITプラザでも購入できたが、あそこは行ってみるとわかるが昔ながらのジャンク屋風の店舗である。しかも行くと必ず常連さんが店長と長々しゃべっているので開発元のオプティマイズのWebから注文しておいた。 すぐに届いてびっくりした。キットといってもそこはそれ説明書とかは無く部品のセットである。キットの説明はWebの商品説明と回路図だけが頼り。あとは自分の腕だな。 左がカメレオンUSBキット、右がロジアナキットである。2つをくみ上げてつなげることで初めてロジアナとして使える。 裏に自分で半田付けする部品が入っている。チップ部品なので床に落としたりしたら見つかるかどうか心配である。作業するときは床に安全ネットならぬセーフティーマットを敷いてやったほうがよさそうである。 一緒にルーペとチップ部品用の半田ごてとフラックスもまとめて購入。ルーペはちょっと径が小さくて使いずらいので前から持っていた大型のものでよかった。はんだごては小さな部品ならいいが、それ以外のところではもう少しワット数の大きな普通の電子工作用の半田ごてのほうが良いかもしれない。以前も22Wの小さなのをもっていたがどっかいって見つからない。 どちらのキットもフラットパッケージのICを使用しているが、カメレオンUSBキットの方はあらかじめ主要なフラットパッケージは半田付け済みであった。ロジアナの方はくっついているように見えるが実は両面テープで貼り付けてあるだけで半田付けはされていない。昔はカメレオンUSBキットも同じよう半田付けされていなかったらしい。それだと相当ハードルが高く失敗する人も多かったに違いない。XILINXのCPLDはピン数が多いだけに難しかったろう。 これを購入したのは、もとはと言えば自作FLEX10KボードのJTAGで躓いて原因究明のためにストレージオシロかロジアナが欲しかったのが理由である。結局JTAGの問題はどうにか収まったが、やはり今後のことを考えるとなにかしらあったほうが良いと思い中古とかを調べたりもした。 中古屋やネットオークションでも昔のロジアナが比較的魅力的な値段で売られている。一部個人が使っていたものを売りに出しているものを除いて、ほぼ業者が扱っている中古ロジアナはプローブがついていない。メーカーによっては今でも古い機種の修理やプローブ製品の販売をしているところがあるものの、それらを利用すると本体よりも高い金を払うということになる。 秋葉原の中古測定器屋さんを覗いてみても、やはり同じような感じである。オシロとかはプローブはどこのでも使えるので新しく買ってもまだ値段が安いのでよいが、ロジアナはそうではない。ロジアナもまれにプローブがそろった形のものがあるが、ほとんどはオシロと一緒でプローブが付属していない。オシロと違ってこれだとジャンク品と一緒である。 昔テクトロの古いロジアナを秋葉原の湘南通商で委託販売されていたものを購入したことがある。それまで使われていたプローブ付きで完動品である。当時職場でHPのロジアナではひっかからないスパイクを自宅から持ち込んだそのテクトロのロジアナだとぴたりと検出してくれた。けれどもプローブの先端のコネクタがだんだんと経年変化で腐っていって引きちぎれてしまったので、引っ越しの時に産廃業者に他のジャンク品と一緒に処分してしまった。なぜかプローブだけは処分するの忘れて今も未練がましく残っていたりする。それを見るたびに捨てなければよかったと後悔。 現在ではHPはロジアナをやめてしまって、オシロと一体化している。テクトロはまだやっているが一機種しか販売していない。世の中はMIXEDシグナルの時代でもはやロジアナの単体の出番は少ないのかもしれない。オシロもディジタルストレージオシロの時代になってしまって、陰極線管をつかったアナログオシロも先端では使いずらくなった。 せめてストレージオシロがないと一過性の現象を捉えることが難しい。それでも簡単なトリガーでは任意の期間を観測することができないので大きなサンプリングメモリを備えたディジタルストレージオシロが必要になる。そういうところは実はロジアナでよかったりする。 というわけでロジアナは欲しいが中古はちょっと重たいし。HPのロジアナシステムで良いものはあったが、仕事で昔使ったことがあるが、とにかく重い。一人で持ち上げるのは大変だし、普通は専用の台車に据え付けて使用する。なのでそういう重量物はオシロだけで結構である。 市販のPCに接続するタイプの比較的手頃な価格のディジタルストレージオシロやロジアナがある。とはいえ結構なお値段である。 もっと簡単なものがないかというと自作するしかない。でもほとんどそのネタは出し尽くされていてWeb上で探すといくつかすばらしい作品がみつかる。その中のひとつ誰でも作れるカメレオンUSB/ロジアナキットに行き着いた。 かなり以前から定評らしい。カメレオンUSB自体はXILINXのCPLDが載っているので他の用途にも使える汎用品である。 とりあえず週末はこれをこしらえてみよう。 アルバイト代がたまったらちゃんとしたディジタルストレージオシロを買おう。秋月とかで海外メーカー製のものが比較的安い。有名なメーカー品でも最近はエントリーレベルのものなら新品でも個人でも手が届かない値段ではない。あまり値段を高く設定しても中古が出回ってしまっては困るからだろう。 実験用の可変電圧電源も欲しい。これもだいぶ今は新品でも安くなった。中古もかなりの数出回っている。あとデスクトップ型のマルチメーターも欲しい。テスターと一緒だと思ったがやはり使い勝手と可読性の良さでは机の上で使うにはデスクトップ型が良い。あとは実験用のシグナルジェネレーターかファンクションジェネレーター。これは結構の値段が今でもする。周波数カウンターは今のところの用途ではいらないかな。 |
webadm | 投稿日時: 2006-5-31 19:26 |
Webmaster 登録日: 2004-11-7 居住地: 投稿: 3107 |
やはりハードルは依然として高いようだ 先週末に半田付けをやろうとして、いきなり躓いた。
チップ部品を扱うのは生まれて初めてなので、その小ささに度肝を抜かれた。 まずどれがなんの部品だかルーペで拡大して見ないと区別がつかない。 どこにどれを半田付けすればいいのか、混乱してきたので少し確認してからということに。 少し落ち着いたところで、部品を取り出してルーペで見ると同じ部品はそれぞれ組になっていることがわかる。一番数が多いのは0.1uFのデカップリング用セラコンだろう。これは何も容量とか表記が無いが数が多いのでそれとわかる。別に2つのセラコンがあり、それは水晶発振子につなぐ22pFのものだと想像がつく。残りは抵抗でこちらはルーペで拡大すると抵抗値が書いてある。基板上には22pFのセラコンと抵抗についてはシルク印刷でどこに何をつければよいかわかるようになっていた。何も書いてないのは0.1uFのデカップリングコンデンサである。 あとはケミコンが2つにレギュレーターがひとつ。ケミコンはリード端子が部品の底にあって基板に部品を置くと半田面がほとんど見えなくなる。どうやってこれを半田付けしろというのかという感じである。部品とランドにそれぞれ予備半田をして無理矢理横から半田ごてをあてて溶着させるしかないのか。 あと水晶発振子とコネクタをつければ終わりである。 ここまで段取りが見えたら今度やってみよう。 |
webadm | 投稿日時: 2006-6-1 5:07 |
Webmaster 登録日: 2004-11-7 居住地: 投稿: 3107 |
とりあえずカメレオンUSB基板は完成 開発元のオプティマイズのWebにある「制作」というページに従って作業を進めたところとりあえずカメレオンUSB基板は出来た、いくつか躓いた点をメモしておく。
(1)チップ部品のパッケージ取り出し リールにパッケージされている抵抗やコンデンサを取り出す方法がわからなかった。紙のシールを剥がすといとも簡単にポロッと落ちてきてしまうので、半田付け直前に一個ずつ取り出したほうがよさそうだ。落ちてどっかへ転がっていくので白い紙の上に落とした方が見失い心配はなさそう。 (2)実は部品を半田付けしなくていい場所がある 最初に裏面から0.1uFのセラコンを6つ半田付けするが、実はランドは7カ所ある。そのうちピンコネクタに近い1カ所はそのまま放置しなければならないが、良く説明を見ずに7箇所付けてしまって後で1個足らないことに気づく。仕方がないので手持ちの0.1uFの積セラを足を短くして足らないところに付けた。 (3)USBコネクタは部品面に載せる 最初USBコネクタは裏側に仮どめされている。気づかないでそのまま半田付けしてしまう人が多いようだ。説明にあるように必ず一旦取り外して最後に部品面に載せて半田付けする。 (4)EZ-USB開発キットのダウンロードではまる Cypressのサイトに行ってもどれをダウンロードすべきか迷ってしまう。オプティマイズのカメレオンUSB掲示板を見れば過去に同じところではまった人にコメントでダウンロード先のURLがリンクで載っている。実は搭載されているのはAN2135という石だが、開発キットはAN2131-DK001とかいう名称で、同系列のAN2135もそれでカバーされている。 (5)最初正常にUSBで認識されなかった 半田付けが終わり、EZ-USB開発キットをダウンロードしてインストールした後にUSBケーブルをつないでPCに接続するのだが、最初うまいこと認識してくれない。不明なデバイスのままになってしまう。ベンダーIDも0でプロダクトIDも0とか変な状態になっている。これではドライバを指定してもベンダーIDとプロダクトIDがEZ-USBのそれと違っているのでドライバーがインストールできない。おかしいなと、一旦ケーブルを抜いてデバイスマネージャから不明なデバイスが自動的に消えるのを待って再度差し直すと今度は不思議なことにちゃんとCypressのデバイス名が出てきてデバイスウィザードが起動してドライバを導入する画面になった。あとはインストールしたEZ-USB開発キットのディレクトリ配下にあるCypress\USB\driversを指定してどんどん進めればドライバのインストールは完了。EZ-USB Control Panelを立ち上げれば説明にあるような表示画面が出た。 おそらく最初EEPROMが未初期化状態なので、初回電源が入った際にそれをデフォルトの内容に初期化するのではないかと思われる。そのため最初ベンダーIDやプロダクトIDが0とかになってしまったと思われる。 さてあとはロジアナ基板を作るだけだ。 |
webadm | 投稿日時: 2006-6-1 13:28 |
Webmaster 登録日: 2004-11-7 居住地: 投稿: 3107 |
ロジアナ基板も完成 一番ハードルが高いのがPBSRAMのフラットパッケージの半田付け。
最初両面テープで貼り付けてあるチップを剥がすのだが、そのときに勢い余ってチップがどっかに飛んで行ってしまった。 足下に落ちていたので拾って基板の上に位置決めのために載せてみて全部の足の位置を確認しようと見ていったら、一部足が無い。 飛んで落ちた際に足が3本ほど折れ曲がっていた。足を折ったり曲げたりしないようにするのが今回の作業の前提だが、これが早くも崩れた。半泣きになりながら、慎重にルーペとピンセットを使って足を元の状態に戻す。 少しへこんでしまっているが何とか半田付けするには問題ない状態になった。 あとはWebの説明にあるとおりに仮半田して各片を半田付けしていく。どうもあまりランドには半田は載っていないようなので、少しキット付属の極細糸半田で継ぎ足して足をぎゅうとコテ先で押す感じにすると全体に半田が載る。慣れれば簡単である。 少し半田を使いすぎな感じもあるが付いているかいないか分からないのは心配なのでそれだけは無いと確信できる。あとはブリッジとかないか丹念に裏から光りをあててルーペで確認。これも大丈夫。 あとは残りの部品を半田付けするだけ。ここで問題が発生。22Wの半田ごてだとべたGNDとかに半田付けする際に熱が逃げてしまい半田が溶けない。こういう時に高価だがプロ用の温度制御月付きの半田ごてが欲しいところ。そんなものはあるはずもなく。しかたなく少しワット数の大きいのでさっと処理。3秒以上熱すると部品が劣化する可能性があるので迅速に。 昔Cyrix486の換装がはやったころ誰かが半田付けして動かないというのを調べたことがある。どうも工作用のワット数の大きい半田ごてを使ったようでかなり基板が熱で変性していた。しかたなくチップを取り出して導通とかをチェックしてみたところ、驚くことにほとんど導通が無い。チップ内部のボンディングワイヤーすらも熱で断線してしまっていたようだ。知らないということは本当に怖い。仮にもその哀れな人は有名な半導体商社の社員だったりで、頭が痛かった。 べたグランドとかがあるプリント基板の手半田をするときはやはり業務用の温度制御付きの半田ごてが必要だと痛感。確か数万円ぐらいしたはず。 それとチップ部品は間違って付けてしまうと、もう外すのが困難である。すべての半田付け部分を溶かさないと部品が動かない。少なくとも半田吸い取り機とかで付いている半田の量を減らさないとなかなかそれも難しい。 よくジャンク基板からの部品取りとかは基板そのものを熱して半田が全部溶融した状態で基板をたたいて部品を落とすという荒技を使うこともあるらしい。あとバーナーで一部の部品の半田付け部分だけ短時間高熱で熱してさっと取ってしまうとか。 話を元に戻すと、最後集合抵抗が残った。これも一カ所仮半田付けして部品を固定したあと全部の足を半田付けする方法で困難もなくできた。 最後は動作チェック。その前にカメレオンUSB上のCPLDにロジアナ用のデザインを書き込む必要がある。これはロジアナ基板とつなぐ前にやる必要がある。cusbwr.exeというカメレオンUSB用のCPLDライターソフトとロジアナのJEDICファイルをオプティマイズのサイトからダウンロードして実行。すると今までCypressのAN2135とかいう名前だったデバイスがCypress Sampleとかいう名前に変わってドライバーをインストールする画面が現れた。これは普通に自動的に検索するを選ぶだけであとは自動的に対応するドライバーがインストールされた。その後でCPLDライターがデザインをダウンロードする表示が現れてそんなに時間かからずに成功完了。 あとはロジアナ基板とカメレオンUSB基板を合体すればできあがり。 再度ケーブルを挿して、今度はあらかじめダウンロードしておいたオプティマイズのロジアナコントロールソフトを使って動作チェックをすることに。カメレオンUSBのコネクタから24MHzのクロックが出ているピンがあるのでそれをロジアナのプローブのテスト入力として各プローブピン(32本)をロジアナでサンプリングしてチェックする。クロック波形が該当するプローブピンに現れればOKである。32本全部問題なかった。 開発元オリジナルのロジアナコントロールソフトは味もそっけもないが、少し改良した版を公開している人がいるらしくそちらもダウンロードして試してみた。 こちらはだいぶロジアナらしい操作性。タイムスケールもマウスのスクロールボタンで拡大縮小できる。でもちょっと表示されている信号数が少ないような気も。オプティマイズのオリジナルのロジアナコントロールソフトはソースコードが公開されているのでそれをベースに改良したものらしいが、こちらはソースコードは非公開。良くできているだけにちょっと残念である。 あとは暇を見てプローブケーブルを作ることにしよう。 |
webadm | 投稿日時: 2006-6-1 20:37 |
Webmaster 登録日: 2004-11-7 居住地: 投稿: 3107 |
ロジアナ完成 あらかじめ買い置きしてあった浅草ギ研の信号伝達コネクタとICクリップをケーブルでつないでプローブケーブルを作成。
なかなか良い感じ。 さっそく拙作プログラミングケーブルを自作FLEX10K基板につないでMITOUJTAGトラ技評価版でのIDCODE読み出しの動作を観測してみることに。その際にロジアナで観測する信号とかは右クリックメニューで任意に追加や削除それに名前の変更とかができることを発見。かなり使い易い。 ちょっと見た限りではIRの内容をIDCODE読み出しコードにupdateしてIDCODEレジスタをスキャンしている様子が見てとれる。 これはなかなか使えそうだ。 |
webadm | 投稿日時: 2006-6-4 3:27 |
Webmaster 登録日: 2004-11-7 居住地: 投稿: 3107 |
JTAG IRスキャンがうまくいかないときをロジアナで観測 拙作のプログラミングケーブルは時々JTAGでエラーが出ることがあります。
得にIRスキャンでエラーが出ます。IRスキャンがエラーでもMIROUJTAGトラ技評価版は決め打ちのIR長でIDCODE命令をセットするのでIDCODE単独のスキャンはできたりします。 IRスキャンで時たまエラーを起こすので、繰り返しIRスキャンを行わせて失敗した時と成功したときのロジアナの波形を比較してみることに。 上が失敗した時、下が正常の時。正常ならIRデフォルト値としてLSBから順に1010101010の10bitがTDOに出てくるのが観測されます。失敗時にはどうやら最初と最後がうまくデータが出てきていないようだ。原因としてはTCKの立ち下がりでのIRシフト動作が時々抜けていることが想像される。基本的にはTCKの波形の品質によるものだろう。 MITOUJTAGトラ技評価版はMAXII CPLD基板に特化しているのでIRスキャンもMAXIIの固有値が出てくるのをチェックしているだけで汎用的なIR長検査とかはしてないようだ。なので10bit繰り出させてその内容が期待しているパターンと合致していれかだけチェックしている。 MAX+PLUS IIやQuartus IIそれにJam STAPL Playerなどは汎用なのでIRに1を繰り入れてそれを読み出してレジスタ長を知る操作をしているので大変長い処理になる。100MHzのサンプルだと観測できる時間は限られるので少し間引きしないと全部入りきらない。それにソフト処理が入るので間が開いてしまう。 一連のJTAG操作のシーケンス中で途中だけ観測したい場合には単純なトリガーではだめで、時間軸上で現れるシリアルパターンでマッチングをとらないとだめだ。 |
webadm | 投稿日時: 2006-6-4 3:49 |
Webmaster 登録日: 2004-11-7 居住地: 投稿: 3107 |
IDCODEスキャン時の波形 FLEX10K10のIDCODEを読み出した時の波形は以下の通り。
LSBからMSBの方向に32bitのデバイスIDコードが繰り出されてきている。 |
webadm | 投稿日時: 2006-9-6 5:55 |
Webmaster 登録日: 2004-11-7 居住地: 投稿: 3107 |
トリガPOSITIONって意味があるのだろうか 今になって気づいたのだが、カメレオンUSB+ロジアナのソフトでトリガPOINTがTOP/CENTER/LASTを選択できるのだが、どれを選択しても共通してトリガポイント以降の信号しかサンプルされていない。Coolrunner-IIに万年時計のデザインをダウンロードして動作確認に使った時に初めて気づいた。
普通はトリガ発生するまではずっとサンプルし続けていてトリガがかかってからどれくら継続してサンプルするかの違いだと思っていたのだが違うようだ。 もう一度オプティマイズのWebの説明を見ると、どうやらトリガがかかってからサンプルを始めるようでその長さが違うようだ。 だめじゃん(´Д`;) CPLDのデザインソースを調べてみないと確証はないが、MyLa.exeを使っても同じ結果なのでたぶん間違いないだろう。 ソフト側の問題だとするとやっかいだな。普段使っているMyLa.exeのソースは非公開だ。 そういうものだと割り切ってこないだ買ったHPのロジアナを使うしかないのかも。安くて小さくて簡単でいいんだけどねカメレオンUSB+ロジアナは。 |
webadm | 投稿日時: 2006-9-10 2:13 |
Webmaster 登録日: 2004-11-7 居住地: 投稿: 3107 |
RTLソースを見てみた カメレオンUSB+ロジアナ用のISEデザインプロジェクトをオプティマイズのサイトからダウンロードして中のVHDLソースを見てみた。
見てみたところで入出力仕様とかドキュメントがあるわけでもなくタイミングチャートも無いので途方に暮れる。 VHDLソースを読んでリバースエンジニアリングするしかない。 昔本職のLSI設計者の人が言っていた「他人の書いたRTLの動作を調べるにはシミュレーターで動かして波形を見るの一番」というのを思い出した。当時はシミュレーターを使える立場でもなかったのでしかたなく机上でVHDLソースを追っかけていたが確かに正確さには欠けるし大海の荒波に飲まれるのがおちだった。 ソフトウェアの場合には性質上モジュール単体で動作させるというのがやっかいということもあってもっぱら机上で読むのが一番。なにぶんやっていることはメモリとデータの操作が主体なので時間軸上でどうのこうのというのは関係ない。最後にどうなるかが問題だしハードウェアよりはかなり読むのが易しい。 今回はシミュレーターを使ってカメレオンUSBのロジアナのデザインの動作を調べてみることにする。 とりあえずOSC_CLKに100MHzのクロックを入れておけばいいのだろうとテストベンチを作成。 早速動かしてみるとRAM_CLK以外は波形が変化しない。サンプリングを開始するには別の入力信号を与える必要がありそうだ。見るとST_STPというのがある。これをHに固定してやってみるとRAM_ADDがカウントアップし始めた。どうやらこれでサンプル開始らしい。 あとはトリガー条件を与える。デフォルトではPROBE00の立ち上がりなので適当なところでPROBE00をHに立ち上げておく。それでずっとシミュレーションを続けるとRAM_ADDが0でサンプリングが停止するのが確認できた。 VHDLのソースを見る限りトリガー条件が成立するまではRAMに再クリックにサンプルデータを格納しているので本来であればトリガーPOSITIONがCENTERやLASTであればトリガー位置より以前のサンプルデータも読み出して表示されるべきである。トリガー後継続してサンプルする長さはトリガーPOSITION設定によって変わるようになっている。 CPLDとしてはそれができるようになっていることはシミュレーションで確認できた。あとはRAMを読み出しているカメレオンUSBのファームウェアかWindows上のロジアナソフトの問題ということになる。 ひとつデザイン上で気になるのがサンプリングをST_STPをLにすることで停止させた場合、RAM_ADDも0リセットされてしまい最後RAMのどまで書いたのかわからなくなってしまう点である。マニュアルでサンプルを停止させた場合には問題なような気がする。 よく見えないけどトリガー発生後にマニュアル停止した場合の波形。RAM_ADDが0リセットされているので最後に書き込まれたアドレスがどこだかわからなくなるという証拠。 |
webadm | 投稿日時: 2006-9-10 4:55 |
Webmaster 登録日: 2004-11-7 居住地: 投稿: 3107 |
ロジアナのデザインの改良 すこし問題があるオリジナルのデザインを改良してマニュアル停止してもトリガポイント以前のサンプルデータも正しく表示できるようにすることは可能である。
まだリソースに余裕があれば、内部にレジスタを追加しST_STPとRAM_ADDのリセットを別にもうけて、それぞれH_WRとH_MODEでセットおよびリセットができるようにするというもの。これならOSC_CLKと同期もとれる。 反面ソフトウェアを修正してそれらの変更を反映した操作を行うようにしないといけない。 Cypressのファームウェアも独特でピンとこないがこちらはアプリケーションの指図に従っているだけなので変更する必要はないかも。 アプリケーションの方のソースを見るとなにやらbad_dataを0クリアとかしているのでこの変がもともと怪しいのかもしれない。どうやってもトリガーポイントから以前のサンプルデータが0にリセットされているのはおかしい。 |
(1) 2 » |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |