Aug 07, 2023
プログラマブル ロジック: CPLD モジュールを自分で構築する
Complex Programmable Logic Device (CPLD) は、レパートリーに加えておきたい優れたハードウェアです。 その名前が示すように、必要な論理機能を提供するようにこれらのチップをプログラムできます。 これはもしかしたら
Complex Programmable Logic Device (CPLD) は、レパートリーに加えておきたい優れたハードウェアです。 その名前が示すように、必要な論理機能を提供するようにこれらのチップをプログラムできます。 これは、時代遅れのチップを置き換えることである場合もあれば、さまざまなテクニックを学び試してみる方法にすぎない場合もあります。 CPLD を手に入れて試してみるよりも良い学習方法はあるでしょうか?
はんだなしブレッドボードを含むさまざまなものに接続できるようにすることを目的として CPLD モジュールを作成しましたが、失敗してしまいました。 無はんだブレッドボードで利用可能なプラグインスペースは 1.1 インチのようですが、私はフットプリントを 1 インチ幅にして、両側に一列のワイヤを配置する余地を残していませんでした。 当然です。
しかし、話を戻して、私が何をしているのか詳しく説明しましょう。私は、自宅で簡単にはんだ付けでき、回路内でプログラムでき、3.3 で動作するキットとして構築できる、プログラマブルなロジックを作りたかったのです。または5ボルト。
簡単にはんだ付け可能なキットを実装するために、電力に関係なくプログラミングを維持する 3.3v および 5v バージョンもある古い CPLD パーツを使用しました。 ロジック自体は Altera Max ファミリの CPLD IC で、32 個または 64 個のマクロセルを搭載したボードに適合する 2 つのバージョンがあります。 マクロセルは基本的なロジックの構成要素であり、ロジックの「用語」でプログラムされ、プログラマブル相互接続を通じて他のマクロセルに相互接続されます。
回路図を見ると、大したことはないことがわかります。基本的には CPLD、インサーキット プログラミング用の回路、および CPLD 内のロジックを駆動する発振器です。
EPM7032 および EPM7064 として知られるこの部品は、44 ピンのプラスチック リード チップ キャリア (PLCC) で提供され、ピン リードの J 形状から J リードと呼ばれることもあります。 このパッケージは、スルーホールソケットに挿入することも、PCB に直接はんだ付けすることもできます。
オンボード発振器が組み込まれているため、CPLD はステートフルに動作し、外部クロックを必要とせずに高速カウンターを独自に作成できます。 外部クロックが利用可能な場合は、モジュール上の高速クロックを使用して、外部クロックの各立ち上がりエッジまたは立ち下がりエッジでクロック イベントを作成できますが、実際に使用する必要があるという CPLD/FPGA のガイドラインに従うこともできます。内部グローバル クロック ネットワークを使用し、クロック入力を「非同期」で駆動しません。 この発振器の電源電圧は 1.8 ~ 5.5 ボルトです。
ビデオを見ると、発振器のイネーブル「INH」ピンをどのように扱うかについての私の個人的な好みについて説明しているのがわかります。 簡単に言えば、仕様書で合法であることを確認した後は、フローティング状態にしておく傾向があります。
この種の機能を扱うときに頭に浮かぶ理由としては、できることなら入力ピンを電源レールに直接接続したくないという事実が挙げられます。 IE たとえ必要ではないとしても、過渡時の電流を制限する直列抵抗を使用することを好みます。
長年にわたり、私は生産(大量生産)において、電源の再投入などにより、電源レールに直接接続されているピンの電圧がチップ自体よりも高くなり、問題が発生するという問題を目にしてきました。 最後に、ピンを抵抗を介して電源レールに接続すると、電源かグランドかに関係なく、後で気が変わってそのピンを使用できます。 これは、私の経験では特に未使用のゲートに当てはまります。ご存知のとおり、ゲートをフローティングまたは未接続のままにしておくべきではありません。 プルアップを使用すると、銅配線を切断することなく信号を接続してゲートを使用できるポイントが得られます。
10 ピン コネクタと少数の抵抗がプログラミング回路を構成します。 すべての抵抗がプルアップであれば、抵抗ネットワークを使用することになりますが、残念ながら 1 つは接地されています。
このようにスタンドアロン CPLD をプログラムするには、専用のプログラマが必要です。 私は普段いくつかのゲームを持っているので、そう言うのは簡単ですが、持っていなくてもゲームに参加するのはそれほど難しくありません。 承認済みの「Altera USB Blaster」の価格は 50 ドルで、Digikey などから入手できます。 私は Ebay から入手したいくつかのクローンを持っています。その中には、Altera、Xilinx、Lattice をすべて 1 つでサポートするクローンもあります。 インターネット上には独自のクローンを作成するためのプロジェクトとコードが公開されており、プログラマのクローンを作成するプロジェクトを実行するためのビデオのリストにそれを入れています。 メインボード、Arduino、PICなどでプログラミングできるシールド設計も紹介します。

