まごころせいじつ堂

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

2018年01月

SBC6800のクロックアップ

 モトローラ6800伝説はすでにお持ちのことと思いますが、製作することで追体験ができるキットが販売されています。

SBC6800ルーズキット(スイッチサイエンス)
SBC6809ルーズキット(スイッチサイエンス)

 SRAMは32Kx8bit品を使っていますが問題ありません。
2018SBC6800

 この回路ではPIC12F1822によるクロックジェネレータがうまくMC6800用の二相クロックを生成していますが、せっかく2MHzまで動くBタイプ品を使っているのでソースをいじってサイクルアップに挑戦してみます。
 モトローラ6800伝説のp.100に掲載されているソース(CD-ROMでも提供)で以下の箇所を修正:

PR2 = 7; → PR2 = 5;
CCPR1L = 4; → CCPR1L = 3;

 これでビルドすると1.33MHzのクロックジェネレータになります。上限1.5MHz動作のAタイプでもOK。

2018MC6800clk

 すみませんが雰囲気で修正したのでこれ以上PWMで速いクロックが生成できるかはわかりません。たぶん無理。ただPIC12F1822は32MHz動作で古いマイコン用のクロック源として活用できそうなので色々調べている所です。


モトローラ6800伝説モトローラ6800伝説
鈴木哲哉

ラトルズ 2017-12-16
売り上げランキング : 42896

Amazonで詳しく見る
by G-Tools

4ICs Z80ボード(1) ATMega32LのArduinoブートローダ書き込み

 もあ(@morecat_lab)さんに4ICs Z80ボードを譲っていただきました。ありがとうございます。

手持ちの部品があったのでとりあえずすべて実装。10cm×10cmのサイズ。
2018-ATMEGA32-ALL

 このボードは40pinのAVRがすべてを制御してZ80を動かすしくみなので、AVR ATmega32Lにソフトウェアを書き込んでやらないといけません。まずはArduinoのブートローダーから。

 AVRISPmkIIで書き込めるようにICSP端子を空きエリアに用意。
2018-ATMEGA32-ISP-CONN

 ATMega32Lの pin6 - MOSI , pin7-MISO , pin8 - SCK , pin9 - *RESET
2018-ATMEGA32-ISP-CONN2

参考:
ATmega DIP40 in Arduino IDE 1.6.4
Burning Arduino Bootloader to Atmega 32A-PU Using Arduino As ISP

ハードは以上。次はソフト。Windows10からAVRISPmkIIを使うには若干の手順が必要らしい。
windows10でAVRISP MKIIを使う方法 @yoshihiroo

 まずドライバをインストールし、AVRISPmkIIをPCに接続。次にlibusb-win32-devel-filter-1.2.6.0.exeをインストールする。ここでデバイス一覧が出るのでAVRISPmkIIの箇所を選択して完了する。
libusb-win32というのはどうも署名などをうまくバイパスするような仕組みみたい。

 以上の方法はどうしてもAVRISPmkIIを使いたい時の方法で、Arduino UNOが手持ちにあれば Arduino as ISP で書き込んだほうが楽。

 さて書き込み器の準備はできたので、Arduino IDEに40pin AVRのライブラリを設定する。ライブラリは複数あったのだが以下のMightyCoreを使ってみた。
MightyCore : An Arduino core for the ATmega16, ATmega32, ATmega324 and more…

 Windows10上でArduino IDE 1.8.4を起動し、[ファイル]→[環境設定]をクリック、追加のボードマネージャのURL欄に
https://mcudude.github.io/MightyCore/package_MCUdude_MightyCore_index.json
を書いて[OK]で終了。
 次に[ツール]→[ボード]→「ボードマネージャ…」をクリック。ここからMightyCore by MCUdude バージョン1.0.8をクリックしてインストールする。
 インストール後
[ツール]→[ボード]をクリックするとMightyCore以下にATmega1284など40ピンのAVRが追加されている。ATmega32をクリックしてボード"ATmega32"を選択すれば、次に[ツール]→[ボード]をクリックしたときに項目が追加されている。この4ICs Z80ボードには水晶発振子がないので Clock 8MHz Internalを選択。

 以上で準備ができたので[ツール]→[ブートローダを書き込む]をクリック。これでATmega32LがArduinoになった。なお実際の書き込み前にZ80やSRAMは誤動作を防ぐため外しておきます。
2018-ATMEGA32-ISP-Write


 動作確認のため、基板上のシリアルポートにUSB-シリアル変換器を接続して"Blink"のスケッチをシリアルポート経由で書き込んでみる。基板上のD0 LEDが点滅すればOK。
2018-ATMEGA32-ISP-OK


 ここまでが準備でした。
 なお40pin AVRのライブラリやClock 8MHz Internalの設定は今後変わるかもしれませんがまずは動作確認ということで つづく。
記事検索
プロフィール

hardyboy

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