SuperSimpleController(その19)TMS9918Aの接続 その4 [OriginalCPU]
本ブログで画像データが表示されない問題の対策のためにhttps対応のレンタルサーバを借りたり、ブログ内の画像ファイルのリンクを変更する等の作業が終わったのでオリジナルCPUへのビデオプロセッサ(TMS9918)接続について、前回の記事からだいぶ時間が空いてしまいましたが、動作確認状況について少し書いてみます(まだ動いていません^^;)
VDP(TMS9918)とPSG(AY-3-8910)とシリアル(MC68B50)を搭載し、プリント基板化したSimple8VDPSGをオリジナルCPUに載せた状態が下の写真になります(再掲)。
CPU基板では74AS867が結構熱くなるし、VDPSG基板ではTMS9918が結構熱くなります。2枚の基板を接続した際の消費電流は下の写真のように 0.81A 程度になります。
消費電流が大きいため基板上の電源電圧は 4.74V 程度までに低下してしまいます。
因みに基板間はピンヘッダで接続(+5Vはピン1本、GNDはピン2本)ですが基板間の電源電圧差はほとんどありませんでした。
USBコネクタとプリント基板上の電源部分との抵抗値を実測した結果は5V及びグランド共に0.2~0.3Ωでした。
5V動作で1A程度以上の電流が必要なプリント基板についてはUSB給電以外の電源を考えた方がいいかもしれません(当然、基板上の回路の最低電圧値にも依存)
主要部品の電源電圧規格を下表に示します。
下の写真はUSB給電している様子です。
シリアル通信はすぐに動きましたが、VDPの表示がうまく出ませんorz
DRAMのリード&ライトがうまくできていないようです(上位4bitは'1'固定で下位4bitは初期値?)
DRAMの信号をロジアナで確認した結果が下図で、ライトサイクルで WE/ がアクティブになる直前に一瞬 OE/ がアクティブになってしまっています。
※追記 2021/07/11 {
OE/ のタイミング調整用のコンデンサは前々回の記事に書いた回路図のC11の部分です。回路図では150pFとなっていますが100pFを実装してしまっていましたorz
}
OE/ 信号のタイミング調整用のコンデンサを120pF、150pFにした場合のロジアナ波形が下図です。
両者共に上記の問題は解消していますがリードアクセス時間のマージンが大きい 120pF を採用することにしました。
本来ならこのようなアナログ的な調整は極力避けたいのですが、今回は同期回路にするための都合の良い信号が無かった^^;
念のためにDRAMをブレッドボードで評価した際に使用していたものに交換し、画面表示したサンプルが下の写真です。
4,5行目の"Hello・・"はテストプログラムで書いたもので、1行目の"@ABC・・"と9行目の'123・・"は自作モニタのI/O命令を使って手動で書いたものです。
バックグランドにゴミが多く発生していて画面クリアがうまく行っていない模様です(それにしてはフォントデータの書込みはうまく行っているように見える・・でも'J'等にゴミが載ってますね)
[TOP] [ 前へ ] 連載記事 [ 次へ ]
VDP(TMS9918)とPSG(AY-3-8910)とシリアル(MC68B50)を搭載し、プリント基板化したSimple8VDPSGをオリジナルCPUに載せた状態が下の写真になります(再掲)。
VDPSG on Simple8Z |
|
CPU基板では74AS867が結構熱くなるし、VDPSG基板ではTMS9918が結構熱くなります。2枚の基板を接続した際の消費電流は下の写真のように 0.81A 程度になります。
消費電流が大きいため基板上の電源電圧は 4.74V 程度までに低下してしまいます。
因みに基板間はピンヘッダで接続(+5Vはピン1本、GNDはピン2本)ですが基板間の電源電圧差はほとんどありませんでした。
USBコネクタとプリント基板上の電源部分との抵抗値を実測した結果は5V及びグランド共に0.2~0.3Ωでした。
5V動作で1A程度以上の電流が必要なプリント基板についてはUSB給電以外の電源を考えた方がいいかもしれません(当然、基板上の回路の最低電圧値にも依存)
主要部品の電源電圧規格を下表に示します。
device | min[V] | max[V] |
---|---|---|
TMS9918 | 4.75 | 5.25 |
74HCT | 4.5 | 5.5 |
74HC | 2 | 6 |
下の写真はUSB給電している様子です。
Simple8VDPSG on Simple8Zの消費電流 |
|
シリアル通信はすぐに動きましたが、VDPの表示がうまく出ませんorz
DRAMのリード&ライトがうまくできていないようです(上位4bitは'1'固定で下位4bitは初期値?)
画面表示の状況 |
|
DRAMの信号をロジアナで確認した結果が下図で、ライトサイクルで WE/ がアクティブになる直前に一瞬 OE/ がアクティブになってしまっています。
DRAMタイミング(C:100pF) sampling:25M |
|
※追記 2021/07/11 {
OE/ のタイミング調整用のコンデンサは前々回の記事に書いた回路図のC11の部分です。回路図では150pFとなっていますが100pFを実装してしまっていましたorz
}
OE/ 信号のタイミング調整用のコンデンサを120pF、150pFにした場合のロジアナ波形が下図です。
DRAMタイミング(C:120pF) sampling:40M |
|
DRAMタイミング(C:150pF) sampling:25M |
|
両者共に上記の問題は解消していますがリードアクセス時間のマージンが大きい 120pF を採用することにしました。
本来ならこのようなアナログ的な調整は極力避けたいのですが、今回は同期回路にするための都合の良い信号が無かった^^;
念のためにDRAMをブレッドボードで評価した際に使用していたものに交換し、画面表示したサンプルが下の写真です。
DRAMタイミング調整後の画面表示サンプル |
|
4,5行目の"Hello・・"はテストプログラムで書いたもので、1行目の"@ABC・・"と9行目の'123・・"は自作モニタのI/O命令を使って手動で書いたものです。
バックグランドにゴミが多く発生していて画面クリアがうまく行っていない模様です(それにしてはフォントデータの書込みはうまく行っているように見える・・でも'J'等にゴミが載ってますね)
[TOP] [ 前へ ] 連載記事 [ 次へ ]