インテリジェントUSBメモリーリーダー/ライター REX60

本製品はDOS互換ファイルシステムを搭載したUSBメモリリーダ/ライタです。FAT12/FAT16/FAT32ファイルシステムを搭載していますので、組み込み機器からでも簡単にUSBメモリを操作することができます。

REX60製品写真

REX シリーズのカスタム化やカスタム製品のご希望を承ります。お気軽にお問い合わせフォームまたはメールにてお問い合わせください。
ご要望・ご予算に合わせた新規商品開発、システム開発、機器修理等を承ります。お気軽にお問い合わせください。

特徴

  • 簡単な操作でUSBメモリ上のファイルの読み書きができます。
  • FAT12/FAT16/FAT32 ファイルシステム互換ですので、本製品で作成したファイルを PC で読み込んだり、PC で作成したファイルを本製品で読み込むことができます。
  • REX45 の通信インターフェース、通信プロトコル、制御コマンドと互換性があります。
  • ファームウェア更新プログラムで、ファームウェアのバージョンアップが簡単に行えます。

リビジョン変更のお知らせ(2021年9月27日)

この度、部品の入手性改善のため、インテリジェントUSBメモリリーダ/ライタ REX60 のリビジョンを変更させて頂くことになりました。rev3.1 の在庫がなくなり次第 新しい rev3.1A の販売になります。基板寸法(コネクタ位置、ネジ穴位置)、コネクタピンアサイン、通信プロトコルは以前と同じで変更はございません。何卒ご了承下さいますようお願い申し上げます。

変更内容

  • MCU を STM32F105 から STM32F405 に変更しました
  • MCU 変更に伴い、消費電流が 65mA 程増えております
  • MCU 変更に伴い、入力信号電圧閾値が変更されております

詳細はREX60rev3.1A 説明書をご参照ください

リビジョン変更のお知らせ(2015年7月)

この度、部品の入手性改善のため、インテリジェントUSBメモリリーダ/ライタ REX60 のリビジョンを変更させて頂くことになりました。2015年7月から出荷する製品のリビジョンは rev3.0 になります。基板寸法(コネクタ位置、ネジ穴位置)、コネクタピンアサイン、通信プロトコルは rev2.x と同じで変更はございません。何卒ご了承下さいますようお願い申し上げます。

変更内容

  • MCU + USB HOST IC の構成から、USB HOST 機能内蔵 MCU に変更しました
  • USB VBUS 制御用FETスイッチが無くなりました
  • インターフェース信号の電圧レベルの互換性を取るため、レベル変換ICが追加しました
  • 基板両端のGPIO機能はなくなりました
  • USBメモリアクセス時の消費電流が40mA程増えております
  • 基板の表面処理を半田メッキから耐熱プリフラックスへ変更されました
  • 通信速度のジャンパパッドの名称が P11->P4, P12->P5 に変更されました
  • RTCクリスタルが表面実装タイプに変更、レギュレータが電流容量の大きな物に変更されました
  • rev3.0のファームウェアのバージョン番号は 6.xxになります
  • RoHS 対応になりました
  • USB のアクセス速度が rev2.x に比べて高速化されています

ご注意

  • 本製品にUSBメモリは含まれません。別途USBメモリが必要になります。
  • 仕様は予告なしに変更する場合があります。

仕様

rev3.1A仕様

対応メディア USBメモリ
Class=08h(Mass-storage)
SubClass=06h(SCSI)
Protocol=50h(Bulk-Only)
インターフェース 調歩同期シリアル 19200bps/38400bps/57600bps/115200bps, 5Vレベル信号
プロトコル テキストモード/バイナリモード
時計 RTC搭載(外部からバックアップ電源を供給)
対応ファイルシステム FAT12/FAT16/FAT32
最大ファイルサイズ 2Gバイト(論理値)
同時オープン可能ファイル数 2
ボード寸法 60.1mm×50.8mm(突起部は含まず)
REX60 rev3.0外形図
電源電圧 5V
消費電流 待機時 110mA
メディアアクセス時 最大655mA程度(使用するメディアによって異なります)
動作温度 0~55℃
付属品 なし
制限 オープン中のファイルを削除、移動した場合の動作は保証されません。
USB メモリ以外のマスストレージデバイス(FDD,メモリカードアダプタ等)の動作は保証できません。
PORTIN, PORTOUTコマンドは使用できません。

rev3.1仕様

