2019年7月31日水曜日

FM77AVにPS/2キーボードを接続する変換器の基板化

FM77AVにPS/2キーボードを接続するためのキーコード変換器のプリント基板化が完了


6月12日のブログで紹介しましたキーコード変換器をプリント基板化しました。
ドジをして作り直したものですから時間がかかってしまいました。。。

右:製作した基板, 左:完成した基板

画像左が完成した基板です。現用のものではリセットスイッチを使用することがなかったので、回路図にはありますが実装していません。



ケースに収めた様子

TAKACHIのケースSW-50に収めた様子。予定通りピッタリです。
左のMini DINコネクタにPS/2キーボードのコネクタを、右の4ピンヘッダにFM77へのケーブルを接続します。(機種交換の予定がなければ、4ピンヘッダを用いずにFM77へのケーブルを直接ハンダ付けする方が良いでしょう。)


本来は自分のための製作物で、公開する予定はありませんでしたが、ご希望がありましたので公開することにしました。
前回のブログのコメント欄にも書きましたが、ごく普通の用途で使うことを想定しており、ゲーム等での早打ちには対応しておりませんので、そのつもりで使っていただければと思います。キーコードとキーコードの間に若干のウエイトを入れないとキーコードを正しく認識できなかったためですが、ソースも公開しますので、必要なら修正することも可能かと。。。
(そもそも、実用になるものが必要な方は商品として販売されているものがありますので、そちらを使用される方が良いと思います。)


回路図


回路図
注意! 回路図中のコメントのうち、FM77の機種ごとのピン配置は全てが正しいとは限りません。(実機を所有しているのはSXのみですので、他はネットの情報です。)

部品表    

  
    基板     専用プリント基板あり
    IC1      ATtiny85-20PU
    J1        ピンヘッダ 4pin(ケーブルを基板に直結する場合は不要)
    J2        MiniDIN-6 メスコネクタ
    SW1    タクトスイッチ(特にリセットが必要な場合もないので不要かも)
    C1       47uF 16V
    C2       0.1uF
    C3       0.1uF
    R1      10kΩ
    R2      4.7kΩ
    R3      4.7kΩ
    ICソケット  8pin
    ケース タカチ SW-50(必要なら)
    ケーブル S端子付き(FM77AV40SX)
    ケーブル モジュラー付き(4芯:FM77AV, 6芯:FM77AV20/40, EX)


製作上の注意点


回路は簡単ですので、専用プリント基板でなくユニバーサル基板に手配線してもそれほどの手間ではありません。私も手配線でまずATtiny2313で作り、小型化するためにATtiny85で作り直し、それを常用して3年以上になります。

注意すべき点は、本体に接続するコネクタです。
注意点は2つあります。
一つ目は機種によるコネクタの違いがあることです。
私のようにFM77AV40SXを使用している方はオーディオ用のSケーブルが使えるのですが、SXよりもFM77AVやAV20/40(EXも)を使用しておられる方が多いと思います。その場合はモジュラージャックの4極4芯(4P4C)か6極4芯(6P4C)となります。型番が不明ですがRJ-9,-12,-22などと呼ばれているようです。

二つ目はコネクタのオス・メスの違いに留意することです。ネットの情報は注意して見ないと本体側かケーブル側かがあいまいなものがあります。
特にSケーブルの場合は、間違えるとVCCとGNDが逆になりますので、最悪PS/2キーボードを破損します。(私が経験者です...)


特殊キーの割り当て


特殊キーについては次のように割り当ててありますが、ソースがありますので自由に変更できます。
 FM77 <--->PS/2 Key     
    DUP          F11
    HOME       F12
    BREAK      Kanji
    GRAPH      L_ALT, R_ALT
    EL            L_Win, R_Win
    CLS          ScrLk


ソフトの使用上の条件


本ソフトは上記のようにアマチュアが自分で使用するために制作したものであり、機能・性能上の不備がありますが、それを承知していただければ自由に使っていただいて結構です。
使用にあたっては、以下を守っていただくことを条件とします。
(1)このソフトを使用した結果、いかなる損害が生じても私は責任を負わないこととします。
(2)本ソフトはですくまさんが解析し、ブログ「ですくま備忘録」で公開してくださった貴重なデータがあって初めて制作できたものですので、ソフトのソースからですくまさんの名前を消さないこと。
(3)同様に、本ソフトはapplication note AVR313を使用させてもらっていますが、私が独自に作成した箇所もありますのでソフトのソースから私の名前も消さないこと。
(4)商用になるほど完成度の高いソフトではないので杞憂とは思いますが、本ソフトあるいは改変したソフトを商用利用しないこと。

さらに、これは条件ではありませんが、バグの修正を含めてソースの改変は自由ですが、その際には、そのソースを公開するとともに、私にもフィードバックしていただけるとありがたいです。(メールでも、このブログでも結構です。)

ソフトの公開


制作したソフトと回路図をMicrosoftのOneDriveに公開します。
cnvps2fm_tiny85.hexが実行ファイルですので、これをそのままATtiny85に書き込んでもらえば動作します。ただし、ソースファイルの先頭に書いてありますが、Config bitの変更を忘れないでください。


プリント基板を配布します


