情報室

このページでは知っておくと便利な(?)情報や
仕事の合間にふと考えることなどをコラム風にまとめてみました。
もっとも,不定期連載ですが…。
参考に(なるかどうかはわかりませんが)お読みいただければ幸いです。

ご意見,ご感想をお待ちしています。

該非判定証明書について
(2011-12-28)

    弊社製品は国内販売を念頭において設計・製造されています。そのため,輸出に必要な書類は用意していません。該非判定証明書など必要な書類を用意することは可能ですが,必要な書類の詳細や書式などはお調べいただいた上でご用命ください。

TK-3052版マイコン事始めキット
(2010-9-1)

    TK-3052を利用した教材として「TK-3052版マイコン事始めキット」を追加しました。これはTK-3687/TK-3687mini版のマイコン事始めの上位バージョンにあたります。

    「TK-3687/TK-3687mini版マイコン事始めキット」のときはアセンブラプログラムを中心にしていました。モニタプログラムにハイパーH8を利用しているのでC言語だとかえってわかりにくいことや,初心者がマイコンの基礎を学ぶにはアセンブラのほうが動きがわかりやすいという理由です。ただ,時代の流れとしてC言語が主流になっている現実があるので,マイコンボードのユーザーズマニュアルにC言語版を用意することで対応しました。

    それに対し「TK-3052版マイコン事始めキット」はC言語を中心にしています。初心者向けの教材の場合,開発環境,特にデバッガをどうするかは問題で,C言語を使うのであればC言語のソースリストの表現で実行の様子を追いかけることができればベストです。今回採用したモニタプログラムはルネサスエレクトロニクスが配布している「Hterm」(パソコンのプログラム)と「組み込み型モニタ」(マイコンのプログラム)ですが,C言語のソースデバッグに対応しています。もともとルネサスのセミナーで使用する目的で作られたものが公開されているということもあり,学習目的には十分な機能になっています。

    とはいっても,最初はハンドアセンブルによるマシン語入力というところは弊社の製品らしいところです。実務で使うことはありませんが,マイコンを学び始めたころに一度は経験しておいたほうがよいと思います。C言語だとマイコンの動きもブラックボックスになってしまいがちですが,ハンドアセンブルだと一つ一つの動きが手にとるようにわかります。

    実習課題はLEDの点滅からはじめて,内蔵I/Oの一通りの使い方,さらには応用課題としてテトリスの作成までと幅広く取り上げています。単なる初心者だけではなく,中級者レベルまでカバーしています。マニュアルとプログラムを一式アップロードしましたので,ぜひご検討ください。

USB-RS485変換基板
(2010-8-31)

    RS-485の教材を作るときに悩むのは,テストデータをどうやって送受信するかというところです。RS-232Cの場合は,ちょっと古いパソコンならシリアルポートがありますし,なくてもUSB-シリアル変換ケーブルで用意することができます。あとは,ハイパーターミナル等のターミナルソフトを使ってテストデータを送信したり,マイコンからのデータを受信して表示したりしてデバッグを進めていきます。でも,RS-485だとパソコンに用意すること自体難しいですね。

    何か方法はないかと探していたらありました。秋月電子の「24ピンDIP-ICサイズ FT232RL USB-シリアル変換モジュール AE-UM232R(K-01977)」とMAXIMの「MAX485(相当品可)」を組み合わせれば,簡単にパソコンにRS-485のポートを追加することができます。FTDI社のサイトからドライバをダウンロードしてパソコンにインストールする必要がありますが,それさえ行なえば単なるCOMポートとして認識します。あとは,ハイパーターミナル等のターミナルソフトで普通に通信できます。回路図をアップロードしますので,パソコンにRS-485ポートが必要な方は検討してみてください。

CGI/Perl
(2010-5-27)

    ここしばらくホームページの更新作業を行なっています。一つは新製品の追加作業です。「TK-3052」を新たに追加しました。もうしばらくすると雑誌広告にも掲載されます。「TK-3687mini」は結構注文があるので,上位バージョンの「TK-3052」も期待しています。

    二つ目の作業は旧製品の整理です。「TK-Z80」,「FX-Z80」,「FX-Z80Net」は在庫限りに,「LCDプラス」は受注生産にしました。ほかにも,ひっそりと引退したものがあります。また,サーバの容量の関係もあり,旧製品のドキュメントは削除しました。

    三つ目の作業(実はこれが今回のメイン作業でした)は,購入画面のリニューアルです。まあ見た目はそれほど変化してませんが,中身は大幅に手を加えています。

    これまでJavaScriptで数量から合計金額を計算し,パソコンのメールソフトを使って注文メールを送ってもらってました。ところが,ブラウザとメールソフトの組み合わせ,OSのバージョン,セキュリティソフトの種類や設定,などなど,(おそらく)いろいろなことが関係しあって注文メールが送信されないという現象が生じてました。原因はあるのでしょうが,正直言ってお手上げ状態でした。

    どうしたものかと考えていたところ,契約しているプロバイダのホームページを見るとCGIが使えるとの表記が。弊社のホームページを立ち上げたときはCGIは使えなかったのですが,いつのまにか使えるようになっていたんですね。それもどうやら数年前に。というわけで,CGI/Perlでプログラムすることにしました。

    とはいっても,CGIもPerlも「・・・?」という状態。CGIやPerlが何なのか勉強するところから始めました。参考書を数冊買ってきて一通り読破(数冊というのがポイント,一冊よりも数冊並行して読むほうが,比較できるので理解しやすいと感じてます),パソコンに環境を作り,サンプルプログラムを動かしてみる,動いたらそれをベースにちょっとずつ手を加えていく,ということを繰り返し,なんとなくさまになってきたので購入画面をリニューアルしてしまいました。もっとも,アップロードしてプロバイダの環境で動かそうとしたらやっぱり動かなくて数日悩みましたけど。

    このとおり自己流もいいところなので,スマートな方法からは掛け離れていることでしょう(普通,この手の購入画面はショッピングカートにするようです)。しかも,今回のリニューアルに関係ないところはまったく理解していません。なので,CGI/Perlをマスターしたとはとても言えませんが,それでもなんとかなってしまうものですね。多分,これから少しずつ手を加えていくことになると思います。

最新版のマニュアルCDを販売します
(2010-5-25)

    サーバの容量の関係で,製品に同封しているCDの内容全てをWebに掲載することはできません。それで,TK-Z80,FX-Z80,FX-Z80Net,TLX-40Aなど,少し古い製品のマニュアルはダウンロードリストには載せていません。マニュアルが必要な方のために,最新版のマニュアルCDの申し込みページを作成しました。ご検討ください。

FX-Z80,FX-Z80Netについて
(2010-5-19)

    それぞれのページに記載していますが,FX-Z80とFX-Z80Netは在庫限りの販売となりました。もっとも,まだ結構在庫しているので,しばらくは販売は続きます。この辺の状況はTK-Z80と同じですね。TK-Z80も新たに基板を製造することはないのですが,いまだに販売しています。いまどきZ80を新たに勉強しようという人はそうはいないので,時々思い出したように注文が入るという感じです。FX-Z80,FX-Z80Netもここ数年はすっかり注文が少なくなりました。

    FX-Z80,FX-Z80Netが在庫限りにして新たに基板を作らない理由は注文が少なくなったというだけではありません。搭載しているCPU,KL5C80A16CFP(川崎マイクロエレクトロニクス)が生産中止になったからです。代替品もありません。ということで,作りつづけることが物理的に不可能になってしまいました。

    KL5C80A16CFPはZ80ユーザとしてはある意味画期的なデバイスでした。単に周辺LSIを取り込んだというだけでなく,プラスαがすごかったです。Z80の資産をそのまま使うことができた上に,メモリエリアの拡大と超高速化がはかられていました。おそらくZ80の寿命を延ばすことに貢献したと思います。

    ただ,ここ数年はH8をはじめとするワンチップマイコンにすっかりお株を奪われてしまいました。内蔵ROMがフラッシュメモリになったので何度でも書き換えられるというのはよいです。今にして思えばZ80やKL5C80A16CFPはプログラムをROMに書き込む手間がネックでした。それに,基板に実装するデバイスが極端に少なくなったので配線の手間が激減しましたね。まあ,時代の流れなんでしょう。

本当にお久しぶりの更新です
(2010-5-13)

    およそ3年半ぶりの更新となりました。(^ ^);

    まずは訂正。TK-3687は相変わらず販売しております。すぐ↓の記事はなかったことにします。やっぱり需要はあるようなのですよ。

    この間に新商品を二つ発売開始しました。一つは「FPGA事始めキット」です。2006年のトランジスタ技術4月号の付録にMAXUCPLDが採用されましたが,はっきり言ってその影響です。もっとも,まったく同じものではなんなので,CPLDではなくFPGAを採用しています。また,学習用途なので16×16ドットマトリックス二色LEDを搭載しています。さらに,例によってユニバーサルエリアに学習用回路を組み立てていただくことで,より基本的な部分から学習していただくことを考えました。

    もう一つは「TK-3052」です。マイコンはH8/3052を採用していて,H8/3687を採用したTK-3687miniの上位バージョンという位置付けです。学習用とともに組み込み用途で使うことを念頭においています。開発環境は無償版HEWでもちろんOKですが,60日を過ぎると適用される64KB制限が効いてきます。フラッシュメモリだけで512KBありますからね。使い切るためには製品版のHEWか別のコンパイラを用意しないといけません。学習用のリモートデバッガとしてルネサスエレクトロニクスがセミナーで使用している「組み込みモニタ」と「Hterm」を,ルネサスエレクトロニクスのWEBページからダウンロードして使います。本格的に開発で使用するにはデバッガを用意していただくことになるでしょう。もっとも,安価なE8aは使えないのですが。もう一つ,μITRON仕様準拠のHOSの実装方法も説明書に記載しました。組み込みOSの学習教材としてもご利用いただけます。

    さて,ルネサステクノロジはNECエレクトロニクスと合併し,今年の4月からルネサスエレクトロニクスになりました。WEBページのイメージカラーがこれまでの赤から青になっています。もともとルネサステクノロジは日立と三菱のマイコン部門があわさったものでしたから,これで,日立,三菱,NECのマイコンの技術があわさっていくことになると思われます。ますます豊富なラインナップになるので,ユーザとしても何を選ぶのか大変になってきます。

    こんな感じで今回は終わります。次の更新はいつになるでしょうね。(笑)

