ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
Main Menu
Tweet
Facebook
Line
:-?
« 1 2 3 (4) 5 6 7 8 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
webadm
投稿日時: 2006-5-25 21:19
Webmaster
登録日: 2004-11-7
居住地:
投稿: 3084
なんとか5vのFLEX10KでもJTAGが使えるようにできた
TCKの波形が平べったいのはVcc側のトランジスタが完全にONしてないわけだが、他にもよく考えたらベース電流を多く流せば更にON状態に近くなるはず。

そこで一番上のトランジスタのベース電流制限抵抗を22Kから思い切って1Kに変えてみたところ波形が少し高くなった。それでもJTAGの状況は変わらず。

更に波形が高くなるように出力イネーブルのトランジスタのベースバイアス電源をターゲットVccから直接とることにした。これは厳密には常時出力イネーブルになることを意味するので厳密には互換性が失われるが、TCKだけなのでJTAGとPSでは問題無い。

あと以前つけていたTCK出力側の300pコンデンサはつけているとかえって良くないらしく取り外すと安定してどのツールでもJTAGが使えるようになってくれた。

下の写真は変更した拙作のインチキケーブルで万年時計をコンフィグレーションしたところ。この状態でMITOUJTAGトラ技評価版でバウンダリスキャン可能だ。LEDのコモンイネーブルの信号がスライディングしながらLになっているのがわかる。



今回の誤算の源はPCのプリンター出力レベルがfull swingではなかったという点にあった。入力がfull swingならすべてのトランジスタが確実にON/OFFになるのだが。

やはり確実なのはMOS FETを使えということだろう。

とりあえず変更した回路図はRev1.1として公開する予定。
webadm
投稿日時: 2006-5-26 2:08
Webmaster
登録日: 2004-11-7
居住地:
投稿: 3084
ARM EVALUATOR7TもJTAGできるようになった
以前はIDCODEが正しく読めなかったARM EVALUATOR7Tで改良したケーブルで再度試してみた。

結果は、正常に読めるようになった。

以下はJam STAPL PlayerのIDCODE実行結果。

引用:

Chain Continuity during IR is not stuck at zero or one
******************************************************************************
Chain Length -- Load IR of all ones then count DR length
Number of Devices is 1
******************************************************************************
IR Length Calculator
Instruction Register Length is 4
******************************************************************************
IDCODE Reader
---------- | ---- ------------------- ------------- - |
TDO -> TDI | Rev Device Mfgr 1 |
---------- | ---- ------------------- ------------- - |
Device #1 | 0001 1111 0000 1111 0000 1111 0000 111 1 |
---------- | ---- ------------------- ------------- - |
******************************************************************************
Device Identifier -- Search for device name from list of device IDCODE values
---------- | ------------------- ------------- |
TDO -> TDI | Device Mfgr |
---------- | ------------------- ------------- |
Device #1 | Unknown IDCODE |
---------- | ------------------- ------------- - |
******************************************************************************
Exit code = 0... Success


IR長が4だそうだ。IDCODEは搭載されているARM CPUチップのデータシートに載っているBSDLファイル内容から1F0F0F0Fであっている。

Quartus IIのAuto Detectでも1F0F0F0Fと出るので正常だ。



MAX+PLUS IIにはAutoDetect機能は無いがIR長を検出して表示してくれる。これがうまくいけばJTAGとしての動作はOK。



これもよしと。

ところがMITOUJTAGトラ技評価版だと正常な値が読み出せない。やはりデリケートだ。

以前も問題なくIDCODEが読めたAEB1の方は今回もMITOUJTAGも含めてすべてのツールでIDCODEが正しく読めた。
webadm
投稿日時: 2006-5-30 20:42
Webmaster
登録日: 2004-11-7
居住地:
投稿: 3084
2SC1815はまずかったのか
日曜日に書店でなにげなく古いトラ技のバックナンバーの背表紙を眺めていたら、「トランジスタで学ぶディジタル回路」というのが目にとまった。

ちらっと立ち読みしてみると、慟哭の内容が書かれていた。

どうやら2SC1815では高速なスイッチングには致命的に無理があるらしく高周波用の別のトランジスタを使うのが賢明だとか。

確かに波形の立ち上がりは緩慢だよね。

それでもなんとか5v動作時には3vを超える出力が出ているから実力ぎりぎりなのかも。ばらつきによっては動かない時も出てくるかな。

トランジスタを高周波用に変えればもっとましになるということか。

結局その日はその年のトラ技のCDROM版を購入。高い買い物になってしまった。
webadm
投稿日時: 2006-5-31 2:45
Webmaster
登録日: 2004-11-7
居住地:
投稿: 3084
別に2SC1815でもよいのか
トラ技の記事をよく読んだら、NAND回路を構成する際に入力のマルチエミッタトランジスターの代わりにベース接地回路を組んでいる部分が問題らしい。エミッターを入力にしているのでH入力の際に出力のコレクター側へ電流が逆流するらしい。

