JPH08265393A - シリアル通信方法およびシリアル通信コントローラ - Google Patents

シリアル通信方法およびシリアル通信コントローラ

Info

Publication number
JPH08265393A
JPH08265393A JP7063743A JP6374395A JPH08265393A JP H08265393 A JPH08265393 A JP H08265393A JP 7063743 A JP7063743 A JP 7063743A JP 6374395 A JP6374395 A JP 6374395A JP H08265393 A JPH08265393 A JP H08265393A
Authority
JP
Japan
Prior art keywords
reception
transmission
buffers
data
buffer
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.)
Granted
Application number
JP7063743A
Other languages
English (en)
Other versions
JP2971006B2 (ja
Inventor
Hiroshi 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.)
JFE Steel Corp
Original Assignee
Kawasaki Steel Corp
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 Kawasaki Steel Corp filed Critical Kawasaki Steel Corp
Priority to JP7063743A priority Critical patent/JP2971006B2/ja
Publication of JPH08265393A publication Critical patent/JPH08265393A/ja
Application granted granted Critical
Publication of JP2971006B2 publication Critical patent/JP2971006B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Communication Control (AREA)
  • Bidirectional Digital Transmission (AREA)

Abstract

(57)【要約】 【目的】高速な通信レートに対応することができ、割り
込み処理によるオーバヘッドを削減することができるシ
リアル通信方法およびシリアル通信コントローラの提
供。 【構成】少なくとも1つの受信用バッファおよび少なく
とも1つの送信用バッファを備えるシリアル通信コント
ローラにおいて、全二重通信の送受信時に、前記受信用
および送信用バッファをそれぞれ受信用および送信用バ
ッファとして使用し、半二重通信の受信時に、前記受信
用および送信用バッファをともに受信用バッファとして
使用し、前記半二重通信の送信時に、前記受信用および
送信用バッファをともに送信用バッファとして使用する
ことにより、上記目的を達成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、シリアル通信を制御す
るシリアル通信方法およびシリアル通信コントローラに
関し、詳しくは、半二重通信を行う際に、受信用および
送信用バッファをともに受信用または送信用バッファと
して使用することができるシリアル通信方法およびシリ
アル通信コントローラに関する。
【0002】
【従来の技術】一般的に、シリアル通信には全二重通信
および半二重通信の2つの通信方式がある。ここで、全
二重通信とは、送信および受信を同時に行う通信方式で
あり、半二重通信とは、送信または受信のいずれか一方
だけを一時に行う通信方式である。以下に、シリアル通
信を制御するシリアル通信コントローラについて説明す
る。
【0003】図5は、従来のシリアル通信コントローラ
の一例のブロック図である。このシリアル通信コントロ
ーラ60は、外部CPU(中央演算装置)とシリアル通
信コントローラ60の内部回路とのデータのやり取りを
制御するCPUインタフェース16と、シリアルデータ
である受信データをパラレルデータに変換する受信用シ
フトレジスタ12と、この受信用シフトレジスタ12か
ら出力されるパラレルデータを一時的に保持する受信用
バッファ14a,14b,…,14nと、CPUから入
力されるパラレルデータを一時的に保持する送信用バッ
ファ18a,18b,…,18nと、この送信用バッフ
ァ18a〜18nから読み出されるパラレルデータを変
換してシリアルデータである送信データとして出力する
送信用シフトレジスタ20とから構成されている。
【0004】次に、このシリアル通信コントローラ60
の動作について説明する。まず、受信において、受信用
シフトレジスタ12により、シリアルデータである受信
データはシリアル→パラレル変換されてパラレルデータ
として出力され、受信用バッファ14a〜14nに順次
保持される。ここで、受信用バッファ14a〜14nに
保持することができる最大個数、例えば4個のパラレル
データが保持された場合、CPUインタフェース16か
らCPUに対して、受信データの読み出しを要求する割
り込み要求信号INTが出力される。CPUは割り込み
要求信号INTを受け取ると、メインルーチンから割り
込みルーチンへ分岐し、読み出し信号RD_をアクティ
ブ状態にして、受信用バッファ14a〜14nに保持さ
れているパラレルデータを保持された順番に応じて、内
部データバス、CPUインタフェース16および外部デ
ータバスを通して順次読み出した後、再度メインルーチ
ンへ復帰する。このようにして受信データはCPUによ
って読み出される。
【0005】また、送信において、CPUはメインルー
チンから割り込みルーチンへ分岐し、書き込み信号WR
_をアクティブ状態にして、外部データバス、CPUイ
ンタフェース16および内部データバスを通して、送信
用バッファ18a〜18nに保持することができる最大
個数、例えば4個のパラレルデータを順次送信用バッフ
ァ18a〜18nに書き込んだ後、再度メインルーチン
へ復帰する。送信バッファ18a〜18nに書き込まれ
たパラレルデータは、書き込まれた順番に応じて順次読
み出され、送信用シフトレジスタ20によりパラレル→
シリアル変換されてシリアルデータである送信データと
して出力される。ここで、送信用バッファ18a〜18
nに書き込まれた全てのパラレルデータが読み出された
場合、CPUインタフェース16からCPUに対して、
次のパラレルデータの書き込みを要求する割り込み要求
信号INTが出力される。このようにして送信データは
送信される。
【0006】このシリアル通信コントローラ60は全二
重通信に対応して設計されているため、受信および送信
は同時に独立して動作させることができる。なお、全二
重通信において、一時に必ず送信または受信のいずれか
一方だけを行うようにすることにより、半二重通信にも
対応することが可能である。
【0007】ところで、上述するシリアル通信コントロ
ーラ60において、受信用バッファ14a〜14nおよ
び送信用バッファ18a〜18nはそれぞれ少なくとも
1個、好ましくはそれぞれ複数個設けられる。その理由
の1つは、CPUに頻繁に割り込み要求信号INTが出
力されるのを防止するためである。
【0008】例えば、受信用バッファおよび送信用バッ
ファが8ビットを1つの単位とするパラレルデータを保
持するものであり、それぞれ1個の受信用バッファおよ
び送信用バッファしか備えていないと仮定する。この場
合、8ビットの受信データを受信してこれが受信用バッ
ファに保持される毎に、CPUに対して受信データの読
み出しを要求する割り込み要求信号INTが出力される
ことになる。また、CPUから1つのパラレルデータが
送信用バッファに書き込まれると、これが読み出される
毎に、CPUに対して次のパラレルデータの書き込みを
要求する割り込み要求信号INTが出力されることにな
る。
【0009】このように、受信用および送信用バッファ
の個数が少ないほど、CPUに対して頻繁に受信データ
の読み出しや送信データの書き込みを要求する割り込み
要求信号INTが出力されることになる。このため、C
PUは割り込みルーチンの処理に多くの時間を取られて
しまい、メインルーチンの処理に充分な時間が避けなく
なってしまうという問題点が発生する。
【0010】これに対し、例えばそれぞれ4個の受信用
バッファおよび送信用バッファを備えていると仮定す
る。この場合、4個の受信用バッファの全てにパラレル
データが保持されるまで、即ち、32ビットの受信デー
タが受信されるまで、CPUに対して受信データの読み
出しを要求する割り込み要求信号INTが出力されな
い。また、CPUから4つのパラレルデータが送信用バ
ッファに書き込まれ、これらが全て読み出されるまで、
即ち、32ビットの送信データが読み出されるまで、C
PUに対して次のパラレルデータの書き込みを要求する
割り込み要求信号INTが出力されない。
【0011】このように、n個の受信用バッファおよび
n個の送信用バッファを備えることにより、CPUに対
して割り込み要求信号INTが出力される回数を1/n
にすることができる。このため、割り込みルーチンの処
理によるオーバヘッドを削減することができ、CPUを
効率良く使用することができる。
【0012】また、複数個の受信用および送信用バッフ
ァを備えるもう1つの理由は、高速な通信レートに対応
するためである。
【0013】上述するように、受信データが受信用バッ
ファに保持され、受信データの読み出しを要求する割り
込み要求信号INTがCPUに対して出力されると、C
PUにより受信用バッファに保持されている受信データ
が読み出される。しかしながら、受信用バッファの個数
が少なくかつ通信レートが高速な場合、CPUが受信バ
ッファに保持されている受信データを読み出す前に、次
の受信データが受信用バッファに上書きされてしまい、
上書きされる前の受信データが消失してしまうという、
いわゆる受信オーバランエラーが発生する。
【0014】一方、送信データを送信用バッファに書き
込む場合にも、送信用バッファの個数が少なくかつ通信
レートが高速な場合、割り込みルーチンの処理によるオ
ーバヘッドのために送信データの書き込みが間に合わな
くなり、シリアル通信コントローラから出力される送信
データが途中で途切れてしまうという、いわゆる送信ア
ンダランエラーが発生する。
【0015】これらの問題を解決するためにも受信用お
よび送信用バッファの個数を多くすることが有効であ
る。このように、複数個の受信用バッファを備えること
により、高速な通信レートにも対応することができるよ
うになる。このため、できるだけ多くの受信用バッファ
および送信用バッファを備えるのが好ましいことは言う
までもないことである。
【0016】しかしながら、複数個の受信用および送信
用バッファを備えるためには、当然のことながらハード
ウェアの規模が増大する。このため、これらの受信用お
よび送信用バッファの個数を増加させる毎にゲート数
(トランジスタ数)が増大し、そのレイアウト面積も増
大するという問題点がある。
【0017】また、既に述べたように、シリアル通信コ
ントローラのハードウェアは全二重通信に対応している
にもかかわらず、受信データのエラー確認を行ってか
ら、送信データを出力するように設計されているものが
多い。このため、現実的には、シリアル通信コントロー
ラは半二重通信で使用されている場合がかなり多い。例
えば、モデムでは全二重通信が用いられているが、FA
XモデムやLAN(Local Area Network)全般、パーソ
ナルコンピュータと周辺機器との接続などにおいては半
二重通信が用いられている。
【0018】従来より、ハードウェア的に全二重通信に
対応しているシリアル通信コントローラを、ソフトウェ
ア的に半二重通信で使用している場合が多いため、受信
の時は送信用バッファが全く使用されておらず、逆に、
送信の時は受信用バッファが全く使用されていなかっ
た。このため、受信用または送信用バッファのいずれか
全てが無駄になるという問題点もあった。
【0019】
【発明が解決しようとする課題】本発明の目的は、前記
従来技術に基づく種々の問題点をかえりみて、ハードウ
ェア規模を増大させることなく高速な通信レートに対応
することができ、比較的通信レートが低速な場合であっ
ても割り込み処理によるオーバヘッドを削減することが
できるシリアル通信方法およびシリアル通信コントロー
ラを提供することにある。
【0020】
【課題を解決するための手段】上記目的を達成するため
に、本発明は、少なくとも1つの受信用バッファおよび
少なくとも1つの送信用バッファを備えるシリアル通信
コントローラにおいて、全二重通信の送受信時に、前記
受信用および送信用バッファをそれぞれ受信用および送
信用バッファとして使用し、半二重通信の受信時に、前
記受信用および送信用バッファをともに受信用バッファ
として使用し、前記半二重通信の送信時に、前記受信用
および送信用バッファをともに送信用バッファとして使
用することを特徴とするシリアル通信方法を提供するも
のである。
【0021】また、本発明は、少なくとも1つの受信用
バッファを有し、シリアルデータを受信してパラレルデ
ータに変換し、このパラレルデータを前記受信用バッフ
ァに保持する受信部と、少なくとも1つの送信用バッフ
ァを有し、送信しようとするパラレルデータを前記送信
用バッファに保持し、このパラレルデータをシリアルデ
ータに変換して送信する送信部と、制御信号により通信
方式を全二重通信または半二重通信に切り換え、前記全
二重通信の送受信時に、前記受信用および送信用バッフ
ァをそれぞれ受信用および送信用バッファとして使用
し、前記半二重通信の受信時に、前記受信用および送信
用バッファをともに受信用バッファとして使用し、前記
半二重通信の送信時に、前記受信用および送信用バッフ
ァをともに送信用バッファとして使用するよう設定する
切換え手段を備えることを特徴とするシリアル通信コン
トローラを提供するものである。
【0022】ここで、前記切換え手段を制御する制御信
号は、外部端子から入力される信号または内部制御レジ
スタから出力される信号であるのが好ましい。
【0023】
【発明の作用】本発明のシリアル通信コントローラは、
制御信号により、通信方式を全二重通信または半二重通
信に切り換える切換え手段を備えるものである。また、
本発明のシリアル通信方法においては、全二重通信によ
り受信および送信を同時に行う場合、受信用バッファは
受信用バッファとして使用され、同様に、送信用バッフ
ァは送信用バッファとして使用される。一方、半二重通
信により受信を行う場合、受信用バッファおよび送信用
バッファはともに受信用バッファとして使用され、同様
に、送信を行う場合、受信用バッファおよび送信用バッ
ファはともに送信用バッファとして使用される。従っ
て、本発明のシリアル通信方法およびシリアル通信コン
トローラによれば、全二重通信で使用される場合、従来
のシリアル通信コントローラと全く同様に動作すること
は勿論、半二重通信の受信または送信で使用される場
合、それぞれ受信用バッファまたは送信用バッファの個
数を倍増することができるため、より高速な通信レート
に対応することが可能になるばかりでなく、割り込み処
理によるオーバヘッドを削減してCPUを効率良く使用
することができる。
【0024】
【実施例】以下に、添付の図面に示す好適実施例に基づ
いて、本発明のシリアル通信方法およびシリアル通信コ
ントローラを詳細に説明する。
【0025】図1は、本発明のシリアル通信コントロー
ラの一実施例のブロック図である。このシリアル通信コ
ントローラ10は、受信部となる受信用シフトレジスタ
12および受信用バッファ14a,14b,14c,1
4dと、CPUインタフェース16と、送信部となる送
信用バッファ18a,18b,18c,18dおよび送
信用シフトレジスタ20と、切換え手段22とを有して
いる。なお、受信用バッファおよび送信用バッファの個
数は特に限定されるものではない。
【0026】このシリアル通信コントローラ10におい
て、受信用シフトレジスタ12は、シリアルデータを所
定ビット長のパラレルデータに変換する、いわゆるシリ
アル→パラレル変換器である。即ち、この受信用シフト
レジスタ12にはシリアルデータである受信データが入
力され、受信用シフトレジスタ12においてシリアル→
パラレル変換され、受信用シフトレジスタ12から所定
ビット長を有するパラレルデータとして出力される。
【0027】また、受信用バッファ14a〜14dは、
FIFO(First-In-First-out )形式のバッファであ
る。即ち、これらの受信用バッファ14a〜14dに
は、受信用シフトレジスタ12から出力されるパラレル
データが順次入力されて一時的に保持され、受信用バッ
ファ14a〜14dからパラレルデータが読み出される
場合には、入力された順番に応じて順次読み出される。
【0028】また、CPUインタフェース16は、この
シリアル通信コントローラ10を制御するCPUと、こ
のシリアル通信コントローラ10の内部回路とのやり取
りを制御するものである。このCPUインタフェース1
6には、CPUから読み出し信号RD_および書き込み
信号WR_が入力され、CPUインタフェース16から
は割り込み要求信号INTがCPUに対して出力されて
いる。また、CPUとのやり取りには外部データバス信
号が双方向に用いられ、内部回路とのやり取りには内部
データバス信号が双方向に用いられる。
【0029】また、送信用バッファ18a〜18dは、
受信用バッファ14a〜14dと同様にFIFO形式の
バッファである。即ち、これらの送信用バッファ18a
〜18dには、外部データバス、CPUインタフェース
16および内部データバスを通して、CPUから入力さ
れるパラレルデータが一時的に保持され、送信用バッフ
ァ18a〜18dからパラレルデータが読み出される場
合には、入力された順番に応じて順次読み出される。
【0030】また、送信用シフトレジスタ20は、所定
ビット長のパラレルデータをシリアルデータに変換す
る、いわゆるパラレル→シリアル変換器である。即ち、
この送信用シフトレジスタ20には、保持された順番に
応じて送信用バッファ18a〜18dから読み出される
パラレルデータが順次入力され、送信用シフトレジスタ
20においてパラレル→シリアル変換され、送信用シフ
トレジスタ20からシリアルデータである送信データと
して出力される。
【0031】最後に、切換え手段22は、このシリアル
通信コントローラ10の通信方式を全二重通信、または
半二重通信のいずれかに切り換えるものである。例え
ば、切換え手段22に入力される制御信号をハイレベル
に設定することにより、このシリアル通信コントローラ
10は全二重通信で使用され、逆にローレベルに設定す
ることにより半二重通信で使用される。
【0032】なお、切換え手段22に入力される制御信
号は、CPUから専用入力端子を通して入力される制御
信号、あるいはCPUによりCPUインタフェース16
を介してソフトウェア的に設定される内部制御レジスタ
から出力される制御信号などであるのが好ましい。
【0033】次に、本発明のシリアル通信方法および上
述するシリアル通信コントローラ10の動作について説
明する。
【0034】本発明のシリアル通信コントローラ10を
全二重通信で使用するには、例えば切換え手段22に入
力される制御信号としてハイレベルを設定する。これに
より、このシリアル通信コントローラ10は全二重通信
で使用され、即ち、受信用バッファ14a〜14dは受
信用バッファとして、また、送信用バッファ18a〜1
8dは送信用バッファとして、それぞれ別々に用いられ
る。なお、本発明のシリアル通信コントローラ10を全
二重通信で使用する場合の動作は、図5に示す従来のシ
リアル通信コントローラ60の動作と同一であるため、
ここではその説明は省略する。
【0035】一方、本発明のシリアル通信方法を適用し
て、このシリアル通信コントローラ10を半二重通信で
使用するには、切換え手段22に入力される制御信号と
してローレベルを設定する。これにより、このシリアル
通信コントローラ10は半二重通信で使用され、即ち、
受信用バッファ14a〜14dおよび送信用バッファ1
8a〜18dは、図2に示すように、受信の場合には全
て受信用バッファとして、また、図3に示すように、送
信の場合には全て送信用バッファとして用いられる。
【0036】半二重通信の受信において、シリアルデー
タである受信データは受信用シフトレジスタ12に入力
され、シリアル→パラレル変換されて所定ビット長、例
えば8ビット長のパラレルデータに変換され、受信用バ
ッファ14a〜14dおよび送信用バッファ18a〜1
8dに順次入力されて一時的に保持される。ここで、受
信用バッファ14a〜14dおよび送信用バッファ18
a〜18dに保持することができる最大個数、例えば図
示例においては8個のパラレルデータが保持された場
合、CPUインタフェース16からCPUに対して、受
信データの読み出しを要求する割り込み要求信号INT
が出力される。CPUは割り込み要求信号INTを受け
取ると、メインルーチンから割り込みルーチンへ分岐
し、読み出し信号RD_をアクティブ状態、例えばロー
レベルとして、受信用バッファ14a〜14dおよび送
信用バッファ18a〜18dに保持されているパラレル
データを保持された順番に応じて、内部データバス、C
PUインタフェース16および外部データバスを通して
順次読み出した後、再度メインルーチンへ復帰する。こ
のようにして受信データは受信される。
【0037】また、半二重通信の送信において、CPU
はメインルーチンから割り込みルーチンへ分岐し、書き
込み信号WR_をアクティブ状態、例えばローレベルと
して、外部データバス、CPUインタフェースおよび内
部データバスを通して、送信用バッファ18a〜18d
および受信用バッファ14a〜14dに保持することが
できる最大個数、例えば図示例においては8個のパラレ
ルデータを順次送信用バッファ18a〜18dおよび受
信用バッファ14a〜14dに書き込んだ後、再度メイ
ンルーチンへ復帰する。送信用バッファ18a〜18d
および受信用バッファ14a〜14dに書き込まれたパ
ラレルデータは、書き込まれた順番に応じて順次読み出
され、送信用シフトレジスタ20により、パラレル→シ
リアル変換されてシリアルデータである送信データとし
て出力される。ここで、送信用バッファ18a〜18d
および受信用バッファ14a〜14dに書き込まれた全
てのパラレルデータが読み出された場合、CPUインタ
フェース16からCPUに対して、次のパラレルデータ
の書き込みを要求する割り込み要求信号INTが出力さ
れる。このようにして送信データは送信される。
【0038】上述するように、本発明のシリアル通信方
法を適用して、シリアル通信コントローラを半二重通信
で使用する場合には、受信の時に送信用バッファをも受
信用バッファとして、同様に、送信の時に受信用バッフ
ァをも送信用バッファとして使用することができる。こ
のため、従来と同数の受信用および送信用バッファしか
有していないにもかかわらず、従来の2倍の個数の受信
用および送信用バッファとして使用することができる。
【0039】従って、本発明のシリアル通信方法によれ
ば、新規に受信用および送信用バッファを追加するより
も少ないハードウェア規模で、高速な通信レートのシリ
アル通信に対応することができるし、逆に、通信レート
が比較的低速である場合であっても、割り込みルーチン
の処理によるオーバヘッドを削減してCPUを効率良く
使用することができる。
【0040】次に、具体例を挙げて、本発明のシリアル
通信方法およびシリアル通信コントローラをさらに具体
的に説明する。
【0041】図4は、本発明のシリアル通信コントロー
ラの一実施例の構成回路図である。このシリアル通信コ
ントローラ30は、受信部となる受信用シフトレジスタ
12、受信用バッファ14a,14b,14c,14
d、受信用ライトポインタ28、受信用リードポインタ
32およびマルチプレクサ34と、送信部となる送信用
バッファ18a,18b,18c,18d、送信用シフ
トレジスタ20、送信用ライトポインタ40、送信用リ
ードポインタ42およびマルチプレクサ44と、切換え
手段となるセレクタ24a,24b,24c,24d、
セレクタ26a,26b,26c,26d、セレクタ3
6a,36b,36c,36dおよびセレクタ38a,
38b,38c,38dとから構成されている。
【0042】ここで、シリアルデータである受信データ
は受信用シフトレジスタ12に入力され、この受信用シ
フトレジスタ12の出力信号46はセレクタ24a〜2
4dの入力端0およびセレクタ36a〜36dの入力端
1に入力されている。同様に、CPUからの入力信号4
8は、内部データバスを通してセレクタ36a〜36d
の入力端0およびセレクタ24a〜24dの入力端1に
入力されている。
【0043】また、受信用ライトポインタ28からはラ
イトイネーブル信号R_WE0,R_WE1,R_WE
2,R_WE3,R_WE4,R_WE5,R_WE
6,R_WE7が出力され、それぞれセレクタ26a〜
26dの入力端0およびセレクタ38a〜38dの入力
端1に入力されている。同様に、送信用ライトポインタ
40からはライトイネーブル信号T_WE0,T_WE
1,T_WE2,T_WE3,T_WE4,T_WE
5,T_WE6,T_WE7が出力され、それぞれセレ
クタ38a〜38dの入力端0およびセレクタ26a〜
26dの入力端1に入力されている。
【0044】また、セレクタ24a〜24dおよびセレ
クタ36a〜36dの出力信号は、それぞれ受信用バッ
ファ14a〜14dおよび送信用バッファ18a〜18
dのデータ入力端に入力され、同様に、セレクタ26a
〜26dおよびセレクタ38a〜38dの出力信号は、
それぞれ受信用バッファ14a〜14dおよび送信用バ
ッファ18a〜18dのライトイネーブル端WEに入力
されている。また、セレクタ24a〜24dおよびセレ
クタ26a〜26dの選択端にはともに選択信号SEL
Rが入力され、同様に、セレクタ36a〜36dおよび
セレクタ38a〜38dの選択端にはともに選択信号S
ELTが入力されている。
【0045】また、受信用バッファ14a〜14dから
はパラレルデータR0,R1,R2,R3が出力され、
これらのパラレルデータR0〜R3はそれぞれマルチプ
レクサ34のデータ入力端0,1,2,3およびマルチ
プレクサ44のデータ入力端4,5,6,7に入力され
ている。同様に、送信用バッファ18a〜18dからは
パラレルデータT0,T1,T2,T3が出力され、こ
れらのパラレルデータT0〜T3はそれぞれマルチプレ
クサ44のデータ入力端0,1,2,3およびマルチプ
レクサ34のデータ入力端4,5,6,7に入力されて
いる。
【0046】また、マルチプレクサ34の選択端には受
信用リードポインタ32から出力される選択信号50が
入力され、その出力信号は内部データバスに接続されて
いる。同様に、マルチプレクサ44の選択端には送信用
リードポインタ42から出力される選択信号52が入力
され、その出力信号は送信用シフトレジスタ20に入力
されている。そして、送信用シフトレジスタ20からは
シリアルデータである送信データが出力されている。
【0047】このシリアル通信コントローラ30におい
て、受信用シフトレジスタ12、受信用バッファ14a
〜14d、送信用シフトレジスタ20および送信用バッ
ファ18a〜18dは、図1に示すシリアル通信コント
ローラ10と同一のものであるから、ここではその説明
は省略する。また、受信用ライトポインタ28および受
信用リードポインタ32と、送信用ライトポインタ40
および送信用リードポインタ42とは同様の機能を有す
るものであるため、ここでは受信用ライトポインタ28
および受信用リードポインタ32についてのみ説明す
る。
【0048】まず、受信用ライトポインタ28は、受信
用シフトレジスタ12から出力される出力信号46が保
持される受信用バッファ14a〜14dまたは送信用バ
ッファ18a〜18dを決定するライトイネーブル信号
R_WE0〜R_WE7を出力する。この受信用ライト
ポインタ28は、受信用シフトレジスタ12によりシリ
アル→パラレル変換が終了し、出力信号46が出力され
る毎にカウントアップされるカウンタを有しており、こ
のカウンタの値に応じてライトイネーブル信号R_WE
0〜R_WE7の中の1つだけがアクティブ状態にされ
る。
【0049】なお、全二重通信の場合、上述するカウン
タの値は‘0’〜‘3’の範囲でカウントアップされ、
‘3’の次は‘0’に初期化される。また、このカウン
タの値‘0’〜‘3’に応じて、ライトイネーブル信号
R_WE0〜R_WE3の中の1つがアクティブ状態に
される。同様に、半二重通信の場合、上述するカウンタ
の値は‘0’〜‘7’の範囲でカウントアップされ、
‘7’の次は‘0’に初期化される。また、このカウン
タの値‘0’〜‘7’に応じて、ライトイネーブル信号
R_WE0〜R_WE7の中の1つがアクティブ状態に
される。
【0050】また、受信用リードポインタ32は、受信
用バッファ14a〜14dから出力されるパラレルデー
タR0〜R3および送信用バッファ18a〜18dから
出力されるパラレルデータT0〜T3の中から、CPU
により読み出されるパラレルデータを選択する選択信号
50を出力するものである。この受信用リードポインタ
32は、受信用バッファ14a〜14dおよび送信用バ
ッファ18a〜18dからパラレルデータが、CPUに
より読み出される毎にカウントアップされるカウンタを
有しており、このカウンタの値‘0’〜‘7’に応じ
て、それぞれマルチプレクサ34のデータ入力端0〜7
に入力されているパラレルデータR0〜R3およびパラ
レルデータT0〜T3の中の1つが選択される。
【0051】なお、全二重通信の場合、上述するカウン
タの値は‘0’〜‘3’の範囲でカウントアップされ、
‘3’の次は‘0’に初期化される。同様に、半二重通
信の場合、上述するカウンタの値は‘0’〜‘7’の範
囲でカウントアップされ、‘7’の次は‘0’に初期化
される。
【0052】次に、このシリアル通信コントローラ30
の動作について説明する。
【0053】まず、このシリアル通信コントローラ30
を全二重通信で使用するには、制御信号SELR,SE
LTをともにローレベルに設定する。これにより、セレ
クタ24a〜24d、セレクタ26a〜26d、セレク
タ36a〜36dおよびセレクタ38a〜38dは、入
力端0に入力される信号が選択出力される。
【0054】即ち、受信用バッファ14a〜14dのデ
ータ入力端にはともに受信用シフトレジスタ12の出力
信号46が入力され、そのライトイネーブル端WEには
それぞれライトイネーブル信号R_WE0〜R_WE3
が入力される。同様に、送信用バッファ18a〜18d
のデータ入力端にはともに、CPUからの入力信号48
が内部データバスを通して入力され、そのライトイネー
ブル端WEにはそれぞれライトイネーブル信号T_WE
0〜T_WE3が入力される。
【0055】全二重通信の受信において、受信用シフト
レジスタ12により、受信データがシリアル→パラレル
変換されて出力信号46が出力される毎に、受信用ライ
トポインタ28から出力されるライトイネーブル信号R
_WE0〜R_WE3はこの順番でアクティブ状態にさ
れる。その結果、受信用シフトレジスタ12の出力信号
46は、受信用バッファ14a〜14dにこの順番で保
持される。一方、CPUが受信用バッファ14a〜14
dに保持されているパラレルデータR0〜R3を読み出
す場合、CPUによりパラレルデータR0〜R3が読み
出される毎に、受信用リードポインタ32から出力され
る選択信号50はその値が‘0’〜‘3’の順番でカウ
ントアップされる。その結果、パラレルデータR0〜R
3は、マルチプレクサ34によりこの順番で選択出力さ
れ、CPUにより内部データバスを通してこの順番で読
み出される。
【0056】また、全二重通信の送信において、CPU
からの入力信号48が入力される毎に、送信用ライトポ
インタ40から出力されるライトイネーブル信号T_W
E0〜T_WE3はこの順番でアクティブ状態にされ
る。その結果、CPUからの入力信号48は、送信用バ
ッファ18a〜18dにこの順番で保持される。一方、
送信用バッファ18a〜18dに保持されているパラレ
ルデータT0〜T3が読み出される場合、パラレルデー
タT0〜T3が読み出される毎に、送信用リードポイン
タ42から出力される選択信号52はその値が‘0’〜
‘3’の順番でカウントアップされる。その結果、パラ
レルデータT0〜T3は、マルチプレクサ44によりこ
の順番で選択出力され、この順番で送信用シフトレジス
タ20によりパラレル→シリアル変換されて送信データ
として出力される。
【0057】次に、このシリアル通信コントローラ30
を半二重通信の受信で使用するには、制御信号SEL
R,SELTをそれぞれローレベルおよびハイレベルに
設定する。これにより、セレクタ24a〜24d、セレ
クタ26a〜26dは、入力端0に入力される信号が選
択出力され、逆に、セレクタ36a〜36dおよびセレ
クタ38a〜38dは、入力端1に入力される信号が選
択出力される。
【0058】即ち、受信用バッファ14a〜14dのデ
ータ入力端にはともに受信用シフトレジスタ12の出力
信号46が入力され、そのライトイネーブル端WEには
それぞれライトイネーブル信号R_WE0〜R_WE3
が入力される。同様に、送信用バッファ18a〜18d
のデータ入力端にはともに受信用シフトレジスタ12の
出力信号46が入力され、そのライトイネーブル端WE
にはそれぞれライトイネーブル信号R_WE4〜R_W
E7が入力される。
【0059】半二重通信の受信において、受信用シフト
レジスタ12により、受信データがシリアル→パラレル
変換されて出力信号46が出力される毎に、受信用ライ
トポインタ28から出力されるライトイネーブル信号R
_WE0〜R_WE7はこの順番でアクティブ状態にさ
れる。その結果、受信用シフトレジスタ12の出力信号
46は、受信用バッファ14a〜14dおよび送信用バ
ッファ18a〜18dにこの順番で保持される。一方、
CPUが受信用バッファ14a〜14dに保持されてい
るパラレルデータR0〜R3および送信用バッファ18
a〜18dに保持されているパラレルデータT0〜T3
を読み出す場合、CPUによりパラレルデータR0〜R
3およびパラレルデータT0〜T3が読み出される毎
に、受信用リードポインタ32から出力される選択信号
50はその値が‘0’〜‘7’の順番でカウントアップ
される。その結果、パラレルデータR0〜R3およびパ
ラレルデータT0〜T3は、マルチプレクサ34により
この順番で選択出力され、CPUにより内部データバス
を通してこの順番で読み出される。
【0060】次に、このシリアル通信コントローラ30
を半二重通信の送信で使用するには、制御信号SEL
R,SELTをそれぞれハイレベルおよびローレベルに
設定する。これにより、セレクタ24a〜24d、セレ
クタ26a〜26dは、入力端1に入力される信号が選
択出力され、逆に、セレクタ36a〜36dおよびセレ
クタ38a〜38dは、入力端0に入力される信号が選
択出力される。
【0061】即ち、送信用バッファ18a〜18dのデ
ータ入力端にはともにCPUからの入力信号48が入力
され、そのライトイネーブル端WEにはそれぞれライト
イネーブル信号T_WE0〜T_WE3が入力される。
同様に、受信用バッファ14a〜14dのデータ入力端
にはともにCPUからの入力信号48が入力され、その
ライトイネーブル端WEにはそれぞれライトイネーブル
信号T_WE4〜T_WE7が入力される。
【0062】半二重通信の送信において、CPUからの
入力信号48が入力される毎に、送信用ライトポインタ
40から出力されるライトイネーブル信号T_WE0〜
T_WE7はこの順番でアクティブ状態にされる。その
結果、CPUからの入力信号48は、送信用バッファ1
8a〜18dおよび受信用バッファ14a〜14dにこ
の順番で保持される。一方、送信用バッファ18a〜1
8dに保持されているパラレルデータT0〜T3および
受信用バッファ14a〜14dに保持されているパラレ
ルデータR0〜R3が読み出される場合、パラレルデー
タT0〜T3およびパラレルデータR0〜R3が読み出
される毎に、送信用リードポインタ42から出力される
選択信号52はその値が‘0’〜‘7’の順番でカウン
トアップされる。その結果、パラレルデータT0〜T3
およびパラレルデータR0〜R3は、マルチプレクサ4
4によりこの順番で選択出力され、この順番で送信用シ
フトレジスタ20によりパラレル→シリアル変換されて
送信データとして出力される。
【0063】このように、シリアル通信コントローラ3
0においては、制御信号SELR,SELTを適宜設定
することにより、このシリアル通信コントローラ30の
通信方式を全二重通信または半二重通信のいずれかに切
り換えることができる。また、半二重通信で使用する場
合、受信では送信用バッファ18a〜18dをも受信用
バッファとして使用することができ、同様に、送信では
受信用バッファ14a〜14dをも送信用バッファとし
て使用することができる。
【0064】
【発明の効果】以上詳細に説明した様に、本発明のシリ
アル通信方法およびシリアル通信コントローラにおいて
は、シリアルデータの通信方式が全二重通信または半二
重通信のいずれかに切換えられるため、全二重通信で従
来のシリアル通信コントローラと同一動作を行うことが
できることは勿論、さらに半二重通信の受信で受信用バ
ッファおよび送信用バッファをともに受信用バッファと
して使用することができ、同様に、送信でこれらのバッ
ファをともに送信用バッファとして使用することができ
る。従って、本発明のシリアル通信方法およびシリアル
通信コントローラによれば、新規に受信用および送信用
バッファを追加するよりも少ないハードウェア規模で、
受信用および送信用バッファを増加させることができ、
より高速な通信レートに対応することが可能になるとと
もに、割り込み処理によるオーバヘッドを削減して、C
PUを効率良く使用することができる。
【図面の簡単な説明】
【図1】 本発明のシリアル通信コントローラの全二重
通信における一実施例のブロック図である。
【図2】 本発明のシリアル通信コントローラの半二重
通信の受信における一実施例のブロック図である。
【図3】 本発明のシリアル通信コントローラの半二重
通信の送信における一実施例のブロック図である。
【図4】 本発明のシリアル通信コントローラの一実施
例の構成回路図である。
【図5】 従来のシリアル通信コントローラの一例のブ
ロック図である。
【符号の説明】
10,30,60 シリアル通信コントローラ 12 受信用シフトレジスタ 14a,14b,14c,14d,…,14n 受信用
バッファ 16 CPUインタフェース 18a,18b,18c,18d,…,18n 送信用
バッファ 20 送信用シフトレジスタ 22 切換え手段 24a,24b,24c,24d,26a,26b,2
6c,26d,36a,36b,36c,36d,38
a,38b,38c,38d セレクタ 28 受信用ライトポインタ 32 受信用リードポインタ 34,44 マルチプレクサ 40 送信用ライトポインタ 42 送信用リードポインタ 46 出力信号 48 入力信号 50,52,SELR,SELT 選択信号 R_WE0,R_WE1,R_WE2,R_WE3,R
_WE4,R_WE5,R_WE6,R_WE7,T_
WE0,T_WE1,T_WE2,T_WE3,T_W
E4,T_WE5,T_WE6,T_WE7 ライトイ
ネーブル信号 R0,R1,R2,R3,T0,T1,T2,T3 パ
ラレルデータ

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】少なくとも1つの受信用バッファおよび少
    なくとも1つの送信用バッファを備えるシリアル通信コ
    ントローラにおいて、 全二重通信の送受信時に、前記受信用および送信用バッ
    ファをそれぞれ受信用および送信用バッファとして使用
    し、半二重通信の受信時に、前記受信用および送信用バ
    ッファをともに受信用バッファとして使用し、前記半二
    重通信の送信時に、前記受信用および送信用バッファを
    ともに送信用バッファとして使用することを特徴とする
    シリアル通信方法。
  2. 【請求項2】少なくとも1つの受信用バッファを有し、
    シリアルデータを受信してパラレルデータに変換し、こ
    のパラレルデータを前記受信用バッファに保持する受信
    部と、少なくとも1つの送信用バッファを有し、送信し
    ようとするパラレルデータを前記送信用バッファに保持
    し、このパラレルデータをシリアルデータに変換して送
    信する送信部と、制御信号により通信方式を全二重通信
    または半二重通信に切り換え、前記全二重通信の送受信
    時に、前記受信用および送信用バッファをそれぞれ受信
    用および送信用バッファとして使用し、前記半二重通信
    の受信時に、前記受信用および送信用バッファをともに
    受信用バッファとして使用し、前記半二重通信の送信時
    に、前記受信用および送信用バッファをともに送信用バ
    ッファとして使用するよう設定する切換え手段を備える
    ことを特徴とするシリアル通信コントローラ。
  3. 【請求項3】前記切換え手段を制御する制御信号は、外
    部端子から入力される信号または内部制御レジスタから
    出力される信号である請求項2に記載のシリアル通信コ
    ントローラ。
