TUSB-PIO
USBインタフェース付きPPIユニット

取扱い説明書本文中のマークについて(必ず始めにお読み下さい)
この取扱説明書には、あなたや他の人々への危害や財産への損害を未然に防ぎ、本製品を安全にお使いいただくために、守っていただきたい事項を示しています。
その表示と図記号の意味は次のようになっています。内容をよみ理解してから本文をお読み下さい。

!

①
②
③
④
⑤

⑥

警告

この表示を無視して、誤った取扱をすると、人が死亡または重傷を負う可能性がある内容を示しています。

! 注意

この表示を無視して、誤った取扱をすると、人が損害を負う可能性が想定される内容および物的損害のみの発生が想定される内容を示しています。

製品の仕様および取扱説明書の内容は予告なく変更することがあります。
本製品および本取扱説明書の一部または全部を無断転載することは禁じられています。
本取扱説明書の内容は万全を期して作成いたしましたが、万が一ご不審な事やお気づきの事がございましたら、（株）タートル工業 サービス課までご連絡下さい。
当社では、本製品の運用を理由とする損失、逸失利益等の請求につきましては、上記に関わらずいかなる責任も負いかねますので、予めご了承下さい。
本製品は、人命に関わる設備や機器、高度な信頼性を必要とする設備や機器などへの組込や制御などへの使用は意図されておりません。これら設備や機器などに本装置を使用され人身事故、財産損害などが生じても、当社はいかなる責任も負いかねます。
本製品およびソフトウェアが外国為替及び外国貿易管理法の規定により戦略物資（又は役務）に該当する場合には日本国外へ輸出する際に日本国政府の輸出許可が必要です。

©2019Turtle Industry Co., Ltd. All rights reserved.
株式会社タートル工業の許可なく、本書の内容の複製、改変などを行うことはできません。
Microsoft, Windows, Windows NT, は、米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。
その他、記載されている会社名、製品名は、各社の商標および登録商標です。

使用上の警告と注意! 警告
入出力端子に仕様に規定された信号以上の高電圧をかけないで下さい。高電圧をかけると感電の危険性と装置破損の可能性があります。
電源アダプタは指定の物をご使用下さい。誤った電源を入力すると感電の危険性と装置破損の可能性があります。
水や薬品のかかる可能性のある場所でご使用ならさないでください。火災やその他の災害の原因となる可能性があります。
発火性ガスの存在するところでご使用なさらないでください。引火により火災、爆発の可能性があります。
煙や異臭の発生した時は直ちにご使用をおやめ下さい。
ACアダプタおよびUSBケーブルを取り外し、当社サービス課までご相談下さい。

! 注意
温度の高い場所では使用しないでください。故障や火災の原因となります。
不安定な所には設置しないでください。落下によりけがをする恐れがあります。
腐食性のあるガスの存在するところでは使用しないで下さい。故障や火災の原因となります。

目次

目次
1 はじめに1.1 製品概要
1.2 製品構成
2 各部の名称
2.1 フロントパネル
2.2 リアパネル
3 各端子説明
3.1 入出力コネクタ
3.2 電源入力コネクタ
3.3 USBコネクタ
3.4 組抵抗およびIC
4 インストールの方法
4.1 サンプルソフトのインストールと使い方
5 機能説明5.1 PPI-LSIについて
6 ドライバソフトウェアの使用
6.1 開発環境の設定
6.2 基本的な関数使用の流れ
7 ドライバ関数リファレンス
8 その他
8.1 うまく動作しないとき
8.2 USBについて
8.3 連絡先9 仕様

Ⅰ123679111720

はじめに

1 はじめに
この度は、（株）タートル工業製のUSBインターフェース付きPPIユニット
TUSB-PIOをお買い求めいただき、誠にありがとうございます。
本書は、本製品の特徴、使用方法、取扱における注意事項、その他本製品に関する情報など、本製品をご使用される上で必要な事項について記述されております。
本製品の使用には製品の性質上、若干の電子回路の知識を必要とします。誤った使用をすると本製品の破損だけでなく重大な事故が発生する事も考えられます。本書の内容をよくご理解の上、正しくご使用下さる様お願いします。