対応メディア USBメモリ
Class=08h(Mass-storage)
SubClass=06h(SCSI)
Protocol=50h(Bulk-Only)
インターフェース 調歩同期シリアル 19200bps/38400bps/57600bps/115200bps, 5Vレベル信号
プロトコル テキストモード/バイナリモード
時計 RTC搭載(外部からバックアップ電源を供給)
対応ファイルシステム FAT12/FAT16/FAT32
最大ファイルサイズ 2Gバイト(論理値)
同時オープン可能ファイル数 2
ボード寸法 60.1mm×50.8mm(突起部は含まず)
REX60 rev3.0外形図
電源電圧 5V
消費電流 待機時 45mA
メディアアクセス時 最大590mA程度(使用するメディアによって異なります)
動作温度 0~55℃
付属品 なし
制限 オープン中のファイルを削除、移動した場合の動作は保証されません。
USB メモリ以外のマスストレージデバイス(FDD,メモリカードアダプタ等)の動作は保証できません。
PORTIN, PORTOUTコマンドは使用できません。
その他 RoHS 対応

コネクタピンアサイン

ピン番号 信号
VCC(5.0V)
RXD
RTCバックアップ電源(2.0~3.3V)
4 DSR
5 RESET
6 DTR
7 TXD
8 GND

RS232C-REX60を使用するとREX3Uと同じインターフェイスで利用できます

ダウンロード

REX60取り扱い説明書 136KByte
REX60rev3.0取り扱い説明書 306KByte
REX60rev3.1A取り扱い説明書 302KByte
REXシリーズ操作(コマンド)説明書 368KByte
REX60外形図 35.7KByte
REX60 rev3.0, rev3.1,rev3.1A外形図 98KByte
REX60追加コマンド説明書 98.9KByte
REX60 ver5.09 ファームウェアファイル 99.5KByte
REX60 ver5.10 ファームウェアファイル 99.5KByte
REX60 ver5.11 ファームウェアファイル 99.5KByte
REX60 ver5.12 ファームウェアファイル 99.5KByte
REX60 ver5.13 ファームウェアファイル 99.5KByte
REX60 ver5.15 ファームウェアファイル 99.5KByte
REX60 ver5.16 ファームウェアファイル 99.7KByte
REX60 ver5.17 ファームウェアファイル 100KByte
REX60 ver5.20 ファームウェアファイル 100KByte
REX60 ver5.26 ファームウェアファイル 100KByte
REX60 ver5.29 ファームウェアファイル 100KByte
REX60 ver5.30 ファームウェアファイル 100KByte

ファームウェアの更新には、ファームウェア更新プログラムを使用してください。
REX60 rev3.1Aの更新にはファームウェア更新プログラム Ver1.9以降をご使用ください。

ファームウェアの更新履歴はサポート情報を参照してください。

REX60 rev3.0以降の基板に Ver5.xx のファームウェアを書き込むと正常に動作致しませんのでご注意ください。
REX60 rev3.0, rev3.1 の基板と rev3.1A の基板ではファームウェアが異なりますのでご注意ください。

サポート情報

バージョンアップ履歴

2005/09/16 ver5.09

USB デバイスの電流制限を無くしました。
REX60 ver5.09 ファームウェアファイル(rex60_509.lzh)

2005/11/04 ver5.10

新バイナリモードを追加しました。新バイナリモードを使用すると、通信データ抜け対策や、コマンドの実行時間の影響を受けない通信タイムアウト処理が可能になります。
バイナリモードからテキストモードに戻るコマンド(9Eh)を追加しました。
REX60 ver5.10 ファームウェアファイル(rex60_510.lzh)

2005/12/03 ver5.11

SanDisk製,東芝製メディアで動作しない現象を修正しました。
BulkIn と BulkOut のエンドポイント番号が同じ USB デバイスを正常に制御できないバグを修正しました。
BulkOnly 転送ルーチンのリトライ処理の変更しました。
ライトプロテクトをチェックするように変更しました。
STATUS コマンドの戻り値を拡張しました。
・bit0:メディアの準備が完了(0=NG/1=OK)
・bit1:マウント完了(0=未完了/1=完了)
・bit2:ライトプロテクト(0=書き込み可/1=書き込み禁止)
・bit7:USBメモリの挿抜状態(0=抜けている/1=挿されている)
REX60 ver5.11 ファームウェアファイル(rex60_511.lzh)

2005/12/09 ver5.12

DIR コマンドでルートディレクトリの検索がおかしくなるバグを修正。
REX60 ver5.12 ファームウェアファイル(rex60_512.lzh)

2005/12/16 ver5.13

GETFREE コマンドの上限を 2G に制限しました。
GETFREESEC コマンドを追加しました。2Gバイト以上の容量を取得したい場合は GETFREESEC を使用してください。
REX60 ver5.13 ファームウェアファイル(rex60_513.lzh)

