アプリケーションノート119

FPGAまたはASICへの1-Wire®マスタの組み込み


要約:このアプリケーションノートでは、1-Wireマスタ(1WM)をユーザのASIC設計に組み込む方法について説明しています。また、Verilogで1-Wireマスタのインスタンスを作成する方法についても要約しています。このアプリケーションノートで参照しているDS89C200は、ロジックマイクロコントローラです。読者は、一般的なDS1WM 1-Wireマスタと1-Wireプロトコルの知識があることを前提にしています。

はじめに

1WMと呼ばれるDS1WM 1-Wireマスタは、ビットタイミングの問題をなくした1-Wireバスに接続されたデバイスとのホストCPU通信を容易にするために開発されました。このアプリケーションノートでは、1-Wireマスタ(1WM)をユーザのASIC設計に組み込む方法について説明しています。このアプリケーションノートで参照しているDS89C200は、ロジックマイクロコントローラです。読者に、一般的なDS1WM 1-Wireマスタとマキシムの1-Wireプロトコルの知識があることを前提にしています。詳細については、アプリケーションノート937 「Book of iButton Standards」およびDS1WMのデータシートを参照してください。

構造

1WMは、4つのサブモジュールを連結して完全な装置を形成する、トップレベルのハーネスとして用意されています。トップレベルのハーネスには、HDLコードはありません。4つのサブモジュールファイルは、one_wire_interface、one_wire_master、clk_prescaler、およびone_wire_ioから構成されています。クロックプレスケ―ラを必要としないアプリケーションで、clk_1us信号のために外部1MHzクロックソースが供給されている場合、このモジュールを省くことができます(DS1WMデータシートにτとして示されていますが、入力クロックは0.8MHz~1.0MHzまでと指定されています)。

one_wire_ioモジュールは、DATAとDQ信号について双方向の信号を提供します。DQ信号は多くのアプリケーションでI/Oピンになります。この場合、DQのパッドドライバは適正なESD保護を備えたオープンドレインパッドでなければなりません(図1)。また、周辺デバイスがDS1WMの供給電源より大きいプルアップ電圧を使う場合、パッドドライバは、余剰な電圧に耐えることができるものでなければなりません。この場合、ダイオードクランプを使うことはできません。100Ωの出力ドライバ(Q1)と、チップのVCCには4.7kΩの外部DQプルアップを推奨します。適正な通信を確立するために、チップVCCは1-WireスレーブのVIHよりも大きくなければなりません。

図1. DQパッドドライバ(one_wire_io)
図1. DQパッドドライバ(one_wire_io)

ライブラリ

Verilogソースをコンパイルするのに外部ライブラリは必要ありません。VHDLソースバージョンには、IEEE.std_logic_1164とwork.std_arithの両方のライブラリが必要です。

接続

次の表は、1-Wireマスタが正常に動作するために接続しなければならないワイヤを示しています。

Pin Operation
DQ Open Drain Bi-directional 1-Wire Bus Connection
DATA Bi-directional 8 Bit Data Bus
ADDRESS 3 Bit Address Bus
ADS-bar Address Strobe
EN-bar Instance Enable
RD-bar Read Data Strobe
WR-bar Write Data Strobe
INTR Interrupt Detection
CLK System Clock
MR Mater Reset


アドレスストローブがシステム内で利用できない場合、/ADSをローに接続し、アドレスラッチをトランスペアレントにすることができます。/EN信号は、1Wマスタモジュールの外部のアドレスデコードロジックによって生成する必要があります。1WMがデータバスの唯一のインスタンスである場合、/ENはローに接続することができます。CLKに接続されているシステムクロックは、3.2MHz~128MHzの範囲でなければなりません。すべての接続の詳細な動作については、DS1WMのデータシートを参照してください。

以下の例は、Verilogで1-Wireマスタのインスタンスを作成する方法を示しています。
module DS89C200 (...top level list...);

wire [7:0] DB;
wire [2:0] ADDR;
wire sysclk, read-bar,
     write-bar, master_reset,
     interrupt, addr_strobe;
wire DQ_OUT;

supply1 Tie1;
supply0 Tie0;

cpu xcpu(.CLK(sysclk),
         .DB(DB),
         .EXTRD-bar(read-bar),
         .EXTWR-bar(write-bar),
         .EXTADDR(ADDR),
         .RESET(master_reset),
         .EXTINTR(interrupt),
         .ADDR_ST(addr_strobe),
         ... other I/O signals ...);

onewiremaster xonewiremaster(
         .ADDRESS(ADDR),
         .ADS-bar(addr_strobe),
         .EN-bar(Tie0),
         .RD-bar(read-bar),
         .WR-bar(write-bar),
         .DATA(DB),
         .INTR(interrupt),
         .CLK(sysclk),
         .DQ(DQ_OUT),
         .MR(master_reset) );

... rest of design ...
xcpuで生成されたすべての信号は、1-Wireマスタのタイミング要件を満たしています。データバス上にその他のアドレス可能なロジックがないので、/EN信号はローに接続されます。DQ_OUT信号は、直接I/Oパッドに接続されています。

合成

この設計の合成は、非常に簡単です。個々のサブモジュールを個別にコンパイルし、その後、オプションとしてトップレベルをコンパイルするボトムアップアプローチを推奨します。sysclk信号に伴うclk_1us信号に対して、タイミングの制約を与える必要があります。さらに、/WR、/RD、/EN、/ADS、およびMRなど非同期の制御信号のいくつかに対して、タイミングの制約が必要となる場合があります。また、クロック信号にバッファが挿入されないようにするため、clk_1usにも制約が必要となる場合があります。ほとんどの場合、クロックツリーなどのクロック分配手法が必要になります。

ソースコードには、合成スクリプト例と、Synopsysデザインコンパイラとともに使用することができるメークファイルが含まれています。これらを使用するには、ターゲット合成ライブラリを定義する.synopsys_dc.setupファイルを作成する必要があります。また、出力駆動強度と入力負荷を指定するために使われるデバイスをターゲットライブラリから指定する環境ファイル(「environment」と呼ばれる)を変更する必要があります。これらのスクリプト例は非常に一般的なものです。実際のスクリプトと制約ファイルは、特定設計のタイミング要件に適合するようにエンジニアによって作成されます。ここで念頭に置くべきことは、1-Wireマスタブロックのタイミングは意図的に完全同期ではないということです。DQ出力はCLKに同期しますが、バスのリード/ライトのタイミングは、CPUがCLKを使って/RD、/WR、および/ADSを生成する場合にのみCLKに同期します。これらの信号についてはタイミング関係の仕様を参照してください。

この設計例は、完全な自己完結型の設計です。FPGAとASICのターゲットに問題なく正常にコンパイルされています。標準的なASICターゲットライブラリに合成したとき、この設計は合計1934の2入力NANDゲートまたは237スライスのXilinx® Spartan 3A FPGAを使用します。

XilinxはXilinx, Inc.の登録商標および登録サービスマークです。



関連製品
DS2408 1-Wire、8チャネル、アドレス指定可能なスイッチ 無料
サンプル
 
DS2502-E48 48ビットノードアドレスチップ 無料
サンプル
 


次のステップ
EE-Mail EE-Mail配信の登録申し込みをして、興味のある分野の最新ドキュメントに関する自動通知を受け取る。

© Oct 03, 2005, Maxim Integrated Products, Inc.
このウェブサイトのコンテンツは米国および各国の著作権法によって保護されています。コンテンツの複製を希望される場合は、お問い合わせください

APP 119: Oct 03, 2005
アプリケーションノート119, AN119, AN 119, APP119, Appnote119, Appnote 119