[go: up one dir, main page]

JP2004029963A - Interface device for device connection - Google Patents

Interface device for device connection Download PDF

Info

Publication number
JP2004029963A
JP2004029963A JP2002181891A JP2002181891A JP2004029963A JP 2004029963 A JP2004029963 A JP 2004029963A JP 2002181891 A JP2002181891 A JP 2002181891A JP 2002181891 A JP2002181891 A JP 2002181891A JP 2004029963 A JP2004029963 A JP 2004029963A
Authority
JP
Japan
Prior art keywords
ata
controller
parallel
host
interface
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2002181891A
Other languages
Japanese (ja)
Inventor
Tadashi Takayama
高山 正
Mamoru Yoshimoto
吉本 守
Masato Fujiwara
藤原 真人
Makoto Kobayashi
小林 誠
Masumi Ishiwatari
石渡 真澄
Hiroyasu Ito
伊藤 博康
Takeyuki Higashihata
東端 竹幸
Noriyuki Suzuki
鈴木 範之
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2002181891A priority Critical patent/JP2004029963A/en
Publication of JP2004029963A publication Critical patent/JP2004029963A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To connect both of a device for parallel connection and a device for serial connection through a common parallel connector. <P>SOLUTION: A host side is provided with a parallel ATA host controller 100 and a serial ATA host controller 105. The controller 100 is connected to the pertinent signal line of a 40 pin connector based on ATA. On the other hand, in order to assign a pair of differential signals to be used for reception and transmission, the controller 105 assigns, for transmission, the set of DMARQ and IORDY in a parallel interface among signals for reception in the parallel controller 100, and assigns INTRQ and IOCS 16 for reception. Those two controllers are controlled by a signal supplied to a serial ATA interface selecting circuit 106. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明はデバイス接続用インタフェース装置、特に、ハードディスクドライブ装置、CD−ROM装置等をホストコンピュータに接続するためのATA/ATAPI規格準拠のインターフェース装置に関するものである。
【0002】
【従来の技術】
従来、いわゆるパーソナルコンピュータ(以下、PC)においては、一般的に、ハードディスクドライブ装置、CD−ROM装置等のデバイスを接続する為のインタフェースとして、ANSI(American National Standards Institute)において、その仕様が規定されているATA/ATAPI規格、『AT Attachment−5 with Packet Interface』(以下、パラレルATA規格と表記)が採用されている。
【0003】
これは40ピンのコネクタを用い、ホストCPUと親和性の高い、簡単なパラレルインタフェースで、安価にハードディスクドライブ等の大容量記憶装置を接続する事を目的として策定されたものである。上記のパラレルATA規格においては、40ピンのコネクタに配された双方向の8/16ビットのデータバスを介し、同じく40ピンのコネクタ内に配された、デバイス装置内の制御レジスタをアドレスする為のアドレス線、ホスト装置側とデバイス装置側で確実にデータ転送を行う為に使用する各種の制御線を用いて、ホスト側装置の制御により、高速なデータ転送を実現する。
【0004】
【発明が解決しようとする課題】
ところで、近年、ハードディスク装置、DVD−ROMに代表される可換型メディア等の大容量化に伴い、より高速なデータ転送が求められるとともに、このようなデバイスを、より簡単に、装置に着脱する仕組みが求められている。このような状況を鑑み、前者の課題に対しては、ANSIにおいて、従来のパラレルインタフェースではなく、低電圧差動信号を用いた新しい高速シリアルインタフェース規格が検討され、2001年10月に、『Serial ATA/High Speed Serialized AT Attachment specification』(以下、シリアルATA規格と表記)として正式にリリースされた。
【0005】
この規格は、従来のパラレルATA規格と、アプリケーション層での互換性を保ち、トランスポート層、リンク層、物理層の下位層のみをシリアルATA規格対応に変更することで、ソフトウェア開発の負荷を軽減して、パラレルATA規格から、容易にシリアルATA規格へと移行できるように考慮されている。
【0006】
しかしながら、パラレルATA規格、シリアルATA規格ともに、同一筐体内におけるホスト装置とデバイス装置とのインタフェース規格として規定されている為、コネクタ形状には互換性がない。
【0007】
一方、従来、ノート型PC等では、信号線自体はパラレルATA規格に準拠しているが、パラレルATA規格に規定されているコネクタに比較し、より挿抜に適した、独自形状の小型コネクタを用いることにより、CD−ROM、DVD−ROM装置等を交換可能とした手法を採用している。また、同様の手法により、パラレルATA規格を採用したリムーバブルハードディスクドライブ装置等が一部メーカにより製品化されている。
【0008】
前述のごとく、今後、ハードディスク、CD−ROM装置等のデバイス装置は、より高速で、かつ、信号線が少ない為に装置間の接続も容易なシリアルATA規格への移行が進んで行く事は想像に難くないが、しばらくの期間は、旧規格のパラレルATA規格対応品と、新規格のシリアルATA規格対応品が混在するであろう事も想像に難くない。ところで、特に前述のごとき、CD−ROM、DVD−ROM、リムーバブルハードディスクドライブ等の可換型デバイスに対応したホスト装置においては、移行期間、および移行後も含め、従来のパラレルATA規格対応デバイス装置と、新しいシリアルATA規格対応デバイス装置との間で、コネクタ形状も含めて互換性を保つことが望ましい。
【0009】
本発明はかかる課題に鑑みなされたものであり、パラレル接続用デバイス装置及びシリアル接続用デバイスを共通のパラレルコネクタを介して接続できるようにするデバイス接続用インタフェース装置を提供しようとするものである。更に、また、ホスト及びデバイス側ともにダメージを被ることがないデバイス接続用インタフェース装置を提供しようとするものである。
【0010】
【課題を解決するための手段】
かかる課題を解決するため、例えば本発明のデバイス接続用インタフェース装置は以下の構成を備える。すなわち、
ホスト装置に搭載され、パラレルコネクタを介してデバイス装置と接続を行うデバイス接続用インタフェース装置であって、
前記パラレルコネクタの各信号線に接続されるパラレルデバイス用の第1のデバイスコントローラと、
前記パラレルコネクタの信号線中の一部分に接続されるシリアルデバイス用の第2のデバイスコントローラと、
ホストからの要求に応じて、前記第1、第2のデバイスコントローラの一方をアクティブ、他方をインアクティブに選択する選択回路とを備える。
【0011】
また、本発明の好適な実施態様に従えば、デバイス接続用インタフェース装置は、
・複数の信号線よりなる双方向のデータバスと、前記データバスを介して、前記ホスト装置と前記デバイス装置間で、データ転送を行う際に、データフローを制御する為に、前記ホスト装置から前記デバイス装置に対して出力される、前記ホスト装置から見た、複数の出力制御信号線と、前記デバイス装置から前記ホスト装置に対して出力される、前記ホスト装置から見た、複数の入力制御信号線を含む、第一のパラレルインタフェースと、
前記第一のパラレルインタフェースにおける、前記複数の入力制御信号線の何れかに多重化された、前記ホスト装置から前記デバイス装置に対してシリアルデータを出力する、前記ホスト装置から見た、少なくとも一つの、出力用シリアル通信信号線と、前記デバイス装置から前記ホスト装置に対してシリアルデータを出力する、前記ホスト装置から見た、少なくとも一つの、入力用シリアル通信信号線を含む、第二のシリアルインタフェースを有し、
電源投入後、最初の状態においては、前記第一のパラレルインタフェースが動作可能な活性化状態に初期化され、前記第二のシリアルインタフェースの信号線は、非活性化状態に初期化されることにより、初期状態において、ホスト装置側の出力信号と、デバイス装置側の出力信号とが衝突しないように動作することにより、それぞれの送受信バッファを破壊しないように動作する。
【0012】
初期化後、まず、前記第一のパラレルインタフェースを介してのデバイス認識を試み、前記第一のパラレルインタフェースによるデバイス認識により、デバイス装置と通信できた場合には、そのままの状態でインターフェスを使用し、デバイス装置と通信できなかった場合には、前記第一のパラレルインタフェースの信号線を、非活性化状態に変更し、前記第二のシリアルインタフェースの信号線を動作可能なように活性化状態に変更して、再初期化を行う。
【0013】
再初期化後、今度は、前記第二のシリアルインタフェースを介してのデバイス認識を試み、前記第二のシリアルインタフェースによるデバイス認識により、デバイス装置と通信できた場合には、そのままの状態でインターフェスを使用し、デバイス装置と通信できなかった場合には、前記第二のシリアルインタフェースの信号線を再び、非活性化状態に変更し、このインタフェースを未使用状態に設定するように動作することにより、確実に、かつ安全に両方式のインタフェースに対応する。
【0014】
さらに、前記第二のシリアルインタフェースにおける、出力用シリアル通信信号線ならびに入力用シリアル通信信号線が、それぞれ差動信号伝送方式である場合は、それぞれ対を成す差動信号線が、前記第一のパラレルインタフェースの、前記コネクタ上における物理的配置が、最も近接する2本であるように信号線を配置することにより、耐ノイズ性の高い実装を実現する。
【0015】
また、前記ホスト装置と前記デバイス装置を、コネクタを介して接続する第一のパラレルインタフェースは、ATA/ATAPI規格準拠のパラレルATAインタフェースであり、前記第二のシリアルインタフェースは、ATA/ATAPI規格準拠のシリアルATAインタフェースである場合、より具体的には、前記パラレルATAインタフェースにおける、DMARQ信号線、INTRQ信号線、IORDY信号線、およびIOCS16−信号線を、前記シリアルATAインターフェスにおける、前記出力用シリアル通信信号線HT+/HT、ならびに前記入力用シリアル通信信号線HR+/HR−と多重することにより、パラレルATAインタフェースと同一形状のコネクタを使用しながら、パラレルATAインタフェースと、シリアルATAインタフェースの両方式に対応したホスト装置を実現する事が可能となる。
【0016】
【発明の実施の形態】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
【0017】
図1は、本実施形態にけるホスト装置側のパラレルATA規格、シリアルATA規格両方式対応インタフェースの構成図である。
【0018】
図において、100は、パラレルATAホストコントローラであり、PCIバス206を介して、後述のホスト装置内のCPU201により実行されるプログラムに従い動作し、ホスト側コネクタ102、接続ケーブル103、デバイス側コネクタ104(デバイスはハードディスクドライブ、CDROMドライブ、DVD−ROMドライブ等)を介して接続するパラレルATA規格準拠のデバイス装置の制御、データの読み書き等を行う。パラレルATAホストコントローラ100の内部に関しての詳細な説明は省略するが、図示の如く、CSEL、CS[1:0]−、DD[15:0]等々、パラレルATA規格に準拠した各種の信号が直接、後述のバッファを介して、入出力される。なお、上述の説明、および以下の説明において、例えばデータバス信号線のように、複数の信号線を一纏めに表記する場合には、次の表記規則に則り説明を行う。
xx[m:n] : xxは信号名。m、nはxx信号線のそれぞれ上限と下限の信号番号である。
【0019】
ところで、本説明においては、パラレルATA規格において規定されている各種信号線の役割、動作タイミング等に関しては、ANSIの規格書に詳細が記されているので説明しないが、図7、図8、図9及び図11、図12に、ANSIの規格書から抜粋した資料を掲載する。図11は、ホスト側コネクタ(HostI/O connector)と、デバイス側コネクタ(Device I/O connector)の間を接続する信号の信号名、ピン配置、信号の向き、およびニーモニックを示した表である。図7は、図11を補足する図であり、図11において、アスタリスク(*)マークの付された三本の信号線SPSYNC:CSEL、PDIAG−、およびDASP−の、装置間接続を示した図である。図12は、デバイス装置側から見た、ニーモニック、ピン配置、信号の向き、信号名称を示した表である。図8は、ホスト装置(HOST)と、ATAコントローラ(CONTROLLER)およびデバイス装置(DRIVE)の関係の一例を示した図であり、同図においては、HOSTとCONTROLLER間のインタフェースがATAインタフェースとなっている。図9は、一般的なPC(HOST)におけるATAコントローラ(ADAPTER)、およびデバイス装置(DRIVE0、およびDRIVE1)との関係の一例を示した図であり、同図においては、ADAPTERとDRIVE0、およびDRIVE1間のインタフェースがATAインタフェースとなっている。
【0020】
さて、説明を図1に戻す。101a、101d、101e、101h、101j、101lは、パラレルATA規格の信号レベルに準拠した出力バッファであり、それぞれの入力端子は、パラレルATAホストコントローラ100の、CS[1:0]、DA[2:0]、DMACK、DIOR−、DIOW−、RESET−端子に接続してある。また、それぞれの出力端子は、パラレルATAホストコントローラ100の信号名に対応する、ホスト側コネクタ102の各端子に接続してある。
【0021】
同様に、101c、101f、101g、101i、101kは、パラレルATA規格の信号レベルに準拠した入力バッファであり、それぞれの出力端子は、パラレルATAホストコントローラ100の、DASP−、DMARQ、INTRQ,IORDY、IOCS16−端子に接続してある。また、それぞれの入力端子は、パラレルATAホストコントローラ100の信号名に対応する、ホスト側コネクタ102の、各端子に接続してある。
【0022】
101bは、双方向バッファであり、一方の入出力端子は、パラレルATAホストコントローラ100のDD[15:0]端子に接続してあり、他方の入出力端子は、ホスト側コネクタ102のDD[15:0]端子に接続してある。また、図示はしないが、双方向バッファ101bは、パラレルATAホストコントローラ100から出力される制御線により、バッファの信号転送方向が決定される。
【0023】
105は、実施形態におけるシリアルATAホストコントローラであり、前述のシリアルATAホストコントローラ100同様、PCIバス206を介して、後述のホスト装置内のCPU201により実行されるプログラムに従い動作し、ホスト側コネクタ102、接続ケーブル103、デバイス側コネクタ104を介して接続するシリアルATA規格準拠のデバイス装置の制御、データの読み書き等を行う。シリアルATAホストコントローラ105の内部に関しても、詳細な説明は省略するが、図示の如く、シリアルATA規格に準拠した、HT(Host Transmitter signal)、HR(Host Receiver signal)の各信号が、直接、後述のバッファを介して、入出力される。シリアルATA規格において規定されている、各種信号線の役割、動作タイミング等に関しても、ANSIの規格書に詳細が記されているので、ここでは説明しない。
【0024】
なお、実施形態ではパラレルATAの信号の一部分に、ATAホスト側の送信信号線HT及び受信信号線HRを割り当てるので、利用できる信号線はホスト側のパラレルATAにおける入力用信号線を利用することになる。
【0025】
図10及び図13に、ANSIのシリアルATA規格書から抜粋した、信号名称、およびANSI規格に準拠したコネクタを使用した場合のピン番号を記す。シリアルATAではシリアル転送に差動信号を用いるので、一対の信号の組は互いに近接した位置にあることが望ましい。
【0026】
107は、差動入力バッファであり、差動入力バッファ107のプラス側入力端子X1は、前記入力バッファ101gの入力端子、およびホスト側コネクタ102の31番ピン、INTRQ:HR+端子に接続してある。差動入力バッファ107の、もう一方の入力端子、すなわちマイナス側入力端子X2は、前記入力バッファ101kの入力端子、およびホスト側コネクタ102の32番ピン、IOCS16−:HR−端子に接続してある。さらに、差動入力バッファ107の出力端子Yは、前記シリアルATAコントローラ105のHR入力端子に接続してある。
【0027】
108は、差動出力バッファであり、差動出力バッファ108の入力端子は、前記シリアルATAコントローラ105のHT出力端子に接続されており、差動入力バッファ108のプラス側出力端子Y1は、前記入力バッファ101fの入力端子、およびホスト側コネクタ102の21番ピン、DMARQ:HT+端子に接続してある。差動出力バッファ108の、もう一方の出力端子、すなわちマイナス側出力端子Y2は、前記入力バッファ101iの入力端子、およびホスト側コネクタ102の27番ピン、IORDY:HT−端子に接続してある。差動入力バッファ107、および差動出力バッファ108のイネーブル信号Gは、後述のシリアルATAインタフェース選択回路106の出力信号Qに接続してある。該イネーブル信号の値がローレベルであれば、差動入力バッファ107、および差動出力バッファ108は非アクティブ状態となり、その出力はハイインピーダンス状態となるように動作する。
【0028】
106は、シリアルATAインタフェース選択回路であり、動作に関しては後述するが、ホスト装置の電源投入直後は、差動入力バッファ107、差動出力バッファ108のイネーブル信号Gを非アクティブ状態とするように動作し、ホスト装置内のCPU201により実行されるプログラムに従い、差動入力バッファ107、差動出力バッファ108のイネーブル信号Gをアクティブ状態とするようにも動作する。
【0029】
図2は、本発明を実施したパラレルATAインタフェース、およびシリアルATAインタフェース両方式対応ディスクコントローラを搭載したホスト装置の構成図である。図において、200は、パーソナルコンピュータ装置であり、201は、システム全体を制御するCPUである。
【0030】
202は、一般的にノースブリッジと呼ばれているブロックであり、CPU201のローカルバスを、メモリバス225、グラフィックスバス(AGP)224を介して、それぞれ、メインメモリモジュール204、グラフィックスコントローラ205へと接続している。メインメモリモジュール204はノースブリッジを介して、CPU201と接続され、CPU201のプログラム実行に必要なプログラムコードの保持、プログラムの実行状態を保持するスクラッチパドメモリとして機能する。グラフィックスコントローラ205は、グラフィックスバス(AGP)224を介して、CPU201と接続され、CPU201により実行されたプログラムの指示により、グラフィックコントローラ205に接続されたビデオメモリ(VRAM)231に様々な描画を行うと同時に、ビデオメモリ231に描画された表示画像データを、ラスターデータとして読み出し、ビデオコネクタ212、ビデオケーブル233を介して、ディスプレイ218へと表示出力するように動作する。
【0031】
203は、一般的にサウスブリッジと呼ばれているブロックであり、内部バス232を介してノースブリッジ202と接続しており、ノースブリッジ202と連動することにより、ホスト装置200に、様々な入出力装置を接続する為のPCI拡張バス206と、システムの初期化、および起動に必要なBIOS ROM226の読み出し、および実行を制御するように動作する。また、サウスブリッジ203内には、汎用入出力ポート(GPIO)を有しており、該汎用入出力ポートを使用して、ホスト装置内各部の制御を行う。尚、上記構成において、ノースブリッジ、サウスブリッジは一般にチップセットとして呼ばれるものであり、中には、これらを1チップで実現しているものもある。
【0032】
234は、前記汎用入出力ポートの出力信号であり、前述のシリアルATAインタフェース選択回路106の動作を制御するのに使用する。
【0033】
226は、BIOS ROMであり、システムの起動、および初期化に必要なプログラムコードを保持しており、サウスブリッジ203を介して、CPU201に接続されている。
【0034】
206は、PCIバスであり、図示はしないが、サウスブリッジ203内のPCIホストブリッジにより制御される。
【0035】
109は、前述のパラレルATA、シリアルATA両方式対応インタフェース回路1を搭載したディスクコントローラであり、PCIバス206を介して、CPU201により実行されたプログラムの指示により動作し、コネクタ102、ケーブル103を介して、ハードディスクドライブ装置207を制御する。
【0036】
209は、イーサネット(登録商標)コントローラであり、イーサネット(登録商標)コネクタ217を介して、LAN223に接続している。イーサネット(登録商標)コントローラ209は、PCIバス206を介して、CPU201により実行されたプログラムの指示により動作し、LAN223上に接続されている他の装置と通信を行う。
【0037】
210は、サウンドコントローラであり、前述のディスクコントローラ109、イーサネット(登録商標)コントローラ209と同様に、PCIバス206を介して、CPU201により実行されたプログラムの指示により、スピーカ接続コネクタ215、スピーカ接続ケーブル229を介して接続したスピーカ221に音声を出力したり、コネクタ216、マイクケーブル230を介して接続されたマイク222により、音声を入力するように動作する。
【0038】
211は、USBホストコントローラであり、同様に、PCIバス206を介して、CPU201により実行されたプログラムの指示により、USBコネクタ213、および214、USBケーブル227、228を介して接続したUSBキーボード219、USBマウス220の制御を行う。
【0039】
図6は、シリアルATAインタフェース選択回路106の構成図である。図において601は、フリップフロップであり、データ入力端子Dには、前述のサウスブリッジ203内の汎用入出力ポート(GPIO)から出力される制御信号234が接続されている。またフリップフロップ601のクロック入力端子には、図示はしないが、CPU201に供給されているのと同じクロック信号が供給されており、該クロック信号のフォーリングエッジで、前記データ入力端子Dに接続された制御信号234の値をラッチして、出力端子Qに、その値を出力するように動作する。フリップフロップ601の出力端子Qは、前述のように、差動入力バッファ107、および差動出力バッファ108のイネーブル信号Gに接続してある。フリップフロップ601のS端子(セット端子)は、電源電圧Vccにプルアップされており、常に非アクティブ状態に保たれている。フリップフロップ601のR端子(リセット端子)には、該R端子と電源電圧Vcc間に接続された抵抗603と、該R端子とGND(グラウンド)間に接続されたキャパシタ604が接続されている。前記抵抗603と前記キャパシタ604の働きにより、電源投入時には、該R端子がアクティブ状態となり、フリップフロップ601の出力Qは、電源投入直後は、ローレベルとなる。したがって、前述のように、電源投入直後の初期状態においては、差動入力バッファ107、および差動出力バッファ108は、非アクティブ状態となり、差動入力バッファ107、および差動出力バッファ108の出力はハイインピーダンス状態に保たれる。
【0040】
図5は、シリアルATAインタフェース選択回路106の動作に着目して示したフローチャートである。このフローチャートに係るプログラムは、実施形態におけるホストコントローラが、PCI(Peripheral Component Interconnect Bus)カードに搭載されるのであれば、そのカード上にBIOS−ROMとして搭載すれば良いし、マザーボードに搭載するのであれば、マザーボードのBIOSROMに搭載すればよい。ただし、接続されたデバイスからブートしないのであれば(BIOS−ROMを持たない場合)、OSが起動した後、そのOS上で同処理のドライバを実行させるようにしても良い。
【0041】
以下、図面に沿って、該ATAディスクコントローラのインタフェースタイプ、および動作モード決定の処理に関して説明する。
【0042】
最初に、ステップS1において、PCIバス206を介して、シリアルATAホストコントローラ105内の制御レジスタにコマンドを書き込むことにより、シリアルATAホストコントローラ105を非アクティブ状態に設定する。次いで、制御信号234がローレベルとなるように、サウスブリッジ203内の汎用出力ポートにデータを書き込んだ後、ステップS2に進む。前述の如く、制御信号234をローレベルに設定することにより、シリアルATAインタフェース選択回路106の出力Qはローレベルとなり、結果、差動入力バッファ107、および差動出力バッファ108は、非アクティブ状態となり、差動入力バッファ107、および差動出力バッファ108の出力はハイインピーダンスになる。
【0043】
ステップS2においては、PCIバス206を介して、パラレルATAホストコントローラ100内の制御レジスタにコマンドを書き込むことにより、パラレルATAホストコントローラ100をアクティブ状態に設定し、ステップS3に進む。つまり、この段階では実施形態のコントローラはパラレルATAとして機能することになる。
【0044】
ステップS3においては、パラレルATA対応のATAデバイスが接続されていないかチェックする為に、ATAデバイスの必須コマンド、『IDENTIFY DEVICE』コマンドをパラレルATAホストコントローラ100、ホスト側コントローラのバッファ101a〜101l、ホスト側コネクタ102、接続ケーブル103、デバイス側コネクタ104、後述のデバイス側コントローラのバッファ300a〜300lを介して、デバイス装置内の制御レジスタに書き込む。もし、この際、デバイス側コネクタに、パラレルATA対応デバイスが接続されている場合は、図3に示した信号線により、パラレルATAデバイス装置と接続される。同図において、300a、300d、300e、300h、300j、300lは、パラレルATA規格の信号レベルに準拠した入力バッファであり、それぞれの出力端子は、パラレルATAデバイス装置の、各信号線に該当する端子に接続している。300c、300f、300g、300i、300kは、パラレルATA規格の信号レベルに準拠した出力バッファであり、それぞれの入力端子は、パラレルATAデバイス装置の、各信号線に該当する端子に接続している。300bは、双方向バッファであり、パラレルATAデバイス装置のDD[15:0]端子に接続している。この場合、接続されているデバイス装置がATAデバイスであれば、上記コマンドを解釈して、ホスト側コントローラに、正しく応答することになる。
【0045】
ステップS4においては、ステップS3において発行した『IDENTIFYDEVICE』コマンドに対する応答があるかどうかを判断する。もし、正しい応答がある場合には、ステップS6に進み、応答が無い場合は、ステップS5に進む。ステップS6に進んだ場合は、前述のように、デバイス側装置がパラレルATAインタフェースを搭載したATAデバイスであることが分かるので、ATAディスクコントローラのデバイスドライバ内で使用する、スタティックな制御用内部パラメータを、
IF_TYPE := Para_ATA
DEV_TYPE := ATA
として設定し、ステップS19へ進み、初期化処理を終わる。
【0046】
ところで、この2つパラメータは、ATAディスクコントローラのデバイスドライバ内で使用されるもので、それぞれ、次の値を取り得る。
IF_TYPE : Para_ATA、Ser_ATA、又は、NOT_USED
DEV_TYPE : ATA、ATAPI、又はNONE
また、それぞれのパラメータの意味は下記のようになる。
Para_ATA:接続されているデバイスはパラレルATAインタフェースを有す。
Ser_ATA:接続されているデバイスはシリアルATAインタフェースを有す。
NOT_USED:デバイスは接続されていない。
ATA:接続されているデバイスはATAデバイスである。
ATAPI:接続されているデバイスはATAPIデバイスである。
NONE:ATA、ATAPIの何れでもない。
【0047】
さて、一方、ステップS5においては、ATAPIデバイスの必須コマンド、『IDENTIFY PACKET DEVICE』コマンドをパラレルATAホストコントローラ100、ホスト側コントローラのバッファ101a〜101l、ホスト側コネクタ102、接続ケーブル103、デバイス側コネクタ104、デバイス側コントローラのバッファ300a〜300lを介して、デバイス装置内の制御レジスタに書き込む。この場合、接続されているデバイス装置が、パラレルATAインタフェースを有する、ATAPIデバイスであれば、上記コマンドを解釈して、ホスト側コントローラに、正しく応答することになる。ステップS7においては、ステップS5において発行した『IDENTIFY PACKET DEVICE』コマンドに対する応答があるかどうかを判断する。もし、正しい応答がある場合には、ステップS9に進み、応答が無い場合は、ステップS8に進む。ステップS9に進んだ場合は、前述のように、デバイス側装置がパラレルATAインタフェースを搭載したATAPIデバイスであることが分かるので、ATAディスクコントローラのデバイスドライバ内で使用する、スタティックな制御用内部パラメータを、
IF_TYPE := Para_ATA
DEV_TYPE := ATAPI
として設定し、ステップS19へ進み、初期化処理を終わる。
【0048】
また、ステップS7において、パラレルデバイスとしての正しい応答がないと判断した場合、処理はステップS8に進む。
【0049】
この段階では、接続されているデバイスがシリアルATAデバイスである、或いは、デバイスが接続されていない状況を意味することになる。
【0050】
そこで、ステップS8において、PCIバス206を介して、パラレルATAホストコントローラ100内の制御レジスタにコマンドを書き込むことにより、パラレルATAホストコントローラ100を非アクティブ状態に設定し、ステップS10に進む。
【0051】
ステップS10においては、PCIバス206を介して、シリアルATAホストコントローラ105内の制御レジスタにコマンドを書き込むことにより、シリアルATAホストコントローラ105をアクティブ状態に設定する。次いで、制御信号234がハイレベルとなるように、サウスブリッジ203内の汎用出力ポートにデータを書き込んだ後、ステップS11に進む。前述の如く、制御信号234をハイレベルに設定することにより、シリアルATAインタフェース選択回路106の出力Qはハイレベルとなり、結果、差動入力バッファ107、および差動出力バッファ108は、アクティブ状態となる。
【0052】
上記の如く、ステップS8に進んだ段階で、デバイス側コネクタ104には、少なくとも、パラレルATAインタフェースを有するデバイスは接続されていない事が確認されているので、差動出力バッファ108をアクティブにしても、デバイス側コントローラのバッファが破壊、あるいはデバイス側装置が誤動作することを、確実に避ける事ができる。ステップS11においては、シリアルATA対応のATAデバイスが接続されていないかチェックする為に、ATAデバイスの必須コマンド、『IDENTIFY DEVICE』コマンドをシリアルATAホストコントローラ105、ホスト側コントローラの差動バッファ107、108、ホスト側コネクタ102、接続ケーブル103、デバイス側コネクタ104、後述のデバイス側コントローラの差動バッファ400、401を介して、デバイス装置内の制御レジスタに書き込む。もし、この際、デバイス側コネクタに、シリアルATA対応デバイスが接続されている場合は、図4に示した信号線により、シリアルATAデバイス装置と接続される。同図において、400は、シリアルATA規格の信号レベルに準拠した差動入力バッファであり、その出力端子は、シリアルATAデバイス装置の、DR信号線に接続している。401は、シリアルATA規格の信号レベルに準拠した差動出力バッファであり、その入力端子は、シリアルATAデバイス装置の、DT信号線に接続している。この場合、接続されているデバイス装置がATAデバイスであれば、上記コマンドを解釈して、ホスト側コントローラに、正しく応答することになる。ステップS12においては、ステップS11において発行した『IDENTIFY DEVICE』コマンドに対する応答があるかどうかを判断する。もし、正しい応答がある場合には、ステップS14に進み、応答が無い場合は、ステップS13に進む。ステップS14に進んだ場合は、前述のように、デバイス側装置がシリアルATAインタフェースを搭載したATAデバイスであることが分かるので、ATAディスクコントローラのデバイスドライバ内で使用する、スタティックな制御用内部パラメータを、
IF_TYPE := Ser_ATA
DEV_TYPE := ATA
として設定し、ステップS19へ進み、初期化処理を終わる。この二つのパラメータの意味は、前述の通りである。
【0053】
ステップS13においては、ATAPIデバイスの必須コマンド、『IDENTIFY PACKET DEVICE』コマンドをシリアルATAホストコントローラ105、ホスト側コントローラの差動バッファ107、108、ホスト側コネクタ102、接続ケーブル103、デバイス側コネクタ104、デバイス側コントローラの差動バッファ400、401を介して、デバイス装置内の制御レジスタに書き込む。この場合、接続されているデバイス装置が、シリアルATAインタフェースを有する、ATAPIデバイスであれば、上記コマンドを解釈して、ホスト側コントローラに、正しく応答することになる。
【0054】
ステップS15においては、ステップS13において発行した『IDENTIFY PACKET DEVICE』コマンドに対する応答があるかどうかを判断する。もし、正しい応答がある場合には、ステップS17に進み、応答が無い場合は、ステップS18に進む。ステップS17に進んだ場合は、前述のように、デバイス側装置がシリアルATAインタフェースを搭載したATAPIデバイスであることが分かるので、ATAディスクコントローラのデバイスドライバ内で使用する、スタティックな制御用内部パラメータを、
IF_TYPE := Ser_ATA
DEV_TYPE := ATAPI
として設定し、ステップS19へ進み、初期化処理を終わる。
【0055】
ステップS18に到達した場合は、何れのデバイスも接続されていない事を意味するので、ATAディスクコントローラのデバイスドライバ内で使用する、スタティックな制御用内部パラメータを
IF_TYPE := NOT_USED
DEV_TYPE := NONE
として設定し、ステップS19へ進み、初期化処理を終わる。以上の処理により、適切な動作モードを選択することが出来る。
【0056】
以上説明してきたように本発明によれば、非常に簡単、かつ安価な方法で、従来のパラレルATAインタフェースと互換性を保ちつつ、パラレルATAインタフェースと、シリアルATAインタフェース両対応のATAコントローラを実現できる。以上の説明は、ATAインタフェースを例にあげたが、他の異なるインタフェース規格にも適用可能であることは言うまでもない。
【0057】
尚、ホスト側を上記のような構成にすることで、例えば、シリアルATAデバイスが、シリアルインタフェース(コネクタ)のみを備えている場合、それに接続するコネクタを有し、図1に示すシリアル通信に用いる信号線を抜き出したケーブルを用意すれば、それでもってシリアルATAデバイスを利用することが可能になる。すなわち、ホスト側のハードウェアをそのまま活用でき、無駄なコネクタを用意する必要もない。
【0058】
【発明の効果】
以上説明したように本発明によれば、パラレル接続用デバイス装置、シリアル接続用デバイスのいずれもが共通のパラレルコネクタを介して接続できるようになる。
【図面の簡単な説明】
【図1】パラレルATA、およびシリアルATA両対応インタフェースの構成図である。
【図2】ホスト装置の全体構成図である。
【図3】本発明によるディスクコントローラとパラレルATAインタフェース搭載デバイス装置の接続に関わるブロックの構成図である。
【図4】本発明によるディスクコントローラとシリアルATAインタフェース搭載デバイス装置の接続に関わるブロックの構成図である。
【図5】本発明によるディスクコントローラの動作を説明するフローチャートである。
【図6】シリアルATAインタフェース選択回路の構成図である。
【図7】「AT Attachment−5 with Packet Interface」の接続形態を示す図である。
【図8】「AT Attachment−5 with Packet Interface」の接続形態を示す図である。
【図9】「AT Attachment−5 with Packet Interface」の接続形態を示す図である。
【図10】「Serial ATA/High Speed Serialized AT Attachment speficication」の接続仕様を示す図である。
【図11】「AT Attachment−5 with Packet Interface」におけるホスト側コネクタとデバイス側コネクタとの関係を示す図である。
【図12】デバイス装置側から見たコネクタのピンアサインを示す図である。
【図13】「Serial ATA/High Speed Serialized AT Attachment specification」におけるコネクタのピンアサインを示す図である。
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a device connection interface device, and more particularly to an ATA / ATAPI standard compliant interface device for connecting a hard disk drive device, a CD-ROM device and the like to a host computer.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, in a so-called personal computer (hereinafter, referred to as a PC), an ANSI (American National Standards Institute) has specified its specifications as an interface for connecting devices such as a hard disk drive and a CD-ROM. ATA / ATAPI standard, "AT Attachment-5 with Packet Interface" (hereinafter referred to as parallel ATA standard) is adopted.
[0003]
This is a simple parallel interface that uses a 40-pin connector and has high affinity with the host CPU, and has been developed for the purpose of inexpensively connecting a large-capacity storage device such as a hard disk drive. In the above-mentioned parallel ATA standard, a control register in a device device, also arranged in a 40-pin connector, is addressed via a bidirectional 8 / 16-bit data bus arranged in a 40-pin connector. High-speed data transfer is realized by controlling the host-side device by using the address line of the host device and various control lines used for reliably performing data transfer between the host device side and the device device side.
[0004]
[Problems to be solved by the invention]
By the way, in recent years, with the increase in capacity of a replaceable medium represented by a hard disk device or a DVD-ROM, higher-speed data transfer is required, and such a device is more easily attached to and detached from the device. A mechanism is required. In view of such a situation, a new high-speed serial interface standard using a low-voltage differential signal instead of the conventional parallel interface has been studied in ANSI to solve the former problem. In October 2001, "Serial ATA / High Speed Serialized AT Attachment specification ”(hereinafter referred to as serial ATA standard).
[0005]
This standard maintains compatibility at the application layer with the conventional parallel ATA standard, and reduces the software development load by changing only the transport layer, link layer, and lower layer of the physical layer to the serial ATA standard. Therefore, it is considered that the parallel ATA standard can be easily shifted to the serial ATA standard.
[0006]
However, since both the parallel ATA standard and the serial ATA standard are defined as interface standards between the host device and the device device in the same housing, the connector shapes are not compatible.
[0007]
On the other hand, conventionally, in a notebook PC or the like, the signal line itself conforms to the parallel ATA standard. Thereby, a method is adopted in which a CD-ROM, a DVD-ROM device and the like can be exchanged. In addition, some manufacturers have commercialized removable hard disk drives and the like that adopt the Parallel ATA standard by the same method.
[0008]
As described above, it is imagined that in the future, devices such as hard disks and CD-ROM devices will be shifted to the Serial ATA standard, which is faster and has fewer signal lines, so that connections between devices are easier. Although it is not difficult, it is not hard to imagine that, for a while, the product conforming to the parallel ATA standard of the old standard and the product conforming to the serial ATA standard of the new standard will be mixed. By the way, in particular, as described above, a host device compatible with a replaceable device such as a CD-ROM, a DVD-ROM, a removable hard disk drive, etc. It is desirable to maintain compatibility with new serial ATA standard compliant device devices, including the connector shape.
[0009]
The present invention has been made in view of the above problems, and an object of the present invention is to provide a device connection interface device that enables a parallel connection device device and a serial connection device to be connected via a common parallel connector. Still another object of the present invention is to provide a device connection interface device which does not damage the host and the device.
[0010]
[Means for Solving the Problems]
In order to solve such a problem, for example, a device connection interface device of the present invention has the following configuration. That is,
A device connection interface device mounted on the host device and connected to the device device via a parallel connector,
A first device controller for a parallel device connected to each signal line of the parallel connector;
A second device controller for a serial device connected to a part of a signal line of the parallel connector;
A selection circuit that selects one of the first and second device controllers as active and the other as inactive in response to a request from the host.
[0011]
According to a preferred embodiment of the present invention, the device connection interface device includes:
A bidirectional data bus composed of a plurality of signal lines, and via the data bus, when performing data transfer between the host device and the device device, in order to control a data flow, from the host device, A plurality of output control signal lines output to the device device as viewed from the host device, and a plurality of input control signals output from the device device to the host device and viewed from the host device A first parallel interface including a signal line;
In the first parallel interface, at least one multiplexed on any of the plurality of input control signal lines, outputting serial data from the host device to the device device, viewed from the host device. A second serial interface including: an output serial communication signal line; and at least one input serial communication signal line viewed from the host device, which outputs serial data from the device device to the host device. Has,
After the power is turned on, in the initial state, the first parallel interface is initialized to an operable state, and the signal line of the second serial interface is initialized to an inactive state. In the initial state, the operation is performed so that the output signal of the host device and the output signal of the device device do not collide with each other so that the respective transmission / reception buffers are not destroyed.
[0012]
After the initialization, first, device recognition through the first parallel interface is attempted, and if communication with a device is possible by device recognition through the first parallel interface, the interface is used as it is. However, when communication with the device cannot be performed, the signal line of the first parallel interface is changed to an inactive state, and the signal line of the second serial interface is activated so as to be operable. And re-initialize.
[0013]
After the re-initialization, this time, the device recognition through the second serial interface is attempted, and if the device can be communicated with the device by the device recognition through the second serial interface, the interface is maintained as it is. When communication with the device cannot be performed, the signal line of the second serial interface is changed to an inactive state again, and the interface is operated to set the interface to an unused state. It supports both types of interfaces reliably and safely.
[0014]
Further, in the second serial interface, when the output serial communication signal line and the input serial communication signal line are each of a differential signal transmission system, the pair of differential signal lines is the first serial communication signal line. By arranging the signal lines such that the physical arrangement of the parallel interface on the connector is the two closest lines, mounting with high noise resistance is realized.
[0015]
Further, a first parallel interface for connecting the host device and the device device via a connector is a parallel ATA interface based on the ATA / ATAPI standard, and the second serial interface is a parallel ATA interface based on the ATA / ATAPI standard. In the case of a serial ATA interface, more specifically, the DMARQ signal line, the INTRQ signal line, the IORDY signal line, and the IOCS16-signal line in the parallel ATA interface are connected to the output serial communication in the serial ATA interface. By multiplexing with the signal line HT + / HT and the input serial communication signal line HR + / HR-, the parallel ATA interface and the serial ATA interface can be used while using the connector having the same shape as the parallel ATA interface. It is possible to realize a host apparatus compatible with both of the ATA interface.
[0016]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
[0017]
FIG. 1 is a configuration diagram of an interface compatible with both the parallel ATA standard and the serial ATA standard on the host device side in the present embodiment.
[0018]
In the figure, reference numeral 100 denotes a parallel ATA host controller, which operates via a PCI bus 206 in accordance with a program executed by a CPU 201 in a host device, which will be described later, and includes a host-side connector 102, a connection cable 103, and a device-side connector 104 ( The device controls a parallel ATA standard compliant device connected via a hard disk drive, a CDROM drive, a DVD-ROM drive, and the like, and reads and writes data. Although a detailed description of the inside of the parallel ATA host controller 100 is omitted, as shown, various signals conforming to the parallel ATA standard, such as CSEL, CS [1: 0]-, DD [15: 0], etc., are directly transmitted. Are input and output via a buffer described later. In the above description and the following description, when a plurality of signal lines are collectively described, for example, as a data bus signal line, the description will be made according to the following notation rules.
xx [m: n]: xx is a signal name. m and n are the upper and lower signal numbers of the xx signal line, respectively.
[0019]
By the way, in this description, the roles and operation timings of the various signal lines defined in the parallel ATA standard are not described in detail because they are described in detail in the ANSI standard. 9 and FIGS. 11 and 12 show materials extracted from the ANSI standard. FIG. 11 is a table showing signal names, pin assignments, signal directions, and mnemonics of signals connecting between the host-side connector (Host I / O connector) and the device-side connector (Device I / O connector). . FIG. 7 is a diagram supplementing FIG. 11, and shows a connection between devices of three signal lines SPSYNC: CSEL, PDIAG−, and DASP− marked with an asterisk (*) in FIG. 11. It is. FIG. 12 is a table showing mnemonics, pin arrangements, signal directions, and signal names as viewed from the device device side. FIG. 8 is a diagram showing an example of the relationship between the host device (HOST), the ATA controller (CONTROLLER) and the device device (DRIVE). In FIG. 8, the interface between the HOST and the CONTROLLER is an ATA interface. I have. FIG. 9 is a diagram showing an example of a relationship between an ATA controller (ADAPTER) and device devices (DRIVE0 and DRIVE1) in a general PC (HOST). In FIG. 9, ADAPTER and DRIVE0 and DRIVE1 are shown. The interface between them is the ATA interface.
[0020]
Now, the description returns to FIG. 101a, 101d, 101e, 101h, 101j, and 101l are output buffers conforming to the signal level of the parallel ATA standard, and their input terminals are CS [1: 0] and DA [2] of the parallel ATA host controller 100. : 0], DMACK, DIOR-, DIOW-, and RESET- terminals. Further, each output terminal is connected to each terminal of the host-side connector 102 corresponding to the signal name of the parallel ATA host controller 100.
[0021]
Similarly, 101c, 101f, 101g, 101i, and 101k are input buffers conforming to the signal level of the parallel ATA standard, and their output terminals are DASP-, DMARQ, INTRQ, IORDY, Connected to IOCS16- terminal. Each input terminal is connected to each terminal of the host-side connector 102 corresponding to the signal name of the parallel ATA host controller 100.
[0022]
Reference numeral 101b denotes a bidirectional buffer. One input / output terminal is connected to the DD [15: 0] terminal of the parallel ATA host controller 100, and the other input / output terminal is connected to the DD [15: 0] of the host-side connector 102. : 0] terminal. Although not shown, the signal transfer direction of the bidirectional buffer 101b is determined by a control line output from the parallel ATA host controller 100.
[0023]
Reference numeral 105 denotes a serial ATA host controller according to the embodiment, which operates in accordance with a program executed by a CPU 201 in a host device, which will be described later, via a PCI bus 206, similarly to the serial ATA host controller 100 described above. It controls a device device conforming to the Serial ATA standard connected via the connection cable 103 and the device-side connector 104, and reads and writes data. Although detailed description of the inside of the serial ATA host controller 105 is omitted, as shown in the figure, each signal of HT (Host Transmitter signal) and HR (Host Receiver signal) conforming to the Serial ATA standard is directly described later. Are input and output via the buffer of The roles and operation timings of various signal lines defined in the Serial ATA standard are also described in detail in the ANSI standard document, and will not be described here.
[0024]
In the embodiment, the transmission signal line HT and the reception signal line HR on the ATA host side are assigned to a part of the signal of the parallel ATA. Therefore, the usable signal lines are the input signal lines in the parallel ATA on the host side. Become.
[0025]
FIG. 10 and FIG. 13 show signal names and pin numbers when a connector conforming to the ANSI standard is used, which is extracted from the ANSI serial ATA standard. Since serial ATA uses differential signals for serial transfer, it is desirable that a pair of signal pairs be located close to each other.
[0026]
Reference numeral 107 denotes a differential input buffer. The positive input terminal X1 of the differential input buffer 107 is connected to the input terminal of the input buffer 101g, the 31st pin of the host-side connector 102, and the INTRQ: HR + terminal. . The other input terminal of the differential input buffer 107, that is, the negative input terminal X2 is connected to the input terminal of the input buffer 101k, the 32nd pin of the host-side connector 102, and the IOCS16-: HR- terminals. . Further, the output terminal Y of the differential input buffer 107 is connected to the HR input terminal of the serial ATA controller 105.
[0027]
Reference numeral 108 denotes a differential output buffer. The input terminal of the differential output buffer 108 is connected to the HT output terminal of the serial ATA controller 105. The positive output terminal Y1 of the differential input buffer 108 It is connected to the input terminal of the buffer 101f, the 21st pin of the host-side connector 102, and the DMARQ: HT + terminal. The other output terminal of the differential output buffer 108, that is, the negative output terminal Y2 is connected to the input terminal of the input buffer 101i, the 27th pin of the host-side connector 102, and the IORDY: HT- terminal. The enable signal G of the differential input buffer 107 and the differential output buffer 108 is connected to an output signal Q of a serial ATA interface selection circuit 106 described later. If the value of the enable signal is at a low level, the differential input buffer 107 and the differential output buffer 108 are in an inactive state, and their outputs operate so as to be in a high impedance state.
[0028]
Reference numeral 106 denotes a serial ATA interface selection circuit, which operates so that the enable signal G of the differential input buffer 107 and the differential output buffer 108 is set to an inactive state immediately after the power of the host device is turned on. Then, according to a program executed by the CPU 201 in the host device, the operation is also performed such that the enable signal G of the differential input buffer 107 and the differential output buffer 108 is activated.
[0029]
FIG. 2 is a configuration diagram of a host device equipped with a disk controller supporting both the parallel ATA interface and the serial ATA interface according to the present invention. In the figure, 200 is a personal computer device, and 201 is a CPU that controls the entire system.
[0030]
Reference numeral 202 denotes a block generally called a north bridge, which connects a local bus of the CPU 201 to a main memory module 204 and a graphics controller 205 via a memory bus 225 and a graphics bus (AGP) 224, respectively. Is connected to The main memory module 204 is connected to the CPU 201 via the north bridge, and functions as a scratch pad memory that holds a program code necessary for the CPU 201 to execute a program and holds a program execution state. The graphics controller 205 is connected to the CPU 201 via a graphics bus (AGP) 224, and performs various drawing in a video memory (VRAM) 231 connected to the graphics controller 205 in accordance with an instruction of a program executed by the CPU 201. At the same time, the display image data drawn in the video memory 231 is read out as raster data, and the display image data is output to the display 218 via the video connector 212 and the video cable 233.
[0031]
Reference numeral 203 denotes a block generally called a south bridge. The block 203 is connected to the north bridge 202 via the internal bus 232. It operates to control the PCI expansion bus 206 for connecting devices and the reading and execution of the BIOS ROM 226 necessary for system initialization and startup. The south bridge 203 has a general-purpose input / output port (GPIO), and controls each unit in the host device using the general-purpose input / output port. In the above configuration, the north bridge and the south bridge are generally called chip sets, and some of them are realized by one chip.
[0032]
An output signal 234 of the general-purpose input / output port is used to control the operation of the serial ATA interface selection circuit 106 described above.
[0033]
Reference numeral 226 denotes a BIOS ROM, which holds program codes necessary for system startup and initialization, and is connected to the CPU 201 via the south bridge 203.
[0034]
A PCI bus 206 is controlled by a PCI host bridge in the south bridge 203 (not shown).
[0035]
Reference numeral 109 denotes a disk controller on which the parallel ATA and serial ATA type compatible interface circuit 1 is mounted. The disk controller 109 operates via a PCI bus 206 in accordance with an instruction of a program executed by the CPU 201, and operates via the connector 102 and the cable 103. To control the hard disk drive 207.
[0036]
An Ethernet (registered trademark) controller 209 is connected to the LAN 223 via the Ethernet (registered trademark) connector 217. The Ethernet (registered trademark) controller 209 operates according to an instruction of a program executed by the CPU 201 via the PCI bus 206 and communicates with another device connected to the LAN 223.
[0037]
Reference numeral 210 denotes a sound controller, similar to the disk controller 109 and the Ethernet (registered trademark) controller 209 described above, and according to instructions of a program executed by the CPU 201 via the PCI bus 206, a speaker connection connector 215, a speaker connection cable It operates to output audio to the speaker 221 connected via the 229 or to input the audio from the microphone 222 connected via the connector 216 and the microphone cable 230.
[0038]
Reference numeral 211 denotes a USB host controller. Similarly, a USB keyboard 219 connected via USB connectors 213 and 214 and USB cables 227 and 228 in accordance with instructions of a program executed by the CPU 201 via the PCI bus 206. The control of the USB mouse 220 is performed.
[0039]
FIG. 6 is a configuration diagram of the serial ATA interface selection circuit 106. In the figure, reference numeral 601 denotes a flip-flop, and a control signal 234 output from a general-purpose input / output port (GPIO) in the south bridge 203 is connected to the data input terminal D. Although not shown, the same clock signal as that supplied to the CPU 201 is supplied to the clock input terminal of the flip-flop 601 and is connected to the data input terminal D at the falling edge of the clock signal. It latches the value of the control signal 234 and outputs the value to the output terminal Q. The output terminal Q of the flip-flop 601 is connected to the enable signal G of the differential input buffer 107 and the differential output buffer 108 as described above. The S terminal (set terminal) of the flip-flop 601 is pulled up to the power supply voltage Vcc, and is always kept in an inactive state. A resistor 603 connected between the R terminal and the power supply voltage Vcc and a capacitor 604 connected between the R terminal and GND (ground) are connected to an R terminal (reset terminal) of the flip-flop 601. By the operation of the resistor 603 and the capacitor 604, the R terminal becomes active when the power is turned on, and the output Q of the flip-flop 601 becomes low level immediately after the power is turned on. Therefore, as described above, in the initial state immediately after power-on, the differential input buffer 107 and the differential output buffer 108 are in an inactive state, and the outputs of the differential input buffer 107 and the differential output buffer 108 are It is kept in a high impedance state.
[0040]
FIG. 5 is a flowchart showing the operation of the serial ATA interface selection circuit 106. If the host controller in the embodiment is mounted on a PCI (Peripheral Component Interconnect Bus) card, the program according to this flowchart may be mounted as a BIOS-ROM on the card or mounted on a motherboard. For example, it may be mounted on the BIOSROM of the motherboard. However, if the device is not booted from the connected device (if the device does not have a BIOS-ROM), the driver of the same process may be executed on the OS after the OS is started.
[0041]
Hereinafter, an interface type of the ATA disk controller and an operation mode determination process will be described with reference to the drawings.
[0042]
First, in step S1, the serial ATA host controller 105 is set to an inactive state by writing a command to a control register in the serial ATA host controller 105 via the PCI bus 206. Next, after writing data to the general-purpose output port in the south bridge 203 so that the control signal 234 becomes low level, the process proceeds to step S2. As described above, by setting the control signal 234 to low level, the output Q of the serial ATA interface selection circuit 106 becomes low level, and as a result, the differential input buffer 107 and the differential output buffer 108 become inactive. , The output of the differential input buffer 107 and the output of the differential output buffer 108 become high impedance.
[0043]
In step S2, a command is written to the control register in the parallel ATA host controller 100 via the PCI bus 206 to set the parallel ATA host controller 100 to the active state, and the process proceeds to step S3. That is, at this stage, the controller of the embodiment functions as a parallel ATA.
[0044]
In step S3, in order to check whether or not an ATA device compatible with the parallel ATA is connected, an indispensable command of the ATA device, an “IDENTIFY DEVICE” command, is transmitted to the parallel ATA host controller 100, the buffers 101a to 101l of the host The data is written to a control register in the device via the side connector 102, the connection cable 103, the device side connector 104, and buffers 300a to 300l of the device side controller described later. At this time, if a parallel ATA-compatible device is connected to the device-side connector, the device is connected to the parallel ATA device via the signal line shown in FIG. In the figure, reference numerals 300a, 300d, 300e, 300h, 300j, and 300l denote input buffers conforming to the signal level of the parallel ATA standard. Connected to Reference numerals 300c, 300f, 300g, 300i, and 300k denote output buffers conforming to the signal level of the parallel ATA standard, and each input terminal is connected to a terminal corresponding to each signal line of the parallel ATA device. Reference numeral 300b denotes a bidirectional buffer, which is connected to the DD [15: 0] terminal of the parallel ATA device. In this case, if the connected device is an ATA device, the above command is interpreted and a correct response is made to the host-side controller.
[0045]
In step S4, it is determined whether or not there is a response to the "IDENTIFY DEVICE" command issued in step S3. If there is a correct response, the process proceeds to step S6, and if there is no response, the process proceeds to step S5. If the process proceeds to step S6, it is known that the device-side device is an ATA device equipped with a parallel ATA interface, as described above. Therefore, the internal parameters for static control used in the device driver of the ATA disk controller are changed. ,
IF_TYPE: = Para_ATA
DEV_TYPE: = ATA
The process proceeds to step S19, and the initialization processing ends.
[0046]
Incidentally, these two parameters are used in the device driver of the ATA disk controller, and can take the following values, respectively.
IF_TYPE: Para_ATA, Ser_ATA, or NOT_USED
DEV_TYPE: ATA, ATAPI, or NONE
The meaning of each parameter is as follows.
Para_ATA: The connected device has a parallel ATA interface.
Ser_ATA: The connected device has a serial ATA interface.
NOT_USED: The device is not connected.
ATA: The connected device is an ATA device.
ATAPI: The connected device is an ATAPI device.
NONE: Neither ATA nor ATAPI.
[0047]
On the other hand, in step S5, the essential command of the ATAPI device, the "IDENTIFY PACKET DEVICE" command, is transmitted to the parallel ATA host controller 100, the host controller buffers 101a to 101l, the host connector 102, the connection cable 103, and the device connector 104. , Via the buffers 300a to 300l of the device-side controller. In this case, if the connected device is an ATAPI device having a parallel ATA interface, the command is interpreted and a correct response is made to the host-side controller. In step S7, it is determined whether or not there is a response to the "IDENTIFY PACKET DEVICE" command issued in step S5. If there is a correct response, the process proceeds to step S9, and if there is no response, the process proceeds to step S8. When the process proceeds to step S9, as described above, it is known that the device-side device is an ATAPI device equipped with a parallel ATA interface, and thus the static control internal parameters used in the device driver of the ATA disk controller are ,
IF_TYPE: = Para_ATA
DEV_TYPE: = ATAPI
The process proceeds to step S19, and the initialization processing ends.
[0048]
If it is determined in step S7 that there is no correct response as a parallel device, the process proceeds to step S8.
[0049]
At this stage, it means that the connected device is a serial ATA device or the device is not connected.
[0050]
Therefore, in step S8, a command is written to the control register in the parallel ATA host controller 100 via the PCI bus 206, thereby setting the parallel ATA host controller 100 to the inactive state, and then proceeds to step S10.
[0051]
In step S10, the serial ATA host controller 105 is set to the active state by writing a command to the control register in the serial ATA host controller 105 via the PCI bus 206. Next, after writing data to the general-purpose output port in the south bridge 203 so that the control signal 234 becomes high level, the process proceeds to step S11. As described above, by setting the control signal 234 to a high level, the output Q of the serial ATA interface selection circuit 106 becomes a high level, and as a result, the differential input buffer 107 and the differential output buffer 108 become active. .
[0052]
As described above, at the stage of proceeding to step S8, it is confirmed that at least a device having a parallel ATA interface is not connected to the device-side connector 104, so that the differential output buffer 108 is activated. In addition, it is possible to reliably prevent the buffer of the device-side controller from being destroyed or the device-side device from malfunctioning. In step S11, in order to check whether an ATA device compatible with the serial ATA is connected, an essential command of the ATA device, an "IDENTIFY DEVICE" command is transmitted to the serial ATA host controller 105 and the differential buffers 107 and 108 of the host controller. The data is written to a control register in the device via the host-side connector 102, the connection cable 103, the device-side connector 104, and the differential buffers 400 and 401 of the device-side controller described later. At this time, if a serial ATA-compatible device is connected to the device-side connector, it is connected to the serial ATA device via the signal line shown in FIG. In the figure, reference numeral 400 denotes a differential input buffer conforming to the signal level of the Serial ATA standard, and its output terminal is connected to the DR signal line of the Serial ATA device. Reference numeral 401 denotes a differential output buffer conforming to the signal level of the Serial ATA standard, and its input terminal is connected to the DT signal line of the Serial ATA device. In this case, if the connected device is an ATA device, the above command is interpreted and a correct response is made to the host-side controller. In step S12, it is determined whether or not there is a response to the "IDENTIFY DEVICE" command issued in step S11. If there is a correct response, the process proceeds to step S14, and if there is no response, the process proceeds to step S13. If the process proceeds to step S14, as described above, it is known that the device-side device is an ATA device equipped with a serial ATA interface. ,
IF_TYPE: = Ser_ATA
DEV_TYPE: = ATA
The process proceeds to step S19, and the initialization processing ends. The meaning of these two parameters is as described above.
[0053]
In step S13, the essential command of the ATAPI device, the "IDENTIFY PACKET DEVICE" command, is transmitted to the serial ATA host controller 105, the differential buffers 107 and 108 of the host controller, the host connector 102, the connection cable 103, the device connector 104, and the device. The data is written to the control register in the device via the differential buffers 400 and 401 of the side controller. In this case, if the connected device is an ATAPI device having a serial ATA interface, the command is interpreted and a correct response is made to the host-side controller.
[0054]
In step S15, it is determined whether or not there is a response to the "IDENTIFY PACKET DEVICE" command issued in step S13. If there is a correct response, the process proceeds to step S17, and if there is no response, the process proceeds to step S18. When the process proceeds to step S17, as described above, it is known that the device-side device is an ATAPI device equipped with a serial ATA interface. Therefore, the static control internal parameters used in the device driver of the ATA disk controller are set. ,
IF_TYPE: = Ser_ATA
DEV_TYPE: = ATAPI
The process proceeds to step S19, and the initialization processing ends.
[0055]
When the process reaches step S18, it means that no device is connected. Therefore, a static control internal parameter used in the device driver of the ATA disk controller is set.
IF_TYPE: = NOT_USED
DEV_TYPE: = NONE
The process proceeds to step S19, and the initialization processing ends. Through the above processing, an appropriate operation mode can be selected.
[0056]
As described above, according to the present invention, an ATA controller compatible with both a parallel ATA interface and a serial ATA interface can be realized in a very simple and inexpensive manner while maintaining compatibility with a conventional parallel ATA interface. . Although the above description has been given of the ATA interface as an example, it is needless to say that the present invention is applicable to other different interface standards.
[0057]
By configuring the host side as described above, for example, if the serial ATA device has only a serial interface (connector), it has a connector to connect to it and uses it for the serial communication shown in FIG. If a cable from which a signal line is extracted is prepared, a serial ATA device can be used. That is, the hardware on the host side can be used as it is, and there is no need to prepare useless connectors.
[0058]
【The invention's effect】
As described above, according to the present invention, both the parallel connection device and the serial connection device can be connected via a common parallel connector.
[Brief description of the drawings]
FIG. 1 is a configuration diagram of a parallel ATA and serial ATA compatible interface.
FIG. 2 is an overall configuration diagram of a host device.
FIG. 3 is a block diagram of a block relating to connection between a disk controller and a device with a parallel ATA interface according to the present invention;
FIG. 4 is a block diagram of a block relating to connection between a disk controller and a device with a serial ATA interface according to the present invention;
FIG. 5 is a flowchart illustrating the operation of the disk controller according to the present invention.
FIG. 6 is a configuration diagram of a serial ATA interface selection circuit.
FIG. 7 is a diagram illustrating a connection form of “AT Attachment-5 with Packet Interface”.
FIG. 8 is a diagram illustrating a connection form of “AT Attachment-5 with Packet Interface”.
FIG. 9 is a diagram showing a connection form of “AT Attachment-5 with Packet Interface”.
FIG. 10 is a diagram showing connection specifications of “Serial ATA / High Speed Serialized AT Attachment specification”.
FIG. 11 is a diagram illustrating a relationship between a host-side connector and a device-side connector in “AT Attachment-5 with Packet Interface”.
FIG. 12 is a diagram showing a pin assignment of a connector as viewed from a device device side.
FIG. 13 is a diagram showing pin assignments of connectors in “Serial ATA / High Speed Serialized AT Attachment specification”.