2005/12/17 ver5.14

変更はありません(REX50のみ変更)

2006/01/11 ver5.15

mkdir でディレクトリエントリ作成に失敗した時に空き容量が減ってしまうバグを修正しました
REX60 ver5.15 ファームウェアファイル(rex60_515.lzh)

2006/05/26 ver5.16

UNMOUNT コマンドで、USB メモリ内のキャッシュをフラッシュさせるように修正しました
REX60 ver5.16 ファームウェアファイル(rex60_516.lzh)

2007/05/16 ver5.17

バルクオンリー転送 USB メモリで、「Bulk-Only Mass Storage Reset」コマンド発行後に10msecのウェイトを挿入しました(ADTEC社製 DATASTICK等のUSBメモリが STATUSコマンド、MOUNTコマンドで止まってしまう現象の修正)。
MBR が存在しないメディアで、BPB の検出に失敗する現象を修正しました。
REX60 ver5.17 ファームウェアファイル(rex60_517.lzh)

2007/08/28 ver5.19

変更はありません(REX50-2のみ変更)

2007/09/14 ver5.20

MKDIR コマンドで作成したディレクトリエントリの属性を修正しました(Windowsの CHKDSK で異常になる現象)
REX60 ver5.20 ファームウェアファイル(rex60_520.lzh)

2008/03/24 ver5.26

FAT32 フォーマットされたメディアで、空き容量が無い時に追記した場合にクラスタ番号 7 のクラスタが壊れてしまうバグを修正しました。
REX60 ver5.26 ファームウェアファイル(rex60_526.lzh)

2008/09/11 ver5.29

RTC データ取得時に、1980年~1999年が2080年~2099年と誤って取得してしまうバグを修正しました。
REX60 ver5.29 ファームウェアファイル(rex60_529.lzh)

2009/10/08 ver5.30

"TEST UNIT READY" コマンド発行前に "READ CAPACITIES" コマンドを発行するように修正しました(MOUNT できない USB メモリへの対策)。
REX60 ver5.30 ファームウェアファイル(rex60_530.lzh)

ファームウェアの更新について

ファームウェアの更新は、ファームウェア更新プログラムを使用してください。
ファームウェアの更新には、パソコンと REX60 を接続するケーブルが必要になります。

REX60 rev3.0以降の基板に Ver5.xx のファームウェアを書き込むと正常に動作致しませんのでご注意ください。REX60 rev3.0, rev3.1 の基板と rev3.1A の基板ではファームウェアが異なりますのでご注意ください。

REX60に関するQ&A

REX60で使用不可能なUSBメモリはありますか?

初期のREX60にはUSBメモリの消費電流による制限が設けてあり100mA以上のUSBメモリを使用するとエラーを返します。対応には、ファームウエアをVer5.09以降に更新してください。また、コネクタ形状の合わないものは使用できません。ハブ内蔵型のUSBメモリには、動作しないものがある可能性がありますがそれ以外の通常販売されているUSBメモリは全て使用可能です。弊社テストでは、PicoDrive1GB、ClipDrive512MB、等の動作を確認しております。

REX60にハブを使用して複数のUSBメモリを使用できますか?

ハブを使用しても複数のUSBメモリは使用できません。最初に認識されたUSBメモリが有効となり、その後挿入された、USBメモリは無視されます。

REX60にUSB接続HDDを接続できますか?

REX60からUSBコネクタに供給される電流は100mAまでです。これ以上の電流を必要とするHDDの場合は使用できません。また、USB-HDDの電源がREX以外から供給される場合は使用できますがREX60ではHDD動作試験を行っていないので、動作を保証することはできません。また、USB接続FDについてもHDDと同様です。

REX60にUSB接続のCD-R、またはDVD-R、DVD-RWなどを使用できますか?

REX60では、使用できません。

REX60にUSBメモリ以外のデバイス(マウス、キーボード)を接続するとどうなりますか?

USBマウスはUSBの動作確認用にテスト接続できます。(マウスボタンによりREX60のLEDが点灯します)しかし、データをホストに転送することはできません。USBキーボードも使用することはできません。

REX60の電源投入時からのUSBメモリ認識までがREX50より長いのですが?

REX60の場合、REX60自身の初期化時間に、USBデバイスとのコネクトプロトコルが加算されるので、REX50よりも長くなります。
RESET->USBメモリ認識:約1.8秒
RESET->シリアル伝送可能:250mS

REXシリーズに関するQ&A

簡単な動作確認方法

