第6章 その他の各種機能

6.1. CPLD 内部レジスタ(I/O Control Register)

6.1.1. I/O Control レジスタのメモリマップ

Armadillo-9 のCPLDにはPC/104 のI/Oを制御するためのI/O Control レジスタがあります。I/O Controlレジスタのメモリマップは次の通りです。

表6.1 I/O Control レジスタのメモリマップ

Hardware AddressLinux AddressReadWrite
0x1000 00000xF000 0000Interrupt Service Register0Interrupt Clear Register0
0x1000 00010xF000 0001(Reserved)(Reserved)
0x1000 00020xF000 0002Interrupt Service Register1Interrupt Clear Register1
0x1000 00030xF000 0003(Reserved)(Reserved)
0x1000 00040xF000 0004Interrupt Service Register2Interrupt Clear Register2
0x1000 00050xF000 0005(Reserved)(Reserved)
0x1000 00060xF000 0006(Reserved)(Reserved)
0x1000 00070xF000 0007(Reserved)(Reserved)
0x1000 00080xF000 0008(Reserved)Interrupt Mask Register0
0x1000 00090xF000 0009(Reserved)(Reserved)
0x1000 000A0xF000 000A(Reserved)Interrupt Mask Register1
0x1000 000B0xF000 000B(Reserved)(Reserved)
0x1000 000C0xF000 000C(Reserved)Interrupt Mask Register2
0x1000 000D0xF000 000D(Reserved)(Reserved)
0x1000 000E0xF000 000E(Reserved)ISA mode Control Register
0x1000 000F0xF000 000F(Reserved)(Reserved)

Interrupt Service Register(割り込みサービスレジスタ)

入ってきた割り込みの要因を見るレジスタです。

Interrupt Clear Register(割り込み要因クリアレジスタ)

割り込みサービスレジスタに入ってきた割り込み要因をクリアするレジスタです。

Interrupt Mask Register(割り込みマスクレジスタ)

各種割り込みの入力を禁止(マスク)するレジスタです。

ISA mode Control Register

PC/104(ISA) の転送モード及びリセットを設定するレジスタです。

6.1.2. 各種I/O Control レジスタの詳細

各種I/O Control レジスタの詳細は次のとおりです。

表6.2 各種I/O Control レジスタの詳細

Register NameHardware AddressLinux Address Data
76543210
Read Only          
Interrupt Service Register00x1000 00000xF000 0000-----IRQ15IRQ14IRQ12
Interrupt Service Register10x1000 00020xF000 0002----IRQ11IRQ10IRQ9IRQ7
Interrupt Service Register20x1000 00040xF000 0004----IRQ6IRQ5IRQ4IRQ3
Write Only          
Interrupt Clear Register00x1000 00000xF000 0000-----IRQ15IRQ14IRQ12
Interrupt Clear Register10x1000 00020xF000 0002----IRQ11IRQ10IRQ9IRQ7
Interrupt Clear Register20x1000 00040xF000 0004----IRQ6IRQ5IRQ4IRQ3
Interrupt Mask Register00x1000 00080xF000 0008-----IRQ15IRQ14IRQ12
Interrupt Mask Register10x1000 000A0xF000 000A----IRQ11IRQ10IRQ9IRQ7
Interrupt Mask Register20x1000 000C0xF000 000C----IRQ6IRQ5IRQ4IRQ3
ISA mode Control Register0x1000 000E0xF000 000E-----ISA resetISA mode-

表6.3 各種I/O Control レジスタの各ビットの意味

Register nameValueDescription
Interrupt Service Register 1 IRQx 割込みが発生している
0 IRQx 割込みが発生していない
Interrupt Clear Register 1 IRQx 割込みの要因をクリアする
0 IRQx 割込みの要因をクリアしない
Interrupt Mask Register 1 IRQx 割込みの入力をマスクする
0 IRQx 割込みの入力をマスクしない
ISA mode Control Register ISA mode1 高速(ISA 非互換)モード[a]
0ISA 互換モード
ISA reset 1 PC/104 Bus のRESET 信号をON( H )
1 PC/104 Bus のRESET 信号をOFF( L )

[a] このモードを設定したときの動作は保証されておりません。


6.1.3. PC/104 の割り込みコントローラの仕組み

PC/104 の割り込みコントローラはCPLD(XCR3064) に組み込まれています。この割り込みコントローラ に接続されている割り込みの種類はIRQ3, 4, 5, 6, 7, 9, 10,11,12, 14, 15 です。割り込みコントローラの概念図は次のとおりです。

PC/104 の割り込みコントローラの仕組み

図6.1 PC/104 の割り込みコントローラの仕組み


表6.4 割り込み 真理値表[3]

IRQx