1.1 製品概要
本製品は、先進のインタフェースであるUSB( Universal Serial Bus)を使用したPPI( Programmable Peripheral Interface )ユニットです。82C55A相当のLSIを内蔵し、各種ディジタルインターフェースとして利用出来ます。
プルアッププルダウン抵抗および82C55A相当ICはソケットを使用しておりますので必用に応じて抵抗やICを交換する事も出来ます。ドライバソフトウェ
アおよびVisual C++ 6.0 とVisual Basic 6.0のサンプルソフトウェアを利用できますので、これらの応用によって短時間に利用する事が可能です。

1.2 製品構成
本製品には以下の物が含まれます。
① TUSB-PIO本体② USBケーブル(1m)
不足品などがあれば、当社サービス課までご連絡下さい。

1

各部の名称2 各部の名称
2.1 フロントパネル
133
入出力コネクタ12

入出力コネクタ2

電源ランプ
入出力コネクタ: フラットケーブル用34ピンコネクタ(ロック付き)です。
PPI入出力をここから行います。

電源ランプ: 電源ON時に点灯します※○で囲まれた数字はコネクタのピン番号です。(コネクタ1,2共同一です)

2.2 リアパネル

装置番号選択スイッチ

USBコネクタ

DC入力

USBコネクタ: コンピュータと付属のUSBケーブルで接続します

DC入力: 外部電源使用時に専用電源を接続します

ユニット番号選択(ID): 本ユニットのユニット番号を選択します2

各端子説明3 各端子説明
3.1 入出力コネクタ
PPIはフロントパネルの入出力コネクタを使用します。

ケーブル側コネクタ : オムロン（株）製XG4M-3430または同等品
ピン番号
1入出力コネクタ1非接続

入出力コネクタ2非接続

2非接続

非接続

3非接続

非接続

4非接続

非接続

5PortA0

PortA06PortA1

PortA17PortA2

PortA28

PortA3

PortA39PortA4

PortA410PortA5PortA511

PortA6PortA612

PortA7PortA713PortC0PortC014PortC1PortC115PortC2PortC216PortC3PortC317GND

GND

18GND

GND19

PortC4PortC420

PortC5PortC521

PortC6PortC622

PortC7PortC723

PortB0PortB024

PortB1PortB125

PortB2PortB226

PortB3PortB327

PortB4PortB428

PortB5PortB529

PortB6PortB630

PortB7PortB731

非接続

非接続

32

非接続

非接続

33

5VOUT

5VOUT

34

5VOUT

5VOUT

ポート

PortA

グループA

PortC
下位グループB

グループA又はB

PortC
上位グループA

PortB

グループB

外部電源出力※(オプション補助電源接続時のみ有効)※ 弊社オプションの電源を使用した場合最大出力500mA
3各端子説明※ PortA～PortCの入出力ラインは全て10KΩのシングルライン組み抵抗でプルダウンされています。プルアップ、プルダウン抵抗の変更については「組み抵抗の変更について」を参照してください。
※ XG4Mなどのフラットケーブル圧接式ソケットを使用の場合は、折り返しを少なくし、下図の様に方向を揃えてください。

または

3.2 電源入力コネクタ
本ユニットはUSBバスから供給されるDC5V電源で動作します。ただし、以下の様な場合があります。必要に応じて外部電源を使用してください。
1)
2)

3)

コンピュータがサスペンド状態になるとUSBに供給される電源が遮断される可能性があります。
サスペンド状態で電源が遮断されなくとも、USB機器の使用出来る電源電流はサスペンド状態では500μAにまで制限されます。しかし、本ユニットは約70mAほど消費するため、この時には低消費電力状態で待機しなければなりません。低消費電力状態では入出力のデバイスは全てOFFになるため、構成によっては本ユニットまたは相手接続装置に動作異常や故障の発生する可能性があります。
ハブには自己電源をもつセルフパワードハブと自己電源をもたないバスパワードハブがあります。後者の場合は内部に電源を持たないためUSBラインから電源をとることになります。USBラインから供給される電源の電流は標準で100mAまでしか利用できないので、ハブの消費電流、本ユニットの消費電流、他の接続機器の消費電流の合計がこの値を超えない様にシステムを構築しなければなりません。本ユニットからIOを通して外部機器に電流を供給する場合にはさらに増加しますのでご注意下さい。