TK-3687について
(2006-9-8)

    ずいぶん久しぶりの更新となりました。あんまり書くことがなかったもんで。

    おかげさまで2003年に発売開始したTK-3687もコンスタントにご購入頂いております。ただ,最近はTK-3687miniの方にかなり集中してきております。というわけで,ちょっと商品構成を見直すことになりました。

    TK-3687の基板の30ピンコネクタは,TK-3687miniの30ピンコネクタと全く同じ位置,同じピンアサインなんですね。それで,TK-3687の基板には今後CPUの周辺回路は実装しないで,TK-3687miniをくっつけることにしました。

    まあ,TK-3687miniのI/Oの状態をLEDで簡単に見られるようにする学習用I/O基板というところでしょうか。いずれマニュアルも改訂します。現在のTK-3687は在庫限りとなりますのでご了承ください。

今年のトラ技
(2006-3-15)

    毎年恒例となりました今年のトランジスタ技術4月号の付録はMAX II CPLDでした。ワンチップマイコンが続いていたので何が採用されるのか楽しみでしたが,今回はCPLDの開発です。なかなか面白いところに目を付けてますね。

    ハードウェアもパソコン上で設計できるようになってきました。一昔前ならハンダゴテを握らないといけない部分が,ソフト的に開発できるようになり,便利な世の中になりましたね。しかも,こんなに低価格で勉強できるなんてね。

    私も購入できたので,ぼちぼち動かしてみようかな,と思っています。楽しみ,楽しみ。

二足歩行ロボット
(2006-2-3)

    いよいよ弊社でも二足歩行ロボットの学習キットを発売することになりました。といっても,弊社はマイコンボードをメインにしています。ロボットのフレームは,“Pirkus・R Type-02”(開発・製造:(有)ピルクス・ロボティクス,販売:(株)アイ・ビー)です。まもなく発売できる予定です。ご期待ください。

今年もよろしくお願いします
(2006-1-10)

    2006年が始まりました。今年はどんな年になるのでしょうか。

    最近のマイコンへの関心のきっかけの一つは,ロボットにあると考えています。ロボコンの盛り上がりを考えますと,そのためにマイコンも勉強するという方が多いのではないでしょうか。マイコンそのものの勉強というより,何かしたいことがあってそのためにマイコンを利用する,という流れがますます加速されるようになると思います。そう考えると,マイコンは特殊なものというより,活用できる部品や手段の一つになったと言えるかもしれません。

今年もありがとうございました
来年もよろしくお願いします
(2005-12-27)

    二日ほど早いのですが今年最後の情報室をお送りします。

    今年はTK-3687miniを中心とした年でした。いろいろとラインナップをそろえることができました。特にタイマ&LEDディスプレイは面白い製品でしたね。専門学校の体験入学用教材がきっかけだったのですが,思いのほか応用が利いています。というわけで,タイマ&LEDディスプレイでテトリスを動かしてみました。これぐらいの規模でも結構面白いゲームが実装できる世の中になったんですね。

    さて,来年はどうなるのでしょうか。今年同様,マイコンに興味を持ってもらえるような製品をお送りしたいと思っています。来年もよろしくお願いします。

今年もあと1ヶ月ですね…
(2005-12-5)

    今年も残すところ1ヶ月となりました。時が過ぎていくのは速いものですね。皆さんにとって2005年はどんな年だったでしょうか。

    弊社にとってはTK-3687miniをラインアップに加えられたのが大きな出来事でした。今までは比較的大きな部類の基板サイズでしたが,TK-3687miniではじめて名刺のサイズに近い物にしました。さすがにここまでくると独自性を出すのが困難でして…

    というわけで,マイコン事始めキットをリリースしました。初心者でもわかりやすくマイコンを理解できる,というのが基本コンセプトです。自分が初心者だったときのことを思い出しながら,ここでこういう説明があったらよかったのに,というのを反映したつもりです。

    さて,来年はどのような年になるのでしょうかね。

製品のお見積りがWebページからできるようになりました
(2005-11-30)

    今まで見積り依頼や注文はメールを主体としてまいりました。この方針は基本的に変わらないのですが,Webページからも見積りを計算できるようにリニューアルしました。

    技術的にはJavaScriptの使い方の基本が理解できたのは収穫でしたね。Scriptの部分はあえてHTMLを直接編集しています。次はCGIにでもチャレンジしてみますか。

ルネサスのホームページ
(2005-11-15)

    ルネサステクノロジのホームページのアドレスが変更されていました。無償評価版コンパイラを入手するためにも,最新の情報にしておかないと,です。しか〜し,マニュアルも含めるとアドレスが載っている場所がはんぱじゃない。全部修正するとなると一体いつになることやら。

    というわけで,弊社のリンクページだけ修正しました。マニュアルは変更することがあったときに,ついでに直します。ご勘弁を…。

お久しぶりですね…
(2005-11-7)

    すっかりご無沙汰しておりました。別に何かあったわけではなく,単にネタがなかっただけです。

    さて,TK-3687miniのオプションがでました。「タイマ&LEDディスプレイキット」です。LEDのダイナミック点灯とサウンダでメロディを奏でることを主軸にした教材です。結構見た目が派手なので面白いと思いますよ。

    このキット,もともとは専門学校からの依頼がきっかけでした。入学希望者用の体験学習の教材という依頼でした。短時間に組み立てて,動きが派手なもの,というコンセプトのもと,このようにまとめて見たのですがどうでしょう。

    電子回路技術者を志す人が少しでも増えればよいのですが。

無償評価版コンパイラのバグレポート
(2005-6-20)

    無償評価版コンパイラを使っていたら急にリンクできなくなりました。エラーメッセージを見てみると,

「L3440(F) Software license not available」

とでています。「ライセンス・・・?」。そう,無償評価版コンパイラは61日以降は機能制限されるだけでリンクはできるはず。「なんで・・・?」

    と思っていたら,無償評価版コンパイラにバグがあるというメールがルネサステクノロジから届きました。61日以降にリンクできなくなるということです。解決策は新しい無償評価版コンパイラをインストールしてください,ということでした。

    まあ,2ヶ月先にはじめて現象が出るわけで,ルネサステクノロジも「あっ,まずっ」ということだったのでしょう(笑)。自分の作るプログラムにはそういうことがないよう,ちゃんとテストしておこうと思った瞬間でした。

無償評価版コンパイラ
(2005-4-15)

    これまでずっと,TK-3687/TK-3687miniの開発環境は,ルネサステクノロジが提供している無償版コンパイラを推奨していました。ところが最近,ダウンロード先がなくなったという連絡をユーザ様から頂きました。

    「え〜!!」 というわけで確認してみると,本当に見当たりません。もともと無償なので文句をいえた義理じゃないんですけど。

    「どうしよう・・・」 でも,よくよく見ると無償評価版コンパイラがあります。ダウンロードして使ってみると,画面は細かい部分で変わっているものの基本的には使えます。使えるCPUはかなり増えていますし,HEWも2から4になりましたので,実質的には大幅機能アップということで「よかった,よかった」というところです。

    ところがですね・・・。アセンブラのプロジェクトが作れない。再び「どうしよう・・・」。

    とほうにくれていたのですが,ネットで調べてみるとルネサステクノロジが修正プログラムを出していました。詳しいことは下記の資料をご覧下さい。結局,情報のアンテナはいつも張り巡らして起きましょう,ということですね。(笑)

無償評価版コンパイラ および,アセンブラプロジェクトワークスペース作成について

R8/Tinyの基板,Get!!
(2005-4-12)

    とはいうものの,まだ動かしていません。時間がなくて・・・。ぼちぼち動かしてみようと思っています。

    ところで,昨年は入手が難しかったトラ技4月号でしたが,今年は結構入手が容易なようです。1ヶ月たった今でもあるところにはあるようです。きっと,昨年以上に気合が入っているのでしょうね。

R8/Tinyの基板ですか…
(2005-2-16)

    「トランジスタ技術」が今年の春もマイコン基板を付録にします。採用するCPUはR8/Tinyですね。H8/Tinyよりさらに小型化しています。ワンチップマイコンはルネサステクノロジーが一歩リードといったところでしょうか。

    そういえば,ルネサステクノロジーはSH/Tinyも発表しましたね。小型化優先のちょっとした製品から高機能が求められる製品まで,すきのないラインナップといったところでしょうか。

    ワンチップマイコンが雑誌の付録になる時代です。マイコン入門にはよい時代なんでしょう。みなさんもいろいろなCPUにチャレンジしてみませんか。

新製品です
(2005-2-7)

    H8採用マイコンボードに新製品が誕生しました。「TK-3687mini」です。

    名前からわかるようにTK-3687の機能をできるだけ残しつつ,基板サイズを小型化しました。TK-3687は学習用途専門で組み込み用途には使いにくかったのですが,TK-3687miniなら組み込み用のマイコンボードとしてもご利用いただけると思います。

    もちろん,TKシリーズなので学習用途としてもご利用いただけます。今回は「初心者にやさしく」を合言葉に,TK-3687miniを中核とした“マイコン事始めキット”をご用意いたしました。マイコンの仕組みと使い方をできるだけ丁寧に解説しています。また,“マイコン事始めキット”の学習テーマで使用する部品も付属しています。とりあえず“マイコン事始めキット”があればマイコンの勉強がスタートできます。ぜひご利用ください。

2005年が始まりました
(2005‐1‐4)

    2005年が始まりました。今年はどのような年になるでしょうか。弊社もTK‐3687をはじめとしたマイコン教育用の教材を,さらに充実させていきたいと考えております。本年もよろしくお願いします。

今年最後の情報室です
(2004‐12‐29)

    2004年も今日で最後の営業日です。雪が降ってきて冬らしくなりましたね。

    皆さんの今年一年はいかがだったでしょうか。弊社としましてはTK‐3687周辺に力を注いだ一年でした。IFトレーニングユニットのバージョンアップを行い,H8の学習環境を少しずつ充実させることができたと感じています。来年もこの路線は続ける予定です。何かご希望のテーマがあれば教えてください。前向きに検討させていただきます。

    H8が中心になる中で,TK‐Z80が徐々になくなっていくのも印象的でした。残念ながらZ80もそろそろ終わりを迎えようとしているようです。今でもお問い合わせはありますので,可能な限りつづけたいのですが…。

    このように,ここ数年は世代代わりを目の当たりにすることが続いています。続けたくても難しいというのが実情ですね。ワンチップマイコンが主流となる中で,マイコン教育に本当に必要な教材を考えていきたいと思います。

    今年もいろいろとお世話になりました。来年もよろしくお願いいたします。

