USBメモリ・シリアルリーダライタ

LF62 USBメモリ専用シリアルリーダライタ

・USBメモリ専用シリアルリーダライタ
・USBメモリのリード/ライトが、簡易なコマンドで実現。
・USBホストもFATファイルシステム不要
・組込ボードからUSBメモリが簡単に使える。

「ミドルハードウェア」LFAシリーズ共通仕様の、市販USBメモリ対応製品です。

専用ソフトウェアにより、USBホスト機能やFATファイルシステムを意識せずに、簡単なコマンドだけでファイルのリード・ライト・イレース等の操作が可能となっています。
USBメモリ以外のメディアも、USB変換アダプタによりご使用いただける場合がございます。
シリアルインタフェース通信速度は最大3Mbpsまで設定可能で、高速転送に対応しています。
本製品にUSBメモリを差してもファイルは自動実行されませんのでウイルス感染の可能性は無く、本製品を経由してパソコンにデータ取り込む事でセキュリティ対策製品としてもご使用いただけます。

※3MbpsはTTLモードの最大転送速度であり、書込み速度ではありません。
※相性等によりご使用いただけないデバイスもございます。

特長

製品の特長

USBメモリはWindows等の汎用OSが動作するパソコンからは簡単に使用できますが、組込機器から使用する為には、とても敷居の高いデバイスです。

まず第1ステップは、物理的にUSBホストインタフェース回路を用意する事ですが、組込用CPUはコストやサイズが優先されて、USBホスト機能が実装されない事が多く、備わっていなければUSBメモリは使用できません。

第2ステップは、仮にUSBホスト機能が備わっていたとしても、今度はそのハードウェアに合わせ、難解なUSBホストドライバをプログラムしなければならない事です。通常はハードウェアマニュアルやメーカーサンプルコードを参考にコーディングを行いますが、USB規格の知識も必要になり、慣れていないと難易度はかなり高いと言えます。

第3ステップは、なんとかUSBホストが動作し、USBメモリがデバイスとして認識できたとしても、その中のファイルはFATファイルシステムで管理されており、これを扱う為のファイルシステムをコーディングする必要があります。こちらはUSBホストドライバ以上にやっかいで、フルスクラッチで作るのは現実的ではない程難易度は高いです。ファイルシステムはミドルウェア製品が多数発売されていますので、現実的にはこれらの製品を使用する事になる場合が多いと思われますが、ライセンスコストがネックになります。

ここまでうまく行ってファイルへアクセスできるようになっても、第4ステップとして、パフォーマンスを出す為のチューニング作業が待っています。USBホストやFATを処理するのは、結構CPUパワーを使うのですが、特にコントロール系の組込CPUは非力で想定していたパフォーマンスが出ない事も多く、結局製品化を断念しなければならない事態も起こり得ます。

当製品LF62では上記の煩雑なステップを踏む必要がなく組み込みに最適です。簡単なシリアル通信コマンドでUSBメモリへファイルの読み書き消去等が行えます。

製品の特長2

● マイコン側でファイルシステムを組込む必要はなく、簡単なコマンドだけで使用する事ができます。
● インタフェースはRS-232CかTTLを選択でき、シリアル通信ポートを備えた各種マイコンボードと簡単に接続する事ができます。
● 接続コネクタはD-Sub 9ピン縦,横、IL-G 6,7ピン(2.5mmピッチのナイロンコネクタ) 等が実装可能で、様々な実装要求に対応可能です。
● USB接続型以外のフラッシュメモリも、市販の変換アダプタを使用すれば CF,SD,MS,SM等のメディアが使用できます。(使用できない製品もあります)

仕様

項目 デバイス 詳細
シリアルコネクタ

T/R  コネクタなし(T:接続はTTL、R:接続はRS232C)
1 IL-G-6P(イエローソフト社互換RS232C)
2 IL-G-6P(TTL)
3 IL-G-7P(RS232C,リセット(オープンコレクタ)入力)
4 IL-G-7P(TTL,リセット(オープンコレクタ)入力)
5 基板直付けスタックピン(RS232C,6ピン)
6 D-sub 9ピンメス横直
7 D-sub 9ピンオス縦

電源部コネクタ

