ひららプロジェクト  > ひららIT
 

USB-IO復活プロジェクト  このサイトはモルフィー企画で販売されていたUSB-IO[CY7C63001を使ったUSBパラレルI/Oボード]の復活情報をおしらせします。
 
このページの内容は2002〜2003に記載されたものです。2010年10月iswebライトの閉鎖にともないアーカイブスとしてhirara-ITにデータを移行しました。
(2010/10/24)



2003(平成15)年10月16日から3年4ヶ月ぶりに更新しました。
本来中学校技術・家庭科のための教材として開発依頼をしたのですが
大学や企業の研究開発向けに人気の商品となったようです。
(2007/2/21)

モルフィー社が倒産して入手できなかったUSB-IOがテクノキット社により復活しました。
同等品だけでなくインバータ回路とモニタ回路をつけたもの。
模型モータ制御回路などものも完成しました。詳しくはテクノキット社のサイトをご覧下さい。
□1はじめに(USB-IOとは...)
□2構想
□3参考資料の入手
□4試作品の完成
□5USB-IOのテスト
□6キット製作記
□テクノキット USB-IOの復活(継続?)を引きけてくれた大阪の技術・家庭科教材会社
□Fex広場[USB-IOの遊び方] usb-ioのしくみや応用について大変参考になります
□HSP スクリプト言語HSPの開発元本家。HSPのダウンロードやサポート。
□K-Ksoft  HSB用パラレルポート、USBポートのプラグインソフトの開発者のページ
□JN2AMD's Homepage 自作USB-IO互換ボード資料。




USB-IO復活計画   1 はじめに

□はじめに
 コンピュータを文書作成やお絵かき、計算、データベース、インターネットを使うための道具ではありません。熱、光、動力などのエネルギーを測定したり制御できる道具です。1990年代はじめ、中学校の技術・家庭科の教材としてデモカー(フォアーランド電子)やタートルロボット(テクノキット)という製品が発売されました。パソコンのパラレルインターフェースを利用して、MS-DOS上のN-88BASIC (NEC)やFBHG(富士通)などのBASIC言語を使って2進数の学習や模型の制御のプログラムの作成をするというものです。
 時は流れ、BASIC言語はいわば死語となり、パソコンやプリンタにもパラレルインターフェースが装備されなくなってきています。WIN95,98,ME,2000,XP搭載のパソコンで制御の学習はできないものかと考えていたら、HSPなるフリーソフトの言語とUSB-IOというインターフェースを使うと極めて簡単にできそうなことがわかりました。
 USB−IOは、キットで1500円、完成品2500円という低価格で発売されていました。ところが、この製品を発売していたモルフィー企画がこの春、倒産してしまったのです。 幸いモルフィー社がUSB-I0の生産を引き継いでくれる会社を探していて、テクノキットがそれを引き受けてくれるということでこのプロジェクト、USB-IO復活計画が始まりました。

□USB−IOについて
 モルフィー企画のホームページが消滅してしまいましたのでNibbles lab. HomePage から引用します。
