2026.9.16
前へ
次へ
ホームページトップへ戻る


[新連載開始]W65C02マイコンボードの製作

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
私としてはW65C02をさわるのは全く初めてです。何から何まで未経験です。さてどうなりますでしょうか。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

[第74回]



●82C55が動きました!(5)

このところの何回かはW65C02テストボードに82C55を接続してテストを行なってきました。
その中では説明してこなかったのですが82C55を接続してのテストではW65C02のクロックは4MHzで行なってきました。
試行錯誤の結果そうしたという面もありますが現実として82C55のアクセスタイムとしての限界ということが言えます。
下は82C55−2のデータです。

[出典]OKI Semiconductor MSM82C55A−2 DataSheet

下の数値を見ますとtwwは最小値が150nsになっています。

[出典]OKI Semiconductor MSM82C55A−2 DataSheet

下は82C55のWRパルスです。

これはW65C02(クロック4MHz)のRWBとPHI2をNAND(74HC00)に通した後の信号です。
前回はこれを82C55のWRとして入力しました。
かなり大きなアンターシュートとオーバーシュートが見られますがオシロのGND接続が82C55のWR端子から離れたところから取っていることも関係していると思います。
波形を見ると信号幅は120nsほどしかありません。
データシートの数値から見ると規格から外れています。
安全サイドから見れば82C55−2(10MHz)をW65C02に接続するためにはW65C02のクロックは2MHzぐらいにしなければならないことになります。
この点から考えるとW65C02はちょっとやり過ぎた感があります。
要するに高速過ぎて周辺が追いつけないという感じです。
やっぱりW65C02ではI/Oは74HCを使わなければ間に合わないということになりそうです。

W65C02のクロックについて書きましたから前回のプログラムについても書いておきます。
下は前回のプログラムを実行しているときのあるビットの出力をHにして一定時間その出力を維持したあとLにして次にその右のビットから同じようにパルス出力をしているところの波形です。

Hパルスが出力されている時間は80msほどです。
前回のプログラムリストにクロック数を書き加えてHパルスを出力している時間をざっと計算してみました。
0000        ;w65c02test49 26/9/11 26/9/16
0000        ;
0000        ;DMA test
0000        ;
8000            org $8000
8000        ;
8000 A980       lda #$80
8002 8D8302     sta $0283
8005        loop:
8005 8D8002     sta $0280;4
8008 8D8102     sta $0281;4
800B 8D8202     sta $0282;4
800E A200       ldx #$00;2
8010        loop1:
8010 A000       ldy #$00;2 
8012        loop2:
8012 88         dey;2
8013 D0FD       bne loop2;3 5*256=1280
8015 CA         dex;2
8016 D0F8       bne loop1;3 1285*256=328960 /4=82240(us)
8018 6A         ror;2
8019 80EA       bra loop;2
801B        ;end

オシロの波形と同じ計算結果が得られました。

W65C02マイコンボードの製作[第74回]
2026.9.16 upload

前へ
次へ
ホームページトップへ戻る