外部電源は安定化されたDC5V電源が必要となります。外部電源を使用される場合には専用ACアダプタ(別売)をご利用下さい。

3.3 USBコネクタ
付属のUSBケーブルを使用して、ご利用されるコンピュータまたはハブに接続してください。
※ 初めて接続される時にはインストール作業が必要です。

4

各端子説明3.4 組抵抗およびIC出荷時には入出力ピンは内部10KΩの組み抵抗で0V(GND)にプルダウンされています。このプルダウン抵抗は差し替える事によりVccへのプルアップや抵抗値を変える事かできます。また8255相当のICは交換する事ができます。
以下の作業は若干の電子回路“実用“の知識を必用とします。プリント板、シルク印
刷、組抵抗、コモン、プルアップ、プルダウン、などの用語の意味について不明である場合には装置破損の可能性がありますので作業を行わないでください。
作業時にはUSBコネクタおよびケーブルを抜いてから行ってください。
交換の仕方について
1)
ケースの側面の左右それぞれ1本ずつあるネジを外してください。上蓋が外れます。
2)
抵抗およびIC配置は下図の通りです。
3)
組み抵抗はコモン側がプリント板のシルク印刷面の“V”の字に合わせるとプルアップ、“G”の字に合わせるとプルダウンとなります。

! 注意

静電気により容易にLSIが破損します。充分な耐電防止対策を行ってから作業を行ってください。

デバイス1PortA

デバイス1PortC

デバイス2PortC

8255 Device 2

デバイス1PortB

8255 Device 1

デバイス2PortB

デバイス2PortA

組抵抗のコモン位置について
コモン

コモン5

インストール

4 インストールの方法
4.1 サンプルソフトのインストールと使い方
サンプルソフトはプロジェクトソースと共に以下の場所に格納されておりますので、適切な場所にコピーしてご使用下さい。(Windows 7 64bit対応ドライバを除きます)<ソフトウェアセット>|-[TUSBPIO]|-[DRIVER]|-[DOC]|-[DEV]|-[VB6]||-[VBNET]||-[VC]||-[TOOLS]: ドライバ: ドキュメント: Visual Basic 6.0用サンプル: プロジェクト
: Visual Basic .NET用サンプル: プロジェクト
: Visual C++ 用サンプル: プロジェクト
: LIB,H,BAS,VBファイル

Visual C++用のサンプルソフトとVisual Basic用のサンプルソフトの動作は同一です。Visual Basic 6 のプロジェクトフォルダの中には構築後の実行ファイルが入っており、そのまま実行する事が出来ます。Visual C++およびVisualBasic .NETのプロジェクトフォルダの中には実行ファイルはございませんので使用する場合には開発ツールで構築してください。
各アプリケーションとも起動後、本体装置のID番号を選択し、Openボタンを押下するとかくコマンドが実行できます。ボタン名にはドライバ関数の名前と同様の名前が付いております。各ボタンを押下する事により各関数の実行を確認する事が出来ます。
詳しくは各プロジェクトのソースコードをご覧下さい。
※ ソフトウェアディスクは付属しません。ソフトウェアは弊社Webサイトよりダウンロードしてください。

6機能説明5 機能説明5.1 PPIーLSIについて
82C55AおよびそのコンパチブルLSI(以下8255と称します)はマイクロコンピュータシステム用のプログラマブルインターフェースです。CMOS構造であるため低消費電力となっております。以下に概要を説明致します。詳しい説明は各デバイスメーカの説明書をご参照下さい。
8255は3組の8ビットディジタルポート(ポートA～C)と2個のコントロールレジスタを内蔵しております。合計24本の入出力端子は、それぞれ12ビットのグループAとグループBに分けられます。グループAは、ポートAとポートCの上位5ビット、グループBは、ポートBとポートCの下位3又は4ビットから構成されます。各グループはCPUからのコントロールワードによって3種類の動作モードを洗濯することが出来ます。

モード機能

グループA

グループB

0

基本

入力/出力

○○

1

ストローブ入力
ストローブ出力

○

○

2

双方向バス

○×