0 なし
1 IL-G-2P(+5V)
2 IL-G-3P(+5Vリセット付き)

USB部コネクタ

0:なし
1:標準Aコネクタ
3:ストレートタイプAコネクタ
4:「標準Aコネクタ」に「後付けフランジ」を追加

リセット回路

0 オープンコレクタ入力
1 +5V電源電圧検出
2 RS232C DTR制御
3 1+2

お知らせ

[2018/0612]

「LF62 取扱説明書」を更新しました。

ダウンロードより最新版をご覧いただけます。


「Q&A」を更新しました。

「FAQ27」、「FAQ28」

●最後に作成したフォルダーまたはファイルがPCなどで見れないといった場合についての

 対応につきまして追記させて頂きました。

ダウンロード

Q&A

[LF62-FAQ1] 存在しないファイルをOPRコマンドでリードオープンした場合の返信は?

この操作をした場合バージョンによって反応が違います。
[Ver 02.12]
アスキーコマンドモード時:”Command Failed(CR)”

バイナリコマンドモード時:”43 46 0D”(CF)が返信されます。

[Ver 03.55以降]
アスキーコマンドモード時:”Invalid(CR)”
バイナリコマンドモード時:”46 49 0D”(FI)が返信されます。

[LF62-FAQ2] ハイパーターミナル使用時に、コマンドが全てBad Commandになる。

ハイパーターミナルの設定、ASCIIの送信:
「行末に改行文字をつける」を選択していると制御コード"LF"([0A]H)が付加されます。
LF62側でコマンドが正しく認識できないので「行末に改行文字をつける」は選択しないでください。

[LF62-FAQ3] データの存在するファイルをライトオープンした場合、そのままデータを書き込むとどうなるのか?先頭から上書き?又は、最後尾に追記?

最後尾に追記されます。上書きしたい場合は、SEKコマンドでシーク量を0としてライトすると先頭から書き込み、結果的に上書きになります。
(07/08/28 ご注意:データが存在しないファイルには、SEKコマンドを使用しないで下さい)
(15/02/10 ご注意:シークコマンドで移動しライトすると、書き終えた位置がファイル終端になります)

[LF62-FAQ4] 電源投入直後は、アスキーコマンドモード?バイナリコマンドモード?のどちらになりますか?

電源投入直後はアスキーコマンドモードです。
(なお、数値設定、数値表示はバイナリ形式となります。)

[LF62-FAQ5] 現在のコマンドモードを確認する方法は?

オンラインコマンド(CR)で確認してください。コマンドモードによって LF62から送信されるプロンプトに違いがあります。
アスキーコマンド:D:\>(\はバックスラッシュ)
バイナリコマンド:>

[LF62-FAQ6] 電源投入後のボーレートは?

9600bpsです。
起動後はボーレート変更コマンドで変更できます。

[LF62-FAQ7] 受信データに改行(LF(0A)h)が付加されている。

ハイパーターミナルの設定、ASCIIの受信:
「受信データに改行文字をつける」を選択していると受信データに制御コード"LF"([0A]H)が付加されます。LF62が送信しているわけではないので注意してください。
特に、バイナリコマンドモードでLF62の返信データをキャプチャするときに「受信データに改行文字をつける」を選択していると"CR"([0D]H)の後に"LF"([0A]H)が付加されてしまいます。

[LF62-FAQ8] ファイル名,ディレクトリ名の長さは?

拡張子を含めて最大11文字まで可能。
【例1123456789123456→12345678.912
(8文字目までがファイル名となり、9文字目以降の3文字が拡張子となります)
【例2123456789.txtx→12345678.TXT
(8文字目までがファイル名、ピリオド以降の3文字が拡張子になります)


【2015/04/16 追記LF62以外で生成されたロングファイルネームは、ショートファイルネームに変換されて扱われます。

[LF62-FAQ9] 同時に2つのファイルをライトオープンできますか?

出来ません。この操作をした場合バージョンによって反応が違います。


[Ver 02.12]:エラーになりません。最後にライトオープンしたファイルが書き込みファイルになります。

[Ver 03.55以降]:クローズしていないファイルがある状態で、別のファイルをライトオープンするとFile Openエラーが返信されます。

[LF62-FAQ10] リードオープンしたファイルはクローズしないで良いですか。