REXシリーズの簡単な動作確認は、通電後メディアの差込ソケットに記録可能なメディアを挿入すると、正常に動作している場合は緑LEDが1回点滅します。(点灯後、0.5秒ほどで消灯)点滅しない場合は、ファームが壊れているか、電源が正常ではない可能性があります。通電すると赤LEDが点滅する場合は、なんらかの原因でファームが壊れている、あるいは正常に動作していないことを示しています。ファームのアップデートプログラムでファームを更新してください。

REX2,3,4,5はパソコンに接続しなくて動作出来ますか。

はい、REX2,3ではRS232Cインターフェースの搭載されたワンボードマイコン、REX4,5ではワンチップマイコン等との直結非同期シリアルインターフェースで動作することを前提に開発されています。具体的には組込み用途に適したファイル装置なのでPIC,AVR,H8等制御用マイコンでの使用に最適です。

カタログ、資料を一式送って頂けますか。

申し訳ありません、現在公開しているマニュアル、資料等はHP上で配布しているドキュメントしかありません。こちらからダウンロードをお願いします。

書き込みスピード&読み込みスピードを教えてください。

REX2,3,4は19.2KBPSのシリアル通信が基本なので単純に考えて約1.6KB/Secくらいです。REX5は最大115.2KBPSのシリアル通信が可能ですので約9.6KB/Secくらいです。より高速で使用されたい場合はお問合せください。内部でのメディアへの書込み速度は約40KB/Sです。読出し速度は約80KB/Sです。

使用可能なメディアの種類を教えてください。

REX2,3,4は4MB,8MB,16MB,32MB,64MB,128MBの3.3Vスマートメディアが使用可能です。ID付きのメディアでも使用可能ですが、ID機能は使用できません。
REX5はTrueIDE対応のコンパクトフラッシュで5V電源で使用が可能なものです。

書込み済みのメディアをパソコンで読出す方法を教えてください。

市販のPC用メディアリーダをご使用ください。フォーマットはできるだけREXで行ってください。

スマートメディアは徐々になくなりつつあるらしいのですが、貴社においては他のメディアに対応するような製品は存在するのでしょうか

REX2,3,4はスマートメディア専用のファイル装置です。スマートメディアが徐々に減るのは間違いないかと思いますが、全く無くなる事はないでしょう。オリンパス、富士写真、東芝が2002年8月にPictureCardを発表しましたが同時にスマートメディアも併売することを表明しています。

128MBより大容量のスマートメディアは無いのでしょうか?

現在は128MBが最大です。今後、256MB、512MBの製品が発売されればREXシリーズも対応の予定です。

ソースコード、回路図を公開していただきたいのですが可能でしょうか。

現在は一般には公開しておりません。ソースコード契約を希望されるお客様はお問合せください。

使用されているコネクタが大きいのですが、これを外した状態で欲しいときは相談に乗っていただけますか。

コネクタなしの基板は時間をいただければ対応致します。

御社製品REX2とREX3の違いは動作電源電圧が3.3Vから5Vに変わったのみと考えてよろしいでしょうか。

はい。その通りです。その他、基板サイズが若干違っています。

REX4の特徴、REX2,3との違いを教えてください。

REX4はバッテリ等で使用したいユーザー様のご要望により開発されました。REX4は電源レギュレータを搭載しておりません。従って、REX4を利用する他の基板から安定化された3.3Vを供給しなければ動作ができません。シリアル通信もSPI仕様は無く、簡易モードもありません。また、RS232C等のドライバーICが搭載されてないので、3.3VC-MOSレベルでの非同期シリアル通信専用です。(3.3VCPUと直結可能、プロトコルはREX2,3と同様です)
しかし、これらは手抜きではなく、REX4を制御するCPUが3.3Vで動作している場合には電源レギュレータ、RS232CドライバーICが不要になり、消費電力を小さくできるためです。実装面積、空間も最小限に抑えるために、他の基板上にICソケットを使用して2段重ね(ピギーパック)で接続するためにコネクターを省略しています。なお、ピンアサインはREX4独自になっており、REX2,3との互換性はありません。しかし、電源、通信電圧、ピン配置以外の基本的な使い方はREX2,3,4とも共通なので、当社HPにて公開されているREX3,4用の取扱説明書を参考にしてください。

特定のファイル形式専用の読書きコマンドはできないでしょうか?

現在はWAVファイルの読書きコマンドなどが公開されています。お客様の要望があれば、特定のファイル形式に対応した専用コマンドを作成いたしますので、お問合せください。

使用方法に関するQ&A

