ページへ戻る

− Links

 印刷 

BTE083 FDIII-HC のソース :: Besttechnology

knowledge:BTE083 FDIII-HCのソース

« Prev[3]  
TITLE:FDIII-HCマニュアル
#norelated
#contents
[[ショップページへ>http://www.besttechnology.co.jp/modules/onlineshop/index.php?fct=photo&p=72]]
**概要 [#tb847e68]
本製品はSAM7S I/Oボードの後継としてデザインされ、従来オプションとなっていた無線やマンマシンI/FさらにmicroSDカードスロット、RS485とTTL I/Fによるラインナップの分離といった煩わしさを解消し、更に加速度センサを装備する事で移動検出といったアプリケーションに適用しやすくしたハイパフォーマンスコントローラです。

FREEDOMシリーズにも使用されるDynamixel AX-12+やRX-28を制御するためのAPIが提供され、複雑な多軸ロボットを構成する事が簡便に行う事ができます。

また、単体でDynamixelシリーズとPC間のI/F変換としても機能しますので、PCからUSBないしBluetooth経由でIDの変更やその他パラメータの調整等にも使用できます。

**基本仕様 [#e5a81ed1]
|商品番号 |BTE083 |
|リビジョン |E092&br;E092B&br;E092C (現行)&br;E092D |
|動作温度 |0~+50℃ |
|外部電源 |電源電圧範囲:DC7.2V~DC26V&br;絶対最大定格電圧:DC30V&br;最大スイッチング電流:60A(E092D), 50A(E092C), 30A(E092, E092B) |
|搭載主要機能 |E092,E092B:AT91SAM7S512(48MHz)&br;E092C:AT91SAM7S256C(48MHz)&br;E092D:AT91SAM7S256D(48MHz)&br;3軸加速度センサ, Bluetooth(ZEAL-C01), ブザー, プッシュスイッチ, DIPスイッチ, microSDスロット, Dynamixel RS485 I/F x4, Dynamixel TTL I/F x5, モニタLED x3, JTAGコネクタ, 電源スイッチ, 電源コネクタ, USB miniBコネクタ |
|寸法 |W74×D40×H14mm (±0.5mm)|
|環境配慮 |RoHS準拠, 鉛フリー半田 |
|付属品 |USBケーブル&br;電源コネクタセット&br;・ハウジング [[JST VHR-2N>http://www.jst-mfg.com/product/pdf/jpn/VH.pdf]] x1&br;・コンタクト [[JST SVH-21T-P1.1>http://www.jst-mfg.com/product/pdf/jpn/VH.pdf]] x2 |

**外観 [#ubb4a347]
***Rev. E092C [#s685f8ed]
| TOP | BOTTOM |
| #ref(E092C_TOP.png,40%) | #ref(E092C_BOTTOM.png,40%) |
#ref(E092C_LAYOUT.pdf)

***Rev. E092,E092B [#r5459330]
| TOP | BOTTOM |
| #ref(E092_TOP.png,40%) | #ref(E092_BOTTOM.png,40%) |
#ref(E092_LAYOUT.pdf)

**回路図 [#wcfc29ee]
***Rev. E092D [#db75e59b]
#ref(E092D_SCH.pdf)
-BluetoothモジュールとしてZEAL-C02を採用

***Rev. E092C [#oaed0ba6]
#ref(E092C.pdf)
-CN14は出荷時からコネクタを装備
-CN16はランドのみ

***Rev. E092,E092B [#i008fb8b]
#ref(E092.pdf)
-CN17(microSDスロット)はボード裏面に装備
-CN15にはZEAL-C01が装着済
-CN2, CN3はCN1と排他のため未装着
-基板に黄色い丸シールが貼られたものは、R7を120Ωから10kΩに換装済み(R7はRS485のターミネータだが、抵抗値が低いと若干通信の不具合を生じるため) [2010/9/15]

**I/Oボード各機能の詳細 [#m4f08258]

***CN1 [#vfa02328]
[[JST B2PS-VH>http://www.jst-mfg.com/product/detail.php?series=262]]

電源供給用コネクタで、電源スイッチ回路を介してCN4~CN12と5V DCDCコンバータに供給されます。SW1にてそれらデバイスへの電源供給をON/OFFできます。~
なお、CN1に何も接続せずUSBコネクタにPCを接続した場合、CN4~CN12へは電源が供給されず、搭載されたマイコンとその周辺回路のみが動作します。

***CN4~CN8 [#d0c3107d]
[[MOLEX 22-03-5035>http://www.molex.com/molex/products/datasheet.jsp?part=active/0022035035_PCB_HEADERS.xml&channel=Products&Lang=ja-JP&lang=ja-JP]]

TTL I/Fを搭載したDynamixelシリーズ用のコネクタです。CN1から供給される電源がスイッチ回路を介して接続されます。

***CN9~CN12 [#ld45ce7b]
[[MOLEX 22-03-5045>http://www.molex.com/molex/products/datasheet.jsp?part=active/0022035045_PCB_HEADERS.xml&channel=Products&Lang=ja-jp]]

RS485 I/Fを搭載したDynamixelシリーズ用のコネクタです。CN1から供給される電源がスイッチ回路を介して接続されます。

***CN13 [#i4635430]
USB Mini-Bコネクタです。USBバスパワーによりマイコンとその周辺回路への電源が供給できますが、CN4~CN12への電源供給は行えません。

***CN14 [#u3de666f]
[[B4B-EH>http://www.jst-mfg.com/product/detail.php?series=58]]

DBGUコネクタ。主にLCDの接続を目的とします。

***CN15 [#bf0897cc]
ZEAL-C01が装着されます。~
取り外してはなりません。

***CN16 [#me2d411a]
E092,E092Bに限り[[BTE067B TINY JTAG-ICE2>BTE067B]]を[[BTE066 JTAG ICE変換ケーブル>http://www.besttechnology.co.jp/modules/onlineshop/index.php?fct=photo&p=42]]を介して接続します。E092C以降からは装備されません。~
マイコンに予め搭載されたブートローダを使用せず、ユーザ自身により全ての制御プログラムを作成したり、ICE等によりデバッグを行う場合に使用します。

***CN17 [#ge06e918]
裏面に配置されたmicroSDスロットです。

***SW1 [#kd2ee8d5]
CN1からの電源供給をON/OFFします。~
なお、CN13(USBコネクタ)とPCをUSBケーブルで接続した場合は、CN4~CN12への電源供給以外はSW1と連動せず、搭載されたマイコンは動作し続けます。

***PB1 [#w1c49da8]
押下しながら電源をONにすると、ブートローダが必ず設定モードになります。~
アプリケーションプログラムにおいてはON/OFF状態を取得できます。

***DIP1 [#w57f2b45]
E092,E092Bは4ビットの鍵盤型DIPスイッチ、E092C以降はロータリーDIPスイッチが装備されます。~
ブートローダでは使用されず、アプリケーションプログラムにて入力状態を取得できます。

***DIP2 [#f954a543]
E092,E092Bの一部に装着されます。E092C以降からは装備されません。2ビットのDIPスイッチで、ZEAL-C01のモードを設定します。なお、本製品においてはZEAL-C01のモードをマイコンから直接制御するため、本ディップスイッチは両ビット共にOFFにしておく必要があります。

***LED1 [#nf2bb473]
電源がONになると赤色に点灯します。

***LED2 [#b5d2a4f4]
ブートローダでのコンソール操作、及びアプリケーションプログラムにより橙色に点灯します。

***LED3 [#xe5dc591]
Bluetoothによる無線接続が完了すると緑色に点灯します。

**各機能の詳細 [#j58996d5]
***電源 [#me4efb0e]
電源の入力方法は3つあり、各々目的が異なります。
-CN1(外部電源装置)~
外部の電源装置からDC7.2~26Vの電源を接続し、本ボード上の機能全てと、CN4~CN12に接続されるDynamixel等への電源供給が行えます。SW1と連動してボード上及びCN4~CN12へ接続される電源がON/OFFできます。
-CN13(PCからのUSBバスパワー)~
電源が入ったPCとUSBケーブルで接続すると同時に本ボード上のマイコン・無線機・CN4~CN12に接続されたシリアルI/Fに電源が供給されます。SW1とは連動せず、電源供給が常時行われます。
-CN1とCN13両方~
電源電圧が高い方が優先される回路となっています。両社を接続したとしても大抵の場合はCN1からの電源が優先されることになります。~
なお、CN1からの電源供給が先に行われている状態でUSBケーブルを接続すると、場合によってはブートローダが機能しない事があります。これは既にユーザプログラムが書き込まれている場合はブートローダのコマンドモードを起動するよりもユーザプログラムの起動を優先するためです。

***USB [#jb39f86d]
PCのUSBバスパワーでボード内の電源供給を行う他に、PCとマイコンとの有線による唯一の通信手段を提供します。~
PCとUSBケーブルで接続し、予め書き込まれたブートローダのコマンドモードが起動すると、PCからは増設シリアルポートとして見えます。

***プッシュスイッチ(PB1) [#vbd825b5]
ブートローダのコマンドモードに確実に遷移させるには、USBケーブルが抜かれた状態かつ電源がOFFの状態で、PB1を押しながらUSBケーブルを接続ないし電源をONします。ブートローダがコマンドモードに入ると、ピロッ♪とブザーが短く鳴りLED2が一瞬点灯しますので、この時点でPB1を放します。~
また、ユーザプログラムが実行されている間は、APIにてPB1の状態を取得する事ができるだけで、ブートローダのコマンドモードとの相関はありません。

***ブートローダ [#g271227d]
****FDIII-HC ブートローダのアップデート [#k87c4f80]
本ドキュメントではブートローダのバージョンが2.3であることを前提に記述しています。異なるバージョンが適用されている場合は、次の手順に従ってブートローダを最新のバージョンに更新してください。
+アップデートファイルの入手~
予め現在適用されているブートローダのバージョンを確認しておきます。バージョンの確認はブートローダのコマンドモードで'?'を入力すると表示されます。
--現在のブートローダがVer1.0~Ver1.9の場合~
以下のURLよりZIP形式で圧縮されたアップデートファイルをダウンロードします。なお、このファイルはV2.0以降のバージョンからV2.3にアップデートする場合は利用できません。~
[[FDIII-HC_Bootloader_update_v1.9_to_v2.3.zip:http://www.besttechnology.co.jp/download/FDIII-HC_Bootloader_update_v1.9_to_v2.3.zip]]~
ダウンロードしたZIPファイルを解凍し、同梱される FDIII-HC_UpdateV1.9ToV2.3.bin を任意のフォルダにコピーします。
--現在のブートローダがVer2.0~Ver2.2の場合~
以下のURLよりZIP形式で圧縮されたアップデートファイルをダウンロードします。なお、このファイルはV2.0よりも前のバージョンからV2.3にアップデートする場合は利用できません。~
[[FDIII-HC_Bootloader_update_v2.3.zip:http://www.besttechnology.co.jp/download/FDIII-HC_Bootloader_update_v2.3.zip]]~
ダウンロードしたZIPファイルを解凍し、同梱される FDIII-HC_UpdateToV2.3.bin を任意のフォルダにコピーします。
+アップデートファイルの転送~
FDIII-HCをPCに装着しブートローダを起動します。SIMPLE TERMでFDIII-HCの仮想COMポートを開き、ブートローダのコマンドモードになっていることを確認します。~
'w'コマンドを入力した後'y'を入力し、ブートローダをアプリケーションプログラムの受信待機状態にします。
 --< FDIII Ver.2.1 by BestTechnology >--
 >w
  START UPLOAD...
  ARE YOU SURE? (Y/N) y
次にSIMPLE TERMの転送メニュー→ファイル送信をクリックし、先に解凍した bin ファイルを指定して転送を開始します。
  <SUCCESS>
 >
SUCCESSの文字が表示されたらアップデートプログラムの転送は完了です。
+アップデートプログラムの実行~
アップデートプログラムはユーザプログラムとして提供され、ブートローダから実行されない限り更新は行われません。アップデートプログラムの転送が完了したら'g'コマンドを入力し、アップデートプログラムを実行させます。~
しばらくしてFDIII-HCからアラーム音が発せられLEDが点滅すれば、アップデートプログラムが実行されている状態となります。SIMPLE TERMのターミナルウィンドウには以下の表示がなされます。
  Push space key to update FDIII-HC bootloader v2.3
ここでスペースキーを押すとアップデート処理が開始され、それ以外のキーを押すとアップデートがキャンセルされます。~
スペースキーを押すと以下の様なメッセージが順に表示され、成功すれば新しくなったブートローダの起動メッセージが表示されます。
  Push space key to update FDIII-HC bootloader v2.3
  Start to burn ....success
  Verifying ...........................................succcess
  Please unplug USB cable ...
USBケーブルを抜き差しし、SIMPLE TERMのターミナルウィンドウに以下のメッセージが表示されたらアップデートは成功しています。
 --< FDIII Ver.2.3 by BestTechnology >--
 >
+Bluetoothの設定~
ブートローダを更新するとBluetoothの諸設定が初期化されます。Bluetoothを使用する場合は再度必要な設定を行ってください。

更新内容:~
V2.3 (2011/07/14)
-Rev.Cの基板に適用したAT91SAM7S256に伴うコードサイズの最適化
-ユーザアプリの起動アドレスを元に戻す(0x106000)
-WDTの活性化(タイムアウトは約10秒)
-Bluetoothモジュールとの通信タイムアウトを追加
-microSDカードからユーザプログラムを自動ロードする機能を追加
-不揮発メモリ領域を拡大

V2.2 (2011/04/13 未リリース)
-コードサイズ肥大に伴うユーザアプリの起動アドレスを変更(0x108000)
-Bluetoothモジュールとの通信機能を見直し
-microSDカードからユーザプログラムをロードする機能を追加
-ブートローダで使用する不揮発メモリ領域を追加~

V2.1 (2011/3/23)
-USBの接続条件を追加

V2.0 (2010/12/13)
-ユーザアプリの起動アドレスを変更(0x106000)
-Bluetoothモジュールに設定できる内容を増強 (認証・検索のON/OFF)
-接続性の向上を目的としたUSBドライバの更新 (それに伴いユーザプログラムのブートアドレスが変更)

****使用方法 [#rac1a119]
USBないしBluetooth経由で本装置を操作するための専用プログラムが予め搭載されており、ユーザプログラムの転送やDynamixel用ハブ、Bluetoothの設定等をシリアルターミナル経由で行う事が出来ます。~
ユーザプログラムが書き込まれていないFDIII-HCであれば、SIMPLE TERMで該当のポートを開き、ブートローダのコマンドモードに入ると以下のメッセージ及びプロンプトが表示されます。
 --< FDIII Ver.2.3 by BestTechnology >--
 >
もしこのメッセージが表示されない場合は、コマンドモードではなくユーザプログラムに実行が遷移していると思われますので、[[こちら>#vbd825b5]]のPB1を押しながらという手順でコマンドモードに入ります。

コマンドモードで使用できるコマンドは'?'を入力すると表示されます。
 >?
 --< FDIII Ver.2.3 by BestTechnology >--
  [w]:HOST FILE UPLOAD [g]:BOOT [i]:FLASH INFO [e]:ERASE [b]:BLUETOOTH
  [p]:SD FILE LIST [m]:SD FILE UPLOAD [d]:BT TO DX BAUD
 >
-w (UPLOAD)~
FDIII-HC用にコンパイルされたユーザプログラムをフラッシュROMに転送するモードです。ダウンロードして実行出来るファイルは、GCC Developer LiteにてFDIII-HC向けにコンパイルされたバイナリファイルのみです。
-g (BOOT)~
フラッシュROMに転送されたユーザプログラムへ実行を遷移します。ユーザプログラムエリアが消去されていれば実行されません。
-i (FLASH INFO)~
ユーザプログラム用フラッシュROMの状態を表示します。
-e (ERASE)~
ブートローダ本体を除くユーザプログラムエリアに書き込まれたデータを完全消去します。消去したデータは復活させる事が出来ません。
-b (BLUETOOTH)~
Bluetoothの設定モードに遷移します。Bluetooth経由でブートローダのコンソールにアクセスしている場合は設定出来ません。USBケーブルでPCと接続された状態でのみBluetoothの設定変更が出来ます。
-p (SD FILE LIST)~
microSDカード内のファイルを列挙しますが、ファイルの拡張子がbinのみが表示されます。
-m (SD FILE UPLOAD)~
microSDカード内の指定されたファイルをユーザプログラム領域に書き込みます。
-d (BT DX BAUD)~
Bluetoothを介したパケットスルーモード時のボーレートを指定します。

その他にDynamixelコンフィギュレータとして動作するパケットスルーモードを持っています。SIMPLE TERMではなくDynamixel ConfiguratorやUSS3 Configurator、自作のPC上のアプリケーションでポートを開きパケット通信を開始すると自動的にパケットスルーモードへ遷移します。詳細は[[こちら>#z3cf2ad1]]。

***Bluetooth [#d60dee0f]
Bluetoothによるコンソールや無線コントローラに対応しています。出荷時の設定は以下の通りです。~
-サポートプロファイル:SPPのみ
-DTE速度:460.8kbps (FDIII-HC搭載のマイコンとBluetoothモジュール間)
-PINコード:0000 (文字列の'0000')
-認証:あり (V1.8以降からSIXAXISモード以外時に適用)
-暗号化:なし
-デバイス検出への応答:あり
-フロー制御:ハード的に無効
-機器名称:FDIIIHC-xxxxxxx (xxxはシリアル番号)
-パフォーマンスレベル:9 (可能な限り高速動作,省電力に貢献しない)
-接続モード:自動待ち受け

このうち、ユーザ自ら変更できるのは接続モード・PINコード・認証の有無・検出の可否で、ブートローダから選択及び変更ができます。ブートローダからBluetoothの設定を行う場合は、コマンドモードのプロンプトが'>'の状態で'b'を入力します。Bluetoothの設定モードに入ると、プロンプトは'BT'に変わります。この状態で使用できるコマンドは'?'を入力すると表示されます。

 --< FDIII Ver2.3 by BestTechnology >--
 >b
  CONNECTING TO BLUETOOTH MODULE .......
 BT>?
 -- BLUETOOTH CONFIGURATION --
  [o]:SLEEP [w]:MASTER [c]:SLAVE [s]:SIXAXIS [a]:AUTHENTICATION [p]:PIN CODE
  [h]:INQUIRY [i]:info [ESC]:exit
 BT>

-i (INFO)~
FDIII-HCのBluetoothモジュールのMACアドレスと、現在のBluetoothの接続モードを表示します。自動待ち受けの場合は'WAITING MODE'、自動接続の場合は接続先のMACアドレスが表示されます。
-ESC (EXIT)~
Bluetoothの設定モードを抜けます。
-o (SLEEP MODE)~
Bluetoothモジュールを待機状態に設定します。他のBluetooth機器からの検索や接続が出来なくなります。
-w (MASTER MODE)~
自動待ち受けに設定します。他のBluetooth機器から本装置を検索させ、接続させる場合に選択します。~
-c (SLAVE MODE)~
自動接続に設定します。本装置から他のBluetooth機器を検索及び選択、もしくは直接MACアドレスを入力して自動的に接続させる場合に選択します。
 BT>c
  SEARCHING...
  0: INPUT MAC
  1: 001122334455 (RC100B)
  2: 5566778899AA (HOGEHOGE)
  3: BBCCDDEEFF00 ()
  OTHER: exit
  NO =
接続先がSPPに対応している必要があります。なお、接続先がPINコードを要求する場合はPINコードを合わせておく必要があります。~
また、[[FREEDOM Jr.III Wireless Controller>BTH052]]からFDIII-HCへ接続させる場合は本モードを使用し、PINコードは'0000'に設定してください。
-s (SIXAXIS MODE)~
PlayStation®3用のワイヤレスコントローラであるSIXAXISないし[[DUALSHOCK®3>http://www.jp.playstation.com/ps3/peripheral/cechzc2j.html]]からの接続を待ち受けます。FDIII-HCのBluetoothモジュールが最新版のファームウェアを搭載している場合に限り使用できます。~
使用するSIXAXIS側に予めFDIII-HCに搭載されたBluetoothモジュールのデバイスアドレスを設定しておく必要があります。SIXAXISの設定変更に関しては[[こちら>SIXAXIS]]を参照ください。
-p (PINコード設定)~
PINコードを設定します。現在設定されているPINコードが表示されるので、最大16文字までの0から9の任意の数字を入力します。未設定は許容しません。
-a (認証の有無)~
PINコードを使用して認証を行うか否かを設定します。'a'を押す度にON/OFFがトグルします。
-h (検索の可否)~
他のBluetooth機器から本装置の検索を許可ないし禁止します。'h'を押す度にON/OFFがトグルします。

**開発環境 [#ae46f693]
***GCC Developer Lite [#m2c7408b]
GCC Developer Liteの詳細については[[こちら>GCC Developer Lite]]。~
フルインストールないしFreedom IIIで使用を選択する事で必要なコンポーネントが自動的にインストールされます。~
主要なコンポーネントを簡単に紹介します。
-''[[GCC Developer Lite>GCC Developer Lite#GCCDevL]]''
~ソースプログラムを編集するためのテキストエディタとその他のツールを起動するためのランチャ機能を有する。
-''[[FLASH WRITER>GCC Developer Lite#FW]]''
~ターゲットのフラッシュROM等へコンパイルされたプログラムをSAM-BAないしCOMポート経由で書き込む。~
USB等で提供されるCOMポートの動的な検出と、COMポートを使用する弊社ツールとの排他制御機能を持つ。
-''[[SIMPLE TERM>GCC Developer Lite#STERM]]''
~汎用シリアルターミナル。簡易的なTELNETクライアントとしても機能する。~
USB等で提供されるCOMポートの動的な検出と、COMポートを使用する弊社ツールとの排他制御機能を持つ。
-''ARMGCC''
~ARMコア向けC/C++言語向けのコンパイラ。出来る限り最新のパッチを適用しているため、時に互換性を失う。
-''デバイスドライバ''
~Atmel社提供のSAM-BA用USBドライバと、弊社提供のUSB CDCエミュレーションドライバ。
-''[[OpenOCD]]''
~TINY JTAG-ICE2の制御を行うデーモン。JTAGを使用する場合は全て本デーモンを仲介する。
-''ターゲットファイル''
~マイコンの内蔵ペリフェラルを定義したヘッダファイルやUARTを簡便に使うためのAPI、USBをシリアルポートとして使用するためのAPI、GDBにてデバッグする際に使用する初期化ファイル、シリーズ毎に異なるメモリマップを定義したリンカスクリプトファイル、スタートアップルーチンを含む。基本的にコンパイル済みライブラリとしてソースとリンクして使用する。

****ターゲットファイル [#l9fe78a0]
[[GCC Developer Lite>GCC Developer Lite]]ではFDIII-HC用の設定を備えています。~
#ref(GDL_CompileOption_TargetList.png)
以下にFDIII-HCに対応した設定リストの一覧とその設定における機能を紹介します。
-''FREEDOM III library for FDIII-HC''
~FREEDOMとして複数のアクチュエータを取りまとめるモーションAPI・非同期にDynamixelとの通信を行うインストラクションAPI・簡易タスク管理API・モーションデータ管理API等がライブラリとして提供される。~
~ビルドするとブートローダにてマイコンのフラッシュROMへ転送するための.bin(バイナリ)ファイルが作られる。~
ビルドが成功すると、STERM.exe(SIMPLE TERM)の起動を促される。

****SIMPLE TERMとブートローダ [#FDIII_BL]
ブートローダはJTAGやその他の特殊なI/Fを使用せずとも、USBないしBluetoothを使用してマイコンのプログラム書き換えや操作を行う事が出来ます。~
ブートローダを使用して動作するプログラムが構成できる設定リストは以下の通りで、これ以外の設定リストで構成されたプログラムをブートローダで転送しても動作しません。
-FREEDOM III library for FDIII-HC

マイコンボードは出荷時にUSBをコンソールとして構成されたブートローダが書き込まれており、PCとマイコンボードをUSBケーブルで接続する事で使用可能となります。~
USBを仮想シリアルポートとして認識させるためのPC用デバイスドライバは、[[GCC Developer Lite>GCC Developer Lite]]をインストールした際にWindowsのシステムフォルダにコピーされます。USBケーブルでFDIII-HCとPCを接続するとデバイスドライバを要求されますが、自動検索させる事で自動的にインストールが行われます。~
インストール後、新しいCOMポートがWindowsのデバイスとして追加され、SIMPLE TERMから該当するCOMポートを選択(COMポート番号はPCの環境によって変わるが、デバイス名に「AT91 USB to Serial Converter」が表示されたポートを選択)しオープンするとブートローダの各種コマンドが使用可能となります。その他の設定は以下の通りです。~
 Baudrate:ここでは意味を持たないので何でも構わない
 Databits:8
 Stopbits:1
 Parity:Non
 Flow Control:Non
 Protocol:Xmodem
#ref(AT91SAM7_BL_COM.png,100%)

Bluetoothで接続する場合は、予めPCとFDIII-HCをペアリングしておく必要があります。PCのBluetoothに関してはWindowsのバージョンやアプリケーションに大きく依存する部分がありますので詳細は割愛しますが、PCとFDIII-HCをペアリングする事でPC上に仮想COMポートが増設されますので、そのポートをSIMPLE TERMで開く事でブートローダのコンソールへ同様にアクセスする事が可能です。

先の設定リストでソースプログラムをコンパイルし成功するとSTERM.exe(SIMPLE TERM)の起動を促されます。「OK」を押してSIMPLE TERMを起動すると、特殊な設定が追加されてSIMPLE TERMが起動します。
-既にSIMPLE TERMが実行中であれば2重に起動しない。
-コンパイル済み.binファイルの情報が渡る(ステータスバーにて確認可)。
-ユーザプログラムを転送する際の手順を記述したスクリプトファイルが使用できる様になる。

#ref(AT91SAM7_STERM_SCRIPT1.png,100%)

FDIII-HCがブートローダのコマンドモードであれば、「スクリプト実行[STERM FDIII]」をクリックするだけで転送するファイルを手動で選択する事無く転送にかかる処理が全て自動的に行われます。
#ref(AT91SAM7_STERM_SCRIPT2.png,100%)
本機能により、手動で間違ったファイルを選択して転送してしまったり、転送不可能な状態で転送をしてしまうといったミスを軽減する事ができます。

|CENTER:BGCOLOR(red):||c
|&nbsp; :idea:|既にユーザープログラムが書き込まれているFDIII-HCを、デバイスドライバがインストールされていないPCのUSBポートに接続してもCOMポートが活性化しない事があります。&br;ブートローダを確実にコマンドモードにさせCOMポートとして認識させるには、SW1をOFFにした状態でPB1を押しながらUSBケーブルを接続します。|

**FDIII-HC向けターゲットファイル及びライブラリ [#ude1312e]
[[GCC Developer Lite>GCC Developer Lite]]では1つのソースプログラムのみを対象とするため、機能別にソースを分割して編集やコンパイルするといった使い方は出来ません(完全にできないという訳でもありません)。だからと言って全ての機能を一つのソースに記述する事は、プログラムの見通しが悪くなりバグの温床になりかねません。~
そこで、複数のソースに分割する事無くある程度のソースプログラムサイズでコーディングするために、頻繁に使用されるであろう一部の機能が専用のライブラリとして提供されます。~
GCC Developer Liteを標準的な環境のPCへインストールすると、「C:\Program Files\BestTech\GCC Developer Lite\TARGET」フォルダに必要なファイルがコピーされます。必要に応じて本フォルダを参照できますし、ユーザがソースを修正しライブラリを再構築する事も可能です。~
~
FDIII-HCは複数のライブラリを組み合わせて使用するため、実体はかなり複雑になっています。
-''SAM7S用ライブラリ''~
AT91SAM7Sシリーズ共通の内蔵ペリフェラルを簡便に扱う為のライブラリ。~
FREEDOM III Libraryから静的に呼ばれ、本ライブラリ単体で使用するものではない。
-''AT91SAM7Sシリーズ用 TOPPERS/ASP''~
μITRON4.0仕様準拠であるリアルタイムカーネル[[Toppers>http://www.toppers.jp/]] ASPのAT91SAM7Sシリーズ向けベステクカスタム版。OSを搭載してもある程度のリアルタイム性を確保出来る事から採用。~
FREEDOM III Libraryから静的に呼ばれ、本ライブラリ単体で使用するものではない。
-''FREEDOM III library for FDIII-HC''~
Dynamixelを複数使用したアプリケーションを扱うライブラリ。Dynamixelのプロトコルだけでは解決しないモーションの管理・自動実行、各Dynamixelのステータスの読み込み、DUALSHOCK3やRC-100といったワイヤレスコントローラの情報取得等といった機能を提供。~
使用できるAPIは膨大なため、別途[[こちら>FREEDOM III library]]のページにて詳細を公開。

**サンプルプログラム [#m24a02e6]
[[GCC Developer Lite]] Ver.2.4.0.13以降から[[ライブラリ>FREEDOM III library]]の構成が大幅に見直されました。それに伴い旧来DXLIBと称していたライブラリは廃止されましたので、今後それらに依存したサンプルプログラムは[[FREEDOM III Library>FREEDOM III library]]を使用したものに変更されます。~
なお、実行するにあたり必要な情報はソース中のコメントを参照してください。

-FDIII-HC用サンプルプログラム Ver2.0 (2011/7/22)~
#ref(http://www.besttechnology.co.jp/download/FDIII-HCSMPL2.0.zip)

FDIII-HCを使用したアセンブリ製品用のサンプルプログラムは各製品のページにて公開しています。

**その他 [#md0d0106]
***パケットスルーモード [#z3cf2ad1]
PCから直接DynamixelやUSS3へインストラクションパケットを送信して制御する場合は、[[Dynamixelコンフィギュレータ>BTE068#e84cbf19]]ないし[[USS3コンフィギュレータ>BTE082#ya455a85]]を使用する事を推奨しています。これらのコンフィギュレータはPCのUSBポートを介してRS485ないしTTLのDynamixel用のシリアルI/Fへ変換する製品ですが、FDIII-HCも同様の目的で使用する事が可能です。~
本モードは、ブートローダがコマンドモードで起動している際にPCからインストラクションパケットを受信すると自動的に遷移するものです。本モードに遷移した後にブートローダのコマンドモードに戻るには、FDIII-HCを電源リセットするか、USB接続している場合はポートを閉じるか、PB1を押す必要があります。

PCとの接続形態はFDIII-HCのUSBないしBluetoothいずれかを選択できますが、接続形態によって使用できる機能に制限があります。

+USB接続~
PCとFDIII-HCをUSBケーブルで接続した場合は、従来のコンフィギュレータと使い方が全く同様となります。対象のパラメータの変更等はコンフィギュレータソフトウェアを介して該当のCOMポートをオープンすればあたかもコンフィギュレータとして振る舞います。ボーレートに関してもPCから設定したCOMポートのボーレートに合わせてI/Fのボーレートが追従します(Dynamixelのサポートするボーレートのみ)。
+Bluetooth接続~
PCとFDIII-HCをBluetoothで接続した場合は、PCとDynamixel間を完全に無線化しつつ、従来PCからUSBを介して制御していたプログラムをほぼ改造することなく置き換える事が可能です。Bluetooth経由で接続した場合の制限は、COMポートのボーレートを任意に設定してもI/F側のボーレートはブートローダの'd'コマンドで設定された値に固定される点です。~
なお、USB接続に比べて伝達の遅延やパケットのドロップが生じる可能性があります。

« Prev[3]