JP7063743A 1995-03-23 1995-03-23 シリアル通信方法およびシリアル通信コントローラ Expired - Lifetime JP2971006B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7063743A JP2971006B2 (ja) 1995-03-23 1995-03-23 シリアル通信方法およびシリアル通信コントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7063743A JP2971006B2 (ja) 1995-03-23 1995-03-23 シリアル通信方法およびシリアル通信コントローラ

Publications (2)

Publication Number Publication Date
JPH08265393A true JPH08265393A (ja) 1996-10-11
JP2971006B2 JP2971006B2 (ja) 1999-11-02

Family

ID=13238199

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7063743A Expired - Lifetime JP2971006B2 (ja) 1995-03-23 1995-03-23 シリアル通信方法およびシリアル通信コントローラ

Country Status (1)

Country Link
JP (1) JP2971006B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002116961A (ja) 2000-10-11 2002-04-19 Nec Corp シリアル通信装置およびシリアル通信方法

Also Published As

Publication number Publication date
JP2971006B2 (ja) 1999-11-02

Similar Documents

Publication Publication Date Title
US7191262B2 (en) High-throughput UART interfaces
US7035956B2 (en) Transmission control circuit, reception control circuit, communications control circuit, and communications control unit
KR100229897B1 (ko) 직접 메모리 억세스 전송방법에 따른 타이밍 모드선택장치
JP2971006B2 (ja) シリアル通信方法およびシリアル通信コントローラ
US5379395A (en) Semiconductor integrated circuit for central processor interfacing which enables random and serial access to single port memories
KR100361511B1 (ko) 다기능 직렬 통신 인터페이스 장치
US20240220104A1 (en) Memory control system and memory control method
KR20070081981A (ko) 중앙처리 장치가 없는 시스템에서의 인터페이스 방법 및장치
US7099964B2 (en) High speed processor
KR100962306B1 (ko) 임베디드 시스템의 양방향 데이터 통신장치 및 그 방법
JPH04104349A (ja) 高速バス転送回路を有するデータバッファ
JPH10207762A (ja) メモリおよび電子装置
JPH05324529A (ja) データ転送装置及びデータ転送方法
KR20020051545A (ko) 실시간 고속의 데이터 처리용 디엠에이 제어기 및 제어방법
JPH07191934A (ja) 二重バス装置
JPH06332842A (ja) ダイレクト・メモリ・アクセス・制御回路
US7043591B2 (en) Cross switch supporting simultaneous data traffic in opposing directions
JPH05233522A (ja) Dma転送装置
JPH0528083A (ja) 入出力データ転送回路
KR19980083459A (ko) 데이터버스 사이즈 조정 장치
JPH05143531A (ja) データ処理装置
JPS61262342A (ja) 通信制御装置
KR20010061328A (ko) 데이터 전송속도를 향상시키기 위한 라인 보드
JPH07250102A (ja) データ伝送回路
JPH05265923A (ja) データ転送装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19990727

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080827

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090827

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090827

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100827

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110827

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110827

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120827

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120827

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130827

Year of fee payment: 14

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term