JP2001045096A - 調歩同期通信の受信方法および受信装置 - Google Patents

調歩同期通信の受信方法および受信装置

Info

Publication number
JP2001045096A
JP2001045096A JP11214903A JP21490399A JP2001045096A JP 2001045096 A JP2001045096 A JP 2001045096A JP 11214903 A JP11214903 A JP 11214903A JP 21490399 A JP21490399 A JP 21490399A JP 2001045096 A JP2001045096 A JP 2001045096A
Authority
JP
Japan
Prior art keywords
character
bit
length
reception
data
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
JP11214903A
Other languages
English (en)
Inventor
Toshiyuki Katayama
俊之 片山
Masanao Iwamoto
正直 岩本
Hisatsugu 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.)
Hitachi Engineering Co Ltd
Hitachi Ltd
Hitachi Power Semiconductor Device Ltd
Original Assignee
Hitachi Engineering Co Ltd
Hitachi Ltd
Hitachi Haramachi Electronics 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 Engineering Co Ltd, Hitachi Ltd, Hitachi Haramachi Electronics Ltd filed Critical Hitachi Engineering Co Ltd
Priority to JP11214903A priority Critical patent/JP2001045096A/ja
Publication of JP2001045096A publication Critical patent/JP2001045096A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】転送条件の不明な受信データから条件を認識す
る調歩同期の受信方式で、正確な受信処理と異なる複数
の転送条件での適用を可能にする。 【解決手段】スタートビット検出回路ACは、受信データ
00のキャラクタの先頭を示すスタートビットを認識する
毎に、スタートビット長レジスタADでビット長を計測
し、CPUBにより転送速度として認識される。一方、スタ
ートビット長はサンプリングタイマAEに入力され、その
1/2ビット長を起点として次ビット以降の中央に位置
するサンプリングクロック19を生成する。クロック19で
サンプリングされたデータは、入力シフトレジスタAGを
介して受信バッファAHに一時保存される。キャラクタ
長、パリティ有無や偶奇、ストップビット長の各条件
は、CPUBで受信バッファAHから読み出したATコマンドの
ビットパターンから認識され、転送速度と共に受信制御
部Dに設定される。受信バッファAHはシリアル出力に切
り替り、保存している受信データを受信制御部Dに出力
する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は調歩同期プロトコル
を用いるシリアル通信システムに関わり、特に、送信装
置からの転送条件が不明のまま受信を開始し、受信デー
タから転送条件を検出して、この条件に適合した受信処
理を行う受信装置に関する。
【0002】
【従来の技術】調歩同期プロトコルを用いてシリアル通
信を行い、受信装置はあらかじめ送信装置が送出するデ
ータの転送速度を知らずに受信を開始し、受信したデー
タから転送速度を検出して受信処理する通信システムが
ある。例えば、(株)工業調査会発行の「通信プロトコ
ルのしくみがわかる本(VerII,p.161)」に記載され
ているように、ヘイズ・マイクロコンピュータ・プロダ
クツ社が1981年に発表した「Hayesコマンド(別名ATコ
マンド)」が業界標準である。
【0003】Hayesコマンドは、コマンドの先頭が必ず
連続するキャラクタ”A”(16進値の”41”)と、キャ
ラクタ”T”(16進値の”54”)で開始する命令体系
を持つ。受信装置は最初のHayesコマンドを受信する
と、キャラクタ”A”と、キャラクタ”T”のビット列
から、調歩同期の相互通信に必要な転送速度、キャラク
タのビット長、パリティ・ビットの有無、パリティの偶
奇、ストップビット長といった転送条件を認識し、以後
はこの転送条件に従って受信動作を行う。
【0004】図2に調歩同期伝送の一般的なデータ構成
を示す。調歩同期伝送は非同期伝送とも呼ばれ、伝送デ
ータの先頭はスタートビット呼ぶ”0”レベルで開始
し、終了はストップビットと呼ぶ”1”レベルで終了す
る。スタートビットは常に1ビット長であり、ストップ
ビットは1ビットまたは2ビット長である。伝送すべき
データが存在しない場合には、”1”レベルが連続して
おり、これをマークと呼ぶ。
【0005】データの内容は7ビットまたは8ビット長
からなるキャラクタコードである。スタートビット、ス
トップビットおよびキャラクタコードが調歩同期の最小
構成であり、スタートビットで始まりストップビットで
終わる伝送データの一単位をキャラクタと呼ぶ。この他
に、伝送誤りを検知するためのパリティビットがストッ
プビットの直前に付加される場合がある。パリティビッ
トには奇数パリティと偶数パリティの2方式があり、奇
数パリティの場合はキャラクタ中の”1”の数が奇数の
場合に”0”レベル、偶数パリティの場合はキャラクタ
中の”1”の数が偶数の場合に”0”レベルとなる。従
って、1キャラクタの長さは9ビットから12ビットま
での4通りがある。
【0006】
【発明が解決しようとする課題】一般に、受信装置はキ
ャラクタ”A”におけるスタートビットの長さをカウン
タを用いて計数し、受信データの転送速度を認識する。
この時の計数値は、丸めによる誤差を含む。受信装置は
スタートビット以降のビット列を一時保存するための入
力シフトレジスタを持ち、スタートビット長の計数結果
毎に生成されるサンプリングクロックによって動作す
る。このサンプリングクロックは、キャラクタ”A”の
スタートビットから周期的に生成されるため、丸め誤差
が大きければキャラクタ”A”や、キャラクタ”T”の
ビット長を正確に検出することができず、受信キャラク
タを取り違えることがある。
【0007】丸め誤差を小さくするためには、スタート
ビットを計数するカウンタの動作クロックを高速にする
必要があるが、受信装置の消費電流を増大させることに
なる。つまり、受信装置の丸め誤差と消費電力はトレー
ドオフの関係にある。
【0008】また、一般に受信装置による受信データの
転送速度認識は、キャラクタ”A”、キャラクタ”T”
およびキャリッジ・リターンによって構成されるコマン
ドATを受信して行う。しかし、キャラクタ”A”、キ
ャラクタ”T”に続いて他のコマンドを受信した場合、
受信装置がキャラクタ”A”、”T”から転送条件を認
識する以前のキャラクタの受信処理が不可能になる。
【0009】また、調歩同期プロトコルにおける1キャ
ラクタのデータ長は、上記したように9ビットから12
ビットまでの4通りがある。しかし、通常のハードウェ
ア制御による受信装置では、転送速度認識を行うための
受信データとして、ある固定値のキャラクタビット長に
しか対応できない。
【0010】さらに、ハードウエア制御による受信装置
では、転送条件の認識は特定のキャラクタの組合せ、例
えばATコマンドに限られる。しかし、転送条件の検出
可能なビット列の組合せは、第1キャラクタのスタート
ビットに続くビットが2進値”1”で、かつ第1キャラ
クタと第2キャラクタにおけるキャラクタコードの2進
値”1”の数が偶数と奇数、もしくは奇数と偶数の関係
になることであり、キャラクタ”A”、キャラクタ”
T”の組合せもその一つにすぎない。
【0011】本発明の目的は、上記した従来技術の問題
点を克服し、計測ビット長の丸め誤差の影響を回避して
受信データの転送速度を高精度に検出できる調歩同期通
信方法及びその受信装置を提供することにある。
【0012】また、キャラクタ長の変化、あるいはAT
コマンド以外の検出コマンドにも対応できる適応性の高
い受信装置を提供することにある。
【0013】さらに、ATコマンドに連続して他のコマ
ンドを受信できるスループットの高い受信装置を提供す
ることにある。
【0014】
【課題を解決するための手段】上記目的を達成する本発
明は、シリアルの受信データから転送速度を検出して調
歩同期を行う受信方法において、前記受信データのキャ
ラクタからスタートビット長を計測し、前記スタートビ
ット長を周期とし、かつ前記ビット長の1/2を起点に
前記スタートビットの次ビット以降をサンプリングする
サンプリングクロックを発生することを特徴とする。ま
た、前記受信データ中のキャラクタ毎のスタートビット
を検出し、前記サンプリングクロックの起点の再同期を
とることを特徴とする。
【0015】これにより、ビット中央でのサンプリング
が行われ、さらに、キャラクタ毎に再同期が行われるの
で、データ転送速度の計測に丸め誤差があっても、正確
なデータ受信が可能になる。また、データ転送速度の計
測に高速のクロックを必要としないので、受信装置の消
費電流を低減すること、および回路規模を小さくするこ
とが可能となる。
【0016】また、本発明の受信方法は、前記受信デー
タから前記転送条件を示すキャラクタ(例えば、ATコ
マンド)を検出し、前記キャラクタの想定最小キャラク
タ長(ATコマンドの場合は9ビット)から想定最大キ
ャラクタ長(ATコマンドの場合は12ビット)の範囲
におけるビットパターンから、ソフトウェア処理により
前記転送条件を認識することを特徴とする。この転送条
件は転送速度以外で、キャラクタコード長、パリティビ
ットの有無と属性(偶数/奇数)及びストップビットの
有無と長さの一部または全部を含む。これにより、9ビ
ット長から12ビット長までの4通りのキャラクタに対
し、転送条件の認識処理が可能になり、適用範囲の広い
受信処理方式が実現できる。
【0017】本発明の方法を適用する受信装置は、シリ
アルデータの受信処理を行う受信処理装置と、受信処理
のための受信クロックを生成する受信クロック生成装置
と、受信データから送信側での転送条件を認識して条件
設定を行う転送条件検出装置を備える調歩同期通信装置
において、前記受信データのキャラクタからスタートビ
ット長を計数し、該ビット長の1/2を起点に前記スタ
ートビット長を周期とするサンプリングクロックを発生
する転送速度検出装置と、前記転送条件を示す2つの特
定キャラクタの認識と、想定最小キャラクタ長から想定
最大キャラクタ長の範囲における前記特定キャラクタの
ビットパターンの組合せから、転送速度以外の転送条件
であるキャラクタ長を認識するCPUと、前記受信デー
タを一時保存し、前記CPUによる前記転送条件の認識
の処理時間を吸収する受信バッファとを、前記転送条件
検出装置に設けたことを特徴とする。
【0018】また、前記受信バッファは、一時保存した
データの演算処理装置からの読み出しに対応するパラレ
ルデータの出力と、前記転送条件の設定された前記受信
処理装置にシリアルデータの出力を行う出力段シフトレ
ジスタを設けたことを特徴とする。
【0019】これによれば、転送速度を高速に検出でき
るハードウエア機能と、転送速度以外の転送条件を種々
の組合せについて認識できるソフトウエア機能で行い、
ATコマンドや特定の転送条件に限られず、適用性の高
い受信装置を実現できる。また、受信バッファの一時保
存により、転送条件の認識に必要な処理時間を吸収する
ので、前記転送条件を示す2つの特定キャラクタに続く
キャラクタの受信処理が可能になり、特定キャラクタの
みの送信が不要となるので、システムのスループットを
向上できる。
【0020】
【発明の実施の形態】以下、本発明の実施形態を複数の
実施例によって説明する。図1は、本発明の受信装置の
一実施例を示す機能ブロック図である。本受信装置は調
歩同期プロトコルを用いるシリアル通信システムに適用
されるもので、予め送信装置から送出されるデータの転
送条件を知ることなく受信を開始し、受信したデータか
ら転送速度等の転送条件を認識し、この条件に基づいて
転送データに適合した受信処理を行う。
【0021】受信装置は全体の管理や転送条件を認識す
るCPU(演算処理装置)Bと、受信データから転送速
度を検出する転送速度検出部Aと、受信処理を行うため
に使用する受信クロックを生成する受信クロック生成装
置(ボーレート・ジェネレータ)Cと、シリアルデータ
の受信処理を行う受信制御部Dを、システムバス02によ
って接続する構成である。
【0022】以下では、受信データのATコマンドから
転送速度、キャラクタのビット長、パリティ・ビットの
有無、パリティの偶奇、ストップビット長の各転送条件
を認識する方式について説明する。まず、ATコマンド
を用いた転送条件認識の基本的な手法を説明する。
【0023】転送速度の認識は、先頭のキャラクタ”
A”におけるスタートビット長をカウンタで計数する。
キャラクタ”A”のスタートビット直後の値は”1”で
あるから、受信データが”1”に変わる直前の”0”の
時間がスタートビット長に相当する。
【0024】転送速度以外の転送条件は、キャラクタ”
A”および”T”のソフトウェア処理によって認識され
る。まず、キャラクタのスタートビットを第1ビットと
して、第2ビットから第8ビットまでの7ビットにおけ
るビットパターンを確認する。キャラクタのビットパタ
ーンが16進値で”41”なら”A”、”54”なら”T”
である。
【0025】次に、キャラクタコード長、パリティの有
無、パリティの属性(偶奇)、およびストップビット長
を、”A”および”T”のビットパターンの組合せによ
る判定論理に従って認識する。後述するように、キャラ
クタコード長が7、パリティ無し、スタートビット長1
からなる最小キャラクタ長=9ビットから、キャラクタ
コード長が8、パリティ有り、スタートビット長2から
なる最大キャラクタ長=12ビットまで、12通りの組
合せによる転送条件の認識が可能になる。
【0026】本実施例では、転送条件を認識するための
キャラクタの組合わせとして、最も一般的なATコマン
ドを用いている。しかし、転送条件の検出可能なビット
列の組合わせはこれに限られるものではない。すなわ
ち、第1キャラクタのスタートビットに続くビットの内
容が2進値の”1”で、かつ第1キャラクタと第2キャ
ラクタにおけるキャラクタコードの2進値の”1”の数
が偶数と奇数、もしくは奇数と偶数の関係になるキャラ
クタの組合わせであれば、同様な処理によって転送条件
の認識を行うことができる。例えば、”1”(=31)16
と”5”(=35)16の組合せ、”O”(=4F)16と”
K”(=4B)16の組合せなどがある。
【0027】次に、本実施例の受信装置の構成と動作を
詳細に説明する。受信装置が受信動作を開始するには、
CPUB がその旨を命令として発行する。この命令の発
行は、転送速度検出部A内のコマンド制御部ABのコマン
ドレジスタへの書き込みにより行われる。書き込み/読
み出し制御部AAはシステムバス02の内容がコマンドレジ
スタへの書き込みであると判定し、コマンド制御部ABへ
コマンド制御データ10を出力する。コマンド制御部ABは
コマンド制御データ10の内容から受信動作の開始命令で
あると判定し、スタートビット検出回路AC、サンプリン
グタイマAE、およびシフトアウトタイマAFへ転送速度検
出開始信号13を出力する。この時、回線からの受信デー
タ00はマーク(2進”1”)である。
【0028】スタートビット検出回路ACはスタートビッ
ト長を計数するカウンタを持ち、カウンタは転送速度検
出開始信号13を受けてから最初の回線からの受信データ
00の立下りエッジおよび立上りエッジを検出し、スター
トビット長レジスタADにスタートビット長16を格納す
る。同時に、スタートビット検出信号17をサンプリング
タイマAEと割込み生成部AIに出力する。
【0029】これによって転送速度が認識できる。以
降、本受信装置は受信する全てのキャラクタの転送速度
として、スタートビット長レジスタADに格納した第一キ
ャラクタのスタートビット長を用いて受信動作を行う。
【0030】サンプリングタイマAEは、サンプリングク
ロック19および受信バッファ書き込み信号20を生成する
リロード方式のタイマで、第一キャラクタ受信時には、
スタートビット検出信号17を受けることによって停止状
態から動作を始める。この時にロードする最初のデータ
は、スタートビット長計数値18を右方向に1ビットシフ
トした値、すなわちスタートビット長計数値18を1/2
にした値である。以降、サンプリングタイマAEはタイム
アウトする毎に、スタートビット長計数値18をロードし
て動作を続ける。
【0031】図3は本実施例によるキャラクタのサンプ
リング動作を示す。図示のように、受信データ00の第一
キャラクタ”A”の最初の立上りエッジで、スタート
ビット検出信号17が出力される。サンプリングタイマAE
はキャラクタAのスタートビット検出信号17を受ける
と、同時にスタートビットをサンプリングするためのパ
ルスを発行した、次にスタートビット長計数値18を1/
2にした値をロードして、スタートビットの次ビットを
サンプリングするクロックパルス19を生成する。このサ
ンプリングポイントは、スタートビット長を1とする
と、スタートビットの終了から1/2後、すなわちビッ
トの中央となる。キャラクタAにおける次のビットから
ストップビットまでのサンプリングは、スタートビット
長計数値18を周期とするサンプリングクロック19により
行われる。
【0032】第二キャラクタ”T”の受信時には、後述
するようにスタートビットを検出し、そのスタートビッ
トの先頭から1/2後となるビット中央からサンプリン
グを開始する。この時、第一キャラクタサンプリング時
のサンプリングタイミングにおける誤差を一旦破棄し、
第二キャラクタ用にサンプリングタイミングの初期化を
行う。これにより、サンプリング信号が受信データのビ
ット中央部に対置されるので、スタートビット長計数値
18が丸め誤差を含んでいても、隣接ビット値を誤ってサ
ンプリングしないだけのマージンを持つことができる。
【0033】ところで、本実施例で受信できる伝送デー
タの1キャラクタの長さは、9ビットから12ビットまで
の4通りである。このため、キャラクタ長が最短(9ビ
ット)の場合、第二キャラクタのスタートビット位置
は、第一キャラクタのスタートビットから数えて第10ビ
ットとなる。また、キャラクタ長が最長(12ビット)
の場合、第二キャラクタのスタートビット位置は第13ビ
ットとなる。
【0034】図4にコマンドATのビットパターンを示
す。第一キャラクタ”A”が最短のキャラクタ長の場合
に第二キャラクタ”T”のスタートビット直前となる第
9ビット以降から、第二キャラクタのスタートビットま
でに着目すると、全ての組合せにおいて第9ビット以降
最初の”1”から”0”への変化(すなわち、立下り)
は、必ず第二キャラクタのスタートビットとなる。この
特性を生かせば、第9ビット以降の受信データを監視
し、その最初の立下りエッジを検出することによって次
キャラクタのスタートビット位置を認識することができ
る。
【0035】本実施例の受信装置はこの特性を利用し、
第9ビット以降の受信データを監視し、その最初の立下
りエッジを検出することによって、受信した全てのキャ
ラクタにおけるスタートビット位置を検出し、サンプリ
ング周期を取り直す。これにより、誤差の影響を受ける
範囲は1キャラクタ長、最大でも12ビット内に抑える
ことができる。
【0036】第二キャラクタのスタートビット位置を検
出するために、サンプリングタイマAEは第一キャラクタ
のスタートビットを検出した後、第9番目のサンプリン
グクロック19の立上り生成時に(つまり、第一キャラク
タから第9ビット以降の受信データの監視可能時に)、
スタートビット検出回路ACに対して次スタートビット検
索信号21を出力する。
【0037】スタートビット検出回路ACは次スタートビ
ット検索信号21を受けると、回線からの受信データ00の
立下りエッジを検出して、スタートビット検出信号17
をサンプリングタイマAEへ出力する。既に、第一キャラ
クタの受信によって動作を開始しているサンプリングタ
イマAEは、スタートビット検出信号17を受けると同時に
スタートビット長計数値18を1/2にした値をロードし
直す。
【0038】第二キャラクタにおけるスタートビットの
サンプリング位置は、第一キャラクタにおけるスタート
ビットの次ビットのサンプリングと同様に、ビットの中
央部となる。第二キャラクタにおけるスタートビット以
降のサンプリング周期は、スタートビット長計数値18周
期で行われる。更に、第三キャラクタ以降の受信は、第
二キャラクタ受信と全く同様のシーケンスで行われる。
【0039】本実施例によれば、サンプリング信号は受
信データのビット中央部に対置され、さらに受信した全
てのキャラクタのスタートビット位置を検出してサンプ
リング周期を取り直すので、スタートビット長の計数が
丸め誤差を含んでいても、キャラクタの開始と終了を誤
認することがなく、信頼性の高い受信処理が可能にな
る。また、丸め誤差の影響を受ける範囲は1キャラクタ
長内に抑えることができるので、スタートビット長の許
容誤差を大きくとれる。その分だけ、スタートビットを
計数するカウンタの動作クロックを低速にできるので、
受信装置の消費電力を低減できる効果がある。
【0040】上記のように転送速度の検出を行う受信デ
ータ00は、他の転送条件の認識処理を行うために一時
保存される。すなわち、入力シフトレジスタAGの出力信
号であるパラレル変換後の受信データ24は、受信バッフ
ァ書き込み信号20を受けてFIFO形式のバッファである受
信バッファAHに格納される。受信バッファ書き込み信号
20はサンプリングタイマAEの出力信号であり、各キャラ
クタのスタートビットから12ビット目受信時に出力さ
れる。
【0041】受信バッファAHは入力シフトレジスタAGで
一次保存され、各キャラクタのスタートビットから始ま
る12ビット長のデータをそのまま格納する。受信バッフ
ァAHに先頭の2キャラクタが格納された時点で、受信バ
ッファAHは受信バッファレディ信号22を割込み生成部AI
へ出力する。割込み制御部AIは転送速度検出部Aにおけ
る割込みを制御し、CPUB へ出力する割込み信号28の
生成を行う。転送速度検出部Aの割込み要因信号は、ス
タートビット検出信号17と受信バッファレディ信号22の
2つである。
【0042】割込み制御部AIは内部にCPUBから書き込み
および読み出しが可能な割込み許可レジスタと、割込み
要因レジスタを持つ。割込み許可レジスタは各割込み要
因に対応するビットを持ち、CPUBによって対応するビッ
トが”1”に設定された割込み要因によって割込み信号
28が出力される。CPUBからの割込み要因の設定は割込み
生成データ11を介し、割込み制御部AIに伝搬される。割
込み要因レジスタは各割込み要因に対応するビットを持
ち、現在までに転送速度検出部Aで対応する割込み要因
が発生した場合に、対応するビットを”1”に設定す
る。CPUB からの割込み要因レジスタの読み出し、す
なわち割込み要因データ30は書き込み/読み出し制御部A
Aを介し、システムバス02を通して行われる。
【0043】次に、転送条件の認識処理を説明する。CP
UBは受信バッファレディ信号22が要因となる割込み信号
28を受け付けた後、ソフトウェアの命令に従って受信バ
ッファ読み出し信号12を出力することにより、受信バッ
ファAHに格納してある第一キャラクタおよび第二キャラ
クタの受信データを、受信バッファ読み出しデータ25お
よびシステムバス02を介して読み出す。そして、第一キ
ャラクタ、第二キャラクタの内容が”A”と”T”な
ど、転送条件を認識するための予め決められたキャラク
タの組合せと一致することを確認した上で、双方を比較
することでキャラクタコード長、パリティビットの有
無、パリティの偶奇およびストップビット長の各転送条
件を検出する。
【0044】図5に、CPUによる転送条件(転送速度
を除く)検出処理フローの一例を示す。まず、2つのキ
ャラクタをリードし(s101)、キャラクタが”A”
と”T”か判定する(s102)。本例の転送条件を認
識するためのキャラクタの組合せは”A”と”T”によ
るが、ソフトウェアを書き換えることによって、容易に
別のキャラクタの組合せに対応することが可能である。
【0045】s102で、読み出したキャラクタが”
A”、”T”と一致しなかった場合には、CPUBは引き続
き受信したデータを受信バッファAHから読み出すか、転
送速度検出部Aの動作を初期化し再び第一のキャラクタ
からの検出を始める初期設定ルーチンを実行する(s1
00)。
【0046】転送速度検出部Aの動作を初期化し再び第
一のキャラクタを検出する場合には、CPUBはシステムバ
ス02を介して、コマンド制御部ABから転送速度検出開始
命令信号13を出力する。転送速度検出開始命令信号13は
スタートビット検出回路AC、サンプリングタイマAE、シ
フトアウトタイマAF、および受信バッファAHに入力し、
本信号を受けた上記の各モジュールは、現在の状態を一
旦初期化してから再び動作を開始する。
【0047】ところで、受信バッファAHから読み出した
データはスタートビットを含む12ビット長の単位であ
る。受信データのキャラクタ長が11ビット以下の場
合、続く残りのビットには次キャラクタの先頭ビット以
降となっている。しかし、受信データのサンプリング信
号は各キャラクタのスタートビット(9ビット以降の最
初の立ち下がり)に同期しているので、受信バッファAH
には次キャラクタも必ず先頭から格納されている。従っ
て、読み出したキャラクタが途中から始まることはな
く、処理上の問題はない。
【0048】次に、CPUB は読み出した双方のキャラ
クタの第8ビットが”0”であるかチエックし(s10
3)、共に”0”であればキャラクタコード長=8と判
定する(s104)。それ以外は、キャラクタコード長
=7と判定する(s117)。キャラクタコード長=8
の場合、双方のキャラクタの第9ビットが”1”である
かチエックし(s105)、共に”1”であればパリテ
ィ無し(s113)、そうでなければパリティ有り(s
106)と判定する。
【0049】キャラクタコード長=8、かつパリティ有
りの場合、双方の第10ビット値をチエックし(s10
7)、キャラクタA=”0”、キャラクタT=”1”の
組合せであればパリティ=偶数(s108)、そうでな
ければパリティ=奇数(s109)と判定する。更に、
双方のキャラクタの第12ビットが共に”1”かチエッ
クし(s110)、共に”1”であればストップビット
長=2(s111)、そうでなければストップビット長
=1(s112)と判定する。また、s113のパリテ
ィ無しの場合、第11ビットが共に”1”かチエックし
(s114)、共に”1”であればストップビット長=
2(s115)、そうでなければストップビット長=1
(s116)と判定する。
【0050】同様にして、キャラクタコード長=7の場
合(s117)も、第8ビットが共に”1”か否かによ
りパリティの有無を判定し(s118,s119、s1
26)、第9ビット値の組合せによりパリティの偶奇を
判定し(s120〜s122)、更に第11ビットまた
は第10ビットが共に”1”でるか否かによって、スト
ップビット長(=1または2)を判定している(s12
4,125、s128、129)。
【0051】本実施例の受信装置は、上述のように転送
速度検出部AおよびCPUBによって、受信データから転送
条件の検出を行った後、ボーレート・ジェネレータCが
生成する受信クロック03を用い、受信制御部Dによって
受信制御部受信データ29の受信動作を開始する。なお、
受信制御部Dおよびボーレート・ジェネレータCへの動
作設定はCPUBが行う。
【0052】本実施例の受信装置は、ハードウェアによ
る処理で転送速度、ソフトウェアによる処理でその他の
転送条件を検出するが、ソフトウェアによる処理はハー
ドウェアによる処理に比べて処理に要する時間が長くな
る。このため、ソフトウェア処理中に受信したデータを
一時保存するために、受信バッファAHを8段構成として
いる。
【0053】以下、受信制御部Dによる受信制御部受信
データ29の受信動作について説明する。CPUBは受信バッ
ファAHから読み出した2キャラクタより検出したキャラ
クタコード長、パリティ・ビットの有無、パリティの偶
奇、ストップビット長を、システムバス02を介して受信
制御部Dの動作設定用レジスタ(図示なし)に設定す
る。
【0054】また、CPUBはシステムバス02を介してスタ
ートビット長レジスタADからスタートビット長計数値18
を読み出し、その値から受信データの転送速度を演算す
る。更に演算した転送速度に対応する受信クロック03を
生成するため、ボーレート・ジェネレータCへの設定値
を演算し、システムバス02を介してボーレート・ジェネ
レータCへ設定する。この設定は、CPUBがスタートビッ
ト検出信号17に基づく割込み信号28を受け付けた後であ
れば、いつ行ってもよい。CPUBは受信制御部Dとボーレ
ート・ジェネレータCへの設定が終了した後、システム
バス02を介して受信制御部Dを受信可能となるように活
性化する。
【0055】更に、CPUBはシステムバス02を介してコマ
ンド制御部ABから受信バッファシフトアウト命令信号15
をシフトアウトタイマAFに出力する。シフトアウトタイ
マAFは、シフトアウトクロック23を生成するリロード方
式のタイマで、受信バッファシフトアウト命令信号15を
受けると、スタートビット長計数値18をロードして動作
を開始する。以降、シフトアウトタイマAFはタイムアウ
トする毎に、再びスタートビット長計数値18をロードし
て動作を繰り返す。
【0056】受信バッファAHは、後述する図6に示すよ
うに、格納している受信データをシリアルデータに変換
して出力するための出力シフトレジスタHFを持つ。出力
シフトレジスタHFは、既にCPUBが読み出した転送条件を
認識するための2キャラクタのデータを保存しており、
シフトアウトクロック23を受けて、この保存しているキ
ャラクタから順次、受信バッファシフトアウトデータ26
をセレクタAJを介して出力する。シフトアウト動作開始
時、受信セレクタ制御信号27は受信バッファシフトアウ
トデータ26側を受信データ29として受信制御部Dに伝搬
する出力レベルを取る。なお、受信バッファシフトアウ
トデータ26は受信バッファAHに一時保存された後、受信
制御部Dに出力される受信データ00である。
【0057】出力シフトレジスタHFは、1キャラクタの
データをシフトアウトし終えると、FIFOバッファから次
段のデータをロードしてシフトアウトを行う。この時、
受信バッファAHにおける格納データは、通常の調歩同期
の最大キャラクタ長である12ビットであるのに対し、受
信データ00のキャラクタ長は9ビットから12ビットまで
の4通りがある。このため、出力シフトレジスタHFが有
効なビットだけを出力できるように、認識したキャラク
タ長を設定するキャラクタ長レジスタAKを設けている。
【0058】CPUBは転送条件を認識するための2キャラ
クタからキャラクタ長を演算した後、システムバス02を
介して、キャラクタ長データ31をキャラクタ長レジスタ
AKへ設定する。受信バッファAHは、キャラクタ長レジス
タAKの出力信号であるシフトアウトビット数32の設定値
に従って、出力シフトレジスタHFのシフトアウトビット
数およびFIFOバッファからのロードタイミングの制御を
行うことで、受信バッファシフトアウトデータ26に受信
データ00を正確に再現して出力する。
【0059】受信バッファAHは、常にFIFOバッファに格
納している受信キャラクタ数を監視しており、一旦、FI
FOバッファに受信キャラクタを格納した後、シフトアウ
ト動作を開始してからシフトアウトが終了してFIFOバッ
ファが空の状態になると、受信セレクタ制御信号27の出
力レベルを反転して、受信制御部Dの受信データ29とし
て回線からの受信データ00を直接伝搬するように、セレ
クタAJを切り替える。
【0060】上記一連の動作、すなわち転送速度検出部
Aによる受信キャラクタの転送速度の検出(サンプリング
クロックの生成)、一次保存、およびCPUBによる転送条
件の演算、ボーレート・ジェネレータCおよび受信制御
部Dへの動作条件の設定によって、受信制御部Dは受信デ
ータ29をただ受信するだけで、予め転送条件が明らかで
ない受信データの受信処理が可能になる。
【0061】また、CPUBが一旦コマンド制御部ABから転
送速度検出開始命令信号13を出力した後、転送速度の検
出を中止する場合には、システムバス02を介して、コマ
ンド制御部ABからスタートビット検出回路AC、サンプリ
ングタイマAE、およびシフトアウトタイマAFに対して転
送速度検出停止命令信号14を出力する。
【0062】図6は、一実施例による受信バッファの詳
細構成を示す。本実施例の受信バッファAHは、CPUBから
の読み出しに対するパラレル出力と、受信制御部Dへの
シフトアウト出力、すなわちシリアル出力の双方に対応
可能な構成が特徴である。
【0063】受信バッファAHは、受信キャラクタの保存
を行う12bit×8段構成のレジスタファイルHA、レジス
タファイルHAへの書き込みを制御する書き込みポインタ
HB、レジスタファイルHAからの読み出しを制御する読み
出しポインタHC、記憶しているキャラクタ数の管理を行
うポインタ制御部HD、記憶しているキャラクタの出力を
制御する出力制御部HE、記憶しているキャラクタの読み
出し、シフトアウトを行うため、キャラクタデータの一
時保存を行う出力シフトレジスタHFによって構成され
る。
【0064】図7に、受信バッファHFのデータ入出力動
作を示し、本図を参照しながら動作を説明する。(a)
は受信バッファ入力時、(b)は受信バッファ出力時
(CPUリード)、(c)は受信バッファ出力時(シフ
トアウト)のタイミングチャートである。受信バッファ
HFは転送速度検出開始命令信号13を受けると、書き込み
ポインタHB、読み出しポインタHC、および出力制御部HE
の内容を初期化する。
【0065】受信バッファ入力(データ格納)時、書き
込みポインタHBは受信バッファライト信号20を受けて、
レジスタファイルHAへのデータ書き込み位置を指定する
書き込みアドレス50を生成する。同時にレジスタファイ
ルHAは、書き込みアドレス50に従い、受信バッファライ
ト信号20の立上りエッジで、入力シフトレジスタAGでパ
ラレル変換後の受信データ24(シフトレジスタ値)を取
り込む。
【0066】データ出力の方法はCPUBリードによる受信
バッファ読み出しデータ25の出力と、受信制御部Dへシ
リアル受信データを伝搬するための、出力シフトレジス
タHFからの受信バッファシフトアウトデータ26への出力
の2通りがある。
【0067】CPUからの読み出し時、出力制御部HEは受
信バッファ読み出し信号12を受けて、出力シフトレジス
タロード信号53を生成し、読み出しポインタHCおよび出
力シフトレジスタHFに出力する。読み出しポインタHCは
出力シフトレジスタロード信号53を受けて、レジスタフ
ァイルHAからのデータ読み出し位置を指定する読み出し
アドレス51を生成する。同時に、出力シフトレジスタHF
は出力シフトレジスタロード信号53の立上りエッジでレ
ジスタファイル出力信号52の値を取り込み、受信バッフ
ァ読み出しデータ25に読み出しポインタHCが指示したデ
ータを出力する。
【0068】出力シフトレジスタHFは、常にCPUBが最後
に読み出した2キャラクタのデータを一時保存する、2
段構成のシフトレジスタである。受信データのシフトア
ウト動作は、シフトアウトクロック23を受けることによ
って開始する。この時、出力シフトレジスタHFには既に
CPUBが読み出した2キャラクタのデータが一時保存して
あるため、CPUBが読み出した順番に従い、シフトアウト
クロック23の立上りエッジ入力時にこの2キャラクタの
シフトアウトを行う。
【0069】受信キャラクタのビット長は12であるが、
シフトアウトビット数32で指定されたビット数を出力シ
フトレジスタHFがシフトアウトすると、出力制御部HEは
直ちに出力シフトレジスタロード信号53を出力する。出
力シフトレジスタHFは出力シフトレジスタロード信号53
を受けると、CPUBが読み出した第二のキャラクタをシフ
トアウトすることによって、CPUBが読み出した2キャラ
クタのシフトアウト動作を完了する。出力制御部HEはシ
フトアウトビット数32で指定されたビット数を出力シフ
トレジスタHFがシフトアウトする毎に、出力シフトレジ
スタロード信号53を出力する。
【0070】次に、シフトレジスタHFは、レジスタファ
イルHAに格納してあるキャラクタのシフトアウトを開始
する。シフトレジスタHFは2段構成のシフトレジスタで
あるが、レジスタファイルHAに格納してあるキャラクタ
のシフトアウト動作時には、1段構成のシフトレジスタ
としてシフトアウト動作を行う。
【0071】読み出しポインタHCは出力シフトレジスタ
ロード信号53を受けて、読み出しアドレス51に1を加算
する。同時に、出力シフトレジスタHFは出力シフトレジ
スタロード信号53の立上りエッジでレジスタファイル出
力信号52の値を取り込み、シフトアウトクロック23の立
上りエッジ入力時にシフトアウトビット数32で指定され
たビット数のシフトアウトを行い、受信バッファシフト
アウトデータ26を生成する。以降、同様にしてレジスタ
ファイルHAに格納してある全てのデータのシフトアウト
動作を行う。
【0072】ポインタ制御部HDは、書き込みアドレス50
と読み出しアドレス51の比較を行うことでレジスタファ
イルHAに格納してあるデータ数の算出を行い、データ数
が2以上になると受信バッファレディ信号22を出力す
る。また、ポインタ制御部HDは受信セレクタ制御信号27
を生成する。転送速度検出開始命令信号13を受けると、
受信制御部に対する受信データとして受信バッファシフ
トアウトデータ26を選択するように受信セレクタ制御信
号27の出力値を設定する。一旦受信バッファレディ信号
22を出力した後レジスタファイルHAが空になると、受信
制御部に対する受信データとして回線からの受信データ
を選択する様に受信セレクタ制御信号27の出力値を反転
させる。
【0073】
【発明の効果】本発明の受信装置によれば、受信動作開
始後の最初に受信したコマンドから転送速度等の転送条
件を認識し、その認識した転送条件により引き続くコマ
ンドの受信処理が可能になるので、条件設定用コマンド
を単独に受信する必要がなくなり、通信のスループット
を向上できる効果がある。
【0074】また、条件設定用コマンドのスタートビッ
ト長から転送速度を検出し、その1/2ビット長を起点
とし次ビット以降の中央部に位置するサンプリングクロ
ックを生成するので、ビット長の計測による丸め誤差の
影響を回避できる。更に、スタートビットから最小想定
キャラクタ長に相当するビット以降の最初の立ち下がり
を検出し、これを次キャラクタのスタートビットとする
再同期を行うので、正確な調歩同期が可能になる。
【0075】また、受信データのハードウェア処理によ
る高速の速度検出と一時保存を行うとともに、条件設定
用コマンドのビットパターンに対するソフトウェア処理
を行うので、異なるコマンド長による複数の転送条件の
認識や、ATコマンド以外の利用など、広汎なシステム
への適用が容易になる効果がある。
【図面の簡単な説明】
【図1】本発明による受信装置の一実施例を示すブロッ
ク構成図。
【図2】調歩同期における伝送データの構成を示すタイ
ムチャート。
【図3】一実施例によるキャラクタのサンプリング動作
を説明するタイムチャート。
【図4】条件設定用コマンドの複数のビットパターンを
説明するタイムチャート。
【図5】ビットパターンに基づく転送条件の検出方法の
一例を示すフローチャート。
【図6】パラレル出力およびシリアル出力を行う受信バ
ッファの一実施例を示すブロック構成図。
【図7】図6の受信バッファの動作を説明するタイムチ
ャート。
【符号の説明】
A…転送速度検出部、B…CPU、C…ボーレート・ジェネレ
ータ、D…受信制御部、AA…書き込み/読み出し制御
部、AB…コマンド制御部、AC…スタートビット検出回
路、AD…スタートビット長レジスタ、AE…サンプリング
タイマ、AF…シフトアウトタイマ、AG…入力シフトレジ
スタ、AH…受信バッファ、AI…割込み制御部、AJ…セレ
クタ、HA…レジスタファイル、HB…書き込みポインタ、
HC…読み出しポインタ、HD…ポインタ制御部、HE…出力
制御部、HF…出力シフトレジスタ、00…回線からの受信
データ、01…動作クロック、02…システムバス、03…受
信クロック、10…コマンド制御データ、11…割込み生成
データ、12…受信バッファ読み出し信号、13…転送速度
検出開始命令信号、14…転送速度検出停止命令信号、15
…受信バッファシフトアウト命令信号、16…スタートビ
ット長、17…スタートビット検出信号、18…スタートビ
ット長計数値、19…サンプリングクロック、20…受信バ
ッファ書き込み信号、21…次スタートビット検索信号、
22…受信バッファレディ信号、23…シフトアウトクロッ
ク、24…パラレル変換後の受信データ、25…受信バッフ
ァ読み出しデータ、26…受信バッファシフトアウトデー
タ、27…受信セレクタ制御信号、28…割込み信号、29…
受信データ、30…割込み要因データ、31…キャラクタ長
データ、32…シフトアウトビット数、50…書き込みアド
レス、51…読み出しアドレス、52…レジスタファイル出
力信号、53…出力シフトレジスタロード信号。
フロントページの続き (72)発明者 片山 俊之 茨城県日立市幸町三丁目2番1号 日立エ ンジニアリング株式会社内 (72)発明者 岩本 正直 茨城県日立市弁天町三丁目10番2号 日立 原町電子工業株式会社内 (72)発明者 鈴木 久嗣 茨城県日立市幸町三丁目1番1号 株式会 社日立製作所日立工場内 Fターム(参考) 5K029 AA08 AA11 EE07 HH13 HH27 KK22 5K034 AA01 AA06 AA20 CC01 CC06 DD01 FF02 FF05 HH02 HH03 HH05 HH07 HH09 HH12 HH63 KK05 MM08 PP03 RR02 5K047 AA12 GG07 GG11 GG23 HH03 HH12 JJ03 JJ04 LL09 LL10 LL15 MM38

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 シリアルの受信データから転送速度を検
    出して調歩同期を行う受信方法において、 前記受信データのキャラクタの先頭からスタートビット
    長を計測し、該スタートビット長の1/2を起点に前記
    スタートビット長を周期とするサンプリングクロックを
    発生することを特徴とする調歩同期通信の受信方法。
  2. 【請求項2】 請求項1において、 前記受信データ中のキャラクタ毎のスタートビットを検
    出し、前記サンプリングクロックの起点の再同期をとる
    ことを特徴とする調歩同期通信の受信方法。
  3. 【請求項3】 請求項2において、 前記キャラクタ毎のスタートビットの検出は、前記キャ
    ラクタ長が不明の場合に、想定最小キャラクタ長以降で
    最初の立下がりエッジを検出し、該立ち下がりエッジを
    次キャラクタのスタートビットとして認識することを特
    徴とする調歩同期通信の受信方法。
  4. 【請求項4】 シリアルの受信データから転送条件を認
    識して調歩同期を行う受信方法において、 前記受信データから前記転送条件を示すキャラクタの組
    みを検出し、想定最小キャラクタ長から想定最大キャラ
    クタ長の範囲における前記キャラクタの組みのビットパ
    ターンから、前記転送条件を認識することを特徴とする
    調歩同期通信の受信方法。
  5. 【請求項5】 請求項4において、 前記転送条件を示すキャラクタの組み合せはAとTから
    なり、前記想定最小キャラクタ長が9ビット、前記想定
    最大キャラクタ長が12ビットの範囲となるとき、受信
    したA、Tのそれぞれのスタートビットを第1ビットと
    して、第9ビットが双方ともに”0”であればキャラク
    タコード長は8ビット、そうでなければキャラクタコー
    ド長は7ビットであると判定することを特徴とする調歩
    同期通信の受信方法。
  6. 【請求項6】 請求項5において、 前記キャラクタコードに続く次ビットが双方ともに”
    1”であればパリティが無く、そうでなければパリティ
    が有り、後者の場合に更に次ビットが”0”と”1”の
    組合せであれば偶数パリティであると判定し、 さらに、パリティが無い場合はキャラクタコードに続く
    2ビット目、パリティが有る場合はパリティビットに続
    く2ビット目が双方ともに”1”であればストップビッ
    ト長は2ビット、双方ともに”0”であればストップビ
    ット長は1ビットであると判定することを特徴とする調
    歩同期通信の受信方法。
  7. 【請求項7】 請求項4、5または6において、 前記キャラクタの組みの先頭のキャラクタからスタート
    ビット長を計測し、該スタートビット長の1/2を起点
    に、前記スタートビット長を周期とするサンプリングク
    ロックを発生することを特徴とする調歩同期通信の受信
    方法。
  8. 【請求項8】 シリアルデータの受信処理を行う受信処
    理装置と、受信処理のための受信クロックを生成する受
    信クロック生成装置と、受信データから送信側での転送
    条件を認識して条件設定を行う転送条件検出装置を備え
    る調歩同期通信の受信装置において、 前記受信データのキャラクタからスタートビット長を計
    数し、該ビット長の1/2を起点に前記スタートビット
    長を周期とするサンプリングクロックを発生する転送速
    度検出装置と、前記転送条件を示す2つの特定キャラク
    タの認識と、想定最小キャラクタ長から想定最大キャラ
    クタ長の範囲における前記特定キャラクタのビットパタ
    ーンの組合せから、転送速度以外の転送条件であるキャ
    ラクタ長を認識するCPUと、前記受信データを一時保
    存し、前記CPUによる前記転送条件の認識の処理時間
    を吸収する受信バッファとを、前記転送条件検出装置に
    設けたことを特徴とする調歩同期通信の受信装置。
  9. 【請求項9】 請求項8において、 前記受信バッファは、一時保存したデータの演算処理装
    置からの読み出しに対応するパラレルデータの出力と、
    前記転送条件の設定された前記受信処理装置にシリアル
    データの出力を行う出力段シフトレジスタを設けたこと
    を特徴とする調歩同期通信の受信装置。
