2005年、あのNECがPIC/AVRワールド(小規模フラッシュマイコンの市場)に挑戦を仕掛けてきました。...しかも78Kマイコンで…(笑)。
78Kアーキテクチャは、8085に独自のビット操作命令を追加したような感じのレジスタと命令セットを持ち、古くさいもののPIC/AVRよりは素直なアーキテクチャといえます。78Kシリーズは各用途に特化された内蔵機能が豊富で、市場ではかなりのシェアを占めています。昔は主に量産向けでOTP版かマスク版しかなく、趣味の電子工作にはあまり縁のない存在でしたが、最近になってフラッシュ版の小ピン汎用シリーズが発表されました。さらに、高機能な純正開発ツール(Cコンパイラ、シミュレータ等)を無償配布(サイズ制限はあり)してしまうという力の入れようです。そこで、アマチュア向けに78K(小ピンシリーズ)用の100円ライタを製作してみました。
32ビットのV850ESについても汎用フラッシュ版と只ツールで同様に売り込もうとしてるので、UARTブート・モードに対応した多くの32ビット・マイコンに使える汎用書き込みアダプタとしてV850ESに対応したライタも製作しておきます。
78Kの書き込み動作では、ホストとの通信は一般的な調歩同期式シリアルで行われるので、パソコンのシリアルポートで制御することになります。これの面白いところは、オシレータのピンを使って通信する点にあります。書き込みモードに入るには、これらの信号線を適切なシーケンスで制御してやらばければならないので、プログラマはやや複雑な回路となります。ターゲットに振動子を接続したまま書き込むときは、プログラマから供給するクロックと干渉しないようにそれぞれの周波数は離れている必要があります。プログラマ上の振動子はソケットにしておきましょう。
単純なUSB-UART変換器のデータ信号にリセット/書き込み制御信号を追加したものです。したがって、汎用のUART通信アダプタとして、これらのマイコン以外でもデバッグ・モニタなどちょっとしたUART通信に利用することができます。ターゲットの電源電圧は3~5Vの範囲に対応します。ターゲットの電源が落ちている場合は入力が切り離されるので、0を受信しっぱなしになることはありません。RESET#をターゲットのリセット回路に接続した場合、端末プログラムによるポート・オープンでリセット解除となります。PROG信号は書き込みモードへの移行を指定する信号で、通常はHi-Z、SW1を押すとH/Lレベル(極性はSW2で選択)を出力します。
V850ESのフラッシュ書き込みでは、調歩同期シリアルとクロック同期シリアルの2通りの通信方法があり、このアダプタの場合は前者を使用することになります。SW1の状態は書き込み中(ER#=L)は自己保持するので、書き込み開始の瞬間だけ押さえていればOKです。なお、書き込みモードでの起動(FLMD[1:0]を[L,H]でリセット解除)をターゲット基板上のスイッチなどで行う場合は、PROG信号の配線やSW1の操作は必要ありません。他のマイコンの書き込みモード起動(特定の入力の下でリセット解除)についても同様です。
sp78k.exeは78K小ピンシリーズ(78K0S/Kx1+)に対応します。iniファイルを適当に設定しておけばHEXファイルのD&Dで一発書き込みができます。ライタの振動子を変えたときは、それに合わせて通信スピードも変更する必要があります。
sp850es.exeはV850ESシリーズに対応します。これもiniファイルを適当に設定しておけばHEXファイルのD&Dで一発書き込みもできます。デフォルトでは9600bpsなので、そのままではかなり遅く感じられます。オプションで9600/19200/38400/76800/153600を選択できますが、PC内蔵COMポートでは38400までしか使用できません。USBシリアルなら153600で動作すると思います。
lpcsp.exeはNXP LPC800/1000/2000/4000シリーズに対応します。これもiniファイルを適当に設定しておけばHEXファイルのD&Dで一発書き込みもできます。デバイス・タイプは自動認識です。デフォルトでは115.2kbpsなので、そのままで遅く感じられるかもしれません。PC内蔵COMポートでは115.2kbpsまでしか使用できませんが、USBシリアルの多くは230.4kbpsの指定が可能になっています。DTR/RTS信号がそれぞれマイコンのリセットやISP選択ピンに接続されている場合、その制御極性はオプションで指定できます。
stm32sp.exeはSTMicro STM32シリーズに対応します。これもiniファイルを適当に設定しておけばHEXファイルのD&Dで一発書き込みもできます。DTR/RTS信号がそれぞれマイコンのリセットやBOOTピンに接続されている場合、その制御極性はオプションで指定できます。
78K/V850ES用書き込みプログラム 2020.11.30
LPC800/1000/2000用書き込みプログラム 2022.3.5
STM32用書き込みプログラム 2022.3.10