グループAとグループBのモードは独立に設定することが出来ます。CPUから8ビットのコントロールワードをPPIに書き込むことによりモードを設定します。コント
ロールワードをPPIに書き込む際、D7=“1”にするとポートCのビット/リセット機能用コントロールレジスタを選択します。

7機能説明

モード選択コマンドワード
7654

32

10

10
10
101

出力
入力
出力
入力
モード0モード1

グル ポートA
ープ
１ モード

010
100011X

出力
入力
出力
入力
モード0モード1モード2

コマンド選択

01

ビット操作
モード選択

01

リセット
セット

0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1

ビット0
ビット1
ビット2
ビット3
ビット4
ビット5
ビット6
ビット7

0
1

ビット操作
モード選択

グ ポートC(下位)ルー ポートBプ
１ モード
ポートC(上位)

ビット操作コマンドワード
7

65

40

X

X

X

32

1

0

ビットセット/リセット

ポート2ビット
選択

コマンド選択8

ドライバソフトウェアの使用

6 ドライバソフトウェアの使用
6.1 開発環境の設定
Visual C++の場合
1 ソフトウェアセットより(TOOLSディレクトリの中)TUSBPIO.LIB
TUSBPIO.Hを適当な場所にコピーします。
2 TUSBPIO.LIBファイルをプロジェクトに追加します。
3 使用するソースファイルにTUSBPIO.Hファイルをインクルードします。
設定は以上です。
Visual Basic 6.0 の場合(Windows 7 64bit除きます)
1 ソフトウェアセットより(TOOLSディレクトリの中)TUSBPIO.BAS
を適当な場所にコピーします。
2 TUSBPIO.BASファイルをプロジェクトに追加します。
設定は以上です。
本サンプルプログラムはVisual Basic 6.0で作成されました。
Visual Basic .NET の場合
1 ソフトウェアセットより(TOOLSディレクトリの中)TUSBPIO.vbを適当な場所にコピーします。
2 TUSBPIO.vbファイルをプロジェクトに追加します。
設定は以上です。

9ドライバソフトウェアの使用

6.2 基本的な関数使用の流れ
ここでは、関数の使用方法を簡単な例を元にご説明いたします。この関数はデバイスをオープンし、ポートを設定し、ポートからデータを出力します。

スタート

装置番号選択スイッチで選択した番号をIDとして指定

Tusbpio_Device_Open
により指定IDのデバイスをオープン
例えば全てのポートを出力にするならば80(HEX)を書き込む

Tusbpio_Dev1_Write
によりポートの設定を行う

Tusbpio_Dev1_Write
によりポートにデータを出力

Tusbpio_Device_Close
により指定IDのデバイスをクローズ

エンド

オープンおよびクローズはプログラムの開始時および終了時に一回ずつ行う必要があります。一回の作業後毎にオープン、クローズを行う必要はありません。
その他の関数については関数リファレンスをご参照下さい。
２台以上使用する場合には装置の選択番号を変えて、それぞれについてオープンクローズを行って下さい。

10ドライバ関数リファレンス

7 ドライバ関数リファレンス

Tusbpio_Device_Open
C,C++宣言

short __stdcall Tusbpio_Device_Open(short id)

VB6定義[Private] Declare Function Tusbpio_Device_Open Lib“TUSBPIO.DLL” ( ByVal id As Integer )As Integer

VB.NET定義 [Private] Declare Function Tusbpio_Device_Open Lib“TUSBPIO.DLL” ( ByVal id As Short )As Short

解説
指定ID(ユニット番号選択スイッチの値)のデバイスをオープンします。
このデバイスに関する各種関数を使用する前に必ず呼び出す必要が有ります。
引数id

ユニット番号選択スイッチの番号(0から15)

戻り値
0:成功
1:ID番号が不正
2:ドライバがインストールされていない
3:デバイスはすでにオープンされている
4:接続されている台数が多すぎる(最高16台まで)
5:オープンできなかった
6:デバイスが見つからない11ドライバ関数リファレンス

Tusbpio_Device_Close
C,C++宣言

void __stdcall Tusbpio_Device_Close( short id)