プリント基板の余分がありますので希望される方がおられましたらお譲りします。
(1)プリント基板のみ(118円 送料82円 計200円)
(2)プリント基板とプログラムを書き込んだATtiny85のセット(330円 送料120円 計450円)
[8月16日訂正]厚さが1cm以内で収まりますので送料は82円で合計412円です。
(3)多分おられないとは思いますが、完成品を希望の方はご相談ください。(お持ちのFM77の機種によってケーブルが変わりますので。但し、ケースの穴あけはご自分でお願いします。) (1500円 送料140円 計1640円)
という形を考えています。

ご希望の方は、自己紹介のページにOld68funのメールがありますので、そこから希望の番号(1~3)を記してご連絡ください。折り返し、振り込んでいただくゆうちょ銀行の口座をお知らせします。枚数に限りがありますので、希望の方が多い場合は先着順とさせていただきます。ご容赦ください。

2019年7月15日月曜日

ようやくプリント基板ができたと思ったら

FM77AVにPS/2キーボードを接続する変換器のプリント基板が...失敗!


本日ようやくプリント基板が届きましたので、早速組み立てようとしたら...
何と、PS/2キーボード用のコネクタが逆向きでした。。。ドジ!


なんとPS/2コネクタが内向きだった


さらに、PS/2コネクタとしてMiniDIN-6pinのフットプリントを使用したのですが、ピン間隔が現物(秋月電子で購入)と微妙にずれているようで、すんなりと入りません。
フットプリントの修正も必要なようです。

現在使用中のものは手配線でしたが、これぐらいの回路はプリント基板化するのも簡単だろうとナメていたようで、反省しています。もっと慎重に進めなければ。。。

これでは何ともなりません。作り直しということで、完成はさらに一ヶ月後ということになりそうです。

2019年7月7日日曜日

Pic24CPM-80とPic24CPM-68kマイコンボードの製作記

skyriverさんが公開されている2種のマイコンボードを製作しました


最近は、本業(?)である68系から離れて、CP/Mの走るボードを作ったり、CP/Mソフトの使い方を練習したりしていますが、CP/M-68Kをいじってみたいという動機からです。
ということで、またまたCP/Mマイコンを製作しました。

製作したのは、CPUとMemoryの他にはPic24FJ64GA004だけという3チップマイコンです。skyriverさんはCPUにZ80と68008を用いたボードの設計・製作の経過をブログにアップされており、さらに製作手順のまとめを詳細な説明付きで公開されていますので、両方とも製作してみました。

上:Pic24CPM-68K,下:Pic24CPM-80

左:Pic24CPM-68K,右:Pic24CPM-80

CP/M-80の走るZ80ボードについては、中日電工さんのND80Z3.5を所有している上に、興味本位でJust4FunさんのZ80-MBC,MBC2を製作しましたので、これ以上は必要がないといえるのですが、skyriverさんの説明がとても丁寧でしたので、CP/Mの知識がほとんどない自分にとっての練習のためという動機もありました。

製作してみた結果ですが、SDカードのアクセスのSPI通信に結構工夫されているせいか
立ち上がりもSDのアクセスも速く、とても軽快で、使いやすいという感想を持っています。
また、独自のpicleというpic24FJ用コンパイラ(インタプリタも)を自作され、それを用いてシステムを構成されているのも興味深いですし、Z80,68Kの両方で同じ操作性のスクリーンエディタsked (Z80用68K用) も作られているので、ソフトの開発がしやすいと思います。

[1]Pic24CPM-80製作記
目標は68Kの製作でしたが、CP/Mの知識がほとんどないので、練習のつもりで、まずPic24CPM-80を製作することにしました。
skyriverさんのブログのここに「3チップ構成Pic24CPMマイコン(CP/M起動までの作業まとめ)[Z80]」という手順説明がありますので、その通りに進めていけば動作させることができます。

基板についてですが、skyriverさんがガーバーデータを公開されておりますので、それを元に基板を製作しましたが、表面実装部品を使用するものでした。残念ながら表面実装部品の手持ちがなかったのでKiCadで回路図を書き直し、そのガーバーデータで作り直しました。
(skyriverさんの方はシンプルで見栄えも良いですが、私の方はそれに比べてゴチャゴチャしていますね。。。残念!)


Pic24CPM-80 表面

Picの書き込み端子のVCCとSDコネクタのケースグランドを忘れていた

起動直後の画面


SDアダプタのケースがグランドに落ちていなかったり、表面のシルクのレイヤーを入れ忘れたりなどのミスはありましたが、無事に動作しました。



[2]Pic24CPM-68K製作記
続いて、Pic24CPM-68Kの製作に進みました。Pic24CPM-80と同様、KiCadで回路図を書き直し、そのガーバーデータで基板を作りました。

Pic24CPM-68K 表面

回路図では交差しているだけなのに接続されていたというミスあり

起動直後の画面


これにも若干のミスがありましたが、無事にメモリ書き込みテストまで確認できました。
私が作り始めた時には製作手順は公開されていなかったこともあり、第2段階のHello表示でつまずき、どうにもならず、skyriverさんに助けを求めてしまいました。
その結果、Pic24用のプログラムだけでなく、製作手順をここに、「3チップ構成Pic24CPM68Kマイコン(CP/M-68K起動までの作業まとめ)[68K]」として公開していただけました。(なお、ガーバーファイルも公開されています。)
そのおかげで、すんなりと動作させることができました。

これで念願だった68000を使うツールとしてのCP/M-68Kを手中にすることができました。また、上にも書きましたが、Z80にも68Kにも共通のスクリーンエディタも使いやすいものを用意してくださっていますので、CP/Mのソフト開発に力を入れることができそうです。skyriverさんに感謝いたします。