今年もあと一ヶ月ですね…
(2004‐12‐1)

    早いもので,2004年もあと一ヶ月となりました。今年は皆さんにとってどのような年だったでしょうか。

    この一年の総括はもっとおしせまってからにして,HEWについて情報をひとつ。ルネサステクノロジーのサイトからダウンロードできる無償版のHEWのバージョンは‘2’です。ところが,E7に付属している無償版HEWのバージョンは‘3’なんですね。バージョンがあがっていること自体はもうけものなんですが,自動生成される‘iodefine.h’の定義内容までもバージョンアップされています。

    というわけで,弊社のサンプルプログラムもそのままでは動かなくなってしまいました。最新版の‘iodefine.h’にあわせて変更を加える必要があります。詳しくはFAQを見てください。

TK-Z80をご要望の方へ…
(2004‐11‐19)

    いまでもお問い合わせのある製品にTK‐Z80があります。このWEBでもたびたび触れていますが,在庫限りの販売となっています。残念というメールも届いております。個人的にも良い製品だと自負しておりますので,できれば続けていきたいとは思うのですが…

    なにしろ部品の入手状況が悪くなったのが痛いです。Z80,8255,8251AといったLSIがまず入手できません。あっても,価格が高いんですよね。また,7セグメントLEDのTLR312が生産中止になっています。これもまず新たに入手することができません。ひとつでも部品が入手できないと作ることができないんですよね。

    LSIを組み合わせてというのは時代遅れなのでしょうか。ワンチップマイコンがはやりなのはわかるのですが,マイコンを理解するにはZ80ぐらいがちょうど良かったと思うのですけどね。

マイコンを勉強したい人へ
(2004‐11‐2)

    お久しぶりの更新です。

    弊社はマイコンの学習キットを数多く用意しておりますが,まったくの初心者(プログラムそのものも始めて)にとってやさしいマニュアルがあるかといわれれば,残念ながらなかったというのが本当のところです。これには理由があって,どこから説明するか始まりがわからないということがありました。戻ろうと思えばどこまでも戻れるものですからね。でも,学習キットを用意している以上,いつまでも避けて通れるものでもありません。

    そこで,TK‐Z80を題材にした「マイコン事始め」という超初心者向けマニュアルを作りました。箱から取り出して眺めてみるところから説明を始めています。書き始めると予想通り大変で,かなりの時間がかかってしまいました。現時点で,8255を使ったDCモータの制御まで説明しています。

    もちろん,これで完成したとは思っていません。パラレルポートは一応の完結を見ましたから,次はシリアルポート(8251A)を説明したいですし,もはやアセンブラの時代ではないので,C言語での開発も説明したいです。「今さらZ80なの…」という声も聞こえてきそうなので,ゆくゆくはH8版も書いてみたいです。

    もう一つ考えているのは,ハードウェア中心の超初心者マニュアルです。マイコンを使った回路設計についてわかりやすく説明できないものかと思案中です。ただ,ワンチップマイコンだとまわりのインターフェースばかりになってしまうので,これはZ80で書くのが正解でしょうかね。何もないところからTK-Z80を設計してみるとかね。

    ま,いつになるかわかりませんが,気長にお待ちください。もしご要望があればお聞かせください。参考にさせていただきます。

継続は力なり…か
(2004‐9‐3)

    このページもだいぶ続いてきましたが,どうも最近更新が滞りがちです。ネタがないということもあるのですが。なんとかならないものですかね?

    「継続は力なり」という言葉ありますので,気長にやっていきたいと思います。ではまたいつか。

VBAをもっと使ってみませんか?
(2004-7-22)

    マイコンの開発環境は無償版がメーカから提供されることもあってだいぶ敷居が低くなりました。‘E7’のような低価格のエミュレータも出ていますし…。

    しかし,パソコンのプログラムを作るとなると開発環境一式そろえるのは価格面で大変です。もーちょっと安くならないかな〜,と思ったことはありませんか?

    そんなときはVBAを使ってみませんか。マイクロソフトOfficeのマクロ言語ですが,やりようによってはパソコンのプログラム言語として利用できます。というより,使った感想は,VBとほとんどおんなじだ,というところでしょうか。「ほとんど」というところがみそで,多少の違いがあるのですが,かなりのことができますよ。まもなく,参考になるマニュアルがアップロードできそうです。

TK-Z80と開発環境
(2004-6-28)

    今さらですが,TK-Z80の開発環境の構築はH8と比べると手間がかかります。特に,DOS版の開発環境を使うとなると,DOSについて思い出すだけでも大変です。それだけ,パソコンが使いやすくなった(?)のかもしれません。

    もうひとつ,あまり変わっていないのが,アマチュアが開発環境を購入するのは価格的に大変なことです。そんなときは,多少手間はかかりますが,各メーカの機能限定版を使ってみてはどうでしょうか。たとえば,システムロード社は前のバージョンですがWindows版のアセンブラを公開していますし,DOS版の機能限定版のCコンパイラも公開しています。もうひとつ,DOS版のZ-VisionRemoteも機能限定版を公開しています。これで,開発環境一式を手に入れることができます。まずはこれらを入手して試してみてはどうでしょう。

    ‘ドキュメント’コーナーにTK-Z80の開発環境関連の資料をアップロードしました。興味のある方はご覧下さい。

「‘XA80 for Windows’ 導入とプログラムの実行まで」
「‘Mini C compiler 機能限定版’ 導入とプログラムの実行まで」

トラ技版CPUボードについて思ふこと…
(2004-6-22)

    「トランジスタ技術」(CQ出版)の2004年4月号は大ヒットしました。売り切れ続出です。皆さんの中にも購入できた人,買い損ねた人,いろいろでしょう。正直,よくあの値段でできたよな,と思いました。(ちなみにわたしは購入できました)

    それだけ,マイコン技術に関心を持っている人が多かったということでしょう。喜ばしいことです。昔に比べて学生やアマチュアがマイコンの世界に触れるには技術が進みすぎて敷居が高くなってしまいました。その要因の一つがパッケージです。フラットパッケージを素人が扱うのは無理があります。トラ技版のようにあらかじめ実装された基板を使うのが主流になるでしょう。

    もうひとつの壁は入手ルートです。ワンチップマイコンは大量に流してなんぼというところがありますから,小口ユーザに過ぎないアマチュアまで回ってくることはめったにありません。確かに雑誌の付録にすればある程度の数は見込めますから目の付け所がよかったですよね。

    トラ技のよいところは開発環境もつけていたところです。これがないと価値が半減します。しかも,丁寧な解説がついているのは当然ですし。(なんといってもCPUボードと開発環境は付録で,記事がメインですから…)売れないわけがありません。

    関心を引き起こしたのは間違いありません。弊社としてもよりよい製品でマイコンに関心を持ってもらえればと思います。

I/Fトレーニングユニット(TK-3687版)近日発売です
(2004-6-3)

    このページも長らく更新していませんでした。でも,そのかいあってI/Fトレーニングユニット(TK-3687版)が近日発売できる運びとなりました。

    「基礎編」と呼ばれる部分は結構速くできました。でも,LANを利用した応用編となると一筋縄ではいかなくて…。まあ,サーバシステムと音声通話システムはなんとか形になりました。

    サーバシステムで意外とてこずったのはHTMLの記述です。今ご覧のページはMicrosoftのFrontPageで作成しているのですが,マイコンに載せるとなるとそんな便利なものは使えません。HTMLのタグ辞典を見ながらテーブルデータを作りました。昔はこんな感じで作っていたんだろうな,と思いながら…。単に表示するだけならまだいいのですが,ブラウザで入力した値をマイコンに送って反映させるとなるとね〜。まあ,いい勉強になりました。

    音声通話システムのほうは結構感動ものです。ネットの世界ではストリーミングで音楽配信なんてあたりまえですが,マイコンで実際に作ってみると結果がすぐわかるだけに面白いですよ。圧縮も何もしていないので音質は期待しないでほしいのですが,面白さは自慢できます。あと少し細かい調整とマニュアル作りが残っています。もうしばらくお待ちください。

I/Fトレーニングユニットを計画中です
(2003-3-22)

    TK-Z80用に作られた‘I/Fトレーニングユニット’ですが,TK-3687用にリニューアルしています。というより,完全新規設計しています。

    以前のI/Fトレーニングユニットに実装していたインターフェースは最近はあまり使われなくなりました。その最たるものは,セントロニクスによるプリンター制御。Windows専用のプリンターだと動かないんですよね。DOSに対応したものが必要ですが,今では入手するのも大変です。そんなわけで,これは削除しました。それ以外も大幅変更しています。残ったのはADコンバータとダイナミックスキャンによる表示とキー入力だけです。それでも使っているデバイスは変わっちゃいましたが。

    新たに追加したインターフェースもあります。ひとつはDAコンバータ。シリアル接続ですが,結構使えます。ADコンバータとDAコンバータが実装されましたので,アナログインターフェースは一通り網羅されています。

    もうひとつはLANコントローラ。この製品の目玉です。実際使ってみると面白いですよ。プロトコルの理解が壁になるのですが,一度理解できるとよくできた仕様だと思えます。普段はブラックボックスになっているLANの仕組みを理解するには最適だと自負しています。出荷までにはもうしばらく時間がかかりますが,きっとご期待に添えると思います。お楽しみに。

    そうそう,パンフレットはできています。こちらからご覧下さい。

値上げしたみたいに見えますが…
(2004-3-18)

    今年の4月から消費税総額表示が義務付けられます。そのようなわけで,弊社サイトの金額も消費税込の値段に変更しました。まるで値上げしたみたいに見えますが,まったく変更しておりませんので誤解のないようにお願いします。

    弊社ぐらいの製品数でも結構手間がかかるわけで,商社や小売店はもっと大変ですよね。うちの製品は幸い5%で割り切れるので数字自体は悩まなくて良いのですが。割り切れないときは大変でしょう。

    それはともかく,値上げはしておりませんので今後ともよろしくお願いいたします。

HEWのバグ発見
(2004-1-29)

    以前にもHEWのバグについてこのページでお知らせしましたが,また発見しました。H8/3687をC言語で使うときです。

    I/Oへのアクセスのため自動作成される‘iodefine.h’で定義しているラベルを使うのですが,ここのビット指定がおかしくて,タイマB1の割り込み要求を解除できないんです。2.5msで割り込みがかかるところ,どんなにカウント値を増やしても20μsで割り込みがかかる…。正直,ぜんぜんわかりませんでした。(詳細はTK-3687のFAQをご覧下さい。)

    どうやってこのバグを発見したか。世の中には同じところで悩んでいた人がいて,その情報をインターネットで公開していたんですね。おかげで解決しました。メーカの情報だけでなく,実際に使っている人の情報も探すことが重要ですね。あとは,こちらの情報もどんどん流すと,どこかの誰かが助かるかもしれません。

