Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
I/O公開資料 PCI-466180
Vol. 1/1
www.interface.co.jp
PCI-466180
- 1 - Interface Corporation
改訂履歴 Ver. 年 月 改 訂 内 容 1.0 2007年7月 新規作成
本ドキュメントは、製品の改良その他により将来予告なく改訂しますので、予めご了承ください。 (詳細は、『54ページ 重要な情報』を参照してください。)
注意!
数値の表記方法は、下記のようになっております。 h:16進数表示 b:2進数表示
PCI-466180
Interface Corporation - 2 -
目 次
第 1章 アドレスマップ 5
1.1 コンフィギュレーションレジスタ(function0) .......................................................................... 5 1.1.1 ベンダIDレジスタ .............................................................................................................. 6 1.1.2 デバイスIDレジスタ.......................................................................................................... 6 1.1.3 コマンドレジスタ .............................................................................................................. 6 1.1.4 ステータスレジスタ .......................................................................................................... 7 1.1.5 リビジョンIDレジスタ...................................................................................................... 7 1.1.6 制御ポートベースアドレスレジスタ 0........................................................................... 7 1.1.7 制御ポートベースアドレスレジスタ 1........................................................................... 8 1.1.8 制御ポートベースアドレスレジスタ 2........................................................................... 8 1.1.9 制御ポートベースアドレスレジスタ 3........................................................................... 8 1.1.10 制御ポートベースアドレスレジスタ 4......................................................................... 8 1.1.11 サブシステムベンダID.................................................................................................... 9 1.1.12 サブシステムID................................................................................................................ 9 1.1.13 割り込みラインレジスタ ................................................................................................ 9
1.2 コンフィギュレーションレジスタ(function1) ........................................................................ 10 1.2.1 ベンダIDレジスタ ............................................................................................................ 11 1.2.2 デバイスIDレジスタ........................................................................................................ 11 1.2.3 コマンドレジスタ ............................................................................................................ 11 1.2.4 ステータスレジスタ ........................................................................................................ 12 1.2.5 リビジョンIDレジスタ.................................................................................................... 12 1.2.6 制御ポートベースアドレスレジスタ 0......................................................................... 12 1.2.7 制御ポートベースアドレスレジスタ 1......................................................................... 13 1.2.8 制御ポートベースアドレスレジスタ 2......................................................................... 13 1.2.9 制御ポートベースアドレスレジスタ 3......................................................................... 13 1.2.10 サブシステムベンダID.................................................................................................. 14 1.2.11 サブシステムID.............................................................................................................. 14 1.2.12 割り込みラインレジスタ .............................................................................................. 14
1.3 インタフェースモジュール制御レジスタ(ベースアドレス 0~3) ...................................... 15 1.3.1 受信ホールディングレジスタ(RHR)............................................................................. 16 1.3.2 送信ホールディングレジスタ(THR) ............................................................................. 16 1.3.3 割り込み有効レジスタ(IER)........................................................................................... 17 1.3.4 割り込みステータスレジスタ(ISR)............................................................................... 19 1.3.5 FIFOコントロールレジスタ(FCR)................................................................................. 20 1.3.6 ラインコントロールレジスタ(LCR) ............................................................................. 21 1.3.7 モデムコントロールレジスタ(MCR) ............................................................................ 22 1.3.8 ラインステータスレジスタ(LSR).................................................................................. 23 1.3.9 モデムステータスレジスタ(MSR)................................................................................. 24 1.3.10 半二重モデム制御レジスタ(HMCR) ........................................................................... 25 1.3.11 データ送出前ディレイレジスタ(DBTR) .................................................................... 26 1.3.12 データ送出後ディレイレジスタ(DATR) .................................................................... 27 1.3.13 拡張機能レジスタ(EFR)................................................................................................ 28
PCI-466180
- 3 - Interface Corporation
1.3.14 Xon1レジスタ ................................................................................................................ 29 1.3.15 Xon2レジスタ ................................................................................................................ 30 1.3.16 Xoff1レジスタ ............................................................................................................... 30 1.3.17 Xoff2レジスタ ............................................................................................................... 30 1.3.18 受信FIFOカウント(下位)レジスタ(RFCLR)............................................................... 31 1.3.19 受信FIFOカウント(上位)レジスタ(RFCHR) .............................................................. 31 1.3.20 送信FIFOカウント(下位)レジスタ(TFCLR) ............................................................... 31 1.3.21 送信FIFOカウント(上位)レジスタ(TFCHR)............................................................... 32 1.3.22 拡張受信トリガレジスタ(ERTR)................................................................................. 32 1.3.23 クロック設定レジスタ .................................................................................................. 32 1.3.24 ソフトウェアリセットレジスタ.................................................................................. 33 1.3.25 DLL設定レジスタ .......................................................................................................... 34 1.3.26 インタフェースモジュールIDレジスタ ..................................................................... 34
第 2章 機能説明 35
2.1 受信FIFO割り込み ...................................................................................................................... 35 2.2 CS信号ハードウェアフローコントロール ............................................................................. 35 2.3 RS信号ハードウェアフローコントロール ............................................................................. 36 2.4 受信ソフトウェアフローコントロール .................................................................................. 36 2.5 送信ソフトウェアフローコントロール .................................................................................. 37 2.6 スペシャルキャラクタ............................................................................................................... 37 2.7 半二重モデム制御機能............................................................................................................... 38 2.8 ループバックモード................................................................................................................... 39
第 3章 DOSからのリソース取得(BPD-0805) 40
3.1 概要 ............................................................................................................................................... 40 3.2 プログラム作成時の注意........................................................................................................... 40 3.3 対応言語 ....................................................................................................................................... 40 3.4 関数説明 ....................................................................................................................................... 41
第 4章 DOSからのメモリアクセス(BPD-0806) 44
4.1 概要 ............................................................................................................................................... 44 4.2 BPD-0806使用時の注意事項 .................................................................................................... 44 4.3 メモリへのアクセス方法........................................................................................................... 44 4.4 プログラム作成時の注意........................................................................................................... 44 4.5 対応言語 ....................................................................................................................................... 45 4.6 関数説明 ....................................................................................................................................... 45
第 5章 割り込み処理 51
5.1 割り込み処理方法 ....................................................................................................................... 51
第 6章 制御方法 52
6.1 ビットレートの設定方法........................................................................................................... 52 6.2 データの送受信方法................................................................................................................... 53
PCI-466180
Interface Corporation - 4 -
重要な情報 54
PCI-466180
- 5 - Interface Corporation
第1章 アドレスマップ
1.1 コンフィギュレーションレジスタ(function0) オフセット 3h 2h 1h 0h
Device ID Vendor ID +00h 12h 35h 11h 47h
Status Command +04h 04h 00h 00h 000000?0b Base Class Sub Class Prog. Intf. Revision ID +08h FFh 00h 00h 01h
BIST Header Type Late. Timer Cache Line Size+0Ch 00h 80h 00h 00h Base Address 0 +10h ??h ??h ??h ??000000b Base Address 1 +14h ??h ??h ??h ??000000b Base Address 2 +18h ??h ??h ??h ??000000b Base Address 3 +1Ch ??h ??h ??h ??000000b Base Address 4 +20h ??h ??h ??h ????0000b Base Address 5 +24h 00h 00h 00h 00h Card Bus CIS +28h 00h 00h 00h 00h
Sub System ID Sub System Vendor ID +2Ch 20h D0h 11h 47h Expansion ROM Base Address +30h 00h 00h 00h 00h
Reserved +34h 00h 00h 00h 00h Reserved +38h 00h 00h 00h 00h
Max Lat. Min Gnt. Int. Pin Int Line +3Ch 00h 00h 01h ??h Reserved +40h~+DFh - - - - Reserved +F0h - - - - Reserved +F4h - - - - Reserved +F8h - - - - Reserved +FCh - - - -
数値は、「h:16進数表示」,「b:2進数表示」で表記しています。 「?」はPlug & Playソフトウェアが設定します。
PCI-466180
Interface Corporation - 6 -
1.1.1 ベンダIDレジスタ
Offset :+00h Byte Word Dword Size :16ビット Read ○ ○ - Write - - -
ビット 15~0
Vendor ID[15]~Vendor ID[0] 初期値 1147h
R/W R Vendor ID[15]~Vendor ID[0] (ベンダIDレジスタ)
:製造メーカを示すためのレジスタです。 1147h= Interface
1.1.2 デバイスIDレジスタ
Offset :+02h Byte Word Dword Size :16ビット Read ○ ○ - Write - - -
ビット 15~0
Device ID[15]~Device ID[0] 初期値 1235h
R/W R Device ID[15]~Device ID[0] (デバイスIDレジスタ)
:製造メーカの管理番号を示すためのレジスタです。1235h(4661)
1.1.3 コマンドレジスタ
Offset :+04h Byte Word Dword Size :16ビット Read ○ ○ - Write ○ ○ -
ビット 15~2 1 0
- Mem Spc -
初期値 - ? - R/W R/W
Mem Spc (Memory空間コントロール)
:“1”の時、メモリアクセスに対してブリッジが反応します。 Plug & Playソフトウェアが、Memory空間を割り付けることができれば“1”を書き込みます。
PCI-466180
- 7 - Interface Corporation
1.1.4 ステータスレジスタ
Offset :+06h Byte Word Dword Size :16ビット Read ○ ○ - Write - - -
ビット 15~11 10 9 8~0
- DEV SEL
Timing1
DEV SEL
Timing0-
初期値 - 1 0 - R/W R R
DEVSEL Timing1, DEVSEL Timing0 (DEVSEL#タイミング)
:“10”低速応答
1.1.5 リビジョンIDレジスタ
Offset :+08h Byte Word Dword Size :8ビット Read ○ - - Write - - -
ビット 7~0
Revision ID[7]~Revision ID[0] 初期値 01h
R/W R Revision ID[7]~Revision ID[0] (リビジョンIDレジスタ)
:インタフェースモジュールのリビジョンを表します。 インタフェースモジュールの仕様が変更された時、リビジョンIDが増加されます。
1.1.6 制御ポートベースアドレスレジスタ0
Offset :+10h Byte Word Dword Size :32ビット Read ○ ○ ○ Write ○ ○ ○
ビット 31~6 5~0
BA0[31]~BA0[6] - 初期値 ? -
R/W R/W BA0[31]~BA0[6] (メモリ領域ベースレジスタ)
:CH1通信制御用メモリ領域へのベースアドレスレジスタです。64バイト分占有。
PCI-466180
Interface Corporation - 8 -
1.1.7 制御ポートベースアドレスレジスタ1
Offset :+14h Byte Word Dword Size :32ビット Read ○ ○ ○ Write ○ ○ ○
ビット 31~6 5~0
BA1[31]~BA1[6] - 初期値 ? -
R/W R/W BA1[31]~BA1[6] (メモリ領域ベースレジスタ)
:CH2通信制御用メモリ領域へのベースアドレスレジスタです。64バイト分占有。
1.1.8 制御ポートベースアドレスレジスタ2
Offset :+18h Byte Word Dword Size :32ビット Read ○ ○ ○ Write ○ ○ ○
ビット 31~6 5~0
BA2[31]~BA2[6] - 初期値 ? -
R/W R/W BA2[31]~BA2[6] (メモリ領域ベースレジスタ)
:CH3通信制御用メモリ領域へのベースアドレスレジスタです。64バイト分占有。
1.1.9 制御ポートベースアドレスレジスタ3
Offset :+1Ch Byte Word Dword Size :32ビット Read ○ ○ ○ Write ○ ○ ○
ビット 31~6 5~0
BA3[31]~BA3[6] - 初期値 ? -
R/W R/W BA3[31]~BA3[6] (メモリ領域ベースレジスタ)
:CH4通信制御用メモリ領域へのベースアドレスレジスタです。64バイト分占有。
1.1.10 制御ポートベースアドレスレジスタ4
Offset :+20h Byte Word Dword Size :32ビット Read ○ ○ ○ Write ○ ○ ○
ビット 31~4 3~0
BA4[31]~BA4[4] - 初期値 ? -
R/W R/W BA4[31]~BA4[4] (メモリ領域ベースレジスタ)
:予約。(16バイト分占有)
PCI-466180
- 9 - Interface Corporation
1.1.11 サブシステムベンダID
Offset :+2Ch Byte Word Dword Size :16ビット Read ○ ○ - Write - - -
ビット 15~0
Sub System Vendor ID[15]~Sub System Vendor ID[0] 初期値 1147h
R/W R Sub System Vendor ID[15]~Sub System Vendor ID[0] (サブシステムベンダID)
:製造メーカを示すためのレジスタです。1147h= Interface
1.1.12 サブシステムID
Offset :+2Eh Byte Word Dword Size :16ビット Read ○ ○ - Write - - -
ビット 15~13 12~10 9~7 6~0
- バス仕様 単/多機能 6桁製品の下2桁 初期値 001 000 001 1010000
R/W R R R
ビット 値 説 明 000b PCI/Low Profile PCI 001b CompactPCI 010b CardBus 011b PCI Express
12~10
100b~111b 予約 000b 未使用 001b 単機能デバイス
9~7
010b~111b 多機能デバイス 0h~63h 6桁製品の下2桁を16進数に変更した値 6~0 64h~7Fh 予約
1.1.13 割り込みラインレジスタ
Offset :+3Ch Byte Word Dword Size :8ビット Read ○ - - Write ○ - -
ビット 7~0
ILIN[7]~ILIN[0] 初期値 ?
R/W R/W ILIN[7]~ILIN[0] (割り込みラインレジスタ)
:本製品が占有する割り込みレベルを表します。Plug & PlayソフトウェアBIOSが設定します。
PCI-466180
Interface Corporation - 10 -
1.2 コンフィギュレーションレジスタ(function1) オフセット 3h 2h 1h 0h
Device ID Vendor ID +00h 12h 35h 11h 47h
Status Command +04h 04h 00h 00h 000000?0b Base Class Sub Class Prog. Intf. Revision ID +08h FFh 00h 00h 01h
BIST Header Type Late. Timer Cache Line Size+0Ch 00h 00h 00h 00h Base Address 0 +10h ??h ??h ??h ??000000b Base Address 1 +14h ??h ??h ??h ??000000b Base Address 2 +18h ??h ??h ??h ??000000b Base Address 3 +1Ch ??h ??h ??h ??000000b Base Address 4 +20h 00h 00h 00h 00h Base Address 5 +24h 00h 00h 00h 00h Card Bus CIS +28h 00h 00h 00h 00h
Sub System ID Sub System Vendor ID +2Ch 21h 50h 11h 47h Expansion ROM Base Address +30h 00h 00h 00h 00h
Reserved +34h 00h 00h 00h 00h Reserved +38h 00h 00h 00h 00h
Max Lat. Min Gnt. Int. Pin Int Line +3Ch 00h 00h 02h ??h Reserved +40h~+DFh - - - - Reserved +F0h - - - - Reserved +F4h - - - - Reserved +F8h - - - - Reserved +FCh - - - -
数値は、「h:16進数表示」,「b:2進数表示」で表記しています。 「?」はPlug & Playソフトウェアが設定します。
PCI-466180
- 11 - Interface Corporation
1.2.1 ベンダIDレジスタ
Offset :+00h Byte Word Dword Size :16ビット Read ○ ○ - Write - - -
ビット 15~0
Vendor ID[15]~Vendor ID[0] 初期値 1147h
R/W R
Vendor ID[15]~Vendor ID[0] (ベンダIDレジスタ)
:製造メーカを示すためのレジスタです。 1147h= Interface
1.2.2 デバイスIDレジスタ
Offset :+02h Byte Word Dword Size :16ビット Read ○ ○ - Write - - -
ビット 15~0
Device ID[15]~Device ID[0] 初期値 1235h
R/W R
Device ID[15]~Device ID[0] (デバイスIDレジスタ)
:製造メーカの管理番号を示すためのレジスタです。1235h(4661)
1.2.3 コマンドレジスタ
Offset :+04h Byte Word Dword Size :16ビット Read ○ ○ - Write ○ ○ -
ビット 15~2 1 0
- Mem Spc -
初期値 - ? - R/W R/W
Mem Spc (Memory空間コントロール)
:“1”の時、メモリアクセスに対してブリッジが反応します。 Plug & Playソフトウェアが、Memory空間を割り付けることができれば“1”を書き込みます。
PCI-466180
Interface Corporation - 12 -
1.2.4 ステータスレジスタ
Offset :+06h Byte Word Dword Size :16ビット Read ○ ○ - Write - - -
ビット 15~11 10 9 8~0
- DEV SEL
Timing1
DEV SEL
Timing0-
初期値 - 1 0 - R/W R R
DEVSEL Timing1, DEVSEL Timing0 (DEVSEL#タイミング)
:“10”低速応答
1.2.5 リビジョンIDレジスタ
Offset :+08h Byte Word Dword Size :8ビット Read ○ - - Write - - -
ビット 7~0
Revision ID[7]~Revision ID[0] 初期値 01h
R/W R Revision ID[7]~Revision ID[0] (リビジョンIDレジスタ)
:インタフェースモジュールのリビジョンを表します。 インタフェースモジュールの仕様が変更された時、リビジョンIDが増加されます。
1.2.6 制御ポートベースアドレスレジスタ0
Offset :+10h Byte Word Dword Size :32ビット Read ○ ○ ○ Write ○ ○ ○
ビット 31~6 5~0
BA0[31]~BA0[6] - 初期値 ? -
R/W R/W BA0[31]~BA0[6] (メモリ領域ベースレジスタ)
:CH5通信制御用メモリ領域へのベースアドレスレジスタです。64バイト分占有。
PCI-466180
- 13 - Interface Corporation
1.2.7 制御ポートベースアドレスレジスタ1
Offset :+14h Byte Word Dword Size :32ビット Read ○ ○ ○ Write ○ ○ ○
ビット 31~6 5~0
BA1[31]~BA1[6] - 初期値 ? -
R/W R/W BA1[31]~BA1[6] (メモリ領域ベースレジスタ)
:CH6通信制御用メモリ領域へのベースアドレスレジスタです。64バイト分占有。
1.2.8 制御ポートベースアドレスレジスタ2
Offset :+18h Byte Word Dword Size :32ビット Read ○ ○ ○ Write ○ ○ ○
ビット 31~6 5~0
BA2[31]~BA2[6] - 初期値 ? -
R/W R/W BA2[31]~BA2[6] (メモリ領域ベースレジスタ)
:CH7通信制御用メモリ領域へのベースアドレスレジスタです。64バイト分占有。
1.2.9 制御ポートベースアドレスレジスタ3
Offset :+1Ch Byte Word Dword Size :32ビット Read ○ ○ ○ Write ○ ○ ○
ビット 31~6 5~0
BA3[31]~BA3[6] - 初期値 ? -
R/W R/W BA3[31]~BA3[6] (メモリ領域ベースレジスタ)
:CH8通信制御用メモリ領域へのベースアドレスレジスタです。64バイト分占有。
PCI-466180
Interface Corporation - 14 -
1.2.10 サブシステムベンダID
Offset :+2Ch Byte Word Dword Size :16ビット Read ○ ○ - Write - - -
ビット 15~0
Sub System Vendor ID[15]~Sub System Vendor ID[0] 初期値 1147h
R/W R Sub System Vendor ID[15]~Sub System Vendor ID[0] (サブシステムベンダID)
:製造メーカを示すためのレジスタです。1147h= Interface
1.2.11 サブシステムID
Offset :+2Eh Byte Word Dword Size :16ビット Read ○ ○ - Write - - -
ビット 15~13 12~10 9~7 6~0
- バス仕様 単/多機能 6桁製品の下2桁 初期値 001 000 010 1010000
R/W R R R ビット 値 説 明
000b PCI/Low Profile PCI 001b CompactPCI 010b CardBus 011b PCI Express
12~10
100b~111b 予約 000b 未使用 001b 単機能デバイス
9~7
010b~111b 多機能デバイス 0h~63h 6桁製品の下2桁を16進数に変更した値 6~0 64h~7Fh 予約
1.2.12 割り込みラインレジスタ
Offset :+3Ch Byte Word Dword Size :8ビット Read ○ - - Write ○ - -
ビット 7~0
ILIN[7]~ILIN[0] 初期値 ?
R/W R/W ILIN[7]~ILIN[0] (割り込みラインレジスタ)
:本製品が占有する割り込みレベルを表します。Plug & PlayソフトウェアBIOSが設定します。
PCI-466180
- 15 - Interface Corporation
1.3 インタフェースモジュール制御レジスタ(ベースアドレス0~3)
インタフェースモジュール制御用のレジスタは、次の通りです。 本製品に対してPCIバスのリセット, パワーオンリセットが発生した場合レジスタは、初期値となります。 オフセット 入出力方向 内 容
入力 受信ホールディングレジスタ(RHR) +00h 出力 送信ホールディングレジスタ(THR) 入力 割り込み有効レジスタ(IER) +01h 出力 割り込み有効レジスタ(IER) 入力 割り込みステータスレジスタ(ISR) +02h 出力 FIFOコントロールレジスタ(FCR) 入力 ラインコントロールレジスタ(LCR) +03h 出力 ラインコントロールレジスタ(LCR) 入力 モデムコントロールレジスタ(MCR) +04h 出力 モデムコントロールレジスタ(MCR) 入力 ラインステータスレジスタ(LSR) +05h 出力 予約 入力 モデムステータスレジスタ(MSR) +06h 出力 予約 入力 半二重モデム制御レジスタ(HMCR) +07h 出力 半二重モデム制御レジスタ(HMCR) 入力 データ送出前ディレイレジスタ(DBTR) +08h 出力 データ送出前ディレイレジスタ(DBTR) 入力 データ送出後ディレイレジスタ(DATR) +09h 出力 データ送出後ディレイレジスタ(DATR) 入力 拡張機能レジスタ(EFR) +0Ah 出力 拡張機能レジスタ(EFR) 入力 Xon1レジスタ +0Ch 出力 Xon1レジスタ 入力 Xon2レジスタ +0Dh 出力 Xon2レジスタ 入力 Xoff1レジスタ +0Eh 出力 Xoff1レジスタ 入力 Xoff2レジスタ +0Fh 出力 Xoff2レジスタ 入力 受信FIFOカウント(下位)レジスタ(RFCLR) +10h 出力 受信FIFOカウント(下位)レジスタ(RFCLR) 入力 受信FIFOカウント(上位)レジスタ(RFCHR) +11h 出力 受信FIFOカウント(上位)レジスタ(RFCHR) 入力 送信FIFOカウント(下位)レジスタ(TFCLR) +12h 出力 送信FIFOカウント(下位)レジスタ(TFCLR) 入力 送信FIFOカウント(上位)レジスタ(TFCHR) +13h 出力 送信FIFOカウント(上位)レジスタ(TFCHR) 入力 拡張受信トリガレジスタ(ERTR) +14h 出力 拡張受信トリガレジスタ(ERTR) 入力 クロック設定レジスタ +20h 出力 クロック設定レジスタ
PCI-466180
Interface Corporation - 16 -
オフセット 入出力方向 内 容
入力 予約 +21h 出力 ソフトウェアリセットレジスタ 入力 DLL設定レジスタ +28h, +29h 出力 DLL設定レジスタ 入力 インタフェースモジュールIDレジスタ +3Fh 出力 予約
1.3.1 受信ホールディングレジスタ(RHR)
Offset :+00h Byte Word Dword Size :8ビット Read ○ - - Write - - -
ビット 7~0
RHR[7]~RHR[0] 初期値 00h
R/W R RHR[7]~RHR[0] (受信ホールディング)
:受信データの読み込みを行います。
1.3.2 送信ホールディングレジスタ(THR)
Offset :+00h Byte Word Dword Size :8ビット Read - - - Write ○ - -
ビット 7~0
THR[7]~THR[0] 初期値 00h
R/W W THR[7]~THR[0] (送信ホールディング)
:送信データの書き込みを行います。
PCI-466180
- 17 - Interface Corporation
1.3.3 割り込み有効レジスタ(IER)
Offset :+01h Byte Word Dword Size :8ビット Read ○ - - Write ○ - -
ビット 7 6 5 4 3 2 1 0
CS interrupt
RS interrupt
Xoff interrupt
TX idleinterrupt
MSR interrupt
LSR interrupt
THR interrupt
RHR interrupt
初期値 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W R/W
CS interrupt (CS信号割り込み)
:有効時、CS信号がスペースからマークに変化した時に割り込みを発行します。
CS interrupt CS信号割り込み 0 無効 1 有効
CS信号 バイナリ 入力電圧 マーク 1/OFF -3V以下 スペース 0/ON +3V以上
RS interrupt (RS信号割り込み)
:有効時、RS信号がスペースからマークに変化した時に割り込みを発行します。
RS interrupt RS信号割り込み 0 無効 1 有効
RS信号 バイナリ 出力電圧 マーク 1/OFF -5V以下 スペース 0/ON +5V以上
Xoff interrupt (Xoff/Xon/スペシャル キャラクタ割り込み)
:有効時、特定のキャラクタを受信した時に割り込みを発行します。
Xoff interrupt Xoff/Xon/スペシャル キャラクタ割り込み
0 無効 1 有効
次の条件で割り込みを発行します。
条件 1. Xoffワード受信時 (+0Ah bit1, bit0) 2. Xonワード受信時 (+0Ah bit1, bit0) 3. スペシャルキャラクタ受信時 (+0Ah bit5)
TX idle interrupt (送信アイドル割り込み)
:有効時、送信データが無しになった時点で割り込みを発行します。 送信ホールディングレジスタ(THR: +00h), データ送信用内部レジスタの両方にデータが無い場合、“送信データ無し”とみなします。(FIFO有効時は、送信FIFO, データ送信用内部レジスタの両方にデータが無い場合) 本割り込みは送信データが書き込まれるとクリアされます。
TX idle interrupt 送信アイドル割り込み 0 無効 1 有効
PCI-466180
Interface Corporation - 18 -
MSR interrupt (モデムステータス 割り込み)
:有効時、モデム制御信号(CD信号, CI信号, DR信号, CS信号)の状態が変化した時に割り込みを発行します。
MSR interrupt モデムステータス 割り込み
0 無効 1 有効
LSR interrupt (ラインステータス 割り込み)
:有効時、ラインステータスエラー(ブレーク, フレーミング, パリティ, オーバーラン)発生(+05h bit4~bit1)の際に割り込みを発行します。 本割り込みはラインステータスレジスタ(LSR: +05h)読み出しによりクリアされます。
LSR interrupt ラインステータス 割り込み
0 無効 1 有効
THR interrupt (THR割り込み)
:有効時、送信バッファのデータ数の低下により、割り込みを発行します。本割り込みはラインステータスレジスタ(LSR: +05h)読み出しによりクリアされます。
THR interrupt THR割り込み 0 無効 1 有効
本割り込みは次の条件で発行します。 条件
1. FIFO無効時に送信ホールディングレジスタ(THR: +00h)が空になった時 2. FIFO有効時に送信 FIFOのカウントが TxFIFOtrg(+02h bit5, bit4)レベル以下に なった時
RHR interrupt (RHR割り込み)
:有効時、データ受信の際に割り込みを発行します。 本割り込みは受信データを読み出し、受信バッファが空になるとクリアされます。
RHR interrupt RHR割り込み 0 無効 1 有効
本割り込みは次の条件で発行します。 条件
1. FIFO無効時に受信ホールディング(RHR: +00h)に読み込み待ちデータがある時2. FIFO有効時にRxFIFOtrg(+03h bit1, bit0)レベルに達した時 3. FIFO有効時に受信ホールディング(RHR: +00h)に読み込み待ちデータがあり、タイムアウトが発生した時※1
※ 割り込みを使用するためには、INT EN(+04h bit3)を“1”にする必要があります。 ※1 タイムアウトは、受信ホールディングレジスタ(RHR: +00h)や受信FIFOに読み込み待ちデータがある時に、一定指定時間経過すると発生します。時間は、Wordlen(+03h bit1, bit0)に依存します。
PCI-466180
- 19 - Interface Corporation
1.3.4 割り込みステータスレジスタ(ISR)
Offset :+02h Byte Word Dword Size :8ビット Read ○ - - Write - - -
ビット 7 6 5~1 0
FIFOs enable
FIFOs enable status[4]~status[0] interrupt
pending 初期値 0 0 00000 0
R/W R R R R
FIFOs enable (FIFO状態設定確認)
: FIFOの設定状態を示します。 FIFOs enable FIFO設定
0 無効 1 有効
status[4]~status[0] (割り込み要因)
:割り込みの要因を示します。
優先順位 status[4]~status[0]
割り込み要因
1 00011 ラインステータス割り込み: LSR interrupt(+01h bit2) 2 00010 RHR割り込み: RHR interrupt(+01h bit0) 3 00001 THR割り込み: THR interrupt(+01h bit1) 4 00000 モデムステータス割り込み: MSR interrupt(+01h bit3)
5 01000 Xoff/Xon/スペシャルキャラクタ
割り込み: Xoff interrupt(+01h bit5)
6 10000 CS信号割り込み: CS interrupt(+01h bit7),
RS信号割り込み: RS interrupt(+01h bit6) 7 00101 送信アイドル割り込み: TX idle interrupt(+01h bit4)
※ 割り込みは、7つのレベルに優先付けされます。本レジスタを読み込んだ時に取得できる値は、発行されている割り込みの中でも最も優先度の高い割り込みです。 2つ以上の割り込みが同時に発行された場合、優先度の高い割り込み要因を解決するまで、優先度の低い割り込み要因を取得することができません。
interrupt pending (割り込み状態)
:割り込みが保留されていることを示します。 interrupt pending 割り込み状態
0 割り込み発生 1 割り込み保留
PCI-466180
Interface Corporation - 20 -
1.3.5 FIFOコントロールレジスタ(FCR)
Offset :+02h Byte Word Dword Size :8ビット Read - - - Write ○ - -
ビット 7, 6 5, 4 3 2 1 0
RxFIFOtrg[1], RxFIFOtrg[0]
TxFIFOtrg[1], TxFIFOtrg[0]
enhancedtrigger
TxFIFORST
RxFIFO RST -
初期値 00 0 0 0 0 - R/W W W W W W
RxFIFOtrg[1], RxFIFOtrg[0]
(受信FIFOトリガ設定)
:次のトリガレベルを制御します。 1. 受信FIFO割り込み 2. RS信号ハードウェアフローコントロール機能 3. 送信ソフトウェアフローコントロール機能
単位: バイトRS信号ハードウェアフローコントロール用
受信 FIFOトリガレベル 送信ソフトウェアフローコントロール用
受信 FIFOトリガレベル RxFIFOtrg[1], RxFIFOtrg[0]
割り込み用 受信 FIFO トリガレベル RS信号マーク RS信号スペース 送信 Xoff 送信 Xon
00 8 512 256 512 256 01 16 512 256 512 256 10 128 512 384 512 384 11 256 512 384 512 384
TxFIFOtrg[1], TxFIFOtrg[0] (送信FIFOトリガ設定)
:送信FIFO割り込みのトリガレベルを制御します。 単位: バイト
TxFIFOtrg[1], TxFIFOtrg[0]
割り込み用 送信 FIFOトリガレベル
00 8 01 16 10 128 11 256
enhanced trigger (トリガモード設定)
:トリガモードの種類を設定します。 enhanced trigger トリガモード設定
0 標準 1 拡張
拡張を選択した場合、拡張受信トリガ(RFTRG: +14h bit2~bit0)にて割り込み用受信FIFOトリガレベルを設定することができます。 1バイト~7バイトの値を設定することができます。
TxFIFO RST (送信FIFOリセット)
:送信FIFOのリセットを行います。 TxFIFO RST 送信 FIFOリセット
0 無効 1 有効
RxFIFO RST (受信FIFOリセット)
:受信FIFOのリセットを行います。 RxFIFO RST 受信 FIFOリセット
0 無効 1 有効
PCI-466180
- 21 - Interface Corporation
1.3.6 ラインコントロールレジスタ(LCR)
Offset :+03h Byte Word Dword Size :8ビット Read ○ - - Write ○ - -
ビット 7 6 5, 4 3 2 1, 0
TOS set BREAK
PARITY[1], PARITY[0]
PARITYenable
STOP bit
Wordlen[1], Wordlen[0]
初期値 0 0 00 0 0 00 R/W R/W R/W R/W R/W R/W R/W
TOS (タイムアウト時間設定)
:タイムアウト時間を設定・確認します。 TOS タイムアウト時間設定
標準タイムアウト時間 0 T = (32+Wordlen設定値×4)×1ビット時間 短縮タイムアウト時間 1 T = (16+Wordlen設定値×4)×1ビット時間
set BREAK (break送信)
: break送信を設定・確認します。 set
BREAK break送信
0 break送信解除 1 break送信
PARITY[1], PARITY[0] (パリティ設定)
:パリティを設定・確認します。 PARITY[1], PARITY[0] 選択パリティ結果
00 奇数パリティ 01 偶数パリティ 10 強制的にパリティ“1”に変更 11 強制的にパリティ“0”に変更
PARITY enable (パリティ有効)
:パリティの有効/無効を設定・確認します。 PARITY enable パリティ有効
0 無効 1 有効
STOP bit (ストップビット長)
:ストップビット長を設定・確認します。 STOP bit ストップビット長
0 1bit 1 2bit
Wordlen[1], Wordlen[0] (ワード長)
:ワード長を設定・確認します。 Wordlen[1], Wordlen[0] ワード長
00 5bit 01 6bit 10 7bit 11 8bit
PCI-466180
Interface Corporation - 22 -
1.3.7 モデムコントロールレジスタ(MCR)
Offset :+04h Byte Word Dword Size :8ビット Read ○ - - Write ○ - -
ビット 7, 6 5 4 3 2 1 0
- Xon any Loop- Back
INT EN (Loop-CD) (Loop-CI) RS ER
初期値 - 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W
Xon any (Xon anyモード設定)
:Xon anyモードを設定・確認します。 Xon any Xon anyモード設定
0 無効 1 有効
受信ソフトウェアフローコントロールで使用されるXonワードの設定を行います。受信した全てのキャラクタをXonワードとして扱います。Xoff/on[1], Xoff/on[0](+0Ah bit1, bit0)の設定にてキャラクタの指定を行うことができます。
Loop-Back (ループバック モード設定)
:ループバックモードを設定・確認します。 Loop-Back ループバックモード設定
0 無効 1 有効
ループバックモード時、以下の信号(入出力ペア)は内部で接続されます。1. SD-RD 2. RS-CS 3. ER-DR
INT EN (割り込み出力設定)
:割り込み出力を設定・確認します。 INT EN 割り込み出力設定
0 無効 1 有効
本ビットを有効にし、割り込み有効レジスタを設定することにより、通信コントローラの割り込みが使用できるようになります。
(Loop-CD) (ループバック CD信号制御)
:ループバックモード時、CD信号を制御します。(ループバックモード時のみ有効)
(Loop-CD) マーク/スペース バイナリ 出力電圧 0 マーク 1/OFF -5V以下 1 スペース 0/ON +5V以上
(Loop-CI) (ループバック CI信号制御)
:ループバックモード時、CI信号を制御します。(ループバックモード時のみ有効)
(Loop-CI) マーク/スペース バイナリ 出力電圧 0 マーク 1/OFF -5V以下 1 スペース 0/ON +5V以上
RS (RS信号制御)
:RS信号を制御します。 RS マーク/スペース バイナリ 出力電圧 0 マーク 1/OFF -5V以下 1 スペース 0/ON +5V以上
ER (ER信号制御)
:ER信号を制御します。 ER マーク/スペース バイナリ 出力電圧 0 マーク 1/OFF -5V以下 1 スペース 0/ON +5V以上
PCI-466180
- 23 - Interface Corporation
1.3.8 ラインステータスレジスタ(LSR)
Offset :+05h Byte Word Dword Size :8ビット Read ○ - - Write - - -
ビット 7 6 5 4 3 2 1 0
FIFO error TX idle THR
empty BREAK FRAMINGerror
PARITYerror
OVERRUN error RXRDY
初期値 0 0 0 0 0 0 0 0 R/W R R R R R R R R
FIFO error (FIFOエラーステータス)
:受信FIFO内にエラーが発生したキャラクタの有無の確認を行います。 FIFO error FIFOエラーステータス
0 エラーなし 1 エラーあり
本ビットは読み出し時にクリアされます。 TX idle (送信アイドル ステータス)
:送信のデータの有無の確認を行います。 TX idle 送信アイドルステータス
0 送信ホールディングレジスタ(THR: +00h), データ送信用内部レジスタのどちらかにデータあり(FIFO有効時、送信 FIFO, データ送信用内部レジスタのどちらかにデータあり)
1 送信ホールディングレジスタ(THR: +00h), データ送信用内部レジスタの両方にデータなし(FIFO有効時、送信 FIFO, データ送信用内部レジスタの両方にデータなし)
THR empty (THRエンプティ ステータス)
:送信バッファのデータの有無の確認を行います。 THR empty THRエンプティステータス
0 送信ホールディングレジスタ(THR: +00h)にデータあり (送信 FIFO有効時、送信 FIFOにデータあり)
1 送信ホールディングレジスタ(THR: +00h)にデータなし (送信 FIFO有効時、送信 FIFOにデータなし)
BREAK (ブレークステータス)
: break受信状態の確認を行います。 BREAK ブレークステータス
0 break無効状態 1 break有効状態
FRAMING error (フレーミングエラー ステータス)
:フレーミングエラー発生状態の確認を行います。 FRAMING
error フレーミング エラーステータス
0 フレーミングエラーなし 1 フレーミングエラーあり
PARITY error (パリティエラー ステータス)
:パリティエラー発生状態の確認を行います。 PARITY
error パリティエラーステータス
0 パリティエラーなし 1 パリティエラーあり
OVERRUN error (オーバーランエラー ステータス)
:オーバーランエラー発生状態の確認を行います。 OVERRUN
error オーバーランエラーステータス
0 オーバーランエラーなし 1 オーバーランエラーあり
RXRDY (受信データレディ ステータス)
:受信バッファ内のデータの有無の確認を行います。 RXRDY 受信データレディステータス
0 受信データなし 1 受信データあり
PCI-466180
Interface Corporation - 24 -
1.3.9 モデムステータスレジスタ(MSR)
Offset :+06h Byte Word Dword Size :8ビット Read ○ - - Write - - -
ビット 7 6 5 4 3 2 1 0
CD CI DR CS delta CD delta CI delta DR delta CS 初期値 - - - - 0 0 0 0
R/W R R R R R R R R CD (CD信号状態)
:CD信号の状態の確認を行います。 CD マーク/スペース バイナリ 入力電圧 0 マーク 1/OFF -3V以下 1 スペース 0/ON +3V以上
CI (CI信号状態)
:CI信号の状態の確認を行います。 CI マーク/スペース バイナリ 入力電圧 0 マーク 1/OFF -3V以下 1 スペース 0/ON +3V以上
DR (DR信号状態)
:DR信号の状態の確認を行います。 DR マーク/スペース バイナリ 入力電圧 0 マーク 1/OFF -3V以下 1 スペース 0/ON +3V以上
CS (CS信号状態)
:CS信号の状態の確認を行います。 CS マーク/スペース バイナリ 入力電圧 0 マーク 1/OFF -3V以下 1 スペース 0/ON +3V以上
delta CD (CD信号状態変化)
:CD信号の状態変化の確認を行います。 本ビットは読み出しによりクリアされます。
delta CD CD信号状態変化 0 変化なし 1 変化あり
delta CI (CI信号状態変化)
:CI信号の状態変化の確認を行います。 本ビットは読み出しによりクリアされます。
delta CI CI信号状態変化 0 変化なし 1 変化あり
delta DR (DR信号状態変化)
:DR信号の状態変化の確認を行います。 本ビットは読み出しによりクリアされます。
delta DR DR信号状態変化 0 変化なし 1 変化あり
delta CS (CS信号状態変化)
:CS信号の状態変化の確認を行います。 本ビットは読み出しによりクリアされます。
delta CS CS信号状態変化 0 変化なし 1 変化あり
PCI-466180
- 25 - Interface Corporation
1.3.10 半二重モデム制御レジスタ(HMCR)
Offset :+07h Byte Word Dword Size :8ビット Read ○ - - Write ○ - -
ビット 7~2 1 0
- Reserved halfMC 初期値 - 0 0
R/W R/W R/W halfMC (半二重モデム制御機能)
:半二重モデム制御機能(bit0)の有効/無効を設定・確認します。ただし、auto-RS機能と同時に使用することはできません。auto-RS(+0Ah bit6)が“1”の場合、このビットへの書き込みは無視されます。またRS(+04h bit1)による設定も無効になります。
halfMC 半二重モデム制御機能 0 無効 1 有効
送信データなし(送信アイドル)の場合、RS信号を“マーク”にします。また、送信データありの場合、RS信号を“スペース”にします。 データ送出前ディレイレジスタ(DBTR: +08h)により、RS信号を“スペース”にしてから、実際にデータを出力するまでの時間を設定できます。 同様に、データ送出後ディレイレジスタ(DATR: +09h)により、送信データが空になってからRS信号を“マーク”にするまでの時間を設定できます。
RS信号 バイナリ 出力電圧 マーク 1/OFF -5V以下 スペース 0/ON +5V以上
PCI-466180
Interface Corporation - 26 -
1.3.11 データ送出前ディレイレジスタ(DBTR)
Offset :+08h Byte Word Dword Size :8ビット Read ○ - - Write ○ - -
ビット 7 6~4 3~0
- SCK[3]~SCK[1] TCTRL[4]~TCTRL[1] 初期値 - 000 0000
R/W R/W R/W SCK[3]~SCK[1] (ディレイタイマ ベースクロック)
:データ送出前ディレイタイマのベースクロックを設定・確認します。 半二重モデム制御レジスタ(HMCR: +07h)にて設定した送信データ出力前のディレイタイマを設定します。
SCK[3]~SCK[1] ディレイタイマ ベースクロック
000 1μs 001 10μs 010 100μs 011 1ms 100 10ms その他 設定無効
TCTRL[4]~TCTRL[1] (ディレイタイマ カウント)
:ディレイタイマカウントを設定・確認します。 ベースクロック×(TCTRL[4]~TCTRL[1])にてディレイタイマを設定できます。
SCK[3] 0 1 SCK[2] 0 1 0 1 ディレイタイマ
選択表 SCK[1]
TCT RL[4]
TCT RL[3]
TCT RL[2]
TCT RL[1]
0 1 0 1 0 1 0 1
0 0μs 0μs 0μs 0μs 0μs - - 0 1 1μs 10μs 100μs 1ms 10ms - - - 0 2μs 20μs 200μs 2ms 20ms - -
0 1
1 3μs 30μs 300μs 3ms 30ms - - 0 4μs 40μs 400μs 4ms 40ms - - 0 1 5μs 50μs 500μs 5ms 50ms - - 0 6μs 60μs 600μs 6ms 60ms - - -
0
1 1
1 7μs 70μs 700μs 7ms 70ms - - - 0 8μs 80μs 800μs 8ms 80ms - - - 0 1 9μs 90μs 900μs 9ms 90ms - - - 0 10μs 100μs 1000μs 10ms 100ms - -
0 1
1 11μs 110μs 1100μs 11ms 110ms - - - 0 12μs 120μs 1200μs 12ms 120ms - - - 0 1 13μs 130μs 1300μs 13ms 130ms - - - 0 14μs 140μs 1400μs 14ms 140ms - -
1
1 1
1 15μs 150μs 1500μs 15ms 150ms - - -
PCI-466180
- 27 - Interface Corporation
1.3.12 データ送出後ディレイレジスタ(DATR)
Offset :+09h Byte Word Dword Size :8ビット Read ○ - - Write ○ - -
ビット 7 6~4 3~0
- SCK[3]~SCK[1] TCTRL[4]~TCTRL[1] 初期値 - 000 0000
R/W R/W R/W SCK[3]~SCK[1] (ディレイタイマ ベースクロック)
:データ送出後ディレイタイマのベースクロックを設定・確認します。 半二重モデム制御レジスタ(HMCR: +07h)にて設定した送信データ出力後のディレイタイマを設定します。
SCK[3]~SCK[1] ディレイタイマ ベースクロック
000 1μs 001 10μs 010 100μs 011 1ms 100 10ms その他 設定無効
TCTRL[4]~TCTRL[1] (ディレイタイマ カウント)
:ディレイタイマカウントを設定・確認します。 ベースクロック×(TCTRL[4]~TCTRL[1])にてディレイタイマを設定できます。
SCK[3] 0 1 SCK[2] 0 1 0 1 ディレイタイマ
選択表 SCK[1]
TCT RL[4]
TCT RL[3]
TCT RL[2]
TCT RL[1]
0 1 0 1 0 1 0 1
0 0μs 0μs 0μs 0μs 0μs - - 0 1 1μs 10μs 100μs 1ms 10ms - - - 0 2μs 20μs 200μs 2ms 20ms - -
0 1
1 3μs 30μs 300μs 3ms 30ms - - 0 4μs 40μs 400μs 4ms 40ms - - 0 1 5μs 50μs 500μs 5ms 50ms - - 0 6μs 60μs 600μs 6ms 60ms - - -
0
1 1
1 7μs 70μs 700μs 7ms 70ms - - - 0 8μs 80μs 800μs 8ms 80ms - - - 0 1 9μs 90μs 900μs 9ms 90ms - - - 0 10μs 100μs 1000μs 10ms 100ms - -
0 1
1 11μs 110μs 1100μs 11ms 110ms - - - 0 12μs 120μs 1200μs 12ms 120ms - - - 0 1 13μs 130μs 1300μs 13ms 130ms - - - 0 14μs 140μs 1400μs 14ms 140ms - -
1
1 1
1 15μs 150μs 1500μs 15ms 150ms - - -
PCI-466180
Interface Corporation - 28 -
1.3.13 拡張機能レジスタ(EFR)
Offset :+0Ah Byte Word Dword Size :8ビット Read ○ - - Write ○ - -
ビット 7 6 5 4 3~0
auto-CS auto-RS Special Char SFSTOP Xoff/on[3]~Xoff/on[0]
初期値 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W R/W
auto-CS (CS信号ハードウェア フローコントロール)
: CS信号ハードウェアフローコントロールを設定・確認します。 auto-CS CS信号ハードウェアフローコントロール
0 無効 1 有効
CS信号の状態により、データの送信開始, 停止を制御できます。 CS信号 バイナリ 入力電圧 送信状態 マーク 1/OFF -3V以下 停止 スペース 0/ON +3V以上 開始
auto-RS (RS信号ハードウェア フローコントロール)
: RS信号ハードウェアフローコントロールを設定・確認します。ただし、半二重モデム制御機能(halfMC: +07h bit0)と同時に使用することはできません。 同時に使用している場合、このビットへの書き込みは無視されます。また、RS(+04h bit1)による設定も無効になります。
auto-RS RS信号ハードウェアフローコントロール 0 無効 1 有効
受信FIFOのデータ数によりRS信号の状態を変化させます。RxFIFOtrg(+02h bit7, bit6)により、設定したデータ数以上になった場合、RS信号をマークします。また、設定したデータ数を下回った場合、RS信号をスペースにします。
RS信号 バイナリ 出力電圧 マーク 1/OFF -5V以下 スペース 0/ON +5V以上
Special Char (スペシャルキャラクタ 検出機能)
:スペシャルキャラクタ検出機能を設定・確認します。ソフトウェア フローコントロールとスペシャルキャラクタ検出機能は同時に使用できません。Xoff/on(bit3~bit0)が“0000”以外の値であった場合、このビットへの書き込みは無効になります。
Special Char スペシャルキャラクタ検出機能 0 無効 1 有効
受信したフレームのデータビット部分がXoff2レジスタ(+0Fh)と一致した場合、スペシャルキャラクタと認識します。
SFSTOP (受信ソフトウェア フローコントロール状態)
:受信ソフトウェアフローコントロールによる送信停止状態を表します。 受信ソフトウェアフローコントロールが無効な場合、値は“0”固定となり ます。
SFSTOP 受信ソフトウェアフローコントロール 0 送信可能 1 送信停止
PCI-466180
- 29 - Interface Corporation
Xoff/on[3], Xoff/on[2] (送信ソフトウェア フローコントロール)
:送信ソフトウェアフローコントロールの使用するXonワード, Xoffワードを設定・確認します。送信ソフトウェアフローコントロールとスペシャルキャラクタ検出機能は同時に使用できません。Special Char(bit5)が“1”かつ本ビットが“00”以外の値であった場合、このビットへの書き込みは無視されます。
Xoff/on[3], Xoff/on[2]
送信ソフトウェア フローコントロール Xonワード Xoffワード
00 無効 なし なし 01 有効 Xon2 Xoff1 10 有効 Xon1 Xoff2 11 有効 Xon1+Xon2 Xoff1+Xoff2
受信FIFOのデータ数により、Xonワード, Xoffワードを送信します。RxFIFOtrg(+01h bit7, bit6)により、設定したデータ数以上になった場合、Xoffワードを送信します。また、設定したデータ数を下回った場合、Xonワードを送信します。
Xoff/on[1], Xoff/on[0] (受信ソフトウェア フローコントロール)
:受信ソフトウェアフローコントロールの使用するXonワード, Xoffワードを設定・確認します。受信ソフトウェアフローコントロールとスペシャルキャラクタ検出機能は同時に使用できません。Special Char(bit5)が“1”かつ本ビットが“00”以外の値であった場合、このビットへの書き込みは無視されます。
Xoff/on[1], Xoff/on[0]
受信ソフトウェア フローコントロール Xonワード Xoffワード
00 無効 なし なし 01 有効 Xon2 Xoff1 10 有効 Xon1 Xoff2 11 有効 Xon1+Xon2 Xoff1+Xoff2
受信したキャラクタによって、データの送信開始, 停止を制御できます。・Xoffワードを受信するとデータ送信を停止します。 ・Xonワードを受信するとデータ送信を開始します。 この際、受信したXoffワード, Xonワードは受信FIFOには格納されません。Xon any(+04h bit5)にて全ての受信キャラクタをXonワードとすることもできます。
1.3.14 Xon1レジスタ
Offset :+0Ch Byte Word Dword Size :8ビット Read ○ - - Write ○ - -
ビット 7~0
Xon1[7]~Xon1[0] 初期値 0
R/W R/W Xon1[7]~Xon1[0] (Xon1キャラクタ)
: Xon1キャラクタを設定・確認します。
PCI-466180
Interface Corporation - 30 -
1.3.15 Xon2レジスタ
Offset :+0Dh Byte Word Dword Size :8ビット Read ○ - - Write ○ - -
ビット 7~0
Xon2[7]~Xon2[0] 初期値 0
R/W R/W Xon2[7]~Xon2[0] (Xon2キャラクタ)
: Xon2キャラクタを設定・確認します。
1.3.16 Xoff1レジスタ
Offset :+0Eh Byte Word Dword Size :8ビット Read ○ - - Write ○ - -
ビット 7~0
Xoff1[7]~Xoff1[0] 初期値 0
R/W R/W Xoff1[7]~Xoff1[0] (Xoff1キャラクタ)
: Xoff1キャラクタを設定・確認します。
1.3.17 Xoff2レジスタ
Offset :+0Fh Byte Word Dword Size :8ビット Read ○ - - Write ○ - -
ビット 7~0
Xoff2[7]~Xoff2[0] 初期値 0
R/W R/W Xoff2[7]~Xoff2[0] (Xoff2キャラクタ)
: Xoff2キャラクタを設定・確認します。
PCI-466180
- 31 - Interface Corporation
1.3.18 受信FIFOカウント(下位)レジスタ(RFCLR)
Offset :+10h Byte Word Dword Size :8ビット Read ○ - - Write ○ - -
ビット 7~0
RFCNTL[7]~RFCNTL[0] 初期値 00000000
R/W R/W RFCNTL[7]~RFCNTL[0](受信FIFOカウント下位)
:受信FIFOのカウント値(11ビット)の下位8ビット。 受信FIFOカウンタはRFCLR(+10h)→RFCHR(+11h)の順に リードする必要があります。 カウント値は受信FIFO内のキャラクタ数と同じです。 受信ホールディングレジスタ(RHR: +00h)の1キャラクタ分は含まれません。
1.3.19 受信FIFOカウント(上位)レジスタ(RFCHR)
Offset :+11h Byte Word Dword Size :8ビット Read ○ - - Write ○ - -
ビット 7~3 2~0
- RFCNTH[2]~RFCNTH[0] 初期値 - 000
R/W R/W RFCNTH[2]~RFCNTH[0](受信FIFOカウント上位)
:受信FIFOのカウント値(11ビット)の上位3ビット。 受信FIFOカウント値は000h~400hの範囲。
1.3.20 送信FIFOカウント(下位)レジスタ(TFCLR)
Offset :+12h Byte Word Dword Size :8ビット Read ○ - - Write ○ - -
ビット 7~0
TFCNTL[7]~TFCNTL[0] 初期値 00000000
R/W R/W TFCNTL[7]~TFCNTL[0](送信FIFOカウント下位)
:送信FIFOのカウント値(11ビット)の下位8ビット。 送信FIFOカウンタはTFCLR(+12h)→TFCHR(+13h)の順に リードする必要があります。 カウント値は受信FIFO内のキャラクタ数と同じです。
PCI-466180
Interface Corporation - 32 -
1.3.21 送信FIFOカウント(上位)レジスタ(TFCHR)
Offset :+13h Byte Word Dword Size :8ビット Read ○ - - Write ○ - -
ビット 7~3 2~0
- TFCNTH[2]~TFCNTH[0] 初期値 - 000
R/W R/W TFCNTH[2]~TFCNTH[0](送信FIFOカウント上位)
:送信FIFOのカウント値(11ビット)の上位3ビット。 送信FIFOカウント値は000h~400hの範囲。
1.3.22 拡張受信トリガレジスタ(ERTR)
Offset :+14h Byte Word Dword Size :8ビット Read ○ - - Write ○ - -
ビット 7~3 2~0
- RFTRG[2]~RFTRG[0] 初期値 - 001
R/W R/W RFTRG[2]~RFTRG[0] (拡張受信トリガ)
:受信FIFOトリガレベルを設定・確認します。設定した値は enhanced trigger(+02h bit3)を“1”に設定することにより有効 となります。01h~07hまで設定が可能。
1.3.23 クロック設定レジスタ
Offset :+20h Byte Word Dword Size :8ビット Read ○ - - Write ○ - -
ビット 7 6 5 4~0
CSRC CSRB CSRA - 初期値 0 0 0 -
R/W R/W R/W R/W CSRC~CSRA (ビットレート基準 クロック)
:ビットレート基準クロックを設定・確認します。 クロック周波数一覧表
CSRC CSRB CSRA 周波数 0 0 0 32MHz 0 0 1 19.6608MHz 0 1 0 14.7456MHz 0 1 1 12.288MHz 1 0 0 8.192MHz 1 0 1 58.9824MHz 1 1 0 49.152MHz 1 1 1 設定禁止
PCI-466180
- 33 - Interface Corporation
1.3.24 ソフトウェアリセットレジスタ
Offset :+21h Byte Word Dword Size :8ビット Read - - - Write ○ - -
ビット 7~1 0
- RST channel
初期値 - 0 R/W W
RST channel (UARTコントローラ リセット)
: +00h~+1Fhのレジスタの内容をリセットします。 RST channel UARTコントローラリセット
0 無効 1 リセット発行
PCI-466180
Interface Corporation - 34 -
1.3.25 DLL設定レジスタ
Offset :+28h, +29h Byte Word Dword Size :16ビット Read ○ ○ - Write ○ ○ -
ビット 15~0
DLL[15]~DLL[0] 初期値 0000000000000001
R/W R/W DLL[15]~DLL[0] (ビットレート分周値)
:ビットレートジェネレータ分周値を設定・確認します。 ビットレート基準クロック: CSRC, CSRB, CSRA(+20h bit7~bit5) と本レジスタを設定することにより、通信速度を設定できます。設定時、内部カウンタがクリアされるため、同じ値を設定した場合、クロックが一時的に乱れます。 ビットレート基準クロック
(MHz) 分周値
(n) 通信速度
(kbps) 32 2 1000 32 4 500 32 8 200 32 20 100 32 65535 0.030518
19.6608 2 614.4 19.6608 3 109.6 19.6608 6 204.8 19.6608 12 102.4 19.6608 65535 0.0187503 14.7456 1 921.6 14.7456 2 460.8 14.7456 3 307.2 14.7456 6 153.6 14.7456 12 76.8 14.7456 65535 0.0140627 12.288 1 768 12.288 2 384 12.288 3 256 12.288 6 128 12.288 12 64 12.288 65535 0.0117189
1.3.26 インタフェースモジュールIDレジスタ
Offset :+3Fh Byte Word Dword Size :8ビット Read ○ - - Write - - -
ビット 7~4 3~0
- BID[3]~BID[0] 初期値 - 0000
R/W R BID[3]~BID[0] (インタフェースモ ジュールIDレジスタ)
:同一型式のインタフェースモジュールが複数枚同時に使用された場合に、 個別にインタフェースモジュールを識別するための番号です。 インタフェースモジュール識別用ロータリスイッチ(RSW1)の値を読み出します。出荷時設定は“0”です。
通信速度 = ビットレート基準クロック ビットレート分周値×16
PCI-466180
- 35 - Interface Corporation
第2章 機能説明
2.1 受信FIFO割り込み 受信割り込みを使用することにより容易にデータ受信を行うことができます。 RHR interrupt(+01h bit0)を有効にすることにより、受信FIFOのデータ数がRxFIFOtrg(+02h bit7, bit6)にて設定したデータ数以上になった場合に割り込みを発生させることができます。
単位: バイトRS信号ハードウェアフローコントロール用
受信 FIFOトリガレベル 送信ソフトウェアフローコントロール用
受信 FIFOトリガレベル RxFIFOtrg[1], RxFIFOtrg[0]
割り込み用 受信 FIFO トリガレベル RS信号マーク RS信号スペース 送信 Xoff 送信 Xon
00 8 512 256 512 256 01 16 512 256 512 256 10 128 512 384 512 384 11 256 512 384 512 384
また、受信FIFOのデータ数が設定値以下であっても、受信データがある状態(受信ホールディングレジスタ(RHR)にデータがある状態)でタイムアウトになる(一定時間を経過する)と割り込みが発生します。 このため、受信FIFO割り込み発生ごとに、受信FIFOカウントレジスタ(+10h, +11h)の値に1を足した値と同じ回数分受信ホールディングレジスタ(RHR)をリードするだけで受信データを全て読み込むことができます。(1を足すのは受信ホールディングレジスタ(RHR)分を加算しているためです。下記の図を参照。) なお、タイムアウト時間はTOS(+03h bit7)にて設定します。
受信ホールディングレジスタ(RHR)
0
1024
受信データ
FIFOに格納された受信データは、1キャラクタずつ受信ホールディングレジスタ(RHR)を介してリードアクセスにて読み込まれます。受信ホールディングレジスタ(RHR)の受信キャラクタがリードされた場合、受信 FIFO から自動的に補充されます。(受信データの最初のキャラクタは、FIFOを通過して受信ホールディングレジスタ(RHR)に保持されます。)本製品では最大で 1025キャラクタを格納できます。(受信ホールディングレジスタ(RHR):1キャラクタ、受信 FIFO:1024キャラクタ)
受信 FIFO1024バイト
(1024キャラクタ)
1
リードアクセス
受信データ受信 FIFOカウント
(キャラクタ数)
::
:
:
受信 FIFOと受信ホールディングレジスタ(RHR)
2.2 CS信号ハードウェアフローコントロール CS信号ハードウェアフローコントロールを有効にする(auto-CS: +0Ah bit7)ことにより、データの送信開始, 停止をCS信号にて制御できます。
CS信号 バイナリ 入力電圧 送信状態 マーク 1/OFF -3V以下 停止 スペース 0/ON +3V以上 開始
CS信号が“スペース”であれば直ちに送信を開始します。 CS信号が“マーク”であれば直ちに送信を停止します。送信中の場合はそのデータの送信完了後に送信を停止します。(スタートビット送信よりも後であれば送信中とみなします。) CS信号ハードウェアフローコントロールを使用することにより、受信側からの送信制御を行うことができます。このため、受信側のFIFOがfull等によりデータの受信ができない場合、CS信号を“マーク”することにより、取りこぼしのない受信を行うことができます。
PCI-466180
Interface Corporation - 36 -
2.3 RS信号ハードウェアフローコントロール RS信号ハードウェアフローコントロールを有効にする(auto-RS: +0Ah bit6)ことにより、受信FIFOのデータ数に応じてRS信号の状態を変化させることができます。 設定したデータ数以上になった場合、RS信号を“マーク”にします。また、設定したデータ数を下回った場合、RS信号を“スペース”にします。
RS信号 バイナリ 出力電圧 マーク 1/OFF -5V以下 スペース 0/ON +5V以上
データ数の設定はRxFIFOtrg(+02h bit7, bit6)にて行います。 単位: バイト
RS信号ハードウェアフローコントロール用受信 FIFOトリガレベル
送信ソフトウェアフローコントロール用受信 FIFOトリガレベル RxFIFOtrg[1],
RxFIFOtrg[0]
割り込み用 受信 FIFO トリガレベル RS信号マーク RS信号スペース 送信 Xoff 送信 Xon
00 8 512 256 512 256 01 16 512 256 512 256 10 128 512 384 512 384 11 256 512 384 512 384
RS信号ハードウェアフローコントロールを使用することにより、送信側からの受信側のFIFOの状況を確認することができます。このため、送信制御を行うことにより、取りこぼしのない通信を行うことができます。
2.4 受信ソフトウェアフローコントロール 受信ソフトウェアフローコントロールを有効にする(Xoff/on[3], Xoff/on[2]: +0Ah bit3, bit2)ことにより、データの送信開始, 停止を受信キャラクタにて制御できます。
Xoff/on[3], Xoff/on[2]
送信ソフトウェア フローコントロール Xonワード Xoffワード
00 無効 なし なし 01 有効 Xon2 Xoff1 10 有効 Xon1 Xoff2 11 有効 Xon1+Xon2 Xoff1+Xoff2
受信キャラクタがXonワードであれば、直ちに送信を開始します。 受信キャラクタがXoffワードであれば、直ちに送信を停止します。送信中の場合はそのデータの送信完了後に送信を停止します。 (受信したXonワード, Xoffワードは受信FIFO, 受信ホールディングレジスタ(RHR)には格納されません。) 受信ソフトウェアフローコントロールによる送信開始, 停止の状態はSFSTOP(+0Ah bit4)にて確認することができます。また、Xonワード, Xoffワードの受信により割り込みを発生させることができます(Xoff interrupt: +01h bit5)。 Xonワード, Xoffワードは、Xoff/on[3], Xoff/on[2](+0Ah bit3, bit2)、およびXon1レジスタ, Xon2レジスタ, Xoff1レジスタ, Xoff2レジスタ(+0Ch~+0Fh)にて設定することができます。また、Xon any(+04h bit5)により、受信した全てのキャラクタをXonワードとすることもできます。 受信ソフトウェアフローコントロールを使用することにより、受信側からの送信制御を行うことができます。このため、受信FIFOがfull等によりデータの受信ができない場合、Xoffワードを送信することにより、取りこぼしのない受信を行うことができます。
PCI-466180
- 37 - Interface Corporation
2.5 送信ソフトウェアフローコントロール 送信ソフトウェアフローコントロールを有効にする(Xoff/on[1], Xoff/on[0]: +0Ah bit1, bit0)ことにより、受信FIFOのデータ数に応じて指定したキャラクタを送信できます。 設定したデータ数以上になった場合、Xoffワードを送信します。また、設定したデータ数を下回った場合、Xonワードを送信します。
Xoff/on[1], Xoff/on[0]
受信ソフトウェア フローコントロール Xonワード Xoffワード
00 無効 なし なし 01 有効 Xon2 Xoff1 10 有効 Xon1 Xoff2 11 有効 Xon1+Xon2 Xoff1+Xoff2
データ数の設定はRxFIFOtrg(+02h bit7, bit6)にて行います。 単位: バイト
RS信号ハードウェアフローコントロール用受信 FIFOトリガレベル
送信ソフトウェアフローコントロール用受信 FIFOトリガレベル RxFIFOtrg[1],
RxFIFOtrg[0]
割り込み用 受信 FIFO トリガレベル RS信号マーク RS信号スペース 送信 Xoff 送信 Xon
00 8 512 256 512 256 01 16 512 256 512 256 10 128 512 384 512 384 11 256 512 384 512 384
Xonワード, Xoffワードは、Xoff/on[1], Xoff/on[0](+0Ah bit1, bit0)、およびXon1レジスタ, Xon2レジスタ, Xoff1レジスタ, Xoff2レジスタ(+0Ch~+0Fh)にて設定します。 送信ソフトウェアフローコントロールを使用することにより、送信側からの受信FIFOの状況を確認することができます。このため、送信制御を行うことにより、取りこぼしのない通信を行うことができます。
2.6 スペシャルキャラクタ スペシャルキャラクタ検出機能を有効にする(Special Char: +0Ah bit5)ことにより、スペシャルキャラクタを検出できます。スペシャルキャラクタはXoff2レジスタ(+0Fh)にて設定します。また、検出時に割り込みを発生させることができます(Xoff interrupt: +01h bit5)。 スペシャルキャラクタを使用することにより、受信側にて割り込みを用いた処理を行うことができます。また、送信側からの制御により、受信側にて即時に一連の処理を実行することができます。
PCI-466180
Interface Corporation - 38 -
2.7 半二重モデム制御機能 半二重モデムに接続するための機能です。(RS-232C製品のみ対応) 送信データ無し(送信アイドル)の場合、RS信号を“マーク”にします。また、送信データ有りの場合、RS信号を“スペース”にします。 データ送出前ディレイレジスタ(DBTR: +08h)により、RS信号を“スペース”にしてから、実際にデータを出力するまでの時間を設定できます。設定可能な時間は1μs~150msです。 同様に、データ送出後ディレイレジスタ(DATR: +09h)により、送信データが空になってからRS信号を“マーク”にするまでの時間を設定できます。設定可能な時間はは1μs~150msです。
DBTR
SD信号
DATR
RS信号
通信相手がモデムの場合、受信の準備を開始するため、データ送出前ディレイレジスタ(DBTR)を制御して、予めRS信号を“スペース”とし、送信データ出力まで間をあける必要があります。また、最後のデータを送信している最中、製品上には送信データが無くRS信号はすぐに“マーク”になってしまうため、データ送出後ディレイレジスタ(DATR)を制御して、データ送信完了後に“スペース”になるようにする必要があります。
PCI-466180
- 39 - Interface Corporation
2.8 ループバックモード ループバックモードを設定する(Loop-Back: +04h bit4)ことにより、内部的に以下の信号を接続します。また、CD信号, CI信号の状態をレジスタ(Loop-CD, Loop-CI: +04h bit3, bit2)にて制御できます。 ・ SD信号-RD信号 ・ RS信号-CS信号 ・ ER信号-DR信号
UA
RTコントローラへ
Loop-CD+04h bit3
SD
ERRS
CD
RD
DRCS
CI
ループバックモード使用時の外部入出力信号の状態
Loop-CI+04h bit2
外部入出力コネクタへ
ループバックモードを使用することにより、以下を行うことができます。 ①データ送信の確認
SD信号として送信したデータをRD信号として受信できます。 ②出力信号状態の確認
RS信号, ER信号の状態をそれぞれ、CS信号, DR信号として確認できます。 ③指定データの受信 受信したいデータを SD信号から送信することにより、そのデータを受信することができます。 ④入力信号状態の制御
CS信号, DR信号の状態をそれぞれ RS信号, ER信号にて制御できます。また、CD信号, CI信号 の状態をレジスタにて制御できます。
ループバックモードの具体的な使用方法として、擬似的なデータ送受信のチェックが挙げられます。 アプリケーションにてデータ送信、もしくは、出力信号の制御を行っている場合、ループバック モードを使用することにより、意図したデータが送信されているか、出力信号が意図した状態であるか確認できます。 また、アプリケーションにてデータの受信や入力信号の状態により処理を行っている場合、ループバックモードにて意図したデータの受信、入力信号の状態の制御を行うことにより処理が発生するかどうかを確認することができます。
PCI-466180
Interface Corporation - 40 -
第3章 DOSからのリソース取得(BPD-0805)
3.1 概要
DOS上からインタフェースモジュールのリソース情報を取得する場合には、BPD-0805をご利用ください。 BPD-0805は、弊社Web siteからダウンロードできます。下記説明および、README.TXTを参照の上、ご利用ください。 ※ 同一型式のインタフェースモジュールが複数枚同時に使用された場合、個別にインタフェー スモジュールを識別するには、インタフェースモジュールIDレジスタ(+3Fh)にて識別してく ださい。
3.2 プログラム作成時の注意
プログラムソースにヘッダファイルを記述し、オブジェクトファイルを一緒にリンクしてくださ
い。
3.3 対応言語 PC-9801/9821シリーズ IBM PC/AT互換機 Borland C++ Ver. 4.0 Borland C++ Ver. 4.0 Borland C++ Ver. 4.5 Borland C++ Ver. 4.5 Borland C++ Ver. 5.0 Borland C++ Ver. 5.0 Turbo C++ 1.01 2nd Edition Turbo C++ Ver. 4.0 Turbo C++ Ver. 4.0 Microsoft C Ver. 6.0 Microsoft C Ver. 6.0 Microsoft C/C++ Ver. 7.0 Microsoft C/C++ Ver. 7.0
PCI-466180
- 41 - Interface Corporation
3.4 関数説明
PciGetConfigRegEx 【機 能】
PCI BIOSをコールしてPCIインタフェースモジュールのリソース情報を取得します。
【書 式】 int PciGetConfigRegEx( int index, unsigned int ven_id, unsigned int dev_id, unsigned int subven_id, unsigned int subsys_id, unsigned int *bus_info, PPCI_CONFIG PciData )
【パラメータ】
index インタフェースモジュールのインデックス番号を指定します。 (RSW1の値とは関係ありません) 同一型式のインタフェースモジュールが1枚しかない場合は1を指定します。複数枚ある場合には何枚目のインタフェースモジュールのリソースを取得するか指定します。
ven_id ベンダIDを指定します。 弊社のベンダIDは1147hです。
dev_id デバイスIDを指定します。 PCI-466180のデバイスIDは4661(16進数では1235h)です。
subven_id サブベンダIDを指定します。 弊社のサブベンダIDは1147hです。
subsys_id サブシスムIDを指定します。 PCI-466180のサブシステムIDは20D0hまたは2150hです。
bus_info バス情報を格納する変数へのポインタです。 バス情報は、以下の形式で格納されます。 bit15~bit8:バス番号 bit7~bit3:デバイス番号 bit2~bit0:ファンクション番号
PciData PCIコンフィギュレーションレジスタの値を格納する構造体へのポインタです。 【戻り値】
0:正常終了(インタフェースモジュールが見つかりました) -1:PCI BIOSがありません -2:インタフェースモジュールが1枚も見つかりませんでした -3:これ以上インタフェースモジュールがありません
PCI-466180
Interface Corporation - 42 -
【使用例】
#include <stdio.h> #include “GETBAR.H” void main ( void ) { unsigned long adr0, adr1, adr2, adr3, adr4; char rswno; unsigned int bus_info; PCI_CONFIG PciData; PciGetConfigRegEx ( 1, 0x1147, 4661, 0x1147, 0x20D0,&bus_info,
&PciData ); // リソースの取得 adr0= PciData.BaseAddresses[0] & 0xFFFFFFFC; // CH1通信制御アドレス adr1= PciData.BaseAddresses[1] & 0xFFFFFFFC; // CH2通信制御アドレス adr2= PciData.BaseAddresses[2] & 0xFFFFFFFC; // CH3通信制御アドレス adr3= PciData.BaseAddresses[3] & 0xFFFFFFFC; // CH4通信制御アドレス printf ( “CH1通信制御アドレス:%8x¥n” , adr0); printf ( “CH2通信制御アドレス:%8x¥n” , adr1); printf ( “CH3通信制御アドレス:%8x¥n” , adr2); printf ( “CH4通信制御アドレス:%8x¥n” , adr3); printf ( “割り込み番号:%d¥n” , PciData.InterruptLine ); PciGetConfigRegEx ( 1, 0x1147, 4661, 0x1147, 0x2150,&bus_info,
&PciData ); // リソースの取得 adr0= PciData.BaseAddresses[0] & 0xFFFFFFFC; // CH5通信制御アドレス adr1= PciData.BaseAddresses[1] & 0xFFFFFFFC; // CH6通信制御アドレス adr2= PciData.BaseAddresses[2] & 0xFFFFFFFC; // CH7通信制御アドレス adr3= PciData.BaseAddresses[3] & 0xFFFFFFFC; // CH8通信制御アドレス printf ( “CH5通信制御アドレス:%8x¥n” , adr0); printf ( “CH6通信制御アドレス:%8x¥n” , adr1); printf ( “CH7通信制御アドレス:%8x¥n” , adr2); printf ( “CH8通信制御アドレス:%8x¥n” , adr3); printf ( “割り込み番号:%d¥n” , PciData.InterruptLine ); } PCI-466180のリソースを取得します。
PCI-466180
- 43 - Interface Corporation
PCI_CONFIG構造体
【機 能】
PCIコンフィギュレーションレジスタの値を格納します。 【書 式】
typedef struct _PCI_CONFIG { unsigned short VendorID; // 00:Vendor ID unsigned short DeviceID; // 02:Device ID unsigned short Command; // 04:Command unsigned short Status; // 06:Status unsigned char RevisionID; // 08:Revision unsigned char ProgIf; // 09:ProgIf unsigned char SubClass; // 0A:Sub Class unsigned char BaseClass; // 0B:Base unsigned char CacheLineSize; // 0C:Cache Line unsigned char LatencyTimer; // 0D:Latency unsigned char HeaderType; // 0E:Header unsigned char BIST; // 0F:BIST unsigned long BaseAddresses[6]; // 10:Base Address unsigned long CIS; // 28:CIS Pointer unsigned short SubVendorID; // 2C:Subsystem Vendor ID unsigned short SubSystemID; // 2E:Subsystem ID unsigned long ROMBaseAddress; // 30:ROM Base Address unsigned char CapabilitiesPtr; // 34:Capabilities Pointer unsigned char Reserved1[3]; // 35:Reserved unsigned long Reserved2[1]; // 38:Reserved unsigned char InterruptLine; // 3C:INT Line unsigned char InterruptPin; // 3D:INT Pin unsigned char MinimumGrant; // 3E:MIN_GNT unsigned char MaximumLatency; // 3F:MAX_LAT unsigned char DeviceSpecific[192]; // 40: } PCI_CONFIG, *PPCI_CONFIG;
【パラメータ】 ここでは、主なパラメータのみを説明します。 BaseAddresses[6] BaseAddress0~BaseAddress5を格納する変数です。
PCI-466180では以下のようになります。 BaseAddress[0](BaseAddress0) CH1、またはCH5通信制御アドレス BaseAddress[1](BaseAddress1) CH2、またはCH6通信制御アドレス BaseAddress[2](BaseAddress2) CH3、またはCH7通信制御アドレス BaseAddress[3](BaseAddress3) CH4、またはCH8通信制御アドレス BaseAddress[4](BaseAddress4) 予約 実際のI/Oポートアドレスは、この値をFFFFFFFChでマスクされた値です。 InterruptLine 割り込み番号を格納する変数です。 RevisionID Revisionを格納する変数です。
他のパラメータについては、PCI規格書をご覧ください。
PCI-466180
Interface Corporation - 44 -
第4章 DOSからのメモリアクセス(BPD-0806)
4.1 概要
DOS上から1MBを超えるメモリ空間にアクセスするには、BPD-0806を利用してください。 BPD-0806はDOSから4GBメモリ空間へアクセスするためのツールです。 MS-DOS, PC DOS 2000のREALモードでは、CPUのセグメントリミットが64KBに制限されるため、32ビットレジスタ(EBX, ESI, EDI)による1MBを超えるメモリエリアへのアクセスは、例外が発生します。 FBIMEM4G.COMの実行により、REALモードのセグメントリミット(DS, ES, FS, GS)は64KBから4GBに拡張され、32ビットレジスタ(EBX, ESI, EDI)による1MBを超えるメモリエリアへのアクセスが有効となります。 BPD-0806は、弊社Web siteからダウンロードできます。下記説明および、README.TXTを参照の上、ご利用ください。
4.2 BPD-0806 使用時の注意事項 ■ BPD-0806は、仮想86モードでは、動作しません。 ■ CPUのGDTを変更するアプリケーションは動作しません。 ■ FBIMEM4G.COMを実行していない状態で、4GBの領域にアクセスするとコンピュータがハングアップするのでご注意ください。
4.3 メモリへのアクセス方法
4GBまでのメモリ空間へアクセスする場合、まず FBIMEM4G.COMを実行してください。 その後は、メモリアクセスライブラリを使用して、4GBまでのメモリ空間に対してByte, Word, Dword単位でのリード/ライトが行えます。 ■ FBIMEM4G.COM Ver.2.00 以上はメモリ常駐タイプです。 コンベンショナルメモリを約2KB使用します。
■ FBIMEM4G.COM Ver.1.01-02 は常駐しません。また、メモリも消費しません。
4.4 プログラム作成時の注意 プログラムソースにヘッダファイルを記述し、オブジェクトファイルを一緒にリンクしてください。
PCI-466180
- 45 - Interface Corporation
4.5 対応言語
Borland C++ Ver. 5.0 Turbo C++ Ver. 4.0 Microsoft C Ver. 6.0 Microsoft C/C++ Ver. 7.0
4.6 関数説明 UioPeekByte
【機 能】 指定したメモリから1バイト(8ビット)データを読み込みます。
【書 式】
unsigned char far UioPeekByte( unsigned long _address )
【パラメータ】
_address 読み込むメモリのアドレスを指定します。32ビットの値です。
【戻り値】 0h~FFh:読み込まれたデータを返します。
【使用例】 インタフェースモジュール上のメモリの先頭から16バイトのデータを読み出します。 (例としてFEC00000hにメモリがあるとします。) #include <stdio.h> #include “fbiuio.h” void main (void) { unsigned long Adr; unsigned char bData; int i; Adr= 0xFEC00000UL; for (i= 0; i<16; i++,Adr++) { bData= UioPeekByte(Adr); // 1バイト読み込み printf(”%08lX:%02X¥n”,Adr,bData); } }
PCI-466180
Interface Corporation - 46 -
UioPokeByte
【機 能】 指定したメモリへ1バイト(8ビット)データを書き込みます。
【書 式】
void far UioPokeByte( unsigned long _address, unsigned char _data )
【パラメータ】
_address 書き込むメモリのアドレスを指定します。32ビットの値です。 _data 書き込むデータを指定します。 )
【戻り値】 ありません。
【使用例】 インタフェースモジュール上のメモリの先頭から16バイトへデータを書き込みます。 (例としてFEC00000hにメモリがあるとします。) #include <stdio.h> #include “fbiuio.h” void main (void) { unsigned long Adr; unsigned char bData; int i; Adr= 0xFEC00000UL; for (i= 0,bData= 0x00; i<16; i++,Adr++,bData++) { UioPokeByte(Adr,bData) ; // 1バイト書き込み printf(”%08lX:%02X¥n”,Adr,bData); } }
PCI-466180
- 47 - Interface Corporation
UioPeekWord
【機 能】 指定したメモリから1ワード(16ビット)データを読み込みます。
【書 式】
unsigned short far UioPeekWord( unsigned long _address )
【パラメータ】
_address 読み込むメモリのアドレスを指定します。32ビットの値です。
【戻り値】 0h~FFFFh:読み込まれたデータを返します。
【使用例】 インタフェースモジュール上のメモリの先頭から16ワードのデータを読み出します。 (例としてFEC00000hにメモリがあるとします。) #include <stdio.h> #include “fbiuio.h” void main (void) { unsigned long Adr; unsigned short wData; int i; Adr= 0xFEC00000UL; for (i= 0; i<16; i++,Adr+= 2) { wData= UioPeekWord(Adr); // 1ワード読み込み printf(”%08lX:%04X¥n”,Adr,wData); } }
PCI-466180
Interface Corporation - 48 -
UioPokeWord
【機 能】 指定したメモリへ1ワード(16ビット)データを書き込みます。
【書 式】
void far UioPokeWord( unsigned long _address, unsigned short _data )
【パラメータ】
_address 書き込むメモリのアドレスを指定します。32ビットの値です。 _data 書き込むデータを指定します。
【戻り値】 ありません。
【使用例】 インタフェースモジュール上のメモリの先頭から16ワードへデータを書き込みます。 (例としてFEC00000hにメモリがあるとします) #include <stdio.h> #include “fbiuio.h” void main (void) { unsigned long Adr; unsigned short wData; int i; Adr= 0xFEC00000UL; for (i= 0,wData= 0x00; i<16; i++,Adr+= 2,wData++) { UioPokeWord(Adr,wData); // 1ワード書き込み printf(”%08lX:%04X¥n”,Adr,wData); } }
PCI-466180
- 49 - Interface Corporation
UioPeekDword
【機 能】 指定したメモリから1ダブルワード(32ビット)データを読み込みます。
【書 式】
unsigned long far UioPeekDword( unsigned long _address )
【パラメータ】
_address 読み込むメモリのアドレスを指定します。32ビットの値です。 【戻り値】
0h~FFFFFFFFh:読み込まれたデータを返します。 【使用例】 インタフェースモジュール上のメモリの先頭から16ダブルワードのデータを読み出します。 (例として FEC00000hにメモリがあるとします。) #include <stdio.h> #include “fbiuio.h” void main (void) { unsigned long Adr; unsigned long dwData; int i; Adr= 0xFEC00000UL; for (i= 0; i<16; i++,Adr+= 4) { dwData= UioPeekDword(Adr); // 1ダブルワード読み込み printf(”%08lX:%08lX¥n”,Adr,dwData); } }
PCI-466180
Interface Corporation - 50 -
UioPokeDword
【機 能】 指定したメモリへ1ダブルワード(32ビット)データを書き込みます。
【書 式】
void far UioPokeDword( unsigned long _address, unsigned long _data )
【パラメータ】
_address 書き込むメモリのアドレスを指定します。32ビットの値です。 _data 書き込むデータを指定します。
【戻り値】 ありません。
【使用例】 インタフェースモジュール上のメモリの先頭から16ダブルワードへデータを書き込みます。 (例として FEC00000hにメモリがあるとします。) #include <stdio.h> #include “fbiuio.h” void main (void) { unsigned long Adr; unsigned long dwData; int i; Adr= 0xFEC00000UL; for (i= 0,dwData= 0x00; i<16; i++,Adr+= 4,dwData++) { UioPokeDword(Adr,dwData); // 1ダブルワード書き込み printf(”%08lX:%08lX¥n”,Adr,dwData); } }
PCI-466180
- 51 - Interface Corporation
第5章 割り込み処理
5.1 割り込み処理方法 割り込み処理を行う場合、以下の処理を行う必要があります。 ①割り込みの制御 使用する割り込みの設定を“割り込み発生許可”にします。割り込みの設定で“割り込み発生許可”にしないと割り込みが発生しません。
例)受信ホールディングレジスタ(RHR)割り込みを有効にする場合。 ADR= BaseAddress0
UioPokeByte(ADR+0x01, 0x01);
②割り込みフラグの確認 割り込みが発生すると、発生した割り込みに対応する割り込みフラグのビットが1になります。このフラグで発生した割り込みの要因を確認します。フラグを読み込んだら全てのビットがク
リアされます。また割り込み制御の設定変更でもフラグはクリアされます。
例)割り込みフラグを確認する場合。 ADR= BaseAddress0
nRet= UioPeekByte(ADR+0x02);
※ メモリアクセス関数(UioPokeByte, UioPeekByte)につきましては『44ページ 第4章 DOSからのメモリアクセス(BPD-0806)』を参照してください。
PCI-466180
Interface Corporation - 52 -
第6章 制御方法
6.1 ビットレートの設定方法 本製品のビットレート設定は、シリアルコントローラのビットレートジェネレータ機能により行います。
カウンタ値は次の式より求めてください。 カウンタ値: 1~65535 (整数値のみ有効) 設定例) CH1を1200bps, CH2を2400bpsで初期化する場合。
(基準クロックは1.8432MHz) プログラミング方法(ADR0= BaseAddress0, ADR1= BaseAddress1)
UioPokeByte (ADR0+0x28, 0x60); // CH1分周値の下位バイトをセット UioPokeByte (ADR0+0x29, 0x00); // CH1分周値の上位バイトをセット UioPokeByte (ADR1+0x28, 0x30); // CH2分周値の下位バイトをセット UioPokeByte (ADR1+0x29, 0x00); // CH2分周値の上位バイトをセット
ビットレートクロック 32MHz 19.6608MHz 14.7456MHz 12.288MHz 8.192MHz 58.9824MHz 49.152MHz より一つを選択
カウンタ値セット シリアル コントローラ
14.7456×106 16×1200 = 738 = 0300h
14.7456×106 16×2400 = 384 = 0180h
カウンタ値=
基準クロック: 32MHz, 19.6608MHz, 14.7456MHz, 12.288MHz, 8.192MHz, 58.9824MHz, 49.152MHz
基準クロック (Hz) 16×ビットレート (bps)
PCI-466180
- 53 - Interface Corporation
6.2 データの送受信方法
データ送受信 動作説明 コントローラの初期化, ビットレートの設定後、データ送信, データ受信を行います。
処理手順
ADR= BaseAddress0
//② 基準クロック設定 //14.7456MHz UioPokeByte(ADR+0x20, 0x40);
//① コントローラの初期化 //STOPビット 1ビット //キャラクタ長 8ビット //パリティなし UioPokeByte(ADR+0x03, 0x03); //FIFO無効 UioPokeByte(ADR+0x02, 0x00);
//③ CH1分周値設定 // 分周値 48 (19200bps) UioPokeByte(ADR+0x28, 0x30); UioPokeByte(ADR+0x29, 0x00);
//④ データ送信 //TxRDYになるのを待つ while((UioPeekByte(ADR+5)&0x20)==0x00);//データ出力 UioPokeByte(ADR+0x00, 0x31);
//⑤ データ受信 //RxRDYになるのを待つ while((UioPeekByte(ADR+5)&0x01)==0x00);//データ入力 Data = UioPeekByte(ADR+0x00);
PCI-466180
Interface Corporation - 54 -
重要な情報
補償について ドキュメント内の情報には万全を期していますが、万一、誤記または誤植等があった場合、予告無く改訂する場合があります。 ドキュメントまたはドキュメント内の情報を利用して作成されたプログラムの挙動により発生したいかなる損害に対しても弊社は責任を負いません。 ドキュメント内の図や表は説明のために用意されたものであり、ユーザ個別の応用事例により変化する場合があります。 本製品に含まれるバグ、あるいは本製品の供給(納期遅延), 性能、もしくは使用に起因する付帯的損害もしくは間接的損害に対して、弊社に全面的に責がある場合でも、弊社はその製品に対する改良(正常に動作する)、代品交換までとし、金銭面での賠償の責任は一切負わないものとしますので、予めご了承ください。
著作権,知的所有権 本ドキュメントに含まれるソースプログラムおよび、本ドキュメントに関する権利や知的所有権は弊社が所有しています。
弊社製品の適用における注意 弊社製品は、人命にかかわるような状況下で使用される機器に用いられることを目的として設計, 製造されたものではありません。 弊社製品を乗用移動体用, 医療用, 航空宇宙用, 原子力制御用, 海底中継用機器等、特殊用途をご検討の際には、弊社カスタマーサポートセンタまでご照会ください。
複製の禁止 弊社の許可なく、本ドキュメントの全て、または一部に関わらず、複製, 改変, 転用等を行うことはできません。
サポート 本ドキュメントは、経験を積んだ開発者を対象に作成されたものです。 本ドキュメントの内容に関する質問および、本ドキュメントを利用したプログラム作成や記載内容に関する技術サポートは行いません。 サポートが必要な方は、有償にてサポートが可能です。別途、カスタマーサポートセンタまでお問い合わせください。
商標/登録商標 本ドキュメントに掲載されている会社名, 製品名は、それぞれ各社の商標または登録商標です。
ご使用の製品に関する制限,注意事項,保証等に関しては、製品の USER’S MANUAL に記載されていますので、よく目を通した上で、本ドキュメントをご利用ください。
- 55 - Interface Corporation
~MEMO~
Interface Corporation
PCI-466180 I/O公開資料
2007年 7月 IPB-J466180 Ver.1.0 発行
発行所
〒732-0828 広島県広島市南区京橋町10-21 TEL 082-262-7777 FAX 082-262-5066
定価 ¥2,000
本書の内容の一部または全部を、無断で転載することを禁止します。
本書の内容は、将来予告なく変更することがありますので、予めご了承ください。
IPB-J466180 Ver. 1.0 Vol. 1/1