ROMライタ
ターゲットROMを差すところを32ピンZIFソケットに置き換えました。こうするとツールとしてきれいにまとまって見えます。PLCCアダプタもこの上に載せればOK。 ところでこのZIFソケット。草色のボディ、レバーの形状といい3MのTEXTOOL(tm)そのも…
ROMライタのハード、ファームはこれで完成としました。新旧のFlashROMライタを並べると幅は同じくらいですが厚みは半分です。これらは同じPC側ホストプログラムで制御できます。 今回のプロジェクトは最終的にケースにも収まって珍しく完成度が高いのですが…
PC上で動作する既存のROMライタホストプログラムは次のようなコマンドを発行します。これを受けて応答を返すようにROMライタ本体のファームウェアのI/Fを変更しました ケースに組み込んだ際、コントローラをPIC16F914からPIC16F1939に差し替えておきました。…
ケースの中にROMライタ基板がきっちり収まりました。 USBコネクタは子基板でケースの内法ギリまで持ってきましたがケースが肉厚のため、口金だけ露出させてもプラグがどうしてもささりません。仕方がないのでプラグそのものが貫通する大穴を開けてコネクタに…
今回作ったフラッシュROMライタ基板は、TLCS-900ボードのモニタROMを焼いてしまったので当初の役目は完了したのですが、せっかく作ったのでツールとして使いやすいようにケースに入れてみることにしました。 ライタ基板は100×50mmで一回り大きいタカチのプラ…
今回、データバッファ用の3.3V動作SRAMに手持ちのTC55V1001を使いました。これは1Mbitなので4MbitのフラッシュROMのどこに割り当てるかという指示が必要になります そのため、DLL(シリアルからSRAMに転送)、LOAD(ROMからSRAMに転送)、PROGRAM(SRAMからR…
ROMライタ基板が一通り動作するようになりました。 ハードも一部改修。ROMの電源制御は意味がなかったのでフォトMOSリレーを抜いて2次側を直結常時通電として1次側を制御していた信号でインジケータのLEDを点灯するようにしました。これでROMをアクセスして…
何故かこういう失敗がよくあります。/RDと/WRとか・・ 今回は連番で並んでいる信号線をよく見ないで上から順番にラベルを付けちゃったみたいです。 問題の個所は19ビットのadrsの値を8ビットづつ分離してPORTA,PORTB,PORTEに出力しているところで void set_a…
rom_poke()という関数はこれを呼べばメモリセルにそのデータが固定されるわけではなくROM内部の制御レジスタに書かれるだけです。本当のプログラムのためには一連のアドレス/データを次々に書き込むコマンドシーケンスを実行することになります。 たとえばチ…
基板上のRAM,ROMをアクセスする関数から作り始めています。PICにプログラミングするICSPコネクタは基板の裏面に設けたのでこんな体勢でデバッグしてます。 メモリの読み込み(peek)、書込み(poke)はこんな感じ。データバスにつながったportDを読み込み時…
基板上のPICにデバッグ用のプログラムをDLLしては各部の動きを少しづつ確認しています。ターゲットのソケットにはPLCCアダプタを介してAm29LV040を仮に載せています 簡単な回路なのですが、いざ動かし始めると設計をミスった所が見えてきたり、コーディング…
フラッシュROMライタ基板を切り出して部品実装はじめました 手持ち在庫だけでほぼ完了。ターゲットのROMは左側のDIP32ピンソケットにさらにZIFソケットを介して載せますが、ターゲットがほぼPLCCパッケージなのでDIP-PLCC変換アダプタ基板を直に載せてもいい…
オートルータの最適化は完了しているのですが細かい部分を手修正しています。とくにラインがこんがらがっているところは部品を移動させたり、多少遠回りさせてみるだけでも劇的に改善する場合があります。 一方、パタンは回路図通り厳密に接続されていますが…
ざっくりと引いたROMライタの回路ですが、細かいところを修正しています。 まずホストとの接続ですがシリアルのDSUBコネクタはさすがにかさばるのでUSBシリアル変換基板に置き換え、さらに電源もバスパワーでもらうことによりDC電源ジャックも廃しました。ま…
普通に5V系と3V系を接続するならば入出力にレベル変換用のバッファを付ければできるはずです。最初はその方向で現状のROMライタに載せるアダプタを考えてました。 DIP32ピンの連結ソケットとPLCC32ピンソケットの間にレベルコンバータが入ってます。 アドレ…
古いCPU相手であれば電源電圧は5Vでだいたい用が足ります。(もっと古いと+12Vとか負電圧が要る場合もありますが)ですがたまにちょっと最近のデバイスをいじろうとするともう3Vや3.3Vが普通なので周辺部品も考えなければなりません。 意外に困るのがROMで動…
現状では書込みサイクルが約18msのため64kbitROM全面書き換えには18ms×8192で約2分30秒かかります。これでも待てる時間ではありますがやはりBUSY状態をポーリングして書込み処理を高速化してみます。 データシートを見ると/BUSYピンの状態を見る以外にも ①デ…
NS揃いにはなりませんが、ROMを準備していたEEPROM:HN58V65Aに換装して動作確認してみます。 EEPROMならばボード上で電気的消去、書込みはできますが一番最初は別のシステムで書込みをしておかなければならないので自作のROMライタにデバイス追加しました。…
アルテラのCPLD書込みボードはEPM7128(PLCC84ピン)の方も正常動作しました。ここは44ピンソケットと排他的でどちらか片方しか差し込めません。あと残りはソケット周りにある信号プローブ用のピンヘッダをつければ完成です
Quartusでまずは回路図入力でコンパイルのテストをしてみました。 4MHzの水晶クロック入力を16ステージのプリスケーラで選択した後、10ステージのバイナリカウンタでLEDをチカチカさせます。 回路図を入力したらそのままコンパイル。最初はピンアサインが適…
CPLD書込みボードに残りの部品を載せてほぼ完成させました。プログラマはUSBブラスターの中国製互換品で600~700円くらいで手にはいる奴です。メーカ純正品だと1万円以上するのにこんなんで大丈夫でしょうか・・ テストクロック源周りの実装状況です。レイ…
まぁ世の中、自分が疑問に思うことはたいてい既に解答が出ているわけで。 ALTERAの商社MACNICAのFAQより。 Ver13とはずいぶん前に切り捨てられてしまっているようです。旧Verをはたしてダウンロードできるかと不安に思いながら再度Intelのサイトに行くと・・…
書き込みボードがだいたいできたのでCPLDの開発環境を用意します。アルテラCPLD用の統合環境QuartusⅡはかなり以前に数回使ったきりで今のPCには入ってないので新たにインストールしてみます。 「Quartus」で検索すると真っ先にリンクされるのがIntelのサイト…
CPLDボードの基板裏面にあるテストクロック源のPICをプログラムします。すでに1/10/100Hzを出力するコードはできているのでこれをダウンロードするだけです。 米粒PIC10F222を自作アダプタにセット、PICKIT3に接続しました。頬を赤らめて困り顔してます。 と…
GAL書き込みが何とか目途がついてきたのでMAX7000CPLDボードの方も着手しました。 仕上がってきた基板を開封しました。今回青レジストにしてます。 84ピンと44ピンのPLCCソケットがついていますがこれはディジーチェーン接続されているわけではなくJTAGはパ…
ホスト側プログラムをデバッガで追っていくと原因が分かりました。現状のプログラムは行の先頭に大文字の「L」があるとその行がヒューズマップと見做してアドレス、データを切り出していました ところがWinCUPLが出力するJEDECファイルには「Location None」…
とりあえず一番きたないチップに以前ispLEVERで作成済だった8ビットUP/DOWNカウンタのJEDECファイルを書き込んだところ、正常に動作しました。デバイスのほうはだいじょうぶみたいです しっかし開発環境が問題。いままで製品同等のツールをアマチュアが無償…
深センの業者に部品を何種類か発注していたのですが、まあこういう時期であるためかあるいは順当なのか1か月くらいかかって無事到着しました。が、部品を取違えています。手配したSOPのSRAM5個が入ってなくて代わりに24ピンDIPのICが20個も・・・それにして…
発注済の基板は確かに出荷されてるのですがシンガポールの交換局から全く動かないので次発注予定のCPLD基板の設計をブラッシュアップしてます 基板上で同じ機能だけど異なるパッケージのものでも付けられるように予備パタンを置くにはどうすればいいか悩んで…
CPLDデバッグボードにはカウンタなどの動作確認をするときのために555をつかった発振器をおいていますが、そういえばGALチェッカを作った時に米粒PICでテストクロック源を用意したのを思い出し、いまになって追加で載せることにしました PIC10F222で1,10,100…