拙作の回路ではそんなものは無いので別段問題ない。問題は一部のトランジスタが完全にONにならない点だけだ。これも今考えればトランジスタをパラにつなぐとかすればVceは半分に減るのかなとか唐突もないアイデアが出てきたりする。

あきらめずに考えれば答えは得られるのかもしれない。

MOS FETは壊れやすいのでALTERAの純正Byteblaster IIも動作環境が悪いとすぐ壊れるらしい。拙作のケーブルがなんとか使い物になるようになったので虎の子の純正品は大事にしまっておこう。
webadm
投稿日時: 2006-6-5 4:43
Webmaster
登録日: 2004-11-7
居住地:
投稿: 3084
MITOUJTAGトラ技評価版でARM7TのIDCODEがだめなわけ
引用:

ところがMITOUJTAGトラ技評価版だと正常な値が読み出せない。やはりデリケートだ。


こないだロジアナでMITOUJTAGトラ技評価版でtap resetを実行した際の波形を観測したところ、リセットだけでなくIDCODEレジスタのスキャンも行っていることを思い出した。

JTAGの規格ではTAP resetを行うとデフォルトのIR内容はデバイス固有のIDCODE命令に初期化される。なのでtap reset後にレジスタをスキャンすればIRをセットしなくてもIDCODEが読み出すことができる。



実際にtap reset時の波形を観測してみると、ちゃんと1F0F0F0Fが読み出されているのが見てとれる(LSBから出てくるので逆から読む必要がある)。

MITOUJTAGトラ技評価版はEPM240T100に特化しているのでIR長は10bit決め打ち、IRにセットする命令コードもMAXII固有のものであるため偶然でもない限り意図した結果は得られない。

とするとAEB1の場合は偶然が重なったということか。あれもIR長は4bitだけど。
webadm
投稿日時: 2006-6-6 3:21
Webmaster
登録日: 2004-11-7
居住地:
投稿: 3084
AEB1のIDCODE
部屋の中から埃をかぶったARM EVALUATION BOARD(AEB1)のCD-ROMを発見。

さっそくCD-ROMに収録されているLH77790A/B User's Guideを見ると、そこにはJTAGのIDCODEは0x17601061と書いてある。実際には0x27790061なのだがこれはどうしたことか。

実は別途Webで検索して最新のLH77790B User's Guideをダウンロードしてあったのでそれを見てみると、LH77790BのIDCODEは0x27790061と書いてあった。

思うにAEB1付属のLH77790A/B User's Guideはファイル名からして77790aug.pdfなので内容はLH77790Aそのものではないだろうか。タイトルを一部内容を急いでA/B両用にしたもののJTAGのところまでは気が回らなかったということらしい。現在はLH77790Bしか無いのでこれはこれで正しいことになる。

しかし同じARM7TDMIコアを使ってもJTAGに関しては同じ動きにならないのはライセンスされているCPUコアの違いからだろうか。ARMには論理合成可能なソフト版とそうではないハードマクロ版があるのでその違いかもしれない。
webadm
投稿日時: 2006-6-10 12:33
Webmaster
登録日: 2004-11-7
居住地:
投稿: 3084
Byteblaster IIのパチもの発見
たまたま検索で見つけたByteblaster IIのコンパチ品。

ISProgrammer2

Amboy Technologyというところの製品。外観もそっくり。
他にもISPorgrammerという名前でBytebalster/Byteblaster MVコンパチ品やUSB-Blaster 100%互換品まである。値段は純正の半分で100%コンパチというのが売りみたいだ。これだけで会社が成り立つっているのか。

古いバージョンのMAX+PLUS IIをそのまま使っているところでは、もうALTERAはByteblaster/Byteblaster IIを廃品にしてしまったのでまだ売れているのかも。

オリジナルと違ってターゲットケーブルの両端が10pinソケットコネクタになっていて取り外して、カスタムのばらけたケーブルとかを使うことも可能だということ。これは拙作のケーブルと同じだ。そうすれば汎用のJTAGケーブルとしても使えるしね。

あともうひとつ、廉価版Byteblaster IIコンパチケーブル。

X-Blaster

こちらはコスト削減最優先のためにコネクタハウジングは無し。ドキュメントもALTERAのものを見てくれという徹底ぶり。ただし1.5vはめったに使われないということでサポートしていないようなので100%コンパチではないが、$40! ここは他にもブレッドボードに挿して使えるCyclone II DIPモジュール基板も売っている。こちらもおもしろそうだ。

FIM-EP2C5

モジュールと一緒に買うとケーブルは半額におまけしてくれるらしく$100+$20らしい。これで商売になるのだろうか?
webadm
投稿日時: 2006-7-9 3:51
Webmaster
登録日: 2004-11-7
居住地:
投稿: 3084
2.5vでも使える
念願の実験用可変電圧電流安定化電源を手にいれたので拙作のプログラミングケーブルの2.5v動作を確認してみることにした。

