スレーブ用システム設計ガイド アプライアンス社モータビジネスユニット 2012/2/15 Rev. 2 Page 1

Similar documents
システム概要 Page /2/10 Rev. 2 Motor Business Division, Appliances Company

スライド 1

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

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

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

スライド 1

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

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

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

PowerPoint プレゼンテーション

RTC_STM32F4 の説明 2013/10/20 STM32F4 内蔵 RTC の日付 時刻の設定および読み込みを行うプログラムです UART2( 非同期シリアル通信ポート 2) を使用して RTC の設定および読み込みを行います 無料の開発ツール Atollic TrueSTUDIO for

Microsoft Word - FCTT_CS_Mod( )Jver1.doc

スライド 1

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

SP-1221 LIN I/F 基板 ユーザーズマニュアル 作成日 :2017 年 10 月 17 日

-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

1. 使用する信号 1.1. UART 信号 UART 通信に使用する信号と接続相手との接続は以下の通りです UART 信号表 番号 CPU 機能名 CPU 信号名 基板コネクタピン番号 方向 接続相手の信号名 1 USART1_TX PA9 CN > RxD 2 USART1_R

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

FSC FSC-110 通信仕様書 (CC-Link 通信プロトコル )

スライド 1

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

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

CommCheckerManual_Ver.1.0_.doc

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

 

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

Notes and Points for TMPR454 Flash memory

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

スライド 1

// USB_CNC_Machine リモート PIO 端末プログラムのメイン関数およびユーザアプリ部 // 編集作成 by Takehiko Inoue /*********** メイン関数 ***************************/ #pragma code

modemmanual.xls

アナログ・接点変換器

1. LCD LS027B4DH01 について LS027B4DH01 は 400dot x 240dot のグラフィック LCD です 秋月電子通商で購入できます 外形サイズ : 62.8 x x 1.53mm LCD のフレキシブルケーブルの根元の部分はちょっと力を加えただけで表示が

スライド 1

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

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

RS-422/485 ボード取扱説明書 RS-422/485 ボード取扱説明書 Revision 0.3 コアスタッフ株式会社技術部エンジニアリング課 Copyright 2009 Core Staff Co.,Ltd. All Rights Reserved - 1 of 17

AN424 Modbus/TCP クイックスタートガイド CIE-H14

TFTP serverの実装

Microsoft Word - N-TM307取扱説明書.doc

Fujitsu Standard Tool

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

基本条件 (1Slot 版用 ) 機能 MR-SHPC 端子名 設定内容 備考 CS 空間 -CS CS6 空間 ( キャッシュ無し ) キャッシュ無し空間を使用 (B h) RA25 0 固定 レジスタ空間 RA24 0 固定 RA23 0 固定 B83FFFE 4h~B83FFFF

初心者のための RL78 入門コース ( 第 3 回 : ポート出力例 2 とポート入力 ) 第 3 回の今回は, 前回作成したプログラムを RL78/G13 のハードウェアを用いて見直しをお こないます 今回の内容 8. コード生成を利用した実際のプログラム作成 ( その 2) P40 9. コー

1. プログラム実行時の動作プログラムを実行すると以下のように動作します 1) NUCLEO-F401RE 上の LED LD2( 緑 ) が 200mSec 間隔で点滅します 2. プロジェクトの構成 2.1. プロジェクト F401N_BlinkLD2 の起動画面 TrueSTUDIO で作成し

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

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

GR-SAKURA-SAのサンプルソフト説明

プログラマブル LED 制御モジュール アプリ操作説明書 プログラマブル LED 制御モジュール設定アプリ操作説明書 適用モジュール 改訂番号 エレラボドットコム 1

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

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

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

CSM_H5S_SGTA-024_2_15

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

Microsoft Word - XPC4ソフトマニュアル.doc

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

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

