まごころせいじつ堂

浜町庄金 研究開発  マイコンで遊んでばっかりで

6800

SBC6303のリセット対策 - シリアルI/Fからの電流回り込み防止

 SBC6303ルーズキット、既知の問題としてパワーオンリセットがかからないことがあるというのがあるが私の環境(HD63B03RP)では再現しなかった。


 再現性を高めるために手持ちのチップを交換しながら確認する。このうち、HD63P01M1がパワーオンでもリセットがかからない。電源をONにしないでシリアルI/Fを接続した時点でうっすらとパイロットランプのLEDが光るのであーこりゃ漏れとるな、と。ここで電源-GND間の電圧は1.91Vあった。どの程度回り込んでいるかを調べるためにR4(USB-TXD)を外して再度測定すると1.08Vだった。つまりUSB-TXD、USB-RXDの両方から電流が流れ込んでいる。完璧な対策は@cronos_svさんの絶縁USBシリアルI/Fを使うことだけど牛刀なのでここはオープンコレクターのLS07を使って電流が流れないよう分離する。

 回路は単純で、USB-TXO→SBC6303 RXDに10kΩプルアップ(SBC6303側電源)、SBC6303 TXD→USB-RDIに10kΩプルアップ(USBシリアル側電源)。SBC6303側から+5Vをもらい、シリアル入出力に直列に入れられた抵抗R4,R5をブリッジしてスルーする。
 プルアップ抵抗の値は適当で、もしなんかあったら10kΩをパラにしたら半分になるじゃない程度の考えで決めました。
2018SBCserial0

 アダプタ基板はこんな感じ。秋月D基板を半分に切ったもの。
2018SBCserial1

 アダプタ基板裏。
2018SBCSerial2

 SBC6303側のパッチ。
2018SBCserial3

 このアダプタ基板を入れた状態で本体電源ON、USBシリアルI/Fを接続、電源部分の電圧は0V。動作も問題なくパワーオンリセットが効くようになった。
 LS07の他にオープンドレインのHC07でも良さそう(後で気づいたけど千石やマルツにあった)。

6800系命令一覧表

 MC6800/MB8861/MC6801(MC6803)/HD6301(HD6303)の命令一覧表を作りました。ニーモニックとアドレッシングモードがわかっているかた向けです。
以下のGoogleDriveスプレッドシートで公開しています。コピーしてご自由にお使いください。

※ 2018/3/9 typo STA→STAA,STB→STAB 修正済
※ 2019/2/21 $9D/$DD HCF追加 https://en.wikipedia.org/wiki/Halt_and_Catch_Fire @haserin09 はせりん氏より ありがとうございます

 6800 Instruction table

 作成にあたり各データシートと小松さんの半導体コレクション展示会場を参考にしました。



 表はクリックすると大きめに表示されます。

・MC6800
スクリーンショット 2019-02-21 1.06.37
 始祖。わりあい空きが目立つ。


・MB8861
スクリーンショット 2019-02-21 1.05.59
 富士通製の互換品。独自の命令拡張5種6命令が追加されている。


・MC6801/MC6803
44
 アキュムレータAとBを連結したDレジスタが追加されたシングルチップマイコン。
Dレジスタ周りの操作と乗算MUL、飛ばない分岐命令BRN、Xレジスタの操作とダイレクトモードのJSRが追加。
 アセンブラの表記ではASLをLSLと呼ぶなどのエイリアスが追加されている。表記のみの話で命令が追加されたわけではない。


・HD6301/HD6303
06
 日立がMC6801/MC6803をCMOS化した製品だがXGDM,SLPとMB8861類似のAIM/OIM/EIM/TIM命令が追加されている。
 MC6801/MC6803では$4E/$5Eのコードが"force the PC to function as a 16-bit counter"とあって実行するとフリーランしそうな感じなのだけれども、HD6801/HD6303は未定義命令となっている。これ以外は上位互換。
 なお日立のデータシートではInherentをImpliedと呼んでいる。


 なにか誤りがあれば教えてください。各命令の命令長とサイクル数は各自の宿題とします。

記事検索
プロフィール

hardyboy

カテゴリ別アーカイブ
月別アーカイブ
QRコード
QRコード
  • ライブドアブログ