MOUNT ⇒ FORMAT ⇒ SETTIME 迄は順調ですがOPEN(書き込みオープン)で ERROR になります。手順に間違いがあるのでしょうか?

FORMAT 後は UNMOUNT された状態になるので、OPEN コマンドを実行する前に MOUNT コマンドを実行する必要があります。FORMAT コマンドを実行する前に MOUNT コマンドを実行する必要はありません。

REX2,3,4にメディアが挿入されているかどうかの確認はどのコマンドを用いるが妥当でしょうか?

STATUS コマンドを使用すれば状態の取得が可能です。

立上げ時にメディアが途中で抜かれていないか?抜いた後で、再挿入しているかどうか、等調べる方法はありますか?

電源断状態の、メディア抜き差しは検出できません。電源OFF前に、メディアのボリュームラベルを記憶(ファイルに記録)しておけば、別のメディアへの差し替えは検出できますが、同一のメディアだった場合は、検出不可能かと思います。
以下にボリュームラベルを読み出す手順を示します。参考にしてください。
1.バイナリモードに移行する
2.OPENコマンドでルートディレクトリを開く (84 04 04 5C 2A 2E 2A [SUM] を送信)
3.READコマンドで22バイト読み込み(86 [識別子] 00 16 [SUM] を送信)
4.エラーなら 5.へ
読み込みに成功したなら、読み込みデータの14バイト目のbit3をチェックし、bit3が1ならボリュームラベル。bit3が0ならば、3.へ戻り繰り返す。
5.CLOSEコマンドで閉じる(85 [識別子] [SUM] を送信)

動作中にメディアが抜かれた場合はどのような処理が必要ですか?

MOUNT後にカードが抜かれた場合は(再び差し込まれたとしても)UNMOUNT状態になり、メディアにアクセスする何らかのコマンドを実行するとエラーコード9を返します。エラーコード9の状態から通常の状態へ戻るには、MOUNTコマンドを実行します。なお、書込み中のメディア抜き差しはメディアを破壊します。絶対にしないでください。

WRITE コマンドのとき一度オープンしたファイルにデータを次々に書き込むときWRITEコマンドで順次書き込むだけでよろしいのでしょうか。それともWRITEコマンドのあとにSEEKコマンドをあたえる必要がありますか?READコマンドも同様にSEEK コマンドを併用して順次読み込む必要がありますか?

READ/WRITE コマンド実行後は、読み書きされたバイト数だけポインタが移動されるので、毎回SEEKする必要はありません。

ハイパーターミナルを使用して書込み動作確認を行っていますが、ファイルに変なコードが書き込まれます。

まず、ハイパーターミナルの送信行末コードが 0Dh 0Ah になっている可能性があります。REX のコマンド終端文字は 0Dh なので、0Dh 受信後に残った0Ah がデータの先頭に付加されてしまいます。また、BS キーで入力文字を削除しようとするとwrite コマンドでは03h 以外の入力は全て記録する仕様なので、BS キーのコードもそのまま、書き込まれます。
設定により改行時のコードを0DHのみに設定できるターミナルを使用してみてください。

REX3UからのRS出力(CTS、RD)がGNDレベルになっていますが原因はなんでしょうか

省電力状態の可能性があります。省電力状態では、出力信号がハイインピーダンスになります。DSR信号は-電圧、TX信号は+電圧へ、抵抗を介して接続してください。

数分間電源OFFすると時計が狂ってしまいます。

バックアップ電源が接続されていないか、電源のノイズが考えられます。電源投入時、あるいは切断時の電源ノイズがリアルタイムクロックのVCC(3.3V)に加えられると、バックアップピン(8P)がノイズで瞬断状態(2V以下)になり時間が狂います。この場合の対策には電源(6P)にノイズフィルタ、パスコン等を接続すると改善されます。なお、バックアップ電源のノイズでも同様の現象が起こりますのでバックアップ電源は確実に接続してくださるようお願いします。

REX3SでSPI通信がうまく動きません。送ったコードがエコーバックしています。

SPIでの伝送手順を簡単に書くと
1.データを送信する前にBUSYがHighであることを確認する。
2.データを送信する前にCSをLowにする。
3.送信レジスタにコマンドデータを書き込む。
4.ダミーデータを送ってデータを受信する。
5.複数データを受信する場合は、4.を繰り返す。
なお、送信レジスタにデータを書込んだ後は、伝送時間分待たなくてはなりません。

ご注文

現在REX60はYahoo!ショッピングで販売中です。下記のリンクからREX60をご注文いただけます。

REX60とRS232C-REX60のセット品は下記のリンクからご注文いただけます。