OPRコマンドでリードオープンしたファイルはクローズする必要はありません。


注意:Ver 03.66でアクセス日付を変更した場合は「ライトオープン」→「クローズ」を行ってください。詳細は説明書をご覧ください。

[Ver 03.66以降]:
ファイルの削除、名前の変更の前に、ファイルクローズが必要です。

[LF62-FAQ11] ライトオープンとリードオープンを同時に行う動作は可能ですか?


(例)
既にデータが存在する「A.TXT」をライトオープンして、「B.TXT」をリードオープンし「A.TXT」にデータを追記する操作をした場合。

出来ません。この操作をした場合バージョンによって反応が違います。


[Ver 02.12]:エラーになりません。「A.TXT」をライトした場合、データが途中から消えることがあります。このような操作は行わないで下さい。

[Ver 03.55以降]:既にライトオープンしたファイルが有る状態で、他のファイルをリードオープンするとFile Openエラーが返信されます。

[LF62-FAQ12] RDFコマンドでリードしたとき、ファイルの終わり以降もデータがリードされる。

リードバイト数にファイルのサイズより大きい値を指定すると、USBメモリ内の残りのデータ全てがリードされてしまいます。
このためDIRコマンドでリードするファイルのサイズを取得して、ここで得られたサイズを指定してください。

[LF62-FAQ13] 電源投入後、2つのLEDの点滅がつづいてコマンドを受付けない。

電源投入後LF62に送信許可(nCTS)を与えないとLF62との通信が開始出来ません。

電源投入後に2つのLEDが交互に点滅している時は、nCTSの入力を待っている状態です。
LF62のnCTS端子を、[RS232Cの場合]+3.3v~+15v、[TTLの場合]+0v~+0.8vにするとLEDの点滅は停止します。

[LF62-FAQ14] プロンプトを待たずにコマンドを送信できますか?

出来ません。
コマンドは必ず、プロンプトが返信された事を待ってから送信して下さい。

[LF62-FAQ15] LF62のCTS信号とRTS信号の利用について

LF62のRTS信号はハードウェアフローで使用し、コマンドとは関係なくLF62が通信可能な場合にイネーブルになります。

つまりLF62のRTSがいつ変化しても、その時に通信を停止させるようにプログラムを組む必要があります。
通常は実際にシリアルICへデータを送信している部分でソフト的にLF62のRTSを監視するか、ハード的に対応する事になります。

[LF62-FAQ16] WRFコマンド後の書き込みデータ送信について①

WRFコマンドで書き込みデータサイズを指定すると、LF62はデータを受信する動作に入り指定バイト数を受信するまで一切応答をしなくなります。
フロー制御対応をした上でしたらWRFコマンド後に連続送信することが可能です。

[LF62-FAQ17] WRFコマンド後の書き込みデータ送信について②

書き込みデータの最後に<CR>をつける必要はありません。
書き込みデータが指定サイズに達すると自動的にプロンプトが返信されます。
(例)10バイトのデータを送信する場合
  WRF $000A<cr>1234567890

[LF62-FAQ18] 書き込み中、突然動作しなくなる。USBメモリを変えたら書き込み中に動作しなくなった。

ハードウェアフロー制御が十分に機能しているかご確認ください。
LF62のRTS、CTS信号を折り返してご使用になった場合、
一見すると
動作しているように見えますが暫くすると通信できなくなることがあります。

[LF62-FAQ19] インターフェースをTTLで使用したときの論理の閾値を教えてください。またRESET端子の閾値を教えてください。

閾値は製品毎に0.8V~2.0Vの範囲で規定しています。
L,H各々の状態でこの値からなるべく離れた値でご使用ください。
RESET端子の閾値も上記と同じです。

[LF62-FAQ20] SDBコマンドでボーレートを変更した時のプロンプトの返信間隔の時間はどのくらいですか。

1回目から2回目のプロンプトの間隔は、Ver 03.62ではアスキーモード、バイナリモードとも、およそ50msecです。

[LF62-FAQ21] データをライトするとLED1の点滅が続いていて終了しません。

