JPH0744582B2 - バス制御回路 - Google Patents
バス制御回路Info
- Publication number
- JPH0744582B2 JPH0744582B2 JP62280614A JP28061487A JPH0744582B2 JP H0744582 B2 JPH0744582 B2 JP H0744582B2 JP 62280614 A JP62280614 A JP 62280614A JP 28061487 A JP28061487 A JP 28061487A JP H0744582 B2 JPH0744582 B2 JP H0744582B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- flag
- register
- bit
- state
- 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.)
- Expired - Lifetime
Links
Landscapes
- Communication Control (AREA)
Description
【発明の詳細な説明】 〔概要〕 データバスシステムからデータを受信した時にアクノレ
ッジを送信してデータの転送を行うバス制御回路に関
し、マイクロプロセッサの処理を少なくし、有効的にア
クノレッジデータを送出するバス制御回路を提供するこ
とを目的とし、 バスによってデータを送受信し、データを受信した時に
は送信装置に対しアクノレッジ信号を送信するシステム
において、送信するデータを少なくとも1個記憶する送
信バッファと、アクノレッジ信号を記憶するアクノレッ
ジバッファと、前記アクノレッジ信号を送出する時期を
検出した信号が加わった時、前記送信バッファの出力の
選択をアクノレッジバッファの出力に切換えるセレクタ
とより成るように構成する。
ッジを送信してデータの転送を行うバス制御回路に関
し、マイクロプロセッサの処理を少なくし、有効的にア
クノレッジデータを送出するバス制御回路を提供するこ
とを目的とし、 バスによってデータを送受信し、データを受信した時に
は送信装置に対しアクノレッジ信号を送信するシステム
において、送信するデータを少なくとも1個記憶する送
信バッファと、アクノレッジ信号を記憶するアクノレッ
ジバッファと、前記アクノレッジ信号を送出する時期を
検出した信号が加わった時、前記送信バッファの出力の
選択をアクノレッジバッファの出力に切換えるセレクタ
とより成るように構成する。
本発明はデータの送受信を1個のバスで行うデータバス
システムに係り、さらに詳しくは、データバスシステム
からデータを受信した時にアクノレッジを送信してデー
タの転送を行うバス制御回路に関する。
システムに係り、さらに詳しくは、データバスシステム
からデータを受信した時にアクノレッジを送信してデー
タの転送を行うバス制御回路に関する。
データバスシステム例えばホームバスシステムに接続さ
れる装置においては、送信するデータや送受信のアドレ
スやアクノレッジ等を送信するための送信バッファとデ
ータバスを介して自分あてのデータを受信して一時記憶
する受信バッファとを有している。尚この他にも制御回
路やプロセッサを有し、これらの制御回路にリード階層
の手順が、さらにはマイクロプロセッサによってソフト
階層の手順等が制御されている。
れる装置においては、送信するデータや送受信のアドレ
スやアクノレッジ等を送信するための送信バッファとデ
ータバスを介して自分あてのデータを受信して一時記憶
する受信バッファとを有している。尚この他にも制御回
路やプロセッサを有し、これらの制御回路にリード階層
の手順が、さらにはマイクロプロセッサによってソフト
階層の手順等が制御されている。
このようなバスシステムにおいて、データを目的の装置
へ転送する場合、送信側の装置は先ず自己アドレス(送
信する装置のアドレス)、そして相手アドレス(受信す
る装置のアドレス)、そして制御データ、データ長さら
にはデータ等を順次バスラインに送出し、相手アドレス
に該当する装置は相手アドレス以後の制御データ、デー
タ長さらにはデータをバスラインから取り込んでいる。
そして、全データを受信すると、そのデータを受信した
ことを表すアクノレッジデータを送信側装置に送出し、
送信側装置はそのアクノレッジデータと受信することに
よって正常にデータの転送が終了したことを特徴とす
る。
へ転送する場合、送信側の装置は先ず自己アドレス(送
信する装置のアドレス)、そして相手アドレス(受信す
る装置のアドレス)、そして制御データ、データ長さら
にはデータ等を順次バスラインに送出し、相手アドレス
に該当する装置は相手アドレス以後の制御データ、デー
タ長さらにはデータをバスラインから取り込んでいる。
そして、全データを受信すると、そのデータを受信した
ことを表すアクノレッジデータを送信側装置に送出し、
送信側装置はそのアクノレッジデータと受信することに
よって正常にデータの転送が終了したことを特徴とす
る。
このアクノレッジデータは前述した送信バッファに例え
ばマイクロプロセッサ等の制御によって格納された後送
出される。
ばマイクロプロセッサ等の制御によって格納された後送
出される。
前述のようなシステムにおいては、データを受信する装
置はデータ受信終了後前記データを有する複数のコード
より成るパケット単位で特定時間内にアクノレッジデー
タを送出しなくてはならない。このため、例えばマイク
ロプロセッサ等によってこの時間を検出し、その時にア
クノレッジデータを送信バッファに格納した後、送出す
るようにしている。
置はデータ受信終了後前記データを有する複数のコード
より成るパケット単位で特定時間内にアクノレッジデー
タを送出しなくてはならない。このため、例えばマイク
ロプロセッサ等によってこの時間を検出し、その時にア
クノレッジデータを送信バッファに格納した後、送出す
るようにしている。
このような送出する時の時間制御が有るため、マイクロ
プロセッサは常にその時間を検出するようにしなくては
ならないという問題を有していた。
プロセッサは常にその時間を検出するようにしなくては
ならないという問題を有していた。
また、この時間をハードウェアによって検出し、検出し
た時にマイクロプロセッサに割り込みをかけて送信バッ
ファにアクノレッジデータを格納するようにした方式も
ある。これによってマイクロプロセッサの処理は少なく
なるが、DMA転送中等のように割り込みがかからないよ
うな状態の時にはエラーとなってしまう問題を有してい
た。
た時にマイクロプロセッサに割り込みをかけて送信バッ
ファにアクノレッジデータを格納するようにした方式も
ある。これによってマイクロプロセッサの処理は少なく
なるが、DMA転送中等のように割り込みがかからないよ
うな状態の時にはエラーとなってしまう問題を有してい
た。
本発明は上記従来の欠点に鑑み、マイクロプロセッサの
処理を少なくし、有効的にアクノレッジデータを送出す
るバス制御回路を提供することを目的とする。
処理を少なくし、有効的にアクノレッジデータを送出す
るバス制御回路を提供することを目的とする。
第1図は本発明のブロック図である。送信バッファ1は
マイクロプロセッサ等に接続され、送信データを一時記
憶するレジスタ、アクノレッジバッファ2はアクノレッ
ジデータやノットアクノレッジ等の転送の応答に対する
データを一時記憶するレジスタ、セレクタ3は送信バッ
ファ1とアクノレッジバッファ2の出力が加わり、アク
ノレッジ等を送出する時点を検出してアクノレッジバッ
ファ2の出力を選択する回路である。
マイクロプロセッサ等に接続され、送信データを一時記
憶するレジスタ、アクノレッジバッファ2はアクノレッ
ジデータやノットアクノレッジ等の転送の応答に対する
データを一時記憶するレジスタ、セレクタ3は送信バッ
ファ1とアクノレッジバッファ2の出力が加わり、アク
ノレッジ等を送出する時点を検出してアクノレッジバッ
ファ2の出力を選択する回路である。
バスによってデータを送受信し、データを受信した時に
送信装置に対しアクノレッジ信号を送出するシステムに
おいて、データを送出する為には送信バッファ1に送出
するデータを格納し、そこから出力されるデータをセレ
クタ3が選択して出力する。セレクタ3の出力は例えば
シリアルデータ等に変換されてバスラインに送出され
る。
送信装置に対しアクノレッジ信号を送出するシステムに
おいて、データを送出する為には送信バッファ1に送出
するデータを格納し、そこから出力されるデータをセレ
クタ3が選択して出力する。セレクタ3の出力は例えば
シリアルデータ等に変換されてバスラインに送出され
る。
一方、他の装置からデータを変換し、アクノレッジデー
タを送出する時には、送出するタイミングに関係なく、
アクノレッジデータをアクノレッジバッファ2に格納す
る。
タを送出する時には、送出するタイミングに関係なく、
アクノレッジデータをアクノレッジバッファ2に格納す
る。
セレクタ3はアクノレッジ信号を送出する時期すなわち
タイミングを検出した時、前記アクノレッジバッファの
選択し、そのアクノレッジデータを出力する。このアク
ノレッジデータを送信データと同様に例えばシリアルデ
ータに変換されてバスラインに出力される。
タイミングを検出した時、前記アクノレッジバッファの
選択し、そのアクノレッジデータを出力する。このアク
ノレッジデータを送信データと同様に例えばシリアルデ
ータに変換されてバスラインに出力される。
これによって、自動的にアクノレッジデータが送出され
る。
る。
以下、図面を用いて本発明を詳細に説明する。
第2図は本発明の実施例のシステム構成図である。マイ
クロプロセッサ11とバス制御回路12はデータバス(DATA
(D0〜D7))線とアドレズバス(A0〜A2)線、チップセ
レクト(▲▼)線、ライト信号(▲▼)線、リ
ード信号(▲▼)線、リセット信号(▲
▼)線、割込信号(▲▼)線によって接続されて
いる。これらの信号線に接続されるバス制御回路12の端
子はそれぞれ以下の為の端子である。アドレスバスA0〜
A2に接続されている端子は、内部レジスタ(本発明の実
施例におけるバス制御回路12は後述するが8個のレジス
タを有している)を選択する端子であり、アドレス信号
A0〜A2により、レジスタTXDR、RXDR、AKR、CCR、STR1、
STR2、MDR、MLCのいずれかが選択される。チップセレク
ト信号端子はバス制御回路12にマイクロプロセッサ11が
選択した時に加わる端子であり、“L"の時に選択され、
バス制御回路12の各レジスタへの書き込みや読み出しが
可能となる。ライト信号端子は各レジスタにデータを書
き込む時に“L"信号を加える端子、リード信号端子は各
レジスタからデータを読出す時に“L"を加える端子であ
る。そして、ライト信号端子に“L"が加わると、アドレ
ス信号端子から加わるアドレス値すなわちレジスタ指示
値で指示されるレジスタにデータバスから加わるデータ
を格納し、リード信号端子に“L"が加わると、アドレス
信号端子から加わるレジスタ指示値で指示されるレジス
タの内容をデータバスに出力する。
クロプロセッサ11とバス制御回路12はデータバス(DATA
(D0〜D7))線とアドレズバス(A0〜A2)線、チップセ
レクト(▲▼)線、ライト信号(▲▼)線、リ
ード信号(▲▼)線、リセット信号(▲
▼)線、割込信号(▲▼)線によって接続されて
いる。これらの信号線に接続されるバス制御回路12の端
子はそれぞれ以下の為の端子である。アドレスバスA0〜
A2に接続されている端子は、内部レジスタ(本発明の実
施例におけるバス制御回路12は後述するが8個のレジス
タを有している)を選択する端子であり、アドレス信号
A0〜A2により、レジスタTXDR、RXDR、AKR、CCR、STR1、
STR2、MDR、MLCのいずれかが選択される。チップセレク
ト信号端子はバス制御回路12にマイクロプロセッサ11が
選択した時に加わる端子であり、“L"の時に選択され、
バス制御回路12の各レジスタへの書き込みや読み出しが
可能となる。ライト信号端子は各レジスタにデータを書
き込む時に“L"信号を加える端子、リード信号端子は各
レジスタからデータを読出す時に“L"を加える端子であ
る。そして、ライト信号端子に“L"が加わると、アドレ
ス信号端子から加わるアドレス値すなわちレジスタ指示
値で指示されるレジスタにデータバスから加わるデータ
を格納し、リード信号端子に“L"が加わると、アドレス
信号端子から加わるレジスタ指示値で指示されるレジス
タの内容をデータバスに出力する。
リセット端子はバス制御回路12をリセットするための端
子であり“L"が加わるとバス制御回路12は各レジスタの
値を初期化する。
子であり“L"が加わるとバス制御回路12は各レジスタの
値を初期化する。
割り込み信号端子はバス制御回路12が出力する端子であ
り、例えば1バイトのデータを受信した時等にその端子
から“L"が出力される。
り、例えば1バイトのデータを受信した時等にその端子
から“L"が出力される。
マイクロプロセッサ11には図示しないがROMやRAM等が接
続されており、ROMに格納されているプログラムを実行
して、バス制御回路12を介して後述するホームバスの制
御チャンネル(CH)に制御データ等を送受信する。尚、
マイクロプロセッサ11には、アドレスバスA0〜A2の他に
そのアドレスバスの上位ビットを例えばA15〜A3を有し
ており、ROMやRAM等はこれらアドレスバスA15〜A0に接
続されて、プロセッサ回路として動作する。
続されており、ROMに格納されているプログラムを実行
して、バス制御回路12を介して後述するホームバスの制
御チャンネル(CH)に制御データ等を送受信する。尚、
マイクロプロセッサ11には、アドレスバスA0〜A2の他に
そのアドレスバスの上位ビットを例えばA15〜A3を有し
ており、ROMやRAM等はこれらアドレスバスA15〜A0に接
続されて、プロセッサ回路として動作する。
一方、バス制御回路12は前述した端子の他にホームバス
ドライバ・レシーバ13に接続している端子(HBデータ
(▲▼)入力端子、HBデータ(+)方向出力端
子、HBデータ(−)方向端子)、さらには基本周波数発
生器14からクロック信号CLKが加わるクロック入力端子
を有している。基本周波数発生器14は4.9MHzや614.4KHz
のクロック信号を出力するものであり、バス制御回路12
はこの2個の内の1個の周波数の信号が加わった時にそ
の周波数を指示するクロックセレクト信号(CSEL)が加
わるクロックセレクト端子をも有している。
ドライバ・レシーバ13に接続している端子(HBデータ
(▲▼)入力端子、HBデータ(+)方向出力端
子、HBデータ(−)方向端子)、さらには基本周波数発
生器14からクロック信号CLKが加わるクロック入力端子
を有している。基本周波数発生器14は4.9MHzや614.4KHz
のクロック信号を出力するものであり、バス制御回路12
はこの2個の内の1個の周波数の信号が加わった時にそ
の周波数を指示するクロックセレクト信号(CSEL)が加
わるクロックセレクト端子をも有している。
第3図はバス制御回路12の回路構成図である。前述した
データ(DATA)、アドレス信号A0〜A2、ライト信号▲
▼、リード信号▲▼、チップセレクト信号▲
▼、リセット信号▲▼、クロック信号CLK、
割込信号▲▼、クロックセレクト信号CSELがバッ
ファ回路15(CPU-I/O)に加わっており、バッファ回路1
5はこれらの信号を目的とする各回路に加える。
データ(DATA)、アドレス信号A0〜A2、ライト信号▲
▼、リード信号▲▼、チップセレクト信号▲
▼、リセット信号▲▼、クロック信号CLK、
割込信号▲▼、クロックセレクト信号CSELがバッ
ファ回路15(CPU-I/O)に加わっており、バッファ回路1
5はこれらの信号を目的とする各回路に加える。
クロック信号CLKはマスタクロックとしてクロック生成
回路16とエッジ検出回路17に加わる。クロック生成回路
16は後述する各回路のクロックを発生し、それぞれに加
える。
回路16とエッジ検出回路17に加わる。クロック生成回路
16は後述する各回路のクロックを発生し、それぞれに加
える。
エッジ検出回路17には受信データすなわHBデータ(▲
▼)が加わっており、エッジ検出回路17がマスタク
ロックからデータのエッジを検出した時には後述する休
止カウンタ18、状態カウンタ(MDR)19にデータエッジ
を検出したすなわちデータの受信を開始したことを出力
する。
▼)が加わっており、エッジ検出回路17がマスタク
ロックからデータのエッジを検出した時には後述する休
止カウンタ18、状態カウンタ(MDR)19にデータエッジ
を検出したすなわちデータの受信を開始したことを出力
する。
HBデータ(▲▼)はエッジ検出回路17の他にサン
プリング回路20、競合負け検出回路21、被短電文割込検
出回路22に加わっている。HBデータは例えば9600bpsの
シリアルデータであり、サンプリング回路20は、順次シ
リアルデータを1ビット単位で読み取り、RXシフトレジ
スタ23に加える。
プリング回路20、競合負け検出回路21、被短電文割込検
出回路22に加わっている。HBデータは例えば9600bpsの
シリアルデータであり、サンプリング回路20は、順次シ
リアルデータを1ビット単位で読み取り、RXシフトレジ
スタ23に加える。
第2図におけるホームバスHBは2本の例えばツイスト線
である。このホームバスHBに信号を送出或いは他の装置
からの信号を受信するのがホームバスドライバ・レシー
バ13である。このボームバスHBに出力される信号は1デ
ータ当たり、11ビットより成る。第4図は、データ構成
図であり、1データは1ビットのスタートビットST、8
ビットの転送情報(転送データB0〜B7)、1ビットのパ
リティビット(PA)、さらには1ビットのストップビッ
ト(SP)より成る。ホームバスHBにおいては、“L"
(“0")を表している時には正或いは負方向のパルスが
存在し、“H"(“1")を表している時にはパルスは存在
しない。尚、スタートビットは常に“L"(“0")であ
り、ストップビットは常に“H"(“1")であり、第4図
のデータB0〜B7はホームバスドライバ・レシーバ13によ
って常にこのようなデータを0、1の信号に変換され、
受信データ▲▼としてバス制御回路12に加えられ
る。サンプリング回路20は順次0、1の信号をサンプリ
ングする回路である。RXシフトレジスタ23はサンプリン
グ回路20から1ビット単位で加わる1転送情報の各ビッ
トB0〜B7を受信し、シフトする。この時、RXシフトレジ
スタ23がデータをシフトする度に、パリティチェック回
路24にもそのデータを出力しており、パリティチェック
回路24では1転送情報の0或いは1のビット数をカウン
トして、1転送情報の後に加わるパリティと比較する。
このパリティは、従来のような偶数パリティや奇数パリ
ティであり、1転送情報を受信するたびにデータが正常
であるかを判別し、正常でない例えば0のビット数が偶
数個でない時には、データ異常をステータスレジスタ
(STR2)29に格納する。
である。このホームバスHBに信号を送出或いは他の装置
からの信号を受信するのがホームバスドライバ・レシー
バ13である。このボームバスHBに出力される信号は1デ
ータ当たり、11ビットより成る。第4図は、データ構成
図であり、1データは1ビットのスタートビットST、8
ビットの転送情報(転送データB0〜B7)、1ビットのパ
リティビット(PA)、さらには1ビットのストップビッ
ト(SP)より成る。ホームバスHBにおいては、“L"
(“0")を表している時には正或いは負方向のパルスが
存在し、“H"(“1")を表している時にはパルスは存在
しない。尚、スタートビットは常に“L"(“0")であ
り、ストップビットは常に“H"(“1")であり、第4図
のデータB0〜B7はホームバスドライバ・レシーバ13によ
って常にこのようなデータを0、1の信号に変換され、
受信データ▲▼としてバス制御回路12に加えられ
る。サンプリング回路20は順次0、1の信号をサンプリ
ングする回路である。RXシフトレジスタ23はサンプリン
グ回路20から1ビット単位で加わる1転送情報の各ビッ
トB0〜B7を受信し、シフトする。この時、RXシフトレジ
スタ23がデータをシフトする度に、パリティチェック回
路24にもそのデータを出力しており、パリティチェック
回路24では1転送情報の0或いは1のビット数をカウン
トして、1転送情報の後に加わるパリティと比較する。
このパリティは、従来のような偶数パリティや奇数パリ
ティであり、1転送情報を受信するたびにデータが正常
であるかを判別し、正常でない例えば0のビット数が偶
数個でない時には、データ異常をステータスレジスタ
(STR2)29に格納する。
RXシフトレジスタ23はシリアルイン、パラレルアウトの
シフトレジスタであり、1転送情報を受信するたびに、
その8ビットの情報を受信データレジスタ(RXDR)30に
格納する。後述するが受信データレジスタ(RXDR)30に
1転送情報が格納されると、マイクロプロセッサ11がこ
のデータを読み出すことが可能なフラグをオンとする信
号をステータスレジスタ(STR1)31に加える。この格納
によって、例えばプロセッサがこのステータスレジスタ
(STR1)31を読み、受信フラグがオンとなっている時に
は、受信データレジスタに1バイトの情報が転送されて
いることを認識することができる。
シフトレジスタであり、1転送情報を受信するたびに、
その8ビットの情報を受信データレジスタ(RXDR)30に
格納する。後述するが受信データレジスタ(RXDR)30に
1転送情報が格納されると、マイクロプロセッサ11がこ
のデータを読み出すことが可能なフラグをオンとする信
号をステータスレジスタ(STR1)31に加える。この格納
によって、例えばプロセッサがこのステータスレジスタ
(STR1)31を読み、受信フラグがオンとなっている時に
は、受信データレジスタに1バイトの情報が転送されて
いることを認識することができる。
前述した各回路によって、ホームバスHBからのデータを
受信することができる。
受信することができる。
レジスタ(TXDR/AKR)28は、他の装置へホームバスHBを
介して転送情報等を送出する時の送信バッファである。
マイクロプロセッサ11がこのレジスタ(TXDR/AKR)28を
選択して、転送情報等を格納すると、TXシフトレジスタ
25が読み取り、スタートビットを付加して順次1ビット
のシリアルデータSOとしてAMI回路26と、競合負け検出
回路21に出力する。尚、パリティ生成回路27には8ビッ
トの転送すべきデータがTXシフトレジスタ25を介して加
わっており、転送すべきデータに対応してパリティを発
生し、そのパリティをTXシフトレジスタ25に加える。こ
のパリティを第4図に示したデータ構成図のごとく、1
転送情報B0〜B7につづいて、パリティビット位置に挿入
し、TXシフトレジスタ25はパリティビットPAを出力す
る。そしてこのパリティビットPAの後にTXシフトレジス
タ25はストップビットSPを挿入して1データを送出終了
する。
介して転送情報等を送出する時の送信バッファである。
マイクロプロセッサ11がこのレジスタ(TXDR/AKR)28を
選択して、転送情報等を格納すると、TXシフトレジスタ
25が読み取り、スタートビットを付加して順次1ビット
のシリアルデータSOとしてAMI回路26と、競合負け検出
回路21に出力する。尚、パリティ生成回路27には8ビッ
トの転送すべきデータがTXシフトレジスタ25を介して加
わっており、転送すべきデータに対応してパリティを発
生し、そのパリティをTXシフトレジスタ25に加える。こ
のパリティを第4図に示したデータ構成図のごとく、1
転送情報B0〜B7につづいて、パリティビット位置に挿入
し、TXシフトレジスタ25はパリティビットPAを出力す
る。そしてこのパリティビットPAの後にTXシフトレジス
タ25はストップビットSPを挿入して1データを送出終了
する。
コントロールコードレジスタ(CCR)32からは送信制御
部33に制御信号が加わっており、送信制御部33はこの信
号によって前述のレジスタ(TXDR/AKR)28からデータを
TXシフトレジスタ25に読み出し、そして順次1ビット単
位での送出を制御する信号をTXシフトレジスタ25に加え
ている。この制御によって前述のシリアルデータSOがTX
シフトレジスタ25から出力される。ホームバスHBにおい
ては、シリアルデータの転送における電流の直流分を無
くするため、第4図に示すような正方向と負方向のパル
スをデータが“0"の時に繰り返し発生している。この繰
り返しを制御し、正方向、負方向のパルスを出力すべき
制御信号を発生するのがAMI回路26である。このAMI回路
26にはシリアルデータSOが加わっており、例えば第4図
に示すような“00000000001"なるシリアルデータの時に
は送信データ信号▲▼、▲▼は第5図のよ
うに、▲▼、▲▼が順次正方向や負方向の
パルスを発生して“0"を表している。
部33に制御信号が加わっており、送信制御部33はこの信
号によって前述のレジスタ(TXDR/AKR)28からデータを
TXシフトレジスタ25に読み出し、そして順次1ビット単
位での送出を制御する信号をTXシフトレジスタ25に加え
ている。この制御によって前述のシリアルデータSOがTX
シフトレジスタ25から出力される。ホームバスHBにおい
ては、シリアルデータの転送における電流の直流分を無
くするため、第4図に示すような正方向と負方向のパル
スをデータが“0"の時に繰り返し発生している。この繰
り返しを制御し、正方向、負方向のパルスを出力すべき
制御信号を発生するのがAMI回路26である。このAMI回路
26にはシリアルデータSOが加わっており、例えば第4図
に示すような“00000000001"なるシリアルデータの時に
は送信データ信号▲▼、▲▼は第5図のよ
うに、▲▼、▲▼が順次正方向や負方向の
パルスを発生して“0"を表している。
第6図はホームバスドライバ・レシーバ13の送信回路図
である。送信データ▲▼、▲▼はそれぞれ
インバータ11、12さらには抵抗R1、R2を介してトランジ
スタTr1、Tr2のベースに加わっている。トランジスタTr
1、Tr2のエミッタは接地され、コレクタは1次側の中間
点が電源V8に接続されたトランスLの1次側の両端に接
続されている。そしてトランスLの2次側の両端はコン
デンサC1、C2を介してホームバスHBに接続されている。
送信データ▲▼がインバータ11に加わっているの
で、第6図のような構成の場合には、ビットST0、B1、B
3、B5、B7においてトランジスタTr1がオンとなる。また
送信データ▲▼がインバータ12に加わっているの
で、ビットB0、B2、B4、B6、PAにおいてトランジスタTr
2がオンとなる。
である。送信データ▲▼、▲▼はそれぞれ
インバータ11、12さらには抵抗R1、R2を介してトランジ
スタTr1、Tr2のベースに加わっている。トランジスタTr
1、Tr2のエミッタは接地され、コレクタは1次側の中間
点が電源V8に接続されたトランスLの1次側の両端に接
続されている。そしてトランスLの2次側の両端はコン
デンサC1、C2を介してホームバスHBに接続されている。
送信データ▲▼がインバータ11に加わっているの
で、第6図のような構成の場合には、ビットST0、B1、B
3、B5、B7においてトランジスタTr1がオンとなる。また
送信データ▲▼がインバータ12に加わっているの
で、ビットB0、B2、B4、B6、PAにおいてトランジスタTr
2がオンとなる。
トランジスタTr1がオンとなった時には、電源V8から、
1次側の中間点を介してトランジスタTr1が接続されて
いる側に電流が流れ、その結果としてホームバスHBに正
方向のパルスが出力される。これに対し、トランジスタ
Tr2がオンとなった時には、その逆となり、負方向のパ
ルスがホームバスHBに出力される。尚、コンデンサC1、
C2は直流セットや低周波帯域とセットする為の素子であ
る。ホームバスHBではバスを介して電力を供給するよう
な場合もあるので、このコンデンサによって直流分がカ
ットされる。
1次側の中間点を介してトランジスタTr1が接続されて
いる側に電流が流れ、その結果としてホームバスHBに正
方向のパルスが出力される。これに対し、トランジスタ
Tr2がオンとなった時には、その逆となり、負方向のパ
ルスがホームバスHBに出力される。尚、コンデンサC1、
C2は直流セットや低周波帯域とセットする為の素子であ
る。ホームバスHBではバスを介して電力を供給するよう
な場合もあるので、このコンデンサによって直流分がカ
ットされる。
ホームバスHBの各情報の伝送においては、アック信号AC
Kやナック(ノットアクノレッジ)信号NAKを送出して送
信した相手の機器がデータを受信したか否かを判定して
いる。このアック信号ACKやナック信号NAKは、一般的に
は伝送すべきデータすなわち一情報として扱われてい
る。このため、送信すべきデータを記憶するレジスタは
従来では1個であるが、本発明においては2個設け、こ
のデータ用とアック用とに分けている。第7図はレジス
タ(TXDR/AKR)28の構成図である。
Kやナック(ノットアクノレッジ)信号NAKを送出して送
信した相手の機器がデータを受信したか否かを判定して
いる。このアック信号ACKやナック信号NAKは、一般的に
は伝送すべきデータすなわち一情報として扱われてい
る。このため、送信すべきデータを記憶するレジスタは
従来では1個であるが、本発明においては2個設け、こ
のデータ用とアック用とに分けている。第7図はレジス
タ(TXDR/AKR)28の構成図である。
バッファ回路15から8ビットのデータがデータ用レジス
タ28-1とACK/NAK用レジスタ28-2に分けられて格納され
る。後述するがこのデータ用レジスタ(TXDR)28-1とAC
K/NAK用レジスタ28-2はバッファ回路15を介して別々に
そのデータが格納される。送信制御部33は、これらのレ
ジスタと選択する選択信号をレジスタ(TXDR/AKR)28に
加えており、この選択信号は第7図におけるセレクタ28
-3に入力する。セレクタ28-3はデータ用レジスタ28-1の
データ或いはACK/NAK用レジスタ28-2の一方をこの選択
信号で選択する回路であり、この選択されたデータがTX
シフトレジスタ25に加わる。従来においては前述したよ
うに1個のレジスタのデータを送出するように構成され
ているが、第7図の構成のように、送出すべき情報であ
るデータは2個のレジスタに格納され、必要な時にその
レジスタを選択して送出している。このレジスタの選択
は情報を送出するのか或いはACK信号等を送出するのか
を目的によって行っており、マイクロプロセッサ11から
レジスタへの書き込みは、これらの用途によって書き込
みの変換のみでなく、データやACK信号の手順を検出す
ることなく、プログラムを作成することができる。
タ28-1とACK/NAK用レジスタ28-2に分けられて格納され
る。後述するがこのデータ用レジスタ(TXDR)28-1とAC
K/NAK用レジスタ28-2はバッファ回路15を介して別々に
そのデータが格納される。送信制御部33は、これらのレ
ジスタと選択する選択信号をレジスタ(TXDR/AKR)28に
加えており、この選択信号は第7図におけるセレクタ28
-3に入力する。セレクタ28-3はデータ用レジスタ28-1の
データ或いはACK/NAK用レジスタ28-2の一方をこの選択
信号で選択する回路であり、この選択されたデータがTX
シフトレジスタ25に加わる。従来においては前述したよ
うに1個のレジスタのデータを送出するように構成され
ているが、第7図の構成のように、送出すべき情報であ
るデータは2個のレジスタに格納され、必要な時にその
レジスタを選択して送出している。このレジスタの選択
は情報を送出するのか或いはACK信号等を送出するのか
を目的によって行っており、マイクロプロセッサ11から
レジスタへの書き込みは、これらの用途によって書き込
みの変換のみでなく、データやACK信号の手順を検出す
ることなく、プログラムを作成することができる。
第3図の本発明の実施例においては、8個のレジスタを
有し、これらのレジスタはバッファ回路15を介してリー
ド或いはライトされる。書き込みはレジスタCCR、TXDR/
AKRであり、バッファ回路15からの指示すなわちマイク
ロプロセッサ11からの書き込み指示によってそれぞれ目
的のレジスタに書き込まれる。読み出しはレジスタRXD
R、CCR、STR1、STR2、MDR、MLCであり、アドレス信号A0
〜A2の値によりデータセレクト回路34はそれぞれ出力を
選択してバッファ回路15を介してマイクロプロセッサ11
のデータ(DATA)バスに出力する。
有し、これらのレジスタはバッファ回路15を介してリー
ド或いはライトされる。書き込みはレジスタCCR、TXDR/
AKRであり、バッファ回路15からの指示すなわちマイク
ロプロセッサ11からの書き込み指示によってそれぞれ目
的のレジスタに書き込まれる。読み出しはレジスタRXD
R、CCR、STR1、STR2、MDR、MLCであり、アドレス信号A0
〜A2の値によりデータセレクト回路34はそれぞれ出力を
選択してバッファ回路15を介してマイクロプロセッサ11
のデータ(DATA)バスに出力する。
送信データレジスタTXDRは書き込み専用の8ビットレジ
スタである。バス上に送出するデータはACK/NAK以外は
マイクロプロセッサ11によってこのレジスタに書き込
む。また、このレジスタにデータを書き込むことにより
一連のデータ送信動作を開始する。受信データレジスタ
RXDRはホームバスデータ読み込み専用の8ビットレジス
タである。レジスタAKR(ACK/NAK送信レジスタ)はACK/
NAK送信用の書き込み専用の8ビットレジスタである。
このレジスタに値が書き込まれると、次のACK/NAK送信
可能期間にデータを送出する。ただし、同報、短電文割
り込み、エラー(データ受信エラー、ライトロストデー
タエラー)で送信が不要な場合は送信しない。また、次
のパケットにまたがって送信することはない。コントロ
ールコードレジスタCCRは制御用の読み出し、書き込み
が可能なフラグレジスタである。上位4ビットを0H(16
進)にすることによりモード1が、6Hにすることにより
モード2がセレクトされる。また、リセットを解除する
時は、RESフラグ以外のCCRのフラグは無視される。
スタである。バス上に送出するデータはACK/NAK以外は
マイクロプロセッサ11によってこのレジスタに書き込
む。また、このレジスタにデータを書き込むことにより
一連のデータ送信動作を開始する。受信データレジスタ
RXDRはホームバスデータ読み込み専用の8ビットレジス
タである。レジスタAKR(ACK/NAK送信レジスタ)はACK/
NAK送信用の書き込み専用の8ビットレジスタである。
このレジスタに値が書き込まれると、次のACK/NAK送信
可能期間にデータを送出する。ただし、同報、短電文割
り込み、エラー(データ受信エラー、ライトロストデー
タエラー)で送信が不要な場合は送信しない。また、次
のパケットにまたがって送信することはない。コントロ
ールコードレジスタCCRは制御用の読み出し、書き込み
が可能なフラグレジスタである。上位4ビットを0H(16
進)にすることによりモード1が、6Hにすることにより
モード2がセレクトされる。また、リセットを解除する
時は、RESフラグ以外のCCRのフラグは無視される。
第8図はモード1におけるレジスタCCRのビット構成図
である。ビットbit7〜bit4がモード1を指示する領域で
あり、0Hをこの領域に書くことによってモード1とな
る。そして、ビットbit3は短電文割り込みフラグSMIで
あり、このフラグが“1"の時に、短電文割り込みが可能
な区間(長電文でMDR=8)で短電文割り込みを発生す
る。また、自分が送信中の長電文に割り込みをかけるこ
ともでき、短電文割り込み動作は送信とは全く関係なく
動作させることができる。尚、このフラグは状態カウン
タ(MDR)が“1"になった時か同期回復期間中で状態カ
ウンタ(MDR)が“2"になった時に“0"になる。
である。ビットbit7〜bit4がモード1を指示する領域で
あり、0Hをこの領域に書くことによってモード1とな
る。そして、ビットbit3は短電文割り込みフラグSMIで
あり、このフラグが“1"の時に、短電文割り込みが可能
な区間(長電文でMDR=8)で短電文割り込みを発生す
る。また、自分が送信中の長電文に割り込みをかけるこ
ともでき、短電文割り込み動作は送信とは全く関係なく
動作させることができる。尚、このフラグは状態カウン
タ(MDR)が“1"になった時か同期回復期間中で状態カ
ウンタ(MDR)が“2"になった時に“0"になる。
ビットbit2はリセットフラグRESであり、このフラグが
“0"になると、全ての状態を初期状態に戻し動作を停止
する。送信中にこのフラグが“0"になると、その時点で
送信を打ち切り、後にビットが残っていた場合にはそれ
らのビットは送信しない。また、このフラグは“1"にな
ると動作を開始する(同期回復期間になる)。リセット
端子によりリセットがかかった場合や電源投入時から本
ICを動作を開始させるにはマイクロプロセッサ11から
“1"をセットする必要がある。
“0"になると、全ての状態を初期状態に戻し動作を停止
する。送信中にこのフラグが“0"になると、その時点で
送信を打ち切り、後にビットが残っていた場合にはそれ
らのビットは送信しない。また、このフラグは“1"にな
ると動作を開始する(同期回復期間になる)。リセット
端子によりリセットがかかった場合や電源投入時から本
ICを動作を開始させるにはマイクロプロセッサ11から
“1"をセットする必要がある。
ビットbit1は受信割り込みマスクフラグRIMであり、こ
のフラグが“0"の時には、1パケット内において受信、
短電文割り込み、データ受信エラー、リードロストデー
タ、フレーミングエラー、パリティエラー、ACK/NAKエ
ラーの割り込み発生を停止する。但し、このフラグは▲
▼端子の出力をマスクするのみでINTRフラグその
ものは通常に動作する。また、“1"の時は通常に割り込
みを発生する。このフラグは状態カウンタ(MDR)が
“1"になった時か、バス上にデータが無い期間が10ms+
22bit続いて同期回復期間が解除になった時に“1"にな
る。ただし、同期回復期間中でもこのフラグに“1"を書
き込むことにより割り込みを発生させることができる。
のフラグが“0"の時には、1パケット内において受信、
短電文割り込み、データ受信エラー、リードロストデー
タ、フレーミングエラー、パリティエラー、ACK/NAKエ
ラーの割り込み発生を停止する。但し、このフラグは▲
▼端子の出力をマスクするのみでINTRフラグその
ものは通常に動作する。また、“1"の時は通常に割り込
みを発生する。このフラグは状態カウンタ(MDR)が
“1"になった時か、バス上にデータが無い期間が10ms+
22bit続いて同期回復期間が解除になった時に“1"にな
る。ただし、同期回復期間中でもこのフラグに“1"を書
き込むことにより割り込みを発生させることができる。
ビットbit0は送信割り込みマスクフラグTIMであり、こ
のフラグが“0"の時には、1パケット内において送信、
競合負け、ライトロストデータの割り込みを発生させな
い。ただし、このフラグは▲▼端子の出力をマス
クするのみでINTRフラグは通常に動作する。また、“1"
の時は通常に割り込みを発生させる。このフラグは状態
カウンタ(MDR)が“1"になった時かバス上にデータが
無い期間が10ms+22bit続いて同期回復期間が解除にな
った時に“1"になる。ただし、同期回復期間中でもこの
フラグに“1"を書き込むことにより割り込みを発生させ
ることができる。
のフラグが“0"の時には、1パケット内において送信、
競合負け、ライトロストデータの割り込みを発生させな
い。ただし、このフラグは▲▼端子の出力をマス
クするのみでINTRフラグは通常に動作する。また、“1"
の時は通常に割り込みを発生させる。このフラグは状態
カウンタ(MDR)が“1"になった時かバス上にデータが
無い期間が10ms+22bit続いて同期回復期間が解除にな
った時に“1"になる。ただし、同期回復期間中でもこの
フラグに“1"を書き込むことにより割り込みを発生させ
ることができる。
第9図はモード2におけるレジスタCCRのビット構成図
である。ビットbit7〜bit4が0Hの時にモード2になる。
このモードにおいて、ビットbit1は同報WBRCであり、こ
のフラグを“1"にセットした場合、以後、現在送受信中
のパケットを同報パケットとして動作する。“0"をセッ
トした場合は、逆に個別パケットとして動作する。
である。ビットbit7〜bit4が0Hの時にモード2になる。
このモードにおいて、ビットbit1は同報WBRCであり、こ
のフラグを“1"にセットした場合、以後、現在送受信中
のパケットを同報パケットとして動作する。“0"をセッ
トした場合は、逆に個別パケットとして動作する。
ビットbit0は長電文フラグLMESであり、このフラグを
“1"にセットした場合、以後現在送受信中のパケットを
長電文パケットとして動作する。“0"をセットした場合
は、逆に短電文パケットとして動作する。
“1"にセットした場合、以後現在送受信中のパケットを
長電文パケットとして動作する。“0"をセットした場合
は、逆に短電文パケットとして動作する。
ステータスレジスタ(STR1)31はバス上及びパケット等
の状態を示す読み込み専用のフラグレジスタである。第
10図はステータスレジスタ(STR1)31のビット構成図で
ある。
の状態を示す読み込み専用のフラグレジスタである。第
10図はステータスレジスタ(STR1)31のビット構成図で
ある。
ビットbit7は割込フラグINTRである。このフラグは▲
▼端子と同様な信号であり、データの入出力等の割
り込みが必要な場合に“1"になり、CPUにすなわちマイ
クロプロセッサ11に割り込みをかける。マイクロプロセ
ッサ11がステータスレジスタ(STR1)31を読むことによ
って▲▼端子は“H"に、またこのフラグは“0"に
なる。このフラグは状態カウンタ(MDR)が“1"になっ
た時か同期回復期間中に状態カウンタ(MDR)が“2"に
なった時に“1"になる。
▼端子と同様な信号であり、データの入出力等の割
り込みが必要な場合に“1"になり、CPUにすなわちマイ
クロプロセッサ11に割り込みをかける。マイクロプロセ
ッサ11がステータスレジスタ(STR1)31を読むことによ
って▲▼端子は“H"に、またこのフラグは“0"に
なる。このフラグは状態カウンタ(MDR)が“1"になっ
た時か同期回復期間中に状態カウンタ(MDR)が“2"に
なった時に“1"になる。
ビットbit6は被短電文割込フラグRSMIである。短電文割
り込みを検出した場合(長電文のデータ部分でストップ
ビットが“0"になった時)に“1"となる。また、このフ
ラグは状態カウンタ(MDR)が“1"になった時か同期回
復期間中で状態カウンタ(MDR)が“2"になった時に
“0"になる。長電文の判断は「優先コード」でおこな
い、このフラグが“1"になった時(短電文割り込みが発
生した時)には、FE(フレーミングエラー)フラグはセ
ットされない。
り込みを検出した場合(長電文のデータ部分でストップ
ビットが“0"になった時)に“1"となる。また、このフ
ラグは状態カウンタ(MDR)が“1"になった時か同期回
復期間中で状態カウンタ(MDR)が“2"になった時に
“0"になる。長電文の判断は「優先コード」でおこな
い、このフラグが“1"になった時(短電文割り込みが発
生した時)には、FE(フレーミングエラー)フラグはセ
ットされない。
ビットbit5は競合負けフラグCDである。競合負けについ
ては後述するが、このフラグは「優先コード」と「自己
アドレス」において、送信データと受信データが異なる
場合「競合負け」とし、このフラグが“1"になる。よっ
て、パリティビット及びストップビットが異なる場合で
も「競合負け」となる。
ては後述するが、このフラグは「優先コード」と「自己
アドレス」において、送信データと受信データが異なる
場合「競合負け」とし、このフラグが“1"になる。よっ
て、パリティビット及びストップビットが異なる場合で
も「競合負け」となる。
ビットbit4は送信中フラグTXであり、データ送信時に
“1"になる。また、このフラグは状態カウンタ(MDR)
が“1"になった時か同期回復期間中で状態カウンタ(MD
R)が“2"になった時に、“0"になる。また、競合負け
(CDフラグセット時)、短電文割り込み時(短電文割り
込み発生後MDRが0→1の部分)にも“0"になる。ただ
し、データ受信後のACK/NAK送信時では“1"にはならな
い(初期値:0)。
“1"になる。また、このフラグは状態カウンタ(MDR)
が“1"になった時か同期回復期間中で状態カウンタ(MD
R)が“2"になった時に、“0"になる。また、競合負け
(CDフラグセット時)、短電文割り込み時(短電文割り
込み発生後MDRが0→1の部分)にも“0"になる。ただ
し、データ受信後のACK/NAK送信時では“1"にはならな
い(初期値:0)。
ビットbit3はエラーフラグERRであり、ステータスレジ
スタ(STR2)29のエラーフラグ(RDE、WLD、RLD、FE、P
E、AKE)のどれかが“1"になった時にこのフラグは“1"
になる。このフラグはSTR2のエラーフラグのORをとった
ものである。また、ステータスレジスタ(STR2)29を読
むか状態カウンタ(MDR)が“1"になった時か同期回復
期間中で状態カウンタ(MDR)が“2"になった時に“0"
になる。
スタ(STR2)29のエラーフラグ(RDE、WLD、RLD、FE、P
E、AKE)のどれかが“1"になった時にこのフラグは“1"
になる。このフラグはSTR2のエラーフラグのORをとった
ものである。また、ステータスレジスタ(STR2)29を読
むか状態カウンタ(MDR)が“1"になった時か同期回復
期間中で状態カウンタ(MDR)が“2"になった時に“0"
になる。
ビットbit2は同報フラグBRCである。このフラグが“1"
の時は受信中の電文が「同報」パケットであることを示
しており、“0"の時は「個別」パケットを示している。
このフラグは状態カウンタ(MDR)が“4"になった時に
優先コードのbit6の値がセットされる。また、状態カウ
ンタ(MDR)が“1"になった時か同期回復期間中で状態
カウンタ(MDR)が“2"になった時に“0"になる。
の時は受信中の電文が「同報」パケットであることを示
しており、“0"の時は「個別」パケットを示している。
このフラグは状態カウンタ(MDR)が“4"になった時に
優先コードのbit6の値がセットされる。また、状態カウ
ンタ(MDR)が“1"になった時か同期回復期間中で状態
カウンタ(MDR)が“2"になった時に“0"になる。
ビットbit1はデータ受信完了フラグRXRDYである。マイ
クロプロセッサ11にデータを渡すことができる状態の時
に“1"になる。マイクロプロセッサ11がデータを受け取
ると“0"になり、また、状態カウンタ(MDR)が“1"に
なった時か同期回復期間中で状態カウンタ(MDR)が
“2"になった時に“0"になる。
クロプロセッサ11にデータを渡すことができる状態の時
に“1"になる。マイクロプロセッサ11がデータを受け取
ると“0"になり、また、状態カウンタ(MDR)が“1"に
なった時か同期回復期間中で状態カウンタ(MDR)が
“2"になった時に“0"になる。
ビットbit0は送信完了フラグTXRDYである。マイクロプ
ロセッサ11からデータを受け取ることができる状態の時
に“1"になり、マイクロプロセッサ11からデータを受け
取ると“0"になる(初期値:1)。
ロセッサ11からデータを受け取ることができる状態の時
に“1"になり、マイクロプロセッサ11からデータを受け
取ると“0"になる(初期値:1)。
ステータスレジスタ(STR2)29はバス上及びパケットの
エラー等を示す読み込み専用のフラグレジスタである。
第11図はステータスレジスタ(STR2)29のビット構成図
である。ビットbit7〜bit2まではエラーフラグで、エラ
ー発生によりセットされる。
エラー等を示す読み込み専用のフラグレジスタである。
第11図はステータスレジスタ(STR2)29のビット構成図
である。ビットbit7〜bit2まではエラーフラグで、エラ
ー発生によりセットされる。
RDE、WLDはこのレジスタを読むか同期回復期間中で状態
カウンタ(MDR)が“2"になった時に“0"となり、ま
た、RLD、FE、PE、AKEはこのレジスタを読むか状態カウ
ンタ(MDR)が“1"になった時か同期回復期間中で状態
カウンタ(MDR)が“2"になった時に“0"になる。
カウンタ(MDR)が“2"になった時に“0"となり、ま
た、RLD、FE、PE、AKEはこのレジスタを読むか状態カウ
ンタ(MDR)が“1"になった時か同期回復期間中で状態
カウンタ(MDR)が“2"になった時に“0"になる。
ビットbit7はデータ受信エラーフラグRDEであり、本発
明の実施例においては、受信中は1キャラクタ毎にスタ
ートビットで同期をとる。この時、スタートビットが正
常に検出できなかった場合、このフラグが“1"になる。
また、電文長コードより多くデータが受信された時にも
“1"になる。ただし、ACK/NAK受信のエラーではこのフ
ラグは動作しない。尚、このフラグが“1"になると同期
回復期間に入る。
明の実施例においては、受信中は1キャラクタ毎にスタ
ートビットで同期をとる。この時、スタートビットが正
常に検出できなかった場合、このフラグが“1"になる。
また、電文長コードより多くデータが受信された時にも
“1"になる。ただし、ACK/NAK受信のエラーではこのフ
ラグは動作しない。尚、このフラグが“1"になると同期
回復期間に入る。
ビットbit6はライトロストデータフラグWLDであり、次
のキャラクタの送信開始までにキャラクタデータが、送
信データレジスタ(TXDR)に書き込まれていなかった場
合、このフラグが“1"になる。このエラー発生時には、
送信は停止して同期回復期間に入る。
のキャラクタの送信開始までにキャラクタデータが、送
信データレジスタ(TXDR)に書き込まれていなかった場
合、このフラグが“1"になる。このエラー発生時には、
送信は停止して同期回復期間に入る。
ビットbit5はリードロストデータフラグRLDであり、受
信データレジスタ(RXDR)にデータが存在するときに、
さらに次のデータがバスから入力された場合(この時、
RXDRの値は新しいデータに変わる)に“1"になる。ただ
し、RXDRを読まずにステータスレジスタ(STR2)29を読
んで“0"にした場合には、エラーの要因がクリアされて
いないので次の割り込み発生時に再びこのフラグが立
つ。エラーの要因はRXDRを読むことによりクリアする
(初期値:0)。
信データレジスタ(RXDR)にデータが存在するときに、
さらに次のデータがバスから入力された場合(この時、
RXDRの値は新しいデータに変わる)に“1"になる。ただ
し、RXDRを読まずにステータスレジスタ(STR2)29を読
んで“0"にした場合には、エラーの要因がクリアされて
いないので次の割り込み発生時に再びこのフラグが立
つ。エラーの要因はRXDRを読むことによりクリアする
(初期値:0)。
ビットbit4はフレーミング・エラーフラグFEであり、長
電文のデータ部分以外でストップビットが“1"になった
場合“1"になる。
電文のデータ部分以外でストップビットが“1"になった
場合“1"になる。
ビットbit3はパリティ・エラーフラグPEであり、前述し
たパリティチェック回路24がパリティエラーを検出する
と“1"となる。本発明の実施例においては、パリティは
偶数パリティである。
たパリティチェック回路24がパリティエラーを検出する
と“1"となる。本発明の実施例においては、パリティは
偶数パリティである。
ビットbit2はACK/NAKエラーフラグAKEであり、ACK/NAK
のスタートビットが±13μsの範囲内に検出できなかっ
た場合“1"となる。
のスタートビットが±13μsの範囲内に検出できなかっ
た場合“1"となる。
ビットbit0は同期回復期間フラグDREであり、リセット
直後またはデータ受信エラー(RDE)、ライトロストデ
ータエラー(WLD)が発生した時にこのフラグが“1"に
なり同期回復期間になる。同期回復期間が終わるとこの
フラグは“0"になり通常モードとなる。
直後またはデータ受信エラー(RDE)、ライトロストデ
ータエラー(WLD)が発生した時にこのフラグが“1"に
なり同期回復期間になる。同期回復期間が終わるとこの
フラグは“0"になり通常モードとなる。
レジスタ19(状態カウンタ)MDRは受信中のパケットの
バス上の状態を示す。0(00H)〜11(0BH)までの値を
とる読み込み専用のレジスタである。本発明の実施例に
おいては、複数のコードより成るパケット単位で情報で
あるデータを送受信しており、状態カウンタMDRはこれ
らのコードの送受信の状態をも指示している。第12図〜
第15図は状態カウンタの状態説明図である。各図はINTR
フラグが立った時点での状態カウンタの値とバスデータ
の状態を示している。スタートビットの間は前の状態カ
ウンタの値が続いている。
バス上の状態を示す。0(00H)〜11(0BH)までの値を
とる読み込み専用のレジスタである。本発明の実施例に
おいては、複数のコードより成るパケット単位で情報で
あるデータを送受信しており、状態カウンタMDRはこれ
らのコードの送受信の状態をも指示している。第12図〜
第15図は状態カウンタの状態説明図である。各図はINTR
フラグが立った時点での状態カウンタの値とバスデータ
の状態を示している。スタートビットの間は前の状態カ
ウンタの値が続いている。
状態カウンタ、すなわちレジスタ19にはビットカウンタ
35、エッジ検出回路17、休止カウンタ18、被短電文割込
検出回路22が接続している。ビットカウンタ35は図示し
ないがサンプリング回路20やRXシフトレジスタ23からの
信号が加わっており、現在受信しているビット位置を求
めている。このビットカウンタ35からの受信データのビ
ット検出信号によって、現在どの状態にあるかを求めて
いる。第16図は状態カウンタ値とその状態図表、第17図
は状態遷移図である。状態カウンタ値が0の時すなわち
状態S0はリセット解除やバス上にデータが存在したり、
その後の22bitや44bit期間バス空き検出期間である。そ
の状態S0において、データが受信されなくなってから10
msec-22bit分の時間−‐208μsecが休止期間(状態S1)
であり、この期間後に状態S2となる。
35、エッジ検出回路17、休止カウンタ18、被短電文割込
検出回路22が接続している。ビットカウンタ35は図示し
ないがサンプリング回路20やRXシフトレジスタ23からの
信号が加わっており、現在受信しているビット位置を求
めている。このビットカウンタ35からの受信データのビ
ット検出信号によって、現在どの状態にあるかを求めて
いる。第16図は状態カウンタ値とその状態図表、第17図
は状態遷移図である。状態カウンタ値が0の時すなわち
状態S0はリセット解除やバス上にデータが存在したり、
その後の22bitや44bit期間バス空き検出期間である。そ
の状態S0において、データが受信されなくなってから10
msec-22bit分の時間−‐208μsecが休止期間(状態S1)
であり、この期間後に状態S2となる。
休止カウンタ18にはビットカウンタ35、エッジ検出回路
17、パケット状態レジスタ39のそれぞれの出力が加わっ
ており、これらの出力から休止カウンタ18は休止時間を
求めている。
17、パケット状態レジスタ39のそれぞれの出力が加わっ
ており、これらの出力から休止カウンタ18は休止時間を
求めている。
休止時間の前半の状態カウンタ(MDR)19が“0"の部分
では、バス上にデータがあっても、パケットとは認めな
い。データの無い時間が通常22bit、同報の場合は44bit
分続くと次の状態に変化する。これは、「電文長コー
ド」と実際のデータ長が一致していないようなパケッ
ト、またはリセット直後の同期の調整の為である。
では、バス上にデータがあっても、パケットとは認めな
い。データの無い時間が通常22bit、同報の場合は44bit
分続くと次の状態に変化する。これは、「電文長コー
ド」と実際のデータ長が一致していないようなパケッ
ト、またはリセット直後の同期の調整の為である。
送信の時は休止時間が終わってから送信を始める。但
し、競合監視期間中に他の装置が送信を開始した場合に
は、それに合わせて送信する。
し、競合監視期間中に他の装置が送信を開始した場合に
は、それに合わせて送信する。
状態カウンタ19が“0"の部分でデータが入って来た場合
にはデータ受信エラーとなり同期回復期間になる。その
後、状態カウンタ19は“2"になる。
にはデータ受信エラーとなり同期回復期間になる。その
後、状態カウンタ19は“2"になる。
状態カウンタ19が“2"である時にホームバスHBから送信
要求が加わった時には状態S2′となる。尚、この時には
状態カウンタ19の値は変化しない。状態S2は競合監視期
間でありまたデータ入力待ち状態である。バス上にデー
タが存在する時には、状態S3、S4、S5、S6、S7を順次通
過すなわち状態カウンタ19の値が順次3〜7と進み、状
態S8となる。
要求が加わった時には状態S2′となる。尚、この時には
状態カウンタ19の値は変化しない。状態S2は競合監視期
間でありまたデータ入力待ち状態である。バス上にデー
タが存在する時には、状態S3、S4、S5、S6、S7を順次通
過すなわち状態カウンタ19の値が順次3〜7と進み、状
態S8となる。
状態S3、S4、S5、S6、S7はそれぞれパケットの優先コー
ド、自己アドレスコード、相手アドレスコード、制御コ
ード、電文長コードに対応した優先コード期間、自己ア
ドレス期間、相手アドレス期間、制御コード期間、電文
長コード期間である。状態S2〜S8はデータの受信を行う
状態であり、相手アドレス期間において、自己のアドレ
スを受信したときには、受信となる。
ド、自己アドレスコード、相手アドレスコード、制御コ
ード、電文長コードに対応した優先コード期間、自己ア
ドレス期間、相手アドレス期間、制御コード期間、電文
長コード期間である。状態S2〜S8はデータの受信を行う
状態であり、相手アドレス期間において、自己のアドレ
スを受信したときには、受信となる。
状態8はデータ期間である。この状態においてデータす
なわち情報中に短電文割り込みが存在する時状態カウン
タ19は0となる。すなわち、状態S0となる。
なわち情報中に短電文割り込みが存在する時状態カウン
タ19は0となる。すなわち、状態S0となる。
被短電文割込検出回路22は第30図に示すように状態カウ
ンタ19の状態S8の出力、受信データ▲▼ならびに
ビットカウンタ35のストップビット信号検出の出力が加
わっており、AND回路ANDからは、状態カウンタ19の値が
8でストップビットの位置でさらにその時の受信データ
が“0"(反転しているので“1"となる)の時に“1"が出
力され、ステータスレジスタ(STR1)31に加わる。これ
によって被短電文割り込みが検出できる。
ンタ19の状態S8の出力、受信データ▲▼ならびに
ビットカウンタ35のストップビット信号検出の出力が加
わっており、AND回路ANDからは、状態カウンタ19の値が
8でストップビットの位置でさらにその時の受信データ
が“0"(反転しているので“1"となる)の時に“1"が出
力され、ステータスレジスタ(STR1)31に加わる。これ
によって被短電文割り込みが検出できる。
ホームバスHBシステムにおいては、ホームバスに接続さ
れた装置から短電文の割り込みを発生することが可能で
ある。短電文割り込みはホームバスシステムにおいては
ストップビットSP中を割り込む装置が“0"が出力すなわ
ちパルスを発生することによって行うことができる。こ
の短電文の割り込みを検出するのが、被短電文割込検出
回路22である。すなわち、被短電文割込検出回路22にお
いて割り込みを検出すると、その検出信号が加わり、状
態カウンタ19をリセットし、0(状態S0)とする。ま
た、この時には、送信制御部33に割込検出信号を出力
し、以後の送信制御を停止させる。また、同時にステー
タスレジスタ(STR1)31にも、被短電文割込検出信号を
加え、ビット6の被短電文割込フラグRSMIをオン“1"と
する。
れた装置から短電文の割り込みを発生することが可能で
ある。短電文割り込みはホームバスシステムにおいては
ストップビットSP中を割り込む装置が“0"が出力すなわ
ちパルスを発生することによって行うことができる。こ
の短電文の割り込みを検出するのが、被短電文割込検出
回路22である。すなわち、被短電文割込検出回路22にお
いて割り込みを検出すると、その検出信号が加わり、状
態カウンタ19をリセットし、0(状態S0)とする。ま
た、この時には、送信制御部33に割込検出信号を出力
し、以後の送信制御を停止させる。また、同時にステー
タスレジスタ(STR1)31にも、被短電文割込検出信号を
加え、ビット6の被短電文割込フラグRSMIをオン“1"と
する。
データ期間(受信であるならばデータの受信)が終了す
ると状態S9に移動する。状態9はチェックコード期間で
あり、チェックコードを受信した後、状態S10となり、
ダミーコード期間となる。尚、同報時である時には状態
0すなわち状態カウンタ値を0とする。ダミーコードの
後はACK/NAK期間であり、この期間でACK/NAK信号を送出
する。そしてその後状態S0となる。
ると状態S9に移動する。状態9はチェックコード期間で
あり、チェックコードを受信した後、状態S10となり、
ダミーコード期間となる。尚、同報時である時には状態
0すなわち状態カウンタ値を0とする。ダミーコードの
後はACK/NAK期間であり、この期間でACK/NAK信号を送出
する。そしてその後状態S0となる。
一方、状態S2において送信要求ありの時には、前述した
ように状態S2′(状態カウンタの値は変化せず)とな
り、その後、状態S3′(優先コード期間)となる。
ように状態S2′(状態カウンタの値は変化せず)とな
り、その後、状態S3′(優先コード期間)となる。
複数の装置に同時に送信要求が発生し、同時にデータ等
を送出すると競合状態となる。ホームバスHBにおいて、
この競合状態となった時に各装置における優先度を設
け、競合した時にはその競合した装置内で最も優先度の
高い装置を優先するように構成している。優先度は優先
コードによって決定される。優先度はD0〜D7の合計8ビ
ットより成り“00000000"が最も高く、“11111111"が最
も低い。優先度が高いものと低いものとが同時に優先コ
ード期間内に優先コードを送出すると、バス上に同時に
各ビットが出力される。同時に各ビットが出力される
が、前述したようにホームバスにおいては、“0"でパル
スを出力、“1"でパルスを出力しないようにしているた
め、“0"を出力した装置が強制的にホームバスのビット
を“0"としてしまう。一方、優先レベルの低い装置は
“0"でなく“1"を送出しているので、バスライン上のデ
ータと異なることとなる。このデータの変化を検出する
のが競合負け検出回路21である。TXシフトレジスタ25の
シリアル出力SOと、ホームバスドライバ・レシーバ13の
受信信号▲▼が競合負け検出回路21に加わってい
る。競合負け検出回路21はこの2個の信号すなわち受信
信号▲▼とシリアル出力SOとを比較し、SOと受信
信号▲▼とが一致している時には優先度が高いか
或いは競合していない場合であり、競合負けとはならな
い。しかし他の装置の優先コードが高い場合には、その
優先コードの高い方のコードが受信信号▲▼とし
て加わるので、競合負け検出回路21では不一致を検出
し、優先コードの高いレベルが送出されていることを検
出して、送信制御部33に不一致信号を加える。これによ
って送信制御部33は現在送出している優先コードの送出
を停止する。また同時にステータスレジスタ(STR1)31
に競合負けを通知する。すなわちステータスレジスタ
(STR1)31のビット5の競合負けフラグCDをオン
(“1")とする。第18図は競合の説明図である。他の装
置(IFU)から高いレベルの優先コードが送出され、本
装置(IFU)から低いレベルの優先コードを出力する
と、コードのD0において、本装置は“0"を出力していな
いので、競合負けとなる。この競合負けによって、本装
置のINTRフラグが次のスタートビットでさらにオンとな
る。また、送信フラグは競合負け時点以後の次のスター
トビットでオフとなる。また、前述のCDフラグは次のス
タートビットでオンとなる。例えば割り込みを解除して
いる状態であるならば、マイクロプロセッサ11に割り込
み▲▼が加わる。
を送出すると競合状態となる。ホームバスHBにおいて、
この競合状態となった時に各装置における優先度を設
け、競合した時にはその競合した装置内で最も優先度の
高い装置を優先するように構成している。優先度は優先
コードによって決定される。優先度はD0〜D7の合計8ビ
ットより成り“00000000"が最も高く、“11111111"が最
も低い。優先度が高いものと低いものとが同時に優先コ
ード期間内に優先コードを送出すると、バス上に同時に
各ビットが出力される。同時に各ビットが出力される
が、前述したようにホームバスにおいては、“0"でパル
スを出力、“1"でパルスを出力しないようにしているた
め、“0"を出力した装置が強制的にホームバスのビット
を“0"としてしまう。一方、優先レベルの低い装置は
“0"でなく“1"を送出しているので、バスライン上のデ
ータと異なることとなる。このデータの変化を検出する
のが競合負け検出回路21である。TXシフトレジスタ25の
シリアル出力SOと、ホームバスドライバ・レシーバ13の
受信信号▲▼が競合負け検出回路21に加わってい
る。競合負け検出回路21はこの2個の信号すなわち受信
信号▲▼とシリアル出力SOとを比較し、SOと受信
信号▲▼とが一致している時には優先度が高いか
或いは競合していない場合であり、競合負けとはならな
い。しかし他の装置の優先コードが高い場合には、その
優先コードの高い方のコードが受信信号▲▼とし
て加わるので、競合負け検出回路21では不一致を検出
し、優先コードの高いレベルが送出されていることを検
出して、送信制御部33に不一致信号を加える。これによ
って送信制御部33は現在送出している優先コードの送出
を停止する。また同時にステータスレジスタ(STR1)31
に競合負けを通知する。すなわちステータスレジスタ
(STR1)31のビット5の競合負けフラグCDをオン
(“1")とする。第18図は競合の説明図である。他の装
置(IFU)から高いレベルの優先コードが送出され、本
装置(IFU)から低いレベルの優先コードを出力する
と、コードのD0において、本装置は“0"を出力していな
いので、競合負けとなる。この競合負けによって、本装
置のINTRフラグが次のスタートビットでさらにオンとな
る。また、送信フラグは競合負け時点以後の次のスター
トビットでオフとなる。また、前述のCDフラグは次のス
タートビットでオンとなる。例えば割り込みを解除して
いる状態であるならば、マイクロプロセッサ11に割り込
み▲▼が加わる。
レジスタCCR32のフラグ情報は割込制御部36に加わり、
またステータスレジスタ(STR1)31のフラグ情報も制御
部36に加わっている。割込制御部36はこの情報が割り込
み信号▲▼とマイクロプロセッサ11にバッファ回
路15を介して出力する。
またステータスレジスタ(STR1)31のフラグ情報も制御
部36に加わっている。割込制御部36はこの情報が割り込
み信号▲▼とマイクロプロセッサ11にバッファ回
路15を介して出力する。
第17図にもどって説明する。状態S3′において、競合負
けが発生した場合には次からの送信ができないので競合
負けとなって前述の受信状態における状態S3に移り、以
後は受信状態となる。
けが発生した場合には次からの送信ができないので競合
負けとなって前述の受信状態における状態S3に移り、以
後は受信状態となる。
第29図は競合負け検出回路21の論理回路図である。送信
中であり、状態カウンタ19の値が3か4である時H
(“1")の信号がアンド回路に加わる。また受信データ
▲▼と受信データSOがEOR回路に加わり、その出
力がAND回路に加わっている。送信中であって状態カウ
ンタ19が3か4でありかつ受信データと送信データが異
なった時にAND回路より競合負け信号がステータスレジ
スタ(STR1)31に加わり格納される。このような動作に
よって競合が検出される 一方、競合負けが発生しなかった場合には、状態S4′に
移り、自己アドレス期間となる。自己アドレス期間にお
ては、送信する自己のアドレス例えば第3図の回路が送
信する時には本装置の自己アドレスを送信する。自己ア
ドレス期間においても前述と同様競合負けが発生するこ
とがある。例えば同一レベルの優先コードの装置が複数
台1個のホームバスに存在した場合には、優先コード期
間においては競合しているがそれぞれの装置が競合負け
となることはない。このため、自己アドレス期間におい
て再度競合を検出しなくてはならない。1個のホームバ
ス上に2個の同一アドレスは存在しないので、この自己
アドレス検出において、完全に競合を検出することがで
きる。この競合の検出も前述した動作と同様であり、競
合負け検出回路21によってなされる。この状態S4′にお
いて競合負けが発生した時には、前述した受信状態の状
態S4となる。
中であり、状態カウンタ19の値が3か4である時H
(“1")の信号がアンド回路に加わる。また受信データ
▲▼と受信データSOがEOR回路に加わり、その出
力がAND回路に加わっている。送信中であって状態カウ
ンタ19が3か4でありかつ受信データと送信データが異
なった時にAND回路より競合負け信号がステータスレジ
スタ(STR1)31に加わり格納される。このような動作に
よって競合が検出される 一方、競合負けが発生しなかった場合には、状態S4′に
移り、自己アドレス期間となる。自己アドレス期間にお
ては、送信する自己のアドレス例えば第3図の回路が送
信する時には本装置の自己アドレスを送信する。自己ア
ドレス期間においても前述と同様競合負けが発生するこ
とがある。例えば同一レベルの優先コードの装置が複数
台1個のホームバスに存在した場合には、優先コード期
間においては競合しているがそれぞれの装置が競合負け
となることはない。このため、自己アドレス期間におい
て再度競合を検出しなくてはならない。1個のホームバ
ス上に2個の同一アドレスは存在しないので、この自己
アドレス検出において、完全に競合を検出することがで
きる。この競合の検出も前述した動作と同様であり、競
合負け検出回路21によってなされる。この状態S4′にお
いて競合負けが発生した時には、前述した受信状態の状
態S4となる。
一方、競合負けが検出されなかった時には、次には転送
すべき相手アドレスを送出す状態S5′すなわち相手アド
レス期間となる。そして、相手アドレスが送信終了する
と、順次制御コード期間(状態S6′)電文長コード期間
(状態S7′)でそれぞれ制御コードと電文長コードを送
る。その後にデータすなわち情報を送出する。このデー
タの送出はデータ期間(状態S8′)でなされる。データ
送出中(状態S8′)もデータ受信中(状態S8)と同様で
あり、他の装置から短電文割込みが発生することがあ
る。この短電文割込みが発生した時には、受信状態と同
様に被短電文割込検出回路22で検出し状態カウンタ19を
0とする。すなわち、この時には状態S0になる。データ
期間(状態S8′)でデータが終了した時には次にはチェ
ックコード期間(状態9′)となり、チェックコードを
送出する。そしてダミーコード期間(状態S10′)を経
て、ACK/NAK期間となり、受信装置からのACKやNAK信号
を受信し、状態S0となる。
すべき相手アドレスを送出す状態S5′すなわち相手アド
レス期間となる。そして、相手アドレスが送信終了する
と、順次制御コード期間(状態S6′)電文長コード期間
(状態S7′)でそれぞれ制御コードと電文長コードを送
る。その後にデータすなわち情報を送出する。このデー
タの送出はデータ期間(状態S8′)でなされる。データ
送出中(状態S8′)もデータ受信中(状態S8)と同様で
あり、他の装置から短電文割込みが発生することがあ
る。この短電文割込みが発生した時には、受信状態と同
様に被短電文割込検出回路22で検出し状態カウンタ19を
0とする。すなわち、この時には状態S0になる。データ
期間(状態S8′)でデータが終了した時には次にはチェ
ックコード期間(状態9′)となり、チェックコードを
送出する。そしてダミーコード期間(状態S10′)を経
て、ACK/NAK期間となり、受信装置からのACKやNAK信号
を受信し、状態S0となる。
前述した状態カウンタ19のカウント値の変化は全てエッ
ジ検出回路17からのデータエッジ信号によってなされ
る。
ジ検出回路17からのデータエッジ信号によってなされ
る。
尚、条件を満足しない場合には変化しないこともある。
例えばデータ期間(状態S8,S8′)においては、全デー
タが終了するか短電文割込みが発生するまで変化しな
い。また状態1の期間はタイマ38によって検出され、状
態カウンタ19にタイムオーバの信号が加わった時、状態
カウンタ19が変化する。タイマ38は送信制御部33に加わ
っており、送信制御部33はこのタイマ38からの入力する
タイムオーバの信号によって送信制御を開始する。
例えばデータ期間(状態S8,S8′)においては、全デー
タが終了するか短電文割込みが発生するまで変化しな
い。また状態1の期間はタイマ38によって検出され、状
態カウンタ19にタイムオーバの信号が加わった時、状態
カウンタ19が変化する。タイマ38は送信制御部33に加わ
っており、送信制御部33はこのタイマ38からの入力する
タイムオーバの信号によって送信制御を開始する。
パケット状態レジスタ39はRXシフトレジスタ23のパラレ
ル出力が加わっており、どのようなパケット状態で送受
信しているかを検出する回路であり、個別、同報、短電
文、同期回復等の状態があり、この状態が休止カウンタ
18を介して状態カウンタ19に加わり、状態カウンタ19は
この状態に対応して変化する。第12図〜第15図はそれぞ
れ個別時、同報時、同期回復期間時、ACK/NAKエラー時
の状態カウンタの動作説明図である。それぞれどの時に
も順次状態カウンタ19は0,1,2,3,4,5,6,7,8,9と変化す
る。そしてその3〜9の図でそれぞれバスデータは優先
コード、自己アドレス相手アドレス、制御コード電文長
コード、データ(情報)、チェックコードと順次変化し
ている。そして同期回復期間が個別時には10,11におい
てダミーコード期間とACK/NAK期間がある。尚、同期回
復期間は本実施例の装置が同期回復を行っている期間で
ある。この間では順次バスデータが変化し、例えばこの
バスデータは他の装置間のデータ転送である。尚、他の
装置間での転送がなく、何らデータを転送せず、バスデ
ータが変化しないこともある。一方、同報時には、チェ
ックコード期間の後は“0"となっている。これは、ACK/
NAK信号の送出が必要としないためであり、この時には
ダミーコード期間とACK/NAK期間が存在せず、9の次は
0となる。またACK/NAK信号時にエラーが発生した場
合、状態カウンタ19の10の状態から変化せず、10から直
接0に変化する。
ル出力が加わっており、どのようなパケット状態で送受
信しているかを検出する回路であり、個別、同報、短電
文、同期回復等の状態があり、この状態が休止カウンタ
18を介して状態カウンタ19に加わり、状態カウンタ19は
この状態に対応して変化する。第12図〜第15図はそれぞ
れ個別時、同報時、同期回復期間時、ACK/NAKエラー時
の状態カウンタの動作説明図である。それぞれどの時に
も順次状態カウンタ19は0,1,2,3,4,5,6,7,8,9と変化す
る。そしてその3〜9の図でそれぞれバスデータは優先
コード、自己アドレス相手アドレス、制御コード電文長
コード、データ(情報)、チェックコードと順次変化し
ている。そして同期回復期間が個別時には10,11におい
てダミーコード期間とACK/NAK期間がある。尚、同期回
復期間は本実施例の装置が同期回復を行っている期間で
ある。この間では順次バスデータが変化し、例えばこの
バスデータは他の装置間のデータ転送である。尚、他の
装置間での転送がなく、何らデータを転送せず、バスデ
ータが変化しないこともある。一方、同報時には、チェ
ックコード期間の後は“0"となっている。これは、ACK/
NAK信号の送出が必要としないためであり、この時には
ダミーコード期間とACK/NAK期間が存在せず、9の次は
0となる。またACK/NAK信号時にエラーが発生した場
合、状態カウンタ19の10の状態から変化せず、10から直
接0に変化する。
電文長カウンタ(MLC)50には、RXシフトレジスタ23の
パラレル出力が加わっており、受信状態で状態レジスタ
19が7(状態S7)の時にRXシフトレジスタ23のパラレル
出力を取込み、装置S8において1データすなわち情報を
受信するたびにディクリメントするカウンタである。例
えばマイクロプロセッサ11からこの電文長カウンタ(ML
C)50の内容を読み出すことによって、受信データがあ
といくつ受信すべきであるかがわかる。第28図はバスデ
ータと電文長カウンタ(MLC)50の動作説明図である。
電文長データでnを受信した時、電文長カウンタ(ML
C)50にnがロードされ、その後状態S9において順次デ
ータと受信するたびに−1(ディクリメント)され、こ
のコードを受信した時0となる。
パラレル出力が加わっており、受信状態で状態レジスタ
19が7(状態S7)の時にRXシフトレジスタ23のパラレル
出力を取込み、装置S8において1データすなわち情報を
受信するたびにディクリメントするカウンタである。例
えばマイクロプロセッサ11からこの電文長カウンタ(ML
C)50の内容を読み出すことによって、受信データがあ
といくつ受信すべきであるかがわかる。第28図はバスデ
ータと電文長カウンタ(MLC)50の動作説明図である。
電文長データでnを受信した時、電文長カウンタ(ML
C)50にnがロードされ、その後状態S9において順次デ
ータと受信するたびに−1(ディクリメント)され、こ
のコードを受信した時0となる。
送信動作においては、マイクロプロセッサ11が送信デー
タレジスタ(TXDR)にデータを書き込むことによってTX
RDYが下がり送信準備が完了する(第19図)。この
時、SMIフラグをセットしておけば長電文の場合には割
り込みによって順次送信することが出来る。そして、送
信が可能な状態になると自動的に送信を開始する(第19
図)。その後、TXRDYフラグ及び、INTRフラグが“1"
になり割り込みを発生してマイクロプロセッサ11に次の
送信データ(自己アドレス)を要求する(第19図)。
以後同様に送信データの書き込みを繰り返す。送信中の
データがチェックコードになると次の1キャラクタ分
(ダミーコード)送受信を停止して(第19図)ACK/NA
Kの送受信を行う。また、送信データのマイクロプロセ
ッサ11への受け渡しはデータ部の最後のキャラクタ送信
時に終わる(第19図)。また、この後にTXDRにデータ
を書き込むと次のパケットの先頭のキャラクタ(優先コ
ード)となる。
タレジスタ(TXDR)にデータを書き込むことによってTX
RDYが下がり送信準備が完了する(第19図)。この
時、SMIフラグをセットしておけば長電文の場合には割
り込みによって順次送信することが出来る。そして、送
信が可能な状態になると自動的に送信を開始する(第19
図)。その後、TXRDYフラグ及び、INTRフラグが“1"
になり割り込みを発生してマイクロプロセッサ11に次の
送信データ(自己アドレス)を要求する(第19図)。
以後同様に送信データの書き込みを繰り返す。送信中の
データがチェックコードになると次の1キャラクタ分
(ダミーコード)送受信を停止して(第19図)ACK/NA
Kの送受信を行う。また、送信データのマイクロプロセ
ッサ11への受け渡しはデータ部の最後のキャラクタ送信
時に終わる(第19図)。また、この後にTXDRにデータ
を書き込むと次のパケットの先頭のキャラクタ(優先コ
ード)となる。
尚、送信動作と同時に受信動作も行うので「優先コー
ド」送信以降は入力による割り込みも入ることがある
(第19図)。
ド」送信以降は入力による割り込みも入ることがある
(第19図)。
一方、同期通信における送信動作は第20図に示すよう
に、個別の送信とはACK/NAKの受信がなくなるだけで他
は第19図と同様である。受信動作はデータが入ってくる
事によって受信動作を開始する。そして、1キャラクタ
受信後RXRDYフラグ、INTRフラグが“1"となり割り込みI
RQを発生してマイクロプロセッサ11にデータの入力を促
す。受信データは1キャラクタ受信後にマイクロプロセ
ッサ11に渡すので、先頭のキャラクタ(優先コード)を
マイクロプロセッサが受け取るのはMDR=4の時になる
(第21図)。そして、最後のデータはMDR=0の時に
受け取ることになる(第21図)。また、ACK/NAKの送
信はAKRを用いるが、受信では特別にレジスタを用意し
てなく他のデータと同様にRXDRにより行う。また、同
報、長電文の判断は第22図に示すように「優先コード」
によって行う。同報通信における受信動作は、第23図に
示すように個別の受信とはACK/NAKの送信が無くなるだ
けで、他は第21図と同様である。
に、個別の送信とはACK/NAKの受信がなくなるだけで他
は第19図と同様である。受信動作はデータが入ってくる
事によって受信動作を開始する。そして、1キャラクタ
受信後RXRDYフラグ、INTRフラグが“1"となり割り込みI
RQを発生してマイクロプロセッサ11にデータの入力を促
す。受信データは1キャラクタ受信後にマイクロプロセ
ッサ11に渡すので、先頭のキャラクタ(優先コード)を
マイクロプロセッサが受け取るのはMDR=4の時になる
(第21図)。そして、最後のデータはMDR=0の時に
受け取ることになる(第21図)。また、ACK/NAKの送
信はAKRを用いるが、受信では特別にレジスタを用意し
てなく他のデータと同様にRXDRにより行う。また、同
報、長電文の判断は第22図に示すように「優先コード」
によって行う。同報通信における受信動作は、第23図に
示すように個別の受信とはACK/NAKの送信が無くなるだ
けで、他は第21図と同様である。
ACK/NAK送信動作はACK/NAKの出力は前述したように専用
のレジスタを設け、通常チェックコードの入力後にACK/
NAK送信レジスタ(AKR)にデータをセットする事により
行う(第21図)。また、データ送受信中であればいつ
セットしても送信する。(ただし、同報、短電文割り込
みの場合は事前にデータがセットしてあっても送信しな
い。
のレジスタを設け、通常チェックコードの入力後にACK/
NAK送信レジスタ(AKR)にデータをセットする事により
行う(第21図)。また、データ送受信中であればいつ
セットしても送信する。(ただし、同報、短電文割り込
みの場合は事前にデータがセットしてあっても送信しな
い。
同期回復期間の動作においてリセットフラグ(RES)を
“0"→“1"にした時(リセット解除時)及びデータ受信
エラー,ライトロストデータエラーが発生した時に同期
回復期間に入る。この時、送受信割り込みマスクフラグ
は“0"になり、マイムロプロセッサ11に対して割り込み
を発生させない。これらのフラグは同期回復期間が終わ
った時に“1"になり、割り込みを発生させるようにな
る。また、送信に関しては、同期回復期間の間は行われ
ない。
“0"→“1"にした時(リセット解除時)及びデータ受信
エラー,ライトロストデータエラーが発生した時に同期
回復期間に入る。この時、送受信割り込みマスクフラグ
は“0"になり、マイムロプロセッサ11に対して割り込み
を発生させない。これらのフラグは同期回復期間が終わ
った時に“1"になり、割り込みを発生させるようにな
る。また、送信に関しては、同期回復期間の間は行われ
ない。
また、同期回復期間では状態カウンタ(MDR)が“0"→
“2"と動作する(状態カウンタ(MDR)が“0"の時にデ
ータが入ってきた場合はデータを受信するがパケットと
は認めずデータ受信エラー(RDE)とする。状態カウン
タ(MDR)が“2"の時にデータが入ってきた場合にはデ
ータの受信をして同期回復の動作をする。)そして、
(1)同期回復期間は正常なパケット(パリティエラー
(PE)が発生していない。)を1パケット受信するか
(2)バス上にデータが無い期間が10ms+22ビット続く
ことにより終わる。しかし、(1)でパリティエラー
(PE)が発生していた場合のパケットは同期がとれてい
ないものとして処理し、同期回復期間は続き(1),
(2)の2つの条件の内どちらかが成り立つまでこの期
間がつづく。本発明の実施例においてはデータ受信エラ
ー(RDE),ライトロストデータエラー(WLD),リード
ロストデータエラー(RLD),フレーミングエラー(F
E),パリティエラー(PE),ACK/NAKエラー(AKE)の6
を検出している。フレーミングエラー(FE)、パリティ
エラー(PE)発生時はフラグを“1"にして割り込みによ
りマイクロプロセッサ11にエラーを知らせる。そして受
信動作はそのまま続ける。
“2"と動作する(状態カウンタ(MDR)が“0"の時にデ
ータが入ってきた場合はデータを受信するがパケットと
は認めずデータ受信エラー(RDE)とする。状態カウン
タ(MDR)が“2"の時にデータが入ってきた場合にはデ
ータの受信をして同期回復の動作をする。)そして、
(1)同期回復期間は正常なパケット(パリティエラー
(PE)が発生していない。)を1パケット受信するか
(2)バス上にデータが無い期間が10ms+22ビット続く
ことにより終わる。しかし、(1)でパリティエラー
(PE)が発生していた場合のパケットは同期がとれてい
ないものとして処理し、同期回復期間は続き(1),
(2)の2つの条件の内どちらかが成り立つまでこの期
間がつづく。本発明の実施例においてはデータ受信エラ
ー(RDE),ライトロストデータエラー(WLD),リード
ロストデータエラー(RLD),フレーミングエラー(F
E),パリティエラー(PE),ACK/NAKエラー(AKE)の6
を検出している。フレーミングエラー(FE)、パリティ
エラー(PE)発生時はフラグを“1"にして割り込みによ
りマイクロプロセッサ11にエラーを知らせる。そして受
信動作はそのまま続ける。
ライトロストデータエラー(WLD)、リードロストデー
タエラー(RLD)は次のデータの送受信の時にチェック
されフラグを“1"にして割り込みによりマイクロプロセ
ッサ11にエラーを知らせる。リードロストデータエラー
(RLD)の場合は受信動作はそのまま続けるがライトロ
ストデータエラー(WLD)の場合は送信動作を停止し前
述した同期回復期間に入る。
タエラー(RLD)は次のデータの送受信の時にチェック
されフラグを“1"にして割り込みによりマイクロプロセ
ッサ11にエラーを知らせる。リードロストデータエラー
(RLD)の場合は受信動作はそのまま続けるがライトロ
ストデータエラー(WLD)の場合は送信動作を停止し前
述した同期回復期間に入る。
データ受信エラー(RDE)発生時はフラグを“1"にして
割り込みをかけると同時に状態カウンタ(MDR)を“0"
にし、同期回復フラグ(DRE)を“1"にして同期回復期
間に入る。
割り込みをかけると同時に状態カウンタ(MDR)を“0"
にし、同期回復フラグ(DRE)を“1"にして同期回復期
間に入る。
ACK/NAKエラー発生時は、フラグを“1"にして割り込み
をかける。このエラーが発生すると、状態カウンタ(MD
R)は“10"→“10"→“0"と変化する。すなわちACK/NAK
が検出できなかった時はMDR=10の期間が22ビットとな
る。
をかける。このエラーが発生すると、状態カウンタ(MD
R)は“10"→“10"→“0"と変化する。すなわちACK/NAK
が検出できなかった時はMDR=10の期間が22ビットとな
る。
いずれのエラーフラグの場合においてもステータスレジ
スタ(STR2)29を読むか状態カウンタ(MDR)が“1"に
なった時か同期回復期間中で状態カウンタ(MDR)が
“2"になった時に“0"になる。
スタ(STR2)29を読むか状態カウンタ(MDR)が“1"に
なった時か同期回復期間中で状態カウンタ(MDR)が
“2"になった時に“0"になる。
一方、マイクロプロセッサ11への割り込みの要因として
送信データの入力、受信データの出力、短電文割り込
み、競合負け、エラーがある。
送信データの入力、受信データの出力、短電文割り込
み、競合負け、エラーがある。
割り込み要因の検出は、TXRDYフラグ、RXRDYフラグ、被
短電文割り込みフラグ、競合負けフラグ、エラーフラグ
または、ステータスレジスタ(STR2)29により判断でき
る。また、割り込みのリセットは、いずれの要因でも割
り込みフラグを読むことによってリセットできる。
短電文割り込みフラグ、競合負けフラグ、エラーフラグ
または、ステータスレジスタ(STR2)29により判断でき
る。また、割り込みのリセットは、いずれの要因でも割
り込みフラグを読むことによってリセットできる。
第3図に示した本発明の実施例において、エッジ検出回
路17とはデータのエッジすなわちスタートビットの検出
を行う回路である。この回路はスタートビット検出範囲
やその幅を規定して、ノイズを除去しており、間違った
電文に対しデータ受信エラーを示すためのものである。
第24図はスタートビット検出回路すなわちデータエッジ
検出回路17の回路図である。この回路を機能別に分ける
と、スタートビットの位置検出範囲とスタートビットの
幅検出範囲をそれぞれ判定し、スタートビットがその範
囲内であるかを求めている。受信信号▲▼が立ち
下がり検出回路40と立ち上がり検出回路41に加わってい
る。立ち下がり検出回路40ならびに立ち上がり検出回路
41の出力はパルス幅検出カウンタ43に加わっており、パ
ルス幅検出カウンタ43は受信信号が立ち下がってから立
ち上がるまでの間カウント動作を開始し、マスタクロッ
クの数をカウントする。そしてその間のカウント数を範
囲・パルス幅比較回路42に加える。第25図はスタートビ
ット幅検出範囲の説明図である。スタートビットは立ち
下がってから52μsec+39μsec、−11.2μsecの範囲と
規定し、範囲・パルス幅比較回路42はこの範囲に入った
ものをスタートビットとする。そして、スタートビット
有効すなわちデータエッジ検出信号として出力する。ス
タートビット有効信号はスタートビット検出範囲カウン
ト44にも加わっており、スタートビットが有効となって
から、カウント動作を開始し、特定範囲のカウント値の
時その範囲を指示する信号を、範囲・パルス幅比較回路
42に加える。立ち下がり検出回路40の検出出力は、範囲
・パルス幅比較回路42へ加わっており、範囲・パルス幅
比較回路42は、この立ち下がり検出回路40からの検出信
号がスタートビット検出範囲カウンタ44から出力される
スタートビット有効範囲内指示信号で指示される範囲で
あるかを検出する。指示するならば、立ち下がり検出回
路40から立ち下がり検出した時のパルスがHとして加わ
り、またスタートビット検出範囲カウンタ44から範囲内
を表す時間の時Hとなる信号が加わるならば、範囲・パ
ルス幅比較回路42はその2個の信号のアンド論理を求
め、その結果が“H"であり、さらにパルス幅が規定値内
である時にスタートビット有効信号を出力する。前述し
たスタートビット有効範囲内とは、スタートビットが立
ち下がる位置の範囲を規定しているものであり、第26図
に示すように、スタートビットの立ち下がりが入力すべ
き位置から±13μsec間を有効としている。また、スタ
ートビットの検出は全データではなく、第27図に示すよ
うに、X1〜X9の範囲である。
路17とはデータのエッジすなわちスタートビットの検出
を行う回路である。この回路はスタートビット検出範囲
やその幅を規定して、ノイズを除去しており、間違った
電文に対しデータ受信エラーを示すためのものである。
第24図はスタートビット検出回路すなわちデータエッジ
検出回路17の回路図である。この回路を機能別に分ける
と、スタートビットの位置検出範囲とスタートビットの
幅検出範囲をそれぞれ判定し、スタートビットがその範
囲内であるかを求めている。受信信号▲▼が立ち
下がり検出回路40と立ち上がり検出回路41に加わってい
る。立ち下がり検出回路40ならびに立ち上がり検出回路
41の出力はパルス幅検出カウンタ43に加わっており、パ
ルス幅検出カウンタ43は受信信号が立ち下がってから立
ち上がるまでの間カウント動作を開始し、マスタクロッ
クの数をカウントする。そしてその間のカウント数を範
囲・パルス幅比較回路42に加える。第25図はスタートビ
ット幅検出範囲の説明図である。スタートビットは立ち
下がってから52μsec+39μsec、−11.2μsecの範囲と
規定し、範囲・パルス幅比較回路42はこの範囲に入った
ものをスタートビットとする。そして、スタートビット
有効すなわちデータエッジ検出信号として出力する。ス
タートビット有効信号はスタートビット検出範囲カウン
ト44にも加わっており、スタートビットが有効となって
から、カウント動作を開始し、特定範囲のカウント値の
時その範囲を指示する信号を、範囲・パルス幅比較回路
42に加える。立ち下がり検出回路40の検出出力は、範囲
・パルス幅比較回路42へ加わっており、範囲・パルス幅
比較回路42は、この立ち下がり検出回路40からの検出信
号がスタートビット検出範囲カウンタ44から出力される
スタートビット有効範囲内指示信号で指示される範囲で
あるかを検出する。指示するならば、立ち下がり検出回
路40から立ち下がり検出した時のパルスがHとして加わ
り、またスタートビット検出範囲カウンタ44から範囲内
を表す時間の時Hとなる信号が加わるならば、範囲・パ
ルス幅比較回路42はその2個の信号のアンド論理を求
め、その結果が“H"であり、さらにパルス幅が規定値内
である時にスタートビット有効信号を出力する。前述し
たスタートビット有効範囲内とは、スタートビットが立
ち下がる位置の範囲を規定しているものであり、第26図
に示すように、スタートビットの立ち下がりが入力すべ
き位置から±13μsec間を有効としている。また、スタ
ートビットの検出は全データではなく、第27図に示すよ
うに、X1〜X9の範囲である。
以上のスタートビット検出回路によって、ノイズを防止
したり、間違った電文に対して、データの受信エラーフ
ラグをオンとし、データの有効性を高めている。
したり、間違った電文に対して、データの受信エラーフ
ラグをオンとし、データの有効性を高めている。
以上述べたように、本発明はアクノレッジデータを送出
する時期を求め、アクノレッジデータを選択して送出す
るので、マイクロプロセッサの処理が少なく、またDMA
等の処理中でもアクノレッジデータを送出することがで
きる。また、アクノレッジバッファであるので、アクノ
レッジデータを送出する時期と同一のものであるならば
ノットアクノレッジや他の情報でも同様自動的に送出で
き、同様な効果を得る。
する時期を求め、アクノレッジデータを選択して送出す
るので、マイクロプロセッサの処理が少なく、またDMA
等の処理中でもアクノレッジデータを送出することがで
きる。また、アクノレッジバッファであるので、アクノ
レッジデータを送出する時期と同一のものであるならば
ノットアクノレッジや他の情報でも同様自動的に送出で
き、同様な効果を得る。
第1図は本発明のブロック図、 第2図は本発明のシステム構成図、 第3図はバス制御回路、 第4図はデータ構成図、 第5図は▲▼、▲▼データ、 第6図は送信回路図、 第7図はレジスタ(TXDR/AKR)の構成図、 第8図はレジスタCCR(モード1)のビット構成図、 第9図はレジスタCCR(モード2)のビット構成図、 第10図はステータスレジスタSTR1のビット構成図、 第11図はステータスレジスタSTR2のビット構成図、 第12図は個別時の状態カウンタの動作説明図、 第13図は同報時の状態カウンタの動作説明図、 第14図は同期回復期間時の状態カウンタの動作説明図、 第15図はACK/NAKエラー時の状態カウンタの動作説明
図、 第16図は状態カウンタ値とその状態図表、 第17図は状態遷移図、 第18図は競合の説明図、 第19図はデータ送信動作チャート、 第20図はデータ送信動作(同報)、 第21図はデータ受信動作、 第22図は長電文、同報の条件図表、 第23図はデータ受信動作(同報)、 第24図はスタートビット検出回路図、 第25図はスタートビット幅検出範囲の説明図、 第26図はスタートビット位置検出範囲の説明図、 第27図はスタートビットの位置検出範囲の説明図、 第28図は電文長カウンタの動作説明図、 第29図は競合負けの論理回路図、 第30図は被短電文割込の論理回路図である。 1……送信バッファ、2……アクノレッジバッファ、3
……セレクタ。
図、 第16図は状態カウンタ値とその状態図表、 第17図は状態遷移図、 第18図は競合の説明図、 第19図はデータ送信動作チャート、 第20図はデータ送信動作(同報)、 第21図はデータ受信動作、 第22図は長電文、同報の条件図表、 第23図はデータ受信動作(同報)、 第24図はスタートビット検出回路図、 第25図はスタートビット幅検出範囲の説明図、 第26図はスタートビット位置検出範囲の説明図、 第27図はスタートビットの位置検出範囲の説明図、 第28図は電文長カウンタの動作説明図、 第29図は競合負けの論理回路図、 第30図は被短電文割込の論理回路図である。 1……送信バッファ、2……アクノレッジバッファ、3
……セレクタ。
Claims (1)
- 【請求項1】バスを介してデータを送受信し、データを
受信した時には送信装置に対しアクノレッジ信号を送信
するシステムにおいて、 送信するデータを少なくとも1個記憶する送信バッファ
(1)と、 アクノレッジ信号を記憶するアクノレッジバッファ
(2)と、 前記アクノレッジ信号を送出する時期を検出した信号が
加わった時、前記送信バッファ(1)の出力の選択をア
クノレッジバッファ(2)の出力に切換えるセレクタ
(3)とより成ることを特徴とするバス制御回路。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62280614A JPH0744582B2 (ja) | 1987-11-06 | 1987-11-06 | バス制御回路 |
| US07/267,491 US5001705A (en) | 1987-11-06 | 1988-11-03 | Protocol control circuit for data bus system |
| EP19880402786 EP0315549A3 (en) | 1987-11-06 | 1988-11-04 | Protocol control circuit for data bus system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62280614A JPH0744582B2 (ja) | 1987-11-06 | 1987-11-06 | バス制御回路 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH01122238A JPH01122238A (ja) | 1989-05-15 |
| JPH0744582B2 true JPH0744582B2 (ja) | 1995-05-15 |
Family
ID=17627494
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP62280614A Expired - Lifetime JPH0744582B2 (ja) | 1987-11-06 | 1987-11-06 | バス制御回路 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0744582B2 (ja) |
-
1987
- 1987-11-06 JP JP62280614A patent/JPH0744582B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPH01122238A (ja) | 1989-05-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5797085A (en) | Wireless communication system for reliable communication between a group of apparatuses | |
| US4984190A (en) | Serial data transfer system | |
| JP2503086B2 (ja) | デ―タ・リンク制御方法 | |
| US4597082A (en) | Transceiver for multi-drop local area networks | |
| US4750176A (en) | Single-channel communication bus system and station for use in such system | |
| US5159684A (en) | Data communication interface integrated circuit with data-echoing and non-echoing communication modes | |
| CN104811273A (zh) | 一种高速单总线通信的实现方法 | |
| JPH01152556A (ja) | 周辺装置の交換性を可能にすするシステム | |
| JPS63296540A (ja) | 単一集積回路マイクロ制御器におけるマルチプロトコル通信制御器 | |
| US6591322B1 (en) | Method and apparatus for connecting single master devices to a multimaster wired-and bus environment | |
| WO1992010894A1 (en) | Serial link data communication protocol | |
| US5021777A (en) | Mode-selectable communications system | |
| JPH1066165A (ja) | 遠隔制御方式 | |
| US5378067A (en) | Network interface apparatus and method for reducing conflicts through the use of times | |
| JP2668898B2 (ja) | バス制御回路 | |
| JPH0216627B2 (ja) | ||
| US5001705A (en) | Protocol control circuit for data bus system | |
| JPH0744582B2 (ja) | バス制御回路 | |
| US5528760A (en) | Data transmission/receive system and control method using dummy data to signify transmission/reception state and to detect transmission error | |
| JPH05216793A (ja) | 通信制御装置及びその方法 | |
| US5617309A (en) | Configuration for data transfer with a parallel bus system | |
| JPH02124656A (ja) | データバスシステムにおける同期回復方法 | |
| JPH01252049A (ja) | 非同期データ伝送方式 | |
| JPH0685876A (ja) | 通信制御装置 | |
| RD et al. | Using the Asynchronous Serial Interface |