今年も終わりですね…
(2003-12-22)

    早いもので今年も残すところ10日を切りました。皆さんにとって今年はどのような一年だったでしょうか。

    弊社としては新たに‘TK-3687’をリリースできたことは大きな出来事でした。別の見方をすると,Z80シリーズの終わりが近づいたということでしょうか。これから新規に設計するものはH8を採用することになるでしょうね。やっぱり便利ですし。

    H8以上の性能を持ったマイコンはいくらでもあります。しかし,コンパイラが無償で提供されていたり,超低価格のデバッガ(E7)がリリースされていたり,トータルに使いやすい状況を作っていったというのが成功のカギでしょう。どんなに性能が良くても環境が整わなければ受け入れられることはありません。H8はマイコンそのもののよさもさることながら,環境作りが上手だったといえるでしょう。

    こうやって考えていくと,ハードを売るのは難しいですね。性能の良さ,他社との違い,そんなものはそれほど重要ではないのかもしれません。環 境を含めて使いやすいかどうか,が選択のカギとなるようです。

何かないかな…
(2003-11-19)

    何を探しているかというと,参考となるプログラム例です。

    プログラムは蓄積がものをいいます。ちゃんと動くものを持っていればいるほど後の開発期間を短くしリスクを回避できます。経験をつめばつむほど有利になるわけですね。

    とはいっても,新人にはこれがないので他人のプログラムを参考にするしかありません。これはこれで大切なことです。ただもらうだけではなく,解析してみると自分の力になっていきます。先輩たちのソースを片っ端から見せてもらいましょう。

    でも,小さな会社では限りがあります。アマチュアでは先輩がいないかもしれません。そうすると参考書に頼ることになります。いい参考書に出会えればいうことはありません。あとは,マイコンメーカのホームページからアプリケーション例を探してみるのも手です。ルネサステクノロジではH8/Tinyのアプリケーション例をたくさん用意していますので,一度ご覧になってはいかがでしょうか。

http://www.renesas.com/jpn/products/mpumcu/16bit/tiny/application_note.html
(2003年11月19日現在)

アドレスが変わりました
(2003-11-6)

    少し前にお伝えしたとおり,弊社ホームページ,およびメールアドレスが変わりました。ようやく移行が終わりましたのでお知らせします。

ホームページ http://www2.u‐netsurf.ne.jp/~toyolinx
メールアドレス toyolinx@va.u-netsurf.jp

    今後ともよろしくお願いします。

“E7”と“TK-3687”
(2003-10-28)

    せっかくHEWを使うのであればC言語を試したいところ。でも,その敷居が高かったのはソースデバッグに対応したツールが非常に高価だったところにあります。さすがにコンパイルしたプログラムをアセンブラレベルでデバッグするのは大変ですしね。

    でも,“E7”という比較的安価なツールが出ました。ぜひ,ソースデバッグの便利さを体験してみてください。

    とはいっても,新しいツールにはそれ相応な癖があるもので,ちゃんとコンパイルしてデバッグできるところまで到達するのに時間がかかるものです。弊社ホームページのドキュメントに‘TK-3687ユーザーズマニュアル C言語版’をアップロードしました。HEWのインストールから“E7”でのデバッグまで,具体例をあげて説明しています。参考にしてみてください。

“E7”使ってみました
(2003-10-10)

    しばらく前に,購入すると言っていた“E7”(byルネサステクノロジー)。とうとう買いました。今回はその使用感を…。

    値段を考えると,良いですね〜。というより,これで儲けが出るの?という感じです。Cのソースデバッグに対応しているなど,必要な機能がもれなくついていて,何も言うことはないですね。購入したのはVersion1.0.00でコンパイラは別だったんですが(無償版を使っています),Version2.0.00からは無償版コンパイラも同封されるそうです(10月半ばから出荷予定)。ビルドからデバッグまで同じ“HEW”上でできるため,非常に便利です。USBで接続できるというのも良いです。これならノートPCだろうが,スリムPCだろうが,もちろんフルタワーでもパソコンを選びません。

    機能もそうですが,気に入っているのは個人ユーザの購入手段がちゃんと考えられているというところ。この手の製品は個人で買う方法がわかりにくいところがありました。でも,“E7”はホームページ上できちんと紹介されています。きっと,アマチュアがマイコンを使うときにH8を最有力候補に上げることでしょう。

    興味のある方は1台入手してみてはいかがでしょうか。損はしないと思いますよ。

アドレスが変わります
(2003-9-19)

    弊社のサイトアドレスや,メールアドレスからお気づきだと思いますが,弊社が利用しているプロバイダはゲイトウェイネットです。何年か前にゲイトウェイが日本から撤退しましたが,その際ゲイトウェイネットも他社に移管されました。もっともこのときはアドレスについてはまったく変更なかったので,それほど影響は出ませんでしたが…。

    ところが,9月からゲイトウェイネットはさらに別の会社に移管されることになりました。そんなわけで11月末まで移行期間中です。今回はアドレスが変わるということなので結構大変です。サーバの場所も変わってしまうので,すべてのデータを新しい場所に移動する必要もあります。すべてのページにメールアドレスが書いてあるのでこれも全部修正しなければなりません(これらは手間だけ)。広告も作り直しでしょうな(こっちはお金がかかります)。

    でも,一番頭がいたいのはメールアドレスが変わってしまうということです。取引先全部にお知らせしないと弊社宛てのメールが迷子になってしまいます。これだけメールがあたりまえのように使われていると,それが変わるというのは引っ越すのと同じぐらい一大事なのでしょうね。下手をすると,音信不通ということになってしまいますから。

    というわけで,新しいアドレスがわかり次第お知らせいたします。徐々に移行することになるでしょう。引き続きよろしくお願いいたします。

秋ですね…(今さら感慨もないですが)
(2003-9-2)

    今年の夏は冷夏で,まったくもって夏らしくない。いつのまにか秋になりそうです。気候を相手に商売されているかたにとって,今年は泣かされていることでしょうね。異常気象が騒がれていますが,早いとこ安定してほしいものです

    ところで,弊社のホームページも秋仕様にリニューアルしました。今後ともよろしくお願いいたします。

バグ?
(2003-8-22)

    ソフトウェアのバグ修正をしていると,これってバグなんだろうか?と思うことがあります。まあ,動かないんですからバグなんでしょうけど。

    ここで問題にしたいのは明らかなプログラムのミスではなく,ハードの癖に絡んだものです。論理的には正しいタイミングで信号を出しているのになぜか動かない,同じことのはずなんだけどためしに別のタイミングで動かすと動いちゃった,というやつです。こういうのって面白いと思いませんか?

    工業製品ですから本来そういうのってないはずで,規格どおり動かせば動くというのが正しい姿です。でも,時々へそ曲がりがいるものでね…。デバッグ中は大変ですが,わかってしまうと面白いものです。技術は進歩しましたが,まだまだ人間の作るものに絶対ということはないんですね。

開発環境のバグ
(2003-8-6)

    開発環境にバグがあると,それはそれは悩むことになります。どう考えてもあっているのに動かない…。そうはないのですが,でも,少ないわけでもありません。

    最近はコンパイラやデバッガがフリーになっていてうれしい限りです。でも,こういったソフトの中にバグが潜んでいたらだれに治してもらえばよいのでしょうね。たいていはノンサポートですし。

    実はTK-3687の開発時にも無償版のHEWのバグが見つかりました。CPUに3687を指定すると割り込みベクタがロングで定義されてしまうというものです。実際はワードでなければなりません。わかってしまえば定義を置き換えるだけなのでたいした事はないのですが,わかるまでは大変です。また,こういった情報はメーカにもありません。というより,明らかにしていません。

    ユーザとしては開発環境も人が作る以上バグがあるかもしれない,と思いながら作業を進めるしかありませんね。そして,打つ手がなくなったらちょっと疑ってみると良いかもしれません。もっとも,99%以上,自分の作ったプログラムのバグなのですが…。

“TK-3687”はどうなったのでしょうか
(2003-7-24)

    新製品情報を載せてから1ヶ月がたちました。いつから手に入れられるのか,と思っている人もいることでしょう。

    品物もできていますし,リモートモニタも完成しました。ハードとソフトとしてはいつでも出荷できるのですが,ドキュメントが…,という状態です。基本的に技術者しかいないものですからね。わかりやすくと考えるとつい時間がかかってしまいます。それに,実習用のハードもいくつか考えていまして,なかなかゴーサインが出せません。申し訳ありません。m(_ _)m

    もうしばらくお待ちください。よりよい姿で皆さんのお目にかけることができると思います。

“TK-3687”お披露目です
(2003-6-20)

    いよいよ本日より弊社新製品,“TK-3687”をこのサイトに載せました。弊社としては初のH8を採用したボードです。

    いつになっても新製品はうれしいものです。それまでに多くの苦労があるものですからね〜。発売まではもうちょっと時間がかかりますが,でも,あともう一息です。良かった,良かった。

    ところで,あらわれるものがあれば,消えていくものもあって。以前にも書きましたが,“TK-Z80”はいよいよ在庫限りとなりました。さすがに部品の入手が難しくなりました。どうしても手に入れたいという方は,お早めにどうぞ。

キーボード
(2003-5-26)

    皆さんはパソコンのキーボードにどのようなこだわりがあるでしょうか。

    それこそ人それぞれで,メカニカルタッチのほうが良いとか,ノートPCのタッチが良いとか,ストロークは深いほうがとか,…。で,何が言いたいかというと,マンマシーンインタフェース(?)の難しさです。要するに,操作感。マイコン開発の仕事でも,これが意外と難しかったりします。

    スイッチが数個ならデザインだけでそれほど悩まないのですが,いろいろな機能が盛り込まれると自然に複雑になってきます。でも,そうすると操作性が悪いということで評価が低くなってしまいます。スイッチの数が物理的に増やせないと,いくつもの機能を兼用させるのですが,これも操作性を悪くする要因です。覚えられない…という人がいるんですね。

    で,最近はタッチパネルつきのLCDが使われます。スイッチ名称を表示できるので,だいぶわかりやすくなります。それでも,センスみたいなものは必要ですが…。

    結局デザインが関係してくるので,依頼主にデザイン(たたき台でも可)を設計してもらうのが良いようです。そのほうが納得してもらえます。それに,もしそれで操作性が難しくなってもそれはこちらの責任ではないですし…。