書き込みバイト数が正しく設定されているかご確認ください。IPAコマンドを使用せずに、アスキー形式で書き込みバイト数を指定してしまっているケースが考えられます。
書き込みバイト数やファイルサイズ表示は、アスキー形式とバイナリ形式があり、どちらかを選択してください。(電源投入後は、バイナリ形式が選択されます)
アスキー形式を選択する場合: IPA コマンドを使用します。
バイナリ形式を選択する場合: IPH コマンドを使用します。

[LF62-FAQ22] パソコンのCOMポートに接続するときのケーブルはクロス/ストレートのどちらですか。

LF62-6-*-*-*、またはLF62-7-*-*-*を、パソコンのCOMポートに接続して使用する際は、ストレートケーブルをご使用ください。

[LF62-FAQ23] 動作中にUSBメモリを挿入すると、下記のような電源投入直後と同様なメッセージが返信されます。

Ver 03.66VDAPF On-Line:
Device Detected P2
No Upgrade
D:\>

LF62-*-*-*-1又は3においてUSBメモリ挿入時に瞬間的な電圧変動が起き、この変動をリセット回路が検出したためにリセットがかかっているものと思われます。
この場合、LF62へ供給してる電源の<+5v>-<GND>間に100uF以上のコンデンサをなるべくLF62の近くに挿入すると改善されます。

[LF62-FAQ24] LED1,LED2の意味

LED1は主に「コマンドレディ」、「コマンド処理中」を表示します。
LED2は主に「USBメモリ挿入検出」を表示します。ただし、以下の様に交互に点滅する場合も有ります。

[電源ON(リセット)の直後] --- LED1:点滅 LED2:点滅(CTS端子が有効になるまで繰り返します。)
[USBメモリ挿入] ---LED1:消灯 LED2:点灯
[コマンドレディ] ---LED1:点灯 LED2:消灯
[USBメモリなし] ---LED1:消灯 LED2:消灯
[USBメモリ用コマンド処理中]--- LED1:点滅 LED2:消灯
[USBメモリが無い状態]--- LED1:消灯 LED2:消灯

[LF62-FAQ25] セキュリティ機能が入ったUSBメモリを使用する事は出来ますか?

LF62ではセキュリティエリアへのアクセスは使用出来ません。

[LF62-FAQ26] 「LF-62テストプログラム」を使用して「ボーレート設定」してもボーレートが9600bps以外に設定できません。


(2011/2/4追記)
パソコンのCOMポートと接続していますが「ボーレート設定」しても、ボーレートが変更できません。

DTR制御線を使用したリセット機能付きLF62(LF62-*-*-*-2または3)を「LF-62テストプログラム」でボーレート設定(変更)を行っても機能しないことがあります。


「LF-62テストプログラム」の仕様により、ボーレート設定(変更)するとCOMポートが一端クローズとなるために、DTR制御線も変化しこのためにLF62がリセットされてしまう為です。「LF62-*-*-*-2または3」で「ボーレート設定」を行う場合は、LF62 Dsubコネクタ 4ピンが未接続のケーブルを作成、使用してください。

(2011/2/4追記)
COMポートが閉じられると、DTR制御線が動作します。LF62-*-*-*-2または3の場合は、この影響でリセット動作している可能性が高い様です。ポートを閉じずにボーレートを変更する様にPC側のアプリケーションを作成してください。

[LF62-FAQ27] USBメモリにライトしたはずのデータが存在しないことがあります。

ご使用のUSBメモリをパソコンで1度フォーマットしてから使用すると改善する事があります。LF62はFAT形式、FAT32形式どちらでも利用可能ですが、USBメモリーによっては推奨する形式をUSBメモリーメーカが定めている場合があります。

(2011/12/21追記)
USBメモリをフォーマットする際は、USBメモリメーカから提供されている専用フォーマットツール
のご使用をお勧めいたします。専用フォーマットツールがない場合は下記の方法をお試しください。

(2011/12/06追記)

(2011/12/21修正)
Windows パソコンでフォーマットする際、「標準のアロケーションサイズ」でフォーマットしても改善しないときは、DOSウィンドウを開き、FORMATコマンドをクラスタサイズを[32K][16K]と指定してフォーマットすると改善する場合があります。


(2018/06/12追記)

「SUD」コマンドをデバイス接続確認後に1回送付して、自動ディスクサスペンド機能を有効にしてください。