VB6定義[Private] Declare Sub Tusbpio_Device_Close Lib“TUSBPIO.DLL” ( ByVal id As Integer )VB.NET定義 [Private] Declare Sub Tusbpio_Device_Close Lib“TUSBPIO.DLL” ( ByVal id As Short )解説
指定ID(ユニット番号選択スイッチの値)のデバイスをクローズします。
引数id

ユニット番号選択スイッチの番号(0から15)

戻り値なし

12

ドライバ関数リファレンス

Tusbpio_Dev1_Write
C,C++宣言

short __stdcall Tusbpio_Dev1_Write(short id,unsigned char addr,unsigned char dat);

VB6定義[Private] Declare Function Tusbpio_Dev1_Write
Lib “TUSBPIO.DLL”( ByVal id As Integer , ByVal addr As Byte,
ByVal dat As Byte) As Integer

VB.NET定義 [Private] Declare Function Tusbpio_Dev1_Write
Lib “TUSBPIO.DLL”( ByVal id As Short , ByVal addr As Byte,
ByVal dat As Byte) As Short

解説
8255デバイス1のレジスタにデータを書き込みます。
引数id

ユニット番号選択スイッチの番号(0から15)

addr

レジスタ選択0: PortA 1: PortB

dat

2: PortC

出力データの指定(00～FF)

戻り値
0:成功
1:オープンされていない
2:失敗

13

3:コマンドワード

ドライバ関数リファレンス

Tusbpio_Dev2_Write
C,C++宣言

short __stdcall Tusbpio_Dev2_Write(short id,unsigned char addr,unsigned char dat);

VB6定義[Private] Declare Function Tusbpio_Dev2_Write
Lib “TUSBPIO.DLL”( ByVal id As Integer , ByVal addr As Byte,
ByVal dat As Byte) As Integer

VB.NET定義 [Private] Declare Function Tusbpio_Dev2_Write
Lib “TUSBPIO.DLL”( ByVal id As Short , ByVal addr As Byte,
ByVal dat As Byte) As Short

解説
8255デバイス2のレジスタにデータを書き込みます。
引数id

ユニット番号選択スイッチの番号(0から15)

addr

レジスタ選択0: PortA 1: PortB

dat

2: PortC

出力データの指定(00～FF)

戻り値
0:成功
1:オープンされていない
2:失敗

14

3:コマンドワード

ドライバ関数リファレンス

Tusbpio_Dev1_Read
C,C++宣言

short __stdcall Tusbpio_Dev1_Read(short id, unsigned char addr,unsigned char *dat);

VB6定義[Private] Declare Function Tusbpio_Dev1_Read
Lib “TUSBPIO.DLL”( ByVal id As Integer , ByVal addr As Byte,ByRef dat As Byte) As Integer

VB.NET定義 [Private] Declare Function Tusbpio_Dev1_Read
Lib “TUSBPIO.DLL”( ByVal id As Short , ByVal addr As Byte,
ByRef dat As Byte) As Short
解説
デバイス1の各ポートの読み込み。
引数id

ユニット番号選択スイッチの番号(0から15)

addr

レジスタ選択0: PortA 1: PortB

dat

2: PortC

入力データを格納するバッファ

戻り値
0:成功1:オープンされていない2:失敗

15

ドライバ関数リファレンス

Tusbpio_Dev2_Read
C,C++宣言

short __stdcall Tusbpio_Dev2_Read(short id, unsigned char addr,unsigned char *dat);

VB6定義[Private] Declare Function Tusbpio_Dev2_Read
Lib “TUSBPIO.DLL”( ByVal id As Integer , ByVal addr As Byte,
ByRef dat As Byte) As Integer

VB.NET定義 [Private] Declare Function Tusbpio_Dev2_Read
Lib “TUSBPIO.DLL”( ByVal id As Short , ByVal addr As Byte,
ByRef dat As Byte) As Short

解説
デバイス1の各ポートの読み込み。
引数id

ユニット番号選択スイッチの番号(0から15)

addr

レジスタ選択0: PortA 1: PortB

dat

2: PortC

入力データを格納するバッファ

戻り値
0:成功
1:オープンされていない
2:失敗

16

その他

