ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
Main Menu
Tweet
Facebook
Line
:-?
スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
webadm
投稿日時: 2006-5-3 22:51
Webmaster
登録日: 2004-11-7
居住地:
投稿: 3107
トラ技CPLD基板キットを使ってみた結果
どうにも拙作のインチキケーブルの結果報告ではこころもとないので純正のトラ技CPLD基板キットを使ってみることにした。

とりあえずキット付属のパラレルポートケーブルを作成。フラットケーブルを25ピン分ストレートにDsubコネクタをハンダ付けすればいいのだが、これがなかなか難しい。本職なら一本一本ハンダ付けした所を熱収縮チューブで絶縁保護するところだが本職ではないしキットにはそんなものは付属していないのでよしとしよう。昔やったときよりも大分ハンダ付けは綺麗にあがった。

やはり途中2本ほど付け間違えてしまってやり直した。最後の方だったのでよかったが最初の方で間違えるとほぼ全部付け直しになるので大変なことになるところだった。

最後はコネクタのハウジングを取り付けるだけだが、そこでも罠がまっていた。4つ謎の金具が余ってしまった。長考の末それは座金であることが判明。コネクタをソケットに挿して締め付ける時のネジの座金である。これがないと締め付けてハウジングが壊れてしまう可能性がある。



完成したので早速トラ技CPLD基板とPCを繋いでみる。しかし意外に短いことに気づく。



なんとか届くのでつないでQuartus IIやMITOUJTAGの動作を確認してみた。Quartus IIはさすがに問題ない。MITOUJTAGはやはりというか起動してすぐfree runしてもピンの状態は未調査のまま変化無し。



一旦free runを停止してロジアナ機能を使ってみると初めてそれらしきパターンが現れた。全IOピンが出力でゆっくりとON/OFFを繰り返している。これなら実際のタイミングと一致している。これが正しくて拙作にインチキケーブルでの結果は単純に誤サンプリングだらけだったということになる。



一旦ロジアナ機能を終了して、再度free runを押してみると今度は何故かちゃんと全IOピンがチカチカするようになった。拙作のインチキケーブルの時は一部が未調査とかのままだったが、今度は未調査のピンは皆無。よく見るとJTAGケーブルがByteblaster MVと表示されている、拙作のはByteblaster IIと表示されたのでちゃんと識別しているらしい。



拙作のインチキケーブルではエラーが出て使えなかった他の機能も問題無く使えることが判明。特にプログラミング機能も大丈夫だった。試しにトラ技付録のLED1.pofを指定して書き込んで見ると問題無く成功。でもやはり直後のfree runは全IOピン未調査のままなのは相変わらず。ロジアナ機能を使ってみると、やはりインチキケーブルの時とは違って、全IOピンが出力でIO1のみが常時1を出力他は0を出力という具合で合っている。これが正解らしい。



再びロジアナを閉じて、free runしてみると今度は全IOピン出力でIO1のみ1他は0という具合に表示されるようになった。こういうものなのかもしれない。




おまけとして、マウスのスクロールボタンをグリグリするとMITOUJTAGの表示がだんだんと領域外に逃げていってしまいしまいにはどっかへ行ってスクロールバーを動かしても見つからなくなってしまう。この状態でMITOUJTAGを終了させると以下の様に異常終了してしまう。まだこういうバグを残してあるのか。もう一度再現しようと思ったらなかなか今度は起きない。再現するのに条件があるようだ。



ということでこれをお手本に、同じ結果が得られように拙作のケーブルの問題解決にあたるようにしよう。
webadm
投稿日時: 2006-5-4 1:48
Webmaster
登録日: 2004-11-7
居住地:
投稿: 3107
SAMPLE&PRELOAD operation
MITOUJTAG起動直後にfree runしてもIOピンの状態が更新されないバグがあると書いたが。どうやらバグではない可能性が浮上。

起動してSAMPLE & PRELOAD operationというボタンを押すとIOピンの状態が更新されることを発見。これはどうやらone timeのバウンダリスキャンをする機能のようだ。一度これをやった後はfree runがうまく機能することも確認。

どうやらstart free runでは既に他の手段(SAMPLE & PRELOADかロジアナのサンプリング)でバウンダリスキャンを行っていないとまったく機能しないらしい。そういう仕様なのかバグなのかは謎。

普通は最初にstart free run押したら自動的にバウンダリスキャンして表示更新して欲しいと思うのだがいかがだろうか。
webadm
投稿日時: 2007-1-1 19:36
Webmaster
登録日: 2004-11-7
居住地:
投稿: 3107
どうやら壊してしまったらしい
年明けにI2CRAMのデザインを書き込んで使おうとしたらverifyでエラーが出てしまうことが発覚。

プログラミングケーブルを換えても現象は変わらない。

Erase自身は出来ているようだが書き込みがまったく出来ないようだ。トラ技付録のMITOUJTAG評価版ではエラーが出ないようだがこれはVerifyをしていないので(画面には書き込み後VerifyのチェックボックスがONになっているがその機能は評価版では備わっていないので注意)デバイスが壊れていてもわからない。Quartus IIは必ず書き込み後はVerifyを行うため発覚した。

