dsPIC33E FRM - Section #. Title

Size: px
Start display at page:

Download "dsPIC33E FRM - Section #. Title"

Transcription

1 注意 : この日本語版文書は参考資料としてご利用ください 最新情報は必ずオリジナルの英語版をご参照願います セクション 19. I 2 C (Inter-Integrated Circuit ) ハイライト 本セクションには下記の主要項目を記載しています 19.1 はじめに I 2 C バスの特性 制御 / ステータスレジスタ I 2 C 動作の有効化 シングルマスタ環境でマスタとして通信する マルチマスタ環境でマスタとして通信する スレーブとしての通信 I 2 C バスの接続に関する注意事項 PWRSV 命令実行時のモジュール動作 周辺モジュールディセーブル (PMD) レジスタ リセットの影響 レジスタマップ 設計のヒント 関連アプリケーションノート 改訂履歴 I 2 C (Inter-Integrated Circuit ) 2012 Microchip Technology Inc. DS70330B_JP - p. 19-1

2 dspic33e/pic24e ファミリリファレンスマニュアル Note: ファミリリファレンスマニュアルの本セクションは デバイスデータシートの補足を目的としています 本セクションの内容は dspic33e/pic24e ファミリの一部のデバイスには対応していません 本書の内容がお客様のご使用になるデバイスに対応しているかどうかは 最新デバイスデータシート内の I 2 C (Inter-Integrated Circuit ) の冒頭に記載している注意書きでご確認ください デバイスデータシートとファミリリファレンスマニュアルの各セクションは マイクロチップ社のウェブサイト ( でご覧になれます 19.1 はじめに I 2 C (Inter-Integrated Circuit ) モジュールは 他の周辺モジュールまたは他のマイクロコントローラデバイスとの通信に使うシリアルインターフェイスです 通信可能な周辺デバイスにはシリアル EEPROM ディスプレイドライバ /D コンバータ等があります I 2 C モジュールは I 2 C システム内で下記のように動作可能です スレーブデバイスとして シングルマスタシステム内のマスタデバイスとして ( スレーブデバイスとして動作する場合もあり ) マルチマスタシステム内のマスタ / スレーブデバイスとして ( バス衝突検出とバス調停が可能 ) I 2 C モジュールは 独立したマスタ I 2 C ロジックと I 2 C スレーブロジックにより構成され 各ロジックはそれぞれのイベントに基づいて割り込みを生成します マルチマスタシステムでは ソフトウェアは単純にマスタコントローラとスレーブコントローラに分割されます I 2 C マスタロジックがアクティブな時 スレーブロジックもアクティブ状態を維持し マスタロジックがアクティブな時 スレーブロジックもアクティブ状態を維持してバスの状態を監視し シングルマスタまたはマルチマスタから受信する可能性のあるメッセージを監視します マルチマスタシステムでバス調停が発生してもメッセージは失われません マルチマスタシステムでは システム内の他のマスタとのバス衝突が検出されます モジュールは 衝突によって中止されたメッセージを後で再開する方法を提供します I 2 C モジュールは baud レートジェネレータ (BRG) を備えます I 2 C の BRG は デバイス内の他のタイマリソースを消費しません I 2 C モジュールの主な特長は下記の通りです 独立したマスタロジックとスレーブロジック マルチマスタをサポート ( 調停によるメッセージの喪失を回避 ) 設定可能なアドレスマスキング機能を備えた 7 ビットおよび 10 ビットデバイスアドレス検出 ( スレーブモード時 ) I 2 C プロトコルで定義されているジェネラルコールアドレスの検出 アドレスに関係なく モジュールを全てのメッセージに応答させるバスリピータモード ( スレーブモード時 ) スレーブからのデータ要求に対してプロセッサの応答を遅延させる自動 SCLx クロックストレッチング 100 khz と 400 khz のバス仕様をサポート IPMI (Intelligent Platform Management Interface) 規格をサポート図 19-1 に I 2 C モジュールのブロック図を示します DS70330B_JP - p Microchip Technology Inc.

3 セクション 19. I 2 C (Inter-Integrated Circuit ) 図 19-1: I 2 C のブロック図 Internal Data Bus I2CxRCV Read SCLx Shift Clock I2CxRSR LSB SDx Match Detect ddress Match Write I2CxMSK Write Read I2CxDD Read Start and Stop Bit Detect Write Start and Stop Bit Generation I2CxSTT Collision Detect cknowledge Generation Control Logic I2CxCON Read Write Read Clock Stretching Write 19 Shift Clock I2CxTRN Reload Control LSB Read Write I 2 C (Inter-Integrated Circuit ) BRG Down Counter I2CxBRG Read TCY/ Microchip Technology Inc. DS70330B_JP - p. 19-3

4 dspic33e/pic24e ファミリリファレンスマニュアル 19.2 I 2 C バスの特性 I 2 C バスは 2 線式シリアルインターフェイスです 図 19-2 に I 2 C インターフェイスの代表例として dspic33e/pic24e デバイスと 24LC256 I 2 C シリアル EEPROM 間の接続図を示します このインターフェイスは 信頼性の高いデータ送受信を保証する包括的なプロトコルを使います 通信中に 一方のデバイスは マスタ として動作してバス上でデータ転送を開始し 転送を可能にするためにクロック信号を生成します 他方のデバイスは その転送に応答する スレーブ として動作します クロックライン SCLx はマスタからスレーブに向けて出力されますが スレーブが SCLx ラインを駆動する場合もあります データライン SDx は マスタとスレーブ双方からの出力および入力として機能します SDx および SCLx ラインは双方向であるため これらのラインを駆動するデバイス出力段は バスのワイヤード ND 機能を実行するためにオープンドレイン出力である事が必要です ラインをプルダウンしているデバイスが存在しない時に HIGH レベルを確保するために 外付けプルアップ抵抗を使います I 2 C インターフェイスプロトコルでは 各デバイスにアドレスが割り当てられます マスタは データ転送を開始する際にまず転送先デバイスのアドレスを送信します 全てのデバイスは そのアドレスが自身のアドレスに一致するかどうかを listen します このアドレスの bit 0 は マスタがスレーブデバイスに対して 読み出し と 書き込み のどちらを行うのかを指定します データ転送中 マスタとスレーブは常に相対するモード ( 一方がトランスミッタであれば他方はレシーバ ) で動作します つまり マスタとスレーブは下記のいずれかの関係で動作します マスタがトランスミッタ スレーブがレシーバ スレーブがトランスミッタ マスタがレシーバいずれの場合も マスタが SCLx クロック信号を生成します 図 19-2: 代表的な I 2 C の接続ブロック図 VDD VDD dspic33e/pic24e SCLX SDX 4.7 kω 24LC256 (typical) SCL SD I 2 C- バスプロトコル 下記の I 2 C バスプロトコルが定義されています データ転送はバスがビジー状態ではない時にのみ開始できる データ転送中 SCLx クロックラインが HIGH の時にデータラインの状態は変化してはならない (SCLx クロックラインが HIGH の時にデータラインの状態が変化した場合 STRT 条件または STOP 条件とみなす ) これに従い 図 19-3 に示すバスステートが定義されています DS70330B_JP - p Microchip Technology Inc.

5 セクション 19. I 2 C (Inter-Integrated Circuit ) 図 19-3: I 2 C - バスプロトコルのステート (I) (S) (D) (Q) () or (N) (P) (I) SCLx SDx NCK CK Start Condition Data or ddress Valid Data llowed to Change CK/NCK Valid Stop Condition データ転送の開始 (S) バスがアイドル状態の時に クロック (SCLx) が HIGH を維持したまま SDx ラインが HIGH から LOW へ変化すると STRT 条件が発生します STRT 条件は全てのデータ転送に先行する必要があります データ転送の停止 (P) クロック (SCLx) が HIGH の時に SDx ラインが LOW から HIGH へ変化すると STOP 条件が発生します 全てのデータ転送は STOP 条件によって終了します リピートスタート (R) 待機ステートの後 クロック (SCLx) が HIGH の時に SDx ラインが HIGH から LOW へ変化すると リピートスタート条件が発生します リピートスタートにより マスタはバスの制御を放棄する事なく バスの方向またはアドレス先スレーブデバイスを変更できます データ有効 (D) STRT 条件の後 クロック信号の HIGH 期間中に SDx ラインの状態が変化しなければ その時の SDx ラインの状態が有効データとみなされます SCLx クロック 1 周期あたり 1 ビットのデータが転送されます 肯定応答 () または否定応答 (N) 全てのデータバイト送信には レシーバからの肯定応答 (CK) または否定応答 (NCK) が必要です レシーバは SDx ラインを LOW にする事によって CK を返し SDx ラインを HIGH にする事によって NCK を返します 肯定応答は SCLx クロックの 1 周期を使う 1 ビットのデータ転送です 待機 / データ無効 (Q) データラインの状態は クロック信号の LOW 期間中に変更する必要があります デバイスは SCLx ラインを LOW にアサートする事によって クロック LOW 期間を延長する ( バスを待機させる ) 事ができます バスアイドル (I) STOP 条件の後と STRT 条件の前では データラインとクロックラインの両方が HIGH 状態を維持します メッセージプロトコル 代表的な I 2 C メッセージを図 19-4 に示します この例では メッセージは 24LC256 I 2 C シリアル EEPROM から特定アドレスのバイトを読み出しています dspic33e/pic24e デバイスはマスタとして動作し 24LC256 デバイスはスレーブとして動作します 図 19-4 には マスタデバイスが駆動するデータとスレーブデバイスが駆動するデータを別々に示しています これらを複合した SDx ラインの状態は マスタデータとスレーブデータのワイヤード ND となります マスタデバイスはプロトコルを制御およびシーケンシングします スレーブデバイスは特別に決められたタイミングでのみバスを駆動します I 2 C (Inter-Integrated Circuit ) 2012 Microchip Technology Inc. DS70330B_JP - p. 19-5

6 dspic33e/pic24e ファミリリファレンスマニュアル 図 19-4: 代表的な I 2 C メッセージ : シリアル EEPROM の読み出し ( ランダムアドレスモード ) Bus ctivity Idle Start ddress Byte R/W CK EEPROM ddress High Byte CK EEPROM ddress Low Byte CK Restart ddress Byte R/W CK Data Byte NCK Stop Idle Master SDx Output S X R N P Slave SDx Output メッセージの開始各メッセージは STRT 条件で始まり STOP 条件で終わります STRT 条件から STOP 条件の間に転送するデータのバイト数は マスタデバイスが決定します システムプロトコルの定義に従い メッセージの各バイトは特別な意味 ( デバイスアドレス データバイト等 ) を持ちます スレーブのアドレス指定図 19-4 に示すように 先頭バイトはデバイスアドレスバイトです I 2 C メッセージは常にアドレスバイトで始まる必要があります アドレスバイトはデバイスアドレスと R/W ステータスビットを格納します アドレスバイトフォーマットの詳細は dspic30f ファミリリファレンスマニュアルのセクション 37. 補遺 (DS70074) 内の 補遺 : I 2 C TM の概要 を参照してください この先頭アドレスバイトの R/W ステータスビットが 0 の場合 マスタはトランスミッタとして動作し スレーブはレシーバとして動作します スレーブの肯定応答レシーバとして動作するデバイスは 各バイトを受信した後に肯定応答信号 CK を生成する必要があります マスタデバイスは この肯定応答ビットに対応する 1 周期の SCLx クロックを生成する必要があります マスタの送信この例の場合 アドレスバイトに続いてマスタがスレーブへ送信する 2 つのバイトは マスタが要求する EEPROM データバイトのアドレスを格納します スレーブは 各データバイトに対して肯定応答を返す必要があります リピートスタートこの時点で スレーブの EEPROM は 要求されたデータバイトをマスタへ返送するために必要なアドレス情報を既に取得しています しかし 最初に送信されたデバイスアドレスバイトの R/W ステータスビットにより マスタがトランスミッタ スレーブがレシーバとして指定されています このため スレーブがマスタへデータを送信するには バスの方向を反転する必要があります メッセージを終了する事なくバスの方向を変更するために マスタは リピートスタート を送信します これに続き 最初に送信したのと同じデバイスアドレスと 1 にセットした R/W ステータスビットを格納したアドレスバイトを送信し スレーブがトランスミッタ マスタがレシーバとして動作する事を指定します スレーブの応答マスタはバスにクロックを供給し続けますが SDx ラインの駆動をリリースします この間にスレーブが SDx ラインを駆動してデータバイトを送信します マスタの肯定応答マスタがスレーブから読み出している場合 マスタはメッセージの最終バイトで否定応答を返す ( NCK を生成する ) 事によって スレーブに対するデータ要求を終了する必要があります メッセージの停止マスタは STOP 条件を送信してメッセージを終了し バスをアイドル状態に戻します DS70330B_JP - p Microchip Technology Inc.

7 セクション 19. I 2 C (Inter-Integrated Circuit ) 19.3 制御 / ステータスレジスタ I 2 C モジュールは 動作に関連する 7 個のレジスタを備えます ユーザアプリケーションはこれらのレジスタにアクセスできます 全てのレジスタには バイトモードでもワードモードでもアクセスできます これらのレジスタを以下に記載します I2CxCON: I2Cx 制御レジスタこのレジスタはモジュールの動作を制御します I2CxSTT: I2Cx ステータスレジスタこのレジスタは 動作中のモジュールの状態を示す各種ステータスフラグを格納します I2CxMSK: I2Cx スレーブモードアドレスマスクレジスタこのレジスタは アドレス検出時に I2CxDD レジスタ内で無視する ( マスクする ) ビット位置を指定します これにより スレーブを複数のアドレスに応答させる事ができます I2CxRCV: 受信バッファレジスタこのバッファレジスタからデータバイトを読み出す事ができます I2CxRCV レジスタは読み出し専用レジスタです I2CxTRN: 送信レジスタこれは送信用レジスタです 送信動作中に送信バイトがこのレジスタに書き込まれます I2CxTRN レジスタは読み書き可能レジスタです I2CxDD: アドレスレジスタこのレジスタはスレーブデバイスのアドレスを保持します I2CxBRG: baud レートジェネレータリロードレジスタこのレジスタは I 2 Cモジュールのbaudレートジェネレータ向けのリロード値を保持します 送信データは I2CxTRN レジスタに書き込まれます このレジスタは モジュールがマスタとしてスレーブへデータを送信する際 またはモジュールがスレーブとして応答データをマスタへ送信する際に使います メッセージの送信中に I2CxTRN レジスタは各ビットをシフトアウトします このため バスがアイドル状態ではない時に I2CxTRN レジスタに書き込む事はできません I2CxTRN レジスタには 既存データの送信中にリロードできます マスタまたはスレーブが受信したデータは シフトレジスタ I2CxRSR にシフトインされます ユーザアプリケーションはこのシフトレジスタにアクセスできません 1 バイトを完全に受信すると そのバイトは I2CxRCV レジスタに転送されます 受信動作では I2CxRSR レジスタと I2CxRCV レジスタによって二重バッファリングレシーバが構成されます これにより 受信済みデータバイトを読み出す前に次のバイトの受信を開始できます ソフトウェアが I2CxRCV レジスタから受信済みバイトを読み出す前に モジュールが次のバイトを完全に受信した場合 レシーバオーバーフローが発生して I2COV ビット (I2CxSTT<6>) がセットされます この場合 I2CxRSR レジスタ内のバイトは失われます モジュールがバス上で STRT/ リピートスタート STRT/STOP 条件を検出するまで 後続の受信とクロックストレッチングは無効になります I2COV フラグがクリアされていれば 受信は正常に行えます I2COV フラグがクリアされていない場合 モジュールは次のバイトを正常に受信しても NCK を返します その後 STRT/ リピートスタート STRT/STOP 条件を検出するまで モジュールは後続のバイト受信する事もクロックをストレッチする事もできません I2CxDD レジスタはスレーブデバイスのアドレスを保持します 10 ビットアドレッシングモードでは レジスタ内の全てのビットを使います 7 ビットアドレッシングモードでは I2CxDD<6:0> ビットだけを使います I2CxDD<6:0> ビットはアドレスバイトの上位 7 ビットに対応し R/W ビットはこのレジスタの値に含まれていない事に注意が必要です 10M ビット (I2CxCON<10>) は スレーブアドレスのモード (10 ビットまたは 7 ビット ) を指定します いずれのスレーブアドレッシングモードでも I2CxMSK レジスタを I2CxDD レジスタに組み合わせて使う事により 完全なアドレス一致から 1 つまたは複数のビット位置を除外 ( マスク ) できます これにより スレーブモードで動作中のモジュールを複数のアドレスに対して応答させる事ができます 19 I 2 C (Inter-Integrated Circuit ) 2012 Microchip Technology Inc. DS70330B_JP - p. 19-7

8 dspic33e/pic24e ファミリリファレンスマニュアル レジスタ 19-1: I2CxCON: I2Cx 制御レジスタ R/W-0 U-0 R/W-0 R/W-1, HC R/W-0 R/W-0 R/W-0 R/W-0 I2CEN I2CSIDL SCLREL IPMIEN (1,2,3) 10M DISSLW SMEN bit 15 bit 8 R/W-0 R/W-0 R/W-0 R/W-0, HC R/W-0, HC R/W-0, HC R/W-0, HC R/W-0, HC GCEN STREN CKDT CKEN RCEN PEN RSEN SEN bit 7 bit 0 凡例 : U = 未実装ビット 0 として読み出し R = 読み出し可能ビット W = 書き込み可能ビット HS = ハードウェアでセット HC = ハードウェアでクリア -n = POR 時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知 bit 15 I2CEN: I2Cx イネーブルビット 1 = I2Cx モジュールを有効にし SDx および SCLx ピンをシリアルポートピンとして設定する 0 = I2Cx モジュールを無効にする ( ポート機能が全ての I 2 C ピンを制御する ) bit 14 未実装 : 0 として読み出し bit 13 I2CSIDL: アイドルモード時停止ビット 1 = デバイスがアイドルモードに移行した時にモジュールの動作を停止する 0 = アイドルモード中もモジュールの動作を継続する bit 12 SCLREL: SCLx リリース制御ビット (I 2 C スレーブとして動作している場合 ) 1 = SCLxクロックをリリースする 0 = SCLxクロックを LOW に保持する ( クロックストレッチング ) STREN = 1 の場合 : このビットは読み書き可能です ( ソフトウェアは 0 を書き込んでクロッククロックストレッチン グを開始し 1 を書き込んでクロックをリリースできます ) ハードウェアはスレーブ送信の開始 時とスレーブ受信の終了時にこのビットをクリアします STREN = 0 の場合 : このビットは読み出しとリセットのみ可能です ( ソフトウェアは 1 を書き込んでクロックをリリー スする事しかできません ) ハードウェアはスレーブ送信の開始時にこのビットをクリアします bit 11 IPMIEN: IPMI (Intelligent Platform Management Interface) イネーブルビット (1,2,3) 1 = IPMIサポートモードを有効にする ( 全てのアドレスに応答する ) 0 = IPMIサポートモードを無効にする bit 10 10M: 10 ビットスレーブアドレスビット 1 = I2CxDD レジスタは 10 ビットスレーブアドレスを格納する 0 = I2CxDD レジスタは 7 ビットスレーブアドレスを格納する bit 9 DISSLW: スルーレート制御ディセーブルビット 1 = スルーレート制御を無効にする 0 = スルーレート制御を有効にする bit 8 SMEN: SMBus 入力レベルビット 1 = SMBus 仕様に従う I/O ピンしきい値を有効にする 0 = SMBus 用入力しきい値を無効にする Note 1: マスタ動作を実行する場合 IPMIEN ビットがクリアされている事が必要です 2: IPMI モードは 10 ビットアドレッシングをサポートしません 3: IPMI アドレッシングモードを有効にした場合 スレーブは マスタから受信したアドレスバイトの R/W ビットの値が 1 であれば メッセージを無視します 通常の場合 IPMI モードでこのような動作が必要になる事はありません ( マスタが送信するアドレスバイトの R/W ビットの値は 0 であるため ) DS70330B_JP - p Microchip Technology Inc.

9 セクション 19. I 2 C (Inter-Integrated Circuit ) レジスタ 19-1: I2CxCON: I2Cx 制御レジスタ ( 続き ) bit 7 GCEN: ジェネラルコールイネーブルビット (I 2 C スレーブとして動作する場合 ) 1 = I2CxRSR レジスタにジェネラルコールアドレスを受信した時に割り込みを有効にする ( モジュー ルを受信用に有効にする ) 0 = ジェネラルコールアドレスを無効にする bit 6 STREN: SCLx クロックストレッチングイネーブルビット (I 2 C スレーブモードのみ SCLREL ビッ トとの組み合わせで使用 ) 1 = ソフトウェアまたは受信クロックストレッチングを有効にする 0 = ソフトウェアまたは受信クロックストレッチングを無効にする bit 5 CKDT: 肯定応答データビット (I 2 C マスタモード 受信動作のみ ) ソフトウェアが肯定応答シーケンスを開始した時に送信する値です 1 = 肯定応答時に NCK を送信する 0 = 肯定応答時に CK を送信する bit 4 CKEN: 肯定応答シーケンスイネーブルビット (I 2 C マスタモード受信動作 ) 1 = SDxおよび SCLx ピンで肯定応答シーケンスを開始し CKDT データビットを送信する ( この ビットは マスタ肯定応答シーケンスの終了時にハードウェアによりクリアされます ) 0 = 肯定応答シーケンスを実行していない bit 3 RCEN: 受信イネーブルビット (I 2 C マスタモード ) 1 = I 2 Cの受信モードを有効にする ( このビットは マスタ受信データバイトの第 8ビットの受信終了 時にハードウェアによりクリアされます ) 0 = 受信シーケンスを実行していない bit 2 PEN: STOP 条件イネーブルビット (I 2 C マスタモード ) 1 = SDxおよびSCLxピンでSTOP 条件を開始する ( このビットは マスタSTOPシーケンス終了時に ハードウェアによりクリアされます ) 0 = STOP 条件を実行していない bit 1 RSEN: リピートスタート条件イネーブルビット (I 2 C マスタモード ) 1 = SDx および SCLx ピンでリピートスタート条件を開始する ( このビットは マスタリピートス タートシーケンスの終了時にハードウェアによりクリアされます ) 0 = リピートスタート条件を実行していない bit 0 SEN: STRT 条件イネーブルビット (I 2 C マスタモード ) 1 = SDxおよびSCLxピンでSTRT 条件を開始する ( このビットは マスタSTRTシーケンスの終了 時にハードウェアによりクリアされます ) 0 = STRT 条件を実行していない 19 Note 1: マスタ動作を実行する場合 IPMIEN ビットがクリアされている事が必要です 2: IPMI モードは 10 ビットアドレッシングをサポートしません 3: IPMI アドレッシングモードを有効にした場合 スレーブは マスタから受信したアドレスバイトの R/W ビットの値が 1 であれば メッセージを無視します 通常の場合 IPMI モードでこのような動作が必要になる事はありません ( マスタが送信するアドレスバイトの R/W ビットの値は 0 であるため ) I 2 C (Inter-Integrated Circuit ) 2012 Microchip Technology Inc. DS70330B_JP - p. 19-9

10 dspic33e/pic24e ファミリリファレンスマニュアル レジスタ 19-2: I2CxSTT: I2Cx ステータスレジスタ R-0, HSC R-0, HSC U-0 U-0 U-0 R/C-0, HS R-0, HSC R-0, HSC CKSTT TRSTT BCL GCSTT DD10 bit 15 bit 8 R/C-0, HS R/C-0, HS R-0, HSC R-0, HSC R-0, HSC R-0, HSC R-0, HSC R-0, HSC IWCOL I2COV D/ P S R/W RBF TBF bit 7 bit 0 凡例 : U = 未実装ビット 0 として読み出し R = 読み出し可能ビット C = クリア可能ビット HS = ハードウェアでセット HSC =H/W でセット / クリア -n = POR 時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知 bit 15 CKSTT: 肯定応答ステータスビット 1 = スレーブから NCK を受信した 0 = スレーブから CK を受信した このビットは スレーブまたはマスタ肯定応答終了時に ハードウェアによりセットまたはクリアさ れます bit 14 TRSTT: 送信ステータスビット (I 2 C マスタモード送信動作 ) 1 = マスタ送信を実行中 (8 ビット + CK) 0 = マスタ送信を実行中ではない このビットは マスタ送信開始時にハードウェアによりセットされ スレーブ肯定応答終了時にハー ドウェアによりクリアされます bit 未実装 : 0 として読み出し bit 10 BCL: マスタバス衝突検出ビット 1 = マスタ動作中にバス衝突を検出した 0 = バス衝突は発生していない このビットは バス衝突検出時にハードウェアによりセットされます bit 9 GCSTT: ジェネラルコールステータスビット 1 = ジェネラルコールアドレスを受信した 0 = ジェネラルコールアドレスを受信していない このビットは アドレスがジェネラルコールアドレスに一致した時にハードウェアによりセットされ STOP 検出時にハードウェアによりクリアされます bit 8 DD10: 10 ビットアドレスステータスビット 1 = 10 ビットアドレスが一致した 0 = 10 ビットアドレスは一致しなかった このビットは 10 ビットアドレスの先頭バイトに続いて第 2 バイトも一致した時にハードウェアによ りセットされ STOP 条件が発生した時にハードウェアによりクリアされます bit 7 IWCOL: 書き込み衝突検出ビット 1 = I 2 C モジュールがビジーであるため I2CxTRN レジスタの書き込みに失敗した 0 = 衝突は発生していない このビットは ビジー中に I2CxTRN レジスタへの書き込みが発生した時にハードウェアによりセッ トされ ソフトウェアによりクリアされます bit 6 I2COV: 受信オーバーフローフラグビット 1 = I2CxRCV レジスタが先に受信したバイトをまだ保持している時に次のバイトを受信した 0 = オーバーフローは発生していない このビットは I2CxRSR レジスタから I2CxRCV レジスタへの転送が試行された時にハードウェアに よりセットされ ソフトウェアによりクリアされます bit 5 D/: データ / アドレスビット (I 2 C スレーブモード ) 1 = 直前に受信したバイトはデータだった 0 = 直前に受信したバイトはデバイスアドレスだった このビットは デバイスアドレス一致時にハードウェアによりクリアされ スレーブバイト受信時に ハードウェアによりセットされます あるいは 送信が完了して TBF フラグがクリアされた時にセッ トされます DS70330B_JP - p Microchip Technology Inc.

11 セクション 19. I 2 C (Inter-Integrated Circuit ) レジスタ 19-2: I2CxSTT: I2Cx ステータスレジスタ ( 続き ) bit 4 P: STOP ビット 1 = STOPビットを検出した 0 = STOPビットは検出していないこのビットは STRT リピートスタート STOP を検出した時にハードウェアによりセットまたはクリアされます bit 3 S: STRT ビット 1 = STRTビット ( またはリピートスタート ) ビットを検出した 0 = STRTビットを検出していないこのビットは STRT リピートスタート STOP を検出した時にハードウェアによりセットまたはクリアされます bit 2 R/W: 読み / 書き情報ビット (I 2 C スレーブとして動作時 ) 1 = 読み出し : データをスレーブからマスタへ転送する 0 = 書き込み : データをマスタからスレーブへ転送するこのビットは I 2 C デバイスアドレスバイトを受信した後に ハードウェアによりセットまたはクリアされます bit 1 RBF: 受信バッファフルステータスビット 1 = 受信を完了した (I2CxRCV レジスタはフル ) 0 = 受信を完了していない (I2CxRCV レジスタはエンプティ ) このビットは I2CxRCV レジスタに受信バイトが書き込まれた時にハードウェアによりセットされ ソフトウェアが I2CxRCV レジスタを読み出した時にハードウェアによりクリアされます bit 0 TBF: 送信バッファフルステータスビット 1 = 送信は未完了 (I2CxTRN レジスタはフル ) 0 = 送信を完了した (I2CxTRN レジスタはエンプティ ) このビットは ソフトウェアが I2CxTRN レジスタに書き込んだ時にハードウェアによりセットされ データ送信完了時にハードウェアによりクリアされます 19 I 2 C (Inter-Integrated Circuit ) 2012 Microchip Technology Inc. DS70330B_JP - p

12 dspic33e/pic24e ファミリリファレンスマニュアル レジスタ 19-3: I2CxMSK: I2Cx スレーブモードアドレスマスクレジスタ U-0 U-0 U-0 U-0 U-0 U-0 R/W-0 R/W-0 MSK<9:8> bit 15 bit 8 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 MSK<7:0> bit 7 bit 0 凡例 : R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット 0 として読み出し -n = POR 時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知 bit bit 9-0 未実装 : 0 として読み出し MSKx: アドレスビット x マスク選択ビット 10 ビットアドレスの場合 : 1 = 受信するメッセージアドレスの bit x のマスキングを有効にする ( このビット位置のビット一致を要求しない ) 0 = bit x のマスキングを無効にする ( このビット位置のビット一致を要求する ) 7 ビットアドレスの場合 (I2CxMSK<6:0> のみ使用 ): 1 = 受信するメッセージアドレスの bit x + 1 のマスキングを有効にする ( このビット位置のビット一致を要求しない ) 0 = bit x + 1 のマスキングを無効にする ( このビット位置のビット一致を要求する ) DS70330B_JP - p Microchip Technology Inc.

13 セクション 19. I 2 C (Inter-Integrated Circuit ) 19.4 I 2 C 動作の有効化 I2CEN ビット (I2CxCON<15>) をセットする事により I 2 C モジュールが有効になります I 2 C モジュールは全てのマスタ機能とスレーブ機能を備えます モジュールが有効な時 マスタ機能とスレーブ機能は同時に動作し ソフトウェアまたはバスのイベントに従って応答します 有効にした直後の初期状態では モジュールは SDx ピンと SCLx ピンをリリースしてバスをアイドル状態にします ソフトウェアが SEN 制御ビットをセットし かつデータが I2CxTRN レジスタに書き込まれるまで マスタ機能はアイドル状態を維持します 上記の 2 つの動作が発生すると マスタイベントが始まります マスタロジックがアクティブになるとスレーブロジックもアクティブになります アクティブになったスレーブ機能は バスの監視を始めます スレーブロジックがバス上で STRT イベントと有効なアドレスを検出すると スレーブトランザクションが始まります I 2 C I/O の有効化 バス動作には 2 本のピン (SCLx ( クロック ) と SDx ( データ )) を使います モジュールを有効にした時に そのモジュールよりも高い優先度を持つ他のモジュールがバスを制御していなければ そのモジュールが SDx ピンと SCLx ピンの制御を引き継ぎます この際 モジュールがこれらのピンの状態と方向を変更するため モジュールソフトウェアはこれらのピンのポート I/O 状態に関与する必要はありません これらのピンは 初期化時に 3 ステートにされます ( リリースされます ) I 2 C 割り込み I 2 C モジュールは 2 種類の割り込みを生成します 1 つはマスタイベントに割り当てられた割り込み (MI2CxIF) もう 1 つはスレーブイベントに割り当てられた割り込み (SI2CxIF) です これらの割り込みは対応する割り込みフラグビットをセットします 対応する割り込みイネーブルビットが事前にセットされ なおかつ割り込み優先度が十分に高い場合 これらの割り込みはソフトウェア処理に割り込みます MI2CxIF 割り込みは 下記のマスタメッセージイベントが完了した時に生成されます STRT 条件 STOP 条件 データ転送バイトの送受信 肯定応答の送信 リピートスタート バス衝突イベントの検出 SI2CxIF 割り込みは そのスレーブに向けられたメッセージ ( 下記を含む ) を検出した時に生成されます 有効なデバイスアドレス ( ジェネラルコールを含む ) データ送信の要求 (CK) または拒否 (NCK) 受信データ 19 I 2 C (Inter-Integrated Circuit ) 2012 Microchip Technology Inc. DS70330B_JP - p

14 dspic33e/pic24e ファミリリファレンスマニュアル バスマスタとして動作する場合の baud レートの設定 I 2 C マスタとして動作するモジュールは システム SCLx クロックを生成する必要があります 一般的に I 2 C システムクロックは 100 khz 400 khz 1MHz のいずれかに指定されます システムクロックレートは SCLx の最小 LOW 時間と最小 HIGH 時間の合計として指定されます ほとんどの場合 これは 2 TBRG インターバルによって定義されます 図 19-5 に示すように BRG には I2CxBRG レジスタで指定した値がリロードされます BRG にこの値がリロードされると ジェネレータは 0 までカウントダウンして停止します ( 次にリロードされるまで停止したまま ) このジェネレータカウントは 1 命令サイクル (TCY) あたり 2 回デクリメントします BRG は baud レート再開時に自動的にリロードされます 例えばクロック同期中である場合 SCLx ピンで HIGH 状態を検出した時に BRG がリロードされます Note: I2CxBRG レジスタ値は 2 以上である事が必要です BRG のリロード値は下式により計算できます 式 19-1: BRG リロード値の計算 FSCL = ((( 1 ( FCY) ) ( BRG_Value + 1) ) + Pulse_Gobbler_Delay) Note: Pulse_Gobbler_Delay の値は各デバイスデータシートを参照してください 表 19-1: 要求システム FSCL I 2 C のクロックレート FCY I2CBRG 10 進数 I2CBRG 16 進数 実際の FSCL 100 khz 40 MHz 395 0x18B 100 khz 100 khz 20 MHz 197 0x0C5 100 khz 100 khz 10 MHz 98 0x0b2 100 khz 400 khz 20 MHz 47 0x02F 400 khz 400 khz 10 MHz 23 0x khz 400 khz 5 MHz 11 0x00B 400 khz 1 MHz 10 MHz 8 0x008 1 MHz Note: 式 19-1 と表 19-1 はあくまでもガイドラインです これらはシステム依存パラメータであるため 実際の baud レートは微妙に異なる可能性があります 実際の baud レートがシステム要件を満たす事を確認するためにテストが必要です システム要件を満たさない場合 I2CxBRG の調整が必要かもしれません 図 19-5: baud レートジェネレータのブロック図 I2CxBRG<8:0> SCLx Reload Control Reload 2 TCY Down Counter CLK DS70330B_JP - p Microchip Technology Inc.

15 セクション 19. I 2 C (Inter-Integrated Circuit ) 19.5 シングルマスタ環境でマスタとして通信する 一般的に I 2 C モジュールは I 2 C シリアルメモリ等の I 2 C 周辺モジュールと通信するためにシステム内で使われます I 2 C システムでは マスタがバス上の全てのデータ通信シーケンスを制御します 以下の例では dspic33e/pic24e とその I 2 C モジュールがシステム内で唯一のマスタとして動作します このシングルマスタは SCLx クロックを生成し メッセージプロトコルを制御します I 2 C モジュールは I 2 C メッセージプロトコルの各部分を制御しますが プロトコルコンポーネントをシーケンシングして完全なメッセージを構成するのはソフトウェアの役割です シングルマスタ環境での代表的動作として I 2 C シリアル EEPROM から 1 バイトを読み出すメッセージ例を図 19-6 に示します このメッセージを完了するために ソフトウェアは下記の手順でプロトコルをシーケンシングします 1. SDx と SCLx で STRT 条件を生成する 2. 書き込み指示を含む I 2 C デバイスアドレスバイトをスレーブへ送信する 3. スレーブからの肯定応答を待機 / 確認する 4. シリアルメモリアドレスの上位バイトをスレーブへ送信する 5. スレーブからの肯定応答を待機 / 確認する 6. シリアルメモリアドレスの下位バイトをスレーブへ送信する 7. スレーブからの肯定応答を待機 / 確認する 8. SDx と SCLx でリピートスタート条件を生成する 9. 読み出し指示を含むデバイスアドレスバイトをスレーブへ送信する 10. スレーブからの肯定応答を待機 / 確認する 11. マスタ受信を有効にしてシリアルメモリデータを受信する 12. データバイトを終端まで受信したら CK または NCK 条件を生成する 13. SDx と SCLx で STOP 条件を生成する 図 19-6: 代表的な I 2 C メッセージ : シリアル EEPROM の読み出し ( ランダムアドレスモード ) Bus ctivity Idle Start ddress Byte R/W CK EEPROM ddress High Byte CK EEPROM ddress Low Byte CK Restart ddress Byte R/W CK Data Byte NCK Stop Idle Master SDx Output Slave SDx Output S R I 2 C モジュールは STRT および STOP ジェネレータ データバイト送信 データバイト受信 肯定応答ジェネレータ BRG を含むマスタモード通信をサポートします 一般的に ソフトウェアは制御レジスタに書き込む事によって特定のステップを開始し 割り込みを待機するか状態をポーリングする事によってそのステップの完了を待機します 以下では これらの各動作について詳細に説明します Note: I 2 C モジュールはイベントのキューを許容しません 例えば ソフトウェアは STRT 条件を開始した後 STRT 条件の完了を待たず即座に I2CxTRN レジスタに書き込む ( 送信を開始する ) 事はできません この場合 I2CxTRN レジスタは書き込まれず この書き込みが発生しなかった事を示すために IWCOL ステータスビットがセットされます N P 19 I 2 C (Inter-Integrated Circuit ) 2012 Microchip Technology Inc. DS70330B_JP - p

16 dspic33e/pic24e ファミリリファレンスマニュアル STRT バスイベントの生成 STRT イベントを開始するために ソフトウェアは STRT イネーブルビット (SEN (I2CxCON<0>)) をセットします ソフトウェアは STRT ビットをセットする前に P ステータスビット (I2CxSTT<4>) をチェックする事により バスがアイドル状態であるかどうかを確認できます 図 19-7 に STRT 条件のタイミングを示します スレーブロジックは STRT 条件を検出した後に S ステータスビット (I2CxSTT<3>) をセットし P ステータスビット (I2CxSTT<4>) をクリアします STRT 条件が完了すると SEN ビット (I2CxCON<0>) が自動的にクリアされます STRT 条件が完了すると MI2CxIF 割り込みが生成されます STRT 条件の終了後 SDx ラインと SCLx ラインは LOW ( Q ステート ) を維持します IWCOL ステータスフラグ STRT シーケンスが完了する前にソフトウェアが I2CxTRN レジスタに書き込むと IWCOL ステータスビット (I2CxSTT<7>) がセットされます この場合 書き込みは発生せず 送信バッファの内容は変更されません Note: イベントのキューは許容されないため I2CxCON レジスタの下位 5 ビットへの書き込みは STOP 条件が完了するまで無効になります 図 19-7: マスタ STRT のタイミング図 SEN I 2 C -Bus State (I) (S) (Q) TBRG TBRG SCLx (Master) SDx (Master) S P MI2CxIF Interrupt SEN に 1 を書き込んでマスタ STRT イベントを開始する baud レートジェネレータが起動する baudレートジェネレータがタイムアウトする マスタモジュールが SDx を LOW に駆動する baud レートジェネレータが再起動する スレーブモジュールが STRT を検出し S = 1 / P = 0 に設定する baudレートジェネレータがタイムアウトする マスタモジュールが SCLx を LOW に駆動し 割り込みを生成し SEN をクリアする スレーブデバイスへデータを送信する データバイト 7 ビットデバイスアドレスバイト 10 ビットアドレスの第 2 バイトは 適切な値を I2CxTRN レジスタに書き込む事によって単純に送信できます このレジスタに書き込むと 下記のプロセスが始まります ソフトウェアが送信データバイトを I2CxTRN レジスタに書き込む I2CxTRN レジスタへの書き込みにより バッファフルフラグビット (TBF (I2CxSTT<0>)) がセットされる SDx ピンにデータバイトをシフトアウトし 8 ビットの全てを送信する (SCLx の各立ち下がりエッジの後でアドレス / データの各ビットを SDx ピンにシフトアウトする ) 9 番目の SCLx クロックで モジュールがスレーブデバイスからの CK ビットをシフトインし その値を CKSTT ステータスビット (I2CxSTT<15>) に書き込む 9 番目の SCLx クロックサイクルの終了時に モジュールが MI2CxIF 割り込みを生成するモジュール自体はデータバイトの生成も検証も行いません 各バイトの内容と使用方法は ソフトウェアが管理するメッセージプロトコルの状態によって決まります DS70330B_JP - p Microchip Technology Inc.

17 セクション 19. I 2 C (Inter-Integrated Circuit ) ビットアドレスをスレーブへ送信する 7 ビットデバイスアドレスの送信では 1 バイトをスレーブへ送信します 7 ビットアドレスバイトは 7 ビットの I 2 C デバイスアドレスと R/W ステータスビットを格納する必要があります R/W ステータスビットは メッセージをスレーブへ書き込む ( マスタ送信 / スレーブ受信 ) のか それともスレーブから読み出す ( スレーブ送信 / マスタ受信 ) のかを指定します Note: 7 ビットアドレッシングモードでは I 2 C プロトコルを使用する各ノードに 一意のアドレスを設定 (I2CxDD レジスタに保存 ) する必要があります ビットアドレスをスレーブへ送信する 10 ビットデバイスアドレスの送信では 2 バイトをスレーブへ送信します 先頭バイトは 10 ビットアドレッシングモード用に予約された 5 ビットの I 2 C デバイスアドレスと 10 ビットアドレスの上位 2 ビットを格納します スレーブは 10 ビットアドレスの残りの 8 ビットを格納した第 2 バイトを受信する必要があるため 先頭バイトの R/W ステータスビットは 0 ( マスタ送信 / スレーブ受信 ) である事が必要です 引き続きメッセージデータをスレーブへ向けて送信する場合 マスタはそのままデータの送信を続ける事ができます しかし マスタがスレーブからの応答を要求する場合 R/W ステータスビットを 1 にセットしたリピートスタートシーケンスを使って メッセージの R/W 指示を スレーブからの読み出し 用に変更する必要があります Note: 10 ビットアドレッシングモードでは I 2 C プロトコルを使用する各ノードに 一意のアドレスを設定 (I2CxDD レジスタに保存 ) する必要があります スレーブから肯定応答を受信する SCLx クロックの 8 番目の立ち下がりエッジで TBF ステータスビットがクリアされ マスタは SDx ピンをリリースします これにより スレーブからの肯定応答の送信が可能になります その後マスタは 9 番目の SCLx クロックを生成します アドレスが一致した場合 またはデータを正常に受信した場合 スレーブデバイスは 9 番目のビット期間中に CK ビットを返す事ができます スレーブは デバイスアドレスが一致した時 ( ジェネラルコールを含む ) または正常にデータを受信した時に 肯定応答を送信します CK のステータスは 9 番目の SCLx クロックの立ち下がりエッジで 肯定応答ステータスビット CKSTT (I2CxSTT<15>) に書き込まれます その後モジュールは MI2CxIF 割り込みを生成し 次のデータバイトが I2CxTRN レジスタに書き込まれるまで アイドル状態になります CKSTT ステータスフラグ CKSTT ステータスビット (I2CxSTT<15>) は スレーブが肯定応答 (CK = 0) を送信した時にクリアされ スレーブが肯定応答しない (CK = 1) 場合はセットされます TBF ステータスフラグ送信では TBF ステータスビット (I2CxSTT<0>) は CPU が I2CXTRN レジスタに書き込むとセットされ 8 ビットの全てがシフトアウトされるとクリアされます IWCOL ステータスフラグ既に開始された送信が完了する前 ( モジュールがデータバイトをまだシフトアウト中である時 ) にソフトウェアが I2CXTRN レジスタへの書き込みを試みた場合 IWCOL ステータスビット (I2CxSTT<7>) がセットされ バッファの内容は変更されません ( 書き込みは発生しません ) IWCOL ステータスビットはソフトウェアでクリアする必要があります Note: イベントのキューは許容されないため I2CxCON レジスタの下位 5 ビットへの書き込みは送信状態が完了するまで無効になります 19 I 2 C (Inter-Integrated Circuit ) 2012 Microchip Technology Inc. DS70330B_JP - p

18 dspic33e/pic24e ファミリリファレンスマニュアル 図 19-8: マスタ送信のタイミング図 I2CxTRN I 2 C -Bus State (Q) (D) (Q) (D) (Q) () (Q) SCLx (Master) SCLx (Slave) TBRG TBRG SDx (Master) D7 D6 D5 D4 D3 D2 D1 D0 SDx (Slave) TRSTT TBF MI2CxIF Interrupt CKSTT I2CxTRN レジスタへの書き込みによってマスタ送信イベントが始まる TBF ステータスビット (I2CxSTT<0>) がセットされる baud レートジェネレータが起動する I2CxTRN レジスタの MSB が SDx を駆動する SCLx は LOW を維持する TRSTT ステータスビット (I2CxSTT<14>) がセットされる baud レートジェネレータがタイムアウトする SCLx をリリースする baud レートジェネレータが再起動する baud レートジェネレータがタイムアウトする SCLx が LOW に変化する SCLx で LOW を検出すると I2CxTRN レジスタの次のビットが SDx を駆動する SCLx が LOW の時 スレーブも SCLx を LOW に駆動して待機 ( クロックストレッチング ) を開始できる マスタは既に SCLx をリリース済みであり スレーブも SCLx をリリースして待機を終了できる baud レートジェネレータが再起動する 8 番目の SCLx クロックの立ち下がりエッジで マスタが SDx をリリースする TBF ステータスビットがクリアされる スレーブが CK/NCK を駆動する 9 番目の SCLx クロックの立ち下がりエッジで マスタが割り込みを生成する SCLx は次のイベントまで LOW を維持する スレーブが SDx をリリースする TRSTT ステータスビットがクリアされる スレーブデバイスからデータを受信する マスタは R/W ステータスビットを 1 にセットしたスレーブアドレスを送信した後に スレーブデバイスからデータを受信できるようになります これは受信イネーブルビット RCEN (I2CxCON<3>) をセットする事により有効になります マスタロジックはクロックの生成を始め SCLx クロックの各立ち下がりエッジの前で SDx ラインをサンプリングし そのデータを I2CxRSR レジスタにシフトインします Note: RCEN ビットをセットする前に I2CxCON レジスタの下位 5 ビットが 0 である事が必要です これはマスタロジックが非アクティブである事を保証します 8 番目の SCLx クロック立ち下がりエッジの後に下記のイベントが発生します RCEN ビットが自動的にクリアされる I2CxRSR レジスタの内容が I2CxRCV レジスタに転送される RBF ステータスビットがセットされる モジュールが MI2CxIF 割り込みを生成する RBF ステータスビットは CPU がバッファを読み出した時に 自動的にクリアされます ソフトウェアは データを処理した後に 肯定応答シーケンスを実行できます DS70330B_JP - p Microchip Technology Inc.

19 セクション 19. I 2 C (Inter-Integrated Circuit ) RBF ステータスフラグデータの受信では デバイスアドレスまたはデータバイトが I2CxRSR レジスタから I2CxRCV レジスタへ転送された時に RBF ステータスビットがセットされます このビットは ソフトウェアが I2CxRCV レジスタを読み出した時に クリアされます I2COV ステータスフラグ RBF ステータスビット (I2CxSTT<1>) がセットされた状態であり かつ先に受信したバイトが I2CxRCV レジスタに残ったままである時に 次のバイトを I2CxRSR レジスタに受信すると I2COV ステータスビット (I2CxSTT<6>) がセットされ I2CxRSR レジスタ内のデータは失われます I2COV ステータスビットがセットされたままであっても 後続の受信は禁止されません I2CxRCV レジスタを読み出して RBF ステータスビットがクリアされた後に I2CxRSR レジスタに次のバイトを受信すると そのバイトは I2CxRCV レジスタへ転送されます IWCOL ステータスフラグ既に開始された受信が完了する前 (I2CxRSR レジスタがデータバイトをまだシフトイン中である時 ) にソフトウェアが I2CXTRN レジスタに書き込みを試みた場合 IWCOL ステータスビットがセットされ バッファの内容は変更されません ( 書き込みは発生しません ) Note: イベントのキューは許容されないため I2CxCON レジスタの下位 5 ビットへの書き込みは受信状態が完了するまで無効になります 図 19-9: マスタ受信のタイミング図 RCEN I 2 C -Bus State (Q) (Q) (D) (Q) (Q) (D) (Q) TBRG TBRG SCLx (Master) SCLx (Slave) SDx (Master) SDx (Slave) D7 D6 D5 D4 D3 D2 D1 D0 I2CxRCV RBF 19 MI2CxIF Interrupt 通常 スレーブは SCLx を LOW にクロックストレッチングして データ応答を準備するための待機を要求できる 準備完了時にスレーブは SDx 上でデータ応答の MSB を駆動する 2 RCEN ビット (I2CxCON<3>) をセットしてマスタ受信イベントを開始する baud レートジェネレータが起動する SCLx は LOW を維持する 3 baud レートジェネレータがタイムアウトする マスタが SCLx のリリースを試みる I 2 C (Inter-Integrated Circuit ) スレーブが SCLx をリリースし baud レートジェネレータが再起動する baud レートジェネレータがタイムアウトする 応答の MSB を I2CxRSR レジスタへシフトする 次の baud インターバルの間 SCLx を LOW に駆動する SCLx クロックの 8 番目の立ち下がりエッジで I2CxRSR レジスタの内容を I2CxRCV レジスタに転送する モジュールが RCEN ビットをクリアする RBF ステータスビット (I2CxSTT<1>) がセットされる マスタが割り込みを生成する 2012 Microchip Technology Inc. DS70330B_JP - p

20 dspic33e/pic24e ファミリリファレンスマニュアル 肯定応答の生成 肯定応答イネーブルビット CKEN (I2CxCON<4>) をセットすると マスタ肯定応答シーケンスの生成が有効になります Note: CKEN ビットをセットする前に I2CxCON レジスタの下位 5 ビットが 0 ( マスタロジックが無効 ) である事が必要です 図 に CK シーケンス 図 に NCK シーケンスを示します 肯定応答データビット CKDT (I2CxCON<5>) により CK または NCK のいずれかを指定します CKEN ビットは 2 baud 周期後に自動的にクリアされ モジュールが MI2CxIF 割り込みを生成します IWCOL ステータスフラグ肯定応答シーケンスの途中でソフトウェアが I2CxTRN レジスタに書き込むと IWCOL ステータスビット (I2CxSTT<7>) がセットされます この場合 書き込みは発生せず 送信バッファの内容は変更されません Note: イベントのキューは許容されないため I2CxCON レジスタの下位 5 ビットへの書き込みは肯定応答条件が完了するまで無効になります 図 19-10: マスタ肯定応答 (CK) のタイミング図 CKDT = 0 CKEN I 2 C -Bus State (Q) (Q) () (Q) TBRG TBRG SCLx (Master) SDx (Master) MI2CxIF Interrupt CKDT = 0 を書き込んで CK の送信を指定する CKEN = 1 を書き込んでマスタ肯定応答イベントを開始する baud レートジェネレータが起動する SCLx は LOW を維持する SCLx で LOW を検出した時にモジュールが SDx を LOW に駆動する baud レートジェネレータがタイムアウトする モジュールが SCLx をリリースする baud レートジェネレータが再起動する baud レートジェネレータがタイムアウトする モジュールが SCLx を LOW に駆動した後 SDx をリリースする モジュールが CKEN をクリアする マスタが割り込みを生成する 図 19-11: マスタ否定応答 (NCK) のタイミング図 CKEN CKDT = 1 I 2 C -Bus State (Q) () (I) 1 CKDT = 1 を書き込んで NCK の送信を指定する CKEN = 1 を書き込んでマスタ肯定応答イベントを開始する baud レートジェネレータが起動する TBRG TBRG 2 SCLx で LOW を検出した時にモジュールが SDx をリリースする SCLx (Master) SDx (Master) MI2CxIF Interrupt 3 4 baud レートジェネレータがタイムアウトする モジュールが SCLx をリリースする baud レーェネレータが再起動する baud レートジェネレータがタイムアウトする モジュールが SCLx を LOW に駆動した後 SDx をリリースする モジュールが CKEN をクリアする マスタが割り込みを生成する DS70330B_JP - p Microchip Technology Inc.

21 セクション 19. I 2 C (Inter-Integrated Circuit ) STOP バスイベントの生成 STOP イネーブルビット PEN (I2CxCON<2>) をセットすると マスタ STOP シーケンスの生成が有効になります Note: PEN ビットをセットする前に I2CxCON レジスタの下位 5 ビットが 0 ( マスタロジックが無効 ) である事が必要です PEN ビットをセットすると マスタは図 のように STOP シーケンスを生成します スレーブは STOP 条件を検出した時に P ステータスビット (I2CxSTT<4>) をセットし S ステータスビット (I2CxSTT<3>) をクリアします PEN ビットは自動的にクリアされます モジュールは MI2CxIF 割り込みを生成します IWCOL ステータスフラグ STOP シーケンスの途中でソフトウェアが I2CxTRN レジスタに書き込むと IWCOL ステータスビット (I2CxSTT<7>) がセットされます この場合 書き込みは発生せず 送信バッファの内容は変更されません Note: イベントのキューは許容されないため I2CxCON レジスタの下位 5 ビットへの書き込みは STOP 条件が完了するまで無効になります 図 19-12: マスタ STOP のタイミング図 PEN I 2 C -Bus State SCLx (Master) SDx (Master) S P MI2CxIF Interrupt 1 PEN = 1 を書き込んでマスタ STOP イベントを開始する baud レートジェネレータが起動する (Q) (Q) (P) (I) モジュールが SDx を LOW に駆動する TBRG TBRG TBRG 2 baud レートジェネレータがタイムアウトする モジュールが SCLx をリリースする baud レートジェネレータが再起動する 3 baud レートジェネレータがタイムアウトする モジュールが SDx をリリースする bard レートジェネレータが再起動する 4 スレーブロジックが STOP を検出する モジュールが P = 1 S = 0 に設定する 5 baud レートジェネレータがタイムアウトする モジュールが PEN をクリアする マスタが割り込みを生成する I 2 C (Inter-Integrated Circuit ) 2012 Microchip Technology Inc. DS70330B_JP - p

22 dspic33e/pic24e ファミリリファレンスマニュアル リピートスタートバスイベントの生成 リピートスタートイネーブルビット RSEN (I2CxCON<1>) をセットすると マスタリピートスタートシーケンスの生成が有効になります ( 図 参照 ) Note: RSEN ビットをセットする前に I2CxCON レジスタの下位 5 ビットが 0 ( マスタロジックが無効 ) である事が必要です ソフトウェアが RSEN ビット (I2CxCON<1>) をセットすると リピートスタート条件が生成されます モジュールは SCLx ピンを LOW に駆動します モジュールは SCLx ピンで LOW を検出した時に BRG の 1 カウント (TBRG) 間 SDx ピンをリリースします モジュールは BRG がタイムアウトした後 SDx で HIGH を検出した時に SCLx ピンをリリースします モジュールが SCLx ピンで HIGH を検出すると BRG がリロードしてカウントを始めます SDx と SCLx は 1 TBRG の間 HIGH を維持する必要があります この動作の後に SDx ピンが 1 TBRG の間 LOW に駆動され SCLx は HIGH を維持します リピートスタートシーケンスは下記の通りです 1. スレーブは STRT 条件を検出した時に S ステータスビット (I2CxSTT<3>) をセットし P ステータスビット (I2CxSTT<4>) をクリアします 2. RSEN ビット (I2CxCON<1>) は自動的にクリアされます 3. モジュールは MI2CxIF 割り込みを生成します IWCOL ステータスフラグリピートスタートシーケンスの途中でソフトウェアが I2CxTRN レジスタに書き込むと IWCOL ステータスビット (I2CxSTT<7>) がセットされます この場合 書き込みは発生せず 送信バッファの内容は変更されません Note: イベントのキューは許容されないため I2CxCON レジスタの下位 5 ビットへの書き込みはリピートスタート条件が完了するまで無効化されます 図 19-13: マスタリピートスタートのタイミング図 RSEN I 2 C -Bus State (Q) (Q) (S) (Q) TBRG TBRG TBRG SCLx (Master) SDx (Master) S P MI2CxIF Interrupt RSEN = 1 を書き込んでマスタリピートスタートイベンを開始する baud レートジェネレータが起動する モジュールが SCLx を LOW に駆動し SDx をリリースする 2 baud レートジェネレータがタイムアウトする モジュールが SCLx をリリースする baud レートジェネレータが再起動する 3 baud レートジェネレータがタイムアウトする モジュールが SDx を LOW に駆動する baud レートジェネレータが再起動する 4 スレーブロジックが STRT を検出する モジュールが S = 1 P = 0 に設定する 5 baud レートジェネレータがタイムアウトする モジュールが SCLx を LOW に駆動する モジュールが RSEN をクリアする マスタが割り込みを生成する DS70330B_JP - p Microchip Technology Inc.

23 セクション 19. I 2 C (Inter-Integrated Circuit ) 完全なマスタメッセージの作成 19.5 シングルマスタ環境でマスタとして通信する の冒頭で述べたように ソフトウェアがメッセージプロトコルに従ってメッセージを構成します モジュールは I 2 C メッセージプロトコルの各部分を制御しますが プロトコルのコンポーネントをシーケンシングして完全なメッセージを構成するのはソフトウェアの役割です ソフトウェアは モジュールを使っている時に ポーリングまたは割り込みを使えます ここでは割り込みの使用例を示します ソフトウェアは メッセージを処理する際に SEN RSEN PEN RCEN CKEN ビット (I2CxCON レジスタの下位 5 ビット ) と TRSTT ステータスビットを ステート フラグとして使う事ができます ステート番号とバス状態の割り当て例を表 19-2 に示します 表 19-2: ステート番号 ( 参考例 ) マスタメッセージのプロトコルステート CKEN, RCEN, PEN, RSEN, SEN (I2CxCON<4:0>) TRSTT (I2CxSTT<14>) 状態 バスはアイドルまたは待機中 N/ STRT イベントを送信中 マスタが送信中 N/ リピートスタートイベントを送信中 N/ STOP イベントを送信中 N/ マスタが受信中 N/ マスタ肯定応答 Note: 表のステート番号の割り当てはあくまでも参考例です ユーザソフトウェアは ステート番号を自由に割り当てる事ができます ソフトウェアは STRT 命令を発行する事によってメッセージを開始し STRT に対応するステート番号を記録します 各イベントの完了時に割り込みを生成するたびに 割り込みハンドラはステート番号をチェックできます STRT ステートの場合 割り込みハンドラは STRT シーケンスの実行を確認した後に I 2 C デバイスドレスを送信してマスタ送信イベントを開始し ステート番号をマスタ送信に対応した番号に変更します 次の割り込み時に 割り込みハンドラはステートを再びチェックし マスタ送信が完了したかどうかを判定します 割り込みハンドラは データの送信に成功した事を確認した後に メッセージの内容に応じて次のイベントに移行します このようにして メッセージの送信が完了するまで 割り込みのたびに 割り込みハンドラがメッセージプロトコルを処理します 図 19-6 に示したメッセージシーケンスのより詳細な解説を図 に示します 7 ビットアドレッシングフォーマットを使うメッセージの簡単な例を図 に示します 10 ビットアドレッシングフォーマットを使ってスレーブにデータを送信するメッセージの例を図 に示します 10 ビットアドレッシングフォーマットを使ってデータをスレーブから受信するメッセージの例を図 に示します 19 I 2 C (Inter-Integrated Circuit ) 2012 Microchip Technology Inc. DS70330B_JP - p

24 DS70330B_JP - p Microchip Technology Inc. 図 19-14: マスタメッセージ ( 代表的な I 2 C メッセージ : シリアル EEPROM の読み出し ) SEN RSEN RCEN CKEN KDT PEN SCLx (Master) SDx (Master) SCLx (Slave) SDx (Slave) I2CxTRN TBF I2CxRCV RBF CKSTT MI2CxIF W R SEN ビットをセットして STRT イベントを開始する I2CxTRN レジスタへの書き込みによってマスタ送信イベントが始まる このデータはシリアル EEPROM のデバイスアドレスバイト (R/W ステータスビットはクリア ( 書き込み指定 )) を格納する 3 I2CxTRN レジスタへの書き込みによってマスタ送信イベントが始まる このデータは EEPROM データアドレスの先頭バイトを格納する 4 I2CxTRN レジスタへの書き込みによってマスタ送信イベントが始まる このデータは EEPROM データアドレスの第 2 バイトを格納する 5 MI2CxIF interrupt flag cleared by user software. RSEN ビットをセットしてリピートスタートイベントを開始する D7 D6 D5 D4 D3 D2 D1 D I2CxTRN レジスタへの書き込みによってマスタ送信イベントが始まる セットした読み出し指定の R/W ステータスビットを含むシリアル EEPROM のデバイスアドレスバイトを再送信する 7 RCEN ビットをセットしてマスタ受信をを開始する 割り込み発生時にソフトウェアが I2CxRCV レジスタを読み出し RBF ステータスビットがクリアされる 8 CKEN ビットをセットして STRT イベントを開始する CKDT = 1 に設定して NCK を送信する 9 PEN ビットをセットしてマスタ STOP イベントを開始する 9 N dspic33e/pic24e ファミリリファレンスマニュアル

25 2012 Microchip Technology Inc. DS70330B_JP - p 図 19-15: マスタメッセージ (7 ビットアドレス : 送受信 ) SEN RSEN RCEN CKEN KDT PEN SCLx (Master) SDx (Master) SCLx (Slave) SDx (Slave) I2CxTRN TBF I2CxRCV RBF CKSTT MI2CxIF W SEN ビットをセットして STRT イベントを開始する 9 D7 D6 D5 D4 D3 D2 D1 D0 MI2CxIF interrupt flag cleared by user software. 2 I2CxTRN レジスタへの書き込みによってマスタ送信イベントが始まる このデータはアドレスバイト (R/W ステータスビットはクリア ) を格納する 3 I2CxTRN レジスタへの書き込みによってマスタ送信イベントが始まる このデータはメッセージバイトを格納する 4 PEN ビットをセットしてマスタ STOP イベントを開始する 5 SEN ビットをセットして STRT イベントを開始する R D7 D6 D5 D4 D3 D2 D1 D I2CxTRN レジスタへの書き込みによってマスタ送信イベントが始まる このデータはアドレスバイト (R/W ステータスビットはセット ) を格納する 7 RCEN ビットをセットしてマスタ受信をを開始する 8 CKEN ビットをセットして STRT イベントを開始する CKDT = 1 に設定して NCK を送信する 9 PEN ビットをセットしてマスタ STOP イベントを開始する 9 N セクション 19. I 2 C (Inter-Integrated Circuit ) I 2 C (Inter-Integrated Circuit ) 19

26 DS70330B_JP - p Microchip Technology Inc. 図 19-16: マスタメッセージ (10 ビット送信 ) SEN RSEN RCEN CKEN KDT PEN SCLx (Master) SDx (Master) SCLx (Slave) SDx (Slave) I2CxTRN TBF I2CxRCV RBF CKSTT MI2CxIF W SEN ビットをセットして STRT イベントを開始する MI2CxIF interrupt flag cleared by user software. 2 I2CxTRN レジスタへの書き込みによってマスタ送信イベントが始まる このデータはアドレスの先頭バイトを格納する 3 I2CxTRN レジスタへの書き込みによってマスタ送信イベントが始まる このデータはアドレスの第 2 バイトを格納する 4 I2CxTRN レジスタへの書き込みによってマスタ送信イベントが始まる このデータはメッセージデータの先頭バイトを格納する D7 D6 D5 D4 D3 D2 D1 D D7 D6 D5 D4 D3 D2 D1 D0 9 D7 D6 D5 D4 D3 D2 D1 D I2CxTRN レジスタへの書き込みによってマスタ送信イベントが始まる このデータはメッセージデータの第 2 バイトを格納する 6 I2CxTRN レジスタへの書き込みによってマスタ送信イベントが始まる このデータはメッセージデータの第 3 バイトを格納する 7 PEN ビットをセットしてマスタ STOP イベントを開始する dspic33e/pic24e ファミリリファレンスマニュアル

27 2012 Microchip Technology Inc. DS70330B_JP - p 図 19-17: マスタメッセージ (10 ビット受信 ) SEN RSEN RCEN CKEN KDT PEN SCLx (Master) SDx (Master) SCLx (Slave) SDx (Slave) I2CxTRN TBF I2CxRCV RBF CKSTT MI2CxIF W MI2CxIF interrupt flag cleared by user software R D7 D6 D5 D4 D3 D2 D1 D D7 D6 D5 D4 D3 D2 D1 D SEN ビットをセットして STRT イベントを開始する 6 RCEN ビットをセットしてマスタ受信をを開始する 割り込み発生時にソフトウェアが I2CxRCV レジスタを読み出し RBF ステータスビットがクリアされる 2 I2CxTRN レジスタへの書き込みによってマスタ送信イベントが始まる 7 CKEN ビットをセットして STRT イベントを開始する このデータはアドレスの先頭バイトを格納する (R/W ステータスビットはクリア ) CKDT = 0 に設定して CK を送信する 3 I2CxTRN レジスタへの書き込みによってマスタ送信イベントが始まる 8 RCEN ビットをセットしてマスタ受信をを開始する このデータはアドレスの第 2 バイトを格納する 9 CKEN ビットをセットして STRT イベントを開始する 4 RSEN ビットをセットしてマスタリピートスタートイベントを開始する CKDT = 1 に設定して NCK を送信する 5 I2CxTRN レジスタへの書き込みによってマスタ送信イベントが始まる 10 PEN ビットをセットしてマスタ STOP イベントを開始する このデータはアドレスの先頭バイト ( 再送信 ) を格納する (R/W ステータスビットはセット ) 9 N セクション 19. I 2 C (Inter-Integrated Circuit ) I 2 C (Inter-Integrated Circuit ) 19

28 dspic33e/pic24e ファミリリファレンスマニュアル 19.6 マルチマスタ環境でマスタとして通信する I 2 C プロトコルでは 単一システムバスに複数のマスタを接続できます 各マスタはメッセージのトランザクションを開始してバスにクロックを供給できるため プロトコルは複数のマスタがバス制御を同時に試みた場合の対処方法を備えます クロック同期機能により 複数のノードの SCLx クロックを SCLx ライン上の共通クロックに同期させる事ができます 複数のノードがメッセージのトランザクションを試みた場合 バス調停によって 1 つのノードだけがメッセージを完了できます 他のノードはバス調停に敗れてバス衝突状態に置かれます マルチマスタの動作 マスタモジュールはマルチマスタ動作を有効にするための特別な設定を備えていません モジュールはクロック同期とバス調停を常時実行します モジュールをシングルマスタ環境で使う場合 1 つのマスタと複数スレーブ間のクロック同期だけが発生し バス調停は発生しません マスタクロックの同期 マルチマスタシステムでは マスタ間で baud レートが異なる可能性があります クロック同期は これらのマスタがバス調停を試みた時に それらのクロックを調和させます クロック同期は マスタが SCLx ピンをリリース (SCLx を HIGH にフロート ) した時に発生します SCLx ピンがリリースされると BRG のカウントは SCLx ピンで実際に HIGH を検出するまで一時停止します SCLx ピンで HIGH を検出すると BRG に I2CxBRG<8:0> ビットの内容がリロードされ カウントが始まります これにより SCLx ピンを他のデバイスが LOW に保持していても SCLx の HIGH 時間は 1 回の BRG ロールオーバーカウント時間よりも長くなります ( 図 参照 ) 図 19-18: クロック同期による baud レートジェネレータのタイミング TBRG TBRG SDx (Master) SCLx (Master) SCLx (Slave) Baud Counter TCY baud カウンタは TCY あたり 2 回デクリメントする ロールオーバー時にマスタ SCLx の状態が変化する スレーブが SCLx を LOW に保持して待機を開始する マスタ baud カウンタがロールオーバする時 SCLx で LOW を検出するとカウンタが一時停止する ロジックは TCY あたり SCLx を 1 回サンプリングする ロジックが SCLx HIGH を検出する baud カウンタのロールオーバーが次のサイクルで発生する 次のロールオーバーでマスタ SCLx の状態が変化する DS70330B_JP - p Microchip Technology Inc.

29 セクション 19. I 2 C (Inter-Integrated Circuit ) バス調停とバス衝突 マルチマスタシステムの動作はバス調停によりサポートされます SDx ラインのワイヤード ND 機能により バス調停が可能になります あるマスタが SDx を HIGH にフロートして SDx で 1 を出力すると同時に 2 番目のマスタが SDx を LOW に駆動して SDx で 0 を出力すると バス調停が発生します 2 番目のマスタがバス調停に勝った場合 バス調停に敗れた最初のマスタにはバス衝突が発生します 最初のマスタは SDx 上のデータを 1 にしようと試みましたが SDx で検出されるデータは 0 のままです このような状態をバス衝突と定義します 最初のマスタはマスタバス衝突ビット BCL (I2CxSTT<10>) をセットし マスタ割り込みを生成します このマスタモジュールは I 2 C ポートをアイドル状態にリセットします マルチマスタ動作ではバス調停が発生する可能性があるため 実際の信号レベルが要求した出力レベルに一致するかどうかを確認するために SDx ラインを監視する必要があります マスタモジュールはこの確認を実行し その結果を BCL ステータスビットに反映します 下記のステートではバス調停に敗れる可能性があります STRT 条件 リピートスタート条件 アドレス データ 肯定応答ビット STOP 条件 バス衝突の検出とメッセージの再送 バス衝突が発生すると モジュールは BLC ステータスビット (I2CxSTT<10>) をセットし マスタ割り込みを生成します バイト送信中にバス衝突が発生した場合 その送信は中止され TBF ステータスビット (I2CxSTT<0>) がクリアされ SDx および SCLx ピンがリリースされます STRT リピートスタート STOP 肯定応答のいずれかのステートでバス衝突が発生した場合 I2CxCON レジスタの対応する制御ビットがクリアされ SDx および SCLx ラインがリリースされます ソフトウェアはマスタイベント完了時の割り込みを待機します ソフトウェアは BCL ステータスビットをチェックする事によって マスタイベントが正常に完了したのか それともバス衝突が発生したのかを判定できます バス衝突が発生した場合 ソフトウェアは送信中であったメッセージの以降の送信を中止し バスがアイドル状態に戻った時に STRT 条件から始まる完全なメッセージを再度送信するために準備する必要があります ソフトウェアは P および S ステータスビット (I2CxSTT<4> と I2CxSTT<3>) を監視する事によって バスのアイドル状態を待機できます ソフトウェアがマスタ割り込みサービスルーチンを処理した時に I 2 C バスがフリーであれば ソフトウェアは STRT 条件を生成する事によって通信を再開できます STRT 条件中のバス衝突 ソフトウェアは STRT 命令を発行する前に S および P ステータスビットを使って バスがアイドル状態である事を確認する必要があります 2 つのマスタがほぼ同時にメッセージの開始を試みる可能性があります 一般的に 両マスタはクロックを同期し 一方が調停に敗れるまでメッセージへの調停を続けます しかし下記の条件では STRT 中にバス衝突が発生する可能性があります STRT 条件の開始時に SD および SCL ピンが論理 LOW 状態であった場合 または SD ラインが LOW に駆動される前に SCL ラインが論理 LOW 状態であった場合いずれの場合でも STRT ビットの送信時にバス調停に敗れたマスタは バス衝突割り込みを生成します 19 I 2 C (Inter-Integrated Circuit ) リピートスタート条件中のバス衝突 2 つのマスタがアドレスバイトの送信で衝突しなかった場合 一方のマスタがリピートスタートの生成を試み 他方がデータの送信を試みた時にバス衝突が発生する可能性があります この場合 リピートスタートの生成を試みたマスタが調停に敗れてバス衝突割り込みを生成します 2012 Microchip Technology Inc. DS70330B_JP - p

30 dspic33e/pic24e ファミリリファレンスマニュアル メッセージビット送信中のバス衝突 データ衝突が発生する最も典型的な状況は マスタがデバイスアドレスバイト データバイト 肯定応答ビットの送信を試みる時です ソフトウェアがバスの状態を正しく監視している限り STRT 条件中のバス衝突はめったに発生しません しかし 別のマスタがほぼ同時にバスをチェックして STRT 条件の開始を試みる可能性もあり このような場合 SDx 調停が発生して 2 つのマスタの STRT を同期する可能性があります このような条件では 両方のマスタがメッセージの送信を開始し メッセージビットの調停で一方のマスタが敗れるまで送信を続けます SCLx クロック同期は 一方のマスタが調停に敗れるまで 2 つのマスタ間の同期を維持する事に注意してください 図 に メッセージビット調停の例を示します 図 19-19: メッセージビット送信中のバス衝突 I 2 C -Bus State (Q) (D) (Q) (D) (Q) TBRG TBRG SCLx (Master) SDx (Master) SCLx (Bus) SDx (Bus) BCL TBF MI2CxIF Interrupt 次の SCLx クロックでマスタが値 1 のビットを送信する モジュールが SDx をリリースする 次の SCLx クロックでバス上の別のマスタがビット値 0 を送信する 別のマスタが SDx を LOW に駆動する baud レートジェネレータがタイムアウトする モジュールは SDx が HIGH になったかどうかを確認する バス衝突が検出される モジュールが SDx と SCLx をリリースする モジュールが BCL ステータスビットをセットし B ステータスビットをクリアする マスタが割り込みを生成する STOP 条件中のバス衝突 マスタソフトウェアが I 2 C バスの状態を見失った場合 STOP 条件中にバス衝突が発生し得る状況は極めて多数存在するため ここにそれらを列挙する事はできません この場合 STOP 条件の生成を試みたマスタが調停に敗れてバス衝突割り込みを生成します DS70330B_JP - p Microchip Technology Inc.

31 19.7 スレーブとしての通信 セクション 19. I 2 C (Inter-Integrated Circuit ) 一部のシステム ( 特に複数のプロセッサが互いに通信するシステム ) では dspic33e/pic24e はスレーブとして通信できます ( 図 参照 ) モジュールを有効にすると スレーブモジュールが起動します スレーブはメッセージを開始できず マスタが開始したメッセージシーケンスに応答する事しかできません マスタは I 2 C プロトコル内のデバイスアドレスバイトで指定した特定スレーブからの応答を要求します スレーブモジュールは プロトコルが定める適切なタイミングでマスタに応答します マスタモジュールと同様に 応答用プロトコルのコンポーネントをシーケンシングするのはソフトウェアの役割です アドレス一致 ( ソフトウェアがそのスレーブに対して指定したアドレスとメッセージが指定するデバイスアドレスの一致 ) の検出は スレーブモジュールが行います 図 19-20: 代表的なスレーブ I 2 C メッセージ : マルチプロセッサコマンド / ステータス 10-Bit ddress Bus ctivity Start First ddress Byte R/W CK Second ddress Byte CK Command Data Byte CK Restart R ddress Byte R/W CK Status Data Byte NCK Stop Master SDx Output S R N P Slave SDx Output STRT 条件の後に スレーブモジュールはデバイスアドレスを受信してアドレス一致をチェックします スレーブは 7 ビットアドレスか 10 ビットアドレスのいずれかを指定できます デバイスアドレスが一致するとモジュールは割り込みを生成し このデバイスがマスタによって選択されている事をソフトウェアに知らせます スレーブは マスタが送信した R/W ステータスビット (I2CxSTT<2>) の状態に基づいてデータを受信または送信します スレーブがデータを受信する場合 スレーブモジュールは自動的に肯定応答 (CK) を生成し I2CxRSR レジスタに現在格納されている受信値を I2CxRCV レジスタに転送し 割り込みを生成してソフトウェアに知らせます スレーブがデータを送信する場合 ソフトウェアは I2CxTRN レジスタにデータを書き込む必要があります 受信データのサンプリング 全ての受信ビットはクロック (SCLx) ラインの立ち上がりエッジでサンプリングされます STRT および STOP 条件の検出 スレーブモジュールは バス上の STRT および STOP 条件を検出し そのステータスを S ステータスビット (I2CxSTT<3>) と P ステータスビット (I2CxSTT<4>) で示します STRT (S) および STOP (P) ステータスビットは リセット発生時またはモジュールが無効にされた時にクリアされます STRT またはリピートスタートイベントを検出した場合 S ステータスビットがセットされ P ステータスビットがクリアされます STOP イベントを検出した場合 P ステータスビットがセットされ S ステータスビットがクリアされます 19 I 2 C (Inter-Integrated Circuit ) アドレスの検出 スレーブモジュールを有効にすると モジュールは STRT 条件の発生を待機します STRT 発生後 スレーブは 10M ビット (I2CxCON<10>) の状態に応じて 7 ビットまたは 10 ビットアドレスの検出を試みます スレーブモジュールは 1 バイト (7 ビットアドレスの場合 ) または 2 バイト (10 ビットアドレスの場合 ) の受信バイトを比較します 7 ビットアドレスのアドレスバイトは アドレス値の後にデータ転送の方向 ( 読み / 書き ) を指定する R/W ステータスビットも格納します R/W = 0 は書き込みを指定し スレーブはマスタからデータを受信します R/W = 1 は読み出しを指定し スレーブはマスタにデータを送信します 10 ビットアドレスの先頭アドレスバイトも R/W ステータスビットを含みますが 規則により R/W は常に 0 です ( スレーブは 10 ビットアドレスの第 2 バイトを次に受信する必要があるため ) 2012 Microchip Technology Inc. DS70330B_JP - p

32 dspic33e/pic24e ファミリリファレンスマニュアル スレーブアドレスのマスキング I2CxMSK レジスタは ドントケア ビットとして指定したアドレスビット位置をマスキングします この機能は 10 ビットおよび 7 ビットのどちらのアドレッシングモードでも使えます I2CxMSK レジスタ内のいずれかのビットをセット (= 1) すると スレーブモジュールはアドレス内の対応するビット位置が 0 であっても 1 であっても応答します 例えば 7 ビットスレーブモードで I2CxMSK = の場合 モジュールはアドレス と に応答します アドレスのマスキングを有効にする場合 IPMIEN ビット (I2CxCON<11>) をクリアする事によって IPMI (Intelligent Platform Management Interface) を無効にする必要があります ビットアドレスによるスレーブ書き込み STRT 条件の後に モジュールは 8 ビットを I2CxRSR レジスタにシフトインします ( 図 参照 ) レジスタ I2CxRSR<7:1> の値は クロック (SCLx) の 8 番目の立ち下がりエッジで I2CxDD<6:0> および I2CxMSK<6:0> レジスタの値と比較されます アドレスが有効な場合 ( マスキングされていない全てのビット位置が一致した場合 ) 下記のイベントが発生します 1. CK を生成する 2. D/ および R/W ステータスビットをクリアする 3. 9 番目の SCLx クロックの立ち下がりエッジで SI2CxIF 割り込みを生成する 4. マスタからのデータ送信を待機する 図 19-21: スレーブ書き込みにおける 7 ビットアドレス検出のタイミング図 I 2 C -Bus State (S) (D) (D) (D) () (Q) SCLx (Master) SDx (Master) SDx (Slave) R/W = STRT ビット検出時にアドレス検出を有効にする R/W = 0 はスレーブがデータバイトを受信する事を示す SI2CxIF Interrupt R/W D/ DD10 SCLREL 先頭バイトのアドレス一致により D/ ステータスビットをクリアする スレーブが CK を生成する R/W ステータスビットをクリアする スレーブが割り込みを生成する バス待機中 スレーブはデータ受信準備完了状態になる ビットアドレスによるスレーブ読み出し 7 ビットアドレスバイトの R/W = 1 によってスレーブ読み出しが指定された場合のデバイスアドレス検出プロセスは スレーブ書き込みの場合と同様です ( 図 参照 ) アドレスが一致すると下記のイベントが発生します 1. CK を生成する 2. D/ ステータスビットをクリアし R/W ステータスビットをセットする 3. 9 番目の SCLx クロックの立ち下がりエッジで SI2CxIF 割り込みを生成するこの時点でスレーブモジュールにはデータを返送する事が期待されるため ソフトウェアが応答を準備できるまで モジュールは I 2 C バスの動作を一時停止します これは モジュールが SCLREL ビット (I2CxCON<12>) をクリアした時に自動的に行われます SCLREL が LOW の場合 スレーブモジュールは SCLx クロックラインを LOW にして I 2 C バスを待機状態にします スレーブモジュールと I 2 C バスは ソフトウェアが I2CxTRN レジスタに応答データを書き込んで SCLREL ビットをセットするまで この状態を維持します Note: SCLREL は STREN ビットの状態に関係なく スレーブ読み出しアドレスの検出後に自動的にクリアされます DS70330B_JP - p Microchip Technology Inc.

33 セクション 19. I 2 C (Inter-Integrated Circuit ) 図 19-22: スレーブ読み出しにおける 7 ビットアドレス検出のタイミング図 I 2 C -Bus State (S) (D) (D) (D) () (Q) SCLx (Master) SCLx (Slave) SDx (Master) SDx (Slave) SI2CxIF Interrupt R/W D/ DD10 SCLREL R/W = STRT ビット検出時にアドレス検出を有効にする R/W = 1 はスレーブがデータバイトを送信する事を示す 先頭バイトのアドレス一致により D/ ステータスビットをクリアする スレーブが CK を生成する R/W ステータスビットをセットする スレーブが割り込みを生成する SCLREL がクリアされる SCLREL = 0 の間スレーブが SCLx を LOW にする バス待機中 スレーブがデータの送信を準備する ビットアドレッシングモード 10 ビットアドレッシングモードでは スレーブは 2 つのデバイスアドレスバイトを受信する必要があります ( 図 参照 ) 先頭アドレスバイトの上位 5 ビットは アドレッシングモードが 10 ビットである事を示します スレーブデバイスは第 2 アドレスバイトも受信する必要があるため 先頭アドレスバイトの R/W ステータスビットは書き込みを指定する必要があります 10 ビットアドレスの先頭バイトは (9 と 8 はアドレスの上位 2 ビット ) です I2CxMSK レジスタは 10 ビットアドレスの任意のビット位置をマスキングできます I2CxMSK レジスタの上位 2 ビットは 先頭バイトで受信する 10 ビットアドレスの上位 2 ビットをマスキングします I2CxMSK レジスタの下位バイトは 第 2 バイトで受信する 10 ビットアドレスの下位バイトをマスキングします STRT 条件の後に モジュールは 8 ビットを I2CxRSR レジスタにシフトインします I2CxRSR<2:1> ビットの値は I2CxDD<9:8> および I2CxMSK<9:8> ビットの値と比較され I2CxRSR<7:3> ビットの値は と比較されます アドレスの比較は 8 番目のクロック (SCLx) の立ち下がりエッジで発生します アドレスが一致するには I2CxRSR<7:3> が に一致し I2CxRSR<2:1> が I2CxDD<9:8> 内でマスクされていない全てのビット位置で一致する必要があります (2 つのビットが両方ともマスクされている場合 一致は不要 ) アドレスが一致すると下記のイベントが発生します 1. CK を生成する 2. D/ および R/W ステータスビット (I2CxSTT<5> と I2CxSTT<2>) がクリアされる 3. 9 番目の SCLx クロックの立ち下がりエッジで SI2CxIF 割り込みを生成するモジュールは 10 ビットアドレスの先頭バイトを受信した後に割り込みを生成します モジュールは続けて第 2 バイトを I2CxRSR レジスタに受信します この時に I2CxRSR<7:0> ビットと I2CDD<7:0> および I2CxMSK<7:0> ビットが比較されます 上位 2 ビットと同様にアドレスの下位バイトも一致した場合 下記のイベントが発生します 1. CK を生成する 2. DD10 ステータスビット (I2CxSTT<8>) がセットされる 3. 9 番目の SCLx クロックの立ち下がりエッジで SI2CxIF 割り込みを生成する 4. モジュールはマスタからのデータ送信またはリピートスタート条件の開始を待機する 19 I 2 C (Inter-Integrated Circuit ) Note: 10 ビットアドレッシングモードでリピートスタート条件が発生した場合 スレーブモジュールは先頭アドレスバイト の上位 7 ビットだけを比較します 2012 Microchip Technology Inc. DS70330B_JP - p

34 dspic33e/pic24e ファミリリファレンスマニュアル 図 19-23: 10 ビットアドレス検出のタイミング図 I 2 C -Bus State (S) (D) (D) (D) () (D) (D) (D) () (Q) SCLx (Master) SDx (Master) SDx (Slave) SI2CxIF Interrupt R/W = R/W D/ DD10 SCLREL STRT ビット検出時にアドレス検出を有効にする 先頭バイトのアドレス一致により D/ ステータスビットがクリアされ スレーブロジックが CK を送信する 先頭バイトの受信により R/W ステータスビットがクリアされる スレーブロジックが割り込みを生成する 先頭バイトと第 2 バイトのアドレス一致により DD10 ステータスビットがセットされ スレーブロジックが CK を送信する 第 2 バイトの受信により 10 ビットアドレスを完全に受信する スレーブロジックが割り込みを生成する バス待機中 スレーブはデータ受信準備完了状態 ジェネラルコール動作通常の I 2 C バスのアドレッシング処理では STRT 条件後最初に送信されるバイトによって スレーブデバイスのアドレスが指定されます 例外として ジェネラルコールアドレスを使うと 全てのデバイスをアドレッシングできます このアドレスを使うと 有効にされた全てのデバイスが肯定応答を返します ジェネラルコールアドレスは I 2 C プロトコルが特殊な用途向けに予約している 8 つのアドレスの 1 つです このアドレスは全て 0 のビットで構成され R/W ビットも 0 です ジェネラルコールは常にスレーブ書き込み動作です ジェネラルコールアドレスは ジェネラルコールイネーブルビット GCEN (I2CxCON<7>) がセットされている場合に認識されます ( 図 参照 ) STRT ビットの検出後 8 ビットが I2CxRSR レジスタにシフトインされ そのアドレスが I2CxDD レジスタおよびジェネラルコールアドレスに対して比較されます ジェネラルコールアドレスが一致すると 下記のイベントが発生します 1. CK を生成する 2. スレーブモジュールが GCSTT ステータスビット (I2CxSTT<9>) をセットする 3. D/ および R/W ステータスビット (I2CxSTT<5> と I2CxSTT<2>) がクリアされる 4. 9 番目の SCLx クロックの立ち下がりエッジで SI2CxIF 割り込みを生成する 5. I2CxRSR レジスタの内容を I2CxRCV レジスタに転送し RBF ステータスビットをセットする ( 第 8 ビット転送時 ) 6. マスタからのデータ送信を待機する割り込みがサービスされた時に GCSTT ステータスビット (I2CxSTT<9>) の内容を読み出す事により デバイスアドレスがデバイス固有のアドレスとジェネラルコールアドレスのどちらに一致したのかを判別できます ジェネラルコールアドレスは 7 ビットアドレスです 10M ビット (I2CxCON<10>) をセットしてスレーブモジュールを 10 ビットアドレス向けに設定している場合 GCEN ビット (I2CxCON<7>) をセットすると スレーブモジュールは 7 ビットのジェネラルコールアドレスを検出し続けます DS70330B_JP - p Microchip Technology Inc.

35 セクション 19. I 2 C (Inter-Integrated Circuit ) 図 19-24: ジェネラルコールアドレス検出のタイミング図 (GCEN = 1) I 2 C -Bus State (S) (D) (D) (D) () (Q) SCLx (Master) SDx (Master) R/W = STRT ビット検出時にアドレス検出を有効にする SDx (Slave) SI2CxIF Interrupt R/W D/ 2 3 全て 0 のアドレスと R/W = 0 によりジェネラルコールである事が示される アドレス一致により D/ ステータスビットをクリアし GCSTT ステータスビットをセットする スレーブが CK を生成する アドレスを I2CxRCV レジスタに読み込む GCSTT I2CRCV RBF 4 5 R/W ステータスビットをクリアする スレーブが割り込みを生成する バス待機中 スレーブはデータ受信準備完了状態になる 全てのアドレスを受信する (IPMI 動作 ) 一部の I 2 C システムプロトコルは スレーブに対してバス上の全てのメッセージに応答する事を要求します 例えば IPMI (Intelligent Platform Management Interface) バスは 分散型ネットワーク内で I 2 C ノードをメッセージリピータとして使います ノードが全てのメッセージをリピートするには スレーブモジュールがデバイスアドレスに関係なく全てのメッセージを受け入れる必要があります IPMI モードを有効にするには IPMIEN ビット (I2CxCON<11>) をセットします ( 図 参照 ) これにより 10M および GCEN ビット (I2CxCON<10> と I2CxCON<7>) の状態または I2CxDD レジスタに書き込まれた値に関係なく 全てのアドレスが受け入れられます Note 1: マスタ動作を実行する場合 IPMIEN ビット (I2CxCON<11>) がクリアされている事が必要です 2: IPMI モードは 10 ビットアドレッシングをサポートしません 3: IPMI アドレッシングモードを有効にした場合 スレーブは マスタから受信したアドレスバイト内の R/W ビット (I2CxSTT<2>) の値が 1 であれば メッセージを無視します 通常の場合 IPMI モードでこのような動作が必要になる事はありません ( マスタが送信するアドレスバイトの R/W ビットの値は通常 0 であるため ) 図 19-25: IPMI アドレス検出のタイミング図 (IPMIEN = 1) I 2 C -Bus State (S) (D) (D) (D) () SCLx (Master) SDx (Master) SDx (Slave) SI2CxIF Interrupt R/W D/ I2CxRCV RBF R/W (Q) 1 STRT ビット検出時にアドレス検出を有効にする 2 アドレスバイトの内容に関係なくアドレスは一致する アドレス一致により D/ ステータスビットをクリアする スレーブが CK を生成する アドレスを I2CxRCV レジスタに読み込む 3 R/W ステータスビットをセット / クリアする スレーブが割り込みを生成する 4 バス待機中 19 I 2 C (Inter-Integrated Circuit ) Microchip Technology Inc. DS70330B_JP - p

36 dspic33e/pic24e ファミリリファレンスマニュアル アドレスが無効な場合の動作 7 ビットアドレスが I2CxDD<6:0> の内容と一致しない場合 スレーブモジュールはアイドル状態に戻り STOP 条件後の状態になるまで全てのバス動作を無視します 10 ビットアドレスの先頭バイトが I2CxDD<9:8> の内容と一致しない場合 スレーブモジュールはアイドル状態に戻り STOP 条件後の状態になるまで全てのバス動作を無視します 10 ビットアドレスの先頭バイトは I2CxDD<9:8> の内容と一致したが 第 2 バイトが I2CxDD<7:0> の内容に一致しない場合 スレーブモジュールはアイドル状態に戻り STOP 条件後の状態になるまで全てのバス動作を無視します マスキングから除外される予約済みアドレスマスキングを有効にしても ハードウェア内でマスキングから除外される各種のアドレスが存在します これらのアドレスに対しては マスキング設定に関係なく肯定応答は生成されません これらのアドレスを表 19-3 に示します 表 19-3: 予約済みの I 2 C - バスアドレス (1) 7 ビットアドレスモード スレーブアドレス R/W ビット 概要 ジェネラルコールアドレス (1) STRT バイト x CBUS アドレス x 予約済み x 予約済み xx x HS モードマスタコード xx x 予約済み xx x 10 ビットスレーブ上位バイト (2) Note 1: このアドレスには GCEN = 1 の場合にのみ応答します 2: このアドレスは 10 ビットアドレッシングモードにおける上位アドレスバイト として使われる場合にのみ 一致が発生します マスタデバイスからデータを受信する R/W ステータスビットがゼロに設定されたデバイスアドレスバイトとの間でアドレス一致が発生すると R/W ステータスビット (I2CxSTT<2>) がクリアされます スレーブモジュールは マスタが送信するデータを待機します デバイスアドレスバイトに続くデータバイトの内容は システムプロトコルによって定義され アドレスが一致したスレーブモジュールだけがそのデータを受信します スレーブモジュールは 8 ビットを I2CxRSR レジスタにシフトインします 8 番目のクロック (SCLx) の立ち下がりエッジで 下記のイベントが発生します 1. モジュールが CK または NCK の生成を開始する 2. RBF ステータスビット (I2CxSTT<1>) をセットしてデータを受信した事を示す 3. I2CxRSR レジスタバイトの内容を ソフトウェアからアクセス可能な I2CxRCV レジスタに転送する 4. D/ ステータスビット (I2CxSTT<5>) がセットされる 5. スレーブ割り込みを生成する ( ソフトウェアは I2CxSTT レジスタのステータスをチェックする事によってイベントの発生原因を特定した後に SI2CxIF 割り込みフラグをクリアできます ) 6. モジュールは次のデータバイトを待機する DS70330B_JP - p Microchip Technology Inc.

37 セクション 19. I 2 C (Inter-Integrated Circuit ) 肯定応答の生成通常 スレーブモジュールは受信した全てのバイトに対して 9 番目の SCLx クロックで CK を送信する事により 肯定応答を返します 受信バッファがオーバーランした場合 スレーブモジュールは CK を生成しません オーバーランは下記のいずれかまたは両方が発生した場合に示されます 1. 転送を受信する前にバッファフルビット RBF (I2CxSTT<1>) がセットされた 2. 転送を受信する前にオーバーフロービット I2COV (I2CxSTT<6>) がセットされた表 19-4 に データ転送バイトを受信した時に RBF および I2COV ステータスビットの状態に応じて発生する動作を示します スレーブモジュールが I2CxRCV レジスタへの転送を試みた時に RBF ステータスビットが既にセットされていた場合 転送は発生せずに割り込みが生成され I2COV ステータスビットがセットされます RBF および I2COV ステータスビットが両方ともセットされていた場合も スレーブモジュールは上記と同様に動作します 表内の網掛け部分は ソフトウェアがオーバーフロー条件を正しくクリアしなかった状態を示します I2CxRCV レジスタを読み出すと RBF ステータスビットはクリアされます I2COV ステータスビットは ソフトウェアで 0 を書き込む事によりクリアされます 表 19-4: データ転送バイト受信時の動作 データバイト受信時のステータスビット RBF I2COV I2CxRSR から I2CxRCV への転送 CK の生成 SI2CxIF 割り込み ( 割り込み有効時 ) RBF ビットのセット I2COV ビットのセット 0 0 発生する 発生する 発生する 発生する 変化しない 1 0 発生しない 発生しない 発生する 変化しない 発生する 1 1 発生しない 発生しない 発生する 変化しない 発生する 0 1 発生する 発生しない 発生する 発生する 変化しない 凡例 : 表内の網掛け部分は ソフトウェアがオーバーフロー条件を正しくクリアしなかった状態を示します スレーブ受信中の待機ステートスレーブモジュールがデータバイトを受信すると マスタは即座に次のバイトの送信を開始できます この場合 スレーブモジュールを制御するソフトウェアは 先に受信したバイトを 9 SCLx クロック周期内に処理する必要があります この時間が十分ではない場合 スレーブソフトウェアはバス待機を要求できます STREN ビット (I2CxCON<6>) は スレーブ受信時のバス待機を有効にします 受信バイトの 9 番目の SCLx クロック立ち下がりエッジで STREN ビットが 1 であった場合 スレーブモジュールは SCLREL ビット (I2CxCON<12>) をクリアします SCLREL ビットをクリアすると スレーブモジュールは SCLx ラインを LOW に駆動して待機を開始します マスタとスレーブの SCLx クロックは マスタクロックの同期 で説明したように同期します ソフトウェアは 次の受信を開始できる状態になった時に SCLREL をセットします これにより スレーブモジュールは SCLx ラインをリリースし マスタがクロックの駆動を再開します 19 I 2 C (Inter-Integrated Circuit ) 2012 Microchip Technology Inc. DS70330B_JP - p

38 dspic33e/pic24e ファミリリファレンスマニュアル スレーブ受信のメッセージ例スレーブによるメッセージの受信は自動処理されます スレーブプロトコルを処理するソフトウェアは イベントに同期するためにスレーブ割り込みを使います スレーブは アドレス一致を検出した時に対応する割り込みを生成し ソフトウェアに対して後続のメッセージを待機するように指示します データ受信中 スレーブは各データバイトを I2CxRCV レジスタに転送するたびに割り込みを生成し ソフトウェアに対してバッファを読み出すように指示します 図 に 単純な受信メッセージを示します このメッセージは 7 ビットアドレスメッセージであるため アドレスバイトに対して 1 回の割り込みが発生します 次に 4 つのデータバイトの各々で割り込みが発生します 割り込み発生時に ソフトウェアは RBF D/ R/W ステータスビット (I2CxSTT<1> I2CxSTT<5> I2CxSTT<2>) を監視する事によって 受信したバイトの条件を判別できます 図 に 10 ビットアドレスを使う同様のメッセージを示します この場合 アドレスには 2 バイトが必要です 図 に ソフトウェアが受信バイトに応答せずにバッファオーバーランが発生する事例を示します 2 番目のバイトを受信した時に モジュールはマスタ送信に対して自動的に NCK を返します 通常の場合 マスタはこれに対して同じバイトを再送信します I2COV ステータスビット I2CxSTT<6> は バッファがオーバーランした事を示します I2CxRCV レジスタバッファは 最初に受信したバイトの内容を保持します 3 番目のバイトを受信した時も バッファはフルのままであるため モジュールはマスタに NCK を返します この後にソフトウェアがバッファを読み出します バッファの読み出しによって RBF ステータスビットはクリアされますが I2COV ステータスビットはセットされたままです ソフトウェアは I2COV ステータスビットをクリアする必要があります 次に受信したバイトは I2CxRCV レジスタバッファに転送され モジュールは CK で応答します 図 に データ受信中のクロックストレッチングを示します 前の例では STREN = 0 によって メッセージ受信時のクロックストレッチングは無効にされていました この例では ソフトウェアが STREN をセットしてクロックストレッチングを有効にします STREN = 1 の場合 モジュールは各データバイトを受信した後に自動的にクロックをストレッチングします これによりソフトウェアは バッファからのデータの移動に より長い時間を使えます 9 番目のクロック立ち下がりエッジで RBF = 1 であった場合 モジュールは自動的に SCLREL ビットをクリアし SCLx バスラインを LOW に駆動します 2 番目のデータバイトの受信に示すように 9 番目のクロック立ち下がりエッジの前にソフトウェアがバッファを読み出して RBF ステータスビットをクリアする事ができた場合 クロックストレッチングは発生しません ソフトウェアはいつでもバスを待機させる事ができます SCLREL ビットをクリアすると モジュールは バス上の SCLx クロックが LOW である事を検出した後に SCLx ラインを LOW に駆動します SCLREL ビットが再びセットされるまで SCLx ラインは LOW に保たれ バス上のトランザクションは一時停止します DS70330B_JP - p Microchip Technology Inc.

39 2012 Microchip Technology Inc. DS70330B_JP - p 図 19-26: スレーブメッセージ ( スレーブへのデータ書き込み : 7 ビットアドレス アドレス一致 10M = 0 GCEN = 0 IPMIEN = 0) SCLx (Master) SDx (Master) SCLx (Slave) SDx (Slave) S P I2CxRCV RBF I2COV R/W D/ STREN SCLREL SI2CxIF W 9 D7 D6 D5 D4 D3 D2 D1 D スレーブが STRT イベントを認識し S および P ステータスビットを状況に応じてセット / クリアする スレーブがアドレスバイトを受信する アドレスが一致する スレーブが肯定応答を返して割り込みを生成する アドレスバイトを I2CxRCV レジスタに転送する バッファオーバーフローを回避するためにユーザソフトウェアはこれを読み出す必要がある 3 次の受信バイトはメッセージデータを格納している バイトを I2CxRCV レジスタに転送して RBF ステータスビットをセットする スレーブが割り込みを生成する スレーブが肯定応答を返す 4 ソフトウェアが I2CxRCV レジスタを読み出す RBF ビットをクリアする D7 D6 D5 D4 D3 D2 D1 D0 SI2CxIF interrupt flag cleared by user software. 5 スレーブが STOP イベントを認識し S および P ステータスビットを状況に応じてセット / クリアする D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D0 セクション 19. I 2 C (Inter-Integrated Circuit ) I 2 C (Inter-Integrated Circuit ) 19

40 DS70330B_JP - p Microchip Technology Inc. 図 19-27: スレーブメッセージ ( スレーブへのデータ書き込み : 10 ビットアドレス アドレス一致 10M = 1 GCEN = 0 IPMIEN = 0) SCL (Master) SD (Master) SCL (Slave) SD (Slave) S P I2CRCV RBF I2COV R_W D_ STREN SCLREL SI2CIF W スレーブが STRT イベントを認識し S および P ビットを状況に応じてセット / クリアする 2 スレーブがアドレスバイトを受信する 上位アドレスが一致 スレーブが肯定応答を返して割り込みを生成する アドレスバイトを I2CRCV レジスタへ転送し ユーザソフトウェアはこれを読み出してバッファオーバーフローを回避する 3 スレーブがアドレスバイトを受信する 下位アドレスが一致 スレーブが肯定応答を返して割り込みを生成する アドレスバイトを I2CRCV レジスタへ転送し ユーザソフトウェアはこれを読み出してバッファオーバーフローを回避する D7D6D5D4D3D2D1D0 SI2CxIF interrupt flag cleared by user software. D7D6D5D4D3D2D1D0 D7D6D5D4D3D2D1D 次の受信バイトはメッセージデータを格納している このバイトを I2CRCV レジスタに転送して RBF をセットする スレーブが肯定応答を返して割り込みを生成する 5 ソフトウェアが I2CRCV レジスタを読み出す RBF ビットをクリアする 6 スレーブが STOP イベントを認識し S および P ビットを状況に応じてセット / クリアする dspic33e/pic24e ファミリリファレンスマニュアル

41 2012 Microchip Technology Inc. DS70330B_JP - p 図 19-28: スレーブメッセージ ( スレーブへのデータ書き込み : 7 ビットアドレス バッファオーバーラン 10M = 0 GCEN = 0 IPMIEN = 0) SCLx (Master) SDx (Master) SCLx (Slave) SDx (Slave) S P I2CxRCV RBF I2COV R/W D/ STREN SCLREL SI2CxIF W D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D0 1 SI2CxIF interrupt flag cleared by user software スレーブがアドレスバイトを受信する アドレスが一致する スレーブが割り込みを生成する 4 ソフトウェアが I2CxRCV を読み出す前に次のバイトを受信する アドレスバイトを I2CxRCV レジスタに転送する バッファオーバーフローを回避するためにユ I2CxRV レジスタは変更されない スレーブが割り込みを生成する スレーブ ーザソフトウェアはこれを読み出す必要がある が受信に対して NCK を送信する 2 次の受信バイトはメッセージデータを格納している バイトを I2CxRCV レジスタに転送して RBF このように マスタが NSCK を受信した後に次のバイトを送信しないようにをセットする スレーブが割り込みを生成する スレーブが肯定応答を返す マスタステートマシンをプログラミングする必要があります ステートマシ ンは 次のバト送信するのではなく STOP 条件を使って送信を中止するか 3 ソフトウェアが I2CxRCV を読み出す前に次のバイトを受信する I2CxRCV レジスタは変更されまたはリピートスタート条件を送信してデータの再送信を試みる必要がありない I2COV オーバーフロービットをセットする スレーブが割り込みを生成する スレーブがます 受信に対して NCK を送信する 5 ソフトウェアが I2CxRCV レジスタを読み出す RBF ビットをクリアする 6 ソフトウェアが I2COV ビットをクリアする モジュールが STOP またはリ ピートスタートビットを検出するまで 正常な受信はできない これらの条件 のいずれも検出しなかった場合 次の送信を正常に受信するが NCK を返し て再び I2COV をセットする N N N セクション 19. I 2 C (Inter-Integrated Circuit ) I 2 C (Inter-Integrated Circuit ) 19

42 DS70330B_JP - p Microchip Technology Inc. 図 19-29: スレーブメッセージ ( スレーブへのデータ書き込み : 7 ビットアドレス クロックストレッチング 10M = 0 GCEN = 0 IPMIEN = 0) SCL (Master) SD (Master) SCL (Slave) W D7D6D5D4D3D2D1D0 D7D6D5D4D3D2D1D0 D7D6D5D4 D3D2D1D0 SD (Slave) S P I2CTRN TBF I2CRCV RBF I2COV R_W D_ STREN SCLREL SI2CIF ソフトウェアが STREN ビットをセットしてクロックストレッチングを有効にする 6 ソフトウェアが SCLREL ビットをセットしてクロックをリリースする 2 スレーブがアドレスバイトを受信する ユーザソフトウェアは I2CRCV レジスタを読 7 スレーブは SCLREL をクリアしない ( この時点では RBF = 0 であるため ) み出してバッファオーバーフローを回避する 8 ソフトウェアは SCLREL をクリアしてクロックをホールドできる モジュールは 3 次の受信バイトはメッセージデータを格納している バイトを I2CRCV レジスタに転送 SCL を LOW に駆動する前に SCL が LOW である事を検出する必要がある 4 して RBF をセットする 9 番目のクロックで RBF = 1 であるため クロックストレッチングが自動的に始まる 9 ソフトウェアは SCLREL をセットしてクロックのホールドを解除できる スレーブが SCLREL ビットをクリアする スレーブが SCL ラインを LOW に駆動して クロックをストレッチする 5 ソフトウェアが I2CRCV レジスタを読み出す RBF ビットをクリアする dspic33e/pic24e ファミリリファレンスマニュアル

43 セクション 19. I 2 C (Inter-Integrated Circuit ) マスタデバイスへデータを送信する R/W ステータスビットが 1 に設定されたデバイスアドレスバイトを受信してアドレスが一致すると R/W ステータスビット (I2CxSTT<2>) がセットされます この時点でマスタデバイスは スレーブが 1 バイトのデータを送信して応答する事を期待します このバイトの内容はシステムプロトコルにより定義され アドレスが一致したスレーブモジュールだけが送信します アドレス一致による割り込みが発生すると ソフトウェアは 1 バイトを I2CxTRN レジスタに書き込んでデータ送信を開始できます スレーブモジュールは TBF ステータスビット (I2CxSTT<0>) をセットします SCLx 入力の各立ち下がりエッジで 8 つのデータビットがシフトアウトされます これにより SCLx の HIGH 期間中の SDx 信号が有効データとしてサンプリングされます 8 ビットの全てをシフトアウトすると TBF ステータスビットがクリアされます スレーブモジュールは 9 番目の SCLx クロック立ち上がりエッジで マスタレシーバからの肯定応答を検出します SDx ラインが肯定応答 (CK) を示す LOW であれば マスタは後続のデータを待機しているため メッセージは終了しません モジュールはスレーブ割り込みを生成し CKSTT ステータスビット (I2CxSTT<15>) をチェックする事によって 次のデータが要求されているかどうかを判別できます スレーブ割り込みは SCLx クロックの 9 番目の立ち下がりエッジで生成されます ソフトウェアは I2CxSTT レジスタのステータスをチェックし SI2CxIF 割り込みフラグをクリアする必要があります SDx ラインが否定応答 (NCK) を示す HIGH であれば データ転送は終了します スレーブモジュールはリセットして割り込みを生成し 次の STRT ビットの検出を待機します スレーブ送信中の待機ステートスレーブ送信の場合 マスタは スレーブが R/W = 1 を持つデバイスアドレスとのアドレス一致を検出した直後にデータを返送する事を期待します このためスレーブモジュールは データを返送する時に必ずバス待機を自動生成します 自動待機は デバイスアドレスバイトが有効な場合 または送信したバイトに対してマスタレシーバからの肯定応答を検出した場合 ( すなわち マスタがスレーブに対して引き続きデータの送信を期待している場合 ) に 9 番目の SCLx の立ち下がりエッジで発生します スレーブモジュールは SCLREL ビット (I2CxCON<12>) をクリアします SCLREL ビットをクリアすると スレーブモジュールは SCLx ラインを LOW に駆動して待機を開始します マスタとスレーブの SCLx クロックは マスタクロックの同期 で説明したように同期します ソフトウェアは I2CxTRN レジスタにデータを書き込み 送信が可能になると SCLREL をセットします これによりスレーブモジュールは SCLx ラインをリリースし マスタによるクロックの駆動が再開します スレーブ送信のメッセージ例 7 ビットアドレスメッセージのスレーブ送信を図 に示します アドレスが一致し そのアドレスバイトの R/W ステータスビットがスレーブ送信を指定している場合 モジュールは SCLREL ビットをクリアする事によって自動的にクロックストレッチングを開始し 割り込みを生成して応答バイトが必要である事を示します ソフトウェアは応答バイトを I2CxTRN レジスタに書き込みます 送信が完了すると マスタは肯定応答を返します マスタが CK を返して次のデータを期待している事を示した場合 モジュールは再び SCLREL ビットをクリアして割り込みを生成します マスタが NCK を返した場合 次のデータを送信する必要はありません その場合 モジュールはクロックをストレッチせずに割り込みを生成します 10 ビットアドレスメッセージのスレーブ送信の場合 スレーブは最初に 10 ビットアドレスモードである事を認識する必要があります マスタはアドレス用に 2 バイトを送信する必要があるため 先頭バイトの R/W ステータスビットは必ず 書き込み を指定します スレーブ送信の場合 メッセージを 読み出し に変更するために マスタはリピートスタートを送信してから R/W ステータスビットを 読み出し に設定したアドレス先頭バイトを再度送信する必要があります この時点でスレーブ送信が始まります ( 図 参照 ) 19 I 2 C (Inter-Integrated Circuit ) 2012 Microchip Technology Inc. DS70330B_JP - p

44 DS70330B_JP - p Microchip Technology Inc. 図 19-30: スレーブメッセージ ( スレーブからのデータ読み出し : 7 ビットアドレス ) SCL (Master) SD (Master) SCL (Slave) SD (Slave) S P I2CTRN TBF I2CRCV RBF I2COV R_W D_ STREN SCLREL SI2CIF R 9 D7D6D5D4D3D2D1D スレーブが STRT イベントを認識し S および P ビットを状況に応じてセット / クリアする 2 スレーブがアドレスバイトを受信する アドレスが一致する スレーブが割り込みを生成する アドレスバイトを I2CRCV レジスタに転送する ユーザソフトウェアはこれを読み出してバッファオーバーフローを回避する R_W = 1 により スレーブからの読み出しが指定される SCLRE = 0 により マスタクロックをストレッチする 3 ソフトウェアが I2CTRN に応答データを書き込む TBF = 1 により バッファがフルである事を示す I2CTRN への書き込みにより D/ がセットされ データバイトである事が示される 4 ソフトウェアが SCLREL をセットして クロックストレッチングを解除する マスタがクロックの駆動を再開し スレーブがデータバイトを送信する D7D6D5D4D3D2D1D0 D7D6D5D4D3D2D1D0 5 最終ビットの後に モジュールが TBF ビットをクリアし 次のバイト用にバッファが空いている事を示す 6 9 番目のクロックでマスタが CK を送信した場合 モジュールは SCLREL をクリアしてクロックをストレッチする スレーブが割り込みを生成する 7 9 番目クロックでマスタが NCK を送信した場合 次の送信データは要求されない モジュールはクロックをストレッチせずに割り込みを生成する 8 スレーブが STOP イベントを認識し S および P ビットを状況に応じてセット / クリアする N dspic33e/pic24e ファミリリファレンスマニュアル

45 2012 Microchip Technology Inc. DS70330B_JP - p 図 19-31: スレーブメッセージ ( スレーブからのデータ読み出し : 10 ビットアドレス ) SCL (Master) SD (Master) SCL (Slave) SD (Slave) S W R D7D6D5D4D3D2D1D0 N D7D6D5D4D3D2D1D0 P I2CTRN TBF I2CRCV RBF DD10 R_W D_ STREN SCLREL SI2CIF スレーブが STRT イベントを認識し S および P ビットを状況に応じてセット / クリアする 2 スレーブが先頭アドレスバイトを受信する 書き込み が指定される スレーブが肯定応答を返して割り込みを生成する ユーザソフトウェアが I2CRCV レジスタを読み出す 3 スレーブがアドレスバイトを受信する アドレスが一致する スレーブが肯定応答を返して割り込みを生成する ユーザソフトウェアが I2CRCV レジスタを読み出す 4 マスタがリピートスタートを送信してメッセージの方向を変更する 5 スレーブが先頭アドレスバイトの再送を受信する ユーザソフトウェアが I2CRCV レジスタを読み出す 読み出し が指定される スレーブがクロックをストレッチする 6 ソフトウェアが I2CTRN に応答データを書き込む 7 ソフトウェアが SCLREL をセットして クロックのホールドを解除する マスタがクロックの駆動を再開し スレーブがデータバイトを送信する 8 マスタが CK を送信した場合 モジュールはは 9 番目クロックの最後で SCLREL をクリアしてクロックをストレッチする スレーブが割り込みを生成する 9 マスタが NCK を送信した場合 9 番目のクロックの最後で次の送信データは要求されない モジュールはクロックをストレッチせずに割り込みを生成する 10 スレーブが STOP イベントを認識し S および P ビットを状況に応じてセット / クリアする セクション 19. I 2 C (Inter-Integrated Circuit ) I 2 C (Inter-Integrated Circuit ) 19

46 dspic33e/pic24e ファミリリファレンスマニュアル 19.8 I 2 C バスの接続に関する注意事項 I 2 C バスはワイヤード ND 接続であるため バスにはプルアップ抵抗が必要です ( 図 内の RP 参照 ) 直列抵抗 ( 図中の RS) は必ずしも必要ではありませんが ESD 耐性を改善するために使います RP と RS の抵抗値は下記のパラメータによって決まります 電源電圧 バス静電容量 接続するデバイスの数 ( 入力電流 + リーク電流 ) 入力レベルの選択 (I 2 C または SMBus) デバイスは RP に対抗してバスを LOW に駆動する必要があるため RP による引き込み電流はデバイス出力段の I/O ピン最小シンク電流 (IOL = 6.6 m at VOLMX = 0.4 V) を上回る必要があります 例として VDD = 3 V + 10% の場合を下式に示します 式 19-2: 最小立ち上がり時間の仕様値は 400 khz システムで 300 ns 100 khz システムで 1000 ns です RP は 総静電容量 (CB) に対して バスを最大立ち上がり時間 300 ns で (VDD 0.7 V) までプルアップする必要があるため プルアップの最大抵抗値 (RPMX) を下式より小さくする必要があります 式 19-3: RPMIN = (VDDMX VOLMX)/IOL = (3.3V 0.6V)/8.5 m = 439Ω -tr/(cb * (ln(1 (VDDMX VILMX))) = -300 ns/(100pf * ln(1 ( ))), or 2.5kΩ RS の最大値は LOW レベルに対する要求ノイズマージンによって決まります RS は ( デバイス VOL + RS 両端電位差 ) が最大 VIL を超えられるほど十分には電圧を降下できません ( 下式 ) 式 19-4: RSMX = (VILMX VOLMX)/IOLMX = (0.3 VDD 0.4)/6.6m = 89Ω 適正動作を保証するために SCLx クロック入力には最小 HIGH および LOW 時間が指定されています I 2 C バスの HIGH および LOW 時間の仕様値と I 2 C モジュールの要件については 各デバイスデータシートの 電気的特性 を参照してください 図 19-32: I 2 C バスのデバイスコンフィグレーション例 VDD + 10% RP RP Device RS RS SDx SCLx CB = pf Note: 入力レベルが VDD に依存する I 2 C デバイスは 1 本の共通電源ラインを持ち そこに各プルアップ抵抗を接続する必要があります DS70330B_JP - p Microchip Technology Inc.

47 セクション 19. I 2 C (Inter-Integrated Circuit ) 内蔵信号コンディショニング SCLx および SDx ピンは入力グリッチフィルタを備えます I 2 C バスは 100 khz および 400 khz システムの両方でこのフィルタを必要とします 400 khz バスで動作する場合 I 2 C バス仕様はデバイスピン出力のスルーレート制御を要求します デバイスはこのスルーレート制御を内蔵しています DISSLW ビット (I2CxCON<9>) をクリアすると スルーレート制御が有効になります 他のバス速度の場合 I 2 C バス仕様はスルーレート制御を要求しないため DISSLW ビットをセットする必要があります I 2 C バスのシステム形態に応じて VILMX と VIHMIN の要求入力レベルが異なります 通常の I 2 C システムでは VILMX は 0.3 VDD VIHMIN は 0.7 VDD です これに対して SMBus (System Management Bus) システムの場合 VILMX は 0.8 V に設定され VIHMIN は 2.1 V に設定されます SMEN ビット (I2CxCON<8>) は入力レベルを制御します SMEN ビットをセットする (= 1) と 入力レベルは SMBus 仕様向けに変更されます 19.9 PWRSV 命令実行時のモジュール動作 スレーブモード中のスリープモード モジュールがスレーブモードに設定されている場合 スリープモードに移行してもモジュールは完全に動作し続けます 全てのビットシフトは外部からの SCL 信号に基づくため 全てのデータ送受信動作は続行されます その後モジュールには 必要に応じて非同期割り込みを生成する事が要求されます スレーブ I 2 C の挙動に従い スレーブ割り込みはアドレス一致時にのみ生成されます このため I 2 C スレーブがスリープモード中にマスタからのメッセージを受信すると 受信したアドレスの一致検出に必要なクロックはマスタから供給されます 割り込みをあらかじめ有効にし ISR が定義済みである場合にのみ アドレス一致時に割り込みを生成してデバイスをスリープから復帰させる事ができます マスタモード中のスリープモード マスタ送信中にスリープへの移行が発生し クロックが停止した時にステートマシンが送信の途中であった場合 モジュールの挙動は未確定です 同様にマスタ受信中にスリープへの移行が発生した場合も モジュールの挙動は未確定です マスタモードで動作中のトランスミッタとレシーバは スリープモード時に停止します レジスタの内容は スリープモードへの移行またはスリープモードからの復帰によって影響を受けません 送信または受信動作の途中でスリープモードへ移行する事を回避するための自動的手段は用意されていません 未確定のモジュール挙動を回避するために ユーザソフトウェアはスリープモードへの移行を I 2 C の動作に同期させる必要があります デバイスがアイドルモードに移行した場合 デバイスは PWRSV 1 命令を実行する事によってアイドルモードに移行します アイドルモード時に モジュールは I2CSIDL ビット (I2CxCON<13>) の状態に応じて省電力モードに移行します I2CSIDL = 1 の場合 モジュールは省電力モード ( スリープモードの時と同様の挙動 ) に移行します I2CSIDL = 0 の場合 モジュールは省電力モードへ移行せず 通常の動作を続けます 周辺モジュールディセーブル (PMD) レジスタ 周辺モジュールディセーブル (PMDx) レジスタを使うと I 2 C モジュールへのクロック供給源を全て停止する事によってモジュールを無効にできます 対応する PMDx 制御ビットで周辺モジュールを無効にすると そのモジュールは最小消費電力状態となります その周辺モジュールに関連する制御およびステータスレジスタも無効になるため それらのレジスタへの書き込みは効果を持たず 読み出し値は無効です モジュールは PMDx レジスタの I2CxMD ビットがクリアされている場合にのみ有効になります 19 I 2 C (Inter-Integrated Circuit ) リセットの影響 リセットは I 2 C モジュールを無効にし 実行中または保留中の全てのメッセージ動作を終了します これらのレジスタのリセット時の状態については I2CxCON ( レジスタ 19-1) および I2CxSTT ( レジスタ 19-2) レジスタの定義を参照してください 2012 Microchip Technology Inc. DS70330B_JP - p

48 DS70330B_JP - p Microchip Technology Inc レジスタマップ 表 19-5: I2Cx 関連のレジスタマップ dspic33e/pic24e の I 2 C モジュールに関連するレジスタの要約を表 19-5 に示します レジスタ名 Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 I2CxRCV 受信レジスタ 0000 I2CxTRN 送信レジスタ 00FF I2CxBRG baud レートジェネレータ 0000 I2CxCON I2CEN I2CSIDL SCLREL IPMIEN 10M DISSLW SMEN GCEN STREN CKDT CKEN RCEN PEN RSEN SEN 1000 I2CxSTT CKSTT TRSTT BCL GCSTT DD10 IWCOL I2COV D/ P S R/W RBF TBF 0000 I2CxDD アドレスレジスタ 0000 I2CxMSK アドレスマスク 0000 凡例 : = 未実装 0 として読み出し リセット値は 16 進数で表記 全リセット dspic33e/pic24e ファミリリファレンスマニュアル

49 セクション 19. I 2 C (Inter-Integrated Circuit ) 設計のヒント 質問 1: 回答 : 質問 2: 回答 : バスマスタとして動作している時にデータを送信すると スレーブ割り込みと受信割り込みが同時に発生し続けます なぜですか マスタとスレーブの回路は独立しています スレーブモジュールは マスタが送信したバスからイベントを受信します スレーブとして動作している時にデータをI2CxTRNレジスタに書き込みましたが データが送信されません なぜですか スレーブは送信の準備中に自動的に待機状態に移行します 送信を始めるには SCLREL ビット (I2CxCON<12>) をセットして I 2 C クロックをリリースする必要があります 質問 3: マスタモジュールの状態を知る方法を教えてください 回答 : マスタモジュールの状態は I2CxCON レジスタ内の SEN RSEN PEN RCEN CKEN ビットの値と I2CxSTT レジスタ内の TRSTT ビットの値を確認する事により特定できます 全てのビットが 0 であれば モジュールはアイドル中です 質問 4: 回答 : スレーブとして動作している時に STREN = 0 の状態でバイトを受信しています 次のバイトを受信する前に受信済みバイトをソフトウェアが処理できない場合 ソフトウェアはどのように動作すべきですか STREN が 0 であったため モジュールはバイトを受信した時に自動待機を生成しませんでした しかし ソフトウェアはメッセージの途中でいつでも STREN をセットしてから SCLREL をクリアできます これにより 次回の受信では SCLx クロックを同期するために待機が発生します 質問 5: 回答 : 質問 6: 回答 : 質問 7: 回答 : I 2 C モジュールをマルチマスタシステムで使っています メッセージの送信を試みると メッセージが破損します 原因は何ですか マルチマスタシステムでは 他のマスタによってバス衝突が発生する可能性があります マスタの割り込みサービスルーチン (ISR) で BCL ステータスビット (I2CxSTT<10>) をチェックして 動作が衝突の発生なく完了したかどうかを確認してください 衝突を検出した場合 そのメッセージを最初から再送信する必要があります I 2 C モジュールをマルチマスタシステムで使っています メッセージを開始できるかどうかは どのように判断すれば良いのですか S ステータスビット (I2CxSTT<3>) を確認してください S = 0 であれば バスはアイドル中です バスに STRT 条件を送信してから I2CxTRN レジスタにデータを書き込んでバイトの送信を試みましたが そのバイトは送信されませんでした 原因は何ですか I 2 C バスでは 1 つのイベントが完了してから次のイベントを開始する必要があります この場合 I2CxTRN レジスタにデータを書き込む前に SEN ビット (I2CxCON<0>) をポーリングして STRT イベントの完了を検出するか マスタ I 2 C 割り込みを待機する必要があります 19 I 2 C (Inter-Integrated Circuit ) 2012 Microchip Technology Inc. DS70330B_JP - p

50 dspic33e/pic24e ファミリリファレンスマニュアル 関連アプリケーションノート 本セクションに関連するアプリケーションノートの一覧を以下に記載します 一部のアプリケーションノートは dspic33e/pic24e デバイスファミリ向けではありません ただし概念は共通しており 変更が必要であったり制限事項が存在するものの利用が可能です I 2 C (Inter-Integrated Circuit ) モジュールに関連する最新のアプリケーションノートは以下の通りです タイトル アプリケーションノート番号 I 2 C マルチマスタ環境における SSP モジュールの使用 N578 スレーブ I 2 C 通信向け PIC デバイスの SSP および MSSP モジュールの使用 N734 マスタ I 2 C 通信向け PIC MSSP モジュールの使用 N735 環境監視向け I 2 C ネットワークプロトコル N736 Note: dspic33e/pic24e デバイスファミリ関連のアプリケーションノートとサンプルコードはマイクロチップ社のウェブサイト ( でご覧になれます DS70330B_JP - p Microchip Technology Inc.

51 セクション 19. I 2 C (Inter-Integrated Circuit ) 改訂履歴 リビジョン (2008 年 9 月 ) 本書の初版 リビジョン B (2012 年 9 月 ) このリビジョンでの変更内容は以下の通りです レジスタ 19-1 内の IPMIEN ビットに Note を追加 スレーブ送信のメッセージ例 の最後の文章を修正して モジュールによって割り込みが生成される事を記載 スレーブモード中のスリープモード を更新 全てのアドレスを受信する (IPMI 動作 ) に 3 項目の Note を追加 式 19-1 を更新 図 内の MI2CxIF 割り込みフラグにパルスを追加 文章および体裁の変更等 本書全体の細部を修正 19 I 2 C (Inter-Integrated Circuit ) 2012 Microchip Technology Inc. DS70330B_JP - p

52 dspic33e/pic24e ファミリリファレンスマニュアル NOTE: DS70330B_JP - p Microchip Technology Inc.

53 マイクロチップ社製デバイスのコード保護機能に関して次の点にご注意ください マイクロチップ社製品は 該当するマイクロチップ社データシートに記載の仕様を満たしています マイクロチップ社では 通常の条件ならびに仕様に従って使用した場合 マイクロチップ社製品のセキュリティレベルは 現在市場に流通している同種製品の中でも最も高度であると考えています しかし コード保護機能を解除するための不正かつ違法な方法が存在する事もまた事実です 弊社の理解ではこうした手法は マイクロチップ社データシートにある動作仕様書以外の方法でマイクロチップ社製品を使用する事になります このような行為は知的所有権の侵害に該当する可能性が非常に高いと言えます マイクロチップ社は コードの保全性に懸念を抱くお客様と連携し 対応策に取り組んでいきます マイクロチップ社を含む全ての半導体メーカーで 自社のコードのセキュリティを完全に保証できる企業はありません コード保護機能とは マイクロチップ社が製品を 解読不能 として保証するものではありません コード保護機能は常に進歩しています マイクロチップ社では 常に製品のコード保護機能の改善に取り組んでいます マイクロチップ社のコード保護機能の侵害は デジタルミレニアム著作権法に違反します そのような行為によってソフトウェアまたはその他の著作物に不正なアクセスを受けた場合は デジタルミレニアム著作権法の定めるところにより損害賠償訴訟を起こす権利が 本書に記載されているデバイスアプリケーション等に関する情報は ユーザの便宜のためにのみ提供されているものであり 更新によって無効とされる事があります お客様のアプリケーションが仕様を満たす事を保証する責任は お客様にあります マイクロチップ社は 明示的 暗黙的 書面 口頭 法定のいずれであるかを問わず 本書に記載されている情報に関して 状態 品質 性能 商品性 特定目的への適合性をはじめとする いかなる類の表明も保証も行いません マイクロチップ社は 本書の情報およびその使用に起因する一切の責任を否認します マイクロチップ社の明示的な書面による承認なしに 生命維持装置あるいは生命安全用途にマイクロチップ社の製品を使用する事は全て購入者のリスクとし また購入者はこれによって発生したあらゆる損害 クレーム 訴訟 費用に関して マイクロチップ社は擁護され 免責され 損害をうけない事に同意するものとします 暗黙的あるいは明示的を問わず マイクロチップ社が知的財産権を保有しているライセンスは一切譲渡されません 商標マイクロチップ社の名称とMicrochipロゴ dspic FlashFlex KEELOQ KEELOQ ロゴ MPLB PIC PICmicro PICSTRT PIC 32 ロゴ rfpic SST SST ロゴ SuperFlash UNI/O は 米国およびその他の国におけるマイクロチップ テクノロジー社の登録商標です FilterLab Hampshire HI-TECH C Linear ctive Thermistor MTP SEEVL Embedded Control Solutions Company は 米国におけるマイクロチップ テクノロジー社の登録商標です Silicon Storage Technology は その他の国におけるマイクロチップ テクノロジー社の登録商標です nalog-for-the-digital ge pplication Maestro BodyCom chipkit chipkit ロゴ CodeGuard dspicdem dspicdem.net dspicworks dsspek ECN ECONOMONITOR FanSense HI-TIDE In-Circuit Serial Programming ICSP Mindi MiWi MPSM MPF MPLB 認証ロゴ MPLIB MPLINK mtouch Omniscient Code Generation PICC PICC-18 PICDEM PICDEM.net PICkit PICtail REL ICE rflb Select Mode SQI Serial Quad I/O Total Endurance TSHRC UniWinDriver WiperLock ZEN Z-Scale は 米国およびその他の国におけるマイクロチップ テクノロジー社の登録商標です SQTP は 米国におけるマイクロチップ テクノロジー社のサービスマークです GestICとULPPは その他の国におけるMicrochip Technology Germany II GmbH & Co. & KG ( マイクロチップ テクノロジー社の子会社 ) の登録商標です その他 本書に記載されている商標は各社に帰属します 2012, Microchip Technology Incorporated, Printed in the U.S.., ll Rights Reserved. ISBN: QULITY MNGEMENT SYSTEM CERTIFIED BY DNV == ISO/TS == マイクロチップ社では Chandler および Tempe ( アリゾナ州 ) Gresham ( オレゴン州 ) の本部 設計部およびウェハー製造工場そしてカリフォルニア州とインドのデザインセンターが ISO/TS :2009 認証を取得しています マイクロチップ社の品質システムプロセスおよび手順は PIC MCU および dspic DSC KEELOQ コードホッピングデバイス シリアル EEPROM マイクロペリフェラル 不揮発性メモリ アナログ製品に採用されています さらに 開発システムの設計と製造に関するマイクロチップ社の品質システムは ISO 9001:2000 認証を取得しています 2012 Microchip Technology Inc. DS70330B_JP - p

54 各国の営業所とサービス 北米本社 2355 West Chandler Blvd. Chandler, Z Tel: Fax: 技術サポート : support URL: アトランタ Duluth, G Tel: Fax: ボストン Westborough, M Tel: Fax: シカゴ Itasca, IL Tel: Fax: クリーブランド Independence, OH Tel: Fax: ダラス ddison, TX Tel: Fax: デトロイト Farmington Hills, MI Tel: Fax: インディアナポリス Noblesville, IN Tel: Fax: ロサンゼルス Mission Viejo, C Tel: Fax: サンタクララ Santa Clara, C Tel: Fax: トロント Mississauga, Ontario, Canada Tel: Fax: アジア / 太平洋アジア太平洋支社 Suites , 37th Floor Tower 6, The Gateway Harbour City, Kowloon Hong Kong Tel: Fax: オーストラリア - シドニー Tel: Fax: 中国 - 北京 Tel: Fax: 中国 - 成都 Tel: Fax: 中国 - 重慶 Tel: Fax: 中国 - 杭州 Tel: Fax: 中国 - 香港 SR Tel: Fax: 中国 - 南京 Tel: Fax: 中国 - 青島 Tel: Fax: 中国 - 上海 Tel: Fax: 中国 - 瀋陽 Tel: Fax: 中国 - 深圳 Tel: Fax: 中国 - 武漢 Tel: Fax: 中国 - 西安 Tel: Fax: 中国 - 厦門 Tel: Fax: 中国 - 珠海 Tel: Fax: アジア / 太平洋 インド - バンガロール Tel: Fax: インド - ニューデリー Tel: Fax: インド - プネ Tel: Fax: 日本 - 大阪 Tel: Fax: 日本 - 横浜 Tel: Fax: 韓国 - 大邱 Tel: Fax: 韓国 - ソウル Tel: Fax: または マレーシア - クアラルンプール Tel: Fax: マレーシア - ペナン Tel: Fax: フィリピン - マニラ Tel: Fax: シンガポール Tel: Fax: 台湾 - 新竹 Tel: Fax: 台湾 - 高雄 Tel: Fax: 台湾 - 台北 Tel: Fax: タイ - バンコク Tel: Fax: ヨーロッパオーストリア - ヴェルス Tel: Fax: デンマーク - コペンハーゲン Tel: Fax: フランス - パリ Tel: Fax: ドイツ - ミュンヘン Tel: Fax: イタリア - ミラノ Tel: Fax: オランダ - ドリューネン Tel: Fax: スペイン - マドリッド Tel: Fax: イギリス - ウォーキンガム Tel: Fax: /29/11 DS70330B_JP - p Microchip Technology Inc.

Section 36. Programmable Cyclic Redundancy Check (CRC)

Section 36. Programmable Cyclic Redundancy Check (CRC) 36 注意 : この日本語版文書は参考資料としてご利用ください 最新情報は必ずオリジナルの英語版をご参照願います セクション 36. プログラマブル巡回冗長検査 () プログラマブル ハイライト 本セクションには以下の主要項目を記載しています 36.1 はじめに... 36-2 36.2 モジュールの概要... 36-3 36.3 レジスタ... 36-3 36.4 エンジン... 36-6 36.5

More information

-2 外からみたプロセッサ GND VCC CLK A0 A1 A2 A3 A4 A A6 A7 A8 A9 A10 A11 A12 A13 A14 A1 A16 A17 A18 A19 D0 D1 D2 D3 D4 D D6 D7 D8 D9 D10 D11 D12 D13 D14 D1 MEMR

-2 外からみたプロセッサ GND VCC CLK A0 A1 A2 A3 A4 A A6 A7 A8 A9 A10 A11 A12 A13 A14 A1 A16 A17 A18 A19 D0 D1 D2 D3 D4 D D6 D7 D8 D9 D10 D11 D12 D13 D14 D1 MEMR 第 回マイクロプロセッサのしくみ マイクロプロセッサの基本的なしくみについて解説する. -1 マイクロプロセッサと周辺回路の接続 制御バス プロセッサ データ バス アドレス バス メモリ 周辺インタフェース バスの基本構成 Fig.-1 バスによる相互接続は, 現在のコンピュータシステムのハードウェアを特徴づけている. バス (Bus): 複数のユニットで共有される信号線システム内の データの通り道

More information

スライド 1

スライド 1 RL78/G13 周辺機能紹介 SAU シリアル アレイ ユニット ルネサスエレクトロニクス株式会社 ルネサス半導体トレーニングセンター 2013/08/02 Rev. 0.00 00000-A コンテンツ SAU の概要 UART 通信機能のプログラム サンプル紹介 2 SAU の概要 3 SAU の機能 クロック同期式調歩同期式マスタ動作のみ チャネル 0: 送信チャネル 1: 受信 4 UART

More information

PIC24F Family Reference Manual Section 9 WDT

PIC24F Family Reference Manual Section 9 WDT 第 9 章 (WDT) ハイライト 本章では次のトピックについて説明します 9.1 はじめに... 9-2 9.2 WDT の動作... 9-2 9.3 レジスタマップ... 9-5 9.4 設計の秘訣... 9-6 9.5 関連するアプリケーションノート... 9-7 9.6 改版履歴... 9-8 9 2007 Microchip Technology Inc. Advance Information

More information

Nios II - PIO を使用した I2C-Bus (2ワイヤ)マスタの実装

Nios II - PIO を使用した I2C-Bus (2ワイヤ)マスタの実装 LIM Corp. Nios II - PIO を使用した I 2 C-Bus (2 ワイヤ ) マスタの実装 ver.1.0 2010 年 6 月 ELSEN,Inc. 目次 1. はじめに... 3 2. 適用条件... 3 3. システムの構成... 3 3-1. SOPC Builder の設定... 3 3-2. PIO の設定... 4 3-2-1. シリアル クロック ライン用 PIO

More information

MODBUS ユーザーズマニュアル 페이지 1 / 23

MODBUS ユーザーズマニュアル 페이지 1 / 23 MODBUS ユーザーズマニュアル 페이지 1 / 23 目次 1. 概要... 1 2. GX7 サポートファンクションコード... 1 3. GX7 サポートリファレンス... 1 4. GX7 サポートリファレンスとファンクションコードの関係... 2 5. XD+ 内プロジェクト設定でオプション別の機能... 4 6. トラブルシューティング... 9 A. APPENDIX... 12 1.

More information

81 /******************************************************************************/ 82 /* スレーブアドレスの設定 */ 83 /*****************************************

81 /******************************************************************************/ 82 /* スレーブアドレスの設定 */ 83 /***************************************** 1 /******************************************************************************/ 2 /* IIC(Inter IC Bus) の制御 */ 3 /******************************************************************************/ 4 /*

More information

目次 1 I2Cとは 13 結線写真 2 センサの多くがI2Cに対応 14 WHO_AM_I 3 マイコンでのI2C通信例 15 I2C読込みプログラム 4 とは 16 I2C読込みスクリプト概要① 5 タイミングパラメータ 17 I2C読込みスクリプト概要② 6 書込み 18 センサ読込みプログラ

目次 1 I2Cとは 13 結線写真 2 センサの多くがI2Cに対応 14 WHO_AM_I 3 マイコンでのI2C通信例 15 I2C読込みプログラム 4 とは 16 I2C読込みスクリプト概要① 5 タイミングパラメータ 17 I2C読込みスクリプト概要② 6 書込み 18 センサ読込みプログラ 第5回 Arduino入門 I2C通信編 プレゼン by いっちー 目次 1 I2Cとは 13 結線写真 2 センサの多くがI2Cに対応 14 WHO_AM_I 3 マイコンでのI2C通信例 15 I2C読込みプログラム 4 とは 16 I2C読込みスクリプト概要① 5 タイミングパラメータ 17 I2C読込みスクリプト概要② 6 書込み 18 センサ読込みプログラム 7 読込み 19 センサ読込み概要①

More information

アナログ・接点変換器

アナログ・接点変換器 LoRa/ 通信変換器 HLR-RS485 通信仕様書 (Modbus) インターフェース 2019 年 02 月 19 日 改訂履歴 日付改訂者改訂内容 2018/09/14 野村初版 2019/02/19 山下 改訂 1 P12 説明文修正 レジスタ割付修正 P13 キャリアセンス異常エラー追加 承認確認作成 ( 3 ) 目次 1 概要... 4 2 基本仕様... 4 3 通信モードについて...

More information

スライド 1

スライド 1 RL78/G13 周辺機能紹介安全機能 ルネサスエレクトロニクス株式会社 ルネサス半導体トレーニングセンター 2013/08/02 Rev. 0.00 00000-A コンテンツ 安全機能の概要 フラッシュ メモリ CRC 演算機能 RAM パリティ エラー検出機能 データの保護機能 RAM ガード機能 SFR ガード機能 不正メモリ アクセス機能 周辺機能を使用した安全機能 周波数検出機能 A/D

More information

DUSx200 シリーズコントローラ I2C インターフェース仕様書

DUSx200 シリーズコントローラ I2C インターフェース仕様書 DUSx200 シリーズコントローラ I2C インターフェース仕様書 目次 1. 変更履歴... 2 2. 適用... 3 3. ホストインターフェース... 3 3.1. 通信タイミング... 3 3.2. 制御信号... 3 3.3. 通信仕様... 4 3.4. プロトコル仕様... 4 4. レポート形式... 5 4.1. タッチ座標データ... 5 4.2 水レポート... 5 5. メンテナンスコマンド...

More information

I2Cコントローラ、ハード・プロセッサ・システム(HPS)のテクニカル・リファレンス・マニュアル(TRM)

I2Cコントローラ、ハード・プロセッサ・システム(HPS)のテクニカル・リファレンス・マニュアル(TRM) 11? 2012? cv_54020-1.2 cv_54020-1.2 I 2 C コントローラは ボード上の集積回路との間の通信リンクを提供しています 温度センサ および電圧レベル変換などのようなアプリケーションから EEPROM A/D と D/A コンバータ コーデック および多くのマイクロプロセッサの種類に使用され シリアル データ ライン (SDA) とシリアル クロック (SCL) のシンプルな

More information

ヤマハDante機器と他社AES67機器の接続ガイド

ヤマハDante機器と他社AES67機器の接続ガイド はじめに AES67 は 高性能なデジタル IP ネットワークの相互接続を実現するための標準規格です AES67 は や Ravenna Q-LAN Livewire WheatNet などの異なるネットワーク規格で構築されたシステム間で オーディオ信号を送受信する手段を提供します ヤマハも 機器のアップデートにより順次 AES67 への対応を開始し 第一弾としてデジタルミキシングコンソール CL/QL

More information

PIC24F Reference Manual Sect.23

PIC24F Reference Manual Sect.23 第 23 章 ハイライト 本章では次のトピックについて説明します 23.1 はじめに... 23-2 23.2 ステータスと制御レジスタ... 23-3 23.3 動作モード... 23-7 23.4 マスターモードのクロック周波数... 23-18 23.5 省電力モードでの動作... 23-19 23.6 レジスタマップ... 23-20 23.7 電気的仕様... 23-21 23.8 関連するアプリケーションノート...

More information

arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ

arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ arduino プログラミング課題集 ( Ver.5.0 2017/06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイコンから伝える 外部装置の状態をマイコンで確認する 信号の授受は 入出力ポート 経由で行う (2) 入出力ポートとは?

More information

39733a.fm

39733a.fm 注意 : この日本語版文書は参考資料としてご利用ください 最新情報は必ずオリジナルの英語版をご参照願います セクション 45. 拡張データ空間 (EDS) を備えたデータメモリ ハイライト 本セクションには下記の主要項目を記載しています 45.1 はじめに... 45-2 45.2 データメモリの構成... 45-3 45.3 拡張データ空間... 45-7 45.4 データ配置... 45-14

More information

データ収集用 NIM/CAMAC モジュールマニュアル 2006/5/23 目次 クレート コントローラ CC/ NIM ADC 1821 (Seiko EG&G)...3 ADC インターフェイス U デッドタイム

データ収集用 NIM/CAMAC モジュールマニュアル 2006/5/23 目次 クレート コントローラ CC/ NIM ADC 1821 (Seiko EG&G)...3 ADC インターフェイス U デッドタイム データ収集用 NIM/CAMAC モジュールマニュアル 2006/5/23 hiromi@tac.tsukuba.ac.jp 目次 クレート コントローラ CC/7700...2 NIM ADC 1821 (Seiko EG&G)...3 ADC インターフェイス U9201...4 デッドタイム カウンター NK-1000...5 AD811 8ch ADC (Ortec)...6 C011 4ch

More information

2.RL78 での割り込み処理 ( 割り込み受け付け ) マスクが解除された (xxmk ビットが 0 の ) 割り込み要求信号は 2 つの用途で使用されます 一つ目は,CPU のスタンバイ状態の解除です この動作は, 割り込み優先順位とは全く無関係で, マスクされていない (xxmk=0 の )

2.RL78 での割り込み処理 ( 割り込み受け付け ) マスクが解除された (xxmk ビットが 0 の ) 割り込み要求信号は 2 つの用途で使用されます 一つ目は,CPU のスタンバイ状態の解除です この動作は, 割り込み優先順位とは全く無関係で, マスクされていない (xxmk=0 の ) 割り込み / ポーリング /DMA/DTC(RL78 での周辺機能制御 ) 周辺機能を介してデータ転送を制御する方法には, 大きく分けて 3 つの方法があります その中で DMA や DTC は CPU を介することなく, 高速にデータを転送することができますが, 使用できるチャネル数が限られます そのため, たとえば,CSI のスレーブでの高速通信のように限られた時間内に転送が必要な場合に使用できます

More information

(Microsoft Word -

(Microsoft Word - マイクロチップ社アプリケーションノート AN-734 抄訳 nobcha 著者マイクロチップ社 Srephen Bowking & Naveen Raj 始めに 多くの PIC マイコンには同期シリアルポート (SSP) や主同期シリアルポート (MSSP) が搭載されています この周辺回路は SPI や i2c プロトコルがが使用できるようになっています このap 資料の目的は i2c のプロトコルを読者により深め

More information

Microsoft Word - COP_MasterSim_Installation_Supplement_A00.doc

Microsoft Word - COP_MasterSim_Installation_Supplement_A00.doc Anybus CANopen Master Simulator インストール手順補足説明資料 Version: A00 エイチエムエス インダストリアルネットワークス株式会社 222-0033 神奈川県横浜市港北区新横浜 3-19-5 新横浜第 2 センタービル 6F TEL : 045-478-5340 FAX : 045-476-0315 URL www.anybus.jp EMAIL セールス

More information

MW100 Modbusプロトコルによるデータ通信の設定について

MW100 Modbusプロトコルによるデータ通信の設定について Modbus プロトコルによるデータ通信の設定について 概要 設定の手順 DAQMASTER の Modbus 通信について 設定の手順を説明します このマニュアルでは イーサネットを使った Modbus 通信 (Modbus/TCP) で 2 台の を接続し データの送受信をするまでの手順を取り上げます なお Modbus クライアント機能を使うには 演算機能 (/M1 オプション ) が必要です

More information

Microsoft Word - FCTT_CS_Mod( )Jver1.doc

Microsoft Word - FCTT_CS_Mod( )Jver1.doc FCTT 通信仕様書 (Modbus RTU) 目 次 1. 通信仕様 2 2. 送受信プロトコル 2 3. -16 の計算方法 3 4. 通信手順フローチャート 4 5. FCTT 通信端子配列 4 6. Modbus プロトコル RTU モード 5 6.1 5 6.2 異常応答 5 6.3 計測値データ要求 6 6.4 機種情報要求 7 7. 通信モニタ機能 8 1 1. 通信仕様 項目 仕様

More information

39734a_JP.fm

39734a_JP.fm 注意 : この日本語版文書は参考資料としてご利用ください 最新情報は必ずオリジナルの英語版をご参照願います 46 セクション 46 スケーラブルコンパレータモジュール スケーラブルコンパレータモジュール ハイライト 本セクションでは 以下の項目について説明します 46.1 はじめに...46-2 46.2 制御レジスタ...46-4 46.3 コンパレータの動作...46-7 46.4 コンパレータ応答時間...46-7

More information

QuartusII SOPC_Builderで利用できるGPIF-AVALONブリッジとは?

QuartusII SOPC_Builderで利用できるGPIF-AVALONブリッジとは? アルテラ FPGA 向け PLL リコンフィグの応用回路 1. PLL リコンフィグとは アルテラ FPGA は PLL 機能を内蔵しています PLL を利用して基本周波数を逓倍 分周したクロックを利用することができます 通常 FPGA 開発ツール Quartus2( 以下 Q2) の MegaWizard プラグインマネージャを利用して PLL を設定し 希望のクロック周波数を得ることができます

More information

SOPC Builder ペリフェラル 簡易ユーザ・ガイド - PIO (Parallel I/O)

SOPC Builder ペリフェラル 簡易ユーザ・ガイド - PIO (Parallel I/O) ALTIMA Corp. SOPC Builder ペリフェラル簡易ユーザ マニュアル PIO (Parallel I/O) ver.1.0 2010 年 8 月 ELSENA,Inc. SOPC Builder ペリフェラル簡易ユーザ マニュアル PIO (Parallel I/O) 目次 1. はじめに... 3 2. PIO 概要... 3 2-1. PIO 概要... 3 2-2. PIO

More information

Microsoft PowerPoint - RL78G14_動画マニュアル_タイマRD.ppt [互換モード]

Microsoft PowerPoint - RL78G14_動画マニュアル_タイマRD.ppt [互換モード] RL78/G14 周辺機能紹介タイマ RD ルネサスエレクトロニクス株式会社 ルネサス半導体トレーニングセンター 2013/08/02 Rev. 0.00 00000-A コンテンツ タイマ RD の概要 PWM 機能のプログラム サンプル紹介 相補 PWM モードのプログラム サンプル紹介 2 タイマ RD の概要 3 タイマ RD の機能 モード 使用チャネル チャネル0, チャネル1 独立で使用

More information

1. A/D 入力について分解能 12bit の A/D コンバータ入力です A/D 入力電圧とディジタル値との対応は理論上 入力電圧 0V : 0 入力電圧 +3V : 4095 です 実際はオフセットと傾きがあり ぴったりこの数値にはなりません 2. A/D 入力に使用する信号 STM32L_A

1. A/D 入力について分解能 12bit の A/D コンバータ入力です A/D 入力電圧とディジタル値との対応は理論上 入力電圧 0V : 0 入力電圧 +3V : 4095 です 実際はオフセットと傾きがあり ぴったりこの数値にはなりません 2. A/D 入力に使用する信号 STM32L_A STM32L_ADC の説明 V003 2014/03/30 STM32L-Discovery の A/D 入力を行うプログラムです A/D CH0 ~ A/D CH3 の 4 本の入力が可能です 提供する PC のアプリケーション Access_SerialPort を使用して UART( 非同期シリアル通信 ) により A/D 入力の表示を行うことができます 無料の開発ツール Atollic TrueSTUDIO

More information

形B5Z 画像型人感センサ(HVC-F) コマンド仕様書

形B5Z 画像型人感センサ(HVC-F) コマンド仕様書 目次 1 はじめに... 2 1-1 B5Z-001001 とは...2 2 基本フロー... 3 2-1 通信フロー...3 2-2 ホスト装置サンプル処理フロー...4 2-3 TCP/IP コマンドと Modbus/TCP コマンド...6 3 コマンド仕様... 7 3-1 コマンドフォーマット...7 3-1-1 TCP/IP コマンド / レスポンスフォーマット... 7 3-1-2 Modbus/TCP

More information

Jan/25/2019 errata_c17m11_10 S1C17 マニュアル正誤表 項目 リセット保持時間 対象マニュアル発行 No. 項目ページ S1C17M10 テクニカルマニュアル システムリセットコントローラ (SRC) 特性 19-3 S1C17M20/M

Jan/25/2019 errata_c17m11_10 S1C17 マニュアル正誤表 項目 リセット保持時間 対象マニュアル発行 No. 項目ページ S1C17M10 テクニカルマニュアル システムリセットコントローラ (SRC) 特性 19-3 S1C17M20/M Jan/25/2019 errata_c17m11_10 S1C17 マニュアル正誤表 項目 リセット保持時間 対象マニュアル発行 No. 項目ページ S1C17M10 テクニカルマニュアル 413180100 19.4 システムリセットコントローラ (SRC) 特性 19-3 S1C17M20/M21/M22/M23/M24/M25 テクニカルマニュアル 413556900 21.4 システムリセットコントローラ

More information

スライド 1

スライド 1 RL78/G13 周辺機能紹介 ADC A/D コンバータ ルネサスエレクトロニクス株式会社 ルネサス半導体トレーニングセンター 2013/08/02 Rev. 0.00 00000-A コンテンツ ADC の概要 ソフトウエア トリガ セレクト モード 連続変換モードのプログラム サンプル紹介 2 ADC の概要 3 ADC のブロック図 パワー オフが可能 入力 選択 記憶 比較 基準電圧 変換結果

More information

PLCシリアル通信 MODBUS通信 データ送信/受信プログラム例

PLCシリアル通信 MODBUS通信 データ送信/受信プログラム例 MODBUS RTU 通信時の配線例 ( 例 )FPΣ と弊社製温調器 KT シリーズ通信します マスタとして使用する FPΣ の MODBUS マスタ機能を使用し スレーブの KT シリーズのデータを読み出し 書き込みを行います マスタ データ書き込み スレーブ データ読み出し RS485 FPΣ の通信カセットは COM3 カセット (FPG-COM3) もしくは COM4 カセット (FPG-COM4)

More information

内容 1. APX-3302 の特長 APX-3312 から APX-3302 へ変更するためには 差分詳細 ハードウェア ハードウェア性能および仕様 ソフトウェア仕様および制限 Ini ファイルの設

内容 1. APX-3302 の特長 APX-3312 から APX-3302 へ変更するためには 差分詳細 ハードウェア ハードウェア性能および仕様 ソフトウェア仕様および制限 Ini ファイルの設 APX-3312 と APX-3302 の差分一覧 No. OM12021D APX-3312 と APX-3302 は どちらも同じ CameraLink 規格 Base Configuration カメラ 2ch 入力可能なボードになります 本書では APX-3312 をご利用になられているお客様が APX-3302 をご利用になられる場合の資料として 両ボードについての差異 を記述しております

More information

Microsoft PowerPoint - Sol7 [Compatibility Mode]

Microsoft PowerPoint - Sol7 [Compatibility Mode] ミニクイズ 4 E ハザード ( つ前の命令の結果を必要とする状況 ) が発生する条件を つ挙げよ. また それぞれの時に 制御線 ForwardA, ForwardB はどのように設定すれば良いか? ( 回答 ) E/.RegWrite= かつ E/.RegisterRd = ID/.RegisterRs この時,ForwardA = と制御すれば良い. E/.RegWrite= かつ E/.RegisterRd

More information

Section 15. Input Capture

Section 15. Input Capture 注意 : この日本語版文書は参考資料としてご利用ください 最新情報は必ずオリジナルの英語版をご参照願います セクション 15. 入力キャプチャ ハイライト 本セクションには下記の主要項目を記載しています 15.1 はじめに... 15-2 15.2 入力キャプチャレジスタ... 15-4 15.3 タイマの選択... 15-8 15.4 入力キャプチャの有効化... 15-8 15.5 入力キャプチャイベントモード...

More information

UM10204 I2C バス仕様およびユーザーマニュアル

UM10204 I2C バス仕様およびユーザーマニュアル Rev. 5.0J 2012 年 10 月 9 日 ( 日本語翻訳 11 月 2 日 ) ユーザーマニュアル この日本語訳資料は 参考資料としてご提供しております 英語版のオリジナル資料は頻繁に更新されます 最終的なご確認は最新の英語版ユーザーマニュアルをご参照ください 文書情報 情報 内容 キーワード I 2 C I 2 C バス Standard-mode Fast-mode Fast-mode

More information

本書は INpMac v2.20(intime 5.2 INplc 3 Windows7/8/8.1に対応 ) の内容を元に記載しています Microsoft Windows Visual Studio は 米国 Microsoft Corporation の米国及びその他の国における登録商標です

本書は INpMac v2.20(intime 5.2 INplc 3 Windows7/8/8.1に対応 ) の内容を元に記載しています Microsoft Windows Visual Studio は 米国 Microsoft Corporation の米国及びその他の国における登録商標です ACTIVE TOUCH 拡張部品取扱説明書 - 共有メモリアクセスコンポーネント - 1. はじめに 1 (1) 概要... 1 (2) INpMac のインストール... 1 2. Windows アプリケーションとの連携 2 (1) コントロール ( 部品 ) の登録... 2 (2) データの関連付け... 3 3. INtime アプリケーションとの連携 4 (1) 部品 ( コンポーネント

More information

(Microsoft Word - JE000250_\203\312TURTLE-RWModbusTCP\220\332\221\261\220\340\226\276\217\221\(4\224\305\).doc)

(Microsoft Word - JE000250_\203\312TURTLE-RWModbusTCP\220\332\221\261\220\340\226\276\217\221\(4\224\305\).doc) 東洋ワイヤレス計測システム µturtle-rw Modbus/TCP 接続説明書 4.0 版 2013 年 02 月 28 日 JE000250 はじめに このたびは 東洋ワイヤレス計測システムをお買い上げいただき まことにありがとうございます この µturtle-rw Modbus/TCP 接続説明書 は Modbus/TCP を用いて µturtle-rw へ接続し データや設定を読み書きする操作について説明しています

More information

CMOS リニアイメージセンサ用駆動回路 C CMOS リニアイメージセンサ S 等用 C は当社製 CMOSリニアイメージセンサ S 等用に開発された駆動回路です USB 2.0インターフェースを用いて C と PCを接続

CMOS リニアイメージセンサ用駆動回路 C CMOS リニアイメージセンサ S 等用 C は当社製 CMOSリニアイメージセンサ S 等用に開発された駆動回路です USB 2.0インターフェースを用いて C と PCを接続 CMOS リニアイメージセンサ用駆動回路 C13015-01 CMOS リニアイメージセンサ S11639-01 等用 C13015-01は当社製 CMOSリニアイメージセンサ S11639-01 等用に開発された駆動回路です USB 2.0インターフェースを用いて C13015-01と PCを接続することにより PCからC13015-01 を制御して センサのアナログビデオ信号を 16-bitデジタル出力に変換した数値データを

More information

< D A0>

< D A0> #include #include ".h" * マスターモード専用 I2C 関数 教育 ホビー用 * 営利目的 商用への利用は禁止 * 詳しいタイミングは NXP の資料参照のこと 関数の説明 * ストップ状態にします : クロックをHにしてデータをL->Hします _stop() SDA_LOW(); 初めはデータを L 確認 SCL_HIGH(); SCL を H にする //

More information

CommCheckerManual_Ver.1.0_.doc

CommCheckerManual_Ver.1.0_.doc 通信チェックツール (CommChecker) 取扱説明書 (Ver.1.0) 2009 ESPEC Corp. 目次 1. 使用条件 4 2. ダウンロード & インストール 5 3. 環境設定 6 3-1.RS-485 通信 6 3-2.RS-232C 通信 7 3-3.GPIB 通信 8 4. ソフトウェアの使用方法 9 4-1. 起動 9 4-2. 通信設定 10 (1)RS485 通信 10

More information

スライド 1

スライド 1 RX62N 周辺機能紹介 TMR 8 ビットタイマ ルネサスエレクトロニクス株式会社ルネサス半導体トレーニングセンター 2013/08/02 Rev. 1.00 00000-A コンテンツ TMR の概要 プログラムサンプル (1) パルス出力機能 (8 ビットモード ) プログラムサンプル (2) インターバルタイマ機能 (16 ビット コンペアマッチカウントモード ) プログラムサンプルのカスタマイズ

More information

スライド 1

スライド 1 RX62N 周辺機能紹介 MTU2 マルチファンクションタイマパルスユニット 2 ルネサスエレクトロニクス株式会社ルネサス半導体トレーニングセンター 2013/08/02 Rev. 1.00 00000-A コンテンツ MTU2 の概要 プログラムサンプル (1) インプットキャプチャ機能 プログラムサンプル (2) PWM モード プログラムサンプル (3) 相補 PWM モード プログラムサンプルのカスタマイズ

More information

TFTP serverの実装

TFTP serverの実装 TFTP サーバーの実装 デジタルビジョンソリューション 佐藤史明 1 1 プレゼンのテーマ組み込みソフトのファイル転送を容易に 2 3 4 5 基礎知識 TFTP とは 実践 1 実際に作ってみよう 実践 2 組み込みソフトでの実装案 最後におさらい 2 プレゼンのテーマ 組み込みソフトのファイル転送を容易に テーマ選択の理由 現在従事しているプロジェクトで お客様からファームウェアなどのファイル転送を独自方式からTFTPに変更したいと要望があった

More information

Microsoft Word - TCPIPポートモニタ02_PDF版_.doc

Microsoft Word - TCPIPポートモニタ02_PDF版_.doc TCP/IP プリンタ ポートモニタでの印刷 [TCP/IP プリンタ ポートモニタ ] を使用すれば Windows Me/98/95 から TCP/IP を使って自動再印刷に対応した印刷をすることができます 対応 OS ( 日本語版 ) LAN 環境 Windows Me Windows 98(Second Edition 含む ) Windows 95 TCP/IP が利用できること [TCP/IP

More information

SiTCP ユーティリティユーザガイド 2014 年 6 月 18 日 0.73 版 Bee Beans Technologies 1

SiTCP ユーティリティユーザガイド 2014 年 6 月 18 日 0.73 版 Bee Beans Technologies 1 SiTCP ユーティリティユーザガイド 2014 年 6 月 18 日 0.73 版 Bee Beans Technologies 1 改版履歴 版数 日付 内容 備考 0.1 2013 年 04 月 04 日 ドラフト作成 0.11 2013 年 04 月 10 日 UI 等の微調整に対応 0.2 2013 年 04 月 24 日 サーバー機能追加 0.3 2013 年 06 月 18 日 各 OS

More information

Report Template

Report Template MachXO2 EFB(Embedded Function Block) 1 目次 1 このドキュメントの概要 3 2 EFB の構成 4 3 EFB とハードマクロの生成と注意事項 5 3.1 EFB Enables タブの設定... 5 3.2 I2C タブの設定... 6 3.3 SPI タブの設定... 7 3.4 Timer/Counter タブの設定... 9 4 Wishbone から

More information

CoIDE 用 F4D_VCP の説明 V /07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです Free の開発ツール CoIDE で作成した STM32F4 Discovery 用のプロジェクトです プログラムの開始番地は 0x

CoIDE 用 F4D_VCP の説明 V /07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです Free の開発ツール CoIDE で作成した STM32F4 Discovery 用のプロジェクトです プログラムの開始番地は 0x CoIDE 用 F4D_VCP の説明 V001 2014/07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです Free の開発ツール CoIDE で作成した STM32F4 Discovery 用のプロジェクトです プログラムの開始番地は 0x08000000 です デバッグが可能です 目次 1. USB の VCP( 仮想 COM ポート )

More information

Section 23. Serial Peripheral Interface (SPI)

Section 23. Serial Peripheral Interface (SPI) 注意 : この日本語版文書は参考資料としてご利用ください 最新情報は必ずオリジナルの英語版をご参照願います セクション 23. シリアルペリフェラルインターフェイス (SPI) ハイライト 本セクションには下記の主要項目を記載しています 23.1 はじめに... 23-2 23.2 ステータス / 制御レジスタ... 23-7 23.3 動作モード... 23-16 23.4 オーディオプロトコルインターフェイスモード...

More information

6

6 Stellaris LM3S9B96 Microcontroller 15 章同期式シリアル インターフェイス (SSI) JAJU139 SPMS182D 翻訳版 (15 章 ) 最新の英語版 : http://www.ti.com/lit/gpn/lm3s9b96 この資料は Texas Instruments Incorporated(TI) が英文で記述した資料を 皆様のご理解の一助として頂くために日本テキサス

More information

内容 1. 仕様 動作確認条件 ハードウェア説明 使用端子一覧 ソフトウェア説明 動作概要 ファイル構成 オプション設定メモリ 定数一覧 変数一

内容 1. 仕様 動作確認条件 ハードウェア説明 使用端子一覧 ソフトウェア説明 動作概要 ファイル構成 オプション設定メモリ 定数一覧 変数一 RX210 グループ IRQ 割り込みを使用したパルス出力 要旨 本サンプルコードでは IRQ 割り込みが発生すると 一定期間タイマでパルスを出力する 方法について説明します 対象デバイス RX210 1 / 25 内容 1. 仕様... 3 2. 動作確認条件... 3 3. ハードウェア説明... 3 3.1 使用端子一覧... 3 4. ソフトウェア説明... 4 4.1 動作概要... 4

More information

WAGO PROFIBUS バスカプラ/コントローラと、QJ71PB92Dとのコンフィグレーションマニュアル

WAGO PROFIBUS バスカプラ/コントローラと、QJ71PB92Dとのコンフィグレーションマニュアル < 概要 > WAGO-I/O-SYSTEM750 シリーズ PROFIBUS バスカプラ / コントローラと 三菱電機 製 PROFIBUS ユニット QJ71PB92D とのコンフィグレーション手順を説明しております < 使用機器接続図 > 下記機器を準備し 図の通り接続しました WAGO-I/O-SYSTEM PROFIBUS バスカプラ / コントローラ 750-xxx および I/O モジュール

More information

Microsoft Word - TC4017BP_BF_J_P10_060601_.doc

Microsoft Word - TC4017BP_BF_J_P10_060601_.doc 東芝 CMOS デジタル集積回路シリコンモノリシック TC4017BP,TC4017BF TC4017BP/TC4017BF Decade Counter/Divider は ステージの D タイプ フリップフロップより成る 進ジョンソンカウンタで 出力を 進数に変換するためのデコーダを内蔵しています CLOCK あるいは CLOCK INHIBIT 入力に印加されたカウントパルスの数により Q0~Q9

More information

IrDA型赤外線タグ仕様

IrDA型赤外線タグ仕様 IrDA 型赤外線タグ仕様 Specification of IrDA infrared active tag 目次 (Table of Contents) はじめに...3 規定範囲...3 本書の位置付け...3 参照規定...3 用語定義...3 1. IrDA 型赤外線タグの物理層規定...4 1.1. 概要...4 1.2. バイトフォーマット...5 1.2.1. パルス幅許容値...5

More information

Relay Socket for Industrial Relay                    1/2

Relay Socket for Industrial Relay                     1/2 WAGO-I/O-PRO CAA ライブラリ ライブラリ は 2 つのファンクションブロックを含みます : ETHERNET_MODBUSMASTER_UDP ETHERNET_MODBUSMASTER_TCP このファンクションブロックを使用することで 1 つあるいはそれ以上のスレーブとの通信を確立させることができます TCP のファンクションブロックより より速くデータ交換を処理することができるファンクションブロック

More information

Introducing_SPIStorm-JP

Introducing_SPIStorm-JP SPI Storm の紹介 USB での SPI Storm は Byte Paradigm の USB Serial Protocol host adapter です SPI Storm は マスターとして SPI (Serial Peripheral Interface) 3-wires SPI dual-spi quad-spi プロトコルをサポートします それは PC から最大 100MHz

More information

ウォッチドッグ・タイマ、ハード・プロセッサ・システム(HPS)のテクニカル・リファレンス・マニュアル(TRM)

ウォッチドッグ・タイマ、ハード・プロセッサ・システム(HPS)のテクニカル・リファレンス・マニュアル(TRM) 11? 2012? cv_54024-1.2 cv_54024-1.2 ウォッチドッグ タイマの主な機能は 無応答ステートから回復するシステムの方法を提供することです ハード プロセッサ システム (HPS) は レベル 4(L4) のペリフェラル バスに接続された 2 つのプログラム可能なウォッチドッグ タイマを提供しています ウォッチドッグ タイマは Synopsys DesignWare APB

More information

ServerView with Data ONTAP-v インストール前にお読みください

ServerView with Data ONTAP-v インストール前にお読みください * C A 9 2 3 4 4-0 0 6 7 * CA92344-0067-01 ServerView with Data ONTAP-v TM インストール前にお読みください ServerView with Data ONTAP-v TM Software インストール前に必ずお読みください 本書は ServerView with Data ONTAP-v TM Software を使用するために必要となる

More information

QuartusII SOPC_Builderで利用できるGPIF-AVALONブリッジとは?

QuartusII SOPC_Builderで利用できるGPIF-AVALONブリッジとは? レジスタ アクセスの拡張機能 1. レジスタ アクセスの概要 Smart-USB Plus 製品で利用できるレジスタ アクセスとは FPGA 内にハードウエア レジスタを実装し ホスト PC の制御ソフトウエアから USB 経由でそれらのレジスタに値を設定したり レジスタの設定値を読み出すことができる機能です このレジスタ アクセス制御には USB バス仕様に基づく コントロール転送 を利用しています

More information

1. USB の VCP( 仮想 COM ポート ) について USB の VCP( 仮想 COM ポート ) は USB を非同期シリアル通信として使用するための USB のドライバです PC には VCP ドライバをインストールする必要があります USB の VCP( 仮想 COM ポート )

1. USB の VCP( 仮想 COM ポート ) について USB の VCP( 仮想 COM ポート ) は USB を非同期シリアル通信として使用するための USB のドライバです PC には VCP ドライバをインストールする必要があります USB の VCP( 仮想 COM ポート ) TrueSTUDIO 用 F4D_VCP の説明 V001 2014/07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです 無料の試用版開発ツール Atollic TrueSTUDIO for ARM Lite で作成したプロジェクトです ビルド可能なプログラムのコードサイズが 32Kbyte 以内の制限があります プログラムの開始番地は 0x08000000

More information

(Microsoft Word - \216\346\220\340SiTCP-VME-Master\(Rev26\).doc)

(Microsoft Word - \216\346\220\340SiTCP-VME-Master\(Rev26\).doc) SiTCP VME-Master Master module Mode2 BBT-002 002-2 取扱説明書 Rev 2.6 (June21, 2016) 変更履歴 Rev 変更日 変更ページ 変更内容 0.4 2008/02/13 P12 Address Fix モード時の制限事項を追加 0.5 2008/02/14 P3, 11 非整列転送の非サポートを明記 1.0 2008/04/04 P6

More information

Microsoft Word - TC4013BP_BF_J_P9_060601_.doc

Microsoft Word - TC4013BP_BF_J_P9_060601_.doc 東芝 CMOS デジタル集積回路シリコンモノリシック TC4013BP,TC4013BF TC4013BP/TC4013BF Dual D-Type Flip Flop は 2 回路の独立な D タイプ フリップフロップです DATA 入力に加えられた入力レベルはクロックパルスの立ち上がりで Q および Q 出力に伝送されます SET 入力を H RESET 入力を L にすると Q 出力は H Q

More information

2015/04/01 改定 オムロン DeviceNet ユニット CJ1W-DRM21 に関するコンフィグレーション作業について 1. 概要 DeviceNet ユニット CJ1W-DRM21 を装着したオムロン製 CJ2 シリーズと WAGO-I/0-SYSTEM DeviceNet 対応バスカ

2015/04/01 改定 オムロン DeviceNet ユニット CJ1W-DRM21 に関するコンフィグレーション作業について 1. 概要 DeviceNet ユニット CJ1W-DRM21 を装着したオムロン製 CJ2 シリーズと WAGO-I/0-SYSTEM DeviceNet 対応バスカ オムロン DeviceNet ユニット CJ1W-DRM21 に関するコンフィグレーション作業について 1. 概要 DeviceNet ユニット CJ1W-DRM21 を装着したオムロン製 CJ2 シリーズと WAGO-I/0-SYSTEM DeviceNet 対応バスカプラ 750-306 を使ったリモート I/O システムとの接続に関するコンフィグレーション方法について説明いたします 2. システム構成本書で用いるシステム構成例の内容を以下の表に示します

More information

このダイナミックリンクライブラリ GaugeC48.dll は 8CH から 48CH 用の DigitalGaugeCounterDG3000 シリーズ共通の DLL です この説明書は GaugeC48.dll を使ったアプリケーションを作成するためのものです 開発環境は MicrosoftVi

このダイナミックリンクライブラリ GaugeC48.dll は 8CH から 48CH 用の DigitalGaugeCounterDG3000 シリーズ共通の DLL です この説明書は GaugeC48.dll を使ったアプリケーションを作成するためのものです 開発環境は MicrosoftVi DigitalGaugeCounter DG3000 シリーズ ダイナミックリンクライブラリ GaugeC48.dll(DLL) 取扱説明書 このダイナミックリンクライブラリ GaugeC48.dll は 8CH から 48CH 用の DigitalGaugeCounterDG3000 シリーズ共通の DLL です この説明書は GaugeC48.dll を使ったアプリケーションを作成するためのものです

More information

Microsoft Word - SUA007

Microsoft Word - SUA007 アルテラ社ツール Qsys を利用した Smart-USB Plus 製品用リファレンス回路 SRAM-FIFO モジュール 1. SRAM-FIFO モジュールとは? Smart-USB Plus 製品に搭載する高速同期 SRAM を FIFO 化するモジュールです アルテラ社 AVALON バス仕様に準拠しています 既に提供している GPIF-AVALON ブリッジ (SUA006 アプリケーションノート参照

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション コンピュータアーキテクチャ 第 13 週 割込みアーキテクチャ 2013 年 12 月 18 日 金岡晃 授業計画 第 1 週 (9/25) 第 2 週 (10/2) 第 3 週 (10/9) 第 4 週 (10/16) 第 5 週 (10/23) 第 6 週 (10/30) 第 7 週 (11/6) 授業概要 2 進数表現 論理回路の復習 2 進演算 ( 数の表現 ) 演算アーキテクチャ ( 演算アルゴリズムと回路

More information

US-122MK2/144MK2_RN-J_RevF

US-122MK2/144MK2_RN-J_RevF 目次 最新情報... 1 新機能... 2 Windows ドライバー... 2 Mac OS X ドライバー... 2 メンテナンス項目... 3 ファームウェア... 3 Windows ドライバー... 3 Mac OS X ドライバー... 3 既知の不具合... 4 Windows ドライバー... 4 Mac OS X ドライバー... 4 ご注意... 4 デジタル入力を使用する場合...

More information

X.25 PVC 設定

X.25 PVC 設定 X.25 PVC 設定 目次 はじめに前提条件要件使用するコンポーネント表記法背景説明仮想回線範囲の設定設定ネットワーク図設定確認トラブルシューティング関連情報 はじめに このドキュメントでは X.25 相手先固定接続 (PVC) の設定例を紹介します 前提条件 要件 このドキュメントに関しては個別の要件はありません 使用するコンポーネント このドキュメントは 特定のソフトウェアやハードウェアのバージョンに限定されるものではありません

More information

ソフトウェア基礎技術研修

ソフトウェア基礎技術研修 算術論理演算ユニットの設計 ( 教科書 4.5 節 ) yi = fi (x, x2, x3,..., xm) (for i n) 基本的な組合せ論理回路 : インバータ,AND ゲート,OR ゲート, y n 組合せ論理回路 ( 復習 ) 組合せ論理回路 : 出力値が入力値のみの関数となっている論理回路. 論理関数 f: {, } m {, } n を実現.( フィードバック ループや記憶回路を含まない

More information

PIC の書き込み解説 PICライターを使うときに間違った使い方を見受ける 書き込み失敗の原因は知識不足にある やってはいけないことをしている 単に失敗だけならまだしも部品を壊してしまう 正しい知識を身に着けよう 書き込みに必要なピンと意味 ICSPを意識した回路設計の必要性 ICSP:In Cir

PIC の書き込み解説 PICライターを使うときに間違った使い方を見受ける 書き込み失敗の原因は知識不足にある やってはいけないことをしている 単に失敗だけならまだしも部品を壊してしまう 正しい知識を身に着けよう 書き込みに必要なピンと意味 ICSPを意識した回路設計の必要性 ICSP:In Cir PIC の書き込み解説 PICライターを使うときに間違った使い方を見受ける 書き込み失敗の原因は知識不足にある やってはいけないことをしている 単に失敗だけならまだしも部品を壊してしまう 正しい知識を身に着けよう 書き込みに必要なピンと意味 ICSPを意識した回路設計の必要性 ICSP:In Circuit Serial Programmming 原則論を解説 PIC の種類によって多少異なる 1

More information

ルート プロセッサ

ルート プロセッサ CHAPTER 6 この章では Cisco CRS-1 キャリアルーティングシステムの Route Processor(RP; ) カードについて説明します 内容は次のとおりです の概要 アクティブおよびスタンバイの調停 RP カード To Fabric モジュールキューイング の概要 (RP) カードは シングルシャーシ Cisco CRS-1 キャリアルーティングシステムのシステムコントローラです

More information

Microsoft PowerPoint - フェリカ通信仕様書_

Microsoft PowerPoint - フェリカ通信仕様書_ 1 / 25 2006/07/19 フェリカリーダ通信仕様書 Ver.00.12 松下電工株式会社 制御デバイス事業部 2 / 25 目次 1. 基本構成 3 2. 通信規則 4 3. パケットの構成 5 4. コマンド一覧 6 5. コマンドの詳細 ( ホスト R/Wユニット 7 #A... 動作状態確認 #B... リセット #C... 動作状態変更 #D... データ書き込み (1) #E...

More information

VLSI工学

VLSI工学 25/1/18 計算機論理設計 A.Matsuzawa 1 計算機論理設計 (A) (Computer Logic Design (A)) 東京工業大学大学院理工学研究科電子物理工学専攻 松澤昭 3. フリップフロップ回路とその応用 25/1/18 計算機論理設計 A.Matsuzawa 2 25/1/18 計算機論理設計 A.Matsuzawa 3 注意 この教科書では記憶回路を全てフリップフロップと説明している

More information

Microsoft Word - dg_sataahciip_refdesign_jp.doc

Microsoft Word - dg_sataahciip_refdesign_jp.doc SATA AHCI-IP コア リファレンス デザイン説明書 Rev1.3J 2017/03/22 本ドキュメントは AHCI-IP コア実機デモ システムのリファレンス デザインを説明したものです SATA-IP コアの上位に AHCI-IP コアを実装することで アプリケーション レイヤのドライバを介して Linux 等の OS から接続 SATA デバイスを直接ドライブとして認識でき ファイル

More information

管理アカウントの TACACS+ 認証をサポートするための Cisco VPN 3000 コンセントレータの設定方法

管理アカウントの TACACS+ 認証をサポートするための Cisco VPN 3000 コンセントレータの設定方法 管理アカウントの TACACS+ 認証をサポートするための Cisco VPN 3000 コンセントレータの設定方法 目次 概要前提条件要件使用するコンポーネント表記法 TACACS+ サーバを設定して下さい TACACS+ サーバの VPN 3000 コンセントレータのためのエントリを追加して下さい TACACS+ サーバのユーザアカウントを追加して下さい TACACS+ サーバのグループを編集して下さい

More information

三菱電機マイコン機器ソフトウエア株式会社

三菱電機マイコン機器ソフトウエア株式会社 MU500-RX サンプル回路仕様書 三菱電機マイコン機器ソフトウエア株式会社 2012-5-9 1 概要 1.1 目的本仕様書は MU500-RX と MU500-RK で実現する 1 秒カウンタの仕様について記述するものである マイコンで 1 秒を生成し 表示は 7 セグメント LED を用いる また 開始 / 停止は Push-SW を使う 1.2 関連文書 MU500-RX

More information

CoIDE 用 STM32F4_UART2 の説明 V /03/30 STM32F4 Discovery の非同期シリアル通信ポート UART2 の送受信を行うプログラムです Free の開発ツール CoIDE で作成したプロジェクトサンプルです プログラムの開始番地は 0x08000

CoIDE 用 STM32F4_UART2 の説明 V /03/30 STM32F4 Discovery の非同期シリアル通信ポート UART2 の送受信を行うプログラムです Free の開発ツール CoIDE で作成したプロジェクトサンプルです プログラムの開始番地は 0x08000 CoIDE 用 STM32F4_UART2 の説明 V002 2014/03/30 STM32F4 Discovery の非同期シリアル通信ポート UART2 の送受信を行うプログラムです Free の開発ツール CoIDE で作成したプロジェクトサンプルです プログラムの開始番地は 0x08000000 です デバッグが可能です 提供する PC のアプリケーションの Access_SerialPort

More information

EU-SD/MCシリーズ アプリケーションノート

EU-SD/MCシリーズ アプリケーションノート の制御方法 シリアル コマンドバージョン基本編 概要 は 組み込み用 SD カードコントロールユニットです ファイルシステムを搭載していますので 煩わしいファイルの管理をホストマイコン側で行う必要が無く 手早く簡単に SD カードを使ったアプリケーションを構築できます このでは のシリアル コマンドバージョンを使 うための基本的な操作方法を説明します 動作可能ユニット EU-SD500 シリーズ及び

More information

ルート プロセッサ

ルート プロセッサ CHAPTER 6 この章では Route Processor(RP; ) カードについて説明します 内容は次のとおりです RP の概要 プライマリおよびスタンバイの調停 RP カード To Fabric モジュールキューイング RP の概要 RP は Cisco CRS-1 4 スロットラインカードシャーシのシステムコントローラです ルート処理を実行し MSC( モジュラサービスカード ) にフォワーディングテーブルを配信します

More information

User Support Tool 操作ガイド

User Support Tool 操作ガイド User Support Tool - 操作ガイド - User Support Tool とは? User Support Tool は ファームウェアを更新するためのユーティリティソフトウェアです 本書では User Support Tool を使用して プリンタのファームウェアを更新する方法を解説しています ご使用前に必ず本書をお読みください 1 準備する 1-1 必要なシステム環境...P.

More information

<4D F736F F D E096BE8E9197BF5F984193AE F B40945C432E646F63>

<4D F736F F D E096BE8E9197BF5F984193AE F B40945C432E646F63> ~ 連動シャットダウン機能 ~ 図番 TT-4685-001 C 目次 1. 機能概要... 3 2. 構成... 3 2-1. マスターとスレーブ構成... 3 2-2. システム図... 4 2-3. 停電時の動作例... 4 3. セットアップ... 5 3-1. Windows 版のセットアップ... 5 (1) マスター側の設定... 5 (2) スレーブ側の設定... 6 (3) セットアップの確認...

More information

パーツリスト 組み立て前にすべてのパーツがそろっているかご確認ください 種類 品番 数 種類 品番 数 基板 I2C LCD 1 コンデンサ 0.1uF (104) 積層セラミック 1 IC ATtiny コンデンサ 10uF 電解 1 半固定抵抗 10~50kΩ 1 コネクタ IC ソ

パーツリスト 組み立て前にすべてのパーツがそろっているかご確認ください 種類 品番 数 種類 品番 数 基板 I2C LCD 1 コンデンサ 0.1uF (104) 積層セラミック 1 IC ATtiny コンデンサ 10uF 電解 1 半固定抵抗 10~50kΩ 1 コネクタ IC ソ Arduino Shield series 汎用 LCD I2C 化アダプター I2C LCD Galileo 7 Printed 2010-02-06 本製品について 豊富に出回っている汎用のキャラクター液晶ディスプレイモジュールは パラレル接続でコントロールするようになっていますが これを I2C(TWI) でコントロールできるようにするアダプターです 電源以外に 2 本の制御線をつなぐだけでコントロールできるため

More information

WAGO / / Modbus/RTU対応 バスカプラ クイックスタートガイド

WAGO / / Modbus/RTU対応 バスカプラ クイックスタートガイド クイックスタート WAGO-I/O-SYSTEM 750 750-315/300-000 750-316/300-000 通信設定手順書 Ver 1.0.0 136-0071 東京都江東区亀戸 1-5-7 ワゴジャパン株式会社オートメーション TEL: Web: 03-5627-2059 FAX:03-5627-2055 http://www.wago.co.jp/io WAGO Kontakttechnik

More information

Imation Encryption Manager Plus Imation Encryption Manager Plus ソフトウェアにより 対応 USB フラッシュドライブにパスワード保護に対応した総合セキュリティーを設定することができます Imation Encryption Manage

Imation Encryption Manager Plus Imation Encryption Manager Plus ソフトウェアにより 対応 USB フラッシュドライブにパスワード保護に対応した総合セキュリティーを設定することができます Imation Encryption Manage IMATION ENCRYPTION MANAGER PLUS ユーザーマニュアル Imation Encryption Manager Plus Imation Encryption Manager Plus ソフトウェアにより 対応 USB フラッシュドライブにパスワード保護に対応した総合セキュリティーを設定することができます Imation Encryption Manager Plus には

More information

OS バージョンアップ実行後のご注意 OS バージョンアップ後 更新完了通知が自動的にNECカシオモバイルコミュニケーションズ株式会社の運用するサーバへ送信されます なお NECカシオモバイルコミュニケーションズ株式会社は送信された情報を OS バージョンアップ以外の目的には利用いたしません また

OS バージョンアップ実行後のご注意 OS バージョンアップ後 更新完了通知が自動的にNECカシオモバイルコミュニケーションズ株式会社の運用するサーバへ送信されます なお NECカシオモバイルコミュニケーションズ株式会社は送信された情報を OS バージョンアップ以外の目的には利用いたしません また MEDIAS X N-07D OS バージョンアップ手順書 ~ パソコンを利用してバージョンアップする ~ このたびは MEDIAS X N-07D( 以下 N-07D とします ) をお買い上げいただきまして 誠にありがとうございました N-07D の本体 OS を Android OS 4.0 から Android OS 4.1 にバージョンアップするための OS バージョンアップ手順をご説明いたします

More information

XAPP453 「3.3V 信号を使用した Spartan-3 FPGA のコンフィギュレーション」 v1.0 (02/05)

XAPP453 「3.3V 信号を使用した Spartan-3 FPGA のコンフィギュレーション」 v1.0 (02/05) アプリケーションノート : ファミリ XAPP453 (v1.0) 2005 年 2 月 2 日 3.3 信号を使用した のコンフィギュレーション 概要 このアプリケーションノートでは Spartan -3 および Spartan -3L の 3.3 コンフィギュレーションについて説明しています ここでは コンフィギュレーションモード別に完全な接続図を示しており インプリメンテーションに簡単に利用できる便利なソリューションです

More information

CentreCOM VT-Kit2 plus リリースノート

CentreCOM VT-Kit2 plus リリースノート VT-Kit2 plus この度は をお買いあげいただき 誠にありがとうございます このは 付属のマニュアルに記載されていない内容や ご使用の前にご理解いただきたい注意点など お客様に最新の情報をお知らせするものです 最初にこのをよくお読みになり 本製品を正しくご使用ください 1 取扱説明書の補足 ユーザーマニュアル (J613-M0617-00 Rev.A) の補足事項です 1.1 USB ドライバーのインストールについて

More information

はじめに 製作するシステム 外部へデータ保存 製作手順 全体回路図 ソフトウエアの作成 次へのステップ 付録 I2C インターフェースを利用して外付けのEEPRO Mへデータ保存を行います データを保存する方法にはいくつかあります 代表的な例を挙げます 保存媒体 応答速度 通信方法 必要端子 プログ

はじめに 製作するシステム 外部へデータ保存 製作手順 全体回路図 ソフトウエアの作成 次へのステップ 付録 I2C インターフェースを利用して外付けのEEPRO Mへデータ保存を行います データを保存する方法にはいくつかあります 代表的な例を挙げます 保存媒体 応答速度 通信方法 必要端子 プログ I2C インターフェースを利用して外付けのEEPRO Mへデータ保存を行います データを保存する方法にはいくつかあります 代表的な例を挙げます 保存媒体 応答速度 通信方法 必要端子 プログラム難易度 特徴 ( 用途 ) メモリカード 速い 複雑 多い 高い CF/SD/MS など多種ある 大量にデータをやりとりする場合に使う IC 遅い 簡単 少ない 低い 1 バイト単位で書き換え可能 通信方法として

More information

ターゲット項目の設定について

ターゲット項目の設定について Code Debugger CodeStage マニュアル別冊 ターゲット 項目の設定について Rev. 2.8 2018 年 4 月 13 日 BITRAN CORPORATION ご注意 1 本書及びプログラムの内容の一部または 全部を無断で転載することは プログラムのバックアップの場合を除き 禁止されています 2 本書及びプログラムの内容に関しては 将来予告なしに変更することがあります 3 当社の許可なく複製

More information

Microsoft Word - TC4538BP_BF_J_2002_040917_.doc

Microsoft Word - TC4538BP_BF_J_2002_040917_.doc 東芝 CMOS デジタル集積回路シリコンモノリシック TC438BP,TC438BF TC438BP/TC438BF Dual Precision Retriggerable/Resettable Monostable Multivibrator は リトリガ動作 リセット動作の可能な単安定マルチバイブレータでトリガは A B 2 つの入力により立ち上がり および立ち下がりのどちらでも行うこともできます

More information

スイッチ ファブリック

スイッチ ファブリック CHAPTER 4 この章では Cisco CRS-1 キャリアルーティングシステムのについて説明します この章の内容は 次のとおりです の概要 の動作 HS123 カード 4-1 の概要 の概要 は Cisco CRS-1 の中核部分です はルーティングシステム内の MSC( および関連する PLIM) と他の MSC( および関連する PLIM) を相互接続し MSC 間の通信を可能にします は

More information

Solar Link ARCH ソーラーリンクアーク Step 1 ログインと ID パスワードの変更 施工の際 一括監視画面に計測値が正常に表示されるかを施工ご担当者様にて確認する必要があります そのため まずは 設定メニュー画面 にログインして頂き 施工ご担当者様へ開示可能な ID パスワードに

Solar Link ARCH ソーラーリンクアーク Step 1 ログインと ID パスワードの変更 施工の際 一括監視画面に計測値が正常に表示されるかを施工ご担当者様にて確認する必要があります そのため まずは 設定メニュー画面 にログインして頂き 施工ご担当者様へ開示可能な ID パスワードに お客様へ 太陽光発電計測表示 遠隔監視システム ASP サービス仕様 低圧向けパッケージ ご利用の前に必ずお読み頂き メールアドレスの登録など重要な設定を行ってください ASP サービスの性質上 予告なくアップデートが行われる場合がございます 予めご了承ください Solar Link ARCH ソーラーリンクアーク Step 1 ログインと ID パスワードの変更 施工の際 一括監視画面に計測値が正常に表示されるかを施工ご担当者様にて確認する必要があります

More information

Taro-82ADAカ.jtd

Taro-82ADAカ.jtd デジタル & アナログ絶縁入出力ユニット解説書製品型式 8 2 A D A - K C 製品型式 8 2 A D A - B D 製品型式 D A C S - 8 2 0 0 この解説書は 8 2 A D A または D A C S - 8 2 0 0 の動作と使用方法について簡単に説明したものです D A C S - 8 2 0 0 の場合は この解説書の 8 2 A D A という表現を 一部

More information

AppsWF ワークフロー設定ガイド Ver.1.1 株式会社オプロ

AppsWF ワークフロー設定ガイド Ver.1.1 株式会社オプロ AppsWF ワークフロー設定ガイド Ver.1.1 株式会社オプロ 改訂履歴 Ver. 改訂日改訂内容 1.0 2019/08/22 新規発行 1.1 2019/10/04 1.3 ワークフロー設定画面を開くには に 1.3.2 Salesforce 版の操作手順 を 追加しました 本書に記載されている会社名 製品名 サービス名などは 提供各社の商標 登録商標 商品名です なお 本文中に TM マーク

More information

Solar Link ARCH ソーラーリンクアーク Step 1 ログイン ログイン方法 1. Web ブラウザを立ち上げて 一括監視画面 URL にアクセスします 2. ログイン画面が表示されます 3. マスター ID とマスターパスワードを入力し ログイン状態を保持する に必ずチェックを入れて

Solar Link ARCH ソーラーリンクアーク Step 1 ログイン ログイン方法 1. Web ブラウザを立ち上げて 一括監視画面 URL にアクセスします 2. ログイン画面が表示されます 3. マスター ID とマスターパスワードを入力し ログイン状態を保持する に必ずチェックを入れて お客様へ 太陽光発電計測表示 遠隔監視システム ASP サービス仕様 ご利用の前に必ずお読み頂き メールアドレスの登録など重要な設定を行ってください ASP サービスの性質上 予告なくアップデートが行われる場合がございます 予めご了承ください Solar Link ARCH ソーラーリンクアーク Step 1 ログイン ログイン方法 1. Web ブラウザを立ち上げて 一括監視画面 URL にアクセスします

More information

1. UART について UART は Universal Asynchronous Receiver Transmitter の頭文字をとったもので 非同期シリアル通信と呼ばれます シリアル通信とは 一本の信号線でデータをやりとりするために 1bit ずつデータを送出することをいいます データを受

1. UART について UART は Universal Asynchronous Receiver Transmitter の頭文字をとったもので 非同期シリアル通信と呼ばれます シリアル通信とは 一本の信号線でデータをやりとりするために 1bit ずつデータを送出することをいいます データを受 STM32L_UART1 の説明 V004 2014/03/30 STM32L-Discovery の UART 1 の送受信を行うプログラムです 無料の開発ツール Atollic TrueSTUDIO for ARM Lite( 試用版 ) で作成したプロジェクトです プログラムの開始番地は 0x08000000 です デバッグが可能です PC アプリケーションの Access_SerialPort

More information

040402.ユニットテスト

040402.ユニットテスト 2. ユニットテスト ユニットテスト ( 単体テスト ) ユニットテストとはユニットテストはプログラムの最小単位であるモジュールの品質をテストすることであり その目的は結合テスト前にモジュール内のエラーを発見することである テストは機能テストと構造テストの2つの観点から行う モジュールはプログラムを構成する要素であるから 単体では動作しない ドライバとスタブというテスト支援ツールを使用してテストを行う

More information

DS39708A_JP_UART

DS39708A_JP_UART 第 21 章 ハイライト 本章では次のトピックについて説明します 21.1 はじめに... 21-2 21.2 制御レジスタ... 21-3 21.3 ボーレートジェネレータ (BRG)... 21-9 21.4 の構成... 21-13 21.5 送信部... 21-14 21.6 受信部... 21-18 21.7 の 9 ビット通信の使い方... 21-21 21.8 ブレーク文字の受信...

More information

目次 1 本アプリケーションノートの目的 送信手順 基本的な送信方法 キャリアセンスなし送信 キャリアセンスあり送信 ACK 期待送信 フレームメモリへのデータの設定 INFO

目次 1 本アプリケーションノートの目的 送信手順 基本的な送信方法 キャリアセンスなし送信 キャリアセンスあり送信 ACK 期待送信 フレームメモリへのデータの設定 INFO フレーム送受信方法 パナソニック ( 株 ) AIS 社セミコンダクター事業部 1 AP-MN87400_401-002 目次 1 本アプリケーションノートの目的...3 2 送信手順...3 2.1 基本的な送信方法...3 2.1.1 キャリアセンスなし送信...3 2.1.2 キャリアセンスあり送信...4 2.1.3 ACK 期待送信...4 2.2 フレームメモリへのデータの設定...5

More information

WLAR-L11G-L/WLS-L11GS-L/WLS-L11GSU-L セットアップガイド

WLAR-L11G-L/WLS-L11GS-L/WLS-L11GSU-L セットアップガイド の特長や 動作環境を説明します プロバイダ契約について の特長 動作環境 各部の名称とはたらき 設定ユーティリティについて 第 章 はじめにお読みください 動作確認プロバイダや最新の情報は のホームページからご覧いただけます は次の通りです を使ってインターネットをご利用になるためには 以下の条件を満たしたプロバイダと契約してください ルータを使用して 複数台のパソコンをインターネットに接続できるプロバイダ

More information

CLUSTERPRO MC ProcessSaver 2.1 for Windows 構築ガイド 2016(Mar) NEC Corporation はじめに 責任範囲 適用範囲 概要 事前準備 クラスタ設定

CLUSTERPRO MC ProcessSaver 2.1 for Windows 構築ガイド 2016(Mar) NEC Corporation はじめに 責任範囲 適用範囲 概要 事前準備 クラスタ設定 CLUSTERPRO MC ProcessSaver 2.1 for Windows 構築ガイド 2016(Mar) NEC Corporation はじめに 責任範囲 適用範囲 概要 事前準備 クラスタ設定 改版履歴 版数 改版 内容 1.0 2015.03 新規作成 2.0 2016.03 CLUSTERPRO 対応バージョン修正 i はしがき 本書では CLUSTERPRO MC ProcessSaver

More information