JP11214903A 1999-07-29 1999-07-29 調歩同期通信の受信方法および受信装置 Pending JP2001045096A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11214903A JP2001045096A (ja) 1999-07-29 1999-07-29 調歩同期通信の受信方法および受信装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11214903A JP2001045096A (ja) 1999-07-29 1999-07-29 調歩同期通信の受信方法および受信装置

Publications (1)

Publication Number Publication Date
JP2001045096A true JP2001045096A (ja) 2001-02-16

Family

ID=16663480

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11214903A Pending JP2001045096A (ja) 1999-07-29 1999-07-29 調歩同期通信の受信方法および受信装置

Country Status (1)

Country Link
JP (1) JP2001045096A (ja)

Similar Documents

Publication Publication Date Title
US5982837A (en) Automatic baud rate detector
JP2641999B2 (ja) データ・フォーマット検出回路
JP4363444B2 (ja) ネットワーク
JP2001045096A (ja) 調歩同期通信の受信方法および受信装置
JPH11232214A (ja) 情報処理装置用プロセッサおよびその制御方法
JPH07264263A (ja) シリアル通信インターフェース装置
KR100249171B1 (ko) 비동기식 데이터 송수신 장치의 에러 검출 방법
JP3638769B2 (ja) 通信制御装置
JP3408486B2 (ja) 装置間の同期回路
JP3347987B2 (ja) シリアル通信制御装置
JPH04360334A (ja) 調歩同期受信回路
JP3246044B2 (ja) 固定パターンのエラー測定装置
JP2621772B2 (ja) シリアル伝送装置
JPH04117841A (ja) 調歩同期通信システムの通信速度検出方法
JP2751673B2 (ja) デジタル通信システム用ビット誤り率測定装置
JP2630077B2 (ja) クロック同期式シリアルインターフェース
KR0146519B1 (ko) 컴퓨터 시스템의 인터럽트 버스 데이타 패턴 추출장치
JP2005277994A (ja) 同期開始信号検出装置、その検出方法、及びそのプログラム
JPH0220142A (ja) 調歩同期データの伝送速度自動検出方式
JP2819955B2 (ja) 装置内誤り監視回路
JP2000347950A (ja) シリアルインターフェイス
JPH04111637A (ja) データ伝送速度自動認識装置
JPH086870A (ja) データ転送装置
JPH05236059A (ja) 無線伝送データ受信装置
KR19980017639A (ko) I2c 버스의 클럭 라인 점검 장치