JP2003271549A - 通信制御用半導体集積回路 - Google Patents

通信制御用半導体集積回路

Info

Publication number
JP2003271549A
JP2003271549A JP2002075925A JP2002075925A JP2003271549A JP 2003271549 A JP2003271549 A JP 2003271549A JP 2002075925 A JP2002075925 A JP 2002075925A JP 2002075925 A JP2002075925 A JP 2002075925A JP 2003271549 A JP2003271549 A JP 2003271549A
Authority
JP
Japan
Prior art keywords
data
transmission data
transmission
circuit
signal
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.)
Pending
Application number
JP2002075925A
Other languages
English (en)
Inventor
Minoru Kamimura
稔 上村
Shigeyoshi Ondou
栄良 音堂
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2002075925A priority Critical patent/JP2003271549A/ja
Publication of JP2003271549A publication Critical patent/JP2003271549A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)

Abstract

(57)【要約】 【課題】 高速化のためデータバス幅を拡張して転送デ
ータサイズを大きくする本来有効でない端数のバイトが
余分なデータとして転送されてしまうという課題ある。 【解決手段】 CPU(210)とシリアル・インタフ
ェース部(260)とを接続するバスを用いての転送ビ
ット数をバイトの整数倍に拡張するとともに、送信デー
タを転送する際にCPUからインタフェース部に対して
データのバイト数を通知し、インタフェース部には通知
された送信データバイト数を保持する回路(REG)と
送信バッファより読み出された送信データのバイト数を
示す回路(RP)とこれらの回路のバイト数を比較する
比較回路(626)とを設け、該比較回路の出力信号に
基づいてプロトコル制御手段(263)に対する制御信
号を生成するように構成した。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、通信制御技術さら
にはシリアル通信のためのインタフェース部を備えたデ
ータ処理システムに適用して有効な技術に関し、例えば
USB(Universal Serial Bus)規格やIEEE139
4(Institute of Electrical and Electronics Enginee
rs 1394)規格の通信機能を有する通信制御用のプロセッ
サのようなLSI(大規模半導体集積回路)に利用して
有効な技術に関する。
【0002】
【従来の技術】コンピュータとその周辺装置との間のイ
ンタフェース規格としては、USB規格やIEEE13
94規格の他にSCSI(Small Computer System Inte
rface)、Fibre Channelなど種々の規格
がある。このうち、USB規格やIEEE1394規格
はケーブルを介してデータをシリアルに送受信するため
の規格であり、信号線が少ないためケーブルが細くコネ
クタも小さいという特徴があるため、近年、パーソナル
コンピュータとその周辺のプリンタや各種記憶メディア
ドライバなどの周辺装置のインタフェースとして使用さ
れている。USBやIEEE1394規格に従った通信
は、データをパケットと呼ばれる単位でシリアルに送信
するパケット通信方式で行われる。かかるパケット通信
においては、1つのパケットで送信されるデータが可変
長であり、最大データ長も通信規格によって異なってい
る。ただし、一般的には、マイクロプロセッサにおける
データの最小処理単位であるバイト(8ビット)に合わ
せて1バイトの整数倍のデータとして送受信される。
【0003】従来、シリアル通信機能を有するマイクロ
プロセッサ・システムでは、CPUとシリアル・インタ
フェース部との間はバスで接続されており、送信データ
は1バイトのようなデータバス幅に対応した単位でCP
Uからシリアル・インタフェース部へ順次転送され、イ
ンタフェース部でパラレル/シリアル変換が行なわれる
ように構成されていた。シリアル通信に関する発明とし
ては、例えば特開平5−81187号公報に開示されて
いるものなどがある。
【0004】
【発明が解決しようとする課題】シリアル通信はますま
す高速化される傾向にあるが、上記のようにCPUとシ
リアル・インタフェース部との間の送信データが1バイ
トであると高速な通信規格に対応できなくなるおそれが
ある。つまり、2つの機器のインタフェース部間のシリ
アル通信そのものは高速で行なわれても、インタフェー
ス部と内部のCPUとの間のデータ転送が高速化されな
いため、トータルのデータ送受信に要する時間が充分に
短縮されないことになる。そこで、送信データ長を拡張
して1ワード(16ビット)や32ビットのようなデー
タ長でデータ転送する方法が考えられる。しかしなが
ら、パケット通信で送信されるデータの大きさは任意で
あり送信されるデータがデータバス幅で割り切れない場
合がある。その場合、16ビットや32ビットのような
大きさのバスを介して送信データをシリアル・インタフ
ェース部へ転送しようとすると、本来有効でない端数の
バイトが余分なデータとして転送されてしまうという課
題ある。
【0005】本発明の目的は、シリアル・インタフェー
スを備えた通信制御用半導体集積回路において、シリア
ル通信によるデータ送受信に要するトータルの時間を短
縮できるようにすることにある。本発明の他の目的は、
データバス幅がバイト単位よりも大きくなるようにバス
を構成した場合にも任意のバイト数のデータを正確に転
送することができるシリアル・インタフェースを備えた
通信制御用半導体集積回路を提供することにある。本発
明のさらに他の目的は、比較的簡単な構成によりデータ
バス幅の整数倍でないデータを正確に転送することがで
きるシリアル・インタフェースを備えた通信制御用半導
体集積回路を提供することにある。この発明の前記なら
びにそのほかの目的と新規な特徴については、本明細書
の記述および添附図面から明らかになるであろう。
【0006】
【課題を解決するための手段】本願において開示される
発明のうち代表的なものの概要を説明すれば、下記のと
おりである。すなわち、CPUとシリアル・インタフェ
ース部との送信データ長を1バイトの整数倍に拡張する
とともに、送信データを転送する際にCPUからインタ
フェース部に対してデータのバイト数(サイズ)を通知
し、インタフェース部には通知された送信データバイト
数を保持するレジスタのような回路と送信バッファより
読み出された送信データのバイト数を示すカウンタのよ
うな回路とこれらの回路のバイト数を比較する比較回路
とを設け、該比較回路の出力信号に基づいてプロトコル
制御手段に対する制御信号を生成するように構成したも
のである。
【0007】上記した手段によれば、CPUとシリアル
・インタフェース部との送信データ長を1バイトの整数
倍に拡張したので、バスを介してインタフェース部へ転
送する送信データの転送速度を速めることができ、これ
によってトータルのシリアル通信所要時間を短縮するこ
とができる。また、送信しようとするデータのバイト数
と実際に送信したデータのバイト数を比較回路で比較し
て制御信号を生成するため、正確なデータ通信が可能と
なる。さらに、送信しようとするデータのバイト数を保
持するレジスタのような回路とバイト数を比較するコン
パレータのような回路を付加するだけで所望の機能を実
現できるので、大幅な設計変更を必要としないでデータ
送信処理の高速化と正確なデータの送信という2つの要
求を同時に達成することができる。
【0008】
【発明の実施の形態】以下、本発明の好適な実施例を図
面に基づいて説明する。図1は、本発明に係るシリアル
通信インタフェースを備えた機器の構成例を示す。かか
る機器としては、例えばパーソナルコンピュータやプリ
ンタや各種記憶メディアドライバなどの周辺機器があ
る。また、シリアル通信インタフェースとしては、例え
ばUSB規格やIEEE1394規格のインタフェース
がある。図1においては、100がパーソナルコンピュ
ータ、200が周辺機器であり、パーソナルコンピュー
タ100と周辺機器200がケーブル300を介して接
続された状態が示されている。USB規格では、パーソ
ナルコンピュータ100はホスト機器と呼ばれ、周辺機
器200はデバイス機器と呼ばれる。また、図1のよう
にホスト機器(100)とデバイス機器(200)とを
直接接続する代わりに、図8のようにハブと呼ばれる中
継装置400を介してタブレットやスキャナ、プリンタ
などのデバイス機器200A,200B,200Cを接
続することも可能である。これにより、複数のデバイス
機器を1つのホスト機器に接続することができる。
【0009】図1の実施例においては、デバイス機器
(200)の内部システム構成のみ詳細に示されている
が、ホスト機器(100)側も同様なシステム構成を有
するので、以下デバイス機器(200)内部のシステム
構成について説明し、ホスト機器(100)側のシステ
ム構成については説明を省略する。デバイス機器(20
0)の内部システムは、中央処理ユニット(以下、CP
Uと称する)210および該CPU210が実行するプ
ログラムや固定データを格納するROM220やCPU
210の作業領域を提供するRAM230などのメモリ
と、システムに応じて設けられるDMAコントローラや
割込みコントローラ、タイマ回路などの周辺モジュール
240、該システムに特有の機能を提供するカスタム論
理部250、CPU210とCPUバス270を介して
接続され所定のプロトコルに従ってシリアル通信を行な
うシリアル・インタフェース部260などにより構成さ
れる。バス270は、データ信号を伝達する信号線群
(データバス)と、アドレス信号を伝達する信号線群
(アドレスバス)と、コントロール信号を伝達する信号
線群(コントロールバス)とを含む。
【0010】特に制限されるものでないが、これらの回
路は単結晶シリコンのような1つの半導体チップ上に形
成され通信制御用LSI(以下、これをプロセッサと称
する)として構成することができる。シリアル・インタ
フェース部260のみ独立したLSIとすることも可能
である。CPU210とシリアル・インタフェース部2
60やCPUバス270を含んでプロセッサLSIとし
て構成される場合、該LSIにはバス270やカスタム
論理部250に接続されたポートを設け、該ポートを介
して外部のシステムバスや電子部品と接続可能にするこ
とができる。図1には示されていないが、実際のデバイ
ス機器では、上記プロセッサの他に機器の機能を実現す
るための機構や部品が設けられる。それらの中には、上
記プロセッサに接続されるものもある。
【0011】図1の実施例のプロセッサにおいては、C
PUバス270のデータバス幅すなわちバスを構成する
信号線のうちデータ信号を伝達する信号線の数が4バイ
トすなわち32本で構成されている。従って、シリアル
・インタフェース部260にはバス270を介して4バ
イト単位で送信データが転送される。ここで、シリアル
・インタフェース部260に転送される送信データのバ
イト数がデータバス幅のバイト数の整数倍でない場合に
は、最後に転送される送信データは4バイトに満たない
ことになる。この4バイトに満たない部分については送
信データが4バイトとなるようにCPUが適当なデータ
を付加して転送しても良いし、前回のデータバスの信号
線の状態が保たれたままにするようにしても構わない。
これは送信データと共に有効バイト数を示すデータをシ
リアル・インタフェース部260に伝達するようにして
いるためである。なお、データバス幅は4バイトに限定
されず、2バイト以上であれば本発明を適用するのが有
効である。
【0012】また、シリアル・インタフェース部260
は、CPUバス270を介してCPU210との間で信
号の送受信を可能にするためのCPUインタフェース部
261と、送信データと受信データをそれぞれ一旦保持
してバス側のデータ転送速度とプロトコル・コントロー
ル部263側のデータ処理速度の差を緩衝する送信・受
信バッファ部262と、予め設定されたプロトコルに従
ってヘッダの付加、通信規格に応じたフォーマットを有
するパケットの組み立てや分解などのパケット処理機能
およびCRC(巡回符号)などの誤り検出方式に従った
チェック用符号の生成や誤り検出などの機能を有するプ
ロトコル・コントロール部263と、プロトコル・コン
トロール部263の指示に従ってケーブル側の信号の送
受信を行なうトランシーバ部264などにより構成され
ている。
【0013】トランシーバ部264はケーブル300の
信号線を電圧で駆動して信号を送信する送信ドライバ回
路と、ケーブル300を介して送られてくる信号の電位
を検出して信号を判別する受信ドライバ回路とから構成
される。なお、シリアル・インタフェース部260を構
成する各回路は、単結晶シリコンのような1個の半導体
チップ上に通信インタフェース用LSIとして構成され
ても良いし、これをモジュールとして含みCPU21
0、メモリ220,230、カスタム論理部240など
と共に1個の半導体チップ上に通信制御用LSIもしく
はデータ処理用LSIとして構成されても良い。送信デ
ータはCPU210からCPUバス270を介して直接
シリアル・インタフェース部260へ供給されることも
あるが、DMA(ダイレクト・メモリ・アクセス)転送
制御によりRAM230やカスタム論理部240からシ
リアル・インタフェース部260へ転送される場合もあ
る。
【0014】図2には、上記送信・受信バッファ部26
2のうち送信バッファ部262Aのより詳細な構成が示
されている。図示しないが、図1の送信・受信バッファ
部262には、図2の送信バッファ部262Aとは逆に
プロトコル・コントロール部263から供給される受信
データを保持し、バス270上へ転送する受信バッファ
部が設けられているが、この受信バッファは本発明と直
接関係しないので具体的な構成の説明は省略する。
【0015】図2に示されているように、送信バッファ
部262Aは、バスおよびCPUインタフェース部26
1を介して供給される送信データを取り込んで一時記憶
するバッファメモリ620と、バスおよびCPUインタ
フェース部261を介して供給されるアドレス信号AD
Dとライトイネーブル信号WEをデコードしてメモリラ
イト制御信号MWCおよび送信レジスタ制御信号TRC
を生成するアドレスデコーダ622と、生成されたメモ
リライト制御信号MWCとクロック信号CLKに基づい
てバッファメモリ620に対するライトアドレスWAD
を生成するライトアドレス生成回路623と、アドレス
デコーダ622からの送信レジスタ制御信号TRCに基
づいてプロトコル・コントロール部263に対する送信
許可信号TPMを生成したりCPUバスより送られてく
る送信データ数TDCを取り込んで保持したりする送信
データ制御回路624と、プロトコル・コントロール部
263からのリード要求信号RRQに基づいて送信バッ
ファメモリ620に対するリードアドレスRADを生成
するリードアドレス生成回路625と、リードアドレス
生成回路625で生成されたリードアドレスRADと前
記送信データ制御回路624から出力される送信データ
数TDCとを比較する比較器626などを備える。
【0016】上記バッファメモリ620は、1つの送信
パケットに格納可能な最大の送信データを記憶可能な容
量を有するように構成される。上記ライトアドレス生成
回路623は、カウンタ回路からなるライトポインタW
Pを備え、アドレスデコーダ622から出力されるメモ
リライト制御信号MWCがハイレベルであることを条件
に、クロック信号CLKに基づいてライトポインタWP
をインクリメントして送信バッファメモリ620に対す
るライトアドレスWADを生成し出力する。
【0017】図2では、アドレスデコーダ622からの
メモリライト制御信号MWCによってライトアドレス生
成回路623が制御されるように示されているが、ライ
トアドレス生成回路623内にメモリライト制御信号M
WCを取り込むレジスタまたはラッチ回路を設けて、一
旦ラッチした信号に基づいてライトポインタWPを制御
する信号を生成するようにしても良い。
【0018】一方、上記リードアドレス生成回路625
は、同じくカウンタ回路からなるリードポインタRPを
備え、プロトコル・コントロール部263から出力され
るリード要求信号RRQがハイレベルであることを条件
に、リードポインタRPをクロック信号CLKに基づい
てインクリメントし、送信バッファメモリ620に対す
るリードアドレスRADを生成し出力する。なお、プロ
トコル・コントロール部263は送信データ制御回路6
24から出力される送信許可信号TPMを受けてリード
要求信号RRQをハイレベルに立ち上げるようにされ
る。プロトコル・コントロール部263からのリード信
号RRQとリードポインタRPからのリードアドレスR
ADによって送信バッファメモリ620がアクセスさ
れ、読み出されたデータは出力データバス628を介し
てプロトコル・コントロール部263へ送られる。
【0019】また、上記送信データ制御回路624は、
CPUインタフェース部261によってCPU側のバス
270から入力データバス627上にのせられた送信デ
ータ数TDCを取り込んで保持するレジスタREGと、
プロトコル・コントロール部263に対する送信許可信
号TPMを生成する送信開始フラグFLGを備え、アド
レスデコーダ622から出力される送信レジスタ制御信
号TRCの立ち下がりに同期してレジスタREGに入力
データバス627上の送信データ数を取り込むととも
に、送信開始フラグFLGをセットして送信許可信号T
PMをハイレベルに変化させる。
【0020】図2では、アドレスデコーダ622からの
送信レジスタ制御信号TRCによって送信開始フラグF
LGが制御されるように示されているが、送信データ数
レジスタREGから送信開始フラグFLGを制御する信
号を与えても良いし、送信データ制御回路624内に送
信レジスタ制御信号TRCを取り込むレジスタまたはラ
ッチ回路を設けて、一旦ラッチした信号に基づいて送信
開始フラグFLGを制御する信号を生成するようにして
も良い。
【0021】比較器626は、送信データ数レジスタR
EGの送信データ数とリードポインタRPのリードアド
レスRADとを常時比較して、両者が一致している間は
ロウレベルの送信状態監視信号TSMを出力し、不一致
になると送信状態監視信号TSMをハイレベルに変化さ
せる。プロトコル・コントロール部263は、比較器6
26から出力される送信状態監視信号TSMのロウレベ
ルへの変化を受けてリード要求信号RRQをロウレベル
に立ち下げるようにされる。また、送信開始フラグFL
Gも比較器626から出力される送信状態監視信号TS
Mのロウレベルへの変化によってクリアされる。
【0022】次に、本実施例の送信バッファ部262A
によるデータ送信動作を、図3のフローチャートに従っ
て図4のタイミングチャートを参照しながら説明する。
デバイス機器(200)のCPU210は、ホスト機器
(100)からデータ送信要求コマンドが入ったパケッ
トを受信したりすると、図3の送信データ転送処理を開
始する。送信データ転送処理では、CPU210は先ず
バッファメモリ620を指定するアドレスADD1を生
成して送信データと共にCPUバス上へ出力する(図3
のステップS001,図4のタイミングt1)。する
と、CPUインタフェース部261がライト信号WEを
生成して上記アドレスADD1とともに送信バッファ部
262A内のアドレスデコーダ622へ渡し、アドレス
デコーダ622がライト信号WEとアドレスADD1を
デコードしてメモリライト制御信号MWCをハイレベル
に立ち上げる(ステップS002,S003)。
【0023】図4には、アドレスADDとしてバッファ
メモリ620を指定するアドレスADD1が連続してい
る様子が示されているが、これはCPUインタフェース
261から送信バッファ部262Aへ供給されるアドレ
スであり、CPUバス270上には転送先アドレスとし
てのバッファメモリ・アドレスADD1とデータの転送
元(RAM230等)を示すアドレスが交互に出力され
る。
【0024】メモリライト制御信号MWCをハイレベル
にされると、送信バッファメモリ620が活性化される
とともにライトアドレス生成回路623がライトポイン
タWPの値をライトアドレスWADとして送信バッファ
メモリ620に供給し、送信バッファメモリ620は入
力データバス627上のデータを取り込んでライトアド
レスWADが指示する番地に格納する(ステップS00
4,S005)。そして、ライトポインタWPがクロッ
ク信号CLKによりインクリメントされる(ステップS
006)。その後、CPU210が転送回数レジスタを
参照するなどして転送すべきデータが残っているか判定
(ステップS007)し、残っていればステップS00
1へ戻って再びアドレスADD1を出力することを繰り
返す。これにより、ライトアドレス生成回路623から
送信バッファメモリ620に対して供給されるライトア
ドレスWADが更新され、更新されたアドレスに対応す
る番地に送信データが格納されて行く(図4のタイミン
グt2,t3,t4)。なお、本実施例においては、バ
ッファメモリ620を指定するアドレスADD1は固定
でありライトアドレス生成回路623からライトアドレ
スWADが生成されるが、ライトアドレス生成回路62
3の代りにCPU210から直接ライトアドレスWAD
に相当するアドレスを指定しても良い。
【0025】図4には、15バイトの送信データを32
ビット幅のデータバスを介して4回に分けて転送する場
合が示されている。この場合、4回目の転送データは3
バイトすなわち24ビットとなる。CPU210は24
ビットのデータのみCPUバス上にのせれば良いが、そ
の場合、残りの8ビットの信号線のレベルが不定となり
その信号を受けるCPUインタフェース部261の入力
バッファに貫通電流が流れるおそれがある。これを回避
するには、CPU210が4バイトに満たない部分につ
いて任意の8ビットの無効なデータを付加してCPUバ
ス上に出力させるようにするのが望ましい。最後に転送
する送信データが2バイトの時は同じく2バイトの無効
データを、また最後に転送する送信データが1バイトの
時は3バイトの無効データを付加してCPUバス上に出
力させるようにすればよい。また、前記転送すべきデー
タがのせられる信号線以外については前回のデータの状
態を保ったままであってもよい。ただし、バスの構成に
よってはプルアップ抵抗が接続されていたりしてフロー
ティングとならない工夫がされていることがある。その
ような場合には、何ら無効データを付加する必要はな
い。無効データを付加する場合においても、その付加デ
ータは固定されたデータでもあってもよいし、任意のレ
ジスタ内の可変データであってもよい。無効データはバ
ッファメモリ620に書き込まれるが、プロトコル・コ
ントロール部263へは読み出されない。
【0026】ステップS007で全ての送信データの転
送が終了したと判定されると、ステップS008へ移行
してCPU210は既に送信したデータの有効バイト数
データTDC(例えば15バイトの場合は“0F”)と
送信データ数レジスタREGを指定するアドレスADD
2をCPUバス上へ出力する(図4のタイミングt
5)。すると、CPUインタフェース部261がライト
信号WEを生成して上記アドレスADD2とともに送信
バッファ部262A内のアドレスデコーダ622へ渡
し、アドレスデコーダ622がライト信号WEとアドレ
スADD2をデコードして送信レジスタ制御信号TRC
をハイレベルに立ち上げ、1クロック後にこれを立ち下
げる(ステップS009,S110、図4のタイミング
t6)。
【0027】これにより、送信データレジスタREGが
入力データバス627上のデータを取り込んで保持する
(ステップS011)。また、これと同時に送信開始フ
ラグFLGがセットされて送信許可信号TPMがハイレ
ベルに変化され、プロトコル・コントロール部263は
送信データがすべてバッファメモリ620内に格納され
たことを知ることができる(ステップS012,タイミ
ングt7)。
【0028】次に、プロトコル・コントロール部263
によるバッファメモリ620からの送信データの読出し
動作を、図5のフローチャートに従って図4のタイミン
グチャートを参照しながら説明する。プロトコル・コン
トロール部263は、例えばホスト機器(100)から
送信開始要求コマンドが入ったパケットを受信すると、
図5の送信データ読出し処理を開始する(ステップS0
21)。
【0029】プロトコル・コントロール部263は、先
ず送信許可信号TPMが有効レベル(ハイレベル)にな
っているかチェックする(ステップS022)。そし
て、送信許可信号TPMが有効レベルになっていないと
きは送信要求を無効とし、次に送信開始要求コマンドが
入ってくるのを待つ(ステップS023)。ステップS
022で送信許可信号TPMが有効レベルであると判定
すると、ステップS24へ移行して送信状態監視信号T
SMが有効レベル(ハイレベル)になっているかチェッ
クする。ここで、送信状態監視信号TSMが有効レベル
であると、リード要求信号RRQがハイレベルに変化さ
せる(ステップS025、図4のタイミングt7)。す
ると、送信バッファ部のリードアドレス制御回路625
がバッファメモリ620に対するリードポインタRPを
参照してリードアドレスRADを生成し出力する(ステ
ップS026)。
【0030】これにより、バッファメモリ620から出
力データバス628上へ送信データが読み出されるの
で、プロトコル・コントロール部263はこれを取り込
む(ステップS027)。それから、次のステップS0
27でリードアドレス制御回路625がリードポインタ
RPをインクリメントしてステップS024へ戻って送
信状態監視信号TSMが無効レベルになるまでバッファ
メモリ620の読出しを繰り返す。
【0031】一方、送信バッファ部では比較器626が
リードポインタRPの値と送信データ数レジスタREG
の値を常時比較しており、両方の値が一致した時点すな
わちバッファメモリ620から無効データを除く送信デ
ータがすべて読み出された時点で、比較器626から出
力される送信状態監視信号TSMが無効レベル(ロウレ
ベル)に変化される(図4のタイミングt8)。そのた
め、送信状態監視信号TSMが無効レベルになるとステ
ップS024からステップS029へ移行して比較器6
26の出力信号によって送信開始フラグFLGがクリア
される。また、プロトコル・コントロール部263は送
信状態監視信号TSMの無効レベルへの変化を受けてリ
ード要求信号RRQをロウレベルに立ち下げる(ステッ
プS030、図4のタイミングt8)。これによって、
バッファメモリ620からのデータの読出しが終了し、
送信が完了する。
【0032】本実施例においては、送信バッファ部26
2Aからプロトコル・コントロール部263に対して、
比較器626からの送信状態監視信号TSMと送信開始
フラグLFGからの送信許可信号TPMの2つの信号を
送るようにしているが、いずれか一方の信号のみとする
ことも可能である。
【0033】次に、本発明の第2の実施例を、図6およ
び図7を用いて説明する。第2の実施例は、図6に示さ
れているように、図2と同様な構成を有する2つの送信
バッファ部262A1,262A2を設けるとともに、
CPUインタフェース部261から供給されるライト信
号WEを送信バッファ部262A1,262A2のいず
れかに振り分けるデマルチプレクサDMPX1と、プロ
トコル・コントロール部263から供給されるリード要
求信号RRQを送信バッファ部262A1,262A2
のいずれかに振り分けるデマルチプレクサDMPX2
と、送信バッファ部262A1と262A2から出力さ
れる送信データ、送信状態監視信号TSM、送信許可信
号TPMをそれぞれ選択してプロトコル・コントロール
部263へ伝えるマルチプレクサMPX1,MPX2,
MPX3と、これらのデマルチプレクサとマルチプレク
サを切替え制御する送信バッファ選択制御回路629と
を設けるようにしたものである。
【0034】送信バッファ選択制御回路629からの選
択信号SELによって、デマルチプレクサDMPX1
と、デマルチプレクサDMPX2、マルチプレクサMP
X1,MPX2,MPX3とは、相補的にバッファの選
択が行なわれる。すなわち、デマルチプレクサDMPX
1が送信バッファ部262A1と選択的に接続されてい
るときは、デマルチプレクサDMPX2、マルチプレク
サMPX1,MPX2,MPX3が送信バッファ部26
2A2と選択的に接続される。また、デマルチプレクサ
DMPX1が送信バッファ部262A2と選択的に接続
されているときは、デマルチプレクサDMPX2、マル
チプレクサMPX1,MPX2,MPX3が送信バッフ
ァ部262A1と選択的に接続される。
【0035】図7には、図6の実施例における制御手順
の一例が示されている。最初に送信要求が発生すると、
送信バッファ部262A1に対する送信データの書込み
が行なわれる(ステップS101)。そして、送信バッ
ファ部262A1の送信開始フラグFLGがセットされ
て送信許可信号TPM1がハイレベルに変化されると、
送信バッファ選択制御回路629から出力される選択信
号SELが反転される(ステップS102,S10
3)。すると、送信バッファ部262A1ではプロトコ
ル・コントロール部263による送信データの読出しが
行なわれる(ステップS104)。また、このとき、別
の送信要求が発生すると、送信バッファ部262A2に
対してCPU側からの送信データの書込みが並行して行
なわれる(ステップS105)。
【0036】それから、送信バッファ部262A1の送
信許可信号TPM1がロウレベルにされ、送信バッファ
部262A2の送信許可信号TPM2がハイレベルに変
化されると、送信バッファ選択制御回路629から出力
される選択信号SELが反転される(ステップS10
6,S107)。すると、今度は、送信バッファ部26
2A2側でプロトコル・コントロール部263による送
信データの読出しが行なわれる(ステップS108)。
そして、このとき、別の送信要求が発生すると、送信バ
ッファ部262A1に対してCPU側からの送信データ
の書込みが並行して行なわれる(ステップS109)。
その後、次の送信要求が発生すると、ステップS102
へ戻って送信バッファ部262A1に対する書込みと送
信バッファ部262A2からの読出しが並行して行なわ
れる。
【0037】以上のように本実施例においては、2つの
送信バッファ部262A1,262A2とバッファの切
替えの仕組みとが設けられているため、プロトコル・コ
ントロール部263が一方のバッファから送信データを
読み出している間にCPU210が他方のバッファに対
して送信データを書き込めるようになる。その結果、ス
ループットが向上し短時間にデータ送信を完了すること
ができるようになる。なお、図6の実施例では、図2と
全く同様な構成を有する送信バッファ部を2つ設けた実
施例を説明したが、送信バッファ部内の一部の回路例え
ばアドレスデコーダ622やライトアドレス生成回路6
23、リードアドレス生成回路625を2つの送信バッ
ファ部262A1,262A2で共有するように構成す
ることも可能である。
【0038】以上本発明者によってなされた発明を実施
例に基づき具体的に説明したが、本発明は上記実施例に
限定されるものではなく、その要旨を逸脱しない範囲で
種々変更可能であることはいうまでもない。例えば実施
例においては、シリアル通信インタフェースを1つだけ
備えた機器について説明したが、実施例のように自身が
デバイス機器となってホスト機器と通信するためのシリ
アル通信インタフェースの他に、自身がホスト機器とな
ってデバイス機器と通信できるようにするための第2の
シリアル通信インタフェースを設け、各インタフェース
部に前記実施例をそれぞれ適用するようにしても良い。
【0039】また、前記実施例においては、一連の送信
データを送信バッファ部へ送信した直後にCPUからイ
ンタフェース部に対して送信データのバイト数が通知さ
れるように構成されているが、インタフェース部に対し
て送信データのバイト数を通知してレジスタREGに保
持させてから送信データを送信バッファ部へ送信するよ
うに構成してもよい。さらに、前記実施例においては、
信号の送受信を行なうトランシーバがプロセッサと同一
チップ上に形成されているものを説明したが、トランシ
ーバは別の半導体集積回路として構成することも可能で
ある。
【0040】以上の説明では主として本発明者によって
なされた発明をその背景となった利用分野であるUSB
規格のインタフェースシステムを構成する通信制御用L
SIに適用した場合について説明したが、本発明はIE
EE1394規格のインタフェースシステムを構成する
通信制御用LSIあるいはUSB規格のインタフェース
機能とIEEE1394規格のインタフェース機能の両
方を有するシステムさらにはUSB規格やIEEE13
94規格以外のシリアル通信インタフェースを有するシ
ステムを構成する場合にも利用することができる。さら
に、本発明はシリアル通信のインタフェースに限定され
ず、パケット通信のためのインタフェースに適用するこ
とができる。
【0041】
【発明の効果】本願において開示される発明のうち代表
的なものによって得られる効果を簡単に説明すれば下記
のとおりである。すなわち、本発明に従うと、CPUと
シリアル・インタフェース部とを接続するバスのビット
数をバイトの整数倍に拡張したので、バスを介してイン
タフェース部へ転送する送信データの転送速度を速める
ことができ、これによってトータルの通信所要時間を短
縮することができる。また、送信しようとするデータの
バイト数と実際に送信したデータのバイト数を比較回路
で比較して制御信号を生成するようにしているため、正
確なデータ通信が可能となる。しかも、送信しようとす
るデータのバイト数を保持するレジスタのような回路と
バイト数を比較するコンパレータのような回路を付加す
るだけで所望の機能を実現できるので、大幅な設計変更
を必要としないでデータ送信処理の高速化と正確なデー
タの送信という2つの要求を同時に達成することができ
る。
【図面の簡単な説明】
【図1】本発明を適用して有効なシリアル通信インタフ
ェースを備えた機器内部の通信制御用LSIとそれを用
いたシステムの第1の実施例を示すブロック図である。
【図2】図1のシリアル・インタフェース部を構成する
送信バッファ部のより詳しい構成例を示すブロック図で
ある。
【図3】図2の実施例の送信バッファ部における送信動
作のうちCPU側からバッファメモリへ送信データを格
納する手順を示すフローチャートである。
【図4】図2の実施例の送信バッファ部における各種信
号のタイミングを示すタイミングチャートである。
【図5】図2の実施例の送信バッファ部における送信動
作のうちプロトコル・コントローラ側からバッファメモ
リ内の送信データを読み出す手順を示すフローチャート
である。
【図6】送信バッファ部の第2の実施例を示すブロック
図である。
【図7】図6の実施例の送信バッファ部における送信手
順を示すフローチャートである。
【図8】シリアル通信インタフェースを備えた機器を用
いたシステムの構成例を示すブロック図である。
【符号の説明】
210 CPU 260 シリアル・インタフェース部 261 CPUインタフェース部 262 送信・受信バッファ部 262A 送信バッファ部 263 プロトコル・コントローラ 264 トランシーバ 270 バス 620 バッファメモリ 626 比較器(比較回路) REG 送信データ数レジスタ(第1回路) RP リードポインタ(第2回路) DMPX1,2 分配手段(デマルチプレクサ) MPX1,2,3 選択手段(マルチプレクサ)
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B061 FF02 FF04 RR03 5B077 BA02 DD02 DD09 NN02 5K034 AA02 AA19 DD01 HH01 HH02 HH21 HH42

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 CPUと、メモリと、外部機器との間の
    データ送受信のためのインタフェース部と、これらを接
    続するバスと、を有する通信制御用半導体集積回路であ
    って、 前記インタフェース部は、送信データを記憶するバッフ
    ァメモリと、該バッファメモリ内の送信データを通信規
    格に適合したフォーマットに構成する制御手段とを備
    え、 前記バスはそのデータ信号線の数が1バイトの整数倍に
    設定され、 前記バスを介して送信データを前記バッファメモリへ転
    送する際に前記CPUから前記インタフェース部に対し
    て送信データのサイズが通知されるように構成されてい
    ることを特徴とする通信制御用半導体集積回路。
  2. 【請求項2】 前記インタフェース部は通知された送信
    データサイズと送信バッファより読み出された送信デー
    タのサイズとを比較し、該比較結果に基づいて第1信号
    を生成して前記制御手段に供給するように構成されてい
    ることを特徴とする請求項1に記載の通信制御用半導体
    集積回路。
  3. 【請求項3】 前記制御手段は、前記CPUから前記イ
    ンタフェース部に対する前記送信データのサイズの通知
    に基づいて生成された第2信号によって前記バッファメ
    モリからの送信データの読出しを開始し、前記第1信号
    が前記比較結果の一致を示したことに基づいて前記バッ
    ファメモリからの送信データの読出しを終了するように
    構成されていることを特徴とする請求項2に記載の通信
    制御用半導体集積回路。
  4. 【請求項4】 前記インタフェース部には、通知された
    送信データのサイズを保持する第1回路と、前記バッフ
    ァメモリより読み出された送信データのサイズを示す第
    2回路と、これらの回路に保持されているサイズを比較
    する比較回路が設けられていることを特徴とする請求項
    1から3のいずれかに記載の通信制御用半導体集積回
    路。
  5. 【請求項5】 前記第2回路は、前記バッファメモリか
    ら送信データを読み出すためのアドレス信号を生成する
    回路であり、前記比較回路は前記第2回路から前記バッ
    ファメモリに供給されるアドレス信号と前記第1回路に
    保持されている値とを比較することを特徴とする請求項
    4に記載の通信制御用半導体集積回路。
  6. 【請求項6】 前記第2回路は、前記第2信号を受けて
    前記制御手段により生成される第3信号に基づいて前記
    バッファメモリから送信データを読み出すためのアドレ
    ス信号の生成を開始するように構成されていることを特
    徴とする請求項3、4または5に記載の通信制御用半導
    体集積回路。
  7. 【請求項7】 前記インタフェース部は、前記CPUか
    らの送信データのサイズの通知に基づいて設定されるフ
    ラグを有し、該フラグの状態に基づいて前記バッファメ
    モリ内の送信データの読出しが可能であることを示す前
    記第2信号が生成され前記制御手段に対して供給される
    特徴とする請求項2から6のいずれかに記載の通信制御
    用半導体集積回路。
  8. 【請求項8】 前記インタフェース部は、前記バスを介
    して供給される送信データを前記バッファメモリに書き
    込むためのアドレス信号を生成する書込みアドレス生成
    回路を備えていることを特徴とする請求項1〜7のいず
    れかに記載の通信制御用半導体集積回路。
  9. 【請求項9】 前記バッファメモリは1つの送信パケッ
    トに格納可能な最大の送信データを記憶可能な容量を有
    するように構成されていることを特徴とする請求項1〜
    8のいずれかに記載の通信制御用半導体集積回路。
  10. 【請求項10】 前記インタフェース部に供給される前
    記送信データのサイズが前記データ信号線のサイズの整
    数倍でない場合に、前記送信データのサイズが前記デー
    タ信号線のサイズの整数倍となるように前記送信データ
    に無効データが付加されて前記インタフェース部に供給
    されるように構成されていることを特徴とする請求項1
    〜9のいずれかに記載の通信制御用半導体集積回路。
  11. 【請求項11】 前記インタフェース部は、前記バッフ
    ァメモリを2以上備え、これらのバッファメモリを交互
    に使用しながら送信処理を行なうように構成されている
    ことを特徴とする請求項1〜10のいずれかに記載の通
    信制御用半導体集積回路。