サスペンドに入るときにFATの書き戻しが実行されて最後の書込みが反映されます。

[LF62-FAQ28] 最後にライトしたはずのデータが存在しないことがあります。また、LF62から離脱する前はDIRコマンドで存在が確認できていたファイルが離脱させてパソコン等で確認すると存在しません。

USBメモリの構造の影響により、WRFコマンド実行時に小サイズ(例:511バイト以下など)のデータを書き込みした時、最後に書き込んだファイルやデータが保存されないことがあります。回避方法として次の手順をお試し下さい。
       ・
       ・
CLF FILE.DAT (通常のクローズ)
OPW FILE.DAT (問題回避のためのダミーライトオープン)
CLF FILE.DAT (問題回避のためのダミークローズ)
       ・
       ・
通常のクローズの後に再度ファイルをライトオープンし、何もせずにクローズを行うと問題が回避できる場合があります。


(2018/06/12追記)

「SUD」コマンドをデバイス接続確認後に1回送付して、自動ディスクサスペンド機能を有効にしてください。

サスペンドに入るときにFATの書き戻しが実行されて最後の書込みが反映されます。

[LF62-FAQ29] LF62のTTLインターフェース仕様は3.3v系ロジックですが、入力に5v系ロジックを入力しても問題ありませんか?また出力を+5vにプルアップしても問題ありませんか?

入力:5v系ロジックの入力は問題にはなりません。ただし、ロジック出力側のインピーダンスが高い(数百Ω程度以上)場合、入力ピンは3.6v近辺にクランプされます。

出力:プルアップしてもHi出力時は3.3Vレベルにクランプされるので電圧の上昇は期待できません。さらに、プルアップしたことでLow出力時に数100mVの電圧が現れ、0vに落ち切れない現象が出ます。

[LF62-FAQ30] 電源投入直後にUSBメモリを挿入しても、USBメモリを認識しません。また、USBメモリを挿入したまま電源を投入してもUSBメモリを認識しません。

電源電圧の0v→5vへの立ち上げに時間がかかるとUSBメモリの認識が正常に行われません。下記のいずれかの対処方法を検討してください。
1)電源を立上り時間の早いものに変更する。
2)CN5の7番ピンに+5Vが立ち上がるまでアクティブとなるリセット信号(Lowアクティブ)を接続し+5Vが安定するまでLF62をリセット状態に保持する。
3)上記2)が難しい場合、LF62のリセットオプション部(+5V電源電圧降下検出)を実装する。

[LF62-FAQ31] ファイル名に使用できる文字

・英大文字(小文字は大文字に変換されます)
・数字
・次の記号「$%'-_@~`!(){}^#&」

[LF62-FAQ32] WRFコマンドでの書き込み動作には何秒かかりますか?

WRFコマンドにおいて、書き込みデータを送信終えてからプロンプトが戻るまでの時間は定められておらず、USBメモリの品種によっても異なる場合があります。
これはLF62がアクセスしているのは「USBメモリ」内のコントローラであり、「USBメモリ」のフラッシュメモリへのアクセスには直接関与できない構造になっているためです。

なお、何らかの理由で無応答時(※)になった場合のタイムアウト処理は、お客様の装置仕様(何秒待たせられるのか等)からお決めいただくしかございません。
目安としましては、ご使用予定のUSBメモリで同一処理を繰り返し、その返信ワースト時間の10倍以上とされる事をお勧めいたします。
※正常に動作している場合は、無応答になる事はございません。無応答に陥る原因を別途探る必要がございます。

[LF62-FAQ33] ボーレートの設定やコマンドモードの設定の変更値を保存できますか?

本製品に設定値の保存機能はございません。
動作中に変更した設定は、電源再投入または、外部リセット入力をすると初期値に戻ります。

[LF62-FAQ34] 電源電圧範囲

・LF62本体のみの電源電圧範囲は、最大20V、最小3.6Vとなっています。ただし「USBメモリ」は電源に直接接続されますので最大電圧はご注意ください。
・USBメモリを考慮した場合、最大+5.25vが妥当と考えます。
・また「電源+5V検出リセット」付きの場合、電源電圧が+4.75Vより低下するとリセット状態になります。

ページのトップへ