PICでUSBを!(知識ゼロからのスタートです)
PIC18F14K50のUSB機能を100%自前のソフトで制御する試みです。しかもアセンブラで!
当記事は2009年12月から「TTLでCPUをつくろう!」というタイトルの もとにほとんど毎日連載をしてきたものを再編集したものです。 |
2011.7.8 前へ 次へ 目次へ戻る ホームページトップへ戻る |
☆プロローグ 今までUSBを使ってパソコンと通信をする部分にはFTDI社のFT232RLかまたはFT245を使って、RS232C−USB変換をしておりました。 ところがUSBコントローラを内蔵しているPICがあることを知りました。 PICは232C通信をするためなどに使っています。 それならそのUSBコントローラを内蔵したPICを使えばFT232RLを使わなくても済んでしまいそうです。 FT232RLはなかなかに便利なICですが、ただ難点はフラットパッケージしかないことです。 それを使わなくても済むということならば、ここは一番ぜひとも挑戦してみるべきでありましょう。 さっそくPIC18F4550のマニュアルをダウンロードして読んでみたのでありますが…。 |
[第8回]
●パラレルポート(続きです)
前回、パラレルポートからのパルス出力波形について、「(Windows98のDOSプロンプトで実行すると、Windowsのマルチタスク処理のために、出力波形がときどき乱れますが)この波形の乱れはWindowsを終了してDOSで実行したときには無くなります。」
と書きましたが、ウソでした。
何事においても、やっぱり余程しっかりと確認してから書くようにしませんと、ウソを書いてしまうことになります。
いつものことで、つい先入観が邪魔をして、波形をしっかり確認するのを怠ってしまいました。
ちょっと気になってオシロスコープの波形をしっかり確認してみましたら、DOSモードでも波形の乱れは出ていました(Windows98上のDOSプロンプトよりは乱れは少ないですけれど)。
前回の写真では、そこのところがはっきりわかりませんでしたので、もういちどしっかり写真を撮ってみました。
Windows98のDOSプロンプトで前回のOUTTEST.COMを実行中の波形です。
多分Windowsの割り込み処理のせいだと思いますが、パルス出力がかなりの時間(約60μs)待たされています。
こちらはDOSモードで実行中の写真です。
こちらは数μs程度ですが、それでも出力が一時待たされています。
これは何なのでしょうか。よくわかりません。
キー入力をセンスしているのか、とも思ったのですがキー入力は全く受け付けませんから、そうではないようです。
ひょっとすると、DOSモードといいながら、じつは裏でWindowsが何かをしていたりして…。
そういう疑いもぬぐえませんから、もう少し追求してみることにしました。
これは、純粋にDOSだけで起動してOUTTEST.COMを実行している画面です。
ちょっと画面がぼけてしまいました。
どういう画面だかわかりますでしょうか?
じつはこれ、Windows95の起動ディスク(フロッピーディスク)で起動させた画面なのです。
プロンプトがA:¥>になっているのがわかりますでしょうか。
起動ディスクにもcommand.comが入っていますから、この画面のように、AドライブからCドライブのDOSプログラムを実行させることができるのです。
起動ディスクというのは、Windows95やWindows98をセットアップするときに、最初にハードディスクをフォーマットしたり、CDROMのsetup.exeを実行するために使用するフロッピーディスクです。
初期のWindows95の時代にはCDROMから起動できないマザボードがありましたので(う?Windows95そのものがCDROMからは起動できなかったか?もう忘れました)、まずフロッピーディスクから起動する必要がありました。
余談ですがWindows95、Windows98のセットアップのときにオプションで作成することができる起動ディスクは、フロッピーディスクが2枚必要でした。
これが面倒なので、余計なものを外して、フロッピーディスク1枚に収めたものを作って、ずっとそれを使っています(どうやって作ったかは、もう忘れてしまいました)。
ハードディスクのトラブルなどでWindowsが起動しなくなったときなどに、緊急の必需品です。
もともとはWindows95のためのものですが、Windows98のセットアップやフォーマットにも使えます。
Microsoftは実に嫌なメーカーで、何らかのトラブルでWindowsの一部が破損してしまったときなど(修復不能な場合)、そこに上からもう一度Windowsをセットアップしようとしても、拒否されてしまいます。
「すでにオペレーティングシステムが存在します」
そんなことはわかっとるわい。そいつが壊れとるから、上からおっかぶせようちゅうとるねん。
そんなときは、この起動ディスクでハードディスクを再フォーマットする必要が出てきます(まさかのときの必需品です)。
はい。余談でした。
で、これがその起動ディスクで起動したDOSで、OUTTEST.COMを実行中の写真です。
時間軸を拡大しています。
約8μsくらいですが、やっぱり中断させられています。
Windows95の時代のDOS(しかもフロッピーベースの)でも同じということになりますと、これはもうWindowsとは関係なくて、DOSそのものの振る舞いということになります。
あるいは、ひょっとするとハードウェア的なものなのかも…?
う。う。う。
どうでもよいことなのですけれど。
もう少し追求してみたくなりました。
●FreeなDOS
Microsoft社は今まで、古いOSのユーザーをずっと切り捨ててきました。
なんというメーカーなのでしょう。
もとはIBMと共同で開発したMSDOSで名をあげた企業でしたのに、Windows95で世界の覇者になると、MSDOSの販売を中止してしまいました。世界中にまだMSDOSのユーザーがいっぱいいるというのに、です。
そしてご存知のように、Windows95もWindows98もサポートを打ち切るとともに供給することも中止してしまいました。
Windows95やWindows98は、MSDOSの上に重ねるかたちでWindowsのOSが存在していた(のだと思います)が、WindowsXP以後のOSはMSDOSを必要とせず、最初からWindowsのOSそのもので構成されています(ということのようです)。
そういうことでしたならば、もうMSDOSはMicrosoft社としてはどうでもよいOSなのですから、フリーなOSにして自由に使わせてくれてもよさそうなものなのですが、なんとMicrosoft様は、MSDOSもWindows95もWindows98も、
「やーだね。やなこった。使わせてやんないよ。」、とおっしゃっているのです。
なんという傲慢。
うう、ほんと、腹が立つう…。
と頭にきてしまうのは、どうやら私だけではないらしくて、同じ思いの方が、世界中にはいっぱいいらっしゃるようです。
そうでしょう。そうでしょう。
そういう方たちが、
もう我慢できん。Microsoftがそういうつもりなら、いっそMSDOS互換のOSをみんなで作ってしまおうではないか。
ちゅうことになったのは当然といえば当然の成り行きだったのです。
MSDOS互換のFreeなDOSについては何年か前にも注目して情報を集めたことがあったのですが、今回ふとそのことを思い出して、あらためてWebで調べてみましたら、なんと当時に比べてずっと発展してすばらしい出来になっておりました。
もちろんMSDOSとは違い、フリーですからどなた様でもダウンロードしてすぐに使うことができます。
私もさっそく有り難くダウンロードさせていただきました。
普通のイメージとしては、当然ハードディスクにセットアップするのでしょうが、なんとご親切なことに、フロッピーディスク版もあるのですよね。
1.44MBのフロッピーディスク1枚に収まってしまうDOSです。
それならすぐに使ってみることができます。
さっそく使ってみましたよ。
AドライブからCドライブ上のOUTTEST.COMを実行できました!
わあ、すごい。ほんとにMSDOS互換ですよお。
うう。もお、がまんできん。
「どうだぁ、おもいしったかぁ。マイ○○ソ○トぉ、くそくらえぇ」(ああ、ええきもち)
こちらは出力波形の写真です。
全く同じ波形ですから、これはどうやらハード的な可能性が大なようです。
ああ。さきほどのフロッピー版フリーDOSは、JISキーボードはサポートしていません。
当然フォントは英字です。
ですからC:¥ではなくて、C:\になります。
入力はキー配列が一部JISキーとは異なりますが、全く使えないほどではありません。
:(コロン)は+キーを押すと入力できます。
\は]キーで入力できました。
●ハードディスク版のFreeDOS
ここまできたら、やってみるしかないでしょう。
ハードディスク版もダウンロードして、セットアップして使ってみましたよ。
CドライブにインストールしたFreeDOSが動いています。
表示がC:になっているのがわかりますでしょうか。
ハードディスク版はセットアップの途中でキーボードの言語を聞いてきました。
おおっ、と思ってリストを見ましたら13番目だったかにJAPANがありましたので、その番号を入力しましたら、JISキーボードが使えるようになりました(カナが使えるという意味ではありません)。
ちゃんと : キーを押すと、:が表示されましたし、¥キーを押すと、\が表示されました。
●FreeDOSのサイトです
FreeDOSのサイトをご紹介します。
http://www.freedos.org/freedos/files/です。
fdfullcd.isoをクリックするとフルセットのCDROMイメージファイル(isoイメージ)がダウンロードできます。
ダウンロードにはかなり時間がかかります。
私の接続環境は光ですけれどそれでも1時間以上かかりました。
ダウンロードしたfdfullcd.isoをそのままisoイメージでCDROMに焼き付けますとセットアップCDになります。
めちゃめちゃたくさんいっぱいはいっています。
CコンパイラもBASICも、なんとPASCALコンパイラまで(!)はいっています。
セットアップではファイルの種類ごとに、インストールするかどうか聞いてきますが、よくわからんので全部yesで通しました。
セットアップにもずいぶん時間がかかりましたが、各ファイルの使い方はちょっと研究してみないことにはよくわかりません。
フロッピー版の方が簡単なのでおすすめです。
上で紹介したfreeDOSのサイトへ行って、画面の右上にある、looking for a single−disk…の(Download)をクリックすると、フロッピー版freeDOSのイメージファイルのダウンロードサイトに行くことができます。
ですけれど、フロッピー版の作成にはちょいと知識が必要です。
本日は時間がなくなってしまいましたので、freeDOSフロッピーの作り方については、次回に説明することにいたします。
(なんだかめちゃめちゃ道草してしまっているようですけれど…)
CPUをつくろう!第400回(2009.12.15upload)を再編集
PICでUSBを![第8回]
2011.7.8upload
前へ
次へ
目次へ戻る
ホームページトップへ戻る