電脳伝説さんのSBC1802を作ってみました。通称COSMACと呼ばれるCPUで宇宙にも行ってるらしいです。サンプルプログラムが動いた後にLEDチカチカをやってみたくて、LEDボードを作りました。
SBC1802とは
SBC1802は電脳伝説さんが作ったシングルボードコンピューターで、オレンジピコさんとか、スイッチサイエンスさんで頒布されています。いつものルーズキット(基板だけ頒布)ですので、必要な部品は集める必要があります。
部品組み付けと、サンプルプログラムの実行
いつものようにSBC1802には詳細な技術資料がありますので、部品表を参考に部品を揃えまして、部品組み付けを実施しました。
http://www.amy.hi-ho.ne.jp/officetetsu/storage/sbc1802_techdata.pdf
SBC1802は他のルーズキットと違って電源のアダプタ端子がついてません。FTDI互換のUSB-シリアル変換器がもっている5Vで駆動するかたちとなっています。省電力!!!
SBC1802データパックに入っているBASIC ROMを焼く石は27C256型を装着するところですが、何回も書き直すかもとW27C512を使いました。ROMライターで書き込む際はアドレス$8000分だけズラしてあげる必要があります。技術資料にそのあたりも図入りででています。
サンブルアプリである、いつものASCIIARTも無事表示できました。クロックが1.8MHzぐらいのようなので40分ぐらいかけて、のんびりと表示されました。
LEDをチカチカさせてみたい
サンプルアプリが動きましたので、BASICのOUT命令でLEDをちかちかさせてみたいと思いまして外部回路を検討しました。最初はN0〜N2端子にLEDをぶらさげてチカチカできるんじゃね?と安易に考えたのですがそれはダメ。
CDP1802からI/O出力する場合
CDP1802のデータシートを見ると以下のようなタイミングチャートが出ています。
CDP1802 DataSheet
CDP1802からI/O出力すると、ふだんはAllゼロになってるN0〜N2信号線にI/Oアドレスが出力されます。また、メモリーからI/Oデバイスへ出力されるという仕組みみたいなんでMRD信号線(メモリ読み取り)がLヘ落ちます。あとは読み取りタイミングはTPB信号線がHになるという感じ。
一番下のあたりに、”DATA STROBE”という信号がありますが、MRD(メモリ読み取り)、TPB信号、Nx信号を合わせたものでタイミングが取れそうです。
LEDチカチカのためのデコード&ラッチ回路
LEDチカチカのため、以下のような回路を考えました。
N0〜N2信号線は74HC138でデコード。あとは、その信号とMRD信号、TPB信号線を4入力NANDゲートであわせて74HC573ラッチのLE(ラッチイネーブル)へ入れます。ラッチしたいタイミングでLへ落ちるというかたちです。いものようにgithubにもUPしてあります。
この回路の前に最初考えた回路は、LE(ラッチイネーブル)の動作を勘違いしていて、シリアルから入力した文字コードがLEDにチカチカと表示されるという楽しいLEDボードになってしまいましたが…w
ブレットボードで組んでみた&BASICでLEDチカチカ
上記回路をブレッドボードに組みまして、BASICのOUT命令でいつもの$AAとか$55を出力してLEDをチカチカさせてみました。
今後は?
COSMACボードでLEDチカチカできましたので、今後 気合が出たらスイッチを8個並べた入力ボードなんかも作ってみたいと思います。でも、スイッチだけじゃつまらないので….もっと他のものがいいかなとか。アイデアが出たら作ってみたいと思います。
コメント