Copyright(C) 1994,1995,1996,1997 Terumasa KODAKA , Takeshi KONO ■2nd CCU(Communication Control Unit) 対象 PC-9821Xa16・Xa13・Xa12・Xa10・Xa9・Xa7・Xa7e・Xt16・Xt13・St15・St20・Ra20・ Xb10・Xv13・Xe10・V20・V16・V13・V12・V10・V7・Cx2・Cb2・Cx3・Cb3・Ne3・Nd2・ Na12・Na9・Na7・Nb7・Nx・Lt2 チップ 16550 IR301A 解説 o セカンダリシリアルとしては16550相当のチップが搭載されている。 o セカンダリシリアルインタフェースの有無は、F8E8:0011h bit 3を参照する ことで判別される。 o PC-9821Cx2・Cb2・Cx3・Cb3・Ne3・Nd2・Na12・Na9・Na7・Nb7・Nx・Lt2では、 セカンダリシリアルインタフェースはIrDA通信ポート専用で使用され、 シリアルポートとして外部にRS-232Cのコネクタは用意されない。 o PC-9821Cx2・Cb2・Cx3・Cb3・Ne3・Nd2・Na12・Na9・Na7・Nb7・Nx・Lt2では、 IrDAトランシーバICとしてSHARP社製のIR301Aがセカンダリシリアル ポートに接続されている。 関連 I/O 0002h bit 5 F8E8:0011h bit 3 I/O 0238h 名前 送信ホールディングレジスタ(THR) 受信バッファレジスタ(RBR) Undocumented 機能 [READ/WRITE] bit 7〜0: データ * シリアルポートに入出力するデータを読み書きする。 解説 o RS-232Cのデータを入出力する。 o I/O 023Bh bit 7のDLABが0のときのみアクセスが可能である。 関連 I/O 023Bh bit 7 I/O 0238h 名前 分周比レジスタ(DL) Undocumented 機能 [READ/WRITE] bit 7〜0: 分周比(下位8ビット) --------+------------ bps |分周比レジスタ --------+------------ 300 | 384 600 | 192 1200 | 96 2400 | 48 4800 | 24 9600 | 12 19200 | 6 38400 | 3 57600 | 2 115200 | 1 --------+------------ 解説 o RS-232Cの転送レートを設定する。分周レジスタの上位8ビットは、I/O 0239h で設定する。 o I/O 023Bh bit 7のDLABが1のときのみアクセスが可能である。 関連 I/O 0239h I/O 023Bh bit 7 I/O 0239h 名前 割り込み許可レジスタ(IER) Undocumented 機能 [READ/WRITE] bit 7〜4: 未使用(常に0000bにする) bit 3: モデムステータス割り込み(EDSSI) bit 2: ラインステータス割り込み(ELSI) bit 1: 送信割り込み(ETBEI) bit 0: 受信割り込み(ERBFI) 1= 許可 0= 禁止 解説 o RS-232C割り込みのマスク状態を設定する。 o I/O 023Bh bit 7のDLABが0のときのみアクセスが可能である。 関連 I/O 0002h I/O 023Bh bit 7 I/O 0239h 名前 分周比レジスタ(DH) Undocumented 機能 [READ/WRITE] bit 7〜0: 分周比(上位8ビット) 解説 o RS-232Cの転送レートを設定する。分周レジスタの下位8ビットは、I/O 0238h で設定する。 o I/O 023Bh bit 7のDLABが1のときのみアクセスが可能である。 関連 I/O 0238h I/O 023Bh bit 7 I/O 023Ah 名前 割り込み参照レジスタ(IIR) FIFO制御レジスタ(FCR) Undocumented 機能 [READ] bit 7,6: FIFOs 00b= 8250,16450互換キャラクタモード 01b= FIFO有効,使用しない 11b= FIFO有効,使用する bit 5,4: 未使用(常に00b) bit 3〜0: 割り込み要因レジスタ(IIR3〜0) 0001b= 0110b= 受信ライン,ステータス割り込み * オーバーランエラー,パリティエラー,フレーミングエラー ブレイク検出時に発生する * LSRを読み出すと解除される 0100b= 受信データ有効割込み * 受信データが有効 * RBRから読み出すと解除される 1100b= キャラクタタイムアウト割り込み 0010b= 送信ホールディングレジスタエンプティ割り込み * 送信ホールディングレジスタが空 * IIRの読み出しまたは、THRに書き込みで解除される 0000b= モデムステータス割り込み * CTS,DSR,RI,DCDが変化 * MSRを読み出すと解除される [WRITE] bit 7,6: 受信割り込みトリガレベル(RCV_TLVL) 00b= 1バイト 01b= 4バイト 10b= 8バイト 11b= 14バイト bit 5,4: Reserved(常に00b) bit 3: TXDRY端子モード 1= モード1 0= モード0 bit 2: 送信FIFOリセット bit 1: 受信FIFOリセット 1= リセットする 0= リセットしない bit 0: FIFO許可 1= FIFOの動作を許可する 0= FIFOの動作を禁止する 解説 o 割り込み要因を読み出す。 o FIFOの動作を制御をする。 I/O 023Bh 名前 ラインコントロールレジスタ(LCR) Undocumented 機能 [READ/WRITE] bit 7: 分周比レジスタアクセス許可(DLAB) 1= 分周比設定 0= 通常 bit 6: ブレーク送出(SB) bit 5: パリティ(SP) 1= 負論理パリティ 0= 正論理パリティ bit 4: パリティ(EPS) 1= 偶数パリティ 0= 奇数パリティ bit 3: パリティ(PEN) 1= パリティあり 0= パリティなし bit 2: ストップビット長 bit 1,0: データビット長 ----+------+-------- ビット|データ|ストップ 210 |ビット| ビット ----+------+-------- 000b| 5 | 1 100b| 5 | 1.5 010b| 6 | 1 110b| 6 | 2 001b| 7 | 1 101b| 7 | 2 011b| 8 | 1 111b| 8 | 2 ----+------+-------- 解説 o シリアル信号のフォーマットを設定する。 o 分周比レジスタにアクセスするかどうかを設定する。 関連 I/O 0238h I/O 0239h I/O 023Ch 名前 モデムコントロールレジスタ Undocumented 機能 [READ/WRITE] bit 7〜5: 未使用 bit 4: ループバック bit 3,2: 汎用出力 bit 1: RTS bit 0: DTR 解説 o RS-232C信号線の制御を行う。 o RTSはデータを受信することができるときに1に設定する。 o DTRは端末が通信の用意ができている事を示すときに1に設定する。 I/O 023Dh 名前 ラインステータスレジスタ Undocumented 機能 [READ/WRITE] bit 7: FIFOデータエラー(E_RFIFO) bit 6: 送信FIFOエンプティ(TEMT) bit 5: 送信ホールディングレジスタエンプティ bit 4: ブレイク検出(BI) bit 3: フレーミングエラー(FE) bit 2: パリティエラー(PE) bit 1: オーバーランエラー(OE) bit 0: データレディ(DR) 解説 o 受信データのステータスを参照する。    o RS-232C信号線を参照する。 I/O 023Eh 名前 モデムステータスレジスタ Undocumented 機能 [READ] bit 7: DCD bit 6: RI bit 5: DSR bit 4: CTS bit 3: DDCD bit 2: DERI bit 1: DDSR bit 0: DCTS 解説 o モデム信号線の状態を読み出す I/O 023Fh 名前 スクラッチレジスタ Undocumented 機能 [READ/WRITE] bit 7〜0: スクラッチデータ 解説 o プログラマが自由に読み書き出来るポート。書き込んだ値が読み出される。