コミュニケーションベース 3912

3912 コミュニケーションベース
1
3912 コミュニケーションベース
山本 幸一 *1
要 旨
3912 コミュニケーションベースは,省エネや食品の安全管理などの用途で活躍する小型
ロガーである,データミニシリーズの記録データをパソコンに取り込むための製品であ
る.ここに製品開発の背景,概要,構成などについて解説する.
1. はじめに
従来の 3911 コミュニケーションベースは,パソ
コンとのインタフェースに RS-232C を用いていた
が,昨今のパソコンの急激な進歩の中で,これに
変わる多くの高速・大容量インタフェースが登場
してきた.USB インタフェースがそれで,今やパ
ソコンの最も標準的なインタフェースとなってい
る.それに伴い旧来の RS-232C を搭載しないパソ
コンも増えてきており,データミニシリーズのお
客様からも USB に対応した製品の要望が多く寄せ
られるようになっていた.
3912 コミュニケーションベースは当社で初めて
の USB インタフェースを持つ製品として開発し,
データミニシリーズのお客様に満足いただくとと
3912 の外観
もに,USB インタフェースに関する製品開発のノ
ウハウを蓄えることができ,他の USB を新規に搭
載する製品開発の道しるべとなることができたと
考える.
3. 機能・特長
(1) USB1.1 インタフェース(12 Mbps)に対応
(2) LCD 表示による現場での簡単な回収データの
2. 設計コンセプト
確認,設定変更が可能
データミニシリーズの設計コンセプトは「シン
プルイズベスト」であり,3912 も同様に操作の容
易さ,小形・軽量を重点課題として開発を行った.
また,お客様の大切な記録データを扱う製品で
あり,記録データの信頼性,長寿命を大きな特長
としている.さらに,従来の 3911 では記録した
(3) 不揮発性メモリへの回収データの保存により,
データの信頼性向上
(4) 電池寿命の向上(パソコン接続時は電池の消耗
なし)
(5) 時計のバックアップ機能の向上(約 12 時間保
持)
データの確認や,データミニへの細かい設定を行
(6) 従来の 3911 の扱いやすさを継承
うためには,必ずパソコンが必要であったが,3912
(7) 現行の PC ソフトとの統合(3911, 3912 両方操
ではデータミニを設置している現場でのデータ確
作可能)
認や設定変更を行うことができるようになった.
*1 計測システム部 第 5 研究室
日 置 技 報 VOL.24 2003 NO.1
2
3912 コミュニケーションベース
4. USB について
供給することができないため,100 mA 以上の消費
USB の特長としては,3 種類のバス速度,低価
電流を必要とするデバイスは接続が確立できな
い.
格,ハブを使った自由なレイアウト,プラグ & プ
3912 の消費電流は最大 98 mA であり,バス電源
レイ,パワーマネージメントが挙げられる.以下
方式のハブが経路に入っていても,同じハブに他
のデバイスが接続されていなければ,問題なく接
に USB の概要について説明する.
続が確立される.
4.1 概要
USBにはUSB1.1で規定されているロースピード
4.3 論理層
(1.5 Mbps),フルスピード(12 Mbps)
,USB2.0 で
USB にはコントロール転送,バルク転送,イン
追加されたハイスピード(480 Mbps)の 3 種類の
タラプト転送,アイソクロナス転送の 4 種類のデー
バス速度があり,3912 ではフルスピードを採用し
タ転送方法がある.これらのうちコントロール転
ている.また図 1 のように,USB は一つの USB シ
送の一部について説明する.
ステムの中に複数のホスト(パソコンなど)を入
コントロール転送ではホストとデバイスの最初
れることができず,3912 はデバイス(マウスなど
の接続時に,ディスクリプタという何種類かのレ
パソコンにより制御される機器)として動作して
ジスタをやり取りし,ホストは接続を確立するた
めに必要な情報を要求する.USB では以下の 7 種
いる.
類の情報がデバイス機器固有の値として最低限必
要で,3912 でもこれらの情報をホストに返送して
いる.これらの値によりホスト(パソコン)から
見て世界中で 1 台だけのデバイス機器として認識
される.
「108F(HEX)」
(当社のベンダー ID,
• ベンダー ID:
USB-IF より取得)
「3912(HEX)」
(形名の 16 進表記)
• プロダクト ID:
• バージョン番号:「0100(HEX)」(V1.00,本体ソ
図 1 USB の接続形態
フトバージョン番号の BCD 表記)
• 製造者名:「HIOKI」
「COMMUNICATION BASE 3912」
(製品
• 製品名:
4.2 物理層
USB は物理的には 4 線式のケーブルにより,2 本
は電源と接地のため,2 本は半二重で動作する差動
信号ペアから構成されている.デバイスの電源は
上記 2 本の電源線から取ることも(バス電源方式),
自分自身の電源を使用する(自己電源方式)こと
名の英文表記)
「XXXXXXXXX」
(出荷時に本体
• シリアル番号:
に書き込み,年号 2 桁を含む 9 桁 ASCII)
「49」
(バイナリ数値× 2mA が最大消
• 消費電流:
費電流)
もできるが,3912 ではバス電源方式を採用してい
この他にもバス速度や USB バージョンなど,多
る.ただし 3912 の場合は製品の仕様上単独で使用
くの接続を確立するために必要な情報をやり取り
されることもあり,USB が接続されているかされ
している.
ていないかを認識し,接続されるとバスから電源
を取り,未接続時は内部電池で動作するように電
源をFETにより切り換えて動作している.なおUSB
では最初の接続時にはバスからの電源供給は
100 mA で制限されており,接続後の最初の通信時
にホストからデバイスへ消費電力を問い合わせ,
デバイスの消費電力に応じて,最大 500 mA までの
電源をバスから供給できるようになっているが,
バス電源方式のハブの場合ほとんどが100 mA以上
日 置 技 報 VOL.24 2003 NO.1
3912 コミュニケーションベース
5. 構成
3
5.2 USB 通信部ソフトウェア
ソフトウェア側では,デバイス層,ファンクショ
5.1 ハードウェア
図 2 にハードウェアのブロック図を示す.回路
ン層を担当している.
デバイス層では USB で規定されている表 1 に示
の特長としては USB 接続により供給電源が自動で
すシステム要求(標準デバイスリクエスト)を実
切り換わること,フラッシュ ROM の採用により保
装することにより,デバイス(3912)側の情報(転
存 デ ー タ が 電 池 消 耗 な ど に よ り 消 え な い こ と,
送モードやどの通信パイプを使うか等の情報)を
LCD 表示があることなどである.
ホスト(パソコン)へ伝えたり,初期化動作等の
制御を行っている.標準デバイスリクエストは
USB 必須の実装項目であり,これらが正しく動作
するようにプログラムしないと USB 機器として動
作しないばかりか,ホストの OS の動作までもが不
安定になる.この標準デバイスリクエストの処理
動作を実現するところが,USB 機器固有に必要な
処理と言え,今回 3911 のソフトウェアに追加した
プログラムの大部分を,これらの処理が占めてい
る.
表 1 標準デバイスリクエスト
リクエスト
コード 内容
ClearFeature
1
図 2 ブロック図
デバイス,インタフェース,または
エンドポイントがレポートした機能ステータスを
クリア
GetConfiguration 8
カレントコンフィグレーションの
bConfigurationValue を検索
GetDescriptor
6
標準ディスクリプタを検索
GetInterface
10
指定インタフェースのアクティブな
bAlternateSetting を検索
層(実際のデータのやりとり,機能の実行)に分
GetStatus
0
デバイス,インタフェース,または
エンドポイントの機能ステータスを返す
けられる.
SetAddress
5
このデバイスにアドレスを割り当て
USB の通信は大まかに,インタフェ−ス層(物
理・下位レベルのプロトコル処理),デバイス層
(デバイス定義情報のやりとり),ファンクション
3912 では USB 通信を実現するために,パラレル
バス接続の ML60852A(OKI 製)USB コントロー
ラを採用した.この USB コントローラはインタ
フェ−ス層を担当しており,物理的なパルスの検
出・送出,パケット単位のプロトコル制御(エラー
検出,再送処理),データおよび制御レジスタへの
格納・読み込みを行っている.図 3 に USB 通信の
簡単な論理構成図を示す.
SetConfiguration 9
デバイスのアクティブコンフィグレーションを選択
SetDescriptor
7
デバイスディスクリプタを更新
SetFeature
3
デバイス,インタフェース,または
エンドポイントの機能をアクティブにする
SetInterface
11
インタフェースのアクティブな代替設定を選択
SynchFrame
12
エンドポイントがそのフレームカウンタを始動す
るフレーム番号を検索
ファンクション層は具体的な機能の実現であ
る.使用する送信・受信用パイプ(通信のチャネ
ル)
・転送モード,ホスト側とどのようなデータ形
式・通信プロトコル(上位レベルの)で行うかな
どを定め,それに応じて送受信処理,コマンド処
理,データ送信などを実装する.このファンクショ
ン層の実装はこれまでの RS-232C 等による通信処
理とあまり変わるところはない.
図 3 通信の論理構成
日 置 技 報 VOL.24 2003 NO.1
4
3912 コミュニケーションベース
図 4 USBCheck の表示例
3912 では USB のモードはフルスピード(最大
3912 のソフトウェア開発において,USB の標準
12 Mbps),転送モードとしてバルク転送を使用し
リクエストの対応が正しく行われているか確認す
ている.不定期なデータを,ときには大量に送信
るために,図 4 に表示例を示す「USBCheck」とい
することがあり,データの信頼性が最も高く要求
うツールを使用した.
されるため,バルク転送を選択した.
USB の通信制御の特性に起因するものである
が,デバイス側におけるデータの受信および送信
のタイミングは,ホスト側にて決定されるという
ことに注意しなければならない.デバイス側はホ
スト側からのデータ受信命令を受け取ったときに
データを受信し,データ送信命令を受け取ったと
きだけデータを送信することが許される.これは
RS-232C のハードウェアフローと同様な動作とも
言える.ホストからの要求がなければ送信できな
いため,特に送信処理には注意が必要である.
日 置 技 報 VOL.24 2003 NO.1
3912 コミュニケーションベース
5
図 5 プロトコルアナライザの表示例
また,USB の通信プログラムのデバッグを行う
ためには,プロトコルアナライザは必需品である.
たとえ動作していたとしても,意図した通りの動
きなのかを確認するため,プロトコルアナライザ
を通してデータの流れを確認し,確実にチェック
する必要がある.図 5 にプロトコルアナライザの
表示例を示す.
5.3 LCD 表示
従来の 3911 では LED のみであった表示装置に
代わり,3912 ではドットマトリクス LCD(128 ×
64 ドット)を搭載した.LED では簡単な動作状態,
エラー状態を表現することしかできなかったが,
LCD を付けたことにより図 6 に示すように読み込
んだ記録データの様々な情報をチャネルごとに表
示することや,データミニに対する各種の設定項
目を変更することも可能になった.それに加えて
どんな通信をしているか,どんなエラーが出たか
を文字として表示することができるようにもなっ
た.
図 6 LCD の表示例
日 置 技 報 VOL.24 2003 NO.1
6
3912 コミュニケーションベース
5.4 USB ドライバ
USB のパソコン用デバイスドライバは WDM
(Win32 Driver Model)である.ドライバの作成には
「Windows2000 DDK」と「Visual C++ 6.0」を使用し
た.基本的に Microsoft のバルク転送用サンプル
ソースを参考に作成したが,3912 が突然リムーブ
したとき(パソコンから取り外されたとき)に,パ
ソコン上で警告文が表示されないようにサンプル
ソースを修正した.
なお,
「Visual C++」や「Visual Basic」等から,直
接 3912 のドライバへのアクセスはしにくいので,
アクセス用の DLL を作成した.主な機能は,アク
セス用ファイルのオープン・クローズ,ファイル
(3912USB)へのリード・ライトである.
通常,ファイルをオープンするにはシンボリッ
クリンク名(OS 内部でデバイス固有に関連付けら
れている名前)を作成し,デバイスハンドルを取
得しなければならず,その手順が面倒であるため
DLL 化し API で外部宣言してある.またリード・
ライト処理も受信文字数のチェック処理等を行っ
ているため,関数化している.
今回はドライバに関する理解が十分でなかった
ため,汎用性に欠ける面が多分にある.今後は当
社で統一的なドライバ,アクセス DLL および API
を策定する必要がある.
6. おわりに
3912 発売後,LCD 表示の日本語化や保存データ
のグラフ表示などの要望が挙げられている.この
ような要望に対し,いかにして操作の容易性を犠
牲にせず実現していくかが今後の課題である.
佐藤 達也 *2
参考文献
1) USB Hardware & Software 日本語版,インフォク
リエイツ
2) USB ハード & ソフト開発のすべて,CQ 出版社
*2 技術部 第 2 研究室
日 置 技 報 VOL.24 2003 NO.1