以下、図面を参照して本発明の実施の形態について詳細に説明する。
(第1の実施の形態)
図1は本発明の第1の実施の形態に係る半導体集積回路を示すブロック図である。
本実施の形態において送受信するデータは、プリアンブル、スタートマーク、データ本体、エンドマーク及びポストアンブルを有するフレーム構造のデータである。例えば、図2はこの種のデータフレームの一例を示す説明図であり、中国ETCの通信規格(GB/T 2085.2-2007)に定められたフレーム構造を示している。
図2に示すデータフレームは、プリアンブル、frame start mark、MAC address、MAC control field、 LPDU(LLC Protocol Data Unit)、frame check、frame end mark、ポストアンブルによって構成される。データ本体(Information frame)は、MAC address、MAC control field、 LPDU及びframe checkによって構成される。MAC addressは32ビット長、MAC control fieldは8ビット長であり、 LPDUは通信規格で定められたフォーマットのコマンドやレスポンスである。またframe checkは16ビット長のCRCデータである。
スタートマークであるframe start markとエンドマークであるframe end markは、いずれも"01111110"であり、プリアンブルは16ビットの"0"であり、ポストアンブルは最大8ビットと規定されている。符号化方式は、FM0(Bi-phase space)符号化が用いられ、データ本体(Information frame)のビット列に"1"が5つ連続したときは"0"が挿入される。
中国ETCの規格によると、図2のデータフレームを、基地局と車載器の間で複数回、送受信する。通信開始時には、基地局がブロードキャスト用MAC address(0xFFFFFFFF)を用いて、MAC control fieldにある特定のビットにdedicated linkの確立要求をセットして一定間隔で送信する。車載器はこのようなデータフレームを受信して、次に車載器のMAC addressを含むデータフレームを基地局に送信し、基地局がそれを受信して以後の通信に利用する。
図1は車載器を示しており、ETC部1は例えばLSIによって構成することができる。制御部2は、ホスト機能を有するMCU5によって構成されており、ETC部1を制御することができるようになっている。ETC部1のRFアナログ回路3は、料金所等の基地局(図示せず)からの高周波信号である受信信号を受信すると共に、送信信号を基地局に送信する。RFアナログ回路3からの受信信号はモデム部4に供給される。
モデム部4の受信部13は、送受信制御部15に制御され、制御レジスタ18に格納された値を参照することで、受信信号をデコードする。例えば受信信号及び送信信号は図2に示すフレーム構造を有しており、受信部13は受信信号からデータ本体(Information frame)を復元して受信データバッファ16に出力する。また、受信部13は、受信完了を示す受信完了信号を送受信制御部15に出力する。受信データバッファ16は、送受信制御部15に書き込み及び読み出しが制御され、受信部13からのデータ本体(受信データ本体)を所定タイミングでシリアルI/Fコントローラ19に出力する。シリアルI/Fコントローラ19は、受信データバッファ16からの受信データ本体をMCU5にシリアル転送する。
MCU5は受信データ本体を解析し、受信データ本体に対応した送信データ本体を生成してシリアルI/Fコントローラ19に送信する。シリアルI/Fコントローラ19は、MCU5からの送信データ本体を送信データバッファ17に転送する。送信データバッファ17は、送受信制御部15に書き込み及び読み出しが制御され、シリアルI/Fコントローラ19からの送信データ本体を所定タイミングで送信部14に出力する。
送信部14は、送受信制御部15に制御され、制御レジスタ18に格納された値を参照することで、送信信号をエンコードする。こうして、送信部14は、図2に示すフレーム構造の送信信号を生成して、RFアナログ回路3に出力する。送信部14は、送信完了を示す送信完了信号を送受信制御部15に出力する。
なお、モデム部4には、図示しないクロック及びリセット生成回路も構成されている。
MCU5は、送受信に必要な設定をシリアルI/Fコントローラ19を介して制御レジスタ18に書き込むようになっている。送受信制御部15は受信部13及び送信部14の動作開始や停止の制御と受信データバッファ16及び送信データバッファ17の管理を行う。上述したように、受信部13及び送信部14は、送受信制御部15に制御されて、制御レジスタ18に格納された設定値を用いてデータのデコード又はエンコードを行う。なお、制御レジスタ18には、送受信に必要な設定値が格納されていると共に、後述する割り込みステータスレジスタ及び疑似エラーレジスタを有している。
ところで、基地局の通信プロトコルと車載器側の通信プロトコルが異なる場合には、制御レジスタ18に設定されている設定値ではデコード及びエンコードを行うことができないことがある。この場合には、受信部13及び送信部14は、通信プロトコルが異なることから制御レジスタ18に格納された設定値ではデコード又はエンコードが不能であることを示すエラー信号を送受信制御部15に出力する。なお、受信部13及び送信部14は、デコード又はエンコードが不能である理由毎に異なる種類のエラー信号を発生するようになっている。
送受信制御部15は、受信部13及び送信部14からの各種信号を受信して制御部2のMCU5に対して割り込み信号を発生する。例えば、送受信制御部15は、受信部13及び送信部14からの受信完了信号、送信完了信号、各種エラー信号によって、これらの割り込み要因に応じた割り込み信号を発生する。制御レジスタ18は、各種割り込み要因に対応した割り込みステータスレジスタを備えており、送受信制御部15は、受信部13及び送信部14からの各種信号に基づく各種割り込み要因に応じて割り込みステータスレジスタを設定すると共に、割り込み信号を生成する。
本実施の形態においては、受信部13は、制御レジスタ18の設定値では正しくデコードができない場合には、受信データから正しい設定値を推測して、推測結果を送信部14へ出力するようになっている。また、この場合には、送受信制御部15は、推測された設定値に対応する疑似エラーレジスタを疑似エラーありに設定する。
MCU5は、受信完了信号に応じた割り込み信号が入力されると、所定の判定基準に基づいて受信したデータ本体の正当性の判定等を行う。MCU5は、データ本体が正しく受信されたものと判定した場合において、疑似エラーレジスタに疑似エラー有りが設定されている場合には、規格変更信号を送受信制御部15に出力する。送受信制御部15は、規格変更信号が入力されると、疑似エラーレジスタの値を疑似エラー無しに変更するようになっている。これにより、以後、受信部13及び送信部14は、受信部13において推測された設定値を正しい設定値として用いて、デコード又はエンコードを行うようになっている。
図3は図1中の受信部13の具体的な構成の一例を示すブロック図である。なお、図3の回路は図2のフレーム構造を有する受信データを処理するものである。
ノイズ除去部20は、RFアナログ回路3から入力される受信信号のノイズを除去する。本実施の形態においては、ノイズ除去部20はノイズ除去後の受信信号をプリアンブル検出部21及びframe start markを検出するスタートマーク検出部22に出力する。本実施の形態においては、プリアンブル検出部21及びスタートマーク検出部22を相互に独立に動作させるようになっており、プリアンブルが検出不能の場合でも、スタートマーク(frame start mark)の検出が可能である。
制御レジスタ18の一部であるプリアンブルレジスタには、MCU5によってプリアンブルと同一のビット列が格納されている。プリアンブルバッファ23は、プリアンブルレジスタの設定値を保持してプリアンブル検出部21へ出力する。プリアンブル検出部21は、受信データ中に、プリアンブルバッファ23から入力されたプリアンブルと一致するビット列を検出すると、プリアンブル検出終了をデコード部24に通知する。
本実施の形態においては、プリアンブルバッファ23は後述のように複数のプリアンブルを保存することができ、初期状態ではプリアンブルレジスタの値を選んでプリアンブル検出部21へ出力する。プリアンブル検出部21は、一定の時間内に、プリアンブルと一致したビット列を検出することができなかった場合には、プリアンブル検出エラー信号Eprを送受信制御部15に出力する。
制御レジスタ18の一部であるスタートマークレジスタには、MCU5によって、frame start markと同一のビット列が格納され、スタートマーク検出部22へ出力される。スタートマーク検出部22は、スタートマークレジスタの値と受信信号のビット列とが一致するとスタートマーク検出終了をデコード部24に通知すると共に、受信データをデコード部24に出力する。スタートマーク検出部22は、一定の時間内に、スタートマークレジスタの値に一致するビット列を検出することができなかった場合には、スタートマーク検出エラー信号Estを送受信制御部15に出力する。
デコード部24は、プリアンブル検出終了及びスタートマーク検出終了の通知を受信した場合、又はスタートマーク検出終了の通知のみを受信した場合には、受信データに対してFM0デコード処理を行う。デコード部24は、デコード結果をゼロ除去・CRCチェック部25とエンドマーク検出部26に出力する。ゼロ除去・CRCチェック部25は、デコード結果から余分なゼロを除去し、エンドマーク検出部26からエンドマーク検出信号を受けてCRCチェックを行い、CRCチェック後のデータを受信データバッファ16に書き込む。なお、デコード部24は、デコード途中にエラーを検出した場合には、デコードエラー信号Edeを送受信制御部15に出力する。
なお、ゼロ除去・CRCチェック部25は、CRCチェックによりエラーを検出した場合には、CRCエラー信号Ecrを送受信制御部15に出力する。また、ゼロ除去・CRCチェック部25では受信データ長の判定を行い、判定結果を制御レジスタ18の一部である受信データ長レジスタに書き込む。
制御レジスタ18の一部であるエンドマークレジスタには、MCU5によって、frame end markと同一のビット列が格納され、エンドマーク検出部26へ出力される。エンドマーク検出部26は、エンドマークレジスタの値とデコード後の受信信号のビット列とが一致するとエンドマーク検出終了をポストアンブル検出部27に通知すると共に、デコード後の受信データをポストアンブル検出部27に出力する。エンドマーク検出部26は、一定の時間内に、エンドマークレジスタの値に一致するビット列を検出することができなかった場合には、エンドマーク検出エラー信号Eenを送受信制御部15に出力する。
制御レジスタ18の一部であるポストアンブルレジスタには、MCU5によってポストアンブルと同一のビット列が格納されている。ポストアンブルバッファ28は、ポストアンブルレジスタの設定値を保持してポストアンブル検出部27へ出力する。ポストアンブル検出部27は、デコード後の受信データ中に、ポストアンブルバッファ28から入力されたポストアンブルと一致するビット列を検出すると、受信完了信号を送受信制御部15に出力する。
本実施の形態においては、ポストアンブルバッファ28は後述のように複数のポストアンブルを保存することができ、初期状態ではポストアンブルレジスタの値を選んでポストアンブル検出部27へ出力する。ポストアンブル検出部27は、一定の時間内に、ポストアンブルと一致したビット列を検出することができなかった場合には、ポストアンブル検出エラー信号Epoを送受信制御部15に出力する。
本実施の形態においては、通信プロトコルの変更等の理由から、受信信号に含まれるプリアンブルが、プリアンブルレジスタに格納されているプリアンブルと異なる値である場合には、受信信号に基づいて受信信号に含まれるプリアンブルを推定する。即ち、プリアンブル候補探査部31は、プリアンブル検出エラー信号Eprが発生し、かつスタートマークが検出された場合には、スタートマークの直前のビット列から遡って一定の長さ、例えば32ビット分を取り出してプリアンブル候補とする。プリアンブル候補探査部31は、プリアンブル候補をプリアンブルバッファ23に書き込むと共に、プリアンブル候補が有効であることを示すプリアンブル候補イネーブル信号を発生させてプリアンブルバッファ23へ出力する。
同様に、受信信号に含まれるポストアンブルが、ポストアンブルレジスタに格納されているポストアンブルと異なる値である場合には、受信信号に基づいて受信信号に含まれるポストアンブルを推定する。即ち、ポストアンブル候補探査部32は、ポストアンブル検出エラー信号Epoが発生し、かつエンドマークが検出された場合には、エンドマークの直後のビット列から一定の長さ、例えば8ビット分を取り出してポストアンブル候補とする。ポストアンブル候補探査部32は、ポストアンブル候補をポストアンブルバッファ28に書き込むと共に、ポストアンブル候補が有効であることを示すポストアンブル候補イネーブル信号を発生させてポストアンブルバッファ28へ出力する。
送受信制御部15は、規格変更信号が入力されると、以後のデコード及びエンコードにおいて、受信時に得たプリアンブル候補及びポストアンブル候補を採用するように受信部13及び送信部14を制御する。
図4は図1中の送信部14の具体的な構成の一例を示すブロック図である。送信データバッファ17には、MCU5から送信データ本体が転送される。送信部14には、CRC生成・ゼロ挿入部41が設けられており、CRC生成・ゼロ挿入部41は、送信データバッファ17からの送信データ本体にCRCを付加してゼロを挿入する。CRC生成・ゼロ挿入部41からの送信データは、エンコード部42に与えられる。
エンコード部42は、CRC生成・ゼロ挿入部41の出力に対して、プリアンブル、frame start mark、frame end mark、及びポストアンブルを付加して図2のフレーム構造の送信データを生成し、FM0による符号化を行う。エンコード部42が送信データの生成に用いるプリアンブル及びポストアンブルは、プリアンブル・ポストアンブル選択部43によって選択されるようになっており、frame start markとframe end markは制御レジスタ18から夫々出力される。
プリアンブル・ポストアンブル選択部43は、送受信制御部15によって制御されて、制御レジスタ18に格納されているプリアンブルの設定値又は受信部13のプリアンブルバッファ23に格納されているプリアンブル候補の一方を選択する。また、プリアンブル・ポストアンブル選択部43は、送受信制御部15によって制御されて、制御レジスタ18に格納されているポストアンブルの設定値又は受信部13のポストアンブルバッファ28に格納されているポストアンブル候補の一方を選択する。
次に、このように構成された実施の形態の動作について図5乃至図7を参照して説明する。図5はMCU5において実行される車載器としての通信開始時の処理フローを示すフローチャートである。また、図6は割り込みステータスレジスタ及び疑似エラーレジスタの具体例を示す説明図である。
通信開始時には、受信モードで始まる(ステップS1)。MCU5は、ETC部1からの割り込みの待機状態となる(ステップS2)。受信信号は、ノイズ除去部20によってノイズが除去された後、プリアンブル検出部21及びスタートマーク検出部22に供給される。
いま、料金所等の基地局の通信プロトコルと車載器の通信プロトコルが一致しているものとする。即ち、制御レジスタ18には、受信信号に含まれるプリアンブル、スタートマーク、ポストアンブル及びエンドマークに一致する設定値がMCU5によって記憶されているものとする。
プリアンブル検出部21は、プリアンブルバッファ23に保持されているプリアンブルの設定値に一致するプリアンブルを受信信号から検出するとプリアンブル検出終了をデコード部24に通知する。また、スタートマーク検出部22は、制御レジスタ18のスタートマークレジスタの値に一致するスタートマークを受信信号から検出するとスタートマーク検出終了をデコード部24に通知する。
デコード部24は、スタートマーク検出終了が通知されると、受信データに対してFM0デコード処理を行う。デコード部24のデコード結果は、ゼロ除去・CRCチェック部25とエンドマーク検出部26に供給されて、余分なゼロが除去された後CRCチェックされる。ゼロ・除去CRCチェック部25は、CRCチェック後のデータを受信データバッファ16に書き込む。
エンドマーク検出部26は、エンドマークレジスタの値とデコード後の受信信号のビット列とが一致するとエンドマーク検出終了をポストアンブル検出部27へ通知する。ポストアンブル検出部27は、デコード後の受信データ中に、ポストアンブルバッファ28から入力されたポストアンブルと一致するビット列を検出すると、受信完了信号を送受信制御部15に出力する。
送受信制御部15は、受信完了信号が入力されると、受信完了を割り込み要因とした割り込み信号を発生すると共に、割り込みステータスレジスタに受信完了を示す値を設定する。
MCU5は、割り込みが発生すると、制御レジスタ18の一部である割り込みステータスレジスタを読み出す。MCU5は、ステップS3において、割り込みステータスレジスタの値から割り込み要因が受信完了であるか否かを判定し、受信完了である場合には、制御レジスタ18の一部である疑似エラーレジスタや受信データ長レジスタ、受信データバッファ16などを読み出す(ステップS4)。
MCU5は、ステップS5において、受信データバッファ16から読み出した受信データのMAC addressがブロードキャストのアドレス0xFFFFFFFFであるか否かを判定し、ステップS6において、受信データのMAC control fieldがリンク確立要求であるか否かを判定する。MCU5は、受信データがブロードキャストされたもので、且つ、リンク確立要求がある場合には、ステップS7において、LPDUの処理をする。一方、MCU5は、ブロードキャストでない場合や、リンク確立要求でない場合には受信の誤りとして処理を終了する(ステップS12)。なお、MCU5は、ステップS8において、LPDUの処理に際してプロトコル違反を検出するなど処理が適切にできなかった場合にも、受信の誤りとして処理を終了する(ステップS12)。
MCU5は、ステップS9において読み出した疑似エラーレジスタの値から疑似エラーが発生しているか否かを判定する。この場合には、料金所等の基地局の通信プロトコルと車載器の通信プロトコルとが一致しており、制御レジスタ18の設定値を用いて、プリアンブル、スタートマーク、ポストアンブル及びエンドマークが検出されているので、疑似エラーレジスタは疑似エラー無しに設定されており、MCU5は処理をステップS11に移行して送信を行う。
(プリアンブル、ポストアンブルの一方又は両方が検出不能の場合)
ここで、料金所等の基地局の通信プロトコルと車載器の通信プロトコルが異なり、プリアンブルがプリアンブル検出部21において検出されないものとする。プリアンブル検出部21は、所定時間内にプリアンブルを検出できなかった場合には、プリアンブル検出エラー信号Eprを送受信制御部15に出力する。また、スタートマーク検出部22は、プリアンブル検出部21とは独立して動作しており、スタートマークを検出すると、スタートマーク検出終了をデコード部24に通知する。このスタートマーク検出終了によって、デコード部24はデコード処理を開始する。
送受信制御部15は、各部からのエラー信号に応じて制御レジスタ18の一部である図6(a)に示す受信に関する割り込みステータスレジスタを設定する。なお、図6(a)において、エラー要因を示すビットの名前はエラー信号名と同じにしており、受信信号完了を示すビットはFinとしている。例えば、プリアンブルのみが検出不能であった場合には、送受信制御部15には、エラー信号としてはプリアンブル検出エラー信号Eprのみが入力される。この場合には、送受信制御部15は、エラー要因がプリアンブル検出エラーであることを示す割り込みステータスレジスタのビットEprを"1"に設定し、エラー要因がスタートマークの検出エラーであることを示すビットEstを"0"に設定すると共に、図6(b)に示す疑似エラーレジスタにおいてプリアンブルの検出が疑似エラー有りであることを示すプリアンブル検出疑似エラービットPprを"1"とする。
送受信制御部15は、プリアンブル検出エラーが通知された場合でも、擬似エラーである場合には、受信部13の処理を中断させない。即ち、デコード部24は、スタートマークの検出によってデコード処理を開始する。更に、デコード部24によるデコード処理が進むと、ゼロ除去・CRCチェック部25の処理が行われ、エンドマーク検出部26によるエンドマークの検出及びポストアンブル検出部27によるポストアンブルの検出が行われる。
なお、ポストアンブルが検出不能であって、エンドマークが検出された場合には、送受信制御部15には、ポストアンブル検出エラー信号Epoが入力される。この場合には、送受信制御部15は、図6(a)に示す割り込みステータスレジスタのポストアンブル検出エラービットEpoを"1"に設定し、エンドマークの検出エラービットEenを"0"に設定すると共に、図6(b)に示す疑似エラーレジスタにおいてポストアンブルの検出が疑似エラー有りであることを示すポストアンブル検出疑似エラービットPpoを"1"とする。
このように、スタートマーク及びエンドマークが検出された場合には、プリアンブルやポストアンブルが検出不能である場合でも、受信信号のデコードが可能であり、MCU5は、基地局から送られたデータを処理することが可能である。
また、本実施の形態は、プリアンブル候補探査部31及びポストアンブル候補探査部32によって、送信時において、基地局が認識可能なプリアンブル及びポストアンブルを付加した送信データを生成することができる。
プリアンブル候補探査部31は、プリアンブル検出エラー信号Eprが発生し、かつスタートマークが検出された場合には、スタートマークの直前のビット列から遡って一定の長さ、例えば32ビット分を取り出してプリアンブル候補とし、プリアンブル候補とプリアンブル候補イネーブル信号をプリアンブルバッファ23へ出力する。
図7はプリアンブルバッファ23及びポストアンブルバッファ28に格納されている情報を説明するための説明図である。図7(a)はプリアンブルバッファ23の情報を示しており、図7(a)のプリアンブル1は制御レジスタ18から出力されたプリアンブルを示し、プリアンブル2はプリアンブル候補探査部31によって生成されたプリアンブル候補を示している。
ポストアンブル候補探査部32は、ポストアンブル検出エラー信号Epoが発生し、かつエンドマークが検出された場合には、エンドマークの直後のビット列から一定の長さ、例えば8ビット分を取り出してポストアンブル候補としとしポストアンブル候補とポストアンブル候補イネーブル信号をポストアンブルバッファ28へ出力する。図7(b)はポストアンブルバッファ28の情報を示しており、図7(b)のポストアンブル1は制御レジスタ18から出力されたポストアンブルを示し、ポストアンブル2はポストアンブル候補探査部32によって生成されたポストアンブル候補を示している。
MCU5は、ステップS9において疑似エラーが発生したか否かを判定する。プリアンブルの検出又はポストアンブルの検出の何れか一方または両方に疑似エラーが生じている場合には、MCU5は、ステップS10において規格変更の通知を行う。これにより、プリアンブル候補、ポストアンブル候補が以後の送受信に用いられる。疑似エラーが発生しても所定の時間内に規格変更が通知されない場合は、送受信制御部15は疑似エラーレジスタ、プリアンブル候補イネーブル信号、ポストアンブル候補イネーブル信号をクリアする。
即ち、送受信制御部15は、MCU5から規格変更信号によって規格変更が通知された場合には、次の送信時に、受信時に生成されたプリアンブル候補やポストアンブル候補を送信部14に選択させる。送信部14のプリアンブル・ポストアンブル選択部43は、送受信制御部15に制御されて、制御レジスタ18のプリアンブル又はプリアンブルバッファ23のプリアンブル候補をエンコード部42に与える。また、プリアンブル・ポストアンブル選択部43は、送受信制御部15に制御されて、制御レジスタ18のポストアンブル又はポストアンブルバッファ28のポストアンブル候補をエンコード部42に与える。こうして、エンコード部42において、図2のフレーム構造の送信データを生成することができる。
このように、受信時にプリアンブルやポストアンブルが検出されない場合でも、受信データから推測して生成したプリアンブル候補やポストアンブル候補を用いることで、基地局が認識可能な送信データを送信することが可能である。
なお、受信部13は、以後、当該基地局からの信号を受信する場合に、プリアンブル候補イネーブル信号が有効の場合にはプリアンブル候補をプリアンブルバッファ23からプリアンブル検出部21へ出力させて受信信号と比較することで疑似エラーとならずにプリアンブルを検出し、ポストアンブル候補イネーブル信号が有効の場合には、ポスアンブル候補をポストアンブルバッファ28からポストアンブル検出部27へ出力させて受信信号と比較することで疑似エラーとならずにポストアンブルを検出することもできる。
(スタートマーク、エンドマークの一方又は両方が検出不能の場合)
図3はプリアンブル候補探査部31及びポストアンブル候補探査部32は、スタートマーク又はエンドマークを基準に、プリアンブル候補及びポストアンブル候補を生成する例を示した。逆に、スタートマークやエンドマークが検出不能であった場合において、検出されたプリアンブル又はポストアンブルを基準に、スタートマーク及びエンドマークの候補を探査することも場合によっては可能である。例えばスタートマークとエンドマークのビット数が規格と同じで、ポストアンブルのビット数がエンドマークのビット数より大きく、かつInformation frameに現れないビットパターンとなる場合である。
スタートマーク検出部22は、所定時間内にスタートマークを検出できなかった場合には、スタートマーク検出エラー信号Estを送受信制御部15に出力する。また、プリアンブル検出部21は、スタートマーク検出部22とは独立して動作しており、プリアンブルを検出すると、プリアンブル検出終了をデコード部24に通知する。このプリアンブル検出終了後、スタートマークのビット数だけタイミングを遅らせて、デコード部24はデコード処理を開始する。
送受信制御部15は、スタートマークのみが検出不能であった場合には、入力されたスタートマーク検出エラー信号Estに基づいて、エラー要因がスタートマーク検出エラーであることを示す受信に関する割り込みステータスレジスタのビットEstを"1"に設定し、エラー要因がプリアンブルの検出エラーであることを示すビットEprを"0"に設定すると共に、疑似エラーレジスタにおいてスタートマークの検出が疑似エラー有りであることを示す,図示しないスタートマーク検出疑似エラービットを"1"とする。
送受信制御部15は、スタートマーク検出エラーが通知された場合でも、擬似エラービットが1である場合には、受信部13の処理を中断させない。即ち、デコード部24は、プリアンブルの検出からスタートマークのビット数分空けてデコード処理を開始する。更に、デコード部24にてデコード処理されたデータに対して、ゼロ除去・CRCチェック部25の処理が行われ、エンドマーク検出部26によるエンドマークの検出及びポストアンブル検出部27によるポストアンブルの検出が独立に行われる。すなわち図3と異なり、デコード部24からの出力はゼロ除去・CRCチェック部25、エンドマーク検出部26、ポストアンブル検出部27に送られる。
なお、エンドマークが検出不能であって、ポストアンブルが検出された場合には、送受信制御部15には、エンドマーク検出エラー信号Eenが入力される。この場合には、送受信制御部15は、受信に関する割り込みステータスレジスタのエンドマーク検出エラービットEenを"1"に設定し、ポストアンブルの検出エラービットEpoを"0"に設定すると共に、疑似エラーレジスタにおいてエンドマークの検出が疑似エラー有りであることを示す,図示しないエンドマーク検出疑似エラービットを"1"とする。
このように、プリアンブル及びポストアンブルが検出された場合には、スタートマークやエンドマークが検出不能である場合でも、受信信号のデコードが可能であり、MCU5は、基地局から送られたデータを処理することが可能である。また、この場合には、図示しないスタートマーク候補探査部及びエンドマーク候補探査部によって、送信時において、基地局が認識可能なスタートマーク及びエンドマークを付加した送信データを生成することができる。
例えば、図示しないスタートマーク候補探査部は、スタートマーク検出エラー信号Estが発生し、かつプリアンブルが検出された場合には、プリアンブルの直後のビット列からスタートマークに設定されているビット数分を取り出してスタートマーク候補とする。スタートマーク候補探査部は、スタートマーク候補を図示しないスタートマークバッファに書き込むと共に、スタートマーク候補が有効であることを示すスタートマーク候補イネーブル信号を発生する。
エンドマーク候補探査部は、エンドマーク検出エラー信号Eenが発生し、かつポストアンブルが検出された場合には、ポストアンブルの直前のビット列から遡ってエンドマークに設定されているビット数分を取り出してエンドマーク候補とする。エンドマーク候補探査部は、エンドマーク候補を図示しないエンドマークバッファに書き込むと共に、エンドマーク候補が有効であることを示すエンドマーク候補イネーブル信号を発生する。
MCU5は、ステップS9において疑似エラーが発生したか否かを判定する。スタートマークの検出又はエンドマークの検出の何れか一方または両方に疑似エラーが生じている場合には、MCU5は、ステップS10において規格変更の通知を行う。これにより、スタートマーク候補、エンドマーク候補が以後の送受信に用いられる。疑似エラーが発生しても所定の時間内に規格変更が通知されない場合は、送受信制御部15は疑似エラーレジスタ、スタートマーク候補イネーブル信号、エンドマーク候補イネーブル信号をクリアする。
即ち、送受信制御部15は、MCU5から規格変更信号によって規格変更が通知された場合には、次の送信時に、受信時に生成されたスタートマーク候補やエンドマーク候補を送信部14に選択させる。この場合には、送信部14は、図示しないスタートマーク・エンドマーク選択部によって、スタートマーク候補やエンドマーク候補をエンコード部42に与えることができる。こうして、エンコード部42において、図2のフレーム構造の送信データを生成することができる。
このように、受信時にスタートマークやエンドマークが検出されない場合でも、受信データから推測して生成したスタートマーク候補やエンドマーク候補を用いることで、基地局が認識可能な送信データを送信することが可能である。
なお、受信部13は、以後、当該基地局からの信号を受信する場合には、スタートマーク候補イネーブル信号が"1"の場合にはスタートマーク候補と受信信号との比較によってスタートマークを検出し、エンドマーク候補イネーブル信号が"1"の場合には、エンドマーク候補と受信信号との比較によってエンドマークを検出するようにしてもよい。
このように本実施の形態においては、プリアンブルやポストアンブルが検出不能であってもスタートマークやエンドマークが検出された場合、又はスタートマークやエンドマークが検出不能であってもプリアンブルやポストアンブルが検出された場合には、疑似エラーとして処理を進め、デコード結果の正当性の判定の結果、正当であると判定された場合には疑似エラーを解除して処理を進める。これにより、通信プロトコルの変更等により、プリアンブルやポストアンブル、或いはスタートマークやエンドマークが検出不能の場合でも、正常に通信が可能である。
また、検出されたスタートマークやエンドマークを基準に、プリアンブルやポストアンブルの候補を検出したり、検出されたプリアンブルやポストアンブルを基準に、スタートマークやエンドマークの候補を検出しており、これらの候補を送信時に用いることで、基地局との間で正常に送受信が可能である。
また、プリアンブルバッファとポストアンブルバッファのそれぞれの候補を、制御レジスタの一部であるプリアンブル候補レジスタ、ポストアンブル候補レジスタに保管して、MCUが読み出して確認できるようにしてもよい。なおこの場合には、送信部は、プリアンブル候補とポストアンブル候補は、受信部からではなく、プリアンブル候補レジスタとポストアンブル候補レジスタから受け取る構成とする。スタートマーク候補及びエンドマーク候補についても同様である。
また、上記実施の形態においては、プリアンブル候補とポストアンブル候補を各1つずつ用意したが、さらに多くを用意してもよい。例えばデータ長の違いで32ビット、16ビットをプリアンブル候補1、候補2とし、例えば8ビット、4ビットをポストアンブル候補1、候補2としてもよい。プリアンブルやポストアンブル候補の長さや候補の数はこの例に限られるものではない。スタートマーク候補及びエンドマーク候補についても同様である。
また、上記実施の形態においては、CRCエラーの有無とは関係なく疑似エラーの処理を行ったが、CRCエラーが発生しない場合のみ疑似エラーとして処理してもよい。
また、車載器の電源に制約があり低消費電力が求められる場合には、ETC用LSIに常時電源が供給される領域と不要なときに電源が供給されない領域が分離した設計となることがある。このような設計を行う場合には、プリアンブルバッファ23とポストアンブルバッファ28をETC用LSIの常時電源が供給される領域に設けた方がよい。スタートマークバッファやエンドマークバッファについても同様である。
また、割り込み信号は、割り込み要因別に複数設けてもよい。
また、ETC部とMCUの通信にシリアル通信を用いるものとして説明したが、これに限定されるものではない。また、受信データバッファと送信データバッファとを別に設けているが、1つにまとめて送受信データバッファとしてもよい。さらに本実施の形態では、ETC部とMCUとを分離して構成したが、1つのLSIとして設計し製造してもよいことはもちろんである。
(第2の実施の形態)
図8は本発明の第2の実施の形態を示すブロック図である。図8において図3と同一の構成要素には同一符号を付して説明を省略する。本実施の形態は受信部13に代えて受信部50を採用した点が第1の実施の形態と異なり、受信部50はカウンタ51を追加した点が図3の受信部13と異なる。
本実施の形態は、規格変更の検出を確実にするために、同一のプリアンブル候補又は同一のポストアンブル候補を所定回数検出した場合には、その候補をプロトコルに対応した制御レジスタの設定値に替えて検出に用いるようにするものである。
制御レジスタ18の一部には、プリアンブル候補とポストアンブル候補との夫々の検出回数の閾値を指定する回数レジスタを設定する。MCU5は、回数レジスタに回数の閾値を設定する。
プリアンブル候補探査部31は、同じプリアンブル候補を検出する毎に検出信号をカウンタ51に出力する。また、ポストアンブル候補探査部32は、同じポストアンブル候補を検出する毎に検出信号をカウンタ51に出力する。カウンタ51は、プリアンブル候補やポストアンブル候補の検出毎に夫々カウントを行い、各カウント結果を送受信制御部15に出力する。送受信制御部15は、カウンタ51の各カウント値と回数レジスタの閾値とを比較し、閾値未満の場合は疑似エラーレジスタをクリアして受信部50を停止し、閾値以上の場合は第1の実施の形態と同様に疑似エラーとして受信部50を動作させる。
このように構成された実施の形態においては、プリアンブル検出部21及びポストアンブル検出部27においてプリアンブルやポストアンブルが検出されない場合には、プリアンブル候補探査部31やポストアンブル候補探査部32においてプリアンブル候補やポストアンブル候補が探査され、プリアンブルバッファ23やポストアンブルバッファ28に保持されていた候補と比較される。これにより、前回の受信と同じプリアンブル候補やポストアンブル候補が得られると、カウンタ51は検出毎に夫々カウントを行う。なお、比較の後、プリアンブル候補やポストアンブル候補はプリアンブルバッファ23やポストアンブルバッファ28の候補を格納する部分に上書きされる。
このように本実施の形態においては、同一のプリアンブル候補、または同一のポストアンブル候補が所定回数検出されると、以後、このプリアンブル候補、ポストアンブル候補がプリアンブル・ポストアンブルの検出に用いられるので、基地局からの送信信号に誤りが入った場合においても受信部やMCUにて無駄な処理が行われず、速やかに次の受信に移ることができる。
なお、回数の閾値としては、プリアンブル候補用とポストアンブル候補用とで共通の閾値を用い、共通の閾値を1つのレジスタに格納してもよい。また、スタートマーク、エンドマークの検出についても、同様に候補の検出回数に応じてスタートマーク候補、エンドマーク候補を用いるようにしてもよい。
(第3の実施の形態)
図9は本発明の第3の実施の形態を示すブロック図である。図9において図3と同一の構成要素には同一符号を付して説明を省略する。本実施の形態は受信部13に代えて受信部55を採用した点が第1の実施の形態と異なり、受信部55はポストアンブル候補探査部32に代えて、ポストアンブル候補変換部56を採用した点が図3の受信部13と異なる。
通信プロトコルによっては、プリアンブルとポストアンブルとは関連を有したビット列に設定される場合がある。この場合には、プリアンブルからポストアンブルを求めることが可能である。ポストアンブル候補変換部56は、プリアンブル候補探査部31が探査して得たプリアンブル候補を使用して、所定の変換処理によってポストアンブル候補を生成する。
例えば、プリアンブル候補探査部31から異なる複数のプリアンブル候補(候補1、候補2、候補3、候補4)が入力された場合には、ポストアンブル候補変換部56は、これらのプリアンブル候補をFM0デコード処理して、これらのプリアンブル候補に夫々対応したポストアンブル候補(候補1、候補2,候補3、候補4)を生成する。
このように構成された実施の形態においては、プリアンブル検出部21によってプリアンブルが検出されない場合には、ポストアンブル候補変換部56は、プリアンブル候補探査部31によって生成されたプリアンブル候補を変換してポストアンブル候補を生成してポストアンブルバッファ28に出力する。
ポストアンブル検出部27は、ポストアンブルバッファ28に格納された一つ又は複数のポストアンブル候補を用いてポストアンブルを検出する。
このように本実施の形態においては、ポストアンブル検出前にポストアンブルレジスタの値だけでなくポストアンブル候補がポストアンブルバッファ28に格納されるため、両方を用いてポストアンブル検出部においてポストアンブルの検出が可能である。これにより、ポストアンブルが検出不能のために生じる処理時間のロスを低減することができる。
なお、ポストアンブル候補変換部によって生成されたポストアンブル候補と受信データが不一致の場合には、第1の実施の形態と同様に、エンドマーク検出後のビット列をポストアンブル候補としてポストアンブルバッファに記憶させるようにしてもよい。
本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適当な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。