最新 RSS

tips@free BLOG

レトロなマイコン、電子工作、PCやフリーソフト関係のTipsと私的備忘録

<前の3件 次の3件>

2012/10/12

[z80]自作Z80 CP/Mマシン(17)

忘れてしまう前にブレッドボードZ80マイコンの全体回路図を書きました、linux(ubuntu 12.04)のgEDAを使っています。回路図(png形式) z80board02.png 修正 2012.10.25

リセットSW、手動クロックSWと8bitのDIP-SWとJP1〜4がありますが、JPはジャンプワイヤーを直接挿し変えてます。

  • JP1 - クロック選択、手動と100Hzのクロックを切り替え。
  • JP2 - CPUのメモリリード選択、読み込み先をRAMかDIP-SW(ROMエミュレーション)に切り替え。
  • JP3 - DIP-SWのROMエミュレーション(メモリリード)か入力ポートの切り替え。
  • JP4 - Data-LEDのデータバス表示か出力ポートの切り替え。

以前ツィートしましたが、FT232RLのBitBangModeを使ったダウンロード回路を作りPCからプログラムを送れるようにしてあり、ソフトウェアシリアル通信でPCと接続しTinyBasicが動いています。 

ダウンロード回路は秋月のUSBシリアル変換モジュール(AE-UM232R)と8bitのシフトレジスタ(74HC164)を使っています。

PCではlinuxのC言語でFT232RLを使ってZ80側に書き込むプログラムを作り、TinyBasicは古典電脳物語のAKI-80用のものを改造しました。 Z80の開発環境はやはりLinuxでz80pack-1.17とHi-Tech Cのアセンブラを使い、CP/Mシミュレータ上でクロス開発です。

お約束のhello world、他にTinyTrek(スタートレックのタイニー版)も動いてます。

参考: Z80に関するエントリ、 動画(ニコニコ)はこちら

2012/03/06

[z80]自作Z80 CP/Mマシン(16)

ブレッドボードZ80マイコン、ダウンロード回路に使う予定のFT232RLは本来USBシリアル変換ICとして大変有名ですが、BitBang Modeを使うと8bitの入出力ポートとして使うことができます、またCBUS BitBang ModeでCBUS0〜CBUS3の4bitも入出力ポートとして使えます。

ただ、BitBang ModeとCBUS BitBangモードは同時には使えず、8+4の計12bitの入出力ポートとしては簡単には使えないようです、、残念。

それからBitBang Mode時の書込み(WR#)と読込み(RD#)のストローブ出力を、CBUS0〜CBUS3に割付けられますのでこちらも試してみます。

作業はubuntu Linux11.10で行いました。 Synapticパッケージマネージャでlibftdi1-devと関連するパッケージをインストールすると、/usr/share/doc/libftdi-dev/examplesに非同期BitBang Modeのサンプルプログラムのソース(bitbang.c)がありますので参考にしてテストプログラムを書きます。

コンパイル・実行はrootで行います。

gcc -o bitbang bitbang.c -lftdi

次に、VirtualBox上のWinXPでFT232の設定ツールのMProgでCBUSピンにWR#とRD#を割り付けます(WR#はCBUS0,CBUS1以外では働かなかった)。

とりあえずLEDをチカチカさせて動作確認後、連続出力させてオシロで波形を確認しました。 出力データは00とFFを交互に計8バイト出力し、データのD0(上段)と書込み信号のWR#(下段)を観測しています。

画像では8byte等間隔に並んでいますが実際には必ずしも等間隔には出力されませんでした。 ソース上では出力するデータ8byte分をバッファに納めftdi_write_data()関数を呼んでいます。 連続で関数の呼び出しすると数ms間(2〜4ms以上?)が空きました、できるだけ1度の呼び出しで出力したほうが良いようです。

次に一部を拡大して観測した画像です、データを出力してから約180ns後に100ns程度のWR#パルスが出ています、ラッチやシフトレジスタの制御に使えそうです。

参考: Z80に関するエントリ、 動画(ニコニコ)はこちら

2012/03/04

[z80]自作Z80 CP/Mマシン(14)

ブレッドボードZ80マイコン、ちょっと配置とジャンプワイヤーを自作の細い物に変えたので、だいぶスッキリしました。

プログラムの入力に毎回DIP-SWパチパチは大変過ぎるので、ダウンロード回路を作るべく実験中。 秋月のFT232RL USBシリアル変換モジュールでBitBangモードを試しています。

参考: Z80に関するエントリ、 動画(ニコニコ)はこちら

<前の3件 次の3件>