始める電子回路 CPUを作る 回路がわかる本 始める電子工作 

ROMの連結テスト


        

連結動作


近代的TD4 ROM と クロック&リセット をつなげてテスト。

TD4のオリジナルでは、ROM部分にはクロック信号は入りません。アドレス信号によってROM内容を読み出す機能です。

近代的TD4 ROM は クロック信号を入れるように最初から作ってあります。
このへんで結合した動作が実行できて一段落になるように。。それと、これから作るCPU機能の各ブロックをテストするときに入力信号を簡単に作れるから ということで付け足しました。(完成後はROMにクロック信号は入らないので、ROMにクロック入力の機能は必要なくなります)

この機能を使って、連結してみてこれまで単独で作った回路が動くかいよいよテストです。

連結して動けば、ここまでのCPU周辺回路が正常に動くことが確認できます。

これはDIPスイッチのオリジナルのROMではここまでの段階ではできない機能です。オリジナルROMとは違うテスト用機能なので。


●ROM リセット信号入力

さて機能ですが、

クロックが来るたびに 0行 → 1 → 2 と読み出し行のデータを8bit単位で読み出して データバスに出力 = LEDが光る という仕組みです。


まずはそれらしきデータをROMに通信で書き込み。




 (ROM番号(行)が画面にまだありませんが 左上から1、2・・)


 この画面で 下の データを書き込み

 
 






  アドレス(行)      データ
   0000(0行)     00000001
   0001(1行)     00000010
   0010(2行)     00000100
   0011(3行)     00001000
           ・
           ・
      1つずつ、ずらしたデータを書き込み

左側AVRチップから出たデータライン(データバス)D0-D7 が並列(水色)で引き出されLEDにつながっています。
間はコネクタでショートしてつなげる(コネクタ外すとLEDが切り離される)



 

 これで 0行から読み出されると

  0行 − D0だけ=High

  1行 − D1だけ=High


  と次々LEDが流れるはずです







ここまで作った回路です。


    いよいよ実行なのですが・・・・

よく考えると、これは=作った回路が動作していくサマ は 完成後の最大の楽しみの1つでもあるわけです

途中でこれを確認してしまうと、ROMの機能は足場を固めることはできますが、その後の楽しみは1つ減る・・・

途中のブロック回路の確認などはしてきたわけですが、連結動作まですると 楽しみの先取りともいえるかもしれません。

オリジナルのままTD4を作る場合でも、

    どの程度まで作りながら動作させる? または、完成後に 全体のチェックするか

    一切のチェックはせずに  完成後、ぶっつけ本番で スイッチオン?

いろいろ選択はあると思うので、これからTD4作る方は ご自分に合わせて選択してくださいませ。。


 スゴロク風に 
TD4スゴロクの分かれ道  

   最後まで何のチェックもしないで ドキドキSWを選ぶ
                         
           完成後 ドキドキでSW ON!  (パチ)  TD4がをふいて スタートへ戻る
                                           (という最悪のシナリオもあるかもしれませんが・・)

連結テスト


さて、テストです。

準備に、
クロック受付切り替えSW を クロック受付 に設定。
クロック&リセットの クロック切り替え(自動-手動)を 手動に。


電源をON!

D0 のLED点灯。 まずは予定通り


手動クロックのボタンを押していくと、LEDは順に上がっていく。

ROM番号   アドレスバスの代わり   ROMの内容
  0     =   0000            0000 0001
  1     =   0001            0000 0010
  2     =   0010            0000 0100
  3     =   0011            0000 1000
           ・
           ・
と 手動クロックのボタンを押すたび ROM番号の 書き込んだROMの内容が出力されているみたいです。

続いて、
     クロック&リセットの クロック切り替え(自動-手動)を 自動にする・・

 おお! LEDは 自動で 流れる! 流れていく〜

     周波数切り替えSWを 10倍にすると

 LEDも 10倍速に流れる!  (本当に10倍かは不明)

ROMは機能しています。(安堵)


しかしリセットボタンを押してリセットすると、時々調子悪いときがでて、手動クロックボタン入力でもLEDが変わらないこともある。

クロック切り替え(自動-手動)を 自動にすると機能するので。。SWあたりが調子悪いかな。。


 プッシュSWは 左側-右側がそれぞれ共通です。(SWの向きによる)
 (つまり右側だと 上下足は導通している)
 
 共通だからと 1つしかつないでなかったので
 図のように 両方をつないだ 白線

 これで調子よくなった(ような気がする)





また、リセット回路のボタンは調子の悪さは感じませんが、放電が弱いみたいでボタン押してリセットがかかるまで若干遅く感じます。
1秒間ぐらい押し下げしておいた方が確実な感じ。(誤押しリセットにならなくていいというのもありますが)

AVR側はまだまだ完全に仕上げてない状態ではないですが、マイコンの設定ヒューズビットも少し変える。
リセット電圧4.3Vに降下でリセット設定に

これでとにかく調子よく動いています。
これまで作った回路が一応連動して正常動作したことになります。
ふうー 一段落です。。
一段落ですが、まだROM本来の機能は正常動作確認できていません。
本来 アドレスバスに従って データを読み出すので、アドレスバスの信号に従ってデータを読み出すと正常動作といえる。

まだ先があるけど、一息ついたところ。
次は本来のROM機能も確認を。。


始める電子回路 CPUを作る 回路がわかる本 始める電子工作 
        メインページへ