秋葉原の変遷
(2003-5-14)

    こういった仕事をしていると,秋葉原に行く機会が増えます。結構それはそれで楽しいのでかまいませんが。でも,秋葉原の様子はだいぶ変わってしまいました。

    秋葉原といえば電気街,というのは昔のイメージです。今はホビーの町になったようです。JRの駅ビル(秋葉原デパート)をみればわかるでしょう。もちろん,電化製品を中心に扱っていますが,それもどちらかといえばパソコンが主力製品です。もっとも,パソコンも趣味の世界ですが。いずれにしても,秋葉原なら電化製品が安く手に入るということはもはや昔の話でしょう。

    パソコンがらみでも秋葉原らしいのは,自作PCのパーツショップでしょうか。ちょっと裏通りに入っていくと面白いお店がまだまだありますよね。でも,かわってきたのは女性の姿が増えたことでしょうか。昔は男性ばかりでした。

    このホームページと関係あるのは電子部品を扱っているラジオデパートやガード下のパーツショップでしょう。ここにくると本当に秋葉原にきたという気がします。まだまだ怪しそうなものも売っていますし。秋葉原らしさを味わいたいならこういったところものぞいてみてはいかがでしょうか。

デバッガ(続き)
(2003-5-2)

    2003年4月1日にデバッガについて書きました。H8/Tinyシリーズのエミュレータに新製品が出るという件です。日立のサイトを見るとわかりますが,販売を開始したようです。

    製品名はE7で,E10Tの後継機のようです。USBでパソコンと接続ですから非常にお手軽です。でも注目すべきはその価格。なんと,¥20,000-をきっています。これなら個人でも買ってみようかなと思っちゃいます。しかも,インターネット経由で購入できるらしい。便利な世の中になりました。

    まだ弊社では購入していませんが,E10Tと同じならば実機デバッグが可能です。それだけでも購入する価値があります。アマチュアによるH8を使った電子工作がさらに広がるかもしれませんね。

TK-Z80の終焉?
(2003-4-21)

    2003年2月3日の中で部品が入手できる限りTK-Z80を作りつづけると書いたばかりなのですが,いよいよ旗色が悪くなってきました。部品の入手が非常に難しくなってきたのです。製品に対して別に不満はないのですが,部品が手に入らないのではどうしようもありません。おそらく,もう少しで在庫のみとなるでしょうね。さびしい限りです。

    Z80自身のニーズもだんだん少なくなってきていました。これまでTK-Z80を教材に使ってきたところでも,別のCPUへと移行しています。たとえばPIC16F84AやH8です。まあ,時代の流れなのでしょう。

    というわけで,H8を使ったTK-Z80にかわる教材をまもなくリリースします。お楽しみに。

デバッガ
(2003-4-1)

    アマチュアがマイコンのプログラムを作るときに問題になるのはデバッグをどうするかでしょう。アセンブラやコンパイラはメーカがフリーで提供していたりするのでなんとかなるのですが…。どんな手があるでしょうか。

    お金がかからない方法は机上デバッグです。要するに人間デバッガ。手間はものすご〜くかかりますが,どんなCPUでも対応できます。でも,これは最終手段でしょうね。

    フリーでシミュレータが用意されていればもうけものです。実機デバッグほどではありませんが,かなりのバグはこれで退治できます。PICはメーカが用意しています(MPLAB)。PICが普及した理由はこの辺にあると個人的には思っています。

    リモートデバッガは比較的安価ですから個人で購入される方もいます。Z80ならば,Z-VisionやRM80がこれにあたります。弊社にもCPUボードとあわせてよく注文が入っています。ただ,H8/3664やPIC16F84Aのように内蔵RAMの容量が少ないとリモートデバッガは成立しません。

    こうなると,あとはICEやエミュレータの出番です。ただし,金に糸目をつけなければですが…。会社でも二の足を踏む金額だったりするので個人ではまず無理でしょうね。でも,機能はさすがにそれだけのことはあります。

    ところで…。H8/3664をはじめとするTinyシリーズのエミュレータに新製品が出るようです。どうも,かなりお安いらしい。個人で購入できるぐらいか結構期待しています。さて,どうでしょう。

Z80の将来について-Part2
(2003-3-17)

    久しぶりにZ80について考えてみました。

    Z80は現役のCPUです。これに異論を唱える人はいないでしょう。でも,現役とはいえ新人のように使われているかというとそうではないようです。どちらかというとベテラン,それもいつ引退しても不思議ではない選手のようです。つまり,新規設計で使われることはほとんどなく,今までの流れで仕方なく使われているという気がします。でも,今でも新規設計から使われている分野があります。

    それはパチンコ台の制御基板です。詳しいことはわからないのですが,パチンコ台の制御基板で使われているCPUはいまだにZ80だそうです。しかも,いろいろな機能が詰め込まれたものではなくて,基本的には純粋なZ80だそうです。何ゆえか。それは規制が関係しているからです。いろいろと厳しいようで,おいそれと変更できないそうです。それで,中心となる制御基板はZ80が使われています。でも,今のパチンコ台はLCDやその他の制御もあるわけで,分散して制御していて,そちらではもっと進んだCPUが使われているそうです。

    こうやって見ると,変化を良しとしない分野では古いものが生き続け,常に進歩していくものはついていくのが大変なほど移り変わりが激しいという,実社会のようなことがパチンコ台の中でもおきているようですね。どこの世界でも変化を望まないところがあります。そうすると,Z80はまだまだしぶとく生き残るのでしょうか。

マニュアルを書くためのマニュアルがほしい…
(2003-3-5)

    ‘F1ミニ’のユーザーズマニュアルを先日更新しました。そのときに感じたのですが,

「初心者にわかりやすいって,わからないよ〜」

というものです。要するに,わかりやすく書くのは難しいのです。組立ての順番にしても,ハンダ付けの仕方にしても,わかっているとわからないところが見えなくなってしまいます。これぐらいわかるだろう,と思ったところが引っかかるというのはざらですね。

    対策方法は,初心に帰る,というところでしょうが,それができれば苦労しないわけで…。今回は白と黒の変更にあわせたので時間がたっているというのが幸いしました。あの時気づかなかったところに気づく,ということが多かったです。写真も増やしましたし…。

    というわけで,わからないところはどんどん質問してきてください。いつのまにかマニュアルが更新されているかもしれません。

白と黒
(2003-2-18)

    本日,‘F1ミニ’のプログラムを変更しました。多分,今までのコースでは走らないです…。

    今までは白地に黒テープのコースを想定していたのですが,今回の変更で黒字に白テープのコースになりました。白い紙のほうが手に入れやすいかなということで白地に黒テープにしていたのですが,黒い紙もそれほどかわらないことや,ライントレース競技の公式コースが黒字に白という関係で変更しました。

    やってみて気づいたのですが,黒テープの光の反射が気になっていたのが(光沢のないテープを推奨していました),黒い紙だとほとんど気にならないです。白いテープはよく反射するものが普通ですし。というわけで,センサとしてはより大雑把に判別できるようになったと感じています。

    でも,今までのコースも使いたいという人もいることでしょう。‘MPLAB’でアセンブルしなおせば簡単に変更できるようにしています。ソースリストから次の場所を探し‘LINE equ 1’にしてアセンブルしなおしてください。

;**************************************************
;    プログラムモード
;**************************************************
    LINE    equ    0       ;線の色
                                ; 0-黒地に白線
                                ; 1-白地に黒線

    ‘F1ミニ’のPICにプログラムをロードすれば今までどおり白地に黒テープのコースで走ります。

なんでだろ…
(2003-2-3)

    設計方法はかなり古いものの,いまだにコンスタントにご注文いただいている製品があります。それは‘TK-Z80’です。40ピンのCPU(もちろんザイログではありませんが…)と64KビットのROMとRAM,8255に8251と,今新規に作るとしたら絶対使わないような部品で構成されています。なんででしょうね…。

    いかにも学習キットというつくりがいいのでしょうか。いまどき,7セグメントLEDに16進キーボードで入力するなんて,時代錯誤もいいところです。でも,初心者がはじめて触れるCPUボードとして考えると,ほとんどワンチップになっているCPUで作られたボード(たとえば‘FX-Z80’)より,素直なつくりのほうがよいのかもしれません。マイコンを使った基本的な回路構成がどうなるか,ワンチップになってしまうと概念的になってイメージがつかめないのでしょうか。すべてばらばらだと,物として存在するのでわかりやすいのでしょうね。

    ところで,ほとんどDIPでできている‘TK-Z80’でお勧めしたいのは,CPUの各信号をオシロスコープで観察することです。最初のプログラムとしては,

ORG    8000H
JP    8000H

で,いいです。これだけでも,CPUがROMからデータを取り出すときのタイミングを目で確認できます。あとは,RAMに書いたり読んだりするときのタイミング,I/Oへのアクセス,などなど。短いプログラムを書いてループで繰り返せば,オシロスコープで観察できます。ぜひお試しあれ。

    さて,‘TK-Z80’はいつまで作られつづけるのでしょうか。ご要望がある限り作りつづけたいと思います。もっとも,部品が手に入らなくなるときがやがてくるのでしょうけどね…。

ハードとソフトのトレードオフ
(2003-1-17)

    マイコンでの開発をしていると結構直面するのはハードでやるかソフトでやるか,ということです。極論で言ってしまうとどちらでも可能なのですが,できるというのと,最適というのは違います。コストや手間を考えてどちらかを選びます。

    でも,実際のところ最初からわかっているかといえばそうではなくて,作っているうちにやっぱりソフトで,とか,やっぱりハードにしよう,ということがあります。まあ,別々の人が,あるいは別々の会社で担当していると,こうは行かないのですがね。なんとかハードで,あるいはソフトでできないかと考えて,結構むりやりなこともあります。

    同じ人が両方やっていると作業を進めながら随時最適なほうを選ぶことが出来ます。これも,ハード・ソフト両方出来ることのメリットでしょうね。というわけで,ハードが専門だからとか,ソフトしかわからない,というのではなく,両方できるようになることが大切だと思いますがいかがでしょうか。

忙しかった…
(2003-1-9)

    2ヶ月ほどこのページの更新が止まりました。もっと頻繁に更新する予定だったのですが…。実はこの2ヶ月結構忙しくて,ホームページの更新まで手が回りませんでした。

    ま,忙しいのはこの不景気の中,よいことなのでしょう。以前と同じぐらい景気が回復することはないと思いますが(あれは異常でした),とりあえず,正常といえるほど回復してもらえると助かりますね。

    ホームページのほうは,特にこのページは不定期連載ですが,今年はもっと頻繁に更新したいものです。