1. ネットワーク経由でダウンロードする場合の注意事項 ダウンロード作業における確認事項 PC 上にファイアウォールの設定がされている場合は 必ずファイアウォールを無効にしてください また ウイルス検知ソフトウェアが起動している場合は 一旦その機能を無効にしてください プリンターは必ず停止状態 (

R7G4HML3 6 LC2 取扱説明書 リモート I/O R7G4H シリーズ M E C H A T R O L I N K - Ⅲ 用 モニタ出力付 絶縁 2 点 ねじ端子台ロードセル入力ユニット 形式 R7G4HML3-6 - LC EU CE 許容電圧範囲 消費電流 直流

SDC_SDIO_STM32F4 の説明 2013/09/17 SDIO インターフェースで SD カードをアクセスするプログラムのプロジェクトサンプルです FAT でファイルアクセスするために FatFs( 汎用 FAT ファイルシステム モジュール ) を使用しています VCP(USB 仮想 C

ETCB Manual

TCP_BP3591 の説明 V /03/28 ROHM 社製 WIFi モジュール BP3591 を使用して 無線 LAN により TCP/IP 通信を行うプログラムです 簡単な文字列によるコマンド ( 例 : LED0 ON ) を受信して LED の ON/OFF を行います 受

スライド 1

<4D F736F F D E096BE8E9197BF5F984193AE F B40945C432E646F63>

BR5010ESLTE-GW 取扱説明書 ログ編 第 1.0 版 2018 年 2 月

TF Series with Tio1608-D System Setup Guide

また RLF 命令は 図 2 示す様に RRF 命令とは逆に 各ビットを一つずつ 左方向に回転 ( ローテイト ) する命令である 8 ビット変数のアドレスを A とし C フラグに 0 を代入してから RLF A,1 を実行すると 変数の内容が 左に 1 ビットシフトし 最下位ビット (LSB)

Microsoft Word - 4章.doc

TOPPERS 活用アイデア アプリケーション開発 コンテスト 部門 : 活用アイデア部門アプリケーション開発部門 作品のタイトル : Toppers_JSP と Scicos_lab / (Scilab でも可 ) による 組込みメカトロニクス制御シミュレーション 作成者 : 塩出武 ( シオデタ

Microsoft Word - DS50-N A.doc

MS916 バッチ操作ガイド FW バージョン 0.52 向け バッチ操作の基本 MS916 のバッチ操作について バッチ操作では 読取ったバーコードデータはすべて 不揮発性のメモリ (1MB ROM JAN-13 約 50,000 件 ) に保存されます メモリに保存されたデータは任意のタイミング

電磁流量計 WZ-C Modbus RTU 通信仕様書 ver.8.225

/* モジュールストップ解除 */ SYSTEM.MSTPCRA.BIT.MSTPA24 = 0; /* MSTPA24(S12ADA 制御部 ) クロック供給開始 */ SYSTEM.MSTPCRA.BIT.MSTPA17 = 0; /* MSTPA17(S12ADA0) クロック供給開始 */

EB-RL7023+SB/D2

S1C17 Family Application Note S1C17 シリーズ PORT 多重割り込みアプリケーションノート Rev.1.0

PowerTyper マイクロコードダウンロード手順

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

2. WiFi 接続 1.1 GuruPlug Server 初期設定情報 記載の SSID が設定されているアクセスポイントが GuruPlug Server です PC を操作して GuruPlug Server のアクセスポイントに接続して WiFi 接続してください 接続に成功すると PC

AN1526 RX開発環境の使用方法(CS+、Renesas Flash Programmer)

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

スライド 1

TWE-Lite R 取扱説明書

Microsoft Word - プログラムをRAM.doc

CCD リニアイメージセンサ用駆動回路 C CCD リニアイメージセンサ (S11155/S ) 用 C は 当社製 CCDリニアイメージセンサ S11155/S 用に開発された駆動回路です S11155/S11156-

Microsoft PowerPoint - LogicCircuits09note.ppt [互換モード]

tri_s_tg12864_vcp の説明 2014/02/05 飛石伝ひ CPU 基板 の LCD TG12864 の表示プログラムです 漢字表示 (JIS208) を行うことができます USB の VCP ( 仮想 COM ポート ) を使用して非同期シリアル通信により 表示試験を行うことができ

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

User Support Tool 操作ガイド

NCB564個別00版

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

スライド 1

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

スライド 1


正転時とは反対に回転する これが逆転である 図 2(d) の様に 4 つのスイッチ全てが OFF の場合 DC モータには電流が流れず 停止する ただし 元々 DC モータが回転していた場合は 惰性でしばらく回転を続ける 図 2(e) の様に SW2 と SW4 を ON SW1 と SW3 を O

本資料のご使用につきましては 次の点にご留意願います 本資料の内容については 予告無く変更することがあります 1. 本資料の一部 または全部を弊社に無断で転載 または 複製など他の目的に使用することは堅くお断りいたします 2. 本資料に掲載される応用回路 プログラム 使用方法等はあくまでも参考情報で

Photo Sensor – 적외선 센서

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

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

Transcription:

スレーブ用システム設計ガイド アプライアンス社モータビジネスユニット 2012/2/15 Rev. 2 Page 1

変更履歴 Revision 日付変更内容 1 2006/2/2 初版 2 2012/2/15 P1 タイトルを ファームウェア開発ガイド ( スレーブ用 ) から変更 P3 はじめに を追加 P5 明確化のため ブロック図を修正 MNM1221ブロック図を削除 P7 XSYNC 出力タイミングを追加 P9 SH7065FをSH7216の例に変更 P10 XINTRXの接続を削除 P14 バス接続図を追加 P35 占有ブロック数の設定を追加 文言等を小変更 2012/2/15 Rev. 2 Page 2

はじめに 本書は 汎用スレーブのシステム設計例について説明するものです ASIC MNM1221 のモード : 注 : 汎用スレーブで I/O を構成することも可能です 2012/2/15 Rev. 2 Page 3

システム構成 2012/2/15 Rev. 2 Page 4

RTEX 回路ブロック図 COM (green and red) 2 Out Port LINK (green) In Port RJ45 RJ45 PHY MII ASIC MNM1221 16bit or 8bit XSYNC CPU Input Capture Node Address (MAC-ID) BCD 2digits 25MHz ESD 対策 8 Reset 安全のため CPU 暴走時には PHY と ASIC をリセット Out Port In Port 2012/2/15 Rev. 2 Page 5

MNM1221 のタイミング信号 スレーブでは XSYNC 信号は全スレーブ受信完了後の同一タイミングで出力されます この信号に同期して制御処理を行うことで 全スレーブの同時性を実現します スレーブでは XTXTIM 入力は機能しません VCC に接続してください MNM1221 RUNNING 状態において 全スレーブの受信完了後に負パルスを出力 (pulse width: 1.28us) XTXTIM XSYNC XINTRX 受信タイミングで負パルスを出力 (pulse width: 1.28us) 2012/2/15 Rev. 2 Page 6

XSYNC 出力タイミング 全スレーブの XSYNC は 同時に出力 Master Slave XINTRX Timing XSYNC Timing Time TX RX RX TX #1 RX TX #2 RX TX #3 RX TX #4 2012/2/15 Rev. 2 Page 7

通信異常への配慮 ノイズ等により通信異常が生じると CRC 異常ばかりではなく その通信サイクルのフレーム送信が停止する場合もあります この場合は受信できず MNM1221 から XSYNC と XINTRX パルスは出力されません このような状況でも問題が生じないシステムにする必要があります マスタ スレーブ ノイス 異常内容によっては 受信できない場合があります XSYNC もしくは XINTRX 通信周期 e.g. 0.5ms 抜け タイミングパルスは常に出力されるとは限らず 抜ける場合もあります 2012/2/15 Rev. 2 Page 8

SH7216 (Renesas) との接続例 2012/2/15 Rev. 2 Page 9

タイミング信号の接続 ASIC MNM1221 通信周期 e.g. 0.5ms CPU SH7216 Timer XSYNC TIOCxA MTU2 Ch x キャプチャ入力 XINTRX XSYNC XSYNC を CPU CPU 内蔵タイマのキャプチャ入力端子に接続 内蔵タイマのキャプチャ入力端子に接続 XSYNC XSYNC の立ち下りエッジでタイマをクリアし 同時に割り込みを起動 の立ち下りエッジでタイマをクリアし 同時に割り込みを起動 2012/2/15 Rev. 2 Page 10

タイムチャート 初回の XSYNC 通信周期 Tc e.g. 0.5ms 抜け 4 回連続 ( 目安 ) して未受信時にタイムアウト処理 XSYNC TIOCxA コンヘ ア値 TGRB_x C4 C3 C2 コンヘ ア値変更 コンヘ ア値変更 コンヘ ア値変更 コンヘ ア値変更 コンヘ ア値変更 タイムアウト検出 タイマ TCNT_x C1 キャフ チャ値 TGRA_x ( 未使用 ) キャフ チャINT TGIA_x タイミンク マーシ ン Tm コンヘ アマッチ INT TGIB_x コンヘ アマッチ割り込み許可 TGIEB in TIER_x 禁止 許可 初回のキャフ チャ INT 処理内で許可 タイムアウト検出時に禁止 2012/2/15 Rev. 2 Page 11

割り込みの設定 正常受信時はインプットキャプチャ割り込みで また 抜け発生時はコンペアマッチ割り込みを用いることで制御処理を継続 信号割り込み周期発生要因割り込み許可 TGIA_x MTU2 インフ ットキャフ チャ e.g. 0.5ms 正常受信時 常時 TGIB_x MTU2 コンペアマッチ e.g. 0.5ms 抜け発生時 初回 XSYNC 検出時にキャフ チャ INT 処理内で許可 タイムアウト検出時に禁止 注 : 通信抜け発生時は前回の正常受信データに基づき制御を継続 (CRC 異常検出時と同様 ) 指令は前回の指令位置差分を用いる ( 速度一定であると仮定して補間 ) インプットキャプチャは割り込み起動と同時にタイマをクリアする目的で使用 TGRA_x のキャプチャ値は使わない 割り込みを起動する XSYNC 信号は RUNNING 状態でしか出力されないので リセット解除後から RUNNING 状態に至るまでの期間の制御は メインループなどで実行 2012/2/15 Rev. 2 Page 12

コンペア値の設定 正常受信時にキャプチャ INT とコンペアマッチ INT の両方が起動しないようにするため コンペアマッチ INT の発生タイミングを制御に影響しない範囲で少し遅らせる このため 次にようにコンペア値を設定 C1 C2 C3 C4 Setting Tc + Tm 2Tc + Tm 3Tc + Tm 4Tc + Tm Tc: 通信周期 Tm: タイミングマージン ( XSYNC のジッタよりも大きく設定 ) 受信状況に応じて TGRB_x に次のコンペア値を設定 キャプチャ割り込み処理 C1 を設定 ( 初期化 ) コンペアマッチ割り込み処理 割り込み発生毎に 現在のコンペア値をインクリメント ( 現在が C1 なら C2 に変更 ) 2012/2/15 Rev. 2 Page 13

バス接続 ASIC MNM1221 リセット時のレベル確定のため WAIT を除く全ての CPU 端子にプルアップ抵抗が必要 CPU SH7216 Pull-down D32 D15 D15 D16 D0 D0 A10 A10 A1 A1 A0 +3.3V MODE1 MODE0 XCS XRD CSn RD BUSMODE XWR WRL XWAIT WAIT 2012/2/15 Rev. 2 Page 14

起動時タイムチャート 2012/2/15 Rev. 2 Page 15

COM-LED 操作 Firmware の Phase Firmware 処理 T = 1ms マスタ起動時タイミング Init フレーム送信ヒ ットセット 0.5ms Ready 状態を確認 取得したスレーフ 情報のエラーチェック INIT WAITING PREPARE START RUNNING 1ms エラー検出時は COM-LEDを赤点灯 消灯緑点滅 (0.5s ON, 0.5s OFF) 緑点灯 スタートヒ ットセット NC 演算はここ以降から開始 XTXTIM TX RX Init-A T = 2ms Init-B 初期無効データ (NOP) Real-time 有効データ XSYNC スレーブ未確立の場合は Init-A フレームの送信を 2ms 周期で繰り返します XINTRX MNM1221のState INITIAL RING-CONFIG READY RUNNING 2012/2/15 Rev. 2 Page 16

スレーブ起動時タイミング COM-LED 操作 消灯緑点滅 (0.5s ON, 0.5s OFF) 緑点灯 Firmware 処理 初期設定完了レシ スタに 1 をセット 受信メモリの自ノード宛てデータの位置を取得 RX TX Init-A T = 2ms Init-B Real-time 初回の返信データは無効データ ( オール 0) XINTRX XSYNC MNM1221のState INITIAL CONFIG-A CONFIG-B RUNNING 2012/2/15 Rev. 2 Page 17

起動時の状態遷移 COM-LED 消灯緑点滅 ( 通信初期化を実行中 ) 緑点灯 ( サイクリック通信実行中 ) マスタ MNM1221 の State INITIAL RING-CONFIG READY RUNNING Init-A スレーブが未確立の場合は 2ms 周期で Init-A の送信を繰り返します Init-B Real-time MNM1221 の State INITIAL CONFIG-A 2ms CONFIG-B RUNNING e.g. 0.5ms スレーブ COM-LED 消灯 緑点滅 ( 初期化用の通信が可能な状態 ) 緑点灯 ( サイクリック通信可能な状態 ) 2012/2/15 Rev. 2 Page 18

サンプルコード 2012/2/15 Rev. 2 Page 19

サンプルコードの内容 サンプルコードには MNM1221 をスレーブとして動作させるための基本的な処理を収めています 受信データを RAM 上の受信バッファに展開し また 送信バッファのデータを送信する処理が行われるので この送受信バッファを用いたアプリケーションを組み込んでください ファイル : ファイル名 mnm1221_s.h mnm1221_s.c 内容 レジスタ定義ヘッダファイル ソースファイル 関数 : 関数名配置内容 init_mnm1221_s() リセット解除後初期化 get_state_mnm1221_s() メインループ MNM1221 の状態読み出し int_sync_mnm1221_s() XSYNC で起動する割り込み通信データ交換 timeout_mnm1221_s() タイムアウト検出時タイムアウト時の処理 変数 : 変数名配置内容 my_rx_buf[] CPU 内蔵 RAM 受信バッファ my_tx_buf[] CPU 内蔵 RAM 送信バッファ 2012/2/15 Rev. 2 Page 20

サンプルコードに含まれない処理 次の処理はサンプルコードに含まれていないので 別途作成してください 項目内容備考 アプリケーション 各機器に応じた処理 コマンドエラー検出処理を含む MAC-ID 読み込み COM LED 制御タイムアウト検出連続 CRC 異常検出 ロータリ SW の値を電源投入時に一度だけ読み込み MNM1221 の状態とエラー内容に応じて点灯制御 RUNNING 状態において 所定の回数以上 連続して受信が無い場合 RUNNING 状態において 所定の回数以上 連続して CRC 異常を検出した場合 BCD BIN 変換 設定範囲外の異常検出 等 赤 緑の 2 色発光 LED 断線等で発生 安全性等を考慮し 必要に応じて実装 ( モーション制御では必須 ) 注 : タイムアウトの検出時間や連続 CRC 異常の検出回数を大きく設定すると耐ノイズ性が高まりますが 異常と判断するまでの検出遅れが長くなり安全性の問題が生じるというトレードオフがあります このことを十分に考慮し 用途に応じた設定をしてください また 異常検出時には 動作を停止するなど安全側に制御してください 2012/2/15 Rev. 2 Page 21

サンプルコードの配置 MNM1221 の状態 RX INITIAL CONFIG-A Init-A CONFIG-B Init-B Real-time e.g. 0.5ms RUNNING TX XSYNC システムリセット init_mnm1221_s() get_state_mnm1221_s() メインループにて周期的に実行 メイン メインループ XSYNC 割り込み 初期化 int_sync_mnm1221_s() タイムアウト検出時 timeout_mnm1221_s() 2012/2/15 Rev. 2 Page 22

フローチャート 2012/2/15 Rev. 2 Page 23

初期化処理 関数名 init_mnm1221_s() 内容 リセット解除後の初期化 Start 変数初期化 MNM1221 レジスタ初期化 通信許可 Return 2012/2/15 Rev. 2 Page 24

メインループ処理 関数名 get_state_mnm1221_s() 内容 メインループで実行する状態読み出し Start MNM1221 の状態読み出し Return 2012/2/15 Rev. 2 Page 25

SYNC 割り込み処理 関数名 int_sync_mnm1221_s() 内容 MNM1221 の XSYNC で起動する割り込み Start 1 回目? Yes No 読み出しポインタの設定 CRC 異常? Yes バッファを用いた通信データ処理を組み込んでください No MNM1221 からバッファへの読み出し エラーカウント アプリケーション バッファから MNM1221 への書き込み Return 2012/2/15 Rev. 2 Page 26

タイムアウト検出時処理 関数名 timeout_mnm1221_s() 内容 タイムアウト検出時の初期化 Start MNM1221 のリセット COM LED を赤点滅に変化させる処理を組み込んでください 初期化 アプリケーション (LED 操作 ) Return 2012/2/15 Rev. 2 Page 27

送受信バッファの構造 2012/2/15 Rev. 2 Page 28

送受信バッファの構造 (16bit) 下図は 16 ビットアクセス時における my_rx_buf[] 配列を示します my_tx_buf[] も同様です Bit 15 Bit 8 Bit 7 Bit 0 my_rx_buf[0] byte1 byte0 my_rx_buf[1] byte3 byte2 my_rx_buf[2] byte5 byte4 my_rx_buf[3] byte7 byte6 my_rx_buf[4] byte9 byte8 my_rx_buf[5] byte11 byte10 my_rx_buf[6] byte13 byte12 my_rx_buf[7] byte15 byte14 byte0 ~ 15 は 16 バイトで構成されるデータブロックの内容と対応しています 2012/2/15 Rev. 2 Page 29

送受信バッファの構造 (8bit) 下図は 8 ビットアクセス時における my_rx_buf[] 配列を示します my_tx_buf[] も同様です Bit 7 Bit 0 Bit 7 Bit 0 my_rx_buf[0] byte0 my_rx_buf[8] byte8 my_rx_buf[1] byte1 my_rx_buf[9] byte9 my_rx_buf[2] byte2 my_rx_buf[10] byte10 my_rx_buf[3] byte3 my_rx_buf[11] byte11 my_rx_buf[4] byte4 my_rx_buf[12] byte12 my_rx_buf[5] byte5 my_rx_buf[13] byte13 my_rx_buf[6] byte6 my_rx_buf[14] byte14 my_rx_buf[7] byte7 my_rx_buf[15] byte15 byte0 ~ 15 は 16 バイトで構成されるデータブロックの内容と対応しています 2012/2/15 Rev. 2 Page 30

LED 操作 2012/2/15 Rev. 2 Page 31

COM LED 操作 COM LED ( 赤 緑の 2 色発光 ) は下表に示すように点灯制御 ( 出力ポート操作 ) してください 通常時 get_state_mnm1221_s() の戻り値 0x0008 (INITIAL) 0x0004 (CONFIG-A) 0x0002 (CONFIG-B) 0x0001 (RUNNING) COM LED 消灯 緑点滅 (0.5s ON, 0.5s OFF) 緑点灯 エラー発生時 エラーの内容 タイムアウト 連続 CRC 異常 サイクリックデータ受信不能 ( 受信データの MAC-ID 不一致など ) スレーブ側での MAC-ID 設定範囲外 COM LED 赤点滅 (0.5s ON, 0.5s OFF) 赤点灯 注 : 検出したエラーはラッチし 異常要因が無くなってもクリア処理が行われるまではエラー状態を保持してください 赤点灯は システムリセットしないとクリアができないことを示します タイムアウト と 連続 CRC 異常 の検出は 4 通信周期を目安としますが 要求される安全性と耐ノイズ性等に応じて適切に設定してください 2012/2/15 Rev. 2 Page 32

サンプルコードの変更 2012/2/15 Rev. 2 Page 33

バスアクセスの定義 mnm1221_s.h MNM1221 が配置されているアドレス ( バイト単位アドレス ) に変更 データバス幅が 8bit の場合は 削除 16bit の場合は このまま残す 2012/2/15 Rev. 2 Page 34

占有ブロック数の設定 mnm1221_s.c 複数のブロックを占有する場合は この値を変更 (1 block = 16 bytes) 2012/2/15 Rev. 2 Page 35

アプリケーションの実装 mnm1221_s.c Int_sync_mnm1221_s() このテスト関数をアプリケーション処理関数に置換 この関数の処理時間は通信周期よりも十分に短くなるようにしてください 2012/2/15 Rev. 2 Page 36

タイムアウト時の LED 制御 mnm1221_s.c COM LED を赤点滅に変化させる処理を追加 2012/2/15 Rev. 2 Page 37

サイクリック位置 I/F 時の注意事項 2012/2/15 Rev. 2 Page 38

通信異常時の動作継続 位置指令をインターフェースとする機器の場合は 通信異常 (CRC 異常や抜け ) が発生した時に 位置指令を前回値のまま保持すると一時的に速度ゼロを指令されたのと同様になります このため動作が不安定になるので 前回値を保持するのではなく 速度が前回と同じであるとの仮定に基づき推定した位置指令を用いて制御してください 指令更新周期 悪い例 通信異常 良い例 通信異常 位置指令 位置指令 前回指令値を保持 時間 推定値で制御 時間 位置指令の差分 ( 速度 ) 速度が変動 位置指令の差分 ( 速度 ) 速度が安定化 時間 時間 注 : 本説明は一時的に生じた通信異常に関するものです 異常が一定回数以上 連続した場合には 安全確保のため動作を停止させなければなりません 2012/2/15 Rev. 2 Page 39

データ更新タイミング 通信周期よりもデータ更新周期が長い場合には 2 回連続して正常受信し なおかつ この時に Update Counter が変化した場合 に 更新タイミングであると判定してください 前回受信 今回受信 Update Counter の変化 更新タイミングかどうか 正常正常変化 Yes 正常正常変化なし No 少なくともいずれかが異常 - 不明 注 : - 正常受信とは CRC 異常と抜けの両方の異常が無いことを意味します - Update Counter はコマンドブロックの byte0 の bit5,6 に配置されるデータです 2012/2/15 Rev. 2 Page 40