超音波距離計用Pmodインターフェース(VHDL)

Logic Home

コードのダウンロード

バージョン1.1:pmod_ultrasonic_range_finder.vhd(3.6 KB)
いくつかの合成の警告を削除、v1.0との機能的な違いはありません

バージョン1.0:pmod_ultrasonic_range_finder_v1_0.vhd(3.2 KB)
最初のリリース

特長

  • Digilentの超音波距離計(MAXSONAR)用Pmodへの簡素化されたインターフェースのVHDLソースコード
  • 最新の距離データをパラレルインターフェースで連続的に出力
  • MAXSONAR Pmodの全データを処理
  • 受信データをインチに変換
  • システムクロックレートを設定可能

はじめに

本稿は図1に示すDigilentの超音波距離計(URF)用PmodにFPGAを接続するためのVHDLコンポーネントの詳細を説明するものです。図2は、このURF Pmodインターフェースコンポーネントをシステムに組み込んだ典型的な例を示しています。このように、URF PmodインターフェースはPmodのパルス幅(PW)ポートに接続し、距離情報を収集します。距離をインチ単位で計算し、それをシンプルなパラレルインターフェースで提示します。このインターフェースは、ユーザーロジックやFPGA上の出力ポートに接続されます。

ultrasonic_range_finder_pmod

図1. Digilentの超音波距離計用Pmod

図2. 実装例

背景

超音波距離計用Pmodは、Maxbotixの超音波センサMB1010 LV-MAXSONAR-EZ1を使用して距離を測定しています。センサには、アナログ電圧、パルス幅、UARTの3つの出力があり、それぞれが同じ距離情報を伝達します。このFPGAインターフェース設計では、実装に必要なFPGAリソースが最も少ないパルス幅を使用します。パルス幅出力は、単に可変幅のパルスであり、その持続時間は検出された物体までの距離に対応します。

動作理論

URF Pmodは、350msの起動遅延の後、49msごとにパルス幅(PW)出力でパルスを送信します。このパルスの幅(持続時間)の範囲は、0.88ms≦PW≦37.5msです。147usのパルス幅が、検出された物体までの距離の1インチに相当します。

URF Pmodインターフェースロジックは、2つのカウンタを使用して距離を評価します。PW信号がアサートされると、最初のカウンタはシステムクロックパルスをカウントし、147us相当となるまでカウントします。この時点で最初のカウンタがクリアされ、第2のカウンタがインクリメントしてインチを記録します。このプロセスは、PW信号がデアサートされるまで繰り返されます。

PW信号がデアサートされると、第2カウンタの値(すなわち、総インチ数)は標準的な論理ベクトルに割り当てられ、2進数として distanceポートに出力されます。両カウンタをクリアして、次の測定に備えます。

クロックの設定

このURF Pmodインターフェースのクロックは、ENTITYで定義されたGENERIC clk_freqに値を割り当てることで設定されます。このGENERIC clk_freqには、供給されるシステムクロックの周波数(MHz)を設定する必要があります。

ポートの説明

表1にURF Pmodインターフェースのポートを示します。

表1. ポートの説明

接続

このPmodには、6ピンのコネクタがあります。表2に、このコネクタのピン配置を示します。URF Pmod Interfaceコードのポートは、このコネクタに配線されているFPGAピンにリスト通りに割り当てる必要があります。

表2. URF Pmodのピン配置とFPGAのURF Pmodインターフェースコンポーネントへの接続

connections

リセット

URF Pmodインターフェースが動作するためには、reset_n入力ポートがロジックハイである必要があります。このポートをローレベルにすると、コンポーネントが非同期でリセットされます。リセット中、コンポーネントは現在の読み取りを中止し、URF Pmod入力を無視します。また、distance出力とその内部ロジックもクリアされます。リセットが解除されると、URF Pmodインターフェースは動作を再開します。

まとめ

このURF Pmodインターフェースは、Digilentの超音波距離計用Pmodにインターフェースするプログラマブルロジックコンポーネントです。URF Pmodとのすべての通信を処理し、更新された距離データの継続的なストリームをパラレル出力で提供します。

コンタクト先

ご意見、ご感想およびご質問は、eewiki@digikey.comまでお寄せください。




オリジナル・ソース(English)