[新連載開始]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
前へ
次へ
ホームページトップへ戻る