(57)【要約】【課題】双方向シリアルバススイッチを用いて通信を制御する際、複数のデバイスが同時に信号を送信した場合に、いずれかのデバイスが送信した信号を送信できるようにしたい。【解決手段】双方向シリアルバススイッチは、第１デバイスと第２デバイスとの間の双方向信号のステータスを監視するステータス監視部５０１と、ステータス監視部５０１の監視結果に従って第１デバイスと第２デバイスとの双方向信号を制御する制御部５０２とを備え、ステータス監視部５０１は、第１デバイスが第２デバイスへ送信する双方向信号と、第２デバイスが第１デバイスへ送信する双方向信号とが同時に発生する通信競合が起きた場合に、第１デバイスと第２デバイスとのいずれか一方の送信する双方向信号を選択し、選択した双方向信号を他方へ送信するよう指示する指示信号を制御部５０２に送信する。【選択図】図１
2020170336.tif 000002
【特許請求の範囲】
【請求項１】
２のデバイスを双方向シリアル通信可能に接続する双方向シリアルバススイッチであって、
第１デバイスと第２デバイスとの間の双方向信号のステータスを監視するステータス監視部と、
前記ステータス監視部の監視結果に従って前記第１デバイスと前記第２デバイスとの前記双方向信号を制御する制御部と
を備え、
前記ステータス監視部は、前記第１デバイスが前記第２デバイスへ送信する前記双方向信号と、前記第２デバイスが前記第１デバイスへ送信する前記双方向信号とが同時に発生する通信競合が起きた場合に、前記第１デバイスと前記第２デバイスとのいずれか一方の送信する前記双方向信号を選択し、選択した前記双方向信号を他方へ送信するよう指示する指示信号を前記制御部に送信する双方向シリアルバススイッチ。
【請求項２】
前記ステータス監視部は、
論理値に対応する値を保持するバッファを有し、
前記通信競合が起きた場合に、前記バッファの前記論理値に従って、前記第１デバイスと前記第２デバイスとのいずれか一方の送信する前記双方向信号を選択する請求項１に記載の双方向シリアルバススイッチ。
【請求項３】
前記制御部は、前記通信競合が起きた場合に、前記ステータス監視部が選択した前記双方向信号を送信する前記デバイスが、前記ステータス監視部が選択していない前記双方向信号を送信する前記デバイスから前記双方向信号を受信できないことを示す否定応答を出力する請求項１又は２に記載の双方向シリアルバススイッチ。
【請求項４】
前記制御部は、ステートマシンに従って制御する請求項３に記載の双方向シリアルバススイッチ。
【請求項５】
前記制御部は、前記第１デバイス及び前記第２デバイスが前記双方向信号を送信していないアイドル状態から、前記制御部が前記第１デバイスと前記第２デバイスとのいずれか一方の前記否定応答を出力している否定応答出力状態への遷移と、前記否定応答出力状態から、前記否定応答に対応する、前記双方向信号を送信する前記デバイスの前記双方向信号を出力する信号出力状態への遷移とを含むステートマシンに従って制御する請求項４に記載の双方向シリアルバススイッチ。
【請求項６】
前記制御部は、
前記第１デバイスの前記双方向信号の送信を制御するイネーブル信号である第１イネーブル信号と、前記第２デバイスの前記双方向信号の送信を制御する前記イネーブル信号である第２イネーブル信号とを生成し、
前記イネーブル信号は、前記双方向信号の送信が不可能であることを示す値と、前記双方向信号の送信が可能であることを示す値と、前記否定応答であることを示す値とをとり、
前記第１デバイスと、前記第２デバイスとが前記双方向信号を出力していない場合に、前記第１イネーブル信号と、前記第２イネーブル信号とを、前記双方向信号の送信が可能であることを示す値とし、
前記通信競合が起きた場合に、前記ステータス監視部が選択していない前記双方向信号を送信する前記第１デバイスの前記第１イネーブル信号を前記否定応答であることを示す値とすることによって、前記第１デバイスに前記否定応答の出力をさせ、
前記制御部は、前記否定応答の出力が完了した場合に、
前記第１イネーブル信号を前記双方向信号の送信が不可能であることを示す値とし、
前記第２デバイスが送信した前記双方向信号を、前記第１デバイスに送信させる請求項３から５のいずれか１項に記載の双方向シリアルバススイッチ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、双方向シリアルバススイッチに関する。
【背景技術】
【０００２】
双方向シリアル信号を単方向信号に変換し、所定のタイミングで方向を切り替えることができる双方向シリアルバスの通信制御方法及び双方向シリアルバススイッチが提供されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−１７４７６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載されたバススイッチは、両端の電圧が同時にドライブレベルになると、両端側のマスク信号の論理が切り替わり、双方向シリアル信号の制御ができなくなる。そのため、複数のデバイスが同時に通信をした場合に、いずれのデバイスも通信をすることができないという課題があった。
【０００５】
本発明では、両端の電圧が同時にドライブレベルになっても、双方向シリアル信号を制御することができる双方向シリアルバススイッチを提供することを目的とする。
【課題を解決するための手段】
【０００６】
この発明の双方向シリアルバススイッチは、
２のデバイスを双方向シリアル通信可能に接続する双方向シリアルバススイッチであって、
第１デバイスと第２デバイスとの間の双方向信号のステータスを監視するステータス監視部と、
前記ステータス監視部の監視結果に従って前記第１デバイスと前記第２デバイスとの前記双方向信号を制御する制御部と
を備え、
前記ステータス監視部は、前記第１デバイスが前記第２デバイスへ送信する前記双方向信号と、前記第２デバイスが前記第１デバイスへ送信する前記双方向信号とが同時に発生する通信競合が起きた場合に、前記第１デバイスと前記第２デバイスとのいずれか一方の送信する前記双方向信号を選択し、選択した前記双方向信号を他方へ送信するよう指示する指示信号を前記制御部に送信する。
【発明の効果】
【０００７】
本発明の双方向シリアルバススイッチによれば、複数のデバイスが同時に通信をしても、双方向シリアル信号を制御することができる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１に係る双方向シリアルバススイッチ１の構成図。
【図２】実施の形態１に係る双方向シリアルバススイッチ１の基本的な動作を示すタイムチャート。
【図３】実施の形態１に係る双方向シリアルバススイッチ１の通信競合発生時の動作を示すタイムチャート。
【図４】実施の形態１に係るステータス信号２１０の値を示すステートマシン図。
【発明を実施するための形態】
【０００９】
実施の形態１．
以下、本実施の形態について、図面を参照しながら詳細に説明する。なお、各図中、同一符号は同一又は相当部分を示す。
【００１０】
＊＊＊構成の説明＊＊＊
図１は、実施の形態１に係る双方向シリアルバススイッチ１の構成の、等価回路を示した図である。実施の形態１に係る双方向シリアルバススイッチ１は、２のデバイス（デバイスＡ２及びデバイスＢ３）を双方向シリアル通信可能に接続する双方向シリアルバススイッチである。デバイスＡ２を第１デバイス又は第２デバイスと呼んでも良く、デバイスＢ３を第１デバイス又は第２デバイスと呼んでも良い。デバイスＡ２を第１デバイスと呼ぶ場合、デバイスＢ３を第２デバイスと呼ぶ。デバイスＡ２を第２デバイスと呼ぶ場合、デバイスＢ３を第１デバイスと呼ぶ。
本図に示されるように、双方向シリアルバススイッチ１は、バッファ１１を有するステータス監視回路１０と、バスドライバ回路２０と、ステータス監視回路１０に接続する入力バッファ１０２と入力バッファ１０３と、バスドライバ回路２０に接続する出力バッファ回路１１２と出力バッファ回路１１３とを備える。
【００１１】
ステータス監視部５０１は、ステータス監視回路１０から構成される。
【００１２】
制御部５０２は、バスドライバ回路２０と、出力バッファ回路１１２と、出力バッファ回路１１３とから構成される。制御部５０２は、ステータス監視部５０１の監視結果に従って、デバイスＡ２と、デバイスＢ３との双方向信号を制御する。
【００１３】
プルアップ抵抗３０２は、Ａ側双方向信号１２の電圧を制御する。
プルアップ抵抗３０３は、プルアップ抵抗３０２と同様である。
【００１４】
電源４０２は、Ａ側双方向信号１２に電圧Ａを供給する。
電源４０３は、電源４０２と同様である。
【００１５】
Ａ側双方向信号１２は、双方向シリアルバススイッチ１と、デバイスＡ２との間の信号である。
なお、１方向への信号であっても双方向信号と呼ぶことにする。デバイスＡ２は、デバイスＢ３へ双方向信号を送信する。デバイスＢ３は、デバイスＡ２へ双方向信号を送信する。双方向シリアルバススイッチ１と、デバイスＡ２とが信号を送信していない場合に、双方向シリアルバススイッチ１と、デバイスＡ２とを結ぶ電線に生じる電磁気学的現象も、Ａ側双方向信号１２に含める。
【００１６】
Ａ側双方向信号１２は、入力バッファ１０２、出力バッファ回路１１２、プルアップ抵抗３０２とを経由し、電源４０２に到達することができる。
【００１７】
Ａ側双方向信号１２の値は、
論理Ｈと、論理Ｌと、ＮＡＣＫ（否定応答）に対応する値とのいずれかであり、
双方向シリアルバススイッチ１と、デバイスＡ２とが信号を送信していない場合、プルアップ抵抗３０２によって、論理Ｈとなる。
ＮＡＣＫに対応する値は、双方向信号を受信できないことを示す値である。
Ａ側双方向信号１２の値は、電圧によって表現される。
論理Ｈに対応する電圧は、相対的に高い電圧である。論理Ｌに対応する電圧は、相対的に低い電圧である。ＮＡＣＫに対応する値に対応する電圧は、具体例としては、中間電圧（論理Ｌに対応する電圧と、論理Ｈに対応する電圧との中間程度の電圧）である。ＮＡＣＫに対応する値に対応する電圧として、別の電圧を用意しても良い。
Ａ側双方向信号１２は、
Ａ側双方向信号１２の値が論理Ｈである場合、アイドルレベルであり、
Ａ側双方向信号１２の値が論理Ｌである場合、ドライブレベルである。
Ｂ側双方向信号１３は、Ａ側双方向信号１２と同様である。
【００１８】
入力バッファ１０２は、
Ａ側双方向信号１２を入力とし、
ステータス監視回路１０へＡ側論理信号２０２を出力する。
入力バッファ１０３は、入力バッファ１０２と同様である。
【００１９】
Ａ側論理信号２０２は、
入力バッファ１０２からステータス監視回路１０への信号であり、
論理Ｈと、論理Ｌと、ＮＡＣＫに対応する値とのいずれかの値をとる。
Ａ側論理信号２０２がとる値は、電圧によって表現される。
Ｂ側論理信号２０３は、Ａ側論理信号２０２と同様である。
【００２０】
ステータス監視回路１０は、
Ａ側論理信号２０２の値と、Ｂ側論理信号２０３の値とを監視し、即ち、デバイスＡ２と、デバイスＢ３との間の双方向信号のステータスを監視し、
Ａ側論理信号２０２の値と、Ｂ側論理信号２０３の値とに基づいてステータス信号２１０を生成し、
生成したステータス信号２１０をバスドライバ回路２０へ出力する。
【００２１】
ステータス監視回路１０は、ステータス信号２１０の値を、
デバイスＡ２と、デバイスＢ３とが、双方向信号を送信していないアイドル状態に対応する「ＩＤＬＥ」と、
デバイスＡ２が、双方向信号を出力している状態に対応する「Ａ＿ＯＵＴ」と、
デバイスＢ３が、双方向信号を出力している状態に対応する「Ｂ＿ＯＵＴ」と、
デバイスＡ２が、デバイスＢ３が送信した信号の受信に成功せず、双方向シリアルバススイッチ１がデバイスＡ２の否定応答を出力している否定応答出力状態に対応する「Ａ＿ＮＡＣＫ」と、
デバイスＢ３が、デバイスＡ２が送信した信号の受信に成功せず、双方向シリアルバススイッチ１がデバイスＢ３の否定応答を出力している否定応答出力状態に対応する「Ｂ＿ＮＡＣＫ」と、
デバイスＡ２が、一定期間論理Ｌを出力する信号出力状態に対応する「Ａ＿ＯＵＴ２」と、
デバイスＢ３が、一定期間論理Ｌを出力する信号出力状態に対応する「Ｂ＿ＯＵＴ２」とのいずれかとする。
【００２２】
バッファ１１は、論理Ｈと、論理Ｌとのいずれかの値を保持する。論理Ｈと、論理Ｌとは、論理値に対応する値である。バッファ１１が保持する値は、電圧によって表現される。
【００２３】
ステータス監視回路１０は、通信が競合する通信競合が起きた場合、バッファ１１の値（論理値）に従って、ステータス信号２１０の値を、「Ａ＿ＮＡＣＫ」と、「Ｂ＿ＮＡＣＫ」とのいずれにするか決定する。ここで、通信競合が起きた場合とは、デバイスＡ２がデバイスＢ３へ送信する双方向信号と、デバイスＢ３がデバイスＡ２へ送信する双方向信号とが同時に発生した場合である、即ち、Ａ側双方向信号１２と、Ｂ側双方向信号１３とが同時にドライブレベルになった場合である。
【００２４】
ステータス信号２１０の値を「Ａ＿ＮＡＣＫ」と、「Ｂ＿ＮＡＣＫ」とのいずれにするか決定することは、
デバイスＡ２とデバイスＢ３とのいずれか一方の送信する双方向信号を選択することに対応する。
ステータス監視回路１０が、ステータス信号２１０の値を「Ａ＿ＮＡＣＫ」又は「Ｂ＿ＮＡＣＫ」として、ステータス信号２１０をバスドライバ回路２０に送信することは、選択した双方向信号を他方のデバイスへ送信するよう指示する指示信号を制御部５０２に送信することに対応する。
即ち、ステータス監視部５０１は、通信競合が起きた場合に、バッファ１１の前記論理値に従って、第１デバイスと第２デバイスとのいずれか一方の送信する双方向信号を選択し、選択した前記双方向信号を他方へ送信するよう指示する指示信号を制御部５０２に送信する。
【００２５】
バスドライバ回路２０は、
ステータス信号２１０を入力とし、
イネーブル信号２１２を生成し、
生成したイネーブル信号２１２を出力バッファ回路１１２へ出力し、
イネーブル信号２１３を生成し、
生成したイネーブル信号２１３を出力バッファ回路１１３へ出力し、
ステータス信号２１０の値に応じて、イネーブル信号２１２と、イネーブル信号２１３との値を制御する。
【００２６】
イネーブル信号２１２は、
デバイスＡ２からデバイスＢ３への双方向信号の送信を制御する信号であり、
論理Ｈと、論理Ｌと、ＮＡＣＫに対応する値とのいずれかの値をとる。
イネーブル信号２１２がとる値において、
論理Ｈは、双方向信号の送信が不可能であることを示す値であり、
論理Ｌは、双方向信号の送信が可能であることを示す値であり、
ＮＡＣＫに対応する値は、デバイスＢ３からデバイスＡ２への双方向信号の送信が成功していないことを示す値である。
イネーブル信号２１２がとる値は、電圧によって表現される。
イネーブル信号２１３は、イネーブル信号２１２と同様である。
第１デバイスの双方向信号の送信を制御するイネーブル信号を第１イネーブル信号と呼んでも良く、第２デバイスの双方向信号の送信を制御するイネーブル信号を第２イネーブル信号と呼んでも良い。
【００２７】
出力バッファ回路１１２は、イネーブル信号２１２の値に応じて、Ａ側双方向信号１２に値を出力する、即ち、Ａ側双方向信号１２の電圧を制御する。
出力バッファ回路１１３は、出力バッファ回路１１２と同様である。
【００２８】
＊＊＊動作の説明＊＊＊
本実施の形態に係る双方向シリアルバススイッチ１の動作について、図を参照しながら説明する。
【００２９】
＊＊＊基本動作の説明＊＊＊
図２は、本実施の形態に係る双方向シリアルバススイッチ１の、通信競合が起きていない場合における動作を示すタイムチャートである。図４は、本実施の形態に係るステータス監視回路１０が生成するステータス信号２１０を示すステートマシン図である。以下、通信競合が起きていない場合における動作を基本動作と呼び、基本動作について、図２及び図４に基づいて説明する。
【００３０】
図２は、ステータス信号２１０の値が「ＩＤＬＥ」と、「Ａ＿ＯＵＴ」と、「Ｂ＿ＯＵＴ」とである場合における、Ａ側双方向信号１２の値と、イネーブル信号２１２の値と、ステータス信号２１０の値と、イネーブル信号２１３の値と、Ｂ側双方向信号１３の値とを示すタイムチャートである。
【００３１】
図４は、ステータス監視回路１０に実装されたステートマシンを示す。前記ステートマシンの各ステータスは、ステータス信号２１０の各値に対応する。前記ステートマシンは、Ａ側双方向信号１２の値と、Ｂ側双方向信号１３の値と、バッファ１１の値とに基づいて遷移する。
図４において、信号を信号の符号のみによって表しており、各信号の値を等号により表している。具体例としては、「１２  ＝  論理Ｌ」は、Ａ側双方向信号１２の値が論理Ｌであることを表す。また、状態遷移を、Ｓｎ（ｎは自然数）により表しており、状態遷移の条件を、Ｓｎの下に表記している。
【００３２】
＜時刻Ｔ０の説明＞
時刻Ｔ０において、双方向シリアルバススイッチ１と、デバイスＡ２と、デバイスＢ３とは、信号を送信していない。
時刻Ｔ０において、
ステータス信号２１０の値は、「ＩＤＬＥ」であり、
イネーブル信号２１２と、イネーブル信号２１３との値は、論理Ｌであり、
Ａ側双方向信号１２と、Ｂ側双方向信号１３との値は、論理Ｈである。
なお、時刻Ｔ０から時刻Ｔ１までは、図４のＳ１に対応する。
【００３３】
＜時刻Ｔ１の説明＞
時刻Ｔ１において、
デバイスＡ２が、双方向シリアルバススイッチ１への双方向信号の送信を開始し、
Ａ側双方向信号１２の値が、論理Ｈから論理Ｌに変化する。
時刻Ｔ１において、
ステータス監視回路１０は、ステータス信号２１０の値を「Ａ＿ＯＵＴ」とし、
バスドライバ回路２０は、ステータス信号２１０の値が「Ａ＿ＯＵＴ」になると同時に、イネーブル信号２１３の値を論理Ｈとし、
出力バッファ回路１１３は、イネーブル信号２１３の値が論理Ｈになると同時に、論理Ｌを出力し、
これにより、Ｂ側双方向信号１３の値は、論理Ｌになる。
なお、時刻Ｔ１における変化は、図４のＳ２に対応する。
【００３４】
Ａ側双方向信号１２の値が論理Ｌである状態が続くと、図４のＳ３の遷移をする。また、Ｂ側双方向信号１３の値は、論理Ｌを維持する。
【００３５】
＜時刻Ｔ２の説明＞
時刻Ｔ２において、
デバイスＡ２が、双方向シリアルバススイッチ１への双方向信号の送信を完了し、
Ａ側双方向信号１２の値が、論理Ｌから論理Ｈに変化する。
時刻Ｔ２において、
ステータス監視回路１０は、ステータス信号２１０の値を「ＩＤＬＥ」とし、
バスドライバ回路２０は、ステータス信号２１０の値が「ＩＤＬＥ」になると同時に、イネーブル信号２１３の値を論理Ｌとし、
出力バッファ回路１１３は、イネーブル信号２１３の値を論理Ｌになると同時に、論理Ｈを出力し、
これにより、Ｂ側双方向信号１３の値は、論理Ｈになる。
なお、時刻Ｔ２における変化は、図４のＳ４に対応する。
【００３６】
＜時刻Ｔ３の説明＞
時刻Ｔ３において、
デバイスＢ３が、双方向シリアルバススイッチ１への双方向信号の送信を開始し、
Ｂ側双方向信号１３の電圧が、論理Ｈから論理Ｌに変化する。
時刻Ｔ３において、
ステータス監視回路１０は、ステータス信号２１０の値を「Ｂ＿ＯＵＴ」とし、
バスドライバ回路２０は、ステータス信号２１０の値が「Ｂ＿ＯＵＴ」になると同時に、イネーブル信号２１２の値を論理Ｈにし、
出力バッファ回路１１２は、イネーブル信号２１２の値が論理Ｈになると同時に、論理Ｌを出力し、
これにより、Ａ側双方向信号１２の値は、論理Ｌになる。
なお、時刻Ｔ３における変化は、図４のＳ５に対応する。
【００３７】
Ｂ側双方向信号１３の値が論理Ｌである状態が続くと、図４のＳ６の遷移をする。また、Ａ側双方向信号１２の値は、論理Ｌを維持する。
【００３８】
＜時刻Ｔ４の説明＞
時刻Ｔ４において、
デバイスＢ３が、双方向シリアルバススイッチ１への双方向信号の送信を完了し、
Ｂ側双方向信号１３の電圧が、論理Ｌから論理Ｈに変化する。
時刻Ｔ４において、
ステータス監視回路１０は、ステータス信号２１０の値を「ＩＤＬＥ」とし、
バスドライバ回路２０は、ステータス信号２１０の値が「ＩＤＬＥ」になると同時に、イネーブル信号２１２の値を論理Ｌにし、
出力バッファ回路１１２は、イネーブル信号２１２の値が論理Ｌになると同時に、論理Ｈを出力し、
これにより、Ａ側双方向信号１２の値は、論理Ｈになる。
なお、時刻Ｔ４における変化は、図４のＳ７に対応する。
【００３９】
＊＊＊通信競合が起きた場合の動作の説明＊＊＊
次に、通信競合が起きた場合の動作について説明する。
【００４０】
図３は、ステータス信号２１０の値が「ＩＤＬＥ」と、「Ａ＿ＯＵＴ２」と、「Ｂ＿ＯＵＴ２」と、「Ａ＿ＮＡＣＫ」と、「Ｂ＿ＮＡＣＫ」とである場合における、Ａ側双方向信号１２の値と、イネーブル信号２１２の値と、ステータス信号２１０の値と、バッファ１１の値と、イネーブル信号２１３の値と、Ｂ側双方向信号１３の値とを示すタイムチャートである。なお、バッファ１１の初期値を論理Ｈとする。
【００４１】
＜時刻Ｔ０’の説明＞
時刻Ｔ０’における状態は、時刻Ｔ０における状態と同様であるため、説明を省略する。
【００４２】
＜時刻Ｔ５の説明＞
時刻Ｔ５において、
デバイスＡ２が、双方向シリアルバススイッチ１への双方向信号の送信を開始し、
デバイスＢ３が、双方向シリアルバススイッチ１への双方向信号の送信を開始し、
Ａ側双方向信号１２の値と、Ｂ側双方向信号１３の値とが、論理Ｈから論理Ｌに変化する。
時刻Ｔ５において、
ステータス監視回路１０は、バッファ１１の値が論理Ｈであるため、ステータス信号２１０の値を「Ａ＿ＮＡＣＫ」とし、
バスドライバ回路２０は、ステータス信号２１０の値が「Ａ＿ＮＡＣＫ」になると同時に、イネーブル信号２１３の値をＮＡＣＫに対応する値とし、
出力バッファ回路１１３は、イネーブル信号２１３の値がＮＡＣＫに対応する値になると同時に、ＮＡＣＫに対応する値を出力する。しかし、デバイスＢ３が論理Ｌを出力しているため、Ｂ側双方向信号１３の値は、論理Ｌのままである。
なお、時刻Ｔ５における変化は、図４のＳ８に対応する。図３中の破線は、ＮＡＣＫに対応する値を、中間電圧によって表現していることを表す。
【００４３】
＜時刻Ｔ６の説明＞
時刻Ｔ６において、
デバイスＡ２と、デバイスＢ３とが、双方向シリアルバススイッチ１への双方向信号の送信をやめる。
時刻Ｔ６において、
Ａ側双方向信号１２の値は、論理Ｈになり、
出力バッファ回路１１３は、ＮＡＣＫに対応する値を出力し続けており、
これにより、Ｂ側双方向信号１３の値は、ＮＡＣＫに対応する値になる。
即ち、制御部５０２は、ステータス監視部５０１が選択していない双方向信号を送信する第１デバイス（デバイスＢ３）の第１イネーブル信号（イネーブル信号２１３）を否定応答（ＮＡＣＫ）であることを示す値とすることによって、第１デバイス（デバイスＢ３）に否定応答の出力をさせる。
なお、時刻Ｔ６における変化は、図４のＳ９に対応する。
【００４４】
＜時刻Ｔ７の説明＞
時刻Ｔ７において、デバイスＢ３へのＮＡＣＫの出力が完了する。ＮＡＣＫの出力が完了する条件等は、任意であって良い。
時刻Ｔ７において、
ステータス監視回路１０は、ステータス信号２１０の値を「Ａ＿ＯＵＴ２」にし、バッファ１１の値を論理Ｌにし、
バスドライバ回路２０は、ステータス信号２１０の値が「Ａ＿ＯＵＴ２」になると同時に、イネーブル信号２１３の値を論理Ｈにし、
出力バッファ回路１１３は、イネーブル信号２１３の値が論理Ｈになると同時に、論理Ｌを出力し、
これにより、Ｂ側双方向信号１３の電圧が論理Ｌになる。
即ち、制御部５０２は、第１デバイス（デバイスＢ３）への否定応答（ＮＡＣＫ）の出力が完了した場合に、
第１イネーブル信号（イネーブル信号２１３）を双方向信号の送信が不可能であることを示す値とし、
第２デバイス（デバイスＡ２）が送信した双方向信号を第１デバイス（デバイスＢ３）に送信させる。
なお、ステータス監視回路１０は、バッファ１１の値を論理Ｌに変更しなくても良い。
時刻Ｔ７における変化は、図４のＳ１０に対応する。時刻Ｔ７から時刻Ｔ８は、図４のＳ１１に対応する。
【００４５】
＜時刻Ｔ８の説明＞
時刻Ｔ８において、デバイスＢ３への双方向信号の出力が完了する。
時刻Ｔ８において、
ステータス監視回路１０は、ステータス信号２１０の値を「ＩＤＬＥ」とし、
バスドライバ回路２０は、ステータス信号２１０の値が「ＩＤＬＥ」になると同時に、イネーブル信号２１３の値を論理Ｌとし、
出力バッファ回路１１３は、イネーブル信号２１３の値が論理Ｌになると同時に、論理Ｈを出力し、
これにより、Ｂ側双方向信号１３の値は、論理Ｈになる。
なお、時刻Ｔ８における変化は、図４のＳ１２に対応する。
【００４６】
＜時刻Ｔ９の説明＞
時刻Ｔ９において、
デバイスＡ２が、双方向シリアルバススイッチ１への双方向信号の送信を開始し、
デバイスＢ３が、双方向シリアルバススイッチ１への双方向信号の送信を開始し、
Ａ側双方向信号１２の値と、Ｂ側双方向信号１３の値とが、論理Ｈから論理Ｌに変化する。
時刻Ｔ９において、
ステータス監視回路１０は、バッファ１１の値が論理Ｌであるため、ステータス信号２１０の値を「Ｂ＿ＮＡＣＫ」とし、
バスドライバ回路２０は、ステータス信号２１０の値が「Ｂ＿ＮＡＣＫ」になると同時に、イネーブル信号２１２の値をＮＡＣＫに対応する値とし、
出力バッファ回路１１２は、イネーブル信号２１２の値をＮＡＣＫに対応する値になると同時に、ＮＡＣＫに対応する値を出力する。しかし、デバイスＡ２が論理Ｌを出力しているため、Ａ側双方向信号１２の値は、論理Ｌのままである。
なお、時刻Ｔ９における変化は、図４のＳ１３に対応する。
【００４７】
＜時刻Ｔ１０の説明＞
時刻Ｔ１０において、デバイスＡ２と、デバイスＢ３とが、双方向シリアルバススイッチ１への双方向信号の送信をやめる。
時刻Ｔ１０において、
Ｂ側双方向信号１３の値は、論理Ｈになり、
出力バッファ回路１１２は、ＮＡＣＫに対応する値を出力し続けており、
これにより、Ａ側双方向信号１２の値は、ＮＡＣＫに対応する値になる。
なお、時刻Ｔ１０における変化は、図４のＳ１４に対応する。
【００４８】
＜時刻Ｔ１１の説明＞
時刻Ｔ１１において、デバイスＡ２へのＮＡＣＫの出力が完了する。
時刻Ｔ１１において、
ステータス監視回路１０は、ステータス信号２１０の値を「Ｂ＿ＯＵＴ２」にし、バッファ１１の値を論理Ｈにし、
バスドライバ回路２０は、ステータス信号２１０の値が「Ｂ＿ＯＵＴ２」になると同時に、イネーブル信号２１２の値を論理Ｈにし、
出力バッファ回路１１２は、イネーブル信号２１２の値が論理Ｈになると同時に、論理Ｌを出力し、
これにより、Ａ側双方向信号１２の値は論理Ｌとなる。なお、ステータス監視回路１０は、バッファ１１の値を変更しなくても良い。
なお、時刻Ｔ１１における変化は、図４のＳ１５に対応する。時刻Ｔ１１から時刻Ｔ１２は、図４のＳ１６に対応する。
【００４９】
＜時刻Ｔ１２の説明＞
時刻Ｔ１２において、デバイスＡ２への双方向信号の出力が完了する。
時刻Ｔ１２において、
ステータス監視回路１０は、ステータス信号２１０の値を「ＩＤＬＥ」にし、
バスドライバ回路２０は、ステータス信号２１０の値が「ＩＤＬＥ」になると同時に、イネーブル信号２１２の値を論理Ｌにし、
出力バッファ回路１１２は、イネーブル信号２１２の値が論理Ｌになると同時に、論理Ｈを出力し、
これにより、Ａ側双方向信号１２の値は、論理Ｈとなる。
なお、時刻Ｔ１２における変化は、図４のＳ１７に対応する。
【００５０】
＊＊＊実施の形態１の効果の説明＊＊＊
本実施の形態の双方向シリアルバススイッチは、２のデバイスが同時に信号を送信した場合に、いずれか一方のデバイスを選択し、選択したデバイスの送信した信号を、他方のデバイスに信号を送信する。
【００５１】
また、本実施の形態の双方向シリアルバススイッチは、かかる場合に、信号を送信するデバイスとして選択しなかったデバイスに対してＮＡＣＫを送信する。そのため、前記双方向シリアルバススイッチに選択されなかったデバイスは、ＮＡＣＫを受信することによって、双方向信号の送信が成功していないことを認識できる。
＜変形例１＞
本実施の形態において、双方向シリアルバススイッチ１は、回路により実現されている。しかし、双方向シリアルバススイッチ１の一部又は全部は、コンピュータにより実現されても良い。ここで、コンピュータは、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、メモリ、及び、記憶装置等から構成される。なお、コンピュータには、マイクロコンピュータが含まれる。
【００５２】
本変形例において、コンピュータにより実現されている双方向シリアルバススイッチ１の一部又は全部の各機能は、ソフトウェアである双方向シリアルバススイッチプログラムにより実現される。
＊＊＊他の実施の形態＊＊＊
前述した各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【００５３】
また、実施の形態は、実施の形態１で示したものに限定されるものではなく、必要に応じて種々の変更が可能である。
【符号の説明】
【００５４】
１  双方向シリアルバススイッチ、２  デバイスＡ、３  デバイスＢ、１０  ステータス監視回路、１１  バッファ、１２  Ａ側双方向信号、１３  Ｂ側双方向信号、２０  バスドライバ回路、１０２  入力バッファ、１０３  入力バッファ、１１２  出力バッファ回路、１１３  出力バッファ回路、２０２  Ａ側論理信号、２０３  Ｂ側論理信号、２１０  ステータス信号、２１２  イネーブル信号、２１３  イネーブル信号、３０２  プルアップ抵抗、３０３  プルアップ抵抗、４０２  電源、４０３  電源、５０１  ステータス監視部、５０２  制御部。
【図１】
2020170336.tif 000003
【図２】
2020170336.tif 000004
【図３】
2020170336.tif 000005
【図４】
2020170336.tif 000006