JP2002075925A 2002-03-19 2002-03-19 通信制御用半導体集積回路 Pending JP2003271549A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002075925A JP2003271549A (ja) 2002-03-19 2002-03-19 通信制御用半導体集積回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002075925A JP2003271549A (ja) 2002-03-19 2002-03-19 通信制御用半導体集積回路

Publications (1)

Publication Number Publication Date
JP2003271549A true JP2003271549A (ja) 2003-09-26

Family

ID=29204867

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002075925A Pending JP2003271549A (ja) 2002-03-19 2002-03-19 通信制御用半導体集積回路

Country Status (1)

Country Link
JP (1) JP2003271549A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017104440A1 (ja) * 2015-12-16 2017-06-22 ソニー株式会社 通信装置、通信方法、プログラム、および通信システム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017104440A1 (ja) * 2015-12-16 2017-06-22 ソニー株式会社 通信装置、通信方法、プログラム、および通信システム
EP3392778A4 (en) * 2015-12-16 2019-01-09 Sony Corporation COMMUNICATION DEVICE, COMMUNICATION METHOD, PROGRAM, AND COMMUNICATION SYSTEM

Similar Documents

Publication Publication Date Title
US6574688B1 (en) Port manager controller for connecting various function modules
JP4571671B2 (ja) 通信モジュールのメッセージメモリのデータへアクセスする方法および装置
US20020038393A1 (en) Method and apparatus for distributed direct memory access for systems on chip
US20050210221A1 (en) Microcomputer and microcomputer system
JPH09325947A (ja) コマンドおよびデータ情報を装置に原子的に転送する方法及び装置
US20020184453A1 (en) Data bus system including posted reads and writes
WO2002079971A1 (en) Programmable cpu/interface buffer structure using dual port ram
JP2008310832A (ja) 高レベル・データ・リンク・コントローラから多数個のディジタル信号プロセッサ・コアに信号を分配するための装置と方法
US6721815B1 (en) Method and apparatus for iTD scheduling
KR100977897B1 (ko) 메시지 메모리 내에서 메시지를 저장하기 위한 방법 및상응하는 메시지 메모리
KR100944892B1 (ko) 버스 시스템 및 버스 인터페이스
US6473818B1 (en) Apparatus and method in a network interface device for asynchronously generating SRAM full and empty flags using coded read and write pointer values
US8131890B1 (en) Circuit and method for increasing universal serial bus (USB) device endpoints
JP2003271549A (ja) 通信制御用半導体集積回路
JP2003308288A (ja) マイクロコンピュータシステム
US5809341A (en) Circuit for transmitting received character when detection signal is not activated and transmitting substitute character when the detection signal is activated
US20080320178A1 (en) DMA transfer apparatus
US11789884B2 (en) Bus system and method for operating a bus system
US11169947B2 (en) Data transmission system capable of transmitting a great amount of data
US20050143843A1 (en) Command pacing
KR101109600B1 (ko) 직접 메모리 접근 제어를 이용한 데이터 전송 방법 및 그장치
JP2005303787A (ja) パケット生成装置
KR101345437B1 (ko) 칩들간의 통신을 위한 인터페이스 장치 및 방법
KR20070081981A (ko) 중앙처리 장치가 없는 시스템에서의 인터페이스 방법 및장치
KR20040015056A (ko) 프로세서의 개입 유무와 상관없는 하드웨어 초기화 방법및 장치