取扱説明書 - ニッタ株式会社

I ntelligent F orce S ensor
レシーバーボード
取扱説明書
ニッタ株式会社
RETS事業部
センサーグループ
5907Cj1.4
マ ニ ュ ア ル の 概 観 ..........................................................................................................................1
マ ニ ュ ア ル の レ イ ア ウ ト ...........................................................................................................1
ま ず 最 初 に .................................................................................................................................1
ア ー キ テ ク チ ャ ー の 概 観 ...........................................................................................................2
D S P ベ ー ス 力 セ ン サ レ シ ー バ の デ ー タ ロ ケ ー シ ョン お よ び 定 義 ...........................................5
FORCE_SENSOR_DATA.............................................................................................................5
RAW_CHANNELS ......................................................................................................................5
COPYRIGHT ...............................................................................................................................5
SHUNTS ......................................................................................................................................6
DEFAULT_FS..............................................................................................................................6
LOAD_ENVELOPE_NUM ...........................................................................................................6
MIN_FULL_SCALE.....................................................................................................................6
TRANSFORM_NUM....................................................................................................................7
MAX_FULL_SCALE ...................................................................................................................7
PEAK_ADDRESS ........................................................................................................................7
FULL_SCALE..............................................................................................................................7
OFFSETS .....................................................................................................................................8
OFFSET_NUM.............................................................................................................................8
VECT_AXES ...............................................................................................................................8
FILTER0 ......................................................................................................................................8
FILTER1_FILTER6......................................................................................................................9
RATE_DATA ...............................................................................................................................9
MINIMUM_DATA .......................................................................................................................9
MAXIMUM_DATA......................................................................................................................9
NEAR_SAT_VALUE .................................................................................................................10
SAT_VALUE .............................................................................................................................10
RATE_ADDRESS ......................................................................................................................10
RATE_DIVISOR ........................................................................................................................10
RATE_COUNT ..........................................................................................................................10
COMMAND_WORD2 ................................................................................................................11
COMMAND_WORD1 ................................................................................................................11
COMMAND_WORD0 ................................................................................................................11
COUNT1_COUNT6....................................................................................................................11
ERROR_COUNT........................................................................................................................11
COUNT_X .................................................................................................................................12
WARNINGS...............................................................................................................................12
ERRORS ....................................................................................................................................12
THRESHOLD_BITS...................................................................................................................12
LAST_CRC ................................................................................................................................12
EEPROM_VER_NO ...................................................................................................................12
SOFTWARE_VER_NO ..............................................................................................................12
SOFTWARE_DAY .....................................................................................................................13
SOFTWARE_YEAR ...................................................................................................................13
SERIAL_NO ..............................................................................................................................13
MODEL_NO ..............................................................................................................................13
CAL_DAY .................................................................................................................................13
CAL_YEAR ...............................................................................................................................13
UNITS .......................................................................................................................................14
BITS ..........................................................................................................................................14
--
ii
CHANNELS ...............................................................................................................................14
THICKNESS ..............................................................................................................................14
LOAD_ENVELOPES .................................................................................................................14
TRANSFORMS ..........................................................................................................................15
デ ー タ ス ト ラ ク チ ャ の 詳 細 .........................................................................................................16
RAW_CHANNEL.......................................................................................................................16
RAW_TIME ...........................................................................................................................16
RAW_DATA ..........................................................................................................................16
FORCE_ARRAY ........................................................................................................................17
SIX_AXIS_ARRAY ...................................................................................................................17
VECT_BITS ...............................................................................................................................18
WARNING_BITS .......................................................................................................................18
XX_NEAR_SAT.....................................................................................................................18
ERROR_BITS ............................................................................................................................19
XX_SAT ................................................................................................................................19
MEMORY_ERROR ................................................................................................................19
SENSOR_CHANGE ...............................................................................................................19
SYSTEM_BUSY ....................................................................................................................19
CAL_CRC_BAD ....................................................................................................................19
WATCH_DOG .......................................................................................................................20
WATCH_DOG2......................................................................................................................20
FORCE_UNITS ..........................................................................................................................20
THRESH_STRUCT ....................................................................................................................21
DATA_ADDRESS ..................................................................................................................21
THRESHOLD .........................................................................................................................21
BIT_PATTERN ......................................................................................................................21
LE_STRUCT ..............................................................................................................................21
LATCH_BITS ........................................................................................................................21
NUMBER_OF_GE_THRESHOLDS ........................................................................................22
NUMBER_OF_LE_THRESHOLDS ........................................................................................22
LINK_TYPES ............................................................................................................................23
TRANSFORM ............................................................................................................................24
C 言 語 入 門 ...................................................................................................................................25
コ マ ン ド の 詳 細 ............................................................................................................................27
コ マ ン ド 例 ( 0 ) ....................................................................................................................27
メ モ リ リ ー ド ( 1 ) ................................................................................................................28
メ モ リ ラ イ ト ( 2 ) ................................................................................................................28
ビ ッ ト セ ッ ト ( 3 ) ................................................................................................................29
ビ ッ ト リ セ ッ ト ( 4 ) .............................................................................................................30
座 標 変 換 番 号 ( 5 ) ................................................................................................................31
オ フ セ ッ ト 番 号 ( 6 ) .............................................................................................................32
セ ッ ト オ フ セ ッ ト ( 7 ) .........................................................................................................33
リ セ ッ ト オ フ セ ッ ト ( 8 ) .....................................................................................................34
セ ッ ト ベ ク ト ル ( 9 ) .............................................................................................................35
セ ッ ト フ ル ス ケ ー ル ( 1 0 ) .................................................................................................36
リ セ ッ ト ピ ー ク ( 1 1 ) .........................................................................................................37
リ ー ド ピ ー ク ( 1 2 ) .............................................................................................................38
コ マ ン ド の 使 用 例 ........................................................................................................................39
例 1 − ソ フ ト ウ ェ ア バ ー ジ ョ ン の 表 示 ..................................................................................39
例 2 − 計 算 後 の F x 力 デ ー タ の 表 示 ......................................................................................39
--
iii
例 3 − オ フ セ ッ ト の リ セ ッ ト .................................................................................................39
例 4 − F z の オ フ セ ッ ト 変 更 .................................................................................................40
例 5 − ベ ク ト ル の 設 定 .............................................................................................................40
例 6 − 座 標 変 換 ........................................................................................................................41
例 7 − 複 雑 な 座 標 変 換 .............................................................................................................41
例 8 − ロ ー ド エ ン ベ ロ ー プ .....................................................................................................42
デ ー タ ロ ケ ー シ ョ ン ....................................................................................................................43
コ マ ン ド 一 覧 ...............................................................................................................................44
用 語 の 説 明 ...................................................................................................................................45
処 理 速 度 に つ い て ........................................................................................................................46
I S A − 2 1 0 5 ........................................................................................................................48
--
iv
マニュアルの概観
本マニュアルは、レシーバボードのセットアップ及び操作法を説明するものです。本マニュ
アルの大部分は、各種レシーバボードに共通な情報を説明します。個別のレシーバボードに
対する情報は、付録において説明します。
本 概 観 は 3 つ の 項 か ら 成 り 立 っ て い ま す 。最 初 にマ ニ ュ ア ル の レ イ ア ウ ト を 、次 に 結 果 を 迅
速に得ていただくための、いくつかの提案をする”スタートの前に”を示します。最後に、
レ シ ー バ ボ ー ド の ア ー キ テ ク チ ャ ー の 概 観 を 示 し ます 。
マニュアルのレイアウト
レシーバボードは、ユーザー及びボード自体がともに読み書きできるデュアルポートRAM
を持っています。ボードは力モーメントデータをこのRAMに書き込みます。それからユー
ザーは、このデータをRAMから読み込むことができます。本マニュアルでは、主にこの共
有領域を説明することになります。データ構造の宣言は、C言語スタイルコードでフォーマ
ッ ト さ れ ま す 。 第 1 項 は「 デ ー タ ロ ケ ー シ ョ ン 及 び定 義 」で 5 ペ ー ジ か ら 始 ま り 、 変 数 の 宣
言 及 び 記 述 に つ い て 説 明 し ま す 。第 2 項「 デ ー タ ス ト ラ ク チ ャ の 定 義 」は 16 ペ ー ジ か ら 始 ま
り、データ型宣言をします。このふたつの項のデータ宣言はC言語スタイルで示されます。
簡 単 な 「 C 言 語 入 門 」 を 25 ペ ー ジ に 示 し ま し た 。
次 の 項「 コ マ ン ド の 定 義 」は 27 ペ ー ジ か ら 始 ま り、ボ ー ド が 受 け 付 け 可 能 な コ マ ン ド を 説 明
しています。これらのコマンドは、いろいろなデータ位置とともに、レシーバボードによっ
て な さ れ る タ ス ク を 変 更 す る た め に 使 わ れ ま す 。39 ペ ー ジ か ら は 、使 用 例 を 説 明 し ま す 。そ
の後は、データ位置及びコマンドをまとめた表、用語の説明、性能に関する簡単な考案と続
き ま す 。 付 録 に は レ シ ー バ の 各 々 特 定 バ ー ジ ョ ン のデ ー タ を 示 し ま す 。
まず最初に
本 マ ニ ュ ア ル で ま ず 最 初 に 読 ん で い た だ き た いの は 、本 項 に 続 く「 ア ー キ テ ク チ ャ ー の 概 観 」
の項です。そこでは、レシーバボードの能力について考案しています。次に目を通していた
だ き た い の は 、御 購 入 い た だ い た レ シ ー バ に 関 し 、説 明 し て い る 付 録 の 部 分 で す 。そ こ に は 、
ハードウェア及びソフトウェアからレシーバをどのようにインタフェースするかが示されて
います。
も し も 、C 言 語 に 関 し て あ ま り 知 識 や 経 験 の ない 場 合 に は 、25 ペ ー ジ の「 C 言 語 入 門 」を 読
んで下さい。C言語の簡単な説明を読んだあとに、「データロケーション及び定義」の項、
及び「データストラクチャの定義」の項にざっと目を通して下さい。最後に、「コマンドの
定 義 」 の 項 及 び コ マ ン ド の 実 行 法 を 説 明 し た 「 使 用例 」 を 読 ん で 下 さ い 。
ボ ー ド と は じ め て 交 信 し よ う と す る と き に は 、 ア ド レ ス 0x0040 の 著 作 権 表 示 (copyright
statement) 及 び ア ド レ ス 0x00ef の count_x 変 数 を 読 み 込 ん で 下 さ い 。 共 有 ア ド レ ス 空 間 か
ら デ ー タ を 読 む こ と が で き る か ど う か が す ぐ に わ か り ま す 。ま た 、0x0088 の Fx オ フ セ ッ ト
変 数 に あ る 値 を 書 き 込 み 、そ れ か ら そ の 変 数 を 読 み込 ん で 下 さ い 。そ う す る と 共 有 ア ド レ ス
空間への書き込みが成功したかどうかがすぐに判ります。
--
1
アーキテクチャーの概観
レ シ ー バ ボ ー ド に は 、6 自 由 度 (6DOF)の 力 及 び モ ーメ ン ト デ ー タ を 極 め て 広 い 帯 域 幅 で 取 得
可 能 と す る 最 新 技 術 が 用 い て ら れ て い ま す 。10 MipsDSP チ ッ プ で あ る ア ナ ロ グ デ バ イ セ ズ 社
の ADSP-2105 を 使 用 す る こ と に よ っ て 、 本 シ ス テ ム は 干 渉 除 去 さ れ 、 デ ジ タ ル フ ィ ル タ リ
ン グ さ れ た デ ー タ を 1 チ ャ ネ ル あ た り 8KHz で 取 得可 能 に な り ま し た 。こ の デ ー タ 取 得 速 度
は、従来品に比べ10倍もの高速となりました。レシーバは内蔵電子回路を有する本センサ
と協調して動作するように最適化されています。
レシーバボードには、IBM−ATバス、VMEバス、NEC−98バスを含む数種のバス
に対応したバージョンがあります。これらのボードは共通のアーキテクチャーを持っていま
す。レシーバボードはデュアルポートRAMを有し、ホスト及びボードの両方から読み書き
ができます。このRAMは、ホストがボードからデータを、ほとんどオーバーヘッドなしに
読み込むことを可能にします。また、ホストがRAMにコマンドを書き込むことにより動作
中であってもボードの設定を変更することが出来ます。
レシーバボードには、センサからのシリアルデジタル転送データを受信する回路の他にセン
サへの供給電圧をモニタし調節する回路が搭載されています。自動的に遠隔供給電圧調整が
できるということは、センサケーブルに対する要求が極めてゆるくなるということを意味し
ています。長くて、細いゲージワイヤも使用可能となります。したがって、この内蔵電子回
路 を 有 す る 最 新 の セ ン サ で は 、 も は や 硬 く て 高 価 なケ ー ブ ル は 必 要 あ り ま せ ん 。
デュアルポートアドレス空間は、16kの2バイトワードで構成されます。この空間の最初
の8kはRAMで、残りの8kはスタータスレジスタや他の機能を構成します。たいていの
仕事は、共有アドレス空間の最初の256ワードで行われます。共有アドレス空間の変数の
位 置 に つ い て は 、本 マ ニ ュ ア ル 5 ペ ー ジ の「 デ ー タ 位 置 及 び 定 義 」9 項 に 説 明 し て あ り ま す 。
共有アドレス空間への読み書きの詳細は、レシーバによってちがうので、付録に各々のレシ
ーバについて別個に説明してあります。
DSPはセンサから送られてきた生データを処理するために使われます。DSPは、次のよ
うな処理をします。オフセットの除去、干渉除去、飽和の検出、デジタルローパスフィルタ
リング、力及びモーメントベクトルの大きさの計算、ピークの検出、レイトの計算、座標変
換 及び 閾値のモニタリングなどです。
セ ン サ か ら 出 力 さ れ た 生 デ ー タ は 、干 渉 除 去 マ ト リ ク ス を 通 過 し 、オ フ セ ッ ト 除 去 さ れ ま す 。
このプロセスにより風袋重量の除去とともに、センサのクロストークの除去がなされます。
こ の プ ロ セ ス を 経 由 し た デ ー タ で は 、 A/D 変 換器 が 飽 和 し て い る か ど う か の 判 断 が 難 し く な
る こ と が あ り ま す 。 A/D 変 換 器 が 飽 和 す る と 、 力 デ ー タ を 用 い た フ ィ ー ド バ ッ ク ル ー プ は 不
安定になります。それを防止するために、DSPはセンサの生データをモニタし、飽和が近
づいたときや飽和したときにアラームを発生します。
干渉除去データは、カスケードローパスフィルタを通ります。各フィルタは4データ毎に計
算 さ れ 、 そ の カ ッ ト オ フ 周 波 数 は 前 の フ ィ ル タ の 1/4 の カ ッ ト オ フ 周 波 数 と な り ま す 。 し た
が っ て サ ン プ ル レ イ ト が 8KHz の 標 準 セ ン サ で は 、 最 初 の フ ィ ル タ の カ ッ ト オ フ 周 波 数 は
500Hz と な り ま す 。さ ら に 続 く フ ィ ル タ の カ ッ ト オ フ周 波 数 は 、125Hz, 31.25Hz, 7.81Hz ---- と
な り ま す 。 フ ィ ル タ の 遅 延 時 間 は 、 次 式 で 近 似 さ れま す 。
--
2
遅 延 時 間 = 1 /カットオフ周 波 数
し た が っ て 500Hz の フ ィ ル タ の 遅 延 時 間 は 、
1 / 500Hz =
2 ms
と な り ま す 。し か し 、遅 延 時 間 は デ ー タ の 周 波 数 に よ っ て 変 化 す る の で 、こ の 値 は 良 好 な 近
似値とはなりますが、正しい値ではありません。正確なフィルタ特性については、フィルタ
応答を示した添付図を参照して下さい。
力モーメントベクトルの大きさは各々のデータ成分から計算されます。したがって、ベクト
ルにはフィルタリングされていない干渉除去データから計算されるものと、フィルタリング
されたデータから計算されたものがあります。フィルタリングされていないベクトルは、フ
ィルタリングされていないデータの2分の1の帯域幅で計算されます。フィルタリングされ
たデータから計算されるベクトルは、フィルタのカットオフ周波数の4倍で計算され、フィ
ル タ リ ン グ 計 算 の 1 /4 の 頻 度 で 計 算 さ れ ま す 。
どの単一のデータセット(8項目)でもピーク(極大)と谷(極小)をモニタすることがで
きます。データは全帯域幅でモニタされ、新しく最大値、最小値が検出されるとストアされ
ます。その最大値、最小値はユーザコントロール下で読み込みやリセットができます。ユー
ザ設定間隔で、データセットの1次導関数も計算され、出力されます。
センサ軸の原点及び方向を変更するために、座標変換を行うことができます。この機能を使
うと、たとえばセンサ座標をツール座標に合わせることができるため、力制御に必要とされ
る数学演算を非常に単純化することができます。
閾値もモニタできます。DSPにはユーザ設定閾値をデータがクロスしたときに、あるビッ
トをトグルされる機能があります。ロードエンベロープ機能を使用することによって、非常
に小さいオーバーヘッドで複数個の閾値制御を行うことが出来ます。
次のグラフはデジタルフィルタの特性を示します。このグラフでは、最初の3つのフィルタ
の応答を示しました。フィルタの出力は、そのカスケード特性のために、フィルタ周波数が
低下するにつれてわずかに変化します。
3 番 目 以 降 の フ ィ ル タ デ ー タ は 、本 質 的 に フ ィ ル タ#3 と 同 じ な の で 、こ こ で は 省 略 し ま し た 。
フ ィ ル タ #4∼ #6 で た だ ひ と つ ち が う の は 周 波 数 の 軸 を 順 次 フ ィ ル タ #3 の グ ラ フ を 出 発 点 と
して4分の1する必要があるということです。
--
3
図1
フィルタ1の特性図
図2
フィルタ2の特性図
図3
フィルタ3の特性図
--
4
DSPベース力センサレシーバのデータロケーションおよび定義
次の情報は、DSPベース力センサレシーバのメモリインタフェースの詳細を示します。デ
ータストラクチャー宣言は、”C言語”形式で表示しています。サポートするストラクチャ
ー宣言は、データストラクチャー宣言に続きます。宣言はクーリエ型文字でタイプされ、他
の 記 述 と 区 別 し や す い よ う に し ま し た 。 reserved と 書 か れ た 領 域 は 、 ユ ー ザ ー に よ っ て 書 き
込 む こ と は で き ま せ ん 。 43 ペ ー ジ に 変 数 の 図 表 を 、 45 ペ ー ジ に 用 語 の 解 説 集 を 示 し ま し た 。
/*
For the following structure definitions :
int:
signed 16 bit value
unsigned int:
unsigned 16-bit value
bit fields are shown with the lsb first
*/
FORCE_SENSOR_DATA
force_sensor_data ス ト ラ ク チ ャ ー は 、 レ シ ー バ ー ボ ー ド 上 の デ ー タ の レ イ ア ウ ト を 示 し ま す 。
示されたオフセットはDSPアドレス空間へのオフセットで、16ビット長のデータ空間用
です。したがって、メモリが一度に8ビットしかアドレスされないような環境では、オフセ
ットは2倍する必要があります。
struct force_sensor_data
{
RAW_CHANNELS
セ ン サ か ら 出 力 さ れ る 生 デ ー タ (raw data)を ス トア す る た め の 領 域 で す 。
raw_channel[16]
raw_channels
/* offset 0x0000 */
COPYRIGHT
著 作 権 の 公 示 を 含 ん だ null terminated ASCII 文 字 列 で す 。
int[0x0018]
copyright;
int[0x0008]
reserved1;
--
5
/* offset 0x0040 */
/* offset 0x0058 */
SHUNTS
センサのシャントデータが書き込まれています。回路外付型センサにはそのゲインを調整す
る機能があります。この機能によって用途に適した分解能やダイナミックレンジが得られる
よ う に ハ ー ド ウ ェ ア の フ ル ス ケ ー ル を 調 整 す るこ と が で き ま す 。本 機 能 を 有 す る セ ン サ で は 、
キャリブレーション時に各々のセンサチャンネルのゲインを、シャント抵抗を使って測定す
ることが出来ます。シャント抵抗は、抵抗ブリッジのひとつの抵抗に並列に結合され、その
ために生じる出力変化が測定されます。このデータをシャントデータと呼び、ここに記録さ
れます。センサのゲインを変更しようとするときには、ここでシャント測定を行うことがで
きます。DSPはキャリブレーションマトリックスにスケールをかけて、指示されたシャン
トの読みに適合したゲインを求めます。もしも、シャントが0であると、センサはそのゲイ
ンを変更することができません。センサゲインの変更、シャントデータの詳細については、
回路外付型センサマニュアルを参照してください。これらの値を発効させるためには、コマ
ン ド (5) use tranform# (p.31) ま た は コ マ ン ド (10) set new full scales (p.36) を コ ー ル し な け
ればなりません。
six_axis_array
int[2]
shunts;
reserved2;
/* offset 0x0060 */
/* offset 0x0066 */
DEFAULT_FS
フルスケールを指定していない場合に用いられるフルスケールが書き込まれています。
six_axis_array
int
default_FS;
reserved3;
/* offset 0x0068 */
/* offset 0x006e */
LOAD_ENVELOPE_NUM
現在使用されているロードエンベロープの番号です。この値は、ロードエンベロープの設定
を行った後にセットして下さい。
int
load_envelope_num;
/* offset 0x006f */
MIN_FULL_SCALE
推奨する最小のフルスケールです。
こ の 値 は max_full_scale(p.7)と と も に 、 フ ル ス ケ ー ル を 設 定 す る た め の 適 切 な 値 を 決 定 す る
のに役立ちます。ソフトウェアによりセンサのフルスケールを任意の値に設定することがで
きます。しかし、フルスケールを適切に設定しないと不都合が起こる場合があります。フル
スケールをあまりに低く設定すると、データはすぐに飽和してしまうし、ダイナミックレン
ジも失われてしまいます。また、フルスケールを大きく設定しすぎると、データが右にシフ
ト す る に し た が っ て 分 解 能 も な く な り 、 lsb も 失 わ れ て し ま い ま す 。 し た が っ て 、 最 大 フ ル
スケールは分解能が失われない最大の値であり、最小フルスケールはデータがすぐに飽和し
てしまわない値としなければなりません。これらの値は、新しい座標変換が計算されるとき
に は 、い つ で も 計 算 さ れ ま す 。推 奨 最 大 値 が 推 奨 最 小 値 よ り も 小 さ い と い う こ と が あ り 得 ま
す。これは、主に座標変換を使用したときにおこります。このような場合には、フルスケー
--
6
ル の 選 択 は ダ イ ナ ミ ッ ク レ ン ジ と 分 解 能 の 間 で の妥 協 点 と い う こ と に な り ま す 。通 常 は 分 解
能を優先して、推奨最大フルスケールを選択することをお勧めします。
警 告:フ ル ス ケ ー ル が 、推 奨 最 小 フ ル ス ケ ー ル の 0.4% よ り も 大 き い こ と 確 認 し て く だ さ い 。
こ の 値 よ り も フ ル ス ケ ー ル が 小 さ い と 誤 っ た 結 果 が出 ま す 。
six_axis_array
int
min_full_scale;
reserved4;
/* offset 0x0070 */
/* offset 0x0076 */
TRANSFORM_NUM
現 在 使 用 中 の 座 標 変 換 番 号 で す 。こ の 値 は 、コ マ ン ド (5)use transform # (p.31) 実 行 後 に 、D
SPによってセットされます。
int
transform_num;
/* offset 0x0077 */
MAX_FULL_SCALE
推 奨 す る 最 大 の フ ル ス ケ ー ル で す 。詳 細 に つ い て は min_full_scale (p.6) の 項 を 参 照 し て 下 さ
い。
six_axis_array
int
max_full_scale;
reserved5;
/* offset 0x0078 */
/* offset 0x007e */
PEAK_ADDRESS
ここにはピークルーチンでモニタするデータのアドレスを書き込みます。この値はユーザに
より設定されます。ピークルーチンはピーク値を示す8つの連続するアドレスをモニタしま
す 。 ( 例 : フ ィ ル タ 3 の ピ ー ク 値 を 見 る た め に は 、こ の 値 を 0x00a8 に 設 定 し て 下 さ い 。 )
int
peak_address;
/* offset 0x007f */
FULL_SCALE
現在使用中のセンサフルスケールを示します。干渉除去されフィルタリングされたデータは
処 理 さ れ て い る の で 、 ±16384 が フ ル ス ケ ー ル に 等 し く な り ま す 。 使 用 す る 工 学 単 位 に つ い
て は 、14 ペ ー ジ に 示 し ま す 。Fx, Fy, Fz, Mx, My 及 び Mz の フ ル ス ケ ー ル は 、コ マ ン ド (10) set
new full scale (p.36) を 呼 び 出 す 前 に 書 き 込 む こと が で き ま す 。V1, V2 の フ ル ス ケ ー ル は あ る
軸のフルスケールが変更されるか、またはベクトルを計算に使用する軸が変更されるときに
設 定 さ れ ま す 。V1, V2 の フ ル ス ケ ー ル は 常 に 、各 々 の ベ ク ト ル に 使 用 さ れ る 軸 の う ち で 最 大
のフルスケールに等しくなります。
force_array
--
full_scale;
7
/* offset 0x0080 */
OFFSETS
センサのオフセットが書き込まれています。これらの値は干渉除去データを得るためにセン
サ デ ー タ か ら 引 か れ ま す 。オ フ セ ッ ト は キ ャ リ ブ レー シ ョ ン デ ー タ が 受 け 取 ら れ て か ら 数 秒
間( < 1 0 )で セ ッ ト さ れ ま す 。オ フ セ ッ ト は 出 力デ ー タ が ゼ ロ に な る よ う に 設 定 さ れ ま す 。
こ れ ら の 値 は 書 き 込 み も 読 み 込 み も で き ま す 。DS P は 書 き 込 ま れ た 値 を 、書 き 込 み 後 2ms
以内で使用することが出来ます。干渉除去データをゼロにするためには、この値を現在の干
渉除去データに加えて、その和を設定するようにして下さい。DSPは、新しい座標変換が
適 用 さ れ た と き に こ れ ら の 値 を 変 更 し ま す 。オ フ セ ッ ト が Fx は 5 で 、他 の す べ て が ゼ ロ に 設
定 さ れ て い る と 、Z 軸 に つ い て の 9 0 °回 転 後 に は、Fy が 5 で 他 の す べ て は ゼ ロ に な り ま す 。
six_axis_array
offsets;
/* offset 0x0088 */
OFFSET_NUM
現 在 使 用 中 の オ フ セ ッ ト 番 号 を 示 し ま す 。こ の 値 は、use offset # コ マ ン ド (p.32) が 実 行 さ れ
て 後 、 D S P に よ っ て 設 定 さ れ ま す 。 そ の 値 は 0 ∼ 15 で す 。
int
offset_num;
/* offset 0x008e */
VECT_AXES
ベ ク ト ル 計 算 に ど の 軸 が 使 わ れ て い る か を 示 す ビ ッ ト マ ッ プ で す 。 set vector axes コ マ ン ド
(p.35)が 実 行 さ れ た 後 に D S P に よ り 設 定 さ れ ま す。
vect_bits
vect_axes;
/* offset 0x008f */
FILTER0
干渉除去されているがフィルタリングされていないデータを示します。この値はオフセット
除去されています。
force_array
--
filter0;
/* offset 0x0090 */
8
FILTER1_FILTER6
フィルタリングされたデータです。干渉除去されたデータはカスケードローパスフィルタを
通 過 し ま す 。 filter 1 の カ ッ ト オ フ 周 波 数 は セ ン サ の サ ン プ ル レ イ ト の 1/16 で す 。 8KHz の
サ ン プ ル レ イ ト の セ ン サ で は 、 filter1 の カ ッ ト オ フ 周 波 数 は 500Hz に な り ま す 。 以 後 の フ
ィ ル タ で は 、 カ ッ ト オ フ 周 波 数 は 125Hz, 31.25Hz, 7.813Hz, 1.953Hz, 0.4833Hz と な り ま す 。
force_array
force_array
force_array
force_array
force_array
force_array
filter1;
filter2;
filter3;
filter4;
filter5;
filter6;
/*
/*
/*
/*
/*
/*
offset
offset
offset
offset
offset
offset
0x0098
0x00a0
0x00a8
0x00b0
0x00b8
0x00c0
*/
*/
*/
*/
*/
*/
RATE_DATA
計 算 さ れ た レ イ ト デ ー タ で す 。こ れ は 1 次 導 関 数 で す 。変 数 rate_divisor(p.10) に よ り 指 定 さ
れ た 周 期 で 計 算 さ れ ま す 。 レ イ ト が 計 算 さ れ る デ ータ は 変 数 rate_address に 示 さ れ ま す 。
force_array
rate_data;
/* offset 0x00c8 */
MINIMUM_DATA
MAXIMUM_DATA
最 小 デ ー タ 値 、最 大( ピ ー ク )デ ー タ 値 で す 。D S P は セ ン サ の 全 帯 域 で 最 小 値 及 び 最 大 値
を示す8つの連続するデータをモニタできます。この領域は、ユーザリクエストによっての
み 更 新 さ れ ま す 。い か な る ピ ー ク も 見 逃 さ な い よ うに 実 行 さ れ ま す 。デ ー タ を 読 む た め に は 、
read peaks コ マ ン ド (p.38) 又 は read and reset peaks コ マ ン ド (p.37) を 使 っ て 下 さ い 。ピ ー ク
データは座標変換やフルスケール変更の実行時に消失します。また、新しいセンサをプラグ
インしたときにも失われます。
force_array
force_array
--
minimum_data;
maximum_data;
9
/* offset 0x00d0 */
/* offset 0x00d8 */
NEAR_SAT_VALUE
SAT_VALUE
生データの飽和を判断する基準値が書き込まれています。干渉除去やオフセット除去後の処
理データからセンサが飽和しているかどうかを判断することは困難なことです。これらの値
は error and warning words (p.12) と と も に 、 こ の よ う な 重 要 な 情 報 を 与 え て く れ ま す 。 こ れ
らの2つの値はDSPによって設定されます。飽和検出ロジックでは、生データの絶対値を
使 っ て い る の で こ れ ら の 値 は 正 符 号 の 値 と な り ま す。デ フ ォ ル ト 状 態 で は 、near_sat_value は
A/D 変 換 器 の フ ル ス ケ ー ル の 約 8 0 % (26214)に 設 定 さ れ 、sat_value は A/D 変 換 器 の フ ル ス
ケールに設定されています。
sat_value = 32768-2^(16-ADC bits)
int
int
near_sat_value;
sat_value;
/* offset 0x00e0 */
/* offset 0x00e1 */
RATE_ADDRESS
RATE_DIVISOR
RATE_COUNT
レ イ ト 計 算 を コ ン ト ロ ー ル す る た め の デ ー タ を 含 ん で い ま す 。 rate_address は レ イ ト 計 算 に
用いるデータのアドレスです。DSPは、8つの連続する値に対するレイトを計算します。
( 例 filter3 デ ー タ の レ イ ト を 計 算 す る に は 、rate_address を 0x00a8 に セ ッ ト し て 下 さ い 。)
rate_divisor は レ イ ト を ど れ く ら い の 頻 度 で 計 算 す る か を 示 し ま す 。rate_divisor が 1 な ら 、
レ イ ト は セ ン サ の 全 帯 域 幅 で 計 算 さ れ ま す 。rate_divisor が 200 な ら 、レ イ ト は 200 サ ン プ
ル 毎 に 計 算 さ れ ま す 。rate_divisor は 1∼ 65536 の間 の 値 を と る こ と が で き ま す 。65536 サ ン
プ ル 毎 に レ イ ト を 計 算 す る た め に は 、rate_divisor を 0 に セ ッ ト し て 下 さ い 。rate_count は 0
で ス タ ー ト し 、 そ の 値 が rate_divisor に 等 し く な る ま で カ ウ ン ト し ま す 。 そ の 時 点 で レ イ ト
は 計 算 さ れ 、rate_count は 0 に リ セ ッ ト さ れ ま す。新 し い レ イ ト デ ィ バ イ ザ (rate divisor) を
セ ッ ト す る と き に 、 レ イ ト デ ィ バ イ ザ よ り も 1 小 さ い 値 を rate_count に セ ッ ト す る の は 良
い方法です。こうすると、レイト計算をスタートさせるための時間を最小にできます。
int
unsigned int
unsigned int
--
rate_address;
rate_divisor;
rate_count;
10
/* offset 0x00e2 */
/* offset 0x00e3 */
/* offset 0x00e4 */
COMMAND_WORD2
COMMAND_WORD1
COMMAND_WORD0
DSPにコマンドを送るために使われるロケーションです。この使い方はコマンドによって
異 な り ま す の で 、 詳 し く は コ マ ン ド の 定 義 ( Command Definitions,p.27) の 項 を 参 照 し て 下 さ
い 。 一 般 的 に は 、 値 を い ろ い ろ な メ モ リ ロ ケ ー シ ョ ン に 入 れ て か ら 、 command word を
command_word0 に 入 れ ま す 。D S P は コ マ ン ド を 処 理 し 、エ ラ ー が な け れ ば command_word0
に 0 を 、 エ ラ ー が 起 こ っ た 場 合 に は 負 の 数 を 入 れ ます 。 コ マ ン ド ロ ケ ー シ ョ ン は そ の 数 と は
逆 に な っ て い ま す の で 注 意 し て 下 さ い 。( つ まり 、command_word2 は command_word1 の 前
に来ます。)
int
int
int
command_word2;
command_word1;
command_word0;
/* offset 0x00e5 */
/* offset 0x00e6 */
/* offset 0x00e7 */
COUNT1_COUNT6
対 応 す る フ ィ ル タ が 計 算 さ れ る 毎 に イ ン ク リ メン ト さ れ る 符 号 な し カ ウ ン タ で す 。 Filter1 は
セ ン サ デ ー タ の 帯 域 幅 で 計 算 さ れ ま す 。 従 っ てこ の カ ウ ン タ は 、 標 準 セ ン サ で は 8KHz で イ
ン ク リ メ ン ト さ れ ま す 。 残 り の カ ウ ン タ は そ の 前 のカ ウ ン タ の 1/4 の 間 隔 で イ ン ク リ メ ン ト
さ れ る の で 、 2KHz, 500Hz, 125Hz ---- で カ ウ ン ト す る こ と に な り ま す 。
unsigned
unsigned
unsigned
unsigned
unsigned
unsigned
int
int
int
int
int
int
count1;
count2;
count3;
count4;
count5;
count6;
/*
/*
/*
/*
/*
/*
offset
offset
offset
offset
offset
offset
0x00e8
0x00e9
0x00ea
0x00eb
0x00ec
0x00ed
*/
*/
*/
*/
*/
*/
ERROR_COUNT
データ受取エラーのカウントです。このカウンタが急激に変化している場合には、センサケ
ーブルの接続不良またはその他のハードウェアに問題がある可能性があります。たいていの
実 装 状 況 で は 、error_count は 全 く 変 化 し な い は ず で す 。し か し 、極 め て 雑 音 の 多 い 環 境 で は 、
ハードウェアに問題がない場合でも時々エラーが発生することがあります。この様な環境の
も と で も 、セ ン サ が 完 全 に グ ラ ウ ン ド さ れ て い れ ば 多 く の 場 合 エ ラ ー を 防 ぐ こ と が 出 来 ま す 。
カウンタがエラーを検出した場合には、そのサンプルデータは無視されます。
unsigned int
--
error_count;
11
/* offset 0x00ee */
COUNT_X
DSPがそのジョブキューをサーチし、実行すべきものがない場合にインクリメントされる
カウンタです。DSPが使用可能なアイドルタイムの総量を示します。またDSPが正常に
動 作 し て い る か ど う か を 判 断 す る た め に も 使 用 で きま す 。
unsigned int
count_x;
/* offset 0x00ef */
WARNINGS
ERRORS
各 々 warning bits, error bits が 書 き 込 ま れ て い ます 。こ れ ら の 2 ワ ー ド の フ ォ ー マ ッ ト に つ い
て は 19 ペ ー ジ で 説 明 し ま す 。
warning_bits
error_bits
warnings;
errors;
/* offset 0x00f0 */
/* offset 0x00f1 */
THRESHOLD_BITS
ロードエンベロープのモニタ結果を出力するワードです。詳細については
load_envelopes(p.14) 及 び thresh_struct(p.21) を 御 参 照 下 さ い 。
int
threshold_bits;
/* offset 0x00f2 */
LAST_CRC
実 際 に 計 算 さ れ た CRC を 示 す 値 で す 。CRC は Cydlic Redundancy Code の 略 称 で す 。こ れ は ゼ
ロ で あ る は ず で す 。 詳 し く は 、 cal_crc_bad の 説 明(p.19)を 御 参 照 下 さ い 。
int
last_crc;
/* offset 0x00f3 */
EEPROM_VER_NO
SOFTWARE_VER_NO
eeprom_ver_no は セ ン サ の EEPROM の バ ー ジ ョ ンナ ン バ ー が 書 き 込 ま れ て い ま す 。 EEPROM
の バ ー ジ ョ ン ナ ン バ ー は 0 か ら 255 の 間 で す 。
software_ver_no は ソ フ ト ウ ェ ア の バ ー ジ ョ ン ナ ン バ ー が 書 き 込 ま れ て い ま す 。 バ ー ジ ョ ン
3.02 は 302 と し て ス ト ア さ れ ま す 。
int
int
--
eeprom_ver_no;
software_ver_no;
12
/* offset 0x00f4 */
/* offset 0x00f5 */
SOFTWARE_DAY
SOFTWARE_YEAR
D S P を 動 作 さ せ て い る ソ フ ト ウ ェ ア の リ リ ー ス 日 を 示 し ま す 。 day は 日 で 、 う る う 年 で な
い 年 で は 、 1 月 1 日 は 1 、 1 2 月 3 1 日 は 3 65 と し て 表 示 し ま す 。
int
int
software_day;
software_year;
/* offset 0x00f6 */
/* offset 0x00f7 */
SERIAL_NO
MODEL_NO
センサのシリアル番号及びモデル番号です。
unsigned int
unsigned int
serial_no;
model_no;
/* offset 0x00f8 */
/* offset 0x00f9 */
CAL_DAY
CAL_YEAR
セ ン サ を キ ャ リ ブ レ ー シ ョ ン し た 日 を 示 し ま す 。day は 日 で 、う る う 年 以 外 の 場 合 、1 月 1
日は1、12月31日は365と表示されます。
int
int
--
cal_day;
cal_year;
13
/* offset 0x00fa */
/* offset 0x00fb */
UNITS
BITS
CHANNELS
units は 、セ ン サ の フ ル ス ケ ー ル を 示 す た め に 用 い られ る 工 学 単 位 を 定 義 す る も の で す 。こ れ
ら の 値 の 意 味 は force_units structure(P.20) の 項 で 説 明 し ま す 。
bits は 、 セ ン サ に 使 用 さ れ て い る A/D 変 換 器 の 分 解 能 を 示 し ま す 。
channels は 、 セ ン サ の ど の チ ャ ン ネ ル が 送 信 可 能 か を 示 す ビ ッ ト フ ィ ー ル ド で す 。 bit 0 が ア
ク テ ィ ブ で あ れ ば 、セ ン サ は channel 0 を 送 信 で き、bit13 が ア ク テ ィ ブ で あ れ ば 、channel 13
を送信できるということです。このビットは、センサがその対応するチャンネルを送信して
い な く て も ア ク テ ィ ブ に な り 得 ま す 。 あ る セ ンサ で は ど の チ ャ ン ネ ル を 送 る か を 設 定 で き 、
こ の ビ ッ ト フ ィ ー ル ド は 送 信 可 能 な チ ャ ン ネ ル の情 報 を 含 む だ け で 、現 在 の コ ン フ ィ ギ ュ レ
イションに関する情報は含んでいません。どのチャンネルが現在送信されているかを見るた
め に は 、 raw_channel array (p.5) の 中 の raw_time fields (p.16) を モ ニ タ し て 下 さ い 。 時 間 が
周期的に変化しておれば、そのチャンネルは受信しているということになります。
force_units
int
int
units;
bit;
channels;
/* offset 0x00fc */
/* offset 0x00fd */
/* offset 0x00fe */
THICKNESS
フ ラ ン ジ か ら フ ラ ン ジ ま で の セ ン サ の 全 厚 み を 示 し ま す 。厚 み の 工 学 単 位 は units(p.14)に 書
き込まれた単位です。この値を用いると、センサ中心からフランジ面への座標変換が容易に
行えます。
int
thickness;
/* offset 0x00ff */
LOAD_ENVELOPES
ロードエンベロープを記述するためのテーブルです。このテーブルには16個のロードエン
ベロープスロットの設定が可能です。各スロットは16ワードの大きさがあり、0−15の
番号がつけられています。各々のロードエンベロープはスロットの始めから書き始める必要
がありますが、そのスロットを最後まで満たす必要はありません。また、ひとつのロードエ
ンベロープをひとつのスロットよりも大きくする事も可能です。本ソフトウェアでは50の
閾値をアクティブにした状態で満足に動作することが確認されています。この様な大きさの
ロードエンベロープは16のスロットのうちの4つを占有します。ロードエンベロープのデ
ータは、DSPにとって最も効率のよい配列でレイアウトされます。構造の詳細については
le_struct structure の 定 義 の 項 (p.21) を 参 照 し てく だ さ い 。
le_struct[0x10]
--
load_envelopes;
14
/* offset 0x0100 */
TRANSFORMS
座標変換の情報を記述するためのテーブルです。このテーブルには16個の座標変換スロッ
トの設定が可能です。各スロットは16ワードの大きさがあり、0−15の番号がつけられ
ています。各々の座標変換はスロットの始めから書き始める必要がありますが、そのスロッ
トを最後まで満たす必要はありません。また、ひとつの座標変換はひとつのスロットよりも
大 き く す る こ と が で き ま す 。ひ と つ の 座 標 変 換 の 長さ は 2 *( リ ン ク )+ 1 ワ ー ド と な り ま す 。
したがって、ひとつのスロットは7リンクの座標変換を含むことができ、2スロットでは1
5 リ ン ク の 座 標 変 換 を 含 む こ と が で き ま す 。配 列 の詳 細 に つ い て は 、transform structure の 定
義 の 項 (p.24) を 参 照 し て く だ さ い 。
transform[0x10]
transforms;
};
--
15
/* offset 0x0200 */
データストラクチャの詳細
RAW_CHANNEL
raw data( 生 デ ー タ )は 、D S P に よ り 容 易 に 迅 速 な 処 理 が で き る よ う な フ ォ ー マ ッ ト で ス ト
ア さ れ ま す 。raw_channel structure は 、単 一 の デ ー タ の フ ォ ー マ ッ ト を 示 し て い ま す 。各 チ ャ
ンネルは4ワード占有します。
RAW_TIME
raw_time は 、 各 チ ャ ン ネ ル 毎 の デ ー タ が 受 信 さ れ た 時 点 で の 、 D S P 内 部 ク ロ ッ ク に よ る 時
間 を 示 す 数 字 で す 。ク ロ ッ ク は 、D S P の サ イク ル タ イ ム の 1/10 で 動 い て い ま す 。D S P は
最 も 遅 い も の で 10Mhz で 動 作 し て い ま す 。 し たが っ て 、 10Mhz の D S P で は raw_time の ク
ロ ッ ク は 1Mhz で す 。
RAW_DATA
raw_data は 、 セ ン サ か ら 受 け 取 っ た ま ま の デ ータ で す 。 こ こ に は 1 6 チ ャ ン ネ ル の デ ー タ が
表示されています。チャンネル0は、センサにおける励起電圧を示しています。これは、ケ
ーブルの長さなどの影響による電圧の降下を補正するために使用します。チャンネル1∼6
にはクロストークを含んだFxからMzのデータが表示されます。チャンネル7にはセンサ
のキャリブレーションデータが表示されます。チャンネル8∼15は特殊品のセンサのみに
使用されます。
struct raw_channel
{
unsigned int
int
int[2]
};
--
raw_time;
raw_data;
reserved;
16
FORCE_ARRAY
force_array ス ト ラ ク チ ャ は 、 干 渉 を 除 去 し フ ィル タ リ ン グ し た 後 の 力 デ ー タ の レ イ ア ウ ト を
示すものです。
struct force_array
{
int
fx;
int
fy;
int
fz;
int
mx;
int
my;
int
mz;
int
v1;
int
v2;
};
SIX_AXIS_ARRAY
six_axis_array ス ト ラ ク チ ャ は 、 オ フ セ ッ ト と フ ル ス ケ ー ル の レ イ ア ウ ト を 示 し て い ま す 。
struct
six_axis_array
{
int
fx;
int
fy;
int
fz;
int
mx;
int
my;
int
mz;
};
--
17
VECT_BITS
vect_bits ス ト ラ ク チ ャ は 、ベ ク ト ル 計 算 に ど の 軸 を用 い る の か を 示 す た め の レ イ ア ウ ト で す 。
各 ビ ッ ト は 、 ひ と つ の 軸 の 選 択 す る こ と を 意 味 し ます 。 fx bit は 、 1 6 進 数 の 0x0001 に 対 応
し 、 mz bit は 0x0020 に 対 応 し ま す 。 た と え ば fx,fy,mx,my と い う 軸 を 使 用 す る に は 、 0x002b
ということになります。ベクトル1のデフォルトは力ベクトルであり、ベクトル2のデフォ
ル ト は モ ー メ ン ト ベ ク ト ル で す 。こ の デ フ ォ ル ト を変 更 す る こ と も 可 能 で す 。V1 bit、あ る い
は V2 bit を 変 更 す る と 、各 ベ ク ト ル は デ フ ォ ル ト の逆 に な り ま す 。つ ま り 、V1 に 1 を セ ッ ト
することによって両方をモーメントベクトルにすることが出来ます。
struct vect_bits
{
unsigned
unsigned
unsigned
unsigned
unsigned
unsigned
unsigned
unsigned
unsigned
};
fx : 1;
fy : 1;
fz : 1;
mx : 1;
my : 1;
mz : 1;
changeV1 : 1;
changeV2 : 1;
reserved : 8;
WARNING_BITS
warning_bits ス ト ラ ク チ ャ は 、 警 告 を 与 え る ワ ー ド で あ り ビ ッ ト パ タ ー ン で 表 示 し ま す 。
bit0(lsb)か ら bit15(msb)を 用 い て 表 示 し ま す 。
XX_NEAR_SAT
xx_near_sat bits は 、 そ こ に 示 さ れ た 軸 が 飽 和 値 近 辺に ま で 到 達 し た か 、 あ る い は そ れ を 越 え
たことを示しています。
struct warning_bits
{
unsigned
unsigned
unsigned
unsigned
unsigned
unsigned
unsigned
};
--
fx_near_sat : 1;
fy_near_sat : 1;
fz_near_sat : 1;
mx_near_sat : 1;
my_near_sat : 1;
mz_near_sat : 1;
reserved : 10;
18
ERROR_BITS
XX_SAT
MEMORY_ERROR
SENSOR_CHANGE
error_ bits ス ト ラ ク チ ャ は 、 エ ラ ー を 示 す ワ ー ド で あ り 、 ビ ッ ト パ タ ー ン で 表 示 し ま す 。
bit0(lsb)か ら bit15(msb)を 用 い て 表 示 し ま す 。xx_sat bits は 、そ こ に 示 さ れ た 軸 が 飽 和 値 に 至
っ た 、あ る い は そ れ を 越 え た と い う こ と を 示 し て い ま す 。memory_error bit は 、電 源 投 入 時 に
ボ ー ド 上 の R A M に 問 題 が 検 出 さ れ た こ と を 示 し ます 。sensor_change bit は 、先 に 接 続 さ れ て
いたものとは別のセンサがCRCチェックをパスしたということを示しています。このビッ
トはラッチされますので、リセットして下さい。
SYSTEM_BUSY
system_busy bit は 、 D S P が B U S Y 状 態 に あり 、 力 デ ー タ を 計 算 で き な い 状 態 に あ る こ と
を 示 し ま す 。新 し い 座 標 変 換 や フ ル ス ケ ー ル が 変 更さ れ る と 、こ の よ う な こ と が 起 こ り ま す 。
安定するまでには約4msを必要としますので、高速で力フィードバック制御をおこなって
いる場合にはご注意下さい。新しいセンサが接続された場合にもシステムがCRCを再計算
するためにこのビットがアクティブになります。
CAL_CRC_BAD
cal_crc_bad bit は 、 C R C 計 算 の 結 果 が 0 に な ら な か っ た こ と を 示 し ま す 。
C R C と は Cyclic Redundancy Code ( 巡 回 冗 長 符 号 )の 略 称 で 、デ ー タ コ ミ ュ ニ ケ ー シ ョ ン
においてデータの一致性を決定する方法です。本システムでは力データとともにセンサ中の
ROMに記録されているキャリブレーションデータがDSPに送られています。キャリブレ
ーションデータの最後にはCRCが付加されており、センサから受け取ったキャリブレーシ
ョンデータの一致性を決定することを支援します。CRCが0にならない場合は二つの原因
が考えられます。ひとつめは、全てのキャリブレーションデータを受信していないとき、ふ
たつめは、キャリブレーションデータそのものが正しくなかったときです。通常、センサは
1秒間に30セット以上のキャリブレーションデータを送信しています。従って、センサを
起動して数秒経過してもCRCが0にならない場合にはセンサのキャリブレーションデータ
に問題があるということです。
--
19
WATCH_DOG
WATCH_DOG2
watch_dog 及 び watch_dog2 bits は 、 プ ロ セ ッ サ で は な く セ ン サ の ウ ォ ッ チ ド ッ グ で す 。
watch_dog は セ ン サ ケ ー ブ ル 中 の デ ー タ ラ イ ン を 監 視 す る も の で あ り 、 watch_dog2 は デ ー タ
ラ イ ン と ク ロ ッ ク ラ イ ン を 監 視 す る も の で す 。 watch_dog が 異 常 を 示 さ な く と も watch_dog2
が異常を示す可能性もあります。この場合はデータラインは正常で、クロックラインに異常
が 生 じ て い る こ と を 示 し て い ま す 。両 方 の watch dog が 異 常 を 示 し た 場 合 に は デ ー タ は 正 常 に
受信できていないことになります。
struct
error_bits
{
unsigned
unsigned
unsigned
unsigned
unsigned
unsigned
unsigned
unsigned
unsigned
unsigned
unsigned
unsigned
unsigned
};
fx_sat : 1;
fy_sat : 1;
fz_sat : 1;
mx_sat : 1;
my_sat : 1;
mz_sat : 1;
reserved : 4;
memory_error : 1;
sensor_charge : 1;
system_busy : 1:
cal_crc_bad : 1;
watch_dog2 : 1;
watch_dog : 1;
FORCE_UNITS
force_units に は 、 セ ン サ に 使 用 し て い る 単 位 を 列 挙 し て い ま す 。 ( 1 台 の セ ン サ に 使 用 さ れ
ているのはこの中のどれかひとつです。)
0
1
2
3
-
lbs_in-lbs_mils:
pound, inch*pound, inch*1000
N_Nm*10_mm*10:
Newton, Newton*meter*10, mm*10
kgf*10_kgfcm_mm*10: kilogram-force*10, kilogram-Force*cm, mm*10
klbs_kin-lbs_mils:
kilopound, kiloinch*pound, inch*1000
enum force_units
{
lbs_in-lbs_mils,
N_dNm_mm10,
kgf*10_kgFcm_mm10
klbs_kin-lbs_mils
reserved_units_4
reserved_units_5
reserved_units_6
reserved_units_7
};
--
20
THRESH_STRUCT
thresh_struct は 、 ロ ー ド エ ン ベ ロ ー プ 内 の 一 組 の 閾 値 の レ イ ア ウ ト を 示 す ス ト ラ ク チ ャ で す 。
各ロードエンベロープにはいくつかのストラクチャを含むことが出来ます。
DATA_ADDRESS
data_address は 、そ の 閾 値 の た め の デ ー タ ア ド レ ス で す 。閾 値 は ど の デ ー タ に も 設 定 す る こ と
が出来ます。フィルタをかけた力データやフィルタをかけていない力データをモニタするこ
とも出来ると同時に、生データ、レイトデータ、カウンタ、あるいはエラーや警告ワードを
モニタすることも可能です。
THRESHOLD
threshold は 、 デ ー タ が そ れ 上 ま わ っ た あ る い は 下 ま わ っ た 場 合 に 、 ビ ッ ト を セ ッ ト す る 閾 値
で す 。 す な わ ち 、 G E ( greater than equal) で 閾 値 を 設 定 し た 場 合 に は 、 デ ー タ が threshold
を 上 ま わ っ た と き に 、 L E ( less than equal) で 閾 値を 設 定 し た 場 合 に は 、 デ ー タ が threshold
を 下 ま わ っ た と き に bit_pattern に 指 定 し た ビ ッ ト が 0x00f2 の threshold 変 数 に O R 加 算 さ れ ま
す。
BIT_PATTERN
bit_pattern は 、 閾 値 を 越 え た 場 合 に セ ッ ト さ れ る ビ ッ ト で す 。
struct thresh_struct
{
int
data_address;
int
threshold;
int
bit_pattern;
};
LE_STRUCT
le_struct は 一 組 の ロ ー ド エ ン ベ ロ ー プ の レ イ ア ウ トを 示 す ス ト ラ ク チ ャ で す 。 こ こ で は 4 点
の 閾 値 を 設 定 し て い ま す が 、実 際 に は さ ら に 多 く の閾 値 を 設 定 す る こ と が 出 来 ま す 。た だ し 、
4点以上の閾値を設定した場合にはそれに続くロードエンベロープの領域と重なりますの
で、それを理解した上で引き続くロードエンベロープは使用しないで下さい。また、閾値は
初めにGEタイプ、その後にLEタイプをまとめて設定しなければなりません。GEが上限
設定、LEが下限設定とお考え下さい。
LATCH_BITS
latch_bits は 、ラ ッ チ す る 必 要 の あ る ビ ッ ト を 示 す ビ ッ ト パ タ ー ン で す 。こ こ に セ ッ ト さ れ た
ビットはデータが一度閾値を越えるとラッチされ、データが戻ってもリセットされません。
--
21
リ セ ッ ト は reset_bit command で 行 う 必 要 が あ り ま す。
NUMBER_OF_GE_THRESHOLDS
NUMBER_OF_LE_THRESHOLDS
こ れ ら は 、 G E threshold と L E threshold の 数 を 示 す も の で す 。
struct le_struct
{
int
latch_bits
int
number_of_ge_thresholds;
int
number_of_le_thresholds;
thresh_struct[4]
thresholds;
int
reserved;
};
アドレス
0
1
2
データ
latch Pattern
No of GE
No of LE
ラ ッ チ す る ビ ット の パ タ ー ン
GE閾値の数
LE閾値の数
3
4
5
data addr
threshold
bit pattern
最初のGEのアドレス
最初のGEの閾値
最初のGEのビットパターン
6
7
8
data addr
threshold
bit pattern
・
・
・
data addr
threshold
bit pattern
2番目のGEのアドレス
2番目のGEの閾値
2番目のGEのビットパターン
data addr
threshold
bit pattern
・
・
・
data addr
threshold
bit pattern
最初のLEのアドレス
最初のLEの閾値
最初のLEのビットパターン
GE*3
GE*3+1
GE*3+2
GE*3+3
GE*3+4
GE*3+5
(GE+LE)*3
(GE+LE)*3+1
(GE+LE)*3+2
図4
--
最後のGEのアドレス
最後のGEの閾値
最後のGEのビットパターン
最後のLEのアドレス
最後のLEの閾値
最後のLEのビットパターン
ロードエンベロープストラクチャ
22
LINK_TYPES
link_types は 、 座 標 変 換 の た め の 変 数 を 列 挙 し た も の で す 。 end transform packet は transform
chain の 最 後 に 付 加 す る も の で す 。 translate お よ び rotate は そ れ ぞ れ 、 平 行 移 動 、 回 転 移 動
に 使 用 す る た め の も の で す 。negate all axes は 全 て の軸 の 正 負 を 逆 転 し ま す 。こ れ は 座 標 系 を
デフォルトの左手系から右手系に変更する場合に使用します。
0
1
2
3
4
5
6
7
-
end tramsform packet
translate along X axis (TX)
translate along Y axis (TY)
translate along Z axis (TZ)
rotate about X axis (RX)
rotate about Y axis (RY)
rotate about Z axis (RZ)
negate all axes
enum
{
link_types
end_x_form,
tx,
ty,
tz,
rx,
ry,
rz,
neg
};
--
23
TRANSFORM
transform は 、 座 標 変 換 の 内 容 を 示 す ス ト ラ ク チャ で す 。 変 換 の 順 序 は 任 意 で あ り 、 指 定 し た
とおりの順序で行われます。各リンクは2ワードより成り、初めのワードはタイプを示し、
後 の ワ ー ド は 移 動 量 (link_amount)を 示 し ま す 。 タ イ プ は LINK_TYPES(P.23) に 示 し た と お
り で す 。 平 行 移 動 量 は UNITS(P.14) に 示 し た 長 さ の 単 位 で 設 定 し 、 回 転 移 動 量 は 次 の よ う
に設定します。
amount = degrees*32768/180
or
amount = radians*32768/π
回転移動の場合は16ビットの整数で0∼360度をカバーできますが、平行移動の場合に
は移動できる範囲に限度があります。一つのリンクで移動できない距離であっても、二つ以
上 の リ ン ク を 順 序 よ く 組 み 合 わ せ る こ と に よ り 移 動さ せ る こ と が 出 来 る 場 合 が あ り ま す 。
struct links
{
link_types
int
};
struct transform
{
links[8]
};
アドレス
0
1
2
3
(n-1)*2
(n-1)*2+1
n*2
n*2+1
図5
--
link_type
link_amount;
link;
データ
link 1 - type
リ ン ク 1 の タ イプ
link 1 - amount リ ン ク 1 移 動 量
link 2 - type
link 2 - amount
・
・
・
link n - type
link n - amount
0
don't care
リ ン ク 2 の タ イプ
リンク2移動量
リ ン ク n の タ イプ
リンクn移動量
リンク終了
座標変換ストラクチャ
24
C言語入門
「データロケーションと定義」及び「データストラクチャ定義」の項で説明したデータの宣
言はC言語形式で示しています。C言語を用いたのは、それが現在最も広く使われているコ
ンピュータ言語であるからです。しかし、C言語をこれまであまり取り扱ったことがない方
々のために、簡単にC言語のデータ宣言について説明します。
/*と */は コ メ ン ト 文 の 初 め と 終 わ り を 示 し て い ま す 。 セ ミ コ ロ ン (;)は ス テ ー ト メ ン ト の 最 後
を 示 し 、コ ン マ (,)は リ ス ト 中 の ア イ テ ム を 分 け る た め に 使 わ れ ま す 。1 6 進 数 は 、数 字 の 最
初 に 0x を 付 け て 表 し ま す 。16 を 1 6 進 数 で 表 す と、0x0010 と な り 、157 は 0x009d と な り ま
す 。変 数 を 宣 言 す る と き に は 、変 数 の 型 を 最 初 に 示し 、そ の 次 に 変 数 名 を 示 し ま す 。sat_value
と い う 変 数 名 の 整 数 型 変 数 を 宣 言 す る 場 合 に は 、 次の よ う に な り ま す 。
int
sat_value;
int は C 言 語 で は 符 号 付 整 数 を 示 し ま す 。整 数 の サ イズ は 、C コ ン パ イ ラ が 書 か れ た 機 械 に よ
って変わります。本システムで使用しているADSP−2105は16ビットの情報を一度
に 処 理 す る の で 、 整 数 の サ イ ズ は 1 6 ビ ッ ト で す 。し た が っ て 、 整 数 は -32768∼ +32767 ま で
の値をとることができます。符号なし整数型でも整数型とサイズは同じですが、符号があり
ません。したがって、次の
unsigned int
countx;
は 、countx と い う 名 の 変 数 を 宣 言 す る こ と に な り 、0∼ 65535 ま で の 値 を と る こ と が で き ま す 。
C言語には、データをひとかたまりとしてストラクチャ(構造体)に結合する機能がありま
す 。struct の 宣 言 は 、デ ー タ ス ト ラ ク チ ャ を 定 義 し ます 。struct を 定 義 し た 後 、struct の 型 に よ
っ て 変 数 が 宣 言 さ れ 、struct の 個 々 の フ ィ ー ル ド を ア ク セ ス で き る よ う に な り ま す 。force array
structure を 宣 言 す る に は 、 次 の よ う に な り ま す 。
struct
{
int
int
int
};
force_structure
fx;
fy;
fz;
こ こ で は 、 fx,fy,fz と い う 名 の 3 つ の 整 数 フ ィ ー ル ドを 有 す る force_structure と い う 名 の ス ト
ラ ク チ ャ を 宣 言 し て い ま す 。こ れ ら の 3 つ の フ ィ ー ル ド は fx が 最 下 位 ま た は 最 初 の ア ド レ ス 、
fz が 最 上 位 ま た は 最 後 の ア ド レ ス に な る よ う に メ モリ 内 に 配 列 し ま す 。 ス ト ラ ク チ ャ を 使 っ
て 変 数 を 定 義 す る に は 、 ス ト ラ ク チ ャ 名 は 変 数宣 言 に お け る 変 数 の 型 と し て 使 用 さ れ ま す 。
force_structure filter0;
は 、force_structure の 型 の filter0 と い う 名 の 変 数 を 宣 言 し て い ま す 。 前 の force_structure の 宣
言 を 用 い る と 、 fx,fy,fz と い う 名 の 3 つ の フ ィ ー ル ドを 持 つ こ と に な り ま す 。
C 言 語 に よ る デ ー タ の 配 列 は 、通 常 の デ ー タ 宣 言 に お け る 変 数 の 型 に [n]を つ け る こ と に よ り
--
25
宣 言 さ れ ま す 。 [n]の 中 の n は 配 列 に 含 ま れ る エ レメ ン ト の 数 を 示 し ま す 。
したがって、
force_structure[0x0010]
force_data;
は 、 force_structure の 型 の 16( 1 6 進 数 で は 0x0010) 個 の エ レ メ ン ト を 有 す る force_data と
呼 ば れ る 変 数 で あ る こ と を 示 し ま す 。 こ の と き 、 force_data は 48(16*3)個 の 整 数 か ら 構 成 さ
れ る こ と に な り ま す 。 こ れ は 、 メ モ リ 上 に 連 続 し て配 列 さ れ た 16 セ ッ ト の 別 々 の force data
と考えることもできます。
最後に、C言語には、変数の中の個々のビットやビットのグループを取り扱いやすいように
ビットフィールドと呼ばれるデータストラクチャの型があります。ビットフィールドは、ス
ト ラ ク チ ャ の 定 義 の 中 で エ レ メ ン ト 名 に :n を 付 加 す る こ と に よ っ て 示 さ れ ま す 。 :n の 中 の n
はエレメントの使用するビット数を示します。ビットの順序はコンパイラにより指定でき、
本 シ ス テ ム で は lsb か ら msb の 方 向 に 宣 言 す るも の と 定 義 し ま す 。 こ れ を 2 進 数 に 換 算 す る
場合には最初のビットフィールドが最小の重みを持ち、最後のものが最大の重みを持つこと
になります。
struct test_bits
{
fx_bit:1;
mx_bit:1;
reserved:14;
}
こ こ で は lsb は fx_bit、2 番 目 の ビ ッ ト は mx_bit、上 位 の 1 4 ビ ッ ト は reserved で あ る ス ト ラ
クチャを宣言していることになります。
--
26
コマンドの詳細
コマンド例(0)
引数:
Data_1
Command_Word_0
こ こ に は command_word_0 を セ ッ ト す る に 先 立 っ て
変 更 す べ き デ ータ の 名 称 を 記 述 し て い ま す 。
0x0000
戻り値:
Data_2
ここにはコマンドの実行によって変化するデータの
名 称 を 記 述 し てい ま す 。
Command_Word_0
0
( 正 常 に コ マ ン ド が 実 行 さ れる と Command_Word_0
が0になります。)
実行時間:
40μS
125μS
(平均)
(最大)
備考:
こ の コ マ ン ド 例 で は 、 こ の 章 に お け る 他 の コ マン ド の 表 示 形 式 を 示 し て い ま す 。
引数と戻り値に関しては、左側に変数の名称を示し右側にそこに設定すべき変数の値、ある
いは送り返される変数の値を示しています。
実 際 に コ マ ン ド を 実 行 す る と き に は 、 ま ず Data_1 を 必 要 な 値 に 書 き 換 え 、 次 に
Command_Word_0 に コ マ ン ド 番 号 を 書 き 込 み ます 。 こ こ で は コ マ ン ド 番 号 は 0x0000 で す 。
そ の 後 Command_Word_0 を モ ニ タ し 0 に な る の を 待 ち ま す 。 そ の 時 点 で コ マ ン ド の 実 行 が
完 了 し て い ま す の で Data_2 の 戻 り 値 を 読 み 出 し て下 さ い 。
--
27
メモリリード(1)
引数:
Command_Word_1
Command_Word_0
読み出すアドレス
0x0100
戻り値:
Command_Word_2
Command_Word_0
読 み 出 し た デ ータ
0
実行時間:
40μS
125μS
(平均)
(最大)
備考:
メモリは直接読み出すことが出来るので、通常このコマンドを使用することはありませ
ん。試験用途でDSPの内部メモリを読み出すときにこのコマンドを使用します。
メモリライト(2)
引数:
Command_Word_2
Command_Word_1
Command_Word_0
戻り値:
Command_Word_2
Command_Word_0
実行時間:
40μS
125μS
書き込むデータ
書き込むアドレス
0x0200
ア ド レ ス よ り 読み 出 し た デ ー タ
0
(平均)
(最大)
備考:
これはメモリへデータを書き込むためのコマンドです。このコマンドはユーザが書き込
みを行うと同時にDSPがそのデータを変更する可能性があるような場合に使用します。
warning, error, threshold 等 の ラ ッ チ さ れ る ビ ッ ト が そ れ に 相 当 し ま す 。 ま た 、 こ の コ マ ン ド
はデータが書き込まれる前のデータを戻り値として返します。
--
28
ビットセット(3)
引数:
Command_Word_2
Command_Word_1
Command_Word_0
戻り値:
Command_Word_2
Command_Word_0
実行時間:
40μS
125μS
セットすべきビットマップ
ビットをセットするアドレス
0x0300
ア ド レ ス よ り 読み 出 し た デ ー タ
0
(平均)
(最大)
備考:
これは指定したアドレスのデータワードの単一あるいは複数のビットをセットするためのコ
マンドです。このコマンドはユーザが書き込みを行うと同時にDSPがそのデータを変更す
る 可 能 性 が あ る よ う な 場 合 に 使 用 し ま す 。 warning, error, threshold 等 の ラ ッ チ さ れ る ビ ッ ト
がそれに相当します。また、このコマンドはデータが書き込まれる前のデータを戻り値とし
て返します。
--
29
ビットリセット(4)
引数:
Command_Word_2
Command_Word_1
Command_Word_0
戻り値:
Command_Word_2
Command_Word_0
実行時間:
40μS
125μS
リセットすべきビットマップ
リセットするアドレス
0x0400
ア ド レ ス よ り 読み 出 し た デ ー タ
0
(平均)
(最大)
備考:
これは指定したアドレスのデータワードの単一あるいは複数のビットをリセットするための
コマンドです。このコマンドはユーザが書き込みを行うと同時にDSPがそのデータを変更
す る 可 能 性 が あ る よ う な 場 合 に 使 用 し ま す 。 warning, error, threshold 等 の ラ ッ チ さ れ る ビ ッ
トがそれに相当します。また、このコマンドはデータが書き込まれる前のデータを戻り値と
して返します。
--
30
座標変換番号(5)
引数:
transforms(@0x200-)
必 要 な ス ロ ッ トに 座 標 変 換 テ ー ブ ル を セ ッ ト
Command_Word_0
0x050?
こ こ で "?" は 座 標 変 換 ス ロ ッ ト の 番 号 ( 0x0 ∼ 0xf)
戻り値:
Command_Word_0
Transform_Num(@0x77)
0
新たに使用を開始した座標の番号
実行時間:
3∼10mS (平均)
こ の 実 行 時 間 は 座 標 変 換 の リ ン ク 数 に 依 存 し ます 。
(2.25+0.75*リンク数)mS
備考:
このコマンドを実行する前に座標変換テーブルを作成し書き込んでおいて下さい。座標
変 換 を 1 種 類 し か 使 用 し な い 場 合 に は ア ド レ ス 0x200 か ら の ス ロ ッ ト 0 に 座 標 変 換 テ ー ブ
ル を 書 き 込 み 、 Command_Word_0 に 0x0500 を 書 き 込 ん で 下 さ い 。 こ の コ マ ン ド の 実 行 に
は 数 m S を 要 し ま す 。 コ マ ン ド の 実 行 中 に は error_bits の system_busy ビ ッ ト が セ ッ ト さ れ
ま す 。 ま た 、 他 の コ マ ン ド と 同 様 に コ マ ン ド の 実 行 が 完 了 す る と Command_Word_0 が 0 に
リセットされます。
--
31
オフセット番号(6)
引数:
Command_Word_0
0x060?
こ こ で "?" は オ フ セ ッ ト 番 号( 0x0 ∼ 0xf)
戻り値:
Command_Word_0
offset_num(@0x8e)
offset(@0x88-)
実行時間:
150μS
225μS
0
新たに使用を開始したオフセット番号
指定したオフセット値
(平均)
(最大)
備考:
本システムでは16通りのオフセット値をセーブしておくことが出来ます。使用する工
具を交換するような場合にこの機能が必要になります。このコマンドは使用するオフセット
番号を指定すると同時に、セーブされたオフセット値をロードします。後述のセットオフセ
ットコマンドやリセットオフセットコマンドはここで指定しておいたオフセット番号に対し
て実行されます。複数のオフセットを使用しない場合にはこのコマンドは必要なく、デフォ
ルトのオフセット番号0が常に使用されることになります。使用中のオフセット値を変更せ
ず に オ フ セ ッ ト 番 号 を 変 更 し た い 場 合 に は 、ア ド レ ス 0x8e の offset_num に 変 更 し た い 番 号
を直接書き込んで下さい。
--
32
セットオフセット(7)
引数:
offset(@0x88-)
Command_Word_0
戻り値:
Command_Word_0
current offset table entry
実行時間:
150μS
225μS
セットしたいオフセット値
0x0700
0
0x88 に セ ッ ト さ れた オ フ セ ッ ト 値
(平均)
(最大)
備考:
ア ド レ ス 0x88 に セ ッ ト さ れ て い る オ フ セ ッ ト 値 を 直 ち に 使 用 す る と 同 時 に 、 使 用 中 の
オ フ セ ッ ト 番 号 に そ の 値 を セ ー ブ し ま す 。 こ の コ マ ン ド を 使 用 し な く て も 0x88 に セ ッ ト さ
れたオフセット値はセット後最大2mS後に使用が開始されますが、このコマンドを実行す
ることによって直ちに使用が開始されます。
--
33
リセットオフセット(8)
引数:
Command_Word_0
戻り値:
Command_Word_0
offsets(@0x88-)
current offset table entry
実行時間:
150μS
225μS
0x0800
0
力 デ ー タ 出 力 が0 に な る よ う な オ フ セ ッ ト 値
同上
(平均)
(最大)
備考:
ア ド レ ス 0xa0 か ら の filter2 出 力 が 0 に な る よ う な オ フ セ ッ ト 値 を 採 用 す る と 同 時 に 、
使用中のオフセット番号にセーブする。
--
34
セットベクトル(9)
引数:
Command_Word_0
0x09??
こ こ で "??" は ベ ク ト ル 計 算 に 使 用 す る 軸 を ビ ッ ト マ ッ プ で
指定します。
戻り値:
Command_Word_0
vect_axes(@0x8f)
full_scale(@0x86-)
実行時間:
40μS
125μS
0
Command_Word_0 の ビ ッ ト マ ッ プ が セ ッ ト さ れ ま す 。
選択した軸のフルスケールの最大値になります。
(平均)
(最大)
備考:
V1 と V2 の 2 種 類 の ベ ク ト ル に 使 用 す る 軸 を指 定 し ま す 。各 ビ ッ ト の 意 味 は lsb よ り 、
V1x,V1y,V1z,V2x,V2y,V2z で す 。デ フ ォ ル ト で は V1 は 力 、 V2 は モ ー メ ン ト を 表 し ま す が 、
0x40 ビ ッ ト を セ ッ ト す る こ と に よ り 、 V2 も 力 ベ クト ル に 使 用 さ れ 、 0x80 ビ ッ ト を セ ッ ト す
る と V1 が モ ー メ ン ト ベ ク ト ル に 使 用 さ れ ま す 。
例 : V1 を Fx,Fz、 V2 を Fy,Fz の ベ ク ト ル と 指 定 す る 場 合 . . . 0x75
V1 を Mx,My、 V2 を Mx,Mz の ベ ク ト ル と 指 定す る 場 合 . . . 0xab
--
35
セットフルスケール(10)
引数:
full_scale(@0x80-)
Command_Word_0
戻り値:
Command_Word_0
設 定 し た い フ ルス ケ ー ル
0x0a00
0
実行時間:
3∼10mS (平均)
こ の 実 行 時 間 は 座 標 変 換 の リ ン ク 数 に 依 存 し ます 。
(3.4+0.75*リンク数)mS
備考:
こ の コ マ ン ド の 実 行 に は 数 m S を 要 し ま す 。 コ マ ン ド の 実 行 中 に は error_bits の
system_busy ビ ッ ト が セ ッ ト さ れ ま す 。 ま た 、 他 の コ マ ン ド と 同 様 に コ マ ン ド の 実 行 が 完 了
す る と Command_Word_0 が 0 に リ セ ッ ト さ れ ま す。
このコマンドを実行すると座標変換の計算も同時に行われます。従って、座標変換番号
や有効になっている座標変換テーブルを変更してある場合にこのコマンドを実行すると座標
系が変わる事になります。これは便利な事もありますが、予想外の結果を招く事もあります
ので、十分に注意して実行して下さい。
適 切 な フ ル ス ケ ー ル の 設 定 方 法 に つ い て は 、minimum full scale(P.6)の 項 を 参 照 し て 下 さ
い。
--
36
リセットピーク(11)
引数:
peak_address(@0x7f)
Command_Word_0
戻り値:
Command_Word_0
minimums(@0xd0-)
maximums(@0xd8-)
実行時間:
40μS
125μS
ピ ー ク を 調 べ たい デ ー タ の ア ド レ ス
0x0b00
0
最 後 に ピ ー ク をリ セ ッ ト し て か ら の 最 小 値
最 後 に ピ ー ク をリ セ ッ ト し て か ら の 最 大 値
(平均)
(最大)
備考:
本システムでは任意のデータの最小、最大の各ピーク値を監視出来ます。そのピーク値
は こ の コ マ ン ド に よ っ て ア ド レ ス 0xd0 ∼ 0xdf に 出 力 し て ラ ッ チ す る と 同 時 に 内 部 の ピ ー
ク値を現在の出力値にリセットします。これらのデータは常に変化しているわけではありま
せんがこの方法を取る事によって確実に同じデータサイクルのピーク値を測定する事が出来
ます。
--
37
リードピーク(12)
引数:
peak_address(@0x7f)
Command_Word_0
戻り値:
Command_Word_0
minimums(@0xd0-)
maximums(@0xd8-)
実行時間:
40μS
125μS
ピ ー ク を 調 べ たい デ ー タ の ア ド レ ス
0x0c00
0
最 後 に ピ ー ク をリ セ ッ ト し て か ら の 最 小 値
最 後 に ピ ー ク をリ セ ッ ト し て か ら の 最 大 値
(平均)
(最大)
備考:
本システムでは任意のデータの最小、最大の各ピーク値を監視出来ます。そのピーク値
は こ の コ マ ン ド に よ っ て ア ド レ ス 0xd0 ∼ 0xdf に 出 力 し て ラ ッ チ し ま す 。 こ れ ら の デ ー タ
は次にコマンドを実行するまで変化しません。この方法を取る事によって確実に同じデータ
サイクルのピーク値を測定する事が出来ます。
--
38
コマンドの使用例
ここでは、コマンドの使用例を疑似プログラムで示しています。1行の中で##以降はコメ
ントです。いくつかの関数をあらかじめ定義します。
readData (addr)
こ れ は addr で 示 し た D S P 上 の ア ド レ ス の 16bit デ ー タ を 読 み 出 す 関 数 で す 。
writeData (addr, data)
こ れ は addr で 示 し た D S P 上 の ア ド レ ス に data を 書 き 込 む 関 数 で す 。
write ______________
こ れ は 下 線 で 示 し た 部 分 を デ ィ ス プ レ イ に 表 示 す る関 数 で す 。
例1−ソフトウェアバージョンの表示
使 用 中 の D S P の ソ フ ト ウ ェ ア バ ー ジ ョ ン を 表 示 す る 例 で す 。 バ ー ジ ョ ン No.は ア ド レ ス
0xf5 に あ り ま す 。
write 'ソフトウェアバージョン'
write (readData (0xf5) / 100)
例2−計算後のFx力データの表示
こ の 例 で は ア ド レ ス 0x80 の F x フ ル ス ケ ー ル を 読 み 込 み 、 ア ド レ ス 0xa0 の フ ィ ル タ 2 の
力データを換算しています。
write 'Fx フィルタ 2'
write (readData (0xa0) / 16384 * readData (0x80))
例3−オフセットのリセット
全 て の 軸 の 力 デ ー タ を ゼ ロ に す る た め の リ セ ッ ト オ フ セ ッ ト の コ マ ン ド ( p.34) を 実 行 す る
例 で す 。 風 袋 除 去 に 使 用 し ま す 。 ア ド レ ス 0xe7 の command_word0 に 0x0800 を 書 き 込 む
ことによってコマンド(8)が実行されます。
writeData (0x00e7, 0x0800)
--
39
例4−Fzのオフセット変更
こ こ で は F z の 出 力 を 2 0 に す る よ う な オ フ セ ッ トを 設 定 す る 例 を 示 し ま す 。ア ド レ ス 0xa2
の フ ィ ル タ 2 デ ー タ と ア ド レ ス 0x8a の 現 時 点 の オ フ セ ッ ト 値 か ら 風 袋 除 去 前 の F z デ ー タ
が計算できます。その値から20引いたデータをオフセットとして設定することによって、
Fzの出力は20になります。
writeData (0x008a, readData (0x00a2) + readData (0x008a) - 20)
上記の1行だけでオフセットを変更した場合、オフセットが変更されたことをDSPが認識
するまで待たなければなりません。これには最大2mSかかりますがコマンド(7)を実行
す る こ と に よ り 、 即 座 に オ フ セ ッ ト を 変 更 す るこ と が 出 来 ま す 。
## F z を 2 0 に 設 定
writeData (0x008a, readData (0x00a2) + readData (0x008a) - 20)
## 他 の 軸 も 必 要 に 応 じ 設 定
## 最 後 に セ ッ ト オ フ セ ッ ト コ マ ン ド を 実 行
writeData (0x00e7, 0x0700)
例5−ベクトルの設定
これはベクトル計算に使用する軸を設定する例です。デフォルトにではV1とV2のベクト
ルは、それぞれ力とモーメントのベクトルであり、x,y,z軸を全て使っています。V1
と V 2 に 用 い る 軸 を 変 更 す る に は コ マ ン ド ( 9 ) (p.35)を 使 用 し ま す 。 次 の 例 は 、 V 1 に F
x と F y を 用 い 、V 2 に F x 、F y 、F z を 用 い る よ う に 設 定 を 行 っ て い ま す 。ア ド レ ス 0xe7
の command_word0 に 0x097b を 書 き 込 む こ と に よっ て 実 行 さ れ ま す 。
writeData (0x00e7, 0x097b)
こ こ で 書 き 込 ん だ ビ ッ ト マ ッ プ デ ー タ 0x7b は 次 の よ う に し て 決 ま り ま す 。
lsb
msb
--
V1x
V1y
V1z
V2x
V2y
V2z
V2変更
V1変更
1
1
0
1
1
1
1
0
40
例6−座標変換
ここでは単純な座標変換の例を示します。この座標変換はY軸まわりに180度回転させる
だ け の も の で す 。 座 標 変 換 テ ー ブ ル 0 を 用 い ま す 。 ま ず ア ド レ ス 0x0200 の 座 標 変 換 テ ー ブ
ルにY軸まわりの回転を意味する5を書き込みます。次に回転量180度を書き込みます。
こ の 値 は (p.24)で 述 べ た と お り − 3 2 7 6 8 と 換 算 し て い ま す 。 最 後 に 末 尾 を 示 す 0 を 書 き
込 み ま す 。 ア ド レ ス 0xe7 の command_word0 に 0x0500 を 書 き 込 む こ と に よ っ て テ ー ブ ル
0でコマンド(5)が実行されます。
writeData
writeData
writeData
writeData
(0x0200,
(0x0201,
(0x0202,
(0x00e7,
5)
-32768)
0)
0x0500)
##
##
##
##
Y軸まわりの回転
−180度回転
座標変換0はここまで
座標変換0を使用
例7−複雑な座標変換
ここでは複雑な座標変換の例を示します。この座標変換ではまずZ軸まわりに45度回転さ
せ ま す 。 座 標 変 換 テ ー ブ ル 2 を 用 い ま す 。 ア ド レ ス 0x0220 の 座 標 変 換 テ ー ブ ル に Z 軸 ま わ
り の 回 転 を 意 味 す る 6 を 書 き 込 み ま す 。 次 に 回 転 量 4 5 度 を 書 き 込 み ま す 。 こ の 値 は (p.24)
で述べたとおり8192と換算しています。2番目のリンクとしてセンサの厚さの半分だけ
Z軸に沿って並行移動します。こうすることによってセンサのフランジ面に座標の原点が移
動 し ま す 。 最 後 に 末 尾 を 示 す 0 を 書 き 込 み ま す 。 ア ド レ ス 0xe7 の command_word0 に
0x0502 を 書 き 込 む こ と に よ っ て テ ー ブ ル 2 で コ マン ド ( 5 ) が 実 行 さ れ ま す 。
writeData
writeData
writeData
writeData
writeData
writeData
--
(0x0220,
(0x0221,
(0x0222,
(0x0223,
(0x0224,
(0x00e7,
6)
8192)
3)
readData (000ff) / 2)
0)
0x0502)
41
##Z 軸 ま わ り の 回 転
##4 5 度 回 転
##Z 軸 並 行 移 動
##移 動 量 は セ ン サ 厚 の 半 分
##座 標 変 換 2 は こ こ ま で
##座 標 変 換 2 を 使 用
例8−ロードエンベロープ
ここでは、複数の閾値を持つロードエンベロープの設定と使い方の例を示します。2つの軸
に5種類の閾値を設定します。FxとFyの正負両側にフルスケールの1/4の閾値を設定
し、各閾値にそれぞれ2つのビットを割り当てて、1つのビットをラッチビットとします。
また、力ベクトルにフルスケールの1/2の閾値を設定します。最後に閾値ビット読み取っ
た後それらをリセットします。
## ロ ー ド エ ン ベ ロ ー プ 2 に 所 望 の 値 を 入 れ る
writeData (0x0120, 0xff00)
writeData (0x0121, 3)
writeData (0x0122, 2)
## 上 位 8 ビ ッ ト は ラ ッ チ す る
## GE 閾 値 ( 上 限 値 ) を 3 点
## LE 閾 値 ( 下 限 値 ) を 2 点
## 最 初 の 上 限 値
writeData (0x0123, 9x0090)
writeData (0x0l24, 4096)
writeData (0x0125, Ox0101)
## フ ィ ル タ 0 、 F x の ア ド レ ス
## フ ル ス ケ ー ル の 1/4
## ビ ッ ト 0 と 8 を 使 用
## 2 番 目 の 上 限 値
writeData (0x0126, 0x0091)
writeData (0x0127, 4096)
writeData (0x0128, 0x0202)
## フ ィ ル タ 0 、 F y の ア ド レ ス
## フ ル ス ケ ー ル の 1/4
## ビ ッ ト 1 と 9 を 使 用
## 最 後 の 上 限 値
writeDeta (0x0129, 0x0096)
writeData (0x012a, 8192)
writeData (0x012b, 0x1010)
## フ ィ ル タ 0 、 v 1 の ア ド レ ス
## フ ル ス ケ ー ル の 1/2
## ビ ッ ト 4 と 1 2 を 使 用
## 最 初 の 下 限 値
writeData (0x012c, 0x0090)
writeData (0x012d, -4096)
writeData (0x012e, 0x0404)
## フ ィ ル タ 0 、 F x の ア ド レ ス
## フ ル ス ケ ー ル の -1/4
## ビ ッ ト 2 と 1 0 を 使 用
## こ の 閾 値 か ら ス ロ ッ ト 3 の 領 域 に 入 り ま す
## 最 後 の 下 限 値
writeData (0x012f, 0x0091)
writeData (0x0130, -4096)
writeData (0x0131, 0x0808)
## フ ィ ル タ 0 、 F y の ア ド レ ス
## フ ル ス ケ ー ル の -1/4
## ビ ッ ト 3 と 1 1 を 使 用
writeData (0x006f, 2)
## ロ ー ド エ ン ベ ロ ー プ 2 を 使 用
write '現 在 の 閾 値 状 況 '
write (readData (0x00f2))
## ラ ッ チ さ れ た ビ ッ ト の リ セ ッ ト
writeData (0x00e5, 0xff00)
writeData (0x00e6, 0x00f2)
writeData (0x00e7, 0x0400)
--
## 上 位 8 ビ ッ ト を リ セ ッ ト
## リ セ ッ ト す る ア ド レ ス
## コ マ ン ド 4 ( ビットリセット) を 実 行
42
データロケーション
網掛け部はデータ書き込み可能
0x00
0x08
∼
0x38
0x40
0x48
0x50
0x58
0x60
0x68
0x70
0x78
0x80
0x88
0x90
0x98
0xa0
0xa8
0xb0
0xb8
0xc0
0xc8
0xd0
0xd8
0xe0
0xe8
0xf0
0xf8
0x00
ch0time
ch2time
0x01
ch0data
ch2data
0x02
∼
chEtime
'C '
't '
'n '
∼
chEdata
'o '
' '
'c '
'p '
'J '
' '
shunt fx
def fs fx
min fs fx
max fs fx
fs fx
ofs fx
f0 fx
f1 fx
f2 fx
f3 fx
f4 fx
f5 fx
f6 fx
rate fx
min fx
max fx
near sat
count 1
warning
serial
shunt fy
def fs fy
min fs fy
max fs fy
fs fy
ofs fy
f0 fy
f1 fy
f2 fy
f3 fy
f4 fy
f5 fy
f6 fy
rate fy
min fy
max fy
sat
count 2
error
model
shunt fz
def fs fz
min fs fz
max fs fz
fs fz
ofs fz
f0 fz
f1 fz
f2 fz
f3 fz
f4 fz
f5 fz
f6 fz
rate fz
min fz
max fz
rate addr
count 3
threshold
cal day
0x03
0x04
ch1time
ch3time
0x05
ch1data
ch3data
'y '
'R '
'1 '
∼
chFtime
'r '
'3 '
'9 '
∼
chFdata
'i '
', '
'9 '
shunt mx
def fs mx
min fs mx
max fs mx
fs mx
ofs mx
f0 mx
f1 mx
f2 mx
f3 mx
f4 mx
f5 mx
f6 mx
rate mx
min mx
max mx
rate div
count 4
crc
cal year
shunt my
def fs my
min fs my
max fs my
fs my
ofs my
f0 my
f1 my
f2 my
f3 my
f4 my
f5 my
f6 my
rate my
min my
max my
rate count
count 5
rom ver #
units
shunt mz
def fs mz
min fs mz
max fs mz
fs mz
ofs mz
f0 mz
f1 mz
f2 mz
f3 mz
f4 mz
f5 mz
f6 mz
rate mz
min mz
max mz
comm 2
count 6
ver no
bits
0x06
'g '
' '
'3 '
'h '
'I '
null
fs v1
ofs #
f0 v1
f1 v1
f2 v1
f3 v1
f4 v1
f5 v1
f6 v1
rate v1
min v1
max v1
comm 1
errors
ver day
chans
load env #
xForm #
peak addr
fs v2
vect axes
f0 v2
f1 v2
f2 v2
f3 v2
f4 v2
f5 v2
f6 v2
rate v2
min v2
max v2
comm 0
count x
ver year
thickness
概要
ch0time,ch0data
shunt fx,..
def fs fx,...
min fs fx,...
max fs fx,...
fs fx,...
load env #
xForm #
peak addr
ofs fx,...
ofs #
vect axes
f0 fx,...
f1 fx,...
rate fx,...
min fx,... , max fx,...
near sat, sat
rate addr
rate div
rate count
comm 2,...
count 1,...
errors
warning, error
threshold
rom ver #
ver no, ver day
serial, model
cal day
units
bits
chans
thickness
--
0x07
参 照 ページ
ch0のデータが最後に受信されてからの時間、そのデータの内容
F x の シ ャ ン ト の 値 ( オプション)
Fxフルスケールのデフォルト
Fxフルスケールの最小値
Fxフルスケールの最大値
Fxのフルスケール、Fxが16384を出力したときの単位付き計算値
現在有効になっているロードエンベロープの番号
現在有効になっている座標変換の番号
最大値、最小値を算出するために使用するデータのアドレス
Fxのオフセット
現在使用中のオフセットの番号
合力計算に使用する軸を表すビットマップ
干渉除去後でフィルタをかけていない力データ
フィルタ1を通過後の力データ
Fxの差分データ
Fxの最小値、最大値
warning word,error word に 使 用 す る た め の 飽 和 点 の 設 定 値
差分データ計算に使用するデータのアドレス
差分データを計算するデータの間隔
差分データの間隔のためのカウンタ
コマンドワード
フィルタ1のためのカウンタ
エラー回数のカウンタ
ワーニング、エラーのモニタ
ロードエンベロープのモニタ
セ ン サ 本 体 内 蔵 の R O M の バ ー ジ ョ ン No.
レ シ ー バ ボ ー ド R O M の バ ー ジ ョ ン No.と 日 付
セ ン サ 本 体 の シ リ ア ル No.と モ デ ル No.
センサ本体の校正日
センサに採用されている単位系
セ ン サ の A/D変 換 器 の b i t 数
センサが送信可能なチャンネルのビットマップ
センサの高さ
43
5
6
6
6
7
7
6
7
7
8
8
8
8
9
9
9
10
10
10
10
11
11
11
12
12
12
12
13
13
14
14
14
14
コマンド一覧
--
コマンド
メモリリード
メモリライト
ビットセット
ビットリセット
座標変換
0上位
1
2
3
4
5
オフセット選 択
6
セットオフセット
リセットオフセット
セットベクトル
セットフルスケール
リセットピーク
リードピーク
7
8
9
10
11
12
0下位
−
−
−
−
座標変換
No.
オフセット
No.
−
−
軸
−
−
−
1
アドレス
アドレス
アドレス
アドレス
−
2
−
データ
ビットマップ
ビットマップ
−
−
−
入力データ
−
−
−
−
座標変換
テーブル
−
−
−
−
−
−
−
−
−
−
−
−
−
オフセット
−
−
フルスケール
−
−
44
出力データ
データ(com2)
データ(com2)
データ(com2)
データ(com2)
座標変換
No.
オフセットNo.
及 び オフセット
オフセット
ベクトル軸
最大、最小
最大、最小
用語の説明
0x0406
1 0 進 数 1 0 3 0 の 1 6 進 表記
ADC
A /D 変 換 器 : セ ン サ に 内 蔵 さ れ た 歪 ゲ ー ジ か ら の ア ナ ロ グ 電 圧 を
DSPで処理可能なデジタル信号に変換するためデバイス。
ビットフィールド
個 々 の ビ ッ ト が そ れ ぞ れ 異 な っ た 意 味を も つ デ ー タ フ ィ ー ル ド 。
バイト
8ビットデータ。
Fx、Fy、Fz
各々X方向、Y方向、Z方向の力を示す。
GE
”大なりイコール”の意味。
LE
”小なりイコール”の意味。
lsb
Least Significant Bit: ビ ッ ト 0 ま た は 2 進 値 0 の ビ ッ ト で す 。
LSB
Least Significant Byte: 複 数 バ イ ト デ ータ で 、 最 小 の 値 を 有 す る
バ イ ト を 示 す 。 1 0 進 法 を 例 に とる と 、 1 2 3 4 の L S B は 4 。
LSW
Least Significant Word: L S B 参 照 。
msb
Most Significant Bit: l s b 参 照 。
MSB
Most Significant Byte: L S B 参 照 。
MSW
Most Significant Word: L S B 参 照 。
Mx、My、Mz
各々X軸、Y軸、Z軸まわりのモーメントを示す。
ロボット側の視点
本 力 セ ン サ の 座 標 系 は 、 セ ン サ の ツ ール 側 が 固 定 さ れ た と み な し 、
力 は ロ ボ ッ ト 側 か ら 加 え ら れ る とし た 時 右 手 の 法 則 に し た が う よ う
に配向している。これをロボット側の視点と呼ぶ。
ツール側の視点
力 セ ン サ の ロ ボ ッ ト 側 が 固 定さ れ 、 力 は セ ン サ の ツ ー ル 側 か ら 加 え
られるとした時の視点。この視点を用いると、本センサは左手系座
標 と な る 。 こ れ を 変 更 す る 必 要 が あ る 時 に は 座 標 変 換 の nagate を
使用する。
V1、V2
Vector1及びVector2の省略形。
ワード
16ビットデータ。
--
45
処理速度について
IFSレシーバーボードには、非常に高性能なDSP(デジタル信号プロセッサー)が使用
されています。しかし、このチップにも、能力の限界があります。したがって、いくつかの
データ数値を用い計算によって妥協点を見出しています。この章では種々のデータ計算を行
ったときの周波数について詳しく述べています。これらの速度に関する詳細はデータを取り
扱う上で有用になります。
全ての計算周波数はセンサーのデータ速度に依存します。標準センサーのデータ速度は8k
H z で す 。こ こ で は 計 算 周 波 数 を セ ン サ ー の 速 度 (bandwidth:帯 域 幅 )に よ っ て 表 し ま す 。例 え
ば 標 準 の セ ン サ ー に お い て 1/2 bandwidth は 4 k H z で す 。
センサーデータは全帯域幅において干渉除去が行われオフセットが除去されています。フィ
ルタ1とピークデータでも全帯域幅で計算がされています。レイトデータはユーザの設定し
たパラメータに従ってセンサー速度の1/x(x:1∼16384)で計算されます。従っ
てレイトデータのパラメータに1を設定した場合には全帯域幅において計算されることにな
り ま す 。saturation status bit は 全 帯 域 幅 で モ ニ タ 出 来ま す が 、そ の 他 の デ ー タ は そ れ よ り も 小
さい帯域幅で計算されます。
ロードエンベロープの閾値はセンサー速度の1/4で監視されます。フィルタデータはその
前 段 階 の フ ィ ル タ デ ー タ の 1 / 4 帯 域 幅 で 計 算 さ れま す 。
フィルター1
フィルター2
フィルター3
フィルター4
フィルター5
フィルター6
-
1/1 bandwidth
1/4 bandwidth
1/16 bandwidth
1/64 bandwidth
1/256 bandwidth
1/1024 bandwidth
それぞれの合力はそれぞれのデータから計算しています。合力データ自体にはフィルタをか
けていませんがフィルタをかけたデータを用いて合力を計算しています。
フィルタ0の合力
フィルタ1の合力
フィルタ2の合力
フィルタ3の合力
フィルタ4の合力
フィルタ5の合力
フィルタ6の合力
-
1/2 bandwidth
1/4 bandwidth
1/16 bandwidth
1/64 bandwidth
1/256 bandwidth
1/256 bandwidth
1/1024 bandwidth
ユーザーはDSPに対し自由に種々の命令を課すことが出来るので、DSPに対して重い負
荷 に な る 可 能 性 が あ り ま す 。2 つ の 主 要 因 は rate command と ロ ー ド エ ン ベ ロ ー プ で す 。2 番
目に大きな影響を与えるのはホストがDSPからデータを読み出す際にDSPを占拠する時
間 で す 。 ホ ス ト が command_word_0 が 0 に 変 化 す るこ と を 高 速 度 で モ ニ タ し た り 、 他 の 用 途
でDSPのバスを長時間占拠するとDSPの計算速度は遅くなります。正常な使い方をすれ
ばこのような原因による速度低下は起こりませんが、非常に早いホストマシンでDSPにア
クセスし続けた場合に問題となり得ます。
--
46
count_x(p.12)の 変 化 に よ っ て D S P の 機 能 し てい る 速 度 を 確 認 す る こ と が 出 来 ま す 。count_x
はDSPがジョブキューをサーチしたりすべきことが無いことを確認する毎に増加します。
各 デ ー タ パ ケ ッ ト に お い て count_x が 少 な く と も 1 増 加 し た こ と を 確 認 す る こ と に よ り 、 全
てのタスクが完了したことを確認できます。従って8kHzの標準センサの場合100%の
能 力 が 維 持 さ れ て い れ ば 1 秒 あ た り に count_x は 8 00 0 以 上 増 加 し ま す 。
ソ フ ト ウ ェ ア バ ー ジ ョ ン 2.0 の 場 合 count_x の 1 カ ウ ン ト に は 通 常 約 5 .4 μ S の 空 き 時 間
があります。従って1秒間につき5.4μS*カウント周波数の時間を他の作業に割り当て
る こ と が 出 来 ま す 。 一 方 、 rate の 処 理 に は 一 回 当 た り 約 3 . 3 μ S 、 ロ ー ド エ ン ベ ロ ー プ の
処理には一回当たり約0.6μSの時間を要します。
例1
標 準 の 8 k H z セ ン サ に お い て あ る 条 件 下 で count_x は 約 2 0 0 0 0 H z で カ ウ ン ト さ れ て
いると仮定します。この場合には(20000Hz−8000Hz)*5.4μSすなわち
1秒間に64.8mSの時間を他の作業に割り当てることが出来ます。これを全てロードエ
ンベロープの処理に割り当てた場合、一つの閾値につき(0.6μS*2000Hz)すな
わち1秒あたり1.2mSを必要とするので、最大54(64.8/1.2)の閾値を設定
できることが計算できます。
例2
標準の8kHzセンサでレイトを1/800に設定し、ロードエンベロープを使用しなかっ
た 場 合 count_x の 実 測 値 は 約 3 0 5 0 0 H z で し た 。 こ の レ イ ト を 1 / 1 に 変 更 し た 場 合 の
ロードエンベロープに設定できる閾値の最大値を計算します。1秒あたりに作業できる時間
は(30500Hz−8000Hz)*5.4μS=121.5mSです。レイトの設定を
変更することによって必要となる作業時間は799/800*8000Hz*3.3μSで
すから1秒あたり26.4μSを要することになります。従って残された作業時間は1秒あ
たりに124.5−26.4=95.1μSと言うことになります。例1でも述べたとおり
閾値1点につき1秒あたり1.2mSを必要とするので95.1/1.2=79が設定でき
る閾値の最大値です。
こ れ ら の 例 は p.14 に 述 べ た 5 0 以 上 の 閾 値 の 使 用 を 推 奨 す る と い う 意 味 で は あ り ま せ ん 。し
かし個々のアプリケーションに適した条件(特にレイト計算を必要としない場合)において
は恐らくこれ以上の閾値を設定できることになります。
--
47