FT2232Dモジュールキット(その2)
前回書いたようにブリッジを修正するわけですが、その前に現状を確認しておきます。
ピン21とピン22の間がブリッジしています。これはADBUS3, ADBUS2ですので、念のためピンヘッダ用のパッドのところで短絡していることを確認しました。
フラックスを塗布して先の細いコテ(T18-S4使用)で外側に引っ張るようにして修正しました。
個人的に製作してきたものの紹介です。
電子的なものがほとんどですが、そうでないものも出来るだけ出していきたいと思っています。
回路図、ソースコードなどは出来ればすべて載せたいのですが、以下の理由で難しいものが多いです。
残っていないのではなく、そもそも書かないことが多かったためです。
もちろん仕事ならば書きますが。
特に古いものでは雑誌など掲載のものをベースにしているものがあり、オリジナルと分離できないものは公開できません。
5インチや8インチのフロッピーだったり、PC-9801フォーマットだったりして読むのが難しいものがあります。
前回書いたようにブリッジを修正するわけですが、その前に現状を確認しておきます。
ピン21とピン22の間がブリッジしています。これはADBUS3, ADBUS2ですので、念のためピンヘッダ用のパッドのところで短絡していることを確認しました。
フラックスを塗布して先の細いコテ(T18-S4使用)で外側に引っ張るようにして修正しました。
長らく放置してしまったEEPROM問題ですが、解決(というか原因判明)したのでその顛末を記しておきます。
まず前回の最後に書いた試してみたいことですが
といった結果でした。
秋月の2階にてしばらく前からSuper AKI-80の基板のみを280円という安価で販売しています。SuperではないAKI-80は持っているので様子見していたのですが、結局値段につられて買ってしまいました。
CPUは東芝のTMPZ84C015BF-12, RAMは32k×8bitのSRM2B256SLMX55が載っています。他に74VHCのロジックICが4つあります。その他の部品は各自で揃える必要があります。
先日のPC電源騒動の時に作業場所を確保しようと片付けていて昔作ったボードを発見しました。
このボードが何かというと、MP3プレーヤキットを拡張しようとして作ったものです。再生中の曲番を表示したり、ボタンを増やそうとしたのでした。
載っているICは左右が74HC164で、中央が74HC165です。
しばらく前から頭を抱えている問題があります。
UA6527PのところでRP2A03ボードを使って動かした話をサラッと書いていますが、実は結構面倒なことになっていたのです。
CPUを載せ替えて試すということでこれまで載せていなかったEEPROMを搭載したのですが、なぜか書き込みが全てエラーになってしまいました。
書き込めないとなるとまず疑うのはWP(Write Protect)ピンです。
確か内部プルダウンされているのでオープンにしていたはずですが、念のためデータシートを確認すると……
今回載せたMicrochipの24LC64だとVssかVccいずれかに接続せよとあるではないですか。
どうもAtmel AT24C64は内部プルアップあり、Microchip 24LC64は無しのようです。秋月も昔はAT24C64だったと思うのだけどいつ切り替わったのだろう?
去年入手したLM3909、せっかくなので一番簡単なLED Flasherを組んでみました。
『初歩のラジオ』1981年1月号掲載のものをそのまま作ってみました。
とてもシンプルで、外付け部品は100μFの電解コンデンサとLEDのみです。
これに電源として1.5Vを加えると約1秒に1回LEDが光ります。デューティは低く光るのはほんの一瞬です。ちなみに電源電圧を上げると点滅周期が短くなります。
NS32016ボードのコメントにちょっと書いたようにNS32081 FPUを搭載してみました。
空きエリアに24ピンソケットを置いてNS32081D-10を載せます。
このFPUはたったの24ピンしかないのにバスは16ビットあります。接続は簡単でデータシートの通りにNS32016の同名の信号と接続するのみ、CPU空間のデコードを必要とするMC68881などよりシンプルです。あ、クロックだけはNS32201から引っ張ってきます。
ハードウェア的に接続出来たら次はソフトウェアですが......
前回プログラムが動き始めたので、例によってUniversal Monitorの移植を行なっています。似ているプロセッサとしてMC68000をベースに、HEXファイル関係については長いアドレスに対応したH8/300Hが元にしています。
現時点でD(ump), G(o), S(et), L(oad), P(unch)の各コマンドが動作するようになっており、引き続きR(egister)の実装を進めているところです。
ということで気付いたことを書いてみようかと思います。
NS32000のバイトオーダーはリトルエンディアンなのですが、命令語に含まれる即値やディスプレースメントなどはビッグエンディアンで格納されます。
面白いのはディスプレースメント(絶対アドレッシングのアドレスも含む)は可変長で、最初のバイトの最上位ビットが"0"なら符号付7ビット、上位2ビットが"10"なら符号付14ビット、"11"なら符号付30ビットになることです。
今回はNS32016ボードの組み立て終わってからUniversal Monitorの移植を始めるまでの動作確認編をお送りします。
まずは発振器とTCUのみで動かしてみます。CPU→TCUの信号が数本あるので仮にプルアップしておきます。これでPHI1, PHI2が出ていることを確認します。
リンギングが酷いですが、とりあえずTCUは動作してそうですね。
約半年ぶりにマイコンボードを作ってみました。
今度のはNS32016のボードです。もちろんEMILY Boardを使っています。
8ビットバスのNS32008を使った方が配線が少し楽になりますが、こちらは入手しずらいのと、NS32016はいくつも持っているからです。