(58)【調査した分野】(Int.Cl.,DB名)
前記時間計測部は、前記表示コントローラが前記画像メモリ領域に連続して行う2回の前記画像データの書き込み処理の間の時間間隔を計測することを特徴とする請求項1から4のいずれか1項に記載の表示制御装置。
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献1に開示されたシステムでは、一方のLCDコントローラのフレームレートを固定的に低い値に設定しているが、より効率的にフレームレートを低下させるには、表示内容に応じて動的にフレームレートを変更することが好ましい。動的にフレームレートを変更するには、例えば、画像データを連続するフレーム間で比較して、画像データに相違がある場合の頻度を測定し、その測定結果に基づいてフレームレートを決定して変更する。
【0008】
このような処理をハードウェアで実現する場合、連続する画像データを比較する比較器が必要であるため、システムの構成の複雑化およびコストアップを招く。また、上記の処理をソフトウェアで実現する場合、画像データ間で変化が生じていないにも関わらず比較処理を常に行わなければならないため、システムのパフォーマンスが低下する。
【0009】
本発明は、前記の問題点に鑑みてなされたものであり、その目的は、表示コントローラによるメモリアクセス頻度の最適化をシステムのコストアップおよびパフォーマンスの低下を招くことなく行うことにある。
【課題を解決するための手段】
【0010】
上記の課題を解決するために、本発明の表示制御装置は、表示装置が表示する画像の画像データを記憶する画像メモリ領域を含むメモリと、前記画像メモリ領域に更新された前記画像データを書き込むとともに読み出し、可変のフレームレートで定まる間隔で読み出した前記画像データを前記表示装置に与える表示コントローラと、前記画像データが前回更新されてから次に更新されるまでの時間を計測する時間計測部と、前記時間計測部によって計測された計測時間に基づいて前記フレームレートを決定するフレームレート決定部とを備えていることを特徴としている。
【0011】
上記の構成では、表示コントローラが、そのフレームレートに基づいて画像メモリ領域に対してアクセスするとき、表示コントローラのフレームレートを画像データの更新に要する時間に応じて低下させることができる。フレームレートが低下することで、メモリへの全アクセスに対して、表示コントローラによる画像メモリ領域へのアクセスの比率を低下させ、CPUによるメモリへのアクセスの比率を高めることができる。それゆえ、表示制御装置を含むシステムのパフォーマンスを向上させることができる。
【0012】
前記表示制御装置において、前記フレームレート決定部は、単一の前記計測時間に基づいて前記フレームレートを決定することが好ましい(第1モード)。
【0013】
画像の更新間隔が短いために直ぐにフレームレートを変更しないと、画像データが更新されているのに、実際に表示される画像が更新されないという不都合が生じる。この場合は、単一のタイマ値に基づいてフレームレートを決定する。これにより、素早くフレームレートを変更するので、上記のような不都合を回避することができる。
【0014】
前記表示制御装置において、前記フレームレート決定部は、複数の前記計測時間の平均値に基づいて前記フレームレートを決定することが好ましい(第2モード)。
【0015】
これにより、計測時間のばらつきが抑えられ、より精度高くフレームレートを変更することができる。
【0016】
前記表示制御装置は、前記計測時間が所定の基準時間未満であるか否かを判定する時間判定部をさらに備え、前記フレームレート決定部は、前記計測時間が所定の基準時間未満であるときに、単一の前記計測時間に基づいて前記フレームレートを決定する一方、前記計測時間が所定の基準時間未満でないないときに、複数の前記計測時間の平均値に基づいて前記フレームレートを決定することが好ましい。
【0017】
上記の構成では、フレームレート決定部が、計測時間に応じて、フレームレートの決定を上述の第1モードおよび第2モードから1つを選択して行う。これにより、フレームレートの変化に応じて適切にフレームレートを決定することができる。
【0018】
前記表示制御装置において、前記時間計測部は、前記表示コントローラが前記画像メモリ領域に連続して行う2回の前記画像データの書き込み処理の間の時間間隔を計測することが好ましい。
【0019】
上記の構成では、フレームレート決定部が、実際に更新された画像データが画像メモリ領域に書き込まれる時間間隔に基づいてフレームレートを決定する。これにより、画像の更新のタイミングに応じてフレームレートを決定することができる。
【0020】
前記表示制御装置において、前記時間計測部は、所定の事象の開始から終了までの時間を計測し、フレームレート決定部は、前記画像データの更新を伴う前記事象について計測された前記計測時間に基づいて前記フレームレートを決定することが好ましい。
【0021】
上記の構成では、事象に伴って画像が更新される場合、フレームレート決定部が、その事象の開始から終了までの計測時間に基づいてフレームレートを決定する。これにより、画像の更新のタイミングに応じてフレームレートを決定することができる。
【0022】
本発明の表示システムは、上記のいずれかの表示制御装置と、前記表示制御装置によって制御される表示装置とを備えていることを特徴としている。
【0023】
上記の表示システムでは、前述の表示制御装置を含むことにより、パフォーマンスを向上させることができる。
【発明の効果】
【0024】
本発明は、表示コントローラによるメモリアクセス頻度の最適化をシステムのコストアップおよびパフォーマンスの低下を招くことなく行うことができるという効果を奏する。
【発明を実施するための形態】
【0026】
〔実施形態1〕
本発明の一実施形態について、
図1〜
図6を参照して説明する。
【0027】
図1は、本実施形態に係るHMI(Human Machine Interface)システム100の概要を示す図である。
図2は、HMIシステム100におけるメインメモリ2のメモリマップを示す図である。
図3は、HMIシステム100の構成を制御部21を中心として示すブロック図である。
【0028】
図1に示すHMIシステム100(表示システム)は、プログラマブル表示器のようにユーザと装置(例えば外部機器)との間を仲介するインターフェース機器であり、操作用の画像を表示装置に表示するとともに、表示装置の表示面からの入力操作を可能にする。HMIシステム100は、HMI機能を実現するために、CPU(Central Processing Unit)1と、メインメモリ2と、LCDコントローラ3と、ユーザメモリ4と、記憶装置5と、通信部6と、タッチパネル7と、タイマ8と、バス9と、スケーラ10と、LCD(Liquid Crystal Display)モジュール11とを備えている。
【0029】
CPU1は、HMIプログラムを実行することにより、HMIシステム100のHMI機能を実現する。CPU1は、次に述べるメインメモリ2のプログラム領域2aに対して
図1に破線にて示すようにアクセス(メインメモリアクセス)する。これにより、CPU1は、プログラム領域2aにロードされたプログラムを読み出して実行する。
【0030】
メインメモリ2(メモリ)は、RAM(Random Access Memory)によって構成されており、
図2に示すように、プログラム領域2aと、VRAM(Video Random Access Memory)領域2bと、タイマ値保存領域2cとを有している。プログラム領域2aは、上記のHMIプログラムを始めとして、HMIシステムを動作させる上で必要な各種のプログラムを保存する領域である。VRAM領域2b(画像メモリ領域)は、LCDモジュール11が画像を表示するための画像データを保存する領域である。タイマ値保存領域2cは、タイマ8によって計時された複数の時間をタイマ値T1,T2,T3,…,Tnとして保存する領域である。
【0031】
LCDコントローラ3(表示コントローラ)は、
図1に破線にて示すVRAMアクセスを行うことにより、更新された画像データをVRAM領域2bに書き込むとともに、VRAM領域2bから所定のフレームレートで定まる間隔で画像データを読み出して出力する。LCDコントローラ3は、フレームレートを任意に設定することが可能であり、可変のフレームレートを設定するためのレジスタを有している。また、LCDコントローラ3は、画像データに対する各種の処理(拡大縮小、画質調整など)を行う。
【0032】
ユーザメモリ4は、ユーザが用意した各種のデータを記憶するために設けられたメモリである。ユーザメモリ4に記憶されるデータとしては、HMI画面の画像データ(HMI画像データ)が主なデータとして挙げられる。
【0033】
HMI画像データは、HMIシステム100に表示される1フレーム分の画像データであって、画像作成ソフトウェアによって作成される。HMI画像データは、具体的には、ベース画像上に、部品画像が配置されたり、図形が描画されたり、テキストが記載されたりして構成されている。
【0034】
部品画像としては、スイッチ(オン・オフスイッチ、切替スイッチ、押しボタンスイッチなど)、ランプ、テンキー、各種表示部品(例えば、数値表示部品、メータ表示部品、グラフ表示部品、アラーム表示部品など)などが画像作成ソフトウェアに用意されている。部品画像には、その機能を実現するための処理内容が処理規定情報として設定されている。例えば、スイッチの部品画像には、タッチ操作されると、所望のアドレスで指定されるビットの値を“0”と“1”との間で書き替えるという処理内容を規定した処理規定情報が、画像作成ソフトウェアによって予め設定されている。
【0035】
記憶装置5は、上述のHMIプログラムなどのHMIシステム100の動作に不可欠なプログラムを記憶するために設けられている。記憶装置5は、ROM(Read Only Memory)、HDD(Hard Disc Drive)、SSD(Solid State Drive)などで構成される。
【0036】
HMIプログラムは、記憶装置5に記憶される以外に、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などの一時的でない有形の記録媒体に記憶されてもよい。また、HMIプログラムは、HMIプログラムを伝送可能な任意の伝送媒体(通信ネットワーク、放送波等)を介してHMIシステム100または後述する実施形態2のHMIシステム200(
図7参照)に供給されてもよい。なお、本発明は、HMIプログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【0037】
通信部6は、外部機器12との通信を行う部分である。通信部6は、外部機器12がシリアル通信を行う機種である場合にシリアル通信制御を行う一方、外部機器12がネットワーク通信を行う機種である場合にネットワーク通信を行うように構成されている。
【0038】
外部機器12は、HMIシステム100と通信可能な機器であり、HMIシステム100とデータのやり取りを行う。外部機器12としては、PLC(Programmable Logic Controller)、インバータ、温度調節器などの制御機器が挙げられる。
【0039】
タッチパネル7は、LCDモジュール11の表示面上でタッチ入力を行うために設けられている入力装置である。
【0040】
タイマ8(時間計測部)は、HMIシステム100における時間管理を行うための計時器である。また、タイマ8は、画像データが前回更新されてから次に更新されるまでの時間を計測する。タイマ8に代えて、ソフトウェアで動作するタイマを用いてもよいが、当該タイマを動作させる処理を行う負担がCPU1にかかるため、ハードウェアで構成されるタイマ8を用いることが望ましい。
【0041】
バス9は、CPU1、メインメモリ2、LCDコントローラ3、ユーザメモリ4、記憶装置5、通信部6、タッチパネル7およびタイマ8を相互に接続しており、データバス、アドレスバスおよび制御バスを含んでいる。
【0042】
スケーラ10は、LCDコントローラ3のフレームレートとLCDモジュール11のリフレッシュレートとが異なる場合に、画像データの送信の時間軸を伸縮するスケーリング処理を行う。スケーラ10は、具体的には、LCDコントローラ3からLCDコントローラ3のフレームレートで送出される画像データを、フレームレートを変換して出力する。このため、スケーラ10は、LCDコントローラ3から送出された最新の画像データを記憶しており、当該画像データをリフレッシュレートと同じフレームレートで出力する。
【0043】
LCDモジュール11は、図示しない、タイミングコントローラ、ドライバ、液晶パネルなどを含んでいる表示装置である。LCDモジュール11は、タイミングコントローラで生成されたタイミングおよびスケーラ10から出力された画像データに基づいて、ドライバがLCDパネルの各画素のオン・オフを切り替えることにより、画像を表示する。
【0044】
続いて、
図3に示す制御部21を中心としたHMIシステム100の構成について説明する。
【0045】
HMIシステム100は制御部21を備えている。制御部21は、HMIシステム100の各種の動作を制御する部分であり、データ取得部22と、操作処理部23と、画像更新部24と、タイマ値書込部25と、フレームレート変更処理部26とを有している。制御部21は、CPU1が、記憶装置5からメインメモリ2のプログラム領域2aにロードされた前述のHMIプログラムを実行することにより実現される機能である。
【0046】
データ取得部22は、HMIシステム100の内部で発生したデータを取得したり、通信部6を介して外部機器12から送信されるデータを取得したりする。データ取得部22は、HMIシステム100の内部で発生したデータを取得する場合、HMIシステム100においてユーザに割り当てられた図示しないメモリ領域(内部メモリデバイス)に記憶されているデータを読み出して画像更新部24に与える。データ取得部22は、外部機器12からデータを取得する場合、外部機器12のメモリ(外部メモリデバイス)に記憶されているデータを読み出して画像更新部24に与える。データ取得部22は、上記のようなデータ取得を所定のイベント(事象)毎に行う。イベントは、所定時間間隔であったり、操作処理部23による操作の受付であったりする。
【0047】
操作処理部23は、タッチパネル7への操作に応じて、外部メモリデバイスにおけるデータを更新するように、通信部6を介して外部機器12と通信することによって外部メモリデバイスのデータを書き替える。また、操作処理部23は、タッチパネル7への操作に応じて、内部メモリデバイスにおけるデータを更新するように、内部メモリデバイスのデータを書き替える。また、操作処理部23は、受け付けた操作の内容を画像更新部24に与える。あるいは、操作処理部23は、タッチパネル7への操作がデータの変更を伴わないものである場合、操作の内容を画像更新部24に通知する。
【0048】
画像更新部24は、データ取得部22からのデータおよび操作処理部23からの操作内容を、メインメモリ2のVRAM領域2bに展開されている画像データに反映させるようにLCDコントローラ3を介して書き替えることで、画像の内容を更新する。具体的には、画像更新部24は、画像における部品画像の表示状態を、受け取った上記のデータおよび操作内容(外部メモリデバイスまたは内部メモリデバイスにおいて更新されたデータ)に応じて、部品画像に規定されている処理規定情報にしたがって特定する。
【0049】
タイマ値書込部25は、タイマ8が計時した時間(タイマ値T)を取得してメインメモリ2のタイマ値保存領域2cに書き込む。
【0050】
フレームレート変更処理部26は、画像更新部24によって画像が更新されたときに、タイマ値Tに基づいてフレームレートを変更する。フレームレート変更処理部26は、フレームレートを変更するために、変更モード選択部26aと、フレームレート決定部26bと、フレームレート設定部26cとを有している。
【0051】
変更モード選択部26a(時間判定部)は、単一のタイマ値Tに基づいてフレームレートを変更する第1モード、および複数のタイマ値Tの平均値に基づいてフレームレートを変更する第2モードのうち、いずれでフレームレートを変更するかを選択する。具体的には、変更モード選択部26aは、メインメモリ2のタイマ値保存領域2cから読み出したタイマ値Tが所定の基準時間t未満である場合に第1モードを選択し、当該タイマ値Tが基準時間t未満でない場合に第2モードを選択する。
【0052】
ここで、基準時間tは、任意の時間であり、HMIシステム100の仕様などに応じた値に設定される。
【0053】
フレームレート決定部26bは、第1モードまたは第2モードに応じた算出方法でフレームレートを算出して、新たなフレームレートを決定する。
【0054】
フレームレート設定部26cは、決定された新たなフレームレートをLCDコントローラ3に設定する。
【0055】
ところで、HMIシステム100において、CPU1(制御部21)、メインメモリ2、LCDコントローラ3およびタイマ8を含む部分は、フレームレートを制御する表示制御装置を構成している。当該部分は、マイクロコンピュータとして構成されて、HMIシステム100に実装されてもよい。
【0056】
続いて、上記のように構成されるHMIシステム100によるフレームレートの変更動作について、
図4〜
図6に示すフローチャートを参照して説明する。
図4は、HMIシステム100の動作の処理手順を示すフローチャートである。
図5は、HMIシステム100の動作におけるVRAM書き込み処理の手順を示すフローチャートである。
図6は、HMIシステム100の動作におけるフレームレート変更処理の手順を示すフローチャートである。
【0057】
図4に示すように、まず、HMIシステム100が起動すると、画像更新部24は、前述のイベントの実行に伴って画像データを更新する必要があるか否かを判定する(ステップS1)。画像更新部24は、ステップS1において、画像データを更新する必要があると判定すると(YES)、更新する画像データを作成して、当該画像データをVRAM領域2bに書き込む処理を行う(ステップS2)。画像更新部24は、ステップS1において、画像データを更新する必要がないと判定すると(NO)、画像データをVRAM領域2bに書き込む処理を行わない。この場合は、処理がステップS1に戻る。
【0058】
ステップS2の後、フレームレート変更処理部26は、フレームレートを変更する処理を行う(ステップS3)。ステップS3の後、処理がステップS1に戻る。このように、ステップS1〜S3の処理がループして継続される。
【0059】
ここで、ステップS2の画像データの書き込み処理について説明する。
【0060】
図5に示すように、処理が開始すると、画像更新部24がタイマ8を停止させることによって、タイマ8は計時を停止する(ステップS11)。タイマ値書込部25は、タイマ8からタイマ値Tを取得して(ステップS12)、メインメモリ2のタイマ値保存領域2cに書き込み(ステップS13)、タイマ8のタイマ値Tをクリアする(ステップS14)。タイマ値保存領域2cには最大でn個のタイマ値Tが保存できるので、タイマ値書込部25は、取得したタイマ値Tを1つずつタイマ値保存領域2cに書き込んでいく。
【0061】
画像更新部24は、タイマ値書込部25からタイマ値Tをクリアしたという通知を受けると、データ取得部22からのデータおよび操作処理部23の操作内容を反映させるように画像データを更新して、LCDコントローラ3にVRAM領域2bへ書き込ませる(ステップS15)。そして、画像更新部24がタイマ8を動作させることによって、タイマ8は計時を開始する(ステップS16)。ステップS16の後は、処理がメインルーチンに戻る。
【0062】
画像更新部24は、画像データの更新において、例えば、データ取得部22によって取得されたデータが更新されている場合、画像更新部24は、画像データにおけるデータ値の部分の値を書き替える。また、ボタンの部品画像がタッチ操作されて当該部品画像の表示色が変わった場合、画像更新部24は、操作処理部23の操作内容として、当該部品画像の変更後の表示色のデータに基づいて、画像データにおける当該部品画像の表示色を書き替える。また、画像更新部24は、操作処理部23が受けた操作が表示画像の切り替えの指示である場合、切り替えられる新たな画像を表示するために、ユーザメモリ4から当該画像の画像データを読み出して、当該画像データをLCDコントローラ3に渡す。
【0063】
さらに、ステップS3のフレームレートの変更処理について説明する。
【0064】
図6に示すように、処理が開始すると、変更モード選択部26aは、メインメモリ2のタイマ値保存領域2cにステップS13の処理で書き込まれた最大n個のタイマ値Tから最新のタイマ値Tを読み出して(ステップS21)、当該タイマ値Tが前述の基準時間t未満であるか否かを判定する(ステップS22)。変更モード選択部26aは、タイマ値Tが基準時間t未満であると判定すると(YES)、第1モードを選択し、タイマ値Tが基準時間t未満でない(タイマ値Tが基準時間t以上である)であると判定すると(NO)、第2モードを選択する。
【0065】
第1モードの場合、フレームレート決定部26bは、ステップS22の判定に用いられた単一のタイマ値Tをメインメモリ2のタイマ値保存領域2cから読み出して、当該タイマ値の逆数(1/T)をフレームレートとして算出する(ステップS23)。また、第2モードの場合、タイマ値書込部25は、タイマ値保存領域2cに書き込まれたタイマ値Tの個数M(M≦n)がサンプル数k以上であるか否かを判定する(ステップS24)。
【0066】
タイマ値書込部25が、ステップS24において、個数Mがサンプル数k以上であると判定すると(YES)、フレームレート決定部26bは、メインメモリ2のタイマ値保存領域2cからサンプル数kのタイマ値を読み出して、当該タイマ値の平均値の逆数をフレームレートとして算出する(ステップS25)。また、タイマ値書込部25は、ステップS24において、個数Mがサンプル数k以上でない(M<kである)と判定すると(NO)、個数Mに1を加算する(ステップS26)。この場合、処理が
図4に示すメインルーチンに戻る。さらに、ステップS23またはステップS25の後、タイマ値書込部25は、個数Mを0にリセットする(ステップS27)。
【0067】
フレームレート決定部26bは、ステップS23またはステップS25の処理で算出されたフレームレートを新たなフレームレートとして決定する(ステップS28)。そして、フレームレート設定部26cは、決定されたフレームレートをLCDコントローラ3に書き込んで設定する(ステップS29)。この後、処理が
図4に示すメインルーチンに戻る。
【0068】
LCDコントローラ3は、以上のようにして新たなフレームレートが設定されると、そのフレームレートにしたがったタイミングで、更新された画像データを読み出すようにVRAM領域2bに対してアクセスする。そして、LCDコントローラ3は、読み出した画像データを設定されたフレームレートで出力する。
【0069】
スケーラ10は、LCDコントローラ3からの画像データを最新の画像データとして記憶する。そして、スケーラ10は、LCDコントローラ3のフレームレートがLCDモジュール11のリフレッシュレート(例えば60fps)よりも低い場合、記憶した画像データを表示データとして、当該リフレッシュレートと同じフレームレートでLCDモジュール11に繰り返し与える。
【0070】
このように、リフレッシュレートに一致するフレームレートで表示データが与えられることにより、LCDモジュール11は、表示データに基づいて正常に画像を表示することができる。
【0071】
なお、LCDモジュール11の液晶パネルがセルフリフレッシュ型である場合、液晶パネルが定期的に表示データをリフレッシュするために、リフレッシュレートにしたがったタイミングで表示データを与えなくても、同じ画像が表示される。つまり、このようなLCDモジュール11は、表示データを一旦与えると、その表示データに基づいて表示画像を更新する。したがって、このようなLCDモジュール11を用いる場合は、スケーラ10は必要ない。
【0072】
また、液晶パネルがセルフリフレッシュ型でないLCDモジュール11である場合でも、スケーラ10を省略してもよい。ただし、この場合、フレームレートが低下しすぎると、LCDモジュール11に表示された画像がちらついて見える。このような不都合を回避するため、フレームレート決定部26bは、算出したフレームレートが、ちらつきの生じない、かつ、LCDモジュール11の許容周波数範囲における最低の周波数を、変更するフレームレートの下限値に決定する。
【0073】
以上のように、本実施形態に係るHMIシステム100は、制御部21を備えることにより、画像更新部24による連続する2回の画像データの書き込み処理の間の計測時間(タイマ値T)に基づいて新たなフレームレートを決定している。これにより、LCDコントローラ3が、そのフレームレートに基づいてVRAM領域2bに対してアクセスするとき、LCDコントローラ3のフレームレートを画像データの更新が行われる時間間隔に応じて低下させることができる。フレームレートが低下することで、メインメモリ2への全アクセスに対して、LCDコントローラ3によるVRAMアクセスの比率を低下させ、CPU1によるメインメモリアクセスの比率を高めることができる。それゆえ、HMIシステム100のパフォーマンスを向上させることができる。
【0074】
しかも、HMIシステム100は、フレームレートを低下させるために、従来技術のように画面データの変化の有無を判定しないので、連続する画面データを比較する必要がない。それゆえ、ハードウェアとしての比較器を設ける必要がないので、システムのコストアップが生じないだけでなく、ソフトウェアで比較処理を常に行う必要がないので、システムのパフォーマンスを低下させることもない。
【0075】
また、HMIシステム100は、タイマ値Tに応じて、フレームレート変更処理を第1モードおよび第2モードから1つを選択して行う。これにより、フレームレートの変化に応じて適切にフレームレートを決定することができる。例えば、タイマ値Tが長くなる場合(フレームレートが低下する場合)、直ぐにフレームレートを変更しなくてもLCDモジュール11の表示に影響はないので、第2モードにより複数のタイマ値の平均値に基づいてフレームレートを決定する。これにより、タイマ値のばらつきが抑えられ、より精度高くフレームレートを変更することができる。これに対し、タイマ値Tが短くなる場合(フレームレートが上昇する場合)、直ぐにフレームレートを変更しないと、画像データが更新されているのに、実際に表示される画像が更新されないという不都合が生じる。したがって、この場合は、第1モードにより単一のタイマ値に基づいてフレームレートを決定する。これにより、素早くフレームレートを変更するので、タイマ値のばらつきの影響は受けるものの、上記のような不都合を回避することができる。
【0076】
なお、本実施形態では、フレームレート変更処理部26が、第1モードまたは第2モードによってフレームレートを決定するが、第1モードおよび第2モードのいずれか一方のみでフレームレートを決定してもよい。これは、後述する実施形態2でも同様である。
【0077】
〔実施形態2〕
本発明の他の実施形態について、
図1、
図7〜
図9を参照して説明する。なお、本実施形態において、前述の実施形態1における構成要素と同等の機能を有する構成要素については、同一の符号を付記して、その説明を省略する。
【0078】
前述の実施形態1のHMIシステム100では、連続する2回の書き込み処理の間の時間間隔を計測したタイマ値Tに基づいて変更すべきフレームレートを決定する。これに対し、本実施形態のHMIシステム200では、イベントの開始と終了との時間間隔を計測したタイマ値Tに基づいて変更すべきフレームレートを決定する。
【0079】
図1は、本実施形態に係るHMIシステム200の概要を示す図である。
図7は、HMIシステム200の構成を制御部21Aを中心として示すブロック図である。
【0080】
図1に示すように、HMIシステム200も、実施形態1のHMIシステム100と同様、CPU1と、メインメモリ2と、LCDコントローラ3と、ユーザメモリ4と、記憶装置5と、通信部6と、タッチパネル7と、タイマ8と、バス9と、スケーラ10と、LCDモジュール11とを備えている。
【0081】
また、
図7に示すように、HMIシステム200(表示システム)は、HMIシステム100の制御部21に代えて、制御部21Aを備えている。制御部21Aは、HMIシステム200の各種の動作を制御する部分であり、制御部21と同様、タイマ値書込部25と、フレームレート変更処理部26とを有している。また、制御部21Aは、制御部21のデータ取得部22、操作処理部23および画像更新部24に代えて、それぞれデータ取得部22A、操作処理部23Aおよび画像更新部24Aを有している。制御部21Aは、CPU1が、記憶装置5からメインメモリ2のプログラム領域2aにロードされた前述のHMIプログラムを実行することにより実現される機能である。
【0082】
データ取得部22Aは、基本的には、データ取得部22と同様のデータ取得機能を有しているが、タイマ8の動作および停止を行う。
【0083】
操作処理部23Aは、基本的には、操作処理部23と同様の操作処理機能を有しているが、タイマ8の動作および停止を行う。
【0084】
画像更新部24Aは、基本的には、画像更新部24と同様の画像更新機能を有しているが、タイマ8の動作および停止を行わない。
【0085】
続いて、上記のように構成されるHMIシステム200によるフレームレートの変更動作について、
図8および
図9に示すフローチャートを参照して説明する。
図8は、HMIシステム200の動作の処理手順を示すフローチャートである。
図9は、HMIシステム200の動作におけるVRAM書き込み処理の手順を示すフローチャートである。
【0086】
図8に示すように、まず、HMIシステム200が起動すると、制御部21Aのデータ取得部22Aおよび操作処理部23Aは、ステップS101において、イベントが開始するまで、イベントの受付を待機している(NO)。イベントが開始すると(YES)、データ取得部22Aおよび操作処理部23Aがタイマ8を作動させることによって、タイマ8が計時を開始する(ステップS102)。タイマ8の計時状態では、データ取得部22Aおよび操作処理部23Aは、ステップS103において、イベントが終了するまで、イベントの受付を待機している(NO)。イベントが終了すると(YES)、画像更新部24Aは、上記のイベントの実行に伴って画像データを更新する必要があるか否かを判定する(ステップS104)。画像更新部24Aが、ステップS104において、画像データを更新する必要があると判定すると(YES)、データ取得部22Aおよび操作処理部23Aがタイマ8を停止させることによって、タイマ8は計時を停止する(ステップS105)。
【0087】
データ取得部22Aは、外部機器12のデータまたはHMIシステム200の内部で発生したデータの取得を要求するタイミングをイベントの開始として認識し、取得が完了したタイミングをイベントの終了として認識する。操作処理部23Aは、タッチパネル7からのタッチデータを受けることで操作を受け付けたタイミングをイベントの開始として認識する。また、操作処理部23Aは、外部機器12の外部メモリデバイスへのデータの書き替え、およびHMIシステム200の内部メモリデバイスへのデータの書き替えを完了したタイミングをイベントの終了として認識する。あるいは、操作処理部23Aは、操作内容そのものを画像更新部24Aに伝える。
【0088】
ステップS105の後、画像更新部24Aは、更新する画像データを作成して、当該画像データをVRAM領域2bに書き込む処理を行う(ステップS106)。画像更新部24Aは、ステップS104において、画像データを更新する必要がないと判定すると(NO)、画像データをVRAM領域2bに書き込む処理を行わない。この場合は、処理がステップS101に戻る。
【0089】
ステップS106の後、フレームレート変更処理部26は、フレームレートを変更する処理を行う(ステップS107)。ステップS
107の後、処理がステップS101に戻る。このように、HMIシステム200の動作時は、ステップS101〜S107の処理がループして継続される。
【0090】
ここで、ステップS106の画像データの書き込み処理について説明する。なお、ステップS107のフレームレート変更処理については、実施形態1において
図6を参照して説明したフレームレート変更処理と同じであるので、ここではその説明を省略する。
【0091】
図9に示すように、処理が開始すると、タイマ値書込部25は、タイマ8からタイマ値Tを取得して(ステップS111)、メインメモリ2のタイマ値保存領域2cに書き込み(ステップS112)、タイマ8のタイマ値Tをクリアする(ステップS113)。タイマ値保存領域2cには最大でn個のタイマ値Tが保存できるので、タイマ値書込部25は、取得したタイマ値Tを1つずつタイマ値保存領域2cに書き込んでいく。
【0092】
画像更新部24Aは、画像データを更新して、LCDコントローラ3にVRAM領域2bへ書き込ませる(ステップS114)。画像更新部24Aは、画像データの書き込みにおいて、タイマ値書込部25からタイマ値Tをクリアしたという通知を受けると、LCDコントローラ3にVRAM領域2bから画像データを読み出させる。続いて、画像更新部24Aは、データ取得部22Aからのデータおよび操作処理部23Aからの操作内容に応じて当該画像データを書き替えてLCDコントローラ3に渡す。
【0093】
ステップS114の後、処理がメインルーチンに戻る。
【0094】
以上のように、本実施形態に係るHMIシステム200は、制御部21Aを備えることにより、イベントの開始から終了までの計測時間(タイマ値T)に基づいて新たなフレームレートを決定している。これにより、LCDコントローラ3が、そのフレームレートに基づいてVRAM領域2bに対してアクセスするとき、LCDコントローラ3のフレームレートを画像データの更新を伴うイベントの処理に要する時間に応じて低下させることができる。フレームレートが低下することで、メインメモリ2への全アクセスに対して、LCDコントローラ3によるVRAMアクセスの比率を低下させ、CPU1によるメインメモリアクセスの比率を高めることができる。それゆえ、HMIシステム200のパフォーマンスを向上させることができる。
【0095】
なお、本実施形態は、特に、フレームレートで定まるメモリアクセス周期に対してイベントの開始から終了までの時間が長い場合に有効である。
【0096】
しかも、HMIシステム200は、HMIシステム100と同様、フレームレートを低下させるために、従来技術のように画面データの変化の有無を判定しないので、当該従来技術のようにシステムのコストアップおよびパフォーマンスの低下を生じることもない。
【0097】
また、HMIシステム200は、HMIシステム100と同様、タイマ値に応じて、フレームレート変更処理を第1モードおよび第2モードから1つを選択して行う。これにより、フレームレートの変化に応じて適切にフレームレートを決定することができる。
【0098】
〔付記事項〕
実施形態1および2では、タイマ値に基づいてフレームレートを算出して決定しているが、これ以外の手法でフレームレートを決定してもよい。例えば、タイマ値の異なる範囲と、それぞれの範囲に対応するフレームレートとを対応付けたテーブルを用意しておき、計測されたタイマ値が入る範囲に対応するフレームレートをテーブルから読み出して、このテーブルをLCDコントローラ3に設定するフレームレートとして決定してもよい。このような手法によっても、タイマ値に応じたフレームレートを決定することができる。
【0099】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。