消えていったボードたち
(2002-11-8)

    弊社のCPUボードは今のところ3種類です。(TK-Z80,FX-Z80,FX-Z80Net)でもこれまでにあと2種類のボードがありました。AK-Z80とJK-Z80です。

    AK-Z80はTK-Z80の上位版という位置づけでした。8255を2個,シリアルポートはZ80-SIOを使って2ポート用意していました。CPUは普通のZ80なのでそれほどパワーがあったわけではありませんでしたが,周辺I/Oが豊富なので結構使いやすかったと自負しています。それでも,川崎製鉄のZ80(KL5Cシリーズ)が出たことで,一気に古くさくなってしまいました。メモリ以外ほとんど同等の機能がワンチップになってしまいましたからね。

    JK-Z80はTK-Z80の簡易版という位置づけです。TK-Z80のキーボードと7セグメントLED,そしてステップ実行機能を省略しています。どちらかというと組み込み用途に特化したものです。デバッガとしてリモートデバッガが一般的になりこれを利用することを考えていました。もっともこれも川崎製鉄のZ80(KL5Cシリーズ)が出たことで役目を終えてしまいました。

    こう考えてみると,川鉄のKL5Cシリーズが与えた影響は大きいですね。それ以前にも東芝がTMPZ84C015を出していましたが(弊社でもLCDプラスに採用しています),これは単に周辺を一つにまとめたもので,川鉄はさらに+αしたところがすごいです。まだまだ,Z80も棄てたものではないと思いました。これから先,川鉄(現 川崎マイクロ)がどんなCPUを出してくるか,楽しみですね。

RAM無しプログラム
(2002-10-18)

    さすがにROMのないプログラムは考えられませんが,RAMなしでどこまでプログラムできるでしょうか。

    スタックが使えないからサブルーチンが使えない,ということは割り込みも使えない,ワークエリアはどうしよう,といろいろ考えてしまってどうにもならないでしょうかね。サンプル用のテストプログラム程度かな。ま,普通はこういうことはしませんよね。

    ところがところが,弊社の製品にはあるんですね,これが。その名は‘LCDプラス’(TLX-40A)です。なんと,通信プログラムが中心という割り込み必至の製品です。いや〜,今考えてもよくできたよな〜。当時はそれほどワンチップマイコンが簡単に入手したり開発したりができなくて,Z80系(TMPZ84C015)で小さく作るのは大変でした。‘LCDプラス’では結構場所をとるRAMを別基板にしました。で,別基板にするくらいならRAMなしでプログラムしちゃおう,となったんです。無謀ですね。

    通常,通信制御の時は受信割り込みでリングバッファに蓄えて,それから表示やその他の制御を行います。しかし,LCDプラスはRAMがないので当然ポーリングで処理しようとしますよね。でもキーボード入力やら何やらあって受信したらすぐ処理しなければなりませんでした。というわけで,割り込みを使いました。

    でも,いつ受信するかわからないから割り込みにするわけで,どうやって正常に通常処理と割り込み処理を行き来するか。

    ようするに割り込み処理に移行した部分に戻ってくればよいのですから,どこで移行するかあらかじめ決まっていればそこに戻せばよいわけです。もっとも,ジャンプ命令を使うことはできません。周辺もZ80ファミリなのでRETI命令を使わないと次の割り込みがかかりません。それで,通常DIのままで割り込みを受け付けてよいところだけEIにしました。そして,擬似的なスタックエリアを作ってスタックポインタをいちいち指定する方法を使っています。具体的にはこんな感じです。

main10:
    LD    IX,pnt84
    EI
    NOP
main13:  
    DI

(以降,メインプログラムが続く)

; ///// Return Address Table /////

pnt84    DW    main13

; ******************************************
; ******    SIO-A Interrupt Module    ******
; ******************************************

sioint:  EXX
         SET   6,E
         EXX
         LD    SP,IX
         RETI

    こういったコードをあっちこっちに書いておいて,いつでも割り込みを受け付けているように見せかけていたんですね。Z80は裏レジスタまで駆使すれば結構いろいろなデータを蓄えておけます。表示データはすぐにLCDに書いてしまえば,あとは何とかなりました。といっても無理は来るもので,あまり連続でデータがやってくると取りこぼしが出てしまいます(この辺はFAQに詳しい情報があります)。

    というわけで,この方法で良かったのか今でもわかりません。というよりも,RAMを載せないという方針自体いまだに疑問です。たぶん,二度としないでしょう。ま〜,興味があったらソースリストを解析してみてください。

オンボード書き込み
(2002-10-11)

    開発をしていて思うのはプログラムの書き込みにこれまで多くの時間を割いてきたということです。Z80の場合ROMに書きますが,書き込むだけでも数十秒かかります。え〜,という人もいるかもしれませんが,ちょっと前まではそういうライタがありました。今では数秒ですが。

    でも,実際のところ,本当に時間がかかるのは消去することです。開発のときよく使うEPROMは紫外線を照射することで消去しますが,うちで使っているものは30分はゆうにかかります。専用のイレーサではなくて殺菌用の紫外線蛍光灯を使っているということもありますが。というわけで,まとめて十数個消しています。でも,開発中はどんどん書き込んでは,実行,デバッグ,またまた書き込みを繰り返していきますので,あっという間に手持ちのROMを使い果たしてしまいます。そうなると,試してみたいんだけど消えてるROMがなくて何もできない,という状況になってしまって歯がゆい思いをする事になります。

    というわけで,ROMのかわりに簡単に上書きできるツールがはやりました。RAMとバッテリを組み合わせたり,EEPROMを使ったり。もちろんICEがあれば何も問題ないのですけどね。値段がね〜。

    次によく見かけるようになったのは,システムのROMにデバッガプログラムを載せて,アプリケーションはRAMにダウンロードするタイプです。Z-VisionやRM-80はこのタイプです。弊社の‘ハイパーZ80’も仲間ですね。比較的安価で,ダウンロードからデバッグまで対応するため非常に便利です。アプリケーションとワークエリアを両方乗せられるだけのRAMが必要になるという問題もありますが,実機でデバッグできる環境にはかえられません。

    で,今はワンチップマイコンの時代で,フラッシュメモリが主流でしょうか。すぐに書き換えられるので楽ですね。オンボード書き込みに対応しているものが多いので,ケーブルさえつなげばパソコンで書き換えてすぐ実行できます。デバッガは相変わらずアマチュアが買うには高価ですが,気軽に書き換えられるのは良いですね。

    というわけで,ワンチップマイコンを使うときにはオンボード書き込みに対応できるように回路を設計するのが良いです。弊社の‘F1ミニ’の回路図は参考になると思いますよ。

仕様変更のわな
(2002-10-4)

    仕様変更…。請負を業務にしている技術者にとって,それは,今までの苦労が水の泡になるかもしれない言葉です。全ての作業が完了し納品して,その後しばらくしてからであれば,作ったものが役に立ったという満足感とともに,お金が入る機会が増えるだけですが,開発も最終段階に入ってからともなれば,何ともいえない気持ちになることもままあります。

    もっとも,作ってみなければわからないこともありますし,納品までの時間が長いと,こうすればもっと良くなるにちがいない,と依頼主が判断することもあります。そのために研究試作をするわけですが,そこまで余裕がないこともあります。

    請負で仕事をしている以上,仕方がないですし,純粋に技術屋として考えればいい物を作りたいという気持ちはわかります。でも,お金が絡んでくるとお互いに大変な思いをすることがあります。明らかな追加であれば請求しやすいのですが,ちょっとした変更と思われると,ただ働きになりかねません。しかも,往々にしてこの手の変更が全体に影響を及ぼして収拾がつかなくなることもありますし…。

    まあ,こちらとしては全体で幾らという見積ではなくて,できるだけ細かく項目を挙げて見積っておくことぐらいしかできないでしょうか。(ふっかけるという意味ではないですよ。適正な見積もりであることを示すために,その根拠を明確にするという意味です。)

    後は打合せの段階で完成時の姿を明確にするよう促すことでしょう。単に言いなりになるのではなくて,疑問点をぶつけていくと,本当に作りたいものの姿が依頼主もつかみやすくなると思います。

    結局のところ,納得のできるいいものを作ろうという気持ちでしょうか。

今の試作は大変
(2002-9-26)

    ハードウェアの開発はいくつかの段階を踏んでいきます。ものがものだけに,作ってすぐおしまいというわけにはいかないからです。だいたいこんなところでしょうか。

設計→研究試作→設計見直し→量産試作→設計見直し→量産

    このご時世で研究試作と量産試作をかねることもありますが,大まかな流れはこんなもんでしょう。もちろん,それぞれの試作も一発で終わるのではなくて何回も繰り返されることもあります。

    どうやって試作するかですが,以前は手配線で作ることが多かったと思います。半田付けやラッピングの時間が結構ありました。でも,最近そういうことがなくなってきましたね。最初から基板を起こすことが多いです。何ででしょう。

    いくつか理由はあると思うのですが,LSIのほとんどがフラットパッケージになったからというのは大きな理由です。パッケージもいくつか種類があれば試作と量産でパッケージだけ変えればよいのですが,今はフラットしかありませんし。もちろん,変換基板を利用すればよいのですが,IC全部となると基板を作ったほうが早いです。

    別の理由は,回路のスピードでしょう。これだけ速くなると手配線というだけで誤動作するかもしれません。最初から基板にしておけば,余計な心配をしなくて済みます。

    とはいうものの,試作ですから動くという保証もなく,回路定数の変更もあたりまえだと,表面実装では手間ばかりかかります。LSIの使い方が違っていようものなら目の前が真っ暗になりますね。ユニバーサル基板で手配線のころは,とりあえず作って,あとはカットアンドトライでどうにかしたのですが,今は実装前にある程度シミュレーションすることが必要です。理想は,組み立てたら完動,ですが…。

    まあ,仕事で試作する分には仕方がないのですが,このような状況はアマチュア,特に子供たちが趣味で工作する障害になっているかもしれません。小型化,高速化,いずれも必要なことですが,それが電子工学に興味を持った子供たちを門前払いしているとしたら残念です。専用LSIはともかく,標準ロジックやオペアンプならまだDIPがありますが,ぜひこのまま残しておいてほしいものです。