思い当たることと言えば昨年自作のプログラミングケーブルの低電圧動作を確認するのにこの基板を使ったのだが、コア電圧の1.8vよりも電源電圧を下げてどこまで動作するか実験したのがまずかったかもしれない。

MAX-IIは内部にコア電圧1.8vのレギュレーターを内蔵しておりあくまで外部からの電源電圧は3.3vが定格。それ以下では動作する保証は無いが実際にはコア電圧1.8vまでは問題なく動作した。それよりも更に電源電圧を下げると内部のオシレーターの発信周波数が低下するらしくそれによって書き込みも失敗するようになる。

どうやらそれが良くなかったらしく内部のフラッシュメモリに致命的なダメージを与えてしまった可能性が高い。

虎の子のMAX II基板がお釈迦になってしまった。なかなか小さくて役だってくれたのに残念である。くれぐれも電源電圧は定格内で使用するように今後は気をつけよう。

そういえばヤフオクでMAX II基板が売りに出ていたような記憶が。
webadm
投稿日時: 2007-1-1 19:47
Webmaster
登録日: 2004-11-7
居住地:
投稿: 3107
と思ったら生き返った
何度かEraseをしたのが良かったのかちゃんとblankチェックでもエラーが出なくなった。

試しにautosigを書き込んで見るとverifyエラーも出ない。と思ったらQuartus II 6.1だとVerifyにチェックをしないとProgrammingだけではVerifyはしなくなったようだ。5.1の時は無条件にProgrammingをするとVerifyが行われていたのだが。

ちゃんと再びLEDチカチカが動くようになった。

これでI2CRAMのデザインを書き込んで使えそう。
webadm
投稿日時: 2007-1-2 19:24
Webmaster
登録日: 2004-11-7
居住地:
投稿: 3107
またしても謎が
どうやらQuartus II 6.1ではどうやっても書き込みも消去もできなくなってしまった。

UI上は確かにうまくいっているように見えるのだが。

嘘だろうと思ってMAX II基板の電源を切ってやってみた...

なにもエラーが出ない...

これはさすがにまずいだろう。

試しにQuartus II 5.2sp2でやってみたらちゃんとエラーが出る。

明らかに6.1でプログラミングツールが変わっている。エラーを出さなくなったのだろうか。JTAGの具合が悪いと出まくるからね。

知らなかったが5.2sp2でも実際にプログラミングすると書き換わるのは内部のフラッシュメモリだけでプログラミングによって再コンフィグレーションがされるわけではないようだ。

EraseしようとProgrammingしようとCPLDが再コンフィグレーションされるわけではないようだ。電源を再投入すると書き込んだデザインでコンフィグレーションがはじめて行われるということだった。

たぶん組み込み機器とかで稼働中のままデザインをアップデートして次ぎの電源再投入の再に反映という特徴を生かすためだろう。

MITOUJTAGトラ技評価版はその点プログラミングすると再コンフィグレーションもかかるのでわかりやすい。

しばらくはMITOUJTAGトラ技評価版を書き込みツールとして利用させて頂きます。
webadm
投稿日時: 2007-1-25 3:48
Webmaster
登録日: 2004-11-7
居住地:
投稿: 3107
初めての応用
今まで自作のプログラミングケーブルの実験台にしか使っていなかったトラ技付録のCPLD基板の初めての応用。



まだ世に出ていないI2Cインターフェースのセンサーを模擬するVHDLデザインをFPGAインフォーメーションさんのI2C free IPをベースに作成し本体制御基板と接続するケーブルやロジアナ、オシロ接続用のピンを載せた蛇の目基板に搭載したもの。

波形とか観測してみてわかったのはAlteraのMAX IIは100MHz以上で動作するだけに波形のキレが鋭すぎるということ。slew rateとか制御できないので立ち上がりと立ち下がりはすごいリンギングが観測される。オーバーシュートはI/O電源の3.3vを遙かにこえて5.5vぐらいまで飛び出ている。

なので本体制御基板が時々誤動作したりしてはいけないのでI2C以外の出力信号には1Kのシリーズ抵抗を入れてダンピングする必要があった。それで本体側を観測するとオーバーシュートは皆無となった。本体との間にダイオードクランプが入ってないレベル変換ICが入っているのも一因だけど。

それとプログラミングが時々うまくいかないのは24MHzのクロックオシレータを付けているせいかもしれないということが判明。Quartus II自体からのプログラミングはMAXシリーズのインシステムプログラミングを使用するチェックボックスを外せばプログラミング後に再コンフィグレーションが行われる。以前はそうしていたのを忘れていた。

MAX II特有の内蔵の機能はほとんど使ってないが、使えばもっと本物のセンサーデバイスに近くなるかもしれない。

接続用の3Mコネクタには半田付け部分に初めて熱収縮チューブを使用してみた。むき出しになっているのはハウジングを併せて購入したのだが、少ないピン数用のものを間違って買ってしまったので使えなかった(千石電商で買ったのだが、正しいピン数の札がついた箱に入っていたのを何も疑わずに買ったのだが、違うピン数のものが紛れ込んでいたらしいorz、購入する際はレジに持っていく前に実物を良く確認する必要がある)
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

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