IMR

MASKx

ICR

CLRx

CLK

ISR

FFx

000

rise

edge

0
11
*10
**10

[3] * : Don't Care


IRQxは、アクティブハイ信号です。PC/104 から入力されるIRQx はIMR(Interrupt Mask Register) によりマスク処理されます。マスクビットが”0”の場合、割り込み入力はそのまま通過し次段のFFに入力されます。マスクビットが”1”の場合割り込み入力がマスクされ、次段のFFには"0"が入力されます。

マスク処理を通過した割り込み入力信号は次段のISR(Interrupt Service Register)を構成しているFF(フリップフロップ)で値を保持されます。

ISR に保持されている値は、ICR(Interrupt Clear Register)の対応するビットに”1”が入力されるまで値が保持されます。

ISR に保持されているすべての値のOR をとって、CPU(EP9315)のINT1 として割り込みが通知されます。INT1は、アクティブハイ信号です。

6.2. 外部割込みについて

ボード外部からCON14 を通してCPU(EP9315)の割込み入力端子やRTC(S-353xxA)の割込み出力端子に 接続することができます。

CON14 の4 番ピンとCPU(EP9315)の割込み入力端子(INT0)を接続する場合はJP3 をショートします。 CPU(EP9315)のINT0 端子は、CMOS3.3V の電圧レベル入力です。

CON14 の4 番ピンとRTC(S-353xxA)の割込み出力端子を接続する場合はJP4 をショートします。 RTC(S-353xxA)の割込み端子は、Nch オープンドレイン出力です。(S-3531A はINT*端子、S-35380A ま たはS-35390A ではINT2*端子に接続されます。)

工場出荷状態では、JP3,4 はオープンになっています。

EXTIRQ の接続

図6.2 EXTIRQ の接続


[警告]

RTC(S-353xxA)の割込み端子はオープンドレイン出力のため、使用する場合には外付けにプルアップ抵抗が必要となります。また、端子には電源側の保護ダイオードが付いていないため、プルアップ抵抗の電源は必ず、Armadillo-9 の+3.3V を使用してください。

6.3. LED(D1, D2)

LED(D1)はCPU(EP9315)のPE0/GRLEDピンに接続されたLEDです。内蔵ROM起動時にステータスLEDとして機能した後、EP9315 のGPIO Port Eを設定することにより、LED(D1)を制御することができます。LED(D2)は基板リビジョン[4]により仕様が変わります。

6.3.1. 基板リビジョンE 以前のLED(D2)仕様

LED(D2)はCPU(EP9315)のPE1/RDLED ピンに接続されたLED ですが、このLED の信号は内部回路で使用していますので、設定を変更しないでください。

LED(D1,D2)の接続(基板リビジョンE 以前)

図6.3 LED(D1,D2)の接続(基板リビジョンE 以前)


6.3.2. 基板リビジョンE 以後のLED(D2)仕様

LED(D2)はCPU(EP9315)のGPIO Port C:7 ピンに接続されたLED です。EP9315 のGPIO Port Cを設定することにより、LED(D2)を制御することができます。

LED(D1,D2)の接続(基板リビジョンE 以後)

図6.4 LED(D1,D2)の接続(基板リビジョンE 以後)


6.4. カレンダ時計(Real Time Clock)

カレンダ時計(Real Time Clock: S-3531A またはその互換品)はCPU(EP9315)と2 線式シリアル(GPIO) で接続されています。CPU 側はパラレルポートB(PB4,5:EGPIO12,EGPIO13)をシリアルのように制御す ることにより、RTC へのアクセスを実現しています。

RTC はポリアセンキャパシタ(PAS)のバックアップにより電源切断時も一定時間の間動作することがで きます。長時間電源を切っている間も、RTC の内容を保持したい場合は、別途外付けのバッテリーを接続 することができます。(データ保持電圧範囲1.7~3.3V、消費電流0.7uA Typ.)

外付けバッテリーの接続

図6.5 外付けバッテリーの接続


[警告]

RTCの保持に使用しているポリアセンキャパシタは温度によって寿命/充放電回数が著しく異なります。また、ポリアセンキャパシタは交換不可です。そのため、RTCバックアップが重要なシステムにおいては、別途バックアップ用電池をご使用下さい。バックアップ用電池をご利用になる場合、電圧は3.3Vを越えないように設計してください。

6.5. 電源回路の構成

Armadillo-9 内の電源回路の構成は図6-5 の通りです。各制限の電流容量を超えないように、外部機器の 接続、供給電源の設計を行ってください。

Armadillo-9 の電源回路構成

図6.6 Armadillo-9 の電源回路構成




[4] 基板リビジョンは基板半田面側に記載しています。記載例:[Rev.E]