ハイパーターミナルの活用
(2002-9-20)

    ‘F1ミニ’では表示にターミナルソフトを使用しています。通常,この手のソフトの場合,パソコン側のコントロールソフトを作って,ターゲットの負担を少なくするようにします。でも,これらの製品ではあえてそうしませんでした。

    いくつか理由があるのですが,やはりパソコンのプログラムを作らなくて良いというのは楽です。順番に表示データを送っていけば,とりあえず表示されるというのは,直感的にわかりやすいという印象を与えます。もちろん,デメリットもあります。プログラムがどんどん大きくなっていきます。しかも,表示データだけでそうなるというのは抵抗のある人もいるでしょう。あと,プログラム的に判りやすいとはいえ,データだけではできあがった画面がどうなるのかイメージしにくいということもあります。画面を修正するときにこの辺は影響してきます。

    それでも,簡単に,しかもある程度かっこよく表示するのにターミナルは役立ちます。Windowsにはハイパーターミナルが最初からついてきますので,これを利用しない手はありません。本来の通信ではインターネットの台頭と共に使われなくなりつつありますが,マイコンと組み合わせるとまだまだ活躍する場面は多いと思いますがいかがでしょうか。

アセンブラのテクニック
(2002-9-13)

    アセンブラにもいろいろと秘伝のテクニックが伝えられています。Z80で有名なところではAレジスタに0をセットするというものです。普通に考えると,

LD A,0 … (1)

ですよね。でも,テクニックを知っている人にこんなコードを見せたら許されません。

XOR A … (2)

    これが正解です。結果は同じなのに何故?,別にどっちでもいいじゃない,と思う人はまだまだ読みが浅い。(1)のほうは2バイト命令で実行速度が7クロックかかりますが,(2)のほうは1バイト命令で4クロックで済みます。そう,同じ結果でもより少ないバイト数でより早く実行できたほうが良いのです。

    別にこれは昔のCPUだけではなくて,例えばH8のようなわりと最近のCPUにもあります。ER0レジスタに0をセットする方法ですが,

MOV.L #0:32,ER0 … (3)

は当然だめで,

SUB.L ER0,ER0 … (4)

が正解です。(3)は6バイト命令で実行速度が6ステートかかりますが,(4)は2バイト命令で2ステートで済むからです。もちろん,これらの例ではフラグに与える影響が違うので,このテクニックがいつも使えるわけではありません。それらをすべて見極めた上で使いこなすのがテクニックたるゆえんなのです。

    さて,こんなことを書いていると,いろんなテクニックを知らないとだめだよ,と言いたいのかな,と思われるかもしれませんが,実はその逆なんですね。知らないより知っていたほうがいいのでしょうが,なんか小手先だけという気がして…。もちろんメモリを節約できますし実行速度も速いので良いのですが,あとから(自分や他人が)見たときにレジスタに0をセットするという意図が一目でわかるかといえば,そうではないですよね。その命令を実行したときの結果を考えてその意図を思い浮かべる必要があります。素直に読めないというわけです。

    確かに昔はメモリ容量が少なく速度も遅かったので,このようなテクニックが重宝されたのでしょうが,時代は変わってしまいました。メモリは有り余るほど実装され,速度が足りなければクロックを早くします。ま,物量作戦みたいですけどね。でも,有効な方法になってしまいました。

    というわけで,より重要視されるのは素直な読みやすいプログラムでしょう。で,テクニックはそれこそ秘伝の奥義として秘めておき,どうしてもという時の最後の手段として繰り出してかたをつけるのが良いと思うのですがいかがでしょうか。もちろん,コメントはしっかりと残しておきましょう。

ハンドアセンブルとデバッグ
(2002-9-5)

    新しいCPUを採用しなければならなくて,しかも開発環境どころかアセンブラさえまだない,という状態に立たされたらどうしますか。

    いや〜,昔そういう状況になったことがありました。弊社はこれまで基本的にZ80を中心に採用してきたのですが,どうしても小型化しなくてはならない請負の仕事がありまして,NECのμPD75402という4ビットマイコンを採用したんです。このマイコン,ワンタイムPROMが内蔵されているのですが,書き込みアルゴリズムが通常のEPROMとまったく同じ,しかも,パッケージは28ピンDIPで書き込み時のピンアサインはEPROMとこれまたまったく同じと,いつも使っているROMライタがそのまま使えるものでした。場合によってはライタも専用のが必要になりますから助かりました。

    …と,ここまではいいのですが,アセンブラもデバッガもNECの出している専用のものしかなくて,結局買わなかったんですよ。今と違ってフリーで配布することはありませんでしたしね。ま〜,別に買ってもよかったんですが,どうもそのCPUをうちで使うのはそれっきりのようで…。もちろんICEは買うはずがありません。

    それで,マシン語への変換はハンドアセンブルになりました。フローチャートを書いて,次にフローチャートを見ながらソースリストをパソコンではなく紙に書いて,今度はソースリストと変換表を比べながらマシン語をやっぱり紙に書いていきます。これをCPUに書き込むのですが,ROMライタに手作業で1バイトづつ入力していきます。全部入力できたらCPUに焼きますが,人間のやることですからね,間違って入力することもあるわけで焼く前にもう一度全データを確認します。そういえば,マシン語に変換する時に間違えるということもありました。これは間違えたことになかなか気づかない。ワンタイムPROMの場合,一度焼いたら修正がききませんのでそれはもう慎重になります。

    さてお次はデバッグ。ICEもデバッガもありませんから,トレースもブレークも使えませんし,メモリやレジスタの内容すら見ることができません。とりあえず動かすと当然のようにバグがあって変な動きをします。そうすると机上デバッグでバグを取っていきます。机上デバッグと大層な名前がついていますが,ようするに自分がCPUになりきって最初からリストを追いかけていくことです。もちろん,変な動きをしている場所に見当をつけて,そこを中心に追いかけていくのですが,今考えると我ながら恐ろしいことをしてたものです。

    そういえば,このとき,どうしてもわからないバグがありました。どう考えてもあっている,動かないわけがない,という状況です。いろいろ考えた挙句,やっと理由がわかりました。スタックを食いつぶしていたんです。スタック領域が狭くて,サブルーチンの中で割り込みがかかると,スタックが足りなくなり暴走していたのです。初歩的なミスといわれればそれまでですが,頭の中でスタックの使用量まで考えるのは結構きつかったです。

    バグが見つかったら見つかったで修正するのですが,なんといってもソースリストは紙の上。途中に何行も追加しなくてはならなくても,おいそれと追加できません(すべてのアセンブルをやり直して,入力のやり直しというのはしたくない)。どうするかというと,使っていない領域に一旦ジャンプしてそこに追加して元のアドレスにジャンプします。修正すれば修正するほど回り道をするわけですね。

    ま〜,手間隙さえ惜しまなければ,この方法でどんなCPUでも開発できます。CPUの動きを理解するためでしたら,たぶんこれに勝るものはないでしょう。一度ハンドアセンブルにチャレンジしてみませんか。でも,仕事で使うのはお勧めしませんが…。

アセンブラとC
(2002-8-30)

    皆さんは組み込みマイコンのプログラムをどの言語で記述していますか。

    Z80をはじめとする8ビットマイコンであれば,また,もっと小さな4ビットマイコンのプログラムであれば,たぶん,アセンブラで書くのが当然だったと思います。もっと古い人ならアセンブラどころかマシン語で書いていたかもしれません。(この辺のニュアンスはわかりますかね〜。ようするにパソコンでマシン語に変換するのではなく,ニーモニックとマシン語の変換表を見ながら手作業でアセンブルすることです。これをハンドアセンブルと呼んでいました。8086をハンドアセンブルでプログラムするのはきつかったな〜。)当時もCはあったのに何でアセンブラだったのでしょう。

    それはやっぱりスピードの問題でしょうね。スピードが求められるとアセンブラにはかないません。まあ,コンパイラは基本的にどんなコードに変換されるかわかったものではありませんから,予想以上に時間がかかることは多かったのでしょう。

    もう一つはメモリのサイズでしょうね。私がこの業界で働くようになった時はROMに2732(4Kバイト)を使っていて,そろそろ2764(8Kバイト)に変わろうかというところでした。Cを使っているとちょっとしたことでプログラムが増えていきますし,リンクするライブラリによってはほとんど使わない関数のためにメモリが使われてROMに入らないということも考えられます。また,RAMのサイズも小さいのでなるだけ効率よくメモリを使う必要がありました。

    そんなわけで,結局アセンブラが小回りがきいて一番使いやすいよ,となるわけです。でも…。

    そうなんです。今あげた理由は今では解決済みなんですよね。スピードが遅くなるのならクロックを早くすれば済みます。メモリなんか使い切るのが大変なくらいです。となると,アセンブラを使うか,それともCを使うかは,もっと別の基準で判断することになります。それは,“わかりやすさ”でしょう。言いかえれば,後々のメンテナンスのしやすさといえるかもしれません。

    この基準で考えるとアセンブラは分が悪いですね。自分で作ったプログラムでさえ,あとから見ると何がなんだか,となってしまいがちです。もちろん,きちんとドキュメントを残しておくことが大事なんですが。それでも,Cに比べると思い出すのがちょっと大変です。

    というわけで,通常はCでプログラムし,どうしても必要なところだけはアセンブラで書くというのがお勧めのスタイルです。もっとも,どうしてもアセンブラでなきゃだめ,という場面はほとんどないかもしれませんが…。弊社のTK-Z80やFX-Z80はCの学習用途にも最適です。ぜひ一度お試しください。

