COSMAC Microboard Computerの最終版のガーバーデータとBOMを登録しました。

回路図も同じページにあります。お楽しみください。

製作されたかたは情報をいただけると嬉しいです。このサイトにリンクさせていただきます。

cosmac_mbc_rev02_gerber_viewer.jpg

COSMAC MBC CPUボード Rev. 0.2の製作を行いました。完成品は写真のようになりました。

cosmac_mbc_cpu_rev02_finished.jpg

早速電源を投入したのですが、UT4モニタが動いていないように見えます。

先日発注したCOSMAC MBC CPUボード Rev. 0.2のプリント基板が到着しました。

cosmac_mbc_cpu_rev02_pcb1.jpg

見た目は問題なさそうです。秋月電子の28ピンフラットパッケージの256Kbit SRAMも問題なく実装できそうです。

心配していたトグルスイッチまわりのシルク印刷ですが、トグルスイッチが少しスリムだったので文字が隠れることはありませんでした。

cosmac_mbc_cpu_rev02_pcb2.jpg

遅い時間の到着だったのでパーツの実装は今度の週末の予定です。

COSMAC MBC CPUボード Rev.0.2の基板をFusionPCBに発注しました。

今回のCPU基板 Rev.0.2では以下の点を改良しています。

  • シリアル接続の信号が正しくなるようにインバーターを通しました。
  • シリアル接続コネクタを一般的な配置にしました。
  • 拡張ボードに合わせて拡張コネクタ仕様を見直しました。
  • S5をスライドスイッチからオリジナルのようにトグルスイッチに変更しました。
  • 各スイッチは横向き実装可能なパターンにしました。適合スイッチは以下を想定しています。
    • プッシュスイッチ 型番:APE1F-6M-10-ZまたはAPE1F-5M-10-Z(日本電産コパル電子)
    • トグルスイッチ 型番:2MS1-T1-B2-M6-S-E(Linkman)
  • SRAMは256Kbitに変更し、秋月のSOP2 SRAMも実装できるように表面実装パターンも追加しました。表面実装基板は初発注です。
  • オリジナルに存在する信号(~EXT_WAIT, ~EXT_CLEAR, ~STOP, ~XTAL)のコネクタを追加しました。
  • パスコンを配置しました。
  • その他、細かい点を修正しました。

FusionPCB発注時のガーバービューアー画面は以下のようになりました。

cosmac_mbc_rev02_gerber_viewer.jpg

実装イメージの3D画像です。ちょっとシルクがスイッチにかかってしまっているかも・・。

cosmac_mbc_cpu_rev02_3dview.jpg

到着は来週になるでしょうが、楽しみです。

COSMAC MBC 拡張ボードのRev. 0.2試作基板が到着しましたので組み立てました。

cosmac_mbc_ext_rev02_1.jpg

IDCコネクタの向きも修正しましたので、CPUボードとまっすぐ接続することができるようになりました。

早速動作確認をおこなったところ、LEDが眩しすぎる問題がありました。今回は秋月電子の100本入りLEDを使用したのですが、前回使用した手持ちのLEDより輝度が高いようです。

Rev. 0.2基板では、LED点灯が不要な場合を考え、LEDへの電源を切れるようジャンパーピン(JP1)を作ってあったので、応急措置としてここに1KΩの抵抗を入れてLEDの輝度を落としました。本来であれば各LEDごとに抵抗を入れるべきなのでこれは次回の修正事項とします。

この状態で、LEDの表示確認と、LCDの接続確認、入力ポートの確認まで行いました。LEDの輝度以外は問題は無さそうです。

cosmac_mbc_ext_rev02_check.jpg

次はCPUボードの修正版 Rev. 0.2の製作に入りますが、現時点でひとまず動作していますので、Rev. 0.2はじっくり製作していきます。

COSMAC MBC拡張ボードに実装されている入出力ポートCDP1852LCDを接続してみました。

回路図は以下のようになります。

mbc_ext_lcd2_scr.jpg

プログラムはToy ComputerのLCDシールドのプログラムを参考にして作成しました。変更した点はOUT 5に変更した点とLCDのRS(Register Select)をDO7に接続することで、書き込むデータの最上位ビットをONにすることでRSをONにするようにしました。E信号はCDP1852で出力されるDATA READY信号(SR)をそのまま使用しています。

プログラムリストは長くなりますので、GitHub.comに置きました。

CDP1852から正しいデータが出力されているかの確認は格安ロジアナで行いました。

mbc_ext_lcd2_logic_analyzer1.jpg

タイミングを確認したところ、LCDのレジスタ書き込み時に少々WAITが必要だったのでNOPで調整し、プログラムを実行したところLCDに文字が表示できました。

cosmac_mbc_ext_lcd2_run.jpg

Toy Computerとは違ってUT4モニタで長いプログラムも容易に書き込めるので開発は非常に楽になりました。

COSMAC MBC拡張ボードの回路図をCOSMAC MicroBoard Computerのページに掲載しました。

PCB Errataも追記しました。BOMも更新済みです。

なるべくオリジナルに近くなるようにしています。

決めかねていたバスの端子も確定したので、現在のCPUボードにも手を入れる前提の回路です。

到着した拡張ボードのプリント基板にパーツを実装しました。いつものようにおおたFabさんではんだ付けです。

cosmac_mbc_ex_make1.jpg

製作は問題なくできましたが、CPUボードに接続するIDCコネクタの向きが逆だったことに気がつきました。まあ、物理的にはつながるので問題ないということで。

cosmac_mbc_ex_make3.jpg