8 その他
8.1 うまく動作しないときユニットが認識(インストール)できない
OSはWindows 98 Windows MeまたはWindows 2000 or XPですか——–>その他のOSには対応しておりません。
電源ランプが点灯していない時——–>USBケーブルを差直してください。
デバイスがオープンできない
デバイスマネージャなどでデバイスが正しくインストールされていることを確認してください。正しくインストールされていない場合は、ドライバのインストールを行って下さい。
一度はデバイスがオープンできるが再オープンできないデバイスを一度オープンしたらクローズするまで再オープンできません。デバイスの使用が終了するかまたはアプリケーション終了時に確実にクローズしてくだ
さい。

17

その他

8.2 USBについて
USBとはUniversal Serial Busの頭文字の略で、新しいコンピュータのインターフェースバスです。インターフェースのコストが低く使い易い事などから
パ ー ソ ナ ル コ ン ピ ュ ー タ を 中 心 に 普 及 し ま し た。USB1.1 の 仕 様 で は、1.5Mbpsロースピードデバイスおよび12Mbpsハイスピードデバイスがあります。本ユニットでは12Mbpsハイスピード仕様になっております。

USBの主な特長
高速

最高12Mbpsで通信可能(USB2.0では480Mbps)

接続が容易

ISAやPCIなどの拡張バスと違いケーブル1本で接続可能。コンピュータの動作中でも抜き差し可能。

多数接続可能ハブの利用により最高127台(ハブを含む)のデバイスを接続可能。

電源の供給

標準で100mA、最大で500mAの電源をバスで供給可能。

低コスト

多くのパーソナルコンピュータに標準で装備されており、安価なケーブル1本で接続可能。ただし、標準装備のポート数より多くのデバイスを接続する際にはハブが必要。

ハブについて多数のUSBを接続するにはハブデバイスが必要です。ハブは1本のUSB線(上流側)を複数のUSB線(下流側)に分岐します。ハブにはバスパワードハブとセルフパワードハブがあり、前者は上流側の電源により動作しますが、後者は外部電源により動作します。ホストのポートからは標準で100mA、最大500mAの電流を供給する事が出来ます。バスパワードハブでは通常100mA未満の電流を消費するため、このハブに接続されたデバイスはバスから500mAを供給される事は出来ません。100mA以上の電流を消費するデバイスをバスパワードハブに接続する場合には注意が必要です。
ケーブルについてUSBケーブルはAタイプとBタイプに分かれます。ホストのポートはAタイプ、デバイス側はBタイプとなっており、誤挿入が起こらない仕様になっております。
転送速度について
USBの転送速度はきわめて高速ですが、接続されたデバイスの単位時間当たりのデータ転送量の総合計が最高転送量を超える事はありません。あるデバイスで大量のデータ転送を行うと他のデバイスの転送速度に影響の出る可能性があります。
18

その他

8.3 連絡先
動作上の問題点および不明な点などのお問い合わせは下記までお願いします。
調査の上、当社よりご連絡差し上げます。

ご質問の際には動作環境等、なるべく詳細な情報を下さい。
特に次の情報は必ず記載してください。
ご使用のコンピュータの機種
ご使用OS( Windows98 , Windows98 SEなど)
メモリ容量
ハードディスクの容量
本ユニット以外でご使用されているUSB装置
こちらからご連絡差し上げる場合の貴ご連絡先～

株式会社タートル工業
技術部 技術課 サービス係 ～E-mailinfo@turtle-ind.co.jp

FAX0298-43-2024

郵送〒300-0842
茨城県土浦市西根南1-12-4

19

仕様

9 仕様
入出力部
ビット数

48bit(82C55A相当品を2個使用)
電気的仕様は、82C55Aに準ずる。

出力電流

ソース電流400μA/シンク電流2.5mA

入出力コネクタ

34P

2段型フラットケーブルコネクタ

その他
電源

5V 80mADC USBインターフェースにより供給可能

使用温度範囲5℃～40℃

大きさ30(h)×100(w)×140(d)mm(突起物含まず)

重さ

約310g(ケーブルを含まず)

20

TUSB-PIO(64bit対応)取扱説明書
発行年月
発行編集

2019年4月 第10a版株式会社 タートル工業
株式会社 タートル工業©2019 株式会社

タートル工業