マイコンのお勉強
(2002-8-16)

    最近マイコンを学習しようという人や企業が増えているようです。個人的にはいい傾向だと思っています。CPUの動きを理解するにはパソコンよりもマイコンで勉強したほうが理解が早いと思います。

    振り返ってみると,マイコンの勉強で一番役に立ったのは市販のマイコンボードの解析でした。回路図からハードウェアの基本がわかりますし,モニタプログラムを調べるとソフトウェアの作り方がなんとなくわかってきます。おそらくTK-80(弊社のTK-Z80ではなくてNECが出していた往年の名機です)の世代の人はそうやってきたのでしょうね。わたしの場合はシャープのSM-B-80TEでした。こいつについていたユーザーズマニュアルは丁寧に書かれていて,モニタの使い方だけではなく,回路の説明やモニタプログラムの全リスト,プログラムの作成方法からZ80についてまで,教科書としては必要なものすべてがそろっていたと思います。

    もちろん,SM-B-80TEそのものも使ったのですが,ハードの勉強で役立ったのはこのCPUボードの回路図だけを見て,手配線でまったく同じものを組み立ててみるということでした。ただ回路図だけを眺めていてもわからないことが見えたような気がしたものです(気がしただけですが)。SM-B-80TEのハードは特徴があってモニタプログラムが8000h番地から書いてあるのにちゃんと動くんですね。メモリマップも0番地からRAMで8000h番地からROMになっています。あれ〜,Z80はリセットすると0番地から動くんだよな〜,と思って調べてみると,ちょっとした仕掛けがしてあって,ちゃんと動くようにしてあるんです。で,ユーザの作ったプログラムはRAMに入力するのですが,もちろんこちらは0番地から入力できるようになっています。ま〜,今見ても凝ったつくりだと思いますがこの辺に設計者の意図が感じられますね〜。

    ソフトの勉強で役立ったのは,モニタプログラムの全リストが掲載されていたので,それをフローチャートにすることでした。でもフローにするだけではなくて,それを見ながら何をしているのか解析することが本当に役立っています。今でもこのフローチャートはとってあります。

    その後,仕事をしながら覚えていったことも多いですし,一緒に仕事をした人のソフトをフローにして解析したこともあります。このときは,技術を盗もうとかいうんじゃなくて,メンテナンスのためだったんですが…。でも,今思うとこういったことが役立っていますね〜。

    で,お勧めしたいのが,TK-Z80やFX-Z80はモニタプログラムをすべて公開していますので,フローに直して解析することです。やってみると,へ〜,とか,自分ならこうするのに,と思うところがあるでしょう。それが次につながると思いますよ。ホームページの‘プログラム’をご覧ください。

Z80の将来について-Part1
(2002-8-12)

    Z80が名機であることは異論はないでしょう。まさか,これほど長期間第一線で活躍することになるとは設計した本人ですら予想していなかったのではないでしょうか。

    わたしがコンピュータに触れたのは,PC-8001やPC-6001(NEC),MZ-80(SHARP)などが全盛期のころでした。もっとも当時中学生だったわたしにはとても買える代物ではありませんでしたが…。学校にコンピュータが置いてあってそれをチョコチョコいじっていました。これらのパソコン(当時はマイコンと呼ばれていましたね)に搭載されていたCPUがZ80でした。で,コンピュータ言語といえばBASIC,そして,マイコンのBASICを供給していたのがマイクロソフト社です。言語といってもROMに書き込まれておりマイコンを立ち上げるとBASICのコマンド待ちになるので,今でいうとOSも兼ねていたようなものです。当時はコンピュータ雑誌にBASICプログラムのリストが印刷されていて,それをちょこまかと打ち込んで遊んでいました。なんといってもソフトは基本的に作るもので買うものではありませんでしたから。しかも,ハードディスクはおろかフロッピディスクもそれほど普及しておらず,バックアップといえばカセットテープでした。今では考えられないことです。

    さて,時は移り,パソコンでZ80が使われることはとっくの昔に終わりましたが,このページを見ている方はご承知のとおり,Z80は制御機器の中で現役で働いています。弊社に依頼される開発の中でもZ80が使われることはまだあります。もちろん,昔のZ80がそのまま採用されるのではなくて,FX-Z80に搭載されているようなより高機能なものですが…。でも,マシン語レベルでは昔のまんまです。

    ところで,なぜ20年以上も同じCPUが使われてきたのでしょうか。もちろん,Z80が当時としては非常によくできたCPUであったことは間違いありません。また,求められた性能がZ80で十分だったということもあるのでしょう。しかし,CPUの優劣だけではない開発環境などの周辺の事情が絡んでいると思います。まあ,そ〜コロコロと開発環境を買えるほどお金があるわけではありませんしね。

    でもですね,そろそろZ80も不利な状況がそろいつつあるように感じています。少し前にも書きましたが,ワンチップマイコンが使いやすくなっているのがその理由です。なんといってもアマチュアレベルでも使えますからね。その要因は,Flashメモリが採用されているところにあると思います。(限度はありますが)何度でも書き換えられるというのは魅力です。それでも開発環境が高価だと手が出ないのですが,それがフリーですしね。インターネットの普及で入手も簡単になりましたし。そうすると,ROM,RAMが外付けになるZ80系はかなり不利でしょう。このことはトランジスタ技術(CQ出版)の特集記事にもあらわれています。少し前までは,特集でマイコンを説明するときはZ80が使われましたが,今はそういうこともなくなりました。たとえば,2002年6月号はマイコンの応用がテーマでしたが,そこで取り上げられているのは,PIC,AVR,H8でした。

    しかし,Z80の資産をそう簡単には捨てられないというニーズもあるわけで…。Z80で作ったソフトを少しでも生かしつつバージョンアップをはかりたいという依頼はあります。より高速化したい,より多くのメモリを実装したいというのであれば,川崎製鉄のCPUは最適でよく採用しています。でもバージョンアップの内容が小型化だったりすると限界が見えてきます。というわけで,Z80をコアにして,フラッシュメモリも含めてすべてワンチップにしたものってどこか作っていないでしょうかね。いろいろ探したのですが,普及しているものでそういうのって見当たらないのです。といっても,これだけPICやH8が普及するといまさら遅いかもしれませんが…。

    念のために申しますと,この項は一技術者としての意見です。おそらくZ80はこれからも形を変えて生き残っていくでしょう。Z80についてはまたいろいろと考えてみたいと思います。

Cの開発環境を作るのって大変だよね
(2002-8-9)

    と,思っている人は多いでしょうか。VisualC++をはじめとするWindowsの開発環境になれている方は,CD-ROMをいれてインストールするだけで環境ができてしまうので,それほど大変とは思っていないかもしれません。最近のマイコンの開発環境もWindowsで動かすことが常識になっていますし…。実際,H8/3664のプログラムをCで作ったのですが,開発環境のインストール自体はあっという間でしたね。

    しかし,これがDOSベースだと話が違ってきます。当然パソコンはWindowsでもDOS窓で動かすことになります。どのフォルダ(ディレクトリ)にコピーするかとか,PATHを通しておくとか,下手をすると,AUTOEXEC.BATやCONFIG.SYSまでいじることになり,さらにはコマンドを手で入力するのは大変なのでバッチファイルを作ったりと,考えることがとたんに多くなります。それからすると今は楽になりました。

    でも,安価なコンパイラやアセンブラのほとんどはやっぱりDOSベースです。弊社のCDには参考となる資料がありますのでご覧ください。

ワンチップマイコンを見て思ふこと
(2002-8-9)

    いまさらながら,H8(日立)の進出はめざましいものがありますね。トランジスタ技術でも特集が組まれるほどですし。わたしも遅ればせながら使ってみましたが,非常に使いやすく,また,選択肢も豊富で規模にあわせて選べるところはよいです。個人的にはH8/300H-Tinyシリーズが手頃で気に入っています。

    最近のマイコンはフラッシュメモリを搭載したワンチップマイコンが流行ですね。昔はこのタイプはワンタイムPROMしかなくて,プログラム修正も恐ろしく慎重に行っていました(残りが少なくなってくると1回の修正が自分の首をしめるがごとくで…)。いくらでも使い捨てできる状況ならよいのですが,たいていそういったことはないですしね。それに比べると,フラッシュメモリになってからは納得のいくまで,というより,思いつくままに試行錯誤できるので精神的に楽になりました。

    PICやAVRもこの仲間ですが,ヒットしているワンチップマイコンはたいてい開発環境が無料で,もしくは非常に安価に提供されています。しかもその出来が結構いい。これは意外と大切なことで,新しいCPUを採用するのにハードルになるのが開発環境をそろえなおすことで,そのハードルが低くなっていればおのずと使われるということです。アセンブラだとニーモニックが違うので覚えることが増えるというのもあるのですが,Cだとそれもほとんどないですし。PICにいたってはシミュレータソフト(デバッガです)までもがフリーウェアでマイクロチップ社から提供されています(MPLABのことです)。

    さて,本題のH8ですが,H8/300H-Tinyに限定されますが日立からアセンブラやコンパイラが無償版として提供されています。日立のホームページからだれでもダウンロードできます。また,フラッシュメモリに書き込む必要があるのですが,これもシリアルポートから簡単にアップロードできますし,そのためのプログラムも無償版として提供されています。やっぱりヒットするわけです。これであとはデバッガだけですね。

I/Oトレーニングユニットの
7セグメントLEDが実装されている子基板は
何かに使えませんか?
(2002-8-9)

    子基板だけでも工夫次第では使い道はあるでしょうね。と,その前になんでこんな形になってしまったのか。

    実をいうと,I/Oトレーニングユニットで使用していた7セグメントLEDは元々TLR306でした。しかし,製造元の東芝がこのLEDを製造中止にしちゃったんですね。そのため現在はTLR363Tを使用しています。しかし,大きさやピンアサインがまったく異なるため単純に置き換えることはできませんでした。普通なら基板を設計しなおすところなんですが,わざわざLEDだけのためにそうするのもちょっとね〜。というわけで,子基板を作ってTLR306からTLR363Tに変換することにしました。

    まあ,以前にもTK-Z80の7セグメントLEDで同じ目にあっていますが…。ず〜と昔にTK-Z80をご購入いただいた方ならわかると思いますが,最初のTK-Z80(型番はB6001です)はLEDにTLR4125を使っていました。デジタル時計用に作られたもので,4個の7セグメントLEDが1パッケージになっているため組立てが楽だったんですが,これが製造中止になっちゃいまして…。このときは,8255を追加したいという別の大きな回路変更もあったので基板を設計しなおしています。これが現在のTK-Z80(型番はB6001A)です。

    ところで,この子基板ですが,写真でもわかると思いますが7セグメントLEDを4個実装できるようにしています。どうせ作るなら,単なる子基板ではなく,それ自体LEDユニットとして使えるようにしたかったからです。I/Oトレーニングユニットの回路の関係で子基板としては7セグメントLED3個までしか実装できませんが,独立したLEDユニットとしては4個の7セグメントLEDとドライバIC(フラットパッケージ,裏づけ),トランジスタ,電流制限抵抗(一部フラットパッケージ,裏づけ)を実装できます。さすがにダイナミックスキャンを自動的に行うようにはできませんでしたが…。回路図をアップロードしていますので,興味のある方は試してみてはいかがでしょうか。LEDユニット単体での販売もしています。(型番:B6006)

ご意見,ご感想は toyolinx@va.u-netsurf.jp まで
Copyright (c) 2000-2024 ToyoLinx Co.,Ltd.