汎用USB-IO
 後回し…のつもりが、ちょっと知人に見せたくなって組み立てることにしました。汎用USB-IOはサイプレスのCY7C63001というUSB I/F内蔵のワンチップマイコンを使用したパラレルI/Oアダプタです。CY7C63001は8+4ビットのI/Oを持っていて、この汎用USB-IOではその全てを使用することができます。実はこの石、2000年6月号のトランジスタ技術誌にももしかしたらとよぞうさんが別のペンネーム使ったんじゃないかと思うほど似た内容で記事として取り上げられていたのですが、プログラム書き込み済みチップの販売が個人にはひとつ5000円というべらぼうな価格で行われています。一方こちらの汎用USB-IOは基板も含めて1500円。チップは300円程度らしいです。記事のCY7C63001は紫外線消去型のチップでしたが頒布しているものは汎用USB-IOと同じワンタイムPROM。まぁロット買いできるかどうかの差なのかもしれませんが。
 で、この計12ビットのI/Oに何をつなぐかですが、8ビットにはDIP SW、4ビットにはデコーダ内蔵LEDということですんなり決定。これらを載せた子基板を作って、コネクタで切り離せるようにします。コネクタと部品がそれぞれ両面に分かれて実装せねばならないので子基板は両面ランドのユニバーサルボードである必要があるんですが、あいにく手元の在庫にはなかったのでMZ用のパーツといっしょに購入。
 組み立ては…特筆することはないですかね。なんとなくP1ポートの3と4がシルクの表示と実際とが入れ替わってるような気がしましたが…修正すれば問題なし。LOOXにつないで、DIP SWの入力とLEDへの出力を確かめて、完成。 
 (Nibbles lab. HomePagehttp://welcome.to/Nibbles )

□USB (Universal Serial Bus)【ユー・エス・ビー】 について
 
パソコン向けのシリアルインターフェイス規格。対応機器として、キーボード、マウス、プリンタ、スキャナ、スピーカ、外部ストレージなどがすでに出荷されている。USBでは、USBハブを利用することで最大127個のデバイスが接続可能で、電源を入れた状態で抜き差しが行えるホットプラグ機能をサポートする。
 USBインターフェイスはPC互換機だけでなく、AppleのiMac以降の製品にも標準インターフェイスの1つとして採用されている。

□シリアルインターフェース
 1bitごとに順次データを送受信するタイプの接続インターフェイスのこと。PC/AT互換機には、伝統的にRS-232に準拠したシリアルインターフェイスが用意されており、ここにシリアルマウスやモデム、TA(ターミナルアダプタ)、イメージスキャナなどを接続することができる。  シリアルインターフェイスに対し、複数の信号線を利用して、複数のビット情報を同時に送受信するインターフェイスはパラレルインターフェイスと呼ばれる。

□USB−IOとは
 USBポートに接続して、シリアルインターフェースをパラレルインターフェースに変換してくれるアダプタです。

シリアル      配線が少なくてすむ。パラレルより遅い。
DATA1 DATA2 DATA3 DATA1 DATA2 DATA3


パラレル     配線がたくさんいる。シリアルより速い。
DATA1
DATA2
DATA3



(2003/7/27)   

USB-IO復活計画   2 構想  

(1)ベンダIDとプロダクトID
 さて、USB-IOの継続発売を引き受けてくれたテクノキットの開発担当者の川瀬氏をまず悩ませたのがベンダIDとプロダクトIDなるものです。127個ものデバイスを接続できるUSBインターフェースは、デバイス自身に周辺機器メーカー固有のベンダIDと周辺機器メーカーが自由に設定できるプロダクトIDを記憶する必要があるのです。このID取得には、初期費用と維持費用を含めかなりの経費がかかります。今回のプロジェクトでも、最低金額の方法でも1500$ほどかかってしまったようです。

(2)デバイスについて
 USB-IOは、サイプレス社のUSBインターフェース内蔵のワンチップマイコンを使用したパラレルインターフェースアダプタです。8+4ビットのI/Oを持っています。2000年6月号のトライジスタ技術誌に製作記事も参考記事があります。
(3)試作品の概要
 テクノキット社との打ち合わせでとりあえずの仕様をつぎのようにしました。
 1 出力8ビット+入力4ビットまたは出力8ビット+出力4ビットのいずれにも使用できるようにする。
 2 USB-IOにはなかったバッファICと表示LEDを組み込む。
 3 コネクタも装備する。
 4 価格はUSB-IOと同程度をめざす。 
 5 初期ロットは500個とする。

(4)プログラミング言語について
 コンピュータに仕事をさせるためには人間の意志をコンピュータにつたえることが必要です。その手段をプログラミング言語といいます。プログラミング言語の基本は機械語(マシン語)ですが、 人間にはわかりにくいのでBACIC言語に代表されるインタープリタ言語とC(C**)に代表されるコンパイル言語が開発されました。1990年代のパソコン(マイコン)には、BASIC言語が搭載されているのが普通でしたが現在発売されているパソコンには、プログラミング言語のソフトは搭載されていません。
 さて、近年スクリプト言語とよばれるプログラミング言語が出現してきました。コンパイル言語で開発されたインタープリタ言語といって良いのでしょうか。それとも、2者の中間といって良いのでしょうか。
 本プロジェクトでは、HSP (Hot Soup Processor)という何とも不思議な名前のプログラムソフトを使用します。なぜこのソフトを使うかというとHSPは無料で使用できるフリーソフトだからです。
 ところで、HSPだけでは、USB−IOを作動させることはできません。K−Kさんの開発したプラグインソフトが必要です。

(5)HSPについて
 HSPは、お手軽に使うことのできるスクリプト言語システムです。付属のエディタでスクリプトを書くだけで、誰にでも簡単にウインドゥズ上で動作するアプリケーションを開発することができます。多彩な命令セットを使いこなすことでCG集、音楽集から、実用ツール、ゲーム、スクリーンセーバーなどを作成することができます。HSPには、次のような特長があります。
  • 簡単に覚えられる強力な命令セットを付属エディタですぐに使い始めることができます
  • 高速な動作をする中間言語処理インタプリタを搭載
  • 作ったプログラムやデータを一括してEXEファイル、スクリーンセーバーに変換できます
  • 作ったプログラムは自由に再配布が可能、ライセンス料も不要です
  • 拡張プラグイン・モジュールにより数多くの機能を追加可能です
  • 5年以上に渡る多くのユーザー資産と使用実績があります
  • 詳細なマニュアルとリファレンスヘルプシステムを装備
  • プログラミング初心者にも敷居の低いシンプル設計と操作
  • インタプリタならではの豊富なデバッグ支援システムを装備
(6)スクリプト言語(script language)
 アプリケーションの機能を補完するために、簡単なロジックを記述して処理を実現できるようにした簡易言語。MS-DOSのバッチコマンドやUNIXのシェルスクリプトがこれにあたる。HTMLファイルに記述することでWWWブラウザの機能を拡張するJava ScriptやVBScriptなどもスクリプト言語の1つ。最近では、CGIアプリケーションとして利用されることの多いPerlもスクリプト言語に含まれる。

(7)プラグイン (plug in 、plugin)
 アプリケーションに機能を追加する機能拡張ファイル。プラグインのファイルを特定のフォルダに入れることにより簡単に機能を追加することができる。プラグインは単体で動作せず、必要に応じて組み込んだり取り外したりできる。



USB-IO復活計画   3 参考資料の入手  
(1)図書館のリファレンスサービス
  トランジスタ技術誌の2000年6月号がこのプロジェクトの参考資料があるとわかって是非とも見たくなった。私は公立の図書館もない信州の山村の住人である。所用のついでに長野市の県立図書館へ寄ってみた。恥ずかしながらこの歳になって県立図書館にいくのは初めてである。窓口で尋ねると、まず、「自分でタッチスクリーンで調べてください。」と言われたので、調べてみたがみあたらない。結局のところ県立図書館にはなかったので。「トラ技」くらいはあるはずだと思ったのが甘かった。
 もっとも、県立図書館の職員は大変親切で、今度はカウンターにあるパソコンで他の図書館の蔵書を調べてくれた。そして、長野県内の図書館では唯一伊那市立図書館で「トラ技」を定期購読していることがわかった。ただし、3年保存とあるのが気になったが電話番号を控えて職場に戻った。
 職場に戻って早速、伊那市立図書館に電話をしてみた。こちらの職員も大変親切で、すぐに調べてくれて「蔵書している。貸し出しも可能です。」という回答であった。
 問題は自宅と図書館の距離である。高速をとばしても往復6時間はかかってしまう。伊那市に知人がいたのを思い出して勤務先に電話をしてみるとあいにく3日間の研修に出張しているとのこと。
 図書館同士のネットワークがあることを思い出して隣の須坂市立図書館に問い合わせてみたところ、「伊那市立図書館から借りることは可能です。ただし、3,4日かかります。」との返事であった。伊那市の知人に「図書館に行ってコピーして送ってくれ。」と依頼するのが良いか図書館に依頼するか迷ったため取りあえず保留した。

(2)クロネコヤマトのブックサービス
 自宅に戻ってインターネットで調べてみた。トランジスタ技術の発行元であるCQ出版社では雑誌のバックナンバーも販売していること。また、1年間分をCDーROM化していることがわかった。書店に注文すると送料無料。直送は送料が必要とあった。
 書店への発注は、過去の経験で時間がかかるので。送料はもったいないしと思いつつ、さらに検索していたらクロネコヤマトのブックサービスが8月はじめまで送料無料というのがあることがわかり、早速電話をしてみた。
  電話番号   03−3817−0711(東京)
  受付時間   8:30〜20:00
 「出版社の営業時間が終了しているのでご返事は明日になります。返事は電話で明日します。」とのことであったが、「明日は勤務先にいるかわからないので取りあえず注文したい。」と言うと、「在庫がなければはがきで知らせます。」とのこれまた親切な応対であった。

(3)結論
 ・「トラ技くらいは県立図書館にある。」と考えていたのは甘かった。
 ・長野県内の図書館のネットワークは結構充実していて相互貸し出しのシステムを使うと時間はかかっても必要な本は借りられる。
 ・少なくとも今日応対してくれた図書館職員の皆さんはみんな親切だった。
 ・もし、在庫があれば今日の選択は時間的にも経費的にもベストであろう。
 ・いずれにせよ、8月3日(日)頃までには、結論がでるはずである。
                                      (続く) 


USB-IO復活計画   4 試作品の完成  
 待ちに待った試作品が完成しました。8月末の土曜日、テクノキット社の川瀬さんが、わざわざ大阪から長野まで届けにきてくださいました。いくつかの試作品を作ったので、販売に向けて意見を聞きたいとのことでしたが、正直のところ迷います。

 a USB-IOVB   USB-IO本体です。片面基板としたため、モルフィー社のUSB-IOの約1.5倍の大きさです。

 b USB−IVB  インバータボードです。入出力を反転させ、出力容量を増す回路と12個のモニタLEDがついています。

 c USB-IOLED  LED制御テストボード。12個のLEDを円形に並べた回路です。

 d USB-IOMD  モータドライブボードです。4個のモータ出力と2ヶの入力信号を制御できます。モータ制御用に単2電池2個の電源
  を装備しています。

 e 複合ユニット1  USB-IOVB+USB-IOLED.。USB-IOに円形に配置したLEDを組み合わせたもの。

 f 複合ユニット2  USB-IOVB+USB-IOVB 。USB-IOに信号反転回路とモニタLEDを装備したもの。






USB-IO復活計画   5 USB−IOのテスト  
早速、HSPで復活したUSB−IOをテストしてみます。試作品の内、インバータICとモニタLEDが装備されているものを使用しました。

□ソフト
・HSP本体  下のHSPのページから HSP version2.6
を入手します。
・プラグイン  下のK−KsoftさんのページからHSP USB-IO用プラグイン Ver 0.1dを入手し、HSP本体と同じディレクトリに解凍します。Ver 0.1dはモルフィー社オリジナルとテクノキット社製の両方のUSB-IOに対応します。

□接続
 USB-IOVB+USB-IVBのボードをUSBコードで接続します。とりあえず12個すべてのLEDが点灯すればOKです。

□初めてのプログラム
(1)HSPスクリプトエディタを起動し次のように記述します。

 #include "hspusbio.as"
 uio_out 0,0

*1半角の小文字で記述します・
*”. ”(ドット)と”,”(カンマ)を区別してください。
*”_”(アンダーバー)は、キーボードの”け”の下、”め”の右にあります。

(2)プログラムの実行
 f5(ファンクションキーの5)を押すとプログラムが実行され、右側の8つのLEDが消灯します。

(3)数字を変えて実行してみましょう。
  uio_out の後のカンマで区切る数字を色々と変えてみましょう。
  最初の数字は0か1を指定します。
  0は右端から1−8番目を、1は9−12番目の信号を制御します。
  2番目の数字は1番が0の時は0-255、1の時は0-15を指定します。

       





USB-IO復活計画  6 USB−IO/インバータボードキット製作記  
テクノキット社をせかして送ってもらったキットを仲間4人で組み立てました。4人とも電子回路の組み立ての経験は十分あるので少し甘く見ていたため結果は悲惨でした。1人2個、4人で合計8個の組み立てに約3時間、つまり1個の組み立てに約90分もかかってしまいました。さらに、動作試験をしたところ8個の内、一発で作動したのがたたった2個。残る6個の手直しに約1時間。終わってみれば合計4時間が経過していました。つまり、1個の完成に2時間という訳です。
回路等の紹介を先にすべきですが、とりあえず、キット製作のポイントをメモしておきます。


□回路構成

  USB-IO(モルフィー社同等)-インバータ&モニタLED(ロジックIC2個+LED12個)-3色LED回路

  
□ポイント1(LEDの半田づけに注意!)

 後でわかったことですが、このキットの製作の難しいところは、ジャンパー線の多いことだと思います。(29本)
 特にLEDの部分は、12本のジャンパー線がくせ者です。「背の低い部品から取り付ける」という常識に従って抵抗器を先にとりつけたのが間違いでした。不良品の90%は、LEDの半田不良(いもづけ)と、ジャンパー線の絶縁不良でした。
 一番最初に、LEDをていねいに半田づけしてください。LEDのリード線は折り曲げた方が良いでしょう。

□ポイント2(LED部のジャンパー線に注意!)


 LED部のジャンパー線はLEDをまたいで配線するため、配線の熱で絶縁チューブを溶かしてしまい、LEDの足でが長いと、その部分がショートしまう危険があります。見た目は悪くても余裕をもって配線しましょう。


□ポイント3(ジャンパー線の浮きに注意!)

 USB-IO部とインバータ部をつなぐジャンパー線は、基板の表から差し込んだ方がよいでしょう。


□ポイント4(LEDとICの極性に注意!)

 LEDはリードの長い方がアノード側(▽側)です。ICはマークに注意!


□ポイント5(ICの挿入の仕方)

 基板の穴の間隔よりICの方が広いので机の上で片側を押さえて間隔をせばめると挿入しやすいです。
USBコネクタも同様に間隔をせばめてからつけるとよいでしょう。


■総評

 このキットの組み立ての難しかった原因はコストを下げるため片面基板としたため、ジャンパー線が多くなっていることです。
ジャンパー線の絶縁チューブを耐熱性にする。あるいは0オームの抵抗を使用するなどの対策をテクノキット社に依頼することにしました。



このページの内容は2002〜2003に記載されたものです。
2010年10月iswebライトの閉鎖にともないhirara-ITにデータを移行しました。
(2010/10/24)