まずはLEDの表示確認です。29個のLEDを実装しているので、やや基板が温かくなります。

評価ボードのマニュアルにあるステップ実行の手順で確認しましたが、A8-A15の表示がおかしいです。どうもデータバスを表示しているように見えたので回路図を確認したところ、アドレスのラッチ入力になぜかDB0-DB7がつながっていました。ここは正しくはA0-A7なので、ICピンをソケットから浮かしてジャンパー線で接続し修正しました。

cosmac_mbc_ex_make4.jpg

cosmac_mbc_ex_make5.jpg

また、たまにUT4モニタが動かないことがあり、確認したところ入力ポートのCDP1852のMODEを間違って出力モードにしていました。これでバスの信号が衝突していたようです。こちらもパターンカットとジャンパー線で修正です。これらの修正で、LEDの表示は正常になりました。

残るはCDP1852を使用した入力ポート、出力ポートの動作確認です。確認のため簡単なテストプログラムを作成しました。ポケットオシロスコープをポートに接続して信号を確認します。

出力ポートの確認プログラム

適当なメモリの内容を出力ポートに出力するシンプルなもの

0000-E3     START SEX 3
0001-65 LOOP1 OUT 5
0002-30 01 BR LOOP1

!M0 E3 65 30 01
$P0

カウンタの内容を出力ポートに出力するもの

0000-E3     START SEX 3
0001 F8 00 LDI 0
0003-B3 PHI 3
0004-F8 31 LDI #$31
0006-A3 PLO 3
0007-84 LOOP1 GLO 4
0008-53 STR 3
0009-65 OUT 5
000A-23 DEC 3
000B-14 INC 4
000C-30 07 BR LOOP1

!M0 E3 F8 00 B3 F8 31 A3 84 53 65 23 14 30 07
$P0

入力ポートの確認プログラム

入力ポートの状態をそのまま出力ポートに出力するプログラム

0000-F8 0D  START LDI #$0D
0002-A5 PLO 5
0003 F8 00 LDI 0
0005 B5 PHI 5
0006-E5 SEX 5
0007-6E LOOP1 INP 6
0008-65 OUT 5
0009-25 DEC 5
000A-30 07 BR LOOP1

!M0 F8 0D A5 F8 00 B5 E5 6E 65 25 30 07
$P0

これですべての動作確認が完了しました。今の状態でも正常に動作はするのですが、正しい情報を回路図に反映して修正版の基板のガーバーデータを作成しました。合わせて電源ラインの見直し、コネクタの方向の修正、シルクの追加なども行っています。

cosmac_mbc_ex_newpcb1.jpg

今回はFUSIONPCBさんに発注しました。修正版の基板が到着するまでは現在のジャンパー線だらけの基板で楽しむことにしましょう。

cosmac_mbc_ex_make6.jpg

10/11にJLCPCBさんに発注したCOSMAC MBC 拡張ボードの試作版プリント基板が到着しました。およそ一週間での到着です。

cdp18s020_ex_pcb1.jpg

明日組み立ててみようと思います。

COSMAC MBCでTINY BASICが動きました - COSMAC研究会

なんとかCOSMAC MBCが動き出したところでEvaluation Kit Manual for the RCA CDP1802 COSMAC Microprocessorに掲載されているCOSMAC TINY BASICを動かしてみました。マニュアルには16進数がならんでいるダンプリストが提供されています。

cosmac_tiny_basic_dumplist.jpg

参照しているPDFマニュアルにはOCRで文字データが含まれているので、まずはOCRの読み取りを信用してテキストファイルにしましたが、読み取りミスが必ずあるはずです。このため、昔のようにリストをにらめっこして誤りを修正しました。やはり数バイトの読み取りミスがみつかりました。

tinybasic_checklist.jpg

これを修正して、UT4が書き込める形式にしてメモリに書き込みます。書き込みは600bpsで行いましたが2K byteでも数分かかります。

*!M0000 0130B0C000EDC0066FC00676C006665F
*!M0010 188280203022302058D5068108C80008
*!M0020 483897BA48D5C00651D3BFE286739673
*!M0030 83A693B646B346A39F3029D3BFE296B3
*!M0040 86A31242B602A69F303BD343ADF808BD

読み込みが完了したところで、UT4モニタから起動したところ、TINY BASICのプロンプトの「 : 」が無事表示されました。

*$P0

:

早速Hello Worldです。

:10 PRINT "HELLO WORLD"
:LIST

10 PRINT "HELLO WORLD"

:RUN
HELLO WORLD

!85 AT #0
:20 END
:LIST

10 PRINT "HELLO WORLD"
20 END

:RUN
HELLO WORLD

:

暴走することもなくとりあえず動いたようです。TINY BASICですので、最低限のことしかできませんが、一応動いたということで。

他にも面白いアプリケーションがないか探してみようと思います。

最近のコメント

アセット

  • cosmac_mbc_running.jpg
  • cosmac_mbc_finished.jpg
  • cosmac_mbc_cpu_rev02_testing.jpg
  • cosmac_mbc_cpu_rev02_finished.jpg
  • cosmac_mbc_cpu_rev02_pcb2.jpg
  • cosmac_mbc_cpu_rev02_pcb1.jpg
  • cosmac_mbc_cpu_rev02_3dview.jpg
  • cosmac_mbc_cpu_rev02_3dview.jpg
  • cosmac_mbc_rev02_gerber_viewer.jpg
  • cosmac_mbc_ext_rev02_check.jpg

カテゴリ

ウェブページ

  • about
  • blogs
  • today
Powered by Movable Type 7.1.4