IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社アドヴィックスの特許一覧 ▶ 株式会社デンソーの特許一覧

<>
  • 特許-車両の算出装置 図1
  • 特許-車両の算出装置 図2
  • 特許-車両の算出装置 図3
  • 特許-車両の算出装置 図4
  • 特許-車両の算出装置 図5
  • 特許-車両の算出装置 図6
  • 特許-車両の算出装置 図7
  • 特許-車両の算出装置 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-02-15
(45)【発行日】2022-02-24
(54)【発明の名称】車両の算出装置
(51)【国際特許分類】
   G01D 5/244 20060101AFI20220216BHJP
   G01B 7/30 20060101ALI20220216BHJP
   B60T 8/171 20060101ALN20220216BHJP
【FI】
G01D5/244 J
G01B7/30 M
B60T8/171 A
【請求項の数】 4
(21)【出願番号】P 2018056644
(22)【出願日】2018-03-23
(65)【公開番号】P2019168346
(43)【公開日】2019-10-03
【審査請求日】2020-12-10
(73)【特許権者】
【識別番号】301065892
【氏名又は名称】株式会社アドヴィックス
(73)【特許権者】
【識別番号】000004260
【氏名又は名称】株式会社デンソー
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】近藤 圭
(72)【発明者】
【氏名】久須美 孝幸
(72)【発明者】
【氏名】川嵜 剛
(72)【発明者】
【氏名】日比 達明
(72)【発明者】
【氏名】渡邉 善浩
(72)【発明者】
【氏名】小野寺 賢
(72)【発明者】
【氏名】前田 泰幸
(72)【発明者】
【氏名】柴田 悠祐
【審査官】岩本 太一
(56)【参考文献】
【文献】特開2009-121397(JP,A)
【文献】特開2013-084059(JP,A)
【文献】特開2011-007586(JP,A)
【文献】米国特許出願公開第2016/0108842(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B60T 7/12-8/1769
8/32-8/96
G01B 7/00-7/34
G01D 5/00-5/252
5/39-5/62
(57)【特許請求の範囲】
【請求項1】
回転体と一体回転するロータと、前記ロータの回転方向及び同ロータの回転速度に応じたパルス信号を出力するパルス信号出力部と、前記パルス信号出力部から出力されたパルス信号が入力される電子回路と、を備え、
パルス信号のレベルが「High」レベルで保持される期間の長さをパルス幅とした場合、前記パルス信号出力部は、前記ロータの回転速度が大きいほどパルスの発生間隔の短いパルス信号を出力し、前記ロータの回転方向に応じた前記パルス幅のパルスを含むパルス信号を出力するようになっており、
前記電子回路は、
パルス信号が入力される第1のポート及び第2のポートと、
立ち上がりエッジ及び立ち下がりエッジの何れか一方のエッジが前記第1のポートに入力されたときの時刻に関する情報であるエッジ時刻情報が保管されるポートレジスタと、
前記第2のポートに入力されるパルス信号のレベルが「High」レベルである期間の長さであるオン時間を計測するタイマと、
前記回転体の回転方向の判定、及び、前記回転体の回転速度の算出を行う処理実行部と、を有しており、
前記電子回路では、前記第1のポートに前記一方のエッジが入力されると、前記ポートレジスタに保管されている前記エッジ時刻情報をメモリに記憶させる第1の割り込み処理の実行が前記処理実行部に要求され、前記第2のポートに立ち下がりエッジが入力されると、前記タイマによって計測された前記オン時間を前記メモリに記憶させる第2の割り込み処理の実行が前記処理実行部に要求されるようになっており、
前記処理実行部は、前記第2の割り込み処理の実行によって前記メモリに記憶した前記オン時間を基に前記回転体の回転方向を判定し、前記第1の割り込み処理の実行によって前記メモリに記憶した前記エッジ時刻情報を基に前記回転体の回転速度を算出する
車両の算出装置。
【請求項2】
前記処理実行部は、前記回転体の回転方向を判定する判定処理を規定の算出サイクル毎に実行する
請求項1に記載の車両の算出装置。
【請求項3】
前記処理実行部は、前記回転体の回転速度を算出する速度算出処理を規定の算出サイクル毎に実行する
請求項1又は請求項2に記載の車両の算出装置。
【請求項4】
前記回転体は車両の車輪であり、前記ロータは前記車輪と一体回転する
請求項1~請求項3のうち何れか一項に記載の車両の算出装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、回転体の回転速度の算出及び回転体の回転方向の判定を行う車両の算出装置に関する。
【背景技術】
【0002】
特許文献1には、クランク軸などの回転体の回転角を算出する算出装置の一例が記載されている。この算出装置が備えるセンサは、回転体の回転方向及び回転体の回転速度に応じたパルス信号を出力する。すなわち、回転体が第1の方向に回転している場合、パルス信号のレベルが「High」レベルで保持される期間の長さであるパルス幅が第1の幅となる。一方、第1の方向の逆方向である第2の方向に回転体が回転している場合、パルス幅が、第1の幅とは異なる第2の幅となる。そのため、パルス信号のパルス幅を検出することにより、回転体の回転方向を判定することができる。
【0003】
ここで、図8を参照し、このようなセンサからのパルス信号を電子回路に入力させ、回転体の回転方向を判定させる処理を同電子回路のCPUに実行させる場合の一例について説明する。図8に示すように、電子回路70は、センサ100からパルス信号が入力されるポート71を有している。電子回路70では、ポート71に立ち上がりエッジが入力されると、このときの時刻に関する情報がポートレジスタ72に保管され、且つ、第1の割り込み処理の実行がCPU73に要求される。そして、CPU73は、第1の割り込み処理では、ポートレジスタ72に保管されている情報をポート71に立ち上がりエッジが入力された時刻に関する情報としてRAM74に記憶させる。また、ポート71に立ち下がりエッジが入力されると、このときの時刻に関する情報がポートレジスタ72に保管され、且つ、第2の割り込み処理の実行がCPU73に要求される。そして、CPU73は、第2の割り込み処理では、ポートレジスタ72に保管されている情報をポート71に立ち下がりエッジが入力された時刻に関する情報としてRAM74に記憶させる。そして、CPU73は、RAM74に記憶された、ポート71に立ち上がりエッジが入力された時刻に関する情報と、ポート71に立ち下がりエッジが入力された時刻に関する情報とを基にパルス幅を算出し、このパルス幅を基に回転体の回転方向を判定する。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2006-38773号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ポート71に立ち上がりエッジが入力されたために第1の割り込み処理がCPU73に要求されても、第1の割り込み処理よりも先に実行が要求されていた割り込み処理があったり、割り込み処理の禁止期間中に第1の割り込み処理が要求されたりした場合、ポート71に立ち下がりエッジが入力された後で第1の割り込み処理が実行されることがある。この場合、第1の割り込み処理の開始前に、ポートレジスタ72に保管される情報が、ポート71に立ち上がりエッジが入力された時刻に関する情報からポート71に立ち下がりエッジが入力された時刻に関する情報に書き換えられてしまう。このような状態で第1の割り込み処理が実行された場合、第1の割り込み処理によってRAM74に記憶される情報は、ポート71に立ち上がりエッジが入力された時刻に関する情報ではない。その結果、誤った情報に基づいてパルス幅の算出が行われることとなるため、回転体の回転方向を正しく判定できないおそれがある。
【課題を解決するための手段】
【0006】
上記課題を解決するための車両の算出装置は、回転体と一体回転するロータと、ロータの回転方向及び同ロータの回転速度に応じたパルス信号を出力するパルス信号出力部と、パルス信号出力部から出力されたパルス信号が入力される電子回路と、を備えている。パルス信号のレベルが「High」レベルで保持される期間の長さをパルス幅とした場合、パルス信号出力部は、ロータの回転速度が大きいほどパルスの発生間隔の短いパルス信号を出力し、ロータの回転方向に応じたパルス幅のパルスを含むパルス信号を出力するようになっている。電子回路は、パルス信号が入力される第1のポート及び第2のポートと、立ち上がりエッジ及び立ち下がりエッジの何れか一方のエッジが第1のポートに入力されたときの時刻に関する情報であるエッジ時刻情報が保管されるポートレジスタと、第2のポートに入力されるパルス信号のレベルが「High」レベルである期間の長さであるオン時間を計測するタイマと、回転体の回転方向の判定、及び、回転体の回転速度の算出を行う処理実行部と、を有している。また、電子回路では、第1のポートに上記一方のエッジが入力されると、ポートレジスタに保管されているエッジ時刻情報をメモリに記憶させる第1の割り込み処理の実行が処理実行部に要求され、第2のポートに立ち下がりエッジが入力されると、タイマによって計測されたオン時間をメモリに記憶させる第2の割り込み処理の実行が処理実行部に要求されるようになっている。そして、処理実行部は、第2の割り込み処理の実行によってメモリに記憶したオン時間を基に回転体の回転方向を判定し、第1の割り込み処理の実行によってメモリに記憶したエッジ時刻情報を基に回転体の回転速度を算出する。
【0007】
上記構成によれば、ロータが回転体と一体回転すると、パルス信号出力部からパルス信号が電子回路に入力される。そして、立ち上がりエッジ及び立ち下がりエッジのうちの一方のエッジが第1のポートに入力されると、エッジ時刻情報がポートレジスタに保管され、且つ、第1の割り込み処理の実行が処理実行部に要求される。また、第2のポートに立ち上がりエッジが入力されると、タイマによるオン時間の計測が開始される。そして、第2のポートに立ち下がりエッジが入力されると、タイマによるオン時間の計測が停止され、且つ、第2の割り込み処理の実行が処理実行部に要求される。
【0008】
第1の割り込み処理の実行タイミングになると、処理実行部によって第1の割り込み処理が実行される。第1の割り込み処理では、ポートレジスタに保管されているエッジ時刻情報がメモリに記憶される。上記構成では、立ち下がりエッジ及び立ち下がりエッジのうちの他方のエッジが入力されても、ポートレジスタに保管されている情報が別の情報に書き換えられない。そのため、第1の割り込み処理の実行によって、上記一方のエッジが第1のポートに入力されたときの時刻に関する情報を、エッジ時刻情報としてメモリに記憶させることができる。その結果、第1の割り込み処理の実行によってメモリに記憶された情報を基に、回転体の回転速度を算出することができる。
【0009】
また、タイマによって計測されるオン時間は、パルス幅に対応する値であり、且つ、第2の割り込み処理の実行によってメモリに記憶される。そのため、メモリに記憶されたオン時間を基に、回転体の回転方向を判定することができる。
【0010】
したがって、上記構成によれば、ポートへのエッジの入力に起因する割り込み処理の実行が遅れても、回転体の回転方向の判定及び回転体の回転速度の算出を行うことが可能となる。
【0011】
なお、回転体の回転方向の判定を第2の割り込み処理で行うようにしてもよいが、この場合には第2の割り込み処理の実行時間が長くなる。このように割り込み処理の実行時間が長くなると、次に実行すべき他の割り込み処理の開始が遅れやすくなる。
【0012】
そこで、処理実行部は、回転体の回転方向を判定する判定処理を規定の算出サイクル毎に実行することが好ましい。この構成によれば、第2の割り込み処理が回転体の回転方向の判定を含まない分、第2の割り込み処理の実行時間が長くなることを抑制できる。その結果、各割り込み処理の実行タイミングが遅くなることを抑制できる。
【0013】
また、回転体の回転速度の算出を第1の割り込み処理で行うようにしてもよいが、この場合には第1の割り込み処理の実行時間が長くなる。このように割り込み処理の実行時間が長くなると、次に実行すべき他の割り込み処理の開始が遅れてしまう。
【0014】
そこで、処理実行部は、回転体の回転速度を算出する速度算出処理を規定の算出サイクル毎に実行することが好ましい。この構成によれば、第1の割り込み処理が回転体の回転速度の算出を含まない分、第1の割り込み処理の実行時間が長くなることを抑制できる。その結果、各割り込み処理の実行タイミングが遅くなることを抑制できる。
【0015】
近年、各種の車両の走行支援、及び、車両の自動走行を実現するために、車両の移動方向、すなわち車輪の回転方向を精度良く判定できるようにすることが望まれている。そこで、回転体を車両の車輪とし、ロータを車輪と一体回転させるようにしてもよい。この場合、車両の算出装置によって、車輪の回転方向を判定することができるとともに、車輪の回転速度を算出することができる。
【図面の簡単な説明】
【0016】
図1】車両の算出装置の一実施形態の概略を示す構成図。
図2】同算出装置の回転角センサの概略を示す構成図。
図3】(a)~(c)は、同回転角センサのパルス信号出力部から出力されるパルス信号を示すグラフ。
図4】CPUによってRAMの記憶内容が更新される様子を示す模式図。
図5】CPUによって実行される速度算出処理を説明するフローチャート。
図6】CPUによって実行される判定処理を説明するフローチャート。
図7】(a)~(e)は、各回転角センサからパルス信号が電子回路に入力される際におけるタイミングチャート。
図8】従来において、センサと、同センサから入力されたパルス信号を処理する電子回路とを示す模式図。
【発明を実施するための形態】
【0017】
以下、車両の算出装置の一実施形態を図1図7に従って説明する。
図1に示すように、本実施形態の算出装置20は、複数(本実施形態では4つ)の車輪11,12,13,14を備える車両に適用される。この算出装置20は、車輪11~14と同数の回転角センサ21,22,23,24と、車輪11~14の回転方向の判定及び車輪11~14の回転速度VWの算出を行う電子回路30とを備えている。本実施形態では、車輪11~14が、「回転体」の一例である。そして、各回転角センサ21~24は、対応する車輪11~14の回転に応じたパルス信号を電子回路30に出力する。
【0018】
電子回路30は、処理実行部の一例であるCPU36と、CPU36によって実行される各種のプログラムが記憶されているROM37と、CPU36による処理の結果が一時的に記憶されるRAM38とを有している。また、電子回路30には、回転角センサ21~24と同数の入力系31,32,33,34が設けられている。すなわち、第1の入力系31には第1の車輪11用の回転角センサ21からパルス信号が入力され、第2の入力系32には第2の車輪12用の回転角センサ22からパルス信号が入力される。また、第3の入力系33には第3の車輪13用の回転角センサ23からパルス信号が入力され、第4の入力系34には第4の車輪14用の回転角センサ24からパルス信号が入力される。
【0019】
各入力系31~34は、対応する回転角センサ21~24からのパルス信号が入力される第1のポート41及び第2のポート42を有している。また、各入力系31~34は、第1のポート41に立ち上がりエッジが入力されたときの時刻に関する情報であるエッジ時刻情報Teが保管されるポートレジスタ43と、第2のポート42に入力されるパルス信号のレベルが「High」レベルである期間の長さであるオン時間Tonを計測するタイマ44を有している。
【0020】
次に、図2及び図3を参照し、回転角センサ21~24について説明する。
図2に示すように、回転角センサ21~24は、対応する車輪11~14と一体回転するロータ26と、車両の車体に取り付けられている検出系27とを有している。ロータ26は、車輪11~14及びロータ26の回転軸線Zを中心とする周方向に沿ってN極とS極とが交互に着磁されたものである。検出系27には、ロータ26の回転に伴う磁界の変化を検出する2つの回転検出子281,282が設けられている。各回転検出子281,282は、検出した磁界の変化に応じた信号を出力する。また、検出系27には、各回転検出子281,282からの信号が入力されるパルス信号出力部29が設けられている。パルス信号出力部29は、両回転検出子281,282からの信号を基にロータ26の回転速度及び回転方向に応じたパルス信号を生成し、このパルス信号を出力する。
【0021】
車両を前進させるための車輪11~14の回転方向である第1の回転方向を前進方向A1といい、車両を後退させるための車輪11~14の回転方向である第2の回転方向を後退方向A2というものとする。後退方向A2は、前進方向A1の反対方向である。車輪11~14及びロータ26が前進方向A1に回転している場合におけるパルス信号の例が図3(a),(b)に図示されている。図3(b)には、図3(a)に示すパルス信号がパルス信号出力部29から出力される際の車輪11~14及びロータ26の回転速度よりも車輪11~14及びロータ26の回転速度が大きい場合にパルス信号出力部29から出力されるパルス信号が図示されている。
【0022】
図3(a),(b)に示すように、パルス信号出力部29は、車輪11~14及びロータ26の回転速度が大きいほど、パルスの発生間隔INTの短いパルス信号を電子回路30に出力する。ただし、パルス信号のレベルが「High」レベルで保持される期間の長さをパルス幅PWとした場合、図3(a)に示すパルス信号におけるパルス幅PW、及び、図3(b)に示すパルス信号におけるパルス幅PWは、第1のパルス幅PW1と等しい。すなわち、車輪11~14及びロータ26が前進方向A1に回転している場合、パルス信号出力部29は、パルス幅PWが第1のパルス幅PW1となるパルスを含むパルス信号を出力する。
【0023】
一方、図3(c)には、車輪11~14及びロータ26が後退方向A2に回転している場合におけるパルス信号の例が図示されている。車輪11~14及びロータ26が後退方向A2に回転する場合であっても、パルス信号出力部29は、車輪11~14及びロータ26の回転速度が大きいほど、パルスの発生間隔INTの短いパルス信号を電子回路30に出力するようになっている。ただし、図3(c)に示すパルス信号に含まれるパルスのパルス幅PWは、第1のパルス幅PW1よりも短い第2のパルス幅PW2と等しい。すなわち、本実施形態では、パルス信号出力部29は、車輪11~14及びロータ26の回転方向が後退方向A2である場合には、同回転方向が前進方向A1である場合とはパルス幅PWの異なるパルスを含むパルス信号を出力する。
【0024】
次に、図1、及び4~図6を参照し、電子回路30で実行される各種の処理について説明する。
図1に示すように、対をなす第1のポート41及び第2のポート42には、同一のパルス信号が入力される。例えば、第1の入力系31の第1のポート41及び第2のポート42には、第1の車輪11用の回転角センサ21からのパルス信号が入力される。そして、第1のポート41に立ち上がりエッジが入力されると、ポートレジスタ43には、第1のポート41に立ち上がりエッジが入力されたときの時刻に関する情報であるエッジ時刻情報Teが保管される。すなわち、ポートレジスタ43に保管される情報は、第1のポート41に立ち上がりエッジが入力される毎に書き換えられる。また、第1のポート41に立ち上がりエッジが入力されると、第1の割り込み処理の実行がCPU36に要求される。
【0025】
第2のポート42に立ち上がりエッジが入力されると、タイマ44によってオン時間Tonの計測が開始される。そして、第2のポート42に立ち下がりエッジが入力されると、タイマ44によるオン時間Tonの計測が停止される。また、第2のポート42に立ち下がりエッジが入力されると、第2の割り込み処理の実行がCPU36に要求される。
【0026】
図4に示すように、CPU36は、第1の割り込み処理では、ポートレジスタ43に保管されているエッジ時刻情報Teをメモリの一例であるRAM38の所定領域に記憶させ、且つ、RAM38に記憶されている更新カウンタCuを「1」だけインクリメントさせる。具体的には、RAM38には、第1の車輪11用の記憶領域381、第2の車輪12用の記憶領域382、第3の車輪13用の記憶領域383及び第4の車輪14用の記憶領域384が予め用意されている。そして、例えば第1の入力系31の第1のポート41に立ち上がりエッジが入力されたために実行が要求された第1の割り込み処理では、CPU36は、第1の入力系31のポートレジスタ43に保管されているエッジ時刻情報Teを第1の車輪11用の記憶領域381に上書き記憶させ、且つ、記憶領域381の更新カウンタCuを更新する。なお、第1の入力系31以外の他の入力系32~34の第1のポート41に立ち上がりエッジが入力されたために実行が要求される第1の割り込み処理の内容は、第1の入力系31の第1のポート41に立ち上がりエッジが入力されたために実行が要求される第1の割り込み処理の内容と同等であるため、その説明を割愛する。
【0027】
図4に示すように、CPU36は、第2の割り込み処理では、タイマ44で計測されたオン時間TonをRAM38の所定領域に記憶させる。例えば第1の入力系31の第2のポート42に立ち下がりエッジが入力されたために実行が要求された第2の割り込み処理では、CPU36は、第1の入力系31のタイマ44で計測されたオン時間Tonを第1の車輪11用の記憶領域381に上書き記憶させる。なお、第1の入力系31以外の他の入力系32~34の第2のポート42に立ち下がりエッジが入力されたために実行が要求される第2の割り込み処理の内容は、第1の入力系31の第2のポート42に立ち下がりエッジが入力されたために実行が要求された第2の割り込み処理の内容と同等であるため、その説明を割愛する。
【0028】
CPU36は、第1の割り込み処理及び第2の割り込み処理の他、車輪11~14の回転方向を判定する判定処理、及び、車輪11~14の回転速度VWを算出する速度算出処理を実行する。本実施形態では、CPU36は、判定処理及び速度算出処理を規定の算出サイクル毎に実行する。すなわち、車輪11~14の回転方向の判定及び車輪11~14の回転速度VWの算出は、第1の割り込み処理及び第2の割り込み処理とは別に行われる。なお、算出サイクルの時間的な長さは、第1のパルス幅PW1及び第2のパルス幅PW2のうちの大きい方のパルス幅よりも十分に長い。
【0029】
図5には、速度算出処理を説明するフローチャートが図示されている。速度算出処理において、CPU36は、第Nの車輪用の更新カウンタCuをRAM38から読み出す(S11)。第Nの車輪用の更新カウンタCuとは、RAM38における第Nの車輪用の記憶領域に記憶されている更新カウンタCuのことである。例えば係数Nが「1」である場合、CPU36は、第1の車輪11用の記憶領域381から更新カウンタCuを読み出す。
【0030】
続いて、CPU36は、読み出した第Nの車輪用の更新カウンタCuを基に、第Nの車輪の回転速度VWを算出する(S12)。更新カウンタCuは、速度算出処理が前回に実行された時点から速度算出処理が今回実行されるまでの間で第1のポート41に立ち上がりエッジが入力された回数である。パルス信号出力部29から出力されるパルス信号では、車輪11~14の回転速度が大きいほどパルスの発生間隔INTが短い。そのため、更新カウンタCuが大きいほど、車輪11~14の回転速度が大きいということができる。したがって、ステップS12では、CPU36は、読み出した更新カウンタCuが大きいほど回転速度VWが大きくなるように第Nの車輪の回転速度VWを算出する。
【0031】
そして、CPU36は、第Nの車輪用の更新カウンタCuを「0」にリセットする(S13)。すなわち、CPU36は、RAM38における第Nの車輪用の記憶領域に記憶されている更新カウンタCuを「0」にリセットする。例えば係数Nが「1」である場合、CPU36は、第1の車輪11用の記憶領域381の更新カウンタCuを「0」にリセットする。続いて、CPU36は、係数Nを「1」だけインクリメントし(S14)、係数Nが「4」よりも大きいか否かを判定する(S15)。本実施形態では、回転角センサ21~24の数が「4つ」であるため、ステップS15では、係数Nと「4」とを用いた判定が行われる。係数Nが「4」以下である場合、今回の速度算出処理での全ての車輪11~14の回転速度VWの算出が完了したとの判定がなされない。一方、係数Nが「4」よりも大きい場合は、今回の速度算出処理での全ての車輪11~14の回転速度VWの算出が完了したと判定する。
【0032】
そのため、係数Nが「4」以下である場合(S15:NO)、CPU36は、前述したステップS11の処理を実行する。一方、係数Nが「4」よりも大きい場合(S15:YES)、CPU36は、係数Nを「1」と等しくする(S16)。その後、CPU36は、速度算出処理を終了する。
【0033】
図6には、判定処理を説明するフローチャートが図示されている。判定処理において、CPU36は、第Mの車輪用のオン時間TonをRAM38から読み出す(S21)。第Mの車輪用のオン時間Tonとは、RAM38における第Mの車輪用の記憶領域に記憶されているオン時間Tonのことである。例えば係数Mが「1」である場合、CPU36は、第1の車輪11用の記憶領域381からオン時間Tonを読み出す。続いて、CPU36は、読み出した第Mの車輪用のオン時間Tonが方向判定時間TonTh以上であるか否かを判定する(S22)。方向判定時間TonThは、第1のパルス幅PW1よりも短く、且つ、第2のパルス幅PW2よりも長い時間に設定されている。そのため、第Mの車輪用のオン時間Tonが方向判定時間TonTh以上である場合(S22:YES)、CPU36は、第Mの車輪の回転方向が前進方向A1であると判定する(S23)。そして、CPU36は、その処理を後述するステップS25に移行する。一方、第Mの車輪用のオン時間Tonが方向判定時間TonTh未満である場合(S22:NO)、CPU36は、第Mの車輪の回転方向が後退方向A2であると判定する(S24)。そして、CPU36は、その処理を次のステップS25に移行する。
【0034】
ステップS25において、CPU36は、係数Mを「1」だけインクリメントする。続いて、CPU36は、係数Mが「4」よりも大きいか否かを判定する(S26)。本実施形態では、回転角センサ21~24の数が「4つ」であるため、ステップS26では、係数Mと「4」とを用いた判定が行われる。そのため、係数Mが「4」以下である場合、今回の判定処理での全ての車輪11~14の回転方向の判定が完了したとの判定がなされない。一方、係数Mが「4」よりも大きい場合は、今回の判定処理での全ての車輪11~14の回転方向の判定が完了したと判定する。そして、係数Mが「4」以下である場合(S26:NO)、CPU36は、前述したステップS21の処理を実行する。一方、係数Mが「4」よりも大きい場合(S26:YES)、CPU36は、係数Mを「1」と等しくする(S27)。その後、CPU36は、判定処理を終了する。
【0035】
次に、図7を参照し、本実施形態の作用及び効果について説明する。なお、図7(e)において、「PIP1」は規定の算出サイクル毎に実行される判定処理のことを表し、「PIP2」は規定の算出サイクル毎に実行される速度算出処理のことを表している。また、「IP1」は第1の割り込み処理のことを表し、「IP2」は第2の割り込み処理のことを表している。判定処理(PIP1)及び速度算出処理(PIP2)の実行途中に当該処理で使用されるデータ(エッジ時刻情報Te、更新カウンタCu及びオン時間Tonなど)が更新されると、当該処理での演算結果を誤る可能性がある。そのため、判定処理(PIP1)及び速度算出処理(PIP2)の実行途中では、第1の割り込み処理(IP1)及び第2の割り込み処理(IP2)の実行が禁止される。具体的には、例えば判定処理(PIP1)の最初で割り込みが禁止された後に判定処理(PIP1)の実行中に立ち上がりエッジが入力された場合、立ち上がりエッジが入力された時刻に関する情報がポートレジスタ43に保管され、第1の割り込み処理(IP1)の実行が要求される。しかし、CPU36では、割り込み禁止が解除されるまで第1の割り込み処理(IP1)の実行要求を受け付けない。なお、図7に示す例では、判定処理(PIP1)と速度算出処理(PIP2)とを連続した処理として扱い、判定処理(PIP1)の実行開始時に割り込みが禁止され、速度算出処理(PIP2)の実行終了時に割り込み禁止が解除される。
【0036】
図7(a),(b),(c),(d),(e)に示す例では、判定処理が実行されている時刻t11で、第1の入力系31の第1及び第2の各ポート41,42に立ち上がりエッジが入力される。すると、第1の入力系31のポートレジスタ43には時刻t11に関する情報が第1のポート41に立ち上がりエッジが入力された時刻に関する情報として保管され、第1の入力系31のタイマ44によるオン時間Tonの計測が開始される。また、この際には第1の割り込み処理の実行がCPU36に要求される。しかし、時刻t11では、判定処理が実行中であり、且つ速度算出処理が未だ実行されていないため、第1の割り込み処理は未だ実行されない。
【0037】
また、その後の時刻t12で、第2の入力系32の第1及び第2の各ポート41,42に立ち上がりエッジが入力される。すると、第2の入力系32のポートレジスタ43には、時刻t12に関する情報が第1のポート41に立ち上がりエッジが入力された時刻に関する情報として保管され、第2の入力系32のタイマ44によるオン時間Tonの計測が開始される。また、この際には第1の割り込み処理の実行がCPU36に要求される。しかし、時刻t12では、判定処理が未だ実行中であり、さらには速度算出処理、及び、第1の入力系31の第1のポート41に立ち上がりエッジが入力されたことに起因する第1の割り込み処理が未だ実行されていない。そのため、第2の入力系32の第1のポート41に立ち上がりエッジが入力されたことに起因する第1の割り込み処理は未だ実行されない。
【0038】
そして、判定処理の実行が完了すると、速度算出処理の実行が開始される。速度算出処理が実行中である時刻t13で、第3の入力系33の第1及び第2の各ポート41,42に立ち上がりエッジが入力される。すると、第3の入力系33のポートレジスタ43には時刻t13に関する情報が第1のポート41に立ち上がりエッジが入力された時刻に関する情報として保管され、第3の入力系33のタイマ44によるオン時間Tonの計測が開始される。また、この際には第1の割り込み処理の実行がCPU36に要求される。
【0039】
さらに、その後の時刻t14で、第4の入力系34の第1及び第2の各ポート41,42に立ち上がりエッジが入力される。すると、第4の入力系34のポートレジスタ43には時刻t14に関する情報が第1のポート41に立ち上がりエッジが入力された時刻に関する情報として保管され、第4の入力系34のタイマ44によるオン時間Tonの計測が開始される。また、この際には第1の割り込み処理の実行がCPU36に要求される。
【0040】
図7に示す例では、時刻t14で、第1の入力系31の第1及び第2の各ポート41,42に立ち下がりエッジが入力される。すると、第1の入力系31のタイマ44によるオン時間Tonの計測が停止され、且つ、第2の割り込み処理の実行が要求される。しかし、この時点では、速度算出処理が未だ実行中であり、且つ、各第1の割り込み処理が未だ実行されていない。そのため、第2の割り込み処理は未だ実行されない。
【0041】
その後の時刻t15で速度算出処理の実行が完了すると、第1の入力系31の第1のポート41に立ち上がりエッジが入力されたことに起因する第1の割り込み処理の実行が開始される。時刻t15では、第1の入力系31の第1及び第2の各ポート41,42には立ち下がりエッジが既に入力されている。しかし、本実施形態では、第1のポート41に立ち下がりエッジが入力されても、ポートレジスタ43に保管されている情報は書き換えられない。そのため、第1の入力系31の第1のポート41に立ち下がりエッジが入力された後で第1の割り込み処理が実行されても、時刻t11に関する情報をRAM38における第1の車輪11用の記憶領域381に記憶させることができる。
【0042】
時刻t16で第1の入力系31の第1のポート41に立ち上がりエッジが入力されたことに起因する第1の割り込み処理の実行が完了すると、第2の入力系32の第1のポート41に立ち上がりエッジが入力されたことに起因する第1の割り込み処理が実行される。この第1の割り込み処理では、時刻t12に関する情報がRAM38における第2の車輪12用の記憶領域382に記憶される。
【0043】
本実施形態では、複数の回転角センサ21~24からパルス信号が電子回路30にそれぞれ入力されるようになっている。そして、各第1のポート41に立ち上がりエッジが入力される毎に、第1の割り込み処理の実行がCPU36に要求される。そのため、第1の割り込み処理の実行がCPU36に要求された時点と、第1の割り込み処理がCPU36で実際に実行される時点とのタイムラグが大きくなりやすい。この点、本実施形態では、一つの回転角センサに対して2つのポート41,42が設けられており、各ポート41,42のうちの第1のポート41に立ち下がりエッジが入力されても、ポートレジスタ43に保管される情報が書き換えられないようになっている。そのため、第1のポート41に立ち下がりエッジが入力された後で第1の割り込み処理が実行されたとしても、第1のポート41に立ち上がりエッジが入力されたときの時刻に関する情報をRAM38に記憶させることができる。そのため、速度算出処理によって、車輪11~14の回転速度VWを算出することができる。
【0044】
時刻t17で第4の入力系34の第1のポート41に立ち上がりエッジが入力されたことに起因する第1の割り込み処理の実行が完了すると、第1の入力系31の第2のポート42に立ち下がりエッジが入力されたことに起因する第2の割り込み処理が実行される。この第2の割り込み処理では、第1の入力系31のタイマ44によって計測されたオン時間Tonが、RAM38における第1の車輪11用の記憶領域381に記憶される。そして、時刻t18で第1の入力系31の第2のポート42に立ち下がりエッジが入力されたことに起因する第2の割り込み処理の実行が完了すると、第2の入力系32の第2のポート42に立ち下がりエッジが入力されたことに起因する第2の割り込み処理が実行される。この第2の割り込み処理では、第2の入力系32のタイマ44によって計測されたオン時間Tonが、RAM38における第2の車輪12用の記憶領域382に記憶される。
【0045】
本実施形態では、第2の割り込み処理の実行によって、第2のポート42に入力されるパルス信号に含まれるパルス幅PWに対応するオン時間TonがRAM38に記憶される。そのため、第1のポート41に立ち下がりエッジが入力された時刻に関する情報をポートレジスタ43に保管させなくても、判定処理の実行によって車輪11~14の回転方向を判定することができる。
【0046】
なお、本実施形態では、上記の効果に加え、以下に示す効果をさらに得ることができる。
(1)車輪11の回転方向の判定を第2の割り込み処理で行うようにした場合、第2の割り込み処理の実行時間が長くなる。このように第2の割り込み処理の実行時間が長くなると、次に実行すべき他の割り込み処理の開始が遅れやすくなる。この点、本実施形態では、第2の割り込み処理ではなく、規定の算出サイクル毎に実行される処理で、車輪11の回転方向の判定が行われるようになっている。これにより、第2の割り込み処理が車輪11~14の回転方向の判定を含まない分、第2の割り込み処理の実行時間が長くなることを抑制できる。その結果、各割り込み処理の実行タイミングが遅くなることを抑制できる。
【0047】
(2)車輪11~14の回転速度VWの算出を第1の割り込み処理で行うようにした場合、第1の割り込み処理の実行時間が長くなる。このように第1の割り込み処理の実行時間が長くなると、次に実行すべき他の割り込み処理の開始が遅れてしまう。この点、本実施形態では、第1の割り込み処理ではなく、規定の算出サイクル毎に実行される処理で、車輪11~14の回転速度VWの算出が行われるようになっている。これにより、第1の割り込み処理が車輪11~14の回転速度VWの算出を含まない分、第1の割り込み処理の実行時間が長くなることを抑制できる。その結果、各割り込み処理の実行タイミングが遅くなることを抑制できる。
【0048】
上記実施形態は、以下のように変更して実施することができる。上記実施形態及び以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
・上記実施形態では、判定処理の実行サイクルが速度算出処理の実行サイクルと同じであった。しかし、判定処理の実行サイクルと速度算出処理の実行サイクルとが互いに相違していてもよい。この場合、判定処理と速度算出処理とが続けて実行されなくなる。そのため、判定処理の実行開始時に割り込み処理の実行が禁止され、同判定処理の実行終了時に割り込み処理の実行禁止が解除されることとなる。同様に、速度算出処理の実行開始時に割り込み処理の実行が禁止され、同速度算出処理の実行終了時に割り込み処理の実行禁止が解除されることとなる。
【0049】
・車輪11~14の回転方向の判定を第2の割り込み処理の中で行うようにしてもよい。この場合、例えば第1の入力系31の第2のポート42に立ち下がりエッジが入力されたことに起因する第2の割り込み処理では、タイマ44によって計測されたオン時間TonをRAM38の第1の車輪11用の記憶領域381に記憶させ、同記憶領域381に記憶されたオン時間Tonを基に第1の車輪11の回転方向を判定するようにしてもよい。同様に、例えば第2の入力系32の第2のポート42に立ち下がりエッジが入力されたことに起因する第2の割り込み処理では、タイマ44によって計測されたオン時間TonをRAM38の第2の車輪12用の記憶領域382に記憶させ、同記憶領域382に記憶されたオン時間Tonを基に第2の車輪12の回転方向を判定するようにしてもよい。
【0050】
・車輪11~14の回転速度VWの算出を第1の割り込み処理の中で行うようにしてもよい。この場合、第1の入力系31の第1のポート41に立ち上がりエッジが入力されたことに起因する第1の割り込み処理では、ポートレジスタ43に保管されているエッジ時刻情報TeをRAM38の第1の車輪11用の記憶領域381に記憶させ、同記憶領域381に記憶されているエッジ時刻情報Teを基に第1の車輪11の回転速度VWを算出するようにしてもよい。
【0051】
・車輪11~14の回転速度VWを、上記実施形態で説明した方法とは異なる方法で算出するようにしてもよい。例えば、エッジ時刻情報Teの最新値とエッジ時刻情報Teの前回値とをRAM38に記憶させるようにし、RAM38に記憶されているエッジ時刻情報Teの最新値とエッジ時刻情報Teの前回値とを基に、第1のポート41に立ち上がりエッジが入力される間隔を算出する。そして、当該間隔が短いほど車輪の回転速度VWが大きくなるように、回転速度VWを算出するようにしてもよい。
【0052】
・第1のポート41に立ち下がりエッジが入力されたときに、そのときの時刻に関する情報をエッジ時刻情報Teとしてポートレジスタ43に保管し、第1の割り込み処理の実行をCPU36に要求するようにしてもよい。この場合、第1のポート41に立ち上がりエッジが入力されても、ポートレジスタ43に保管されている情報が書き換えられない。そして、速度算出処理では、RAM38に記憶されている、第1のポート41に立ち下がりエッジが入力されたときの時刻に関する情報を基に、車輪の回転速度VWが算出されることとなる。
【0053】
・回転角センサ21~24は、ロータ26の回転速度及び回転方向に応じたパルス信号を出力できる構成であれば、上記実施形態で説明した構成とは別の構成であってもよい。
・上記実施形態では、全ての車輪11~14に対して、ロータ26の回転速度及び回転方向に応じたパルス信号を出力できる回転角センサが設けられている。しかし、各車輪11~14のうちの一部の車輪に対してはロータの回転速度及び回転方向に応じたパルス信号を出力できる回転角センサを設け、残りの車輪に対してはロータの回転速度に応じてパルスの発生間隔が変わるものの、回転方向によってパルス幅が変化しないタイプの回転角センサを設けるようにしてもよい。この場合であっても、一部の車輪に対して設けられている回転角センサから出力されるパルス信号を基に、車両の移動方向を判定することができる。
【0054】
・上記実施形態では、車両の算出装置を、車輪11~14用の回転角センサ21~24を備える算出装置20に具体化したが、車輪以外の他の回転体用の回転角センサを備える装置に具体化してもよい。例えば、車両の算出装置を、車載エンジンのクランク軸用の回転角センサを備える装置に具体化してもよい。この場合、算出装置は、回転体の一例であるクランク軸の回転速度の算出、及び、クランク軸の回転方向の判定を行うことができる。また、車両の算出装置を、車載の電動モータの回転軸用の回転角センサを備える装置に具体化してもよい。この場合、算出装置は、回転体の一例である電動モータの回転軸の回転速度の算出、及び、回転軸の回転方向の判定を行うことができる。
【符号の説明】
【0055】
11~14…回転体の一例である車輪、20…算出装置、26…ロータ、29…パルス信号出力部、30…電子回路、36…処理実行部の一例であるCPU、38…メモリの一例であるRAM、41…第1のポート、42…第2のポート、43…ポートレジスタ、44…タイマ。
図1
図2
図3
図4
図5
図6
図7
図8