(57)【要約】【課題】直列に出力するデータの並び順を簡単に入れ替えることができる直列インタフェース回路を提供する。【解決手段】アドレス信号ＡＤでアドレス“Ｘ”を指定してデータ信号ＤＴを出力すると、書き込み制御信号ＷＴのタイミングで送信バッファ１４にデータ信号ＤＴが保持されると共に、ＦＦ１５には“０”の信号ＡＤＹが保持され、選択信号ＳＬは“０”となる。これにより、シフトレジスタ２０からはデータ信号ＤＴのＬＳＢから順番に直列データＳＯが出力される。アドレス信号ＡＤでアドレス“Ｙ”を指定すると、ＦＦ１５には“１”の信号ＡＤＹが保持され、選択信号ＳＬは“１”となる。これにより、シフトレジスタ２０からはデータ信号ＤＴのＭＳＢから順番に直列データＳＯが出力される。【選択図】図１
2008217733.tif 000002
【特許請求の範囲】
【請求項１】
アドレス信号で第１アドレスが指定されたときに第１信号を出力し、第２アドレスが指定されたときには第２信号を出力するアドレスデコーダと、
前記第１信号または第２信号と共に書き込み制御信号が与えられたときに、並列に与えられるデータ信号を保持する第１バッファと、
前記第１信号または第２信号と共に書き込み制御信号が与えられたときに、該第２信号を保持して選択信号として出力する第２バッファと、
前記第１バッファに保持されたデータ信号を並列に取り込み、前記選択信号が第１論理値のときには、シフトクロック信号に従って該データ信号を最下位ビットから順番に直列データとして出力し、該選択信号が第２論理値のときには、該シフトクロック信号に従って該データ信号を最上位ビットから順番に直列データとして出力するシフトレジスタとを、
備えたことを特徴とする直列インタフェース回路。
【請求項２】
アドレス信号で第１アドレスが指定されたときに第１信号を出力し、第２アドレスが指定されたときには第２信号を出力するアドレスデコーダと、
前記第１信号または第２信号と共に書き込み制御信号が与えられたときに、該第２信号を保持して選択信号として出力するバッファと、
前記第１信号または第２信号と共に書き込み制御信号が与えられたときに、ロード信号を出力するロード制御部と、
並列に与えられるデータ信号を前記ロード信号に従って取り込み、前記選択信号が第１論理値のときには、シフトクロック信号に従って該データ信号を最下位ビットから順番に直列データとして出力し、該選択信号が第２論理値のときには、該シフトクロック信号に従って該データ信号を最上位ビットから順番に直列データとして出力するシフトレジスタとを、
備えたことを特徴とする直列インタフェース回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、直列に入出力されるデータと並列バスとの間でデータ変換を行うための直列インタフェース回路に関するものである。
【背景技術】
【０００２】
ＵＡＲＴ(Universal  Asynchronous  Receiver  Transmitter:汎用非同期送受信回路)等の直列通信の周辺回路には、送受信するデータのＬＳＢ(Least  significant  Bit:最下位ビット)とＭＳＢ(Most  significant  Bit:最上位ビット)の順番を切り換えることが可能なものと、順番が固定されて切り換えができないものがある。このため、アプリケーション・ソフトウエアも、実際に使用するＵＡＲＴ等の通信周辺回路のデータ・フォーマットに応じて、ＬＳＢから送信したりＭＳＢから送信したりするように、作成する必要があった。
【０００３】
また、ＥＴＣ(Electronic  Toll  Collection  System:自動料金収受システム)等に使用されるＤＳＲＣ(Dedicated  Short  Range  Communication:狭域通信)規格のＭＤＳスロット・フォーマットのように、ＭＡＣ(Media  Access  Control)制御フィールド・データや、ＶＩＣＳデータ等の多様なフィールド・データを無線通信により一連のフレーム内で連続して受信し、それらフィールド・データをホストに送信する場合、フィールド・データによっては他のアプリケーションのソフトウエアを流用する上で、ＬＳＢとＭＳＢを反転させる必要がある。
【０００４】
一般的に、通信装置は物理レイヤからアプリケーション・レイヤに至る共通の階層構造で構成され、レイヤ毎にソフトウエアが作成されている。そして、レイヤ毎のソフトウエアを様々な通信規格で流用することが多い。
【０００５】
特にＵＡＲＴのように、様々なアプリケーションに使用することができるものでは、ある目的のために作成されたアプリケーション・ソフトウエアやドライバ・ソフトウエアを流用することが多い。このような流用に当たっては、適用するアプリケーションに合わせてソフトウエアの一部を変更する必要がある。
【０００６】
例えば、ＬＳＢから順番に送信するようにデータ・フォーマットが配置されたアプリケーション・ソフトウエアを、ＭＳＢから順番に送信するアプリケーションに流用する場合、通信回路のＵＡＲＴがＬＳＢ／ＭＳＢ切り換え可能であっても、通信バッファが割り付けられているアドレス（レジスタの定義体）と、通信回路の設定レジスタにおいて、ＭＳＢファーストへの設定変更が必要となる。また、通信回路のＵＡＲＴがＬＳＢファーストにしか対応できない場合には、例えばＣＰＵ(Central  Processing  Unit:中央処理装置)によるデータ・フォーマットのＬＳＢ／ＭＳＢ反転処理が必要になる。
【０００７】
更に、ＤＳＲＣ等無線通信により受信した多様なデータ・フィールドを連続してホストに送信する場合、各フィールド・データを様々なレイヤで取り扱うことになるが、ＬＳＢ／ＭＳＢの位置が異なると、各通信におけるアプリケーション・ソフトウエアの流用が難しくなる。即ち、通信中にフィールド・データ毎のＬＳＢ／ＭＳＢの位置を変更する処理をソフトウエアで管理したり、或いはソフトウエアによって扱うフィールド・データの反転処理を行ったりしなければならず、ＣＰＵによる処理時間が増大する。
【０００８】
このような、ＣＰＵによってデータのＬＳＢ／ＭＳＢ位置の反転処理を回避するための技術が、下記特許文献１に記載されている。
【０００９】
この特許文献１は、ＣＰＵから並列に転送されるビットマップ形式のＰＤＬ(Page  Description  Language)データを受信して、必要に応じてＬＳＢ／ＭＳＢ位置の反転処理を行う印刷装置に関するものである。
【００１０】
この印刷装置では、ＰＤＬデータを入力してビットマップ・データに展開して出力するＰＤＬボードと、イメージ・データを生成して用紙上に画像形成するプリンタ・エンジン本体を結合するパラレル・データバスを構成する経路上に、ＰＤＬボードからプリンタ・エンジンに出力されるデータバス上のＭＳＢ〜ＬＳＢの並び順序の反転／非反転を切り換え出力するバス・セレクタ手段を設けている。そして、ＰＤＬボード内のメモリに格納されたコマンド／ステータス・データとビットマップ・データをプリンタ・エンジン内のメモリにパラレル・データバスを介して転送制御する際に、コマンド／ステータス・データの転送時には非反転側に、ビットマップ・データの転送時には反転側に、バス・セレクタ手段を制御するバス・セレクタ制御手段を設けている。
【００１１】
【特許文献１】特開２００２−２１９８２７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、前記特許文献１に記載された印刷装置では、バス・セレクタ手段によってパラレル・データの状態でＬＳＢ／ＭＳＢ位置を切り換えているだけで、直列データ通信との組み合わせに対応するものとはなっていない。
【００１３】
本発明は、通信といった様々なアプリケーション・ソフトウエアを最小限の変更で他のアプリケーションに流用するために、直列に出力するデータの並び順を簡単に入れ替えることができる直列インタフェース回路を提供するものである。
【課題を解決するための手段】
【００１４】
本発明の直列インタフェース回路は、アドレス信号で第１アドレスが指定されたときに第１信号を出力し、第２アドレスが指定されたときには第２信号を出力するアドレスデコーダと、前記第１信号または第２信号と共に書き込み制御信号が与えられたときに、並列に与えられるデータ信号を保持する第１バッファと、前記第１信号または第２信号と共に書き込み制御信号が与えられたときに、該第２信号を保持して選択信号として出力する第２バッファと、前記第１バッファに保持されたデータ信号を並列に取り込み、前記選択信号が第１論理値のときには、シフトクロック信号に従って該データ信号を最下位ビットから順番に直列データとして出力し、該選択信号が第２論理値のときには、該シフトクロック信号に従って該データ信号を最上位ビットから順番に直列データとして出力するシフトレジスタとを備えたことを特徴としている。
【発明の効果】
【００１５】
本発明では、アドレスデコーダで第１または第２アドレスが検出されたときに、この第２アドレスに応じて出力される第２信号を保持して選択信号として出力する第２バッファと、この第２バッファから与えられる選択信号の論理値に応じてデータ信号を異なるシフト方向にシフトして直列データに変換するシフトレジスタを有している。これにより、出力先のアドレスを変更するだけで、出力する直列データの並び順を簡単に入れ替えることができるという効果がある。
【発明を実施するための最良の形態】
【００１６】
この発明の前記並びにその他の目的と新規な特徴は、次の好ましい実施例の説明を添付図面と照らし合わせて読むと、より完全に明らかになるであろう。但し、図面は、もっぱら解説のためのものであって、この発明の範囲を限定するものではない。
【実施例１】
【００１７】
図１は、本発明の実施例を示す直列インタフェース回路の構成図である。
この直列インタフェース回路は、システムバス２に接続され、ＣＰＵ１から出力されるデータＤＴを直列データＳＯに変換して出力するもので、このＣＰＵ１から与えられるアドレス信号ＡＤを解読するアドレスデコーダ（ＤＥＣ）１１を有している。
【００１８】
アドレスデコーダ１１は、システムバス２の内のアドレスバス２ａに接続され、ＣＰＵ１から与えられるアドレス信号ＡＤによってアドレスＸが指定されたときには信号ＡＤＸを論理値“１”（例えば、電源電位レベル）にして出力し、アドレスＹが指定されたときには信号ＡＤＹを“１”にして出力するものである。なお、それ以外のアドレスが指定されたときには、信号ＡＤＸ，ＡＤＹには論理値“０”（例えば、接地電位レベル）が出力されるようになっている。
【００１９】
信号ＡＤＸ，ＡＤＹは、論理和ゲート（以下、「ＯＲ」という）１２によって論理和が取られ、その結果が２入力の論理積ゲート（以下、「ＡＮＤ」という）１３の一方の入力側に与えられている。ＡＮＤ１３の他方の入力側には、システムバス２の内の制御バス２ｃから、書き込み制御信号ＷＴが与えられている。ＡＮＤ１３の出力側は、送信バッファ（ＳＢＵＦ）１４とフリップフロップ（以下、「ＦＦ」という）１５のクロック端子に接続されている。
【００２０】
送信バッファ１４は、ＣＰＵ１からシステムバス２の内のデータバス２ｄを通して並列に出力されるデータ信号ＤＴを、クロック端子に与えられる信号のタイミングで保持して、並列データＤ０〜Ｄｎとして出力するものである。また、ＦＦ１５は、アドレスデコーダ１１から出力される信号ＡＤＹを、クロック端子に与えられる信号のタイミングで保持して、選択信号ＳＬとして出力するものである。これらの並列データＤ０〜Ｄｎと選択信号ＳＬは、シフトレジスタ２０に与えられている。
【００２１】
更に、この直列インタフェース回路は、ロード制御部１６とシフト制御部１７を有している。ロード制御部１６は、制御バス２ｃから与えられる書き込み制御信号ＷＴ及びシステムクロック信号ＣＫと、ＯＲ１２から出力される信号に基づいて、シフトレジスタ２０に対するロード信号ＬＤを生成するものである。また、シフト制御部１７は、ロード信号ＬＤが出力された後、システムクロック信号ＣＫに基づいてシフトレジスタ２０に対するシフトクロック信号ＳＣを生成するものである。
【００２２】
一方、シフトレジスタ２０は、ロード信号ＬＤが“１”のときに、送信バッファ１４から与えられる並列データＤ０〜Ｄｎを保持するようになっている。また、シフトレジスタ２０は、シフトクロック信号ＳＣの立ち上がりのタイミングで保持している並列データＤ０〜Ｄｎを１ビットずつシフトして、直列データＳＯとして出力するようになっている。このとき、シフトの方向が、選択信号ＳＬによって制御されるようになっている。即ち、選択信号ＳＬが“０”であれば、並列データＤ０〜Ｄｎの内の最下位ビット（ＬＳＢ）であるＤ０から順番に出力され、選択信号ＳＬが“１”であれば、並列データＤ０〜Ｄｎの内の最上位ビット（ＭＳＢ）であるＤｎから順番に出力されるようになっている。
【００２３】
図２は、図１中のシフトレジスタ２０の一例を示す構成図である。このシフトレジスタ２０は、説明を簡素化するために４ビット構成としている。
【００２４】
この図２に示すように、シフトレジスタ２０は、並列に与えられるデータＤ０〜Ｄ３を保持するためのＦＦ２１０〜２１３を有している。各ＦＦ２１０〜２１３の入力側には、それぞれシフト動作とロード動作の切り換えを行うためのセレクタ２２０〜２２３が接続されている。これらのセレクタ２２０〜２２３は、共通のロード信号ＬＤによってデータＤ０〜Ｄ３または前段のＦＦの出力のいずれかを選択するものである。
【００２５】
また、このシフトレジスタ２０は、シフト動作におけるシフトの方向、即ちＦＦ２１０〜２１３の接続順序を切り換えるためのセレクタ２３０〜２３３を有している。これらのセレクタ２３０〜２３３は、共通の選択信号ＳＬによって制御され、各ＦＦ２１０〜２１３の入力側に接続するＦＦを切り換えるようになっている。
【００２６】
更に、ＦＦ２１０とＦＦ２１３の出力側には、選択信号ＳＬで制御されるセレクタ２４が接続され、この選択信号ＳＬが“０”のときは、ＦＦ２１０の出力が選択されて最下位ビットから順番に直列データＳＯが出力されるようになっている。また、選択信号ＳＬが“１”のときは、ＦＦ２１３の出力が選択されて最上位ビットから順番に直列データＳＯが出力されるようになっている。
【００２７】
図３及び図４は、図１の動作を示す信号波形図（その１及びその２）であり、図３は、最下位ビットから順番に直列に出力するＬＳＢファースト動作のタイミングを、図４は、最上位ビットから順番に直列に出力するＭＳＢファースト動作のタイミングを示している。以下、これらの図３及び図４を参照しつつ、図１の動作を説明する。
【００２８】
例えば、図３に示すように、アドレス信号ＡＤの“Ｘ”と共に、４ビットの並列データ信号ＤＴの“１０１０”が出力されると、アドレスデコーダ１１から出力される信号ＡＤＸは“１”となる。このとき、信号ＡＤＹは“０”である。更に、書き込み制御信号ＷＴが“１”になると、ＡＮＤ１３の出力信号は“１”となり、送信バッファ１４に並列データ信号ＤＴが保持される。また、ＦＦ１５には信号ＡＤＹが保持され、このＦＦ１５から出力される直列データＳＯとなる。
【００２９】
更に、ロード制御部１６では、書き込み制御信号ＷＴ及びシステムクロック信号ＣＫとＯＲ１２の出力信号に基づいて、ロード信号ＬＤが生成される。また、シフト制御部１７では、ロード信号ＬＤとシステムクロック信号ＣＫに基づいて、シフトクロック信号ＳＣが生成される。これらのロード信号ＬＤとシフトクロック信号ＳＣは、シフトレジスタ２０に与えられる。
【００３０】
これにより、送信バッファ１４に保持されたデータ信号ＤＴが、並列データＤ０〜Ｄ３として、シフトレジスタ２０内のＦＦにロードされ、更に、“０”の選択信号ＳＬに基づいて、シフトクロック信号ＳＣのタイミングに従って、最下位ビットから順番に直列データＳＯとして出力される。実施例におけるシフト制御部１７は、ロード信号が“１”となったことに応じて、システムクロック信号ＣＫに基づくシフトクロック信号ＳＣを所定のクロック数分出力するように制御されている。このような所定のクロック数分出力する制御は、例えば、ロード信号の“１”に応じてカウント動作を実施するカウンタにより所定数分カウントし、比較器でカウント数が予め決められている所定数に達したことを検出したことに応じてカウント動作を止めるように、システムクロック信号ＣＫと比較器の出力とを入力にもち、出力がシフトクロック信号ＳＣとなるような論理積ゲートで制御すればよい。
【００３１】
一方、アドレス信号ＡＤとして“Ｙ”が与えられた場合には、図４に示すように、信号ＡＤＹが“１”となり、信号ＡＤＸは“０”である。従って、書き込み制御信号ＷＴが与えられたときに、ＦＦ１５には信号ＡＤＹが保持され、選択信号ＳＬは“１”となる。これにより、シフトレジスタ２０によるシフト方向は図３の場合と逆になり、並列データＤ０〜Ｄ３は、最上位ビットから順番に直列データＳＯとして出力される。
【００３２】
以上のように、本実施例の直列インタフェース回路は、次のような利点がある。
（１）  送信するデータ信号ＤＴを送信バッファ１４に書き込むときに、書き込み先のアドレスを“Ｘ”または“Ｙ”で指定するだけで、その後、シフトレジスタ２０から出力される直列データの方向を制御することができる。特に、アドレス“Ｘ”やアドレス“Ｙ”がアドレス領域“Ｘ”やアドレス領域“Ｙ”として指定したい場合には、この領域を指示するアドレスデータの上位ビットに基づいて、信号ＡＤＸあるいは信号ＡＤＹを“１”とするようにすることで対応可能である。
（２）  システムバス２の配線は、一般的なインタフェース回路と同様であるので、ファンアウトは増加しない。このため、システムバス２のスピードの劣化がない。
（３）  シフト方向を設定するためのレジスタに対する制御情報の書き込みや、並列データの送信順序を反転させるためにデータを並べ替えるプログラムが不要であるので、既存のアプリケーション・ソフトウエアを最小限の変更で流用することができる。
【００３３】
なお、本発明は、上記実施例に限定されず、種々の変形が可能である。この変形例としては、例えば、次のようなものがある。
（ａ）  シフトレジスタ２０の構成は、図２に例示したものに限定されない。例えば、モトローラ社のＣＭＯＳロジックＩＣ“ＭＣ４０１０４”（４ビット双方向汎用シフトレジスタ）等を用いても良い。
（ｂ）  ロード制御部１６で生成するロード信号ＬＤのタイミングを適切に設定すれば、送信バッファ１４を介さずに、データバス２ｄから並列に出力されるデータ信号ＤＴを直接、シフトレジスタ２０にロードすることができる。
【図面の簡単な説明】
【００３４】
【図１】本発明の実施例を示す直列インタフェース回路の構成図である。
【図２】図１中のシフトレジスタ２０の一例を示す構成図である。
【図３】図１の動作を示す信号波形図（その１）である。
【図４】図１の動作を示す信号波形図（その２）である。
【符号の説明】
【００３５】
１１    アドレスデコーダ
１２    ＯＲ
１３    ＡＮＤ
１４    送信バッファ
１５    ＦＦ
１６    ロード制御部
１７    シフト制御部
２０    シフトレジスタ
【図１】
2008217733.tif 000003
【図２】
2008217733.tif 000004
【図３】
2008217733.tif 000005
【図４】
2008217733.tif 000006