8051

お約束ですが、このページのいかなる記載においても著者は一切の責任をおいません。

実は昔はキットが高価だった事などありEZ-USBは避けてきたのだが、ハードオフで ジャンクを買ったりしていくつか手に入り、正規の使い道のなくなった物などもで てきたので、ちょっと調べて見る事にした。(2013/10)

CypressはEZ-USBをAnchor Chipsを買収して手に入れたのだが、そのまえからCY7C63xxx というRISCチップを使った製品を作ってみた模様。

IMGP2464

EZ-USBはオリジナルは12M対応でFX2というモデルで480M対応となっている。FX3という USB Ver3に対応したモデルもあるようだ。

2001年 CQ出版の資料でちょっと古いが、EZ-USBの構造の資料があり参考になった。

もちろんMacでの開発になるのだが、京ぽんのドライバを作られていた、raktajinoさん のページや、 電子工作系でいろいろ参考にさせてもらっている「なんでも作っちゃう、かも。」さん のページを参考に してみた。

最近はPICやAVRの方がホットで、上記の記事も少し古い物になっているので、変わっ てしまった点を書いてみる。

昔のXcodeにはサンプルコードが含まれていたが、Xcode Ver3のどこからかサンプル コードが添付されなくなり、これに含まれていたEzloader ExampleはAppleのDeveloper のサイトにも無い為、古いXcodeをインストールして拾い出すしかなくなっている。 IOKitのオープンソースに含まれているようです。

Ezloader ExampleはgithubにもIOKitのツリーでコピーされていたりする。使いにく かったのとFX2の対応とrawバイナリーの対応を入れてgitにレポジトリ (Ezloader_OSX) を作ってみた。

これに加えSDCCが2.xから3.xにバージョンが変わり、ANSIにない予約語には__が必要に なっている。raktajinoさんのサンプルコードで__data,__interrupt,__using, __critical,__sbit,__at,__xdataがこれに該当していた。このエラーは以下のように 出てきて何の事か分かりにくい。

ezusb_reg.h:27: syntax error: token -> 'at' ; column 7

FX2系のlibusbベースのコードを本家のCypressが AN74505というサンプルソース を2012/11から提供を初めていた。

8051系のチップはEZ-USB以外にもTIのTUSB3410やCC2xxxなどがある。 KEYSPANのリモコンモジュールでEEPROMを外してTUSB3410が見えるようにしてサンプル プログラムをダウンロードしてみた。ダウンロードとサンプルプログラムは にはここにあったものを使った。

Silicon LabsもC8051F30xという8051ベースののチップを作っていてこれは元々Cygnal 社が作っていた物を買収したみたいだ。

このマルチメーターでも使われているが、 昔は沖電気など国内にも8051なチップを作っていたメーカーがあったが、理由は 分からないが、無くなってしまったのかもしれない。

AN74505をlibusbでの処理をIOUSBで書き直して、 github に置いておきました。

上記をやっていて、気がついたのだがIOUSBの関数名や変数名はちょっと無理矢理 なところがある。Mac OS Xの開発で期間が決められたきつい仕事だったのかもしれず いたしかたなかったのかもしれない。しかしながらユーザーランドにUSBを 出してくれたIOUSBの功績は計り知れない。

FX2はUSBのパフォーマンスが良かったのかデーター送信用のモジュールに使われる 事が多かったようだ。FX3はUSB3対応のようだが、USB3に8bitマイコンはちょっと 不釣り合いな気もする。

いろいろ分解していて気がついたのだがAtemlもAVRを始める前(?)にAT89C51という 8051系のマイコンを作っていたようだ。



Copyright (C) 2013 Hiroki Mori All Rights Reserved.