確かMAXIIは2.5vでも動作するはずとデータブックを確認したら合っていた。MAXIIは内部コアは1.8v動作で外部電圧が3.3vや2.5vから1.8vを供給するレギュレータが内蔵されている。

さっそく安定化電源の出力電圧を2.5vに設定しトラ技付録基板の3.3v電源端子に接続。

まずはMITOUJTAGトラ技評価版からテスト。むむ、IDCODEが読み出せない、全部0だ。3.3vにしても同じ。そんなばかなと確認したらプログラミングケーブルのGNDピンを接続するのを忘れていた。だいぶ使っていなかったので使い方をすっかり忘れていた。

ちゃんとつないで再度2.5vでテストすると今度は正常にIDCODEが読み出せた。サンプリングも問題なし、ロジアナ機能も問題なし。

Quartus IIも試してみた、自動検出も問題なし、プログラミングも問題なし。

JAG STAPL playerでIDCODEを試す、こちらも問題なくEPM240として認識される。

なんだ2.5vでも使えるじゃないか。

調子にのって1.8vにしてみる。

JAM STAPLE playerは問題なし( ´゚д゚`)えーーー

Quartus IIも問題なし、なんですと

MITOUJTAGトラ技評価版、IDCODE正常に読み出せず、IRスキャンもできていない模様。

たぶん出力方向は問題ないにしても、入力方向がレベルが足りないと思われる。JAMもQuartusも十分長いパルスなのでなんとかひっかかっているのかも。

これは今後改善できる見通し。
webadm
投稿日時: 2006-7-15 20:27
Webmaster
登録日: 2004-11-7
居住地:
投稿: 3084
デジタルオシロで波形を見てみた
アナログオシロだとかなり掃引周波数を早くするとうっすらしか見えなかった波形がデジタルオシロだとはっきり見えるのが良い。

アナログオシロでも観測されていた立ち下がり時に階段ができる現象もデジタルオシロで確認できた。

今度はカーソルリードアウト機能で電位も測定できるので楽だ。それにぽんこつアナログオシロのように電源入れてしばらくするまでは輝線の垂直位置が安定しないということもデジタルオシロにはない。デジタルオシロだと電源投入時に自動校正してくれるのでぴったりGNDレベルとグリッドが一致してくれる。測定が楽になった。

デジタルオシロにも拡大掃引機能があるのでもっと詳しく見たい場所を10倍の掃引速度に拡大できる。問題の階段付近を見ると2.1v付近の状態がしばらく続いてやがてLowレベルに落ちる。これが5v動作時の不安定要因に違いない。

冬場と違って今は室温が30度を超えるのでトランジスタも少しON側に動作点が偏っているので今は誤動作を再現することができない。これが冬場の10度ぐらいの室温だと階段付近の電位が2vを割る時があるのかもしれない。

いずれにしても立ち上がりと立ち下がりでスイッチング特性が異なるので段差がどうしてもできてしまう。MOS FETを使えばどちらも問題なくなると思われる。
webadm
投稿日時: 2006-7-18 0:57
Webmaster
登録日: 2004-11-7
居住地:
投稿: 3084
MITOUJTAGでMAX IIの1.8v動作が不可な問題
可変出力安定化電源を使用してトラ技MAX II基板を使って3.3v動作以外に2.5vと1.8v動作を実験的に確認して見た結果。MAX+PLUS IIやQuartus IIでは1.8v動作でも問題ないのにMITOUJTAGトラ技評価版は1.8vでは正常に動作しなかった。

原因は拙作プログラミングケーブルのターゲットからPC方向のバッファの出力レベルがターゲット電圧に比例して下がってしまうということにある。1.8v動作時にIDCODEを読み出すとMITOUJTAGは所々は1だが1であるべきビットが0となったような値を表示する。

MAX+PLUS IIやQuartus IIと違うのはおそらくサンプリングタイミングが少し立ち上がりか立ち下がり側にずれているためであると思われる。レベルが少し足らないのでPC上のIOポートで1と読み出せるまで少し遅れが生じ、MITOUJTAGは1になる前のタイミングで読んでしまっているように見える。

純正のByteBlaster IIを使えばMITOUJTAGトラ技評価版も1.8vで問題なく使用できるのでそれで間違いないだろう。

ちなみにMAX IIは規定の電源電圧から徐々に電圧を下げていくと1.2vまでは実力で動作し続けるようだ。これを使えば1.2v対応の確認もできそうである。

拙作のプログラミングケーブルも出力信号については段差が出来る以外は問題ないので、今度は入力信号バッファについて改良する必要がありそうである。
« 1 2 3 (4) 5 6 7 8 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
ページ変換(Google Translation)
サイト内検索