CPU実験室

誰も見向きもしない古いCPUをいじって動かしてみようというプロジェクトです

シリアルコントローラ

今回、ボード上に実装したシリアルコントローラSCN2681(DUART)は初めて使う品番ですが、フィリップス社のマニュアルが見つかったのでざっと確認しておきます。 機能は非同期調歩型シリアルコントローラが2組、ボーレートジェネレータ、タイマ/カウンタ、割込…

コーディング開始

I/Oも用意できたのでいよいよ意味のあるプログラムを書いてみますが、いくつか準備があります。 1.2段階ジャンプ これはトランスピュータのアーキテクチャを調べ始めた時にも検討していましたがリセットベクタがメモリ空間の最上位-2:Bootstrap(0x7FFFF…

I/O拡張

ROMのアクセスがうまくいってるようなので次はLEDチカチカをやりたいところなんですが、ボード上のパラレルLEDは単純にデータバスをラッチしているのではなくシリアルコントローラ(DUART)SCN2681の汎用出力ポートに接続しています そのためこれの周辺部品…

マシンサイクル

ボード上のトランスピュータIMST805は入力クロックClockin=4.9152MHzの4倍のProcClockOut=19.6608MHzを内部生成して各種タイミング信号を発生させます。 マニュアルのメモリアクセス関連の説明を読んでみました。 まずProcClockOutの半周期ごとにマシンサイ…

動作クロック

CPUの動作クロック周波数についてちょっと勘違いしてました。外部から与えるクロックClockinはCPU内部で5逓倍されると思い込んでましたがデータシートをよく見てみるとこれはオーダー時の速度サフィックス指定によるものでIMST805-G25Sならば倍率PLLxは5.0で…

最小ループ再び

パタンの修正ができたので、信号線をプローブして電源ON! ・・とその前に。 今回ROM(U16)へのデータバスの引き込みを修正しました 修正前:D24 D23 D21 D20 D19 D18 D17 D16 修正後:D22 D23 D21 D20 D19 D18 D17 D16 つまりD23は元々つながっていましたがD…

パタン補修

まずPLCCソケット間のラインから。隙間は約2.5mmしかありませんがルータにハイスビットを装着して切削できました 切断前 切断後 もう一か所の切断箇所は基板の裏面なのとパタン密度が低いのでこちらは簡単 切断前 切断後 それよりハンダ付けした時の飛沫なの…

修復計画

見れば明らかなんですがROM(U16)に接続されるデータバスがD16~D23になるべきところがD22をすっ飛ばしてD23、D24になっちゃってるわけです。D24は本来つながるべきU17にも行っているので接続先が重複してしまってます。番号のカウントを先走ったか「時そば…

メモリチェック

トランスピュータボードはパタンミスが発覚してショック大なので少し冷却期間おきます。その間に海外通販で入手したあやしいSRAMの動作確認をしてみました。 以前作成したMCS51-Rev0ボードは256kbitSRAMのスキニータイプを使うのでこれを差し替えてみます。…

接続ミス発見

ここのところまで、起きている現象がNS32032のトラブルとそっくりです。ソフトウェアはこれ以上単純にできず間違えようがない。となるとなにか物理的に配線ミスしてるとしか思えません。 先ずはROMの制御線まわりを検図・・テレコとかはなさそうです。 次に…

ROM入れ替え

最小ループとして得られたコード「600E」の意味を考えてみます。ぱっと見これは16ビット固定長命令にも見えますが、トランスピュータの命令体系は8ビット固定長であって実は2個の命令の組合せであることがわかります code mnemonic function operation Oreg…

制御信号波形

最小ループはROM内の2アドレスをグルグル回るはずなのでボード上のいくつかの信号をプローブしてみてるのですがどうも制御信号の波形が安定しません。 ch1:アドレスラッチ信号ALE(=/S0) ch2:ROMの/CS(=/ROMCS) ch3:ROMの/OE(=/MemRd) ALEが一定間隔で…

最小ループ

いよいよトランスピュータ上で動作するプログラムを作成してみます。いつものようにコードは一番簡単な最小ループ「j $」、リセットベクタはメモリ空間の最後の2バイトを指すので開始番地を0x7FFFFFFEにしてアセンブルします アセンブルは瞬時に終わって実行…

アドレスデコーダ

とりあえずデータバス、アドレスバスはパタパタ動いているのでCPUは何かしら動作しようとしているのは判りますが外部メモリがつながっていないので、浮いているデータバスから不定のコードをフェッチしてしまい、どこにジャンプして何をしてるのかが全く分か…

CPU実装

トランスピュータIMST805をソケットに挿しこみました。外部メモリは全くない状態ですがこのまま電源ONしてみます CPUから直接出力されるステータス信号MEMSTATUS0はアドレスバスのラッチ信号に使いますがここにパルスが出力されていました 周期は4.9MHzでこ…

マイラコンデンサ

アナログ系の謎プロジェクトではちょっとづつ値の違うコンデンサを大量に使うので中国通販でポリエステルフィルムコンデンサのアソート物を買ってみました。こういう用途ではアソート品で揃えるのが理にかなってます。 商品は無事到着。この深緑のモールドが…

ピン電圧

トランスピュータがささるPGAソケットの各ピンの電圧を測って然るべき信号が来ているか確認をしています ・VDD、GNDのように電源に直接接続されている端子 ・CLOCK、RESETのように外部で生成して与えられる信号 ・ProcSpeedSelectなどプルアップ/プルダウン…

CPLD仮設計

CPU単体で動作を確認するためCPUに入力される信号でCPLDが生成しているものを確定しておきます。 CPLD(EPM7064S)の仮ロジックをQuartusⅡで回路図入力しました。REQ/WAIT関係はとりあえず「0」に固定、CPUから出力される周辺用クロックを分周してチェックでき…

CPUまわり実装

チップ部品に続いてスルーホール部品も実装開始しました。 まずはCPU周り。水晶発振器とリセットIC、DIPスイッチを実装すればソケットで必要な信号が来ているかの確認までできます。CPUソケットは挿入するまでコンタクトにゴミが入らないようにマスキングテ…

部品実装中

チップCR,LEDのはんだ付けが完了しました 部品総数からいうと75%くらい占めていますが基板の見た目はまだほとんど変わってません

基板到着

「出来上がった10枚の基板を全部使い切るプロジェクト(仮)」の基板が出来上がってきました。注文してから12日目で最短です。 左の75×75mmが10枚で$5、右の100×100mmは本当は1枚でいいのですが5枚で$2 部品実装密度は低く、ラインも0.4mmのゆったりルールで…

部品実装開始

トランスピュータ基板にやっと部品実装始めました。先ずは0.1uFのパスコン20個から。 いつものようにこの状態で電源コネクタからみた静電容量を測定しました。 測定値は1.95uF、直流抵抗は無限大でここまで問題なしです 部品リスト上で済んだところを塗潰し…

プロジェクト分割

すべての音源が1枚の基板に乗った状態でライン引き回しをしてしまいましたが、考えてみるとこれからガーバー出力するにしてもそのまま版下印刷にするにしても回路全体が対象になってしまう訳でうまくいきません。Kicadは1つのプロジェクトに階層的に複数の…

回路図修正

回路図上でR102の「10k」表記は一見正常、プロパティを開いて詳細設定値を見ても大丈夫そうなんですが、よくよく見るとValueの「k」が変。全角で入力されてました 回路図上の表記はちゃんと半角ANK文字に変換されてるんですが。 プロパティを修正してDSNフ…

オートルーティング

各基板へざっくり部品配置ができたのでラインの引き回しをやってみます。足のピッチが広いスルーホール部品のみの低密度アナログ回路なんで手作業でもいけますが先ずはオートルータで仮配線し、こんがらがってるところは部品の移動、回転で引き回しを解きほ…

部品配置完了

残りの基板にも部品を配置していきます。 シンバル音源とオープン/クローズハイハット音源 そして最後の2枚。アクセント信号発生基板・・これには汎用的に使うホワイトノイズ、ピンクノイズの発生回路も乗ってます。・・とすべての音源からの信号を混ぜてラ…

こちらも進行中

リズム音源の方も実は密かに進めてます。規格化基板に部品をばらまいてるだけですが。 ハンドクラップス音源 オリジナルのマシンでは特徴的とされている音で回路もかなり複雑です。ここでロームのVCA-IC(SIP9ピン)が使われてます。そのほかにQUADコンパレ…

基板設計完了

1枚できればいいので久々に手製で行ってみるかと思ってたアナログ基板ですが、出来るだけ裏面だけのパタンで・・屈曲が少なくなるように部品配置を最適化して・・といじっているうち案の定GNDベタパタンに離島があちこちできてしまい、それを修復してやっと…

GNDベタ

回路のGNDは裏面にベタを塗って接続しています。ただ片面基板にしようとなるべく裏面になるようにラインを引くとGNDベタを分断してしまいGND領域が離島のように電気的に浮いてしまうことがあります。 たしかにERCでは引っかかりますがメッセージがいまいちで…

片面基板設計

新たに思いついた謎プロジェクトが水面下で進行中です。 繰返し回路部分の基板は発注するとして入出力インターフェース部分は1個でよいのでこれは手作りしてしまった方がいいでしょう。密度も低い純然たるアナログ回路でざっと部品を配置したところです 手作…