まごころせいじつ堂

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

2021年06月

KiCadの浮きベタ

 前回、FM11のバスとそのサブセットで作りかけた、FM-11用のメモリをKiCadで製図しプリント基板をALLPCBに製造依頼した。

 デバッグのために4個のSRAMの*CSに対応したLEDを付けている。
2021-06-27 21.49.45

 さて動作確認してみると2番め(U2)のSRAMだけ読み書きでデータが化ける。一部のビットしか読み書きできない。アドレス/データバスは正しくつながっている。ほかのSRAMは正常に読み書きできるのでショートなどしているわけではなさそう。SRAMを交換しても現象はU2の位置についてまわる。基板の問題だがU2の下はビアが多く配線が混んでいる。製造不良だろうか?

 そんな中このつぶやきを見て気付いた。

 CMOSデバイスは電源の配線を忘れていても信号線から回り込んだ電力で動いてしまうことがある。SRAMの電源はみていなかった。テスタで確認するとU2のpin16がGNDに接続されていない。

 メッキ線で基板を修正したらU2もメモリチェックをパスした。
2021-06-29 15.12.35


 さて、次は個別故障なのか設計ミスなのか。

 KiCad (5.1.8)-1 で設計した配線でU2周辺を確認。

スクリーンショット 2021-06-30 032745

 16ピンはベタ経由でGNDにつながっているはずが、そのベタが周囲から浮いている。
スクリーンショット 2021-06-30 032820

 これは浮きベタというやつ。DRCでは警告されなかった。
コートヤードのオーバーラップは無視して製造に出したが、基板セットアップでこの警告が出ないよう消してみても配線に関するDRCエラーは出なかった。
スクリーンショット 2021-06-30 025502

































 これは目視確認漏れによるミスになるなあ。この浮きベタ内にGND属性のビアがあって、それをもってGNDに接続されているとDRCは判断したのかもしれない。あと予防策としてはベタに接続できるよう GND(電源端子)を囲ってしまうような配線を引かないこと、だろうか。

 改版作業中。



FM11のバスとそのサブセット

 主に『FM-7/11活用研究』(工学社)と実機を元にFM-11の拡張バス(FM100BUS)を調べた。

FM-11 BUS(Google Docs)

 100ピンのバスはメモリやI/OやCPUもまったく同じでCPUカードはサイズがやや大きいだけ。同一ピンのNCはすべて接続されているのでこっそり利用できるかもしれない。
 FM100BUSは68系の同期バスがベースでアドレス空間を20bit(1MB)に拡張している。8088カードはバスを変換してメモリやI/Oをアクセスしている。
 FM-11EXなどで内蔵している128KBメモリや増設メモリのDRAMリフレッシュはバスマスタの責任で行わなければならない。Z80カードは単独では動作せず6809カードか8088カードが必要になるが、これらから制御を渡されてメモリアクセスをするときにはリフレッシュを行わなければならない。

 FM-11の拡張基板は短辺が秋月B基板の長辺と同じ、長辺が秋月B基板の短辺4枚分より10mmほど短い。約95mm × 278mm。
 で、秋月B基板の長辺にはたまたま秋月電子で扱っているL型ピンソケット2x32(64P)がぴったり収まり、FM-11のバスを見るとメモリアクセスやI/Oに必要な信号がこの中にはいっている。ということで増設メモリカードを作りかけた。
2021-06-28 10.10.39

 手配線にくじけてプリント基板を発注したのだけれども、それとほぼ同時に64ピン分のみ抜き出したFM64BUSボードを作ってみた。レイアウトに失敗してDCジャックやパスコンが取り付けたカードに干渉してしまうがこんな感じ。
2021-06-28 10.19.32


 作った後で気付かされたけどFM-11の本質はFM100BUSだったのか〜 


ROM 2532 - 27512変換基板

 MZ-80CやCBM3032(PET2001)には4Kバイト、2532タイプのROMが使われている。この頃のPROMは2732タイプと2532タイプのピン配列があって、後の2764、27128、27256、27512タイプは2732のピン配置を元にしている。

スクリーンショット 2021-06-23 172408

スクリーンショット 2021-06-23 172628














 この時期、2732でなく2532が好んで?使われた理由は不明だけど、故障した2532タイプのROMを交換するには入手困難で手持ちのPROMライターでは書き込みも対応していない。代わりに中古で入手しやすい2764〜27512や新品で入手できるW27C512を使うために変換基板を作成した。

回路図:2532に27512の各信号を対応させ、あまったアドレスA12~A15を外部でセレクト。
スクリーンショット 2021-06-21 014629




配置配線:秋月D基板サイズで取り付け穴まで用意したが、そこまで必要ではなかった。

スクリーンショット 2021-06-21 014704

基板:

2021-06-23 17.12.54

組み立て例:2532ソケットに27C256を取り付け。これはCBM3032のCGROMの代わり。

2021-06-23 17.13.38

 逆に24ピン側にICソケットを、28ピン側に連結ソケットをはんだ付けし、ROMライタで2764などの設定にして2532のデータを読み出すこともできる。当初これを想定していなかったので2532のVppはオープンのまま(2532を取り付ける基板側で処理されていることを想定)。なので2532のピン21-Vppをピン24-Vccとショートさせる改造が必要になる。

2021-06-23 17.14.08

2021-06-23 17.44.33

 MZ-80CはCGROMとモニタROMの2つで場所も離れているので問題ないが、CBM3032はBASIC ROMが4個並んでいてこのままでは使えない。ICソケットを継ぎ足してゲタにし高さを調整すればささらないこともないが、作り直しますかね……











ICの錆落とし

 ふるい基板だと部品の端子が錆びていることが多い。これなんかソケットに入っていたICの足が錆びて脆くなっていた。クエン酸水溶液に浸けて錆取りに挑戦したこともあったが、一晩かけてもわずかに錆が取れて沈殿する程度だった。
 今回はネジザウルスリキッドを使って錆落としをやってみた。泡の出るタイプを工具に試したらかなりよかったので液を垂らすタイプを使ってみる。

 CBM3032のCGROM。これに対してやってみる。
2021-06-20 18.12.55

 パッケージがちょうど収まるようなプラ容器があったので浸ける。錆は紫色になって出てくる。
2021-06-20 18.15.54

 ネジザウルスリキッドに浸けて数分おき、水洗い。これを10回くらい繰り返す。
2021-06-20 18.27.01

 刻印が読める程度に錆を落とすことができた。
2021-06-20 18.47.15

 セラミックパッケージの金属部分の錆落としに関して有効。ただ、パッケージを封止しているこの金属の蓋の隙間から水分が侵入するかもしれない。このCGROMはデータを取り出した上で錆落としをやっているので観賞用ということで。



基板取り付け用シュリンクDsubコネクタの違いについて

 FM11用RGBIインターフェースを基板化してみたのだが、VGAコネクタ(シュリンクDsub 15Pコネクタ)について差異があったのでメモ。

 右側にVGAディスプレイに接続するためのシュリンクDsub 15Pコネクタ(メス)を配置している。
上から順に購入した店と型番を列挙。

2021-06-16 15.56.52

KiCadでのフットプリントは
Connector_Dsub:DSUB-15-HD_Female_Holizontal_P2.29x1.98mm_EdgePinOffset3.03mm_Housed_MountingHolesOffset4.94mm

このデザインで上記コネクタを実装しようとすると(2)はすんなり挿入できる、(3)はややひっかかる、(1)はピン列を少し内側に曲げないと入らない。

当初同じものだと思っていたのだが、(1)と(3)は黒くて少し長い。(2)の青くて短いタイプは秋月電子の基板付きプロトタイプキットに付属していたものと同じもの。ただし秋月電子のキットは廃番でもう検索もできない。

 ということでキットとして提供するなら(2)で、完成品として販売するのなら(1)(3)も可、と判断。

※他の店からも手配しているので結果は順次追加予定。

 (1)千石電商のものと同じくピン列を少し内側に曲げないと入らない。色は青だが外形は長い。

2021-06-17 20.15.52

 問題なし。(2)と同じくスッとはいる。格安だが着荷まで時間がかかる。今回は17日かかった。
 こちらも問題なし。

2021-06-21 16.45.29




PET2001 キャラクタの右半分が欠ける問題

 CMB3032はもう一台あるのだが、このマザーボードはキャラクタ表示に問題がある。文字の右半分が表示されない。
2021-05-08 20.58.52

 これはCGROMの出力を読み出してパラレルーシリアル変換後表示をしている部分があやしい。
PET2001CGROMLS165

 挙動としてはCGROM6316の出力D7~D4は正常に出力されているがD3~D0は"0"のままE11 LS165に取り込まれている。LS165によるシフト動作、S/LやCKに問題があるとすると右半分はシフトできずall'0'にはならないはず。
 CGROMを正常に動作しているCBM3032のものと交換してみても挙動は同じ。海外のフォーラムを探してみると同じような症状でCGROMを交換したら直った、というのがあったが何が違うのか。

  ということでE11 LS165をソケット化し、D3~D0に対応する部分を10KΩプルアップしてみたが挙動は変わらず。
2021-06-16 00.06.24

 そんなことをやっているうちに電源が入らなくなってしまった。まいった。

次はCGROMを現行品で入手できるROMに焼き直してピンを変換しテストしてみる。


※解決編

 ROM焼き直しは関係なかった。筐体を正常動作するものと交換して確認を続ける。

E11 LS165でシフトとロードを制御している部分はG9 LS74のQ出力。このFFはDRAMリフレッシュやビデオタイミングを生成しているH3 74164から制御されている。H3を74LS164に交換しても変わらず。
G9 LS74は……TL866PLUSで確認するとエラーがある。故障している。これを手持ちのHC74に交換。
スクリーンショット 2021-06-19 030638
 
 正常に表示した。E11 LS165のプルアップを外しておく。
2021-06-19 03.26.11




記事検索
プロフィール

hardyboy

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