Claims (5)

ホスト装置に搭載され、パラレルコネクタを介してデバイス装置と接続を行うデバイス接続用インタフェース装置であって、
前記パラレルコネクタの各信号線に接続されるパラレルデバイス用の第1のデバイスコントローラと、
前記パラレルコネクタの信号線中の一部分に接続されるシリアルデバイス用の第2のデバイスコントローラと、
ホストからの要求に応じて、前記第1、第2のデバイスコントローラの一方をアクティブ、他方をインアクティブに選択する選択回路と
を備えることを特徴とするデバイス接続用インタフェース装置。
A device connection interface device mounted on the host device and connected to the device device via a parallel connector,
A first device controller for a parallel device connected to each signal line of the parallel connector;
A second device controller for a serial device connected to a part of a signal line of the parallel connector;
A device connection interface device, comprising: a selection circuit for selecting one of the first and second device controllers to be active and the other to be inactive in response to a request from a host.
前記第2のデバイスコントローラと前記パラレルコネクタに接続する信号線は、前記第1のデバイスコントローラに接続される信号線の中の受信用信号線であることを特徴とする請求項1に記載のデバイス接続用インタフェース装置。The device according to claim 1, wherein the signal line connected to the second device controller and the parallel connector is a reception signal line among signal lines connected to the first device controller. Interface device for connection. 前記デバイス装置は、ATA/ATAPI規格準拠のデバイスであって、
前記第2のデバイスコントローラが有する送信用端子及び受信用端子に接続される信号線は、差動信号として利用する前記パラレルコネクタ中の隣接した一対の信号線であることを特徴とする請求項2に記載のデバイス接続用インタフェース装置。
The device is a device based on the ATA / ATAPI standard,
The signal line connected to the transmission terminal and the reception terminal of the second device controller is a pair of adjacent signal lines in the parallel connector used as a differential signal. An interface device for device connection according to item 1.
前記第2のデバイスコントローラが有する送信側端子HTには、前記パラレルコネクタのホスト側における信号線DMARQ、IORDYの組、或いは、信号線INTRQ、IOCS16の組の内、いずれか一方の信号線の組を差動信号線HT+、HT−に割り当て、受信側端子HRには、前記HT+、HT−に割り当てた信号線の組とは異なる、他方の信号線の組を差動信号線HR+、HR−に割り当てることを特徴とする請求項3に記載のデバイス接続用インタフェース装置。The transmission-side terminal HT of the second device controller has a pair of signal lines DMARQ and IORDY or a pair of signal lines INTRQ and IOCS16 on the host side of the parallel connector. Are assigned to the differential signal lines HT + and HT−, and the receiving terminal HR is assigned to the other signal line set different from the signal line set assigned to the HT + and HT−. 4. The device connection interface device according to claim 3, wherein the device connection interface device is assigned to a device. 電源投入時には、前記第1のデバイスコントローラがアクティブにし、第2のデバイスコントローラをインアクティブにし、
第1の段階ではパラレル接続のデバイスが接続されているか否かを判断し、パラレル接続デバイスが非接続であると判断した場合に、第2のデバイスコントローラをアクティブにして、シリアル接続デバイスが接続されているか否かを判断する手段を備えることを特徴とする請求項4に記載のデバイス接続用インタフェース装置。
Upon power-up, the first device controller activates, the second device controller inactivates,
In the first stage, it is determined whether or not a parallel connection device is connected. If it is determined that the parallel connection device is not connected, the second device controller is activated to connect the serial connection device. 5. The device connection interface device according to claim 4, further comprising means for judging whether or not the device is connected.
JP2002181891A 2002-06-21 2002-06-21 Interface device for device connection Withdrawn JP2004029963A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002181891A JP2004029963A (en) 2002-06-21 2002-06-21 Interface device for device connection

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002181891A JP2004029963A (en) 2002-06-21 2002-06-21 Interface device for device connection

Publications (1)

Publication Number Publication Date
JP2004029963A true JP2004029963A (en) 2004-01-29

Family

ID=31178613

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002181891A Withdrawn JP2004029963A (en) 2002-06-21 2002-06-21 Interface device for device connection

Country Status (1)

Country Link
JP (1) JP2004029963A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006192603A (en) * 2005-01-11 2006-07-27 Oki Data Corp Image forming apparatus
JP2007018403A (en) * 2005-07-11 2007-01-25 Alpine Electronics Inc Register compatible with different interface
US7262961B2 (en) 2005-05-31 2007-08-28 Hironori Motoe Information processing apparatus and method for controlling the same
JP2007241994A (en) * 2006-01-05 2007-09-20 Telechips Inc Audio system, USB / UART shared communication system therefor
JP2017509994A (en) * 2014-03-13 2017-04-06 マイクロ モーション インコーポレイテッド Method and apparatus for reconfiguring connector pin assignments

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006192603A (en) * 2005-01-11 2006-07-27 Oki Data Corp Image forming apparatus
US7859555B2 (en) 2005-01-11 2010-12-28 Oki Data Corporation Image forming apparatus
US7262961B2 (en) 2005-05-31 2007-08-28 Hironori Motoe Information processing apparatus and method for controlling the same
JP2007018403A (en) * 2005-07-11 2007-01-25 Alpine Electronics Inc Register compatible with different interface
JP2007241994A (en) * 2006-01-05 2007-09-20 Telechips Inc Audio system, USB / UART shared communication system therefor
JP2017509994A (en) * 2014-03-13 2017-04-06 マイクロ モーション インコーポレイテッド Method and apparatus for reconfiguring connector pin assignments
US10430365B2 (en) 2014-03-13 2019-10-01 Micro Motion, Inc. Method and apparatus for reconfiguring pin assignments on a connector

Similar Documents

Publication Publication Date Title
CN107423169B (en) Method and system for testing high speed peripheral device interconnection equipment
JP3403284B2 (en) Information processing system and control method thereof
EP1683003B1 (en) Motherboard for supporting multiple graphic cards
US5446869A (en) Configuration and RAM/ROM control of PCI extension card residing on MCA adapter card
US6256691B1 (en) Universal docking station
JP5085334B2 (en) USB / OTG controller
US7024510B2 (en) Supporting a host-to-input/output (I/O) bridge
US8812758B2 (en) Mechanism to flexibly support multiple device numbers on point-to-point interconnect upstream ports
CA2189782C (en) System and method for expansion of a computer
CN111651384B (en) Register reading and writing method, chip, subsystem, register set and terminal
CN103189852A (en) Systems and methods for dynamic multi-link compilation partitioning
CN116795437A (en) Computing system, computer-implemented method, and computer program product
US20050021870A1 (en) Modular presentation device with network connection for use with PDA&#39;s and Smartphones
JPH1069455A (en) Method for performing slave dma emulation on computer system bus
CN112988637A (en) Promotion and I2C backward compatible I3C hub
US20040230668A1 (en) Modular presentation device for use with PDA&#39;s and Smartphones
JPH1055331A (en) Programmable read and write access signal and its method
JP2004029963A (en) Interface device for device connection
US20010042150A1 (en) Universal docking station
CN114328329A (en) Communication module design method and device compatible with master and slave devices
JP2009048444A (en) USB device control method, controller, and electronic device
US20040167999A1 (en) Data transfer control device, electronic instrument, program and method of fabricating electronic instrument
US6954209B2 (en) Computer CPU and memory to accelerated graphics port bridge having a plurality of physical buses with a single logical bus number
US7886094B1 (en) Method and system for handshaking configuration between core logic components and graphics processors
US5748944A (en) Apparatus for slave DMA emulation on a computer system bus

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20050906