(57)【要約】【課題】通信専用の発振回路を別途用意することなく、かつ、シリアル通信のボーレイトの制約を受けることなく、ＣＰＵの処理能力を最大限に引き出す。【解決手段】電子機器１は、通信相手との間で所定の通信速度で通信を行う通信モジュール１０と、処理負荷に応じてＣＰＵコア２１の動作クロックの周波数を変更するＰＬＬ２２と、変更された動作クロックの周波数が、通信エラーが発生する周波数であるか否かを判断するＣＰＵコア２１と、上記ＣＰＵコア２１と同じ動作クロックで動作する送受信制御部２４２とを備えている。通信モジュール１０と送受信制御部２４２とは、通信エラーが発生する周波数であると判断された場合には、双方の動作クロックの違いに基づいて、送受信される送信データのビット配列の補正と受信データの再構築とを行う。【選択図】        図１
2014044626.tif 000002
【特許請求の範囲】
【請求項１】
処理負荷に応じて中央演算処理装置の動作クロックの周波数を制御する電子機器であって、
通信相手との間で所定の通信速度で通信を行う通信手段と、
処理負荷に応じて中央演算処理装置の動作クロックの周波数を変更する周波数変更手段と、
前記周波数変更手段によって変更された動作クロックの周波数が、通信エラーが発生する周波数であるか否かを判断する通信エラー有無判断手段と、
前記中央演算処理装置の動作クロックで動作し、前記通信手段と前記中央演算処理装置との間で送受信データの送受信を行う送受信制御手段と
を備え、
前記通信手段と前記送受信制御手段とは、
前記周波数変更手段によって変更された動作クロックの周波数が、前記通信エラー有無判断手段によって通信エラーが発生する周波数であると判断された場合には、双方の動作クロックの違いに基づいて、送受信される送信データのビット配列の補正と受信データの再構築とを行う
ことを特徴とする電子機器。
【請求項２】
前記通信手段は、
送信データの所定のビットデータをダミーデータに置き換え、置き換えた所定のビットデータ以降を上位に、もしくは次の送信データに順次ビットシフトすることで送信データを補正し、
前記送受信制御手段は、
受信データのビットデータと、次以降に受信される受信データの一部に置き換えられた残りのビットデータとを合わせて所定のビット数の受信データを再構築する
ことを特徴とする請求項１に記載の電子機器。
【請求項３】
前記送受信制御手段は、
送信データの最終ビットデータをストップビットに置き換え、置き換えた最終ビットデータ以降を上位に、もしくは次の送信データに順次ビットシフトすることで送信データを補正し、
前記通信手段は、
受信データから重複して読み込んだビットデータを削除し、削除したビットデータ以降のビットデータを下位にビットシフトさせた後、次以降に受信される受信データの一部に置き換えられた残りのビットデータと合わせて所定のビット数の受信データを再構築する
ことを特徴とする請求項１に記載の電子機器。
【請求項４】
処理負荷に応じて中央演算処理装置の動作クロックの周波数を制御する電子機器の通信制御方法あって、
処理負荷に応じて中央演算処理装置の動作クロックの周波数を変更するステップと、
前記変更された動作クロックの周波数が、通信エラーが発生する周波数であるか否かを判断するステップと、
前記変更された動作クロックの周波数が通信エラーを発生する周波数であると判断された場合には、通信相手との間で所定の通信速度で通信を行う通信モジュールと、前記中央演算処理装置の動作クロックで動作し、前記通信手段と前記中央演算処理装置との間でデータの送受信を行う送受信制御部との間で、双方の動作クロックの違いに基づいて、送受信される送信データのビット配列の補正と受信データの再構築とを行うステップと
を含むことを特徴とする通信制御方法。
【請求項５】
処理負荷に応じて中央演算処理装置の動作クロックの周波数を制御する電子機器のコンピュータに、
処理負荷に応じて中央演算処理装置の動作クロックの周波数を変更する機能、
前記変更された動作クロックの周波数が、通信エラーが発生する周波数であるか否かを判断する機能、
前記変更された動作クロックの周波数が通信エラーを発生する周波数であると判断された場合には、通信相手との間で所定の通信速度で通信を行う通信モジュールと、前記中央演算処理装置の動作クロックで動作し、前記通信手段と前記中央演算処理装置との間でデータの送受信を行う送受信制御部との間で、双方の動作クロックの違いに基づいて、送受信される送信データのビット配列の補正と受信データの再構築とを行う機能
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器、通信制御方法、及びプログラムに関する。
【背景技術】
【０００２】
従来より、消費電力を低減させるため、ＣＰＵ（Central Processing Unit；中央演算処理装置）の処理が少ないときには、動作クロックを低い周波数とし、処理が多いときのみ動作クロックを高い周波数に設定する技術がある（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−７７５６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来技術では、ＣＰＵの動作クロックとシリアル通信を動作させるクロックとが同一なシステムの場合、シリアル通信のボーレイトを通信相手に合わせなければならないため、ＣＰＵの動作クロックは、決められた周波数にしか設定できない。このため、ＣＰＵを最大周波数で動作させたい場合においても、シリアル通信のボーレイトの制約があるため、最大動作クロックに設定できないという問題があった。
【０００５】
どうしてもＣＰＵを最大周波数で動作させたい場合には、ＣＰＵのクロックと通信用のクロックとを、別々に用意することで解決することが可能ではあるが、コスト面でデメリットが生じてしまうという問題があった。
【０００６】
そこで本発明は、通信専用の発振回路を別途用意することなく、かつ、シリアル通信のボーレイトの制約を受けることなく、ＣＰＵの処理能力を最大限に引き出すことができる電子機器、通信制御方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
この発明は、処理負荷に応じて中央演算処理装置の動作クロックの周波数を制御する電子機器であって、通信相手との間で所定の通信速度で通信を行う通信手段と、処理負荷に応じて中央演算処理装置の動作クロックの周波数を変更する周波数変更手段と、前記周波数変更手段によって変更された動作クロックの周波数が、通信エラーが発生する周波数であるか否かを判断する通信エラー有無判断手段と、前記中央演算処理装置の動作クロックで動作し、前記通信手段と前記中央演算処理装置との間で送受信データの送受信を行う送受信制御手段とを備え、前記通信手段と前記送受信制御手段とは、前記周波数変更手段によって変更された動作クロックの周波数が、前記通信エラー有無判断手段によって通信エラーが発生する周波数であると判断された場合には、双方の動作クロックの違いに基づいて、送受信される送信データのビット配列の補正と受信データの再構築とを行うことを特徴とする電子機器である。
【発明の効果】
【０００８】
この発明によれば、通信専用の発振回路を別途用意することなく、かつ、シリアル通信のボーレイトの制約を受けることなく、ＣＰＵの処理能力を最大限に引き出すことができるという利点が得られる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態による電子機器１の構成を示すブロック図である。
【図２】本実施形態によるシリアル通信（ＵＡＲＴ）の基本動作を説明するためのタイミングチャートである。
【図３】本実施形態の電子機器１の動作を説明するためのフローチャートである。
【図４】本実施形態の電子機器１におけるクロック周波数の設定例を説明するための概念図である。
【図５】本実施形態による電子機器１でのデータ受信時の動作を説明するための概念図である。
【図６】（ａ）本実施形態による電子機器１においてクロックが−１５．３％ずれたときの受信側の送受信制御部２４２におけるデータ受信時の動作を説明するためのタイミングチャートであり、（ｂ）本実施形態による電子機器１においてクロックが−１５．３％ずれたときの送信側の通信モジュール１０での送信データの補正動作を説明するための概念図である。
【図７】本実施形態による電子機器１でのデータ送信時の動作を説明するための概念図である。
【図８】（ａ）本実施形態による電子機器１においてクロックが−１５．３％ずれたときの受信側の通信モジュール１０におけるデータ受信時の動作を説明するためのタイミングチャートであり、（ｂ）本実施形態による電子機器１においてクロックが−１５．３％ずれたときの送信側の送受信制御部２４２での送信データの補正動作を説明するための概念図である。
【発明を実施するための形態】
【００１０】
本発明は、ＣＰＵの動作クロックとシリアル通信を動作させるクロックとが同一なシステムにおいて、ＣＰＵを最大周波数で動作させた時、通信用のクロックが通信相手のクロックとズレが生じた場合においても、同期した通信を可能とすることを特徴とする。これにより、負荷が重たい処理の時に、通信用のクロックを別途用意することなく、通信を行いながらＣＰＵを最大周波数で動作させることが可能となる。
【００１１】
以下、本発明の実施の形態を、図面を参照して説明する。
【００１２】
図１は、本発明の実施形態による電子機器１の構成を示すブロック図である。図において、電子機器１は、通信モジュール１０、ホストシステム２０、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０、ＲＡＭ（Ｒａｎｄａｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）４０から構成されている。ホストシステム２０は、ＣＰＵコア２１、ＰＬＬ（Ｐｈａｓｅ  Ｌｏｏｐ  Ｌｏｃｋ）２２、メモリ制御部２３、ＵＡＲＴ（Ｕｎｉｖｅｒｓａｌ  Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｒｅｃｅｉｖｅｒ  Ｔｒａｎｓｍｉｔｔｅｒ）制御部２４を備えている。また、ＵＡＲＴ制御部２４は、分周器２４１、及び送受信制御部２４２を備えている。
【００１３】
ＣＰＵコア２１は、所定のプログラムを実行することによりシステム全体を制御する中央制御装置である。ＲＯＭ３０は、プログラムなど不揮発性のデータを保存する。ＲＡＭ４０は、スタックやプログラムのワークメモリである。
【００１４】
ＰＬＬ２２は、水晶発振器２２１で発信させたクロックを逓倍させるモジュールで、逓倍したクロックＣＬ１を、ＣＰＵコア２１、ＲＯＭ３０及びＲＡＭ４０を制御するメモリ制御部２３、及びシリアル通信を制御するＵＡＲＴ制御部２４に供給する。ＣＰＵコア２１を高速で動かすためにクロックＣＬ１を上げる場合には、ＰＬＬ２２の設定を変更し、逓倍率を上げることで実現できる。
【００１５】
ＵＡＲＴ制御部２４は、ＰＬＬ２２から供給されたクロックＣＬ１を元に分周器２４１で通信に使用するクロックＣＬ２を作成する。送・受信制御部２４２は、上記クロックＣＬ２を元にボーレイトを設定する。通信モジュール１０は、Ｂｌｕｅｔｏｏｔｈ（登録商標）などの通信を行うためのモジュールであり、ＵＡＲＴ制御部２４を介してホストシステムと接続されている。
【００１６】
図２は、本実施形態によるシリアル通信（ＵＡＲＴ）の基本動作を説明するためのタイミングチャートである。データ受信に際して、最初にスタートビットの立下りを検出する。そこから、設定されているボーレイトの１ビット分の半分の時間、１１５，２００ｂｐｓなら、１／１１５，２００／２＝４．３μｓでサンプリングを行い、スタートビットの確認を行う。次に、ボーレイトの１ビット分の時間経過後（８．６μｓ）、サンプリングを行って０ビット目のデータの取得を行う。この処理を０ビット目〜７ビット目、及びストップビットに対して行い、データを取得する。
【００１７】
すなわち、スタートビットの立ち下がり検出後、ＵＡＲＴ制御クロックの４サイクル後のレベルが“Ｌ”であれば、スタートビットが確定し、更に８サイクル後が０ビット目のデータ、次の８サイクル目が１ビット目のデータ、次の８サイクル目が２ビット目のデータ、…として取り込む。つまり、スタートビットの立下りを検出したら各ビットの中心でデータのサンプリングを行っている。このため、理論上スタートビットからストップビットまでの間で０．５ビット分の通信誤差が発生した場合、正常に通信できなくなる。
【００１８】
＜通信速度の許容誤差範囲算出例＞
下記条件における通信速度の許容誤差範囲を以下に示す。
・通信条件：データ長８ビット、１ストップビット、パリティなし、ＵＡＲＴ制御クロック８サイクルで１ビット分の場合
【００１９】
スタートビットからストップビットまでの１０ビット間（ＵＡＲＴ制御クロックで８０サイクル）で０．５ビット分（ＵＡＲＴ制御クロックで４サイクル）の通信誤差が許容できるので、４／８０＝０．０５となり、理論上では、５［％］までの通信誤差が許容できる。言い換えると、５％以上クロックがずれると通信エラーが発生する。
【００２０】
図３は、本実施形態の電子機器１の動作を説明するためのフローチャートである。図４は、本実施形態の電子機器１におけるクロック周波数の設定例を説明するための概念図である。まず、ホストシステム２０は、プログラム開始時、低い周波数のクロックでＣＰＵコア２１を動作させる（ステップＳ１０）。大本のクロックＣＬは、水晶発振子２２１で作成され、３２．７６８ＫＨｚとする。このクロックＣＬが、ＰＬＬ２２で逓倍され、システムクロックＣＬ１となり、ＣＰＵコア２１やＵＡＲＴ制御部２４に供給される。
【００２１】
図４に示すように、逓倍数は、３，６００〜１２，２００倍に、１００倍単位に設定でき、そのときのシステムクロックＣＬ１は、１１７，９６４，８００〜３９９，７６９，６００Ｈｚとなる。ＵＡＲＴ制御部２４で使用するクロックは、ボーレイトの８倍のクロックとなり、「分周数２＾Ｎ通信で使用するクロック（ボーレイトの８倍のクロック作成用）」に分周数を示す。「通信ボーレイト（ｂｐｓ）」は、上記のクロックを使用したときのボーレイトで、「誤差」は、そのときの誤差を示している。低い周波数のクロックは、３，６００逓倍の行の設定となる。
【００２２】
次に、ＣＰＵコア２１は、処理の切替要求が有るか否かを判断する（ステップＳ１２）。そして、切替要求がない場合には（ステップＳ１２のＮＯ）、現状のシステムクロックで動作を続ける。
【００２３】
一方、切替要求があった場合には（ステップＳ１２のＹＥＳ）、処理に必要なシステムクロックの周波数を算出する（ステップＳ１４）。ＣＰＵコア２１は、算出した周波数が、通信エラーが発生する周波数であるか否かを判断する（ステップＳ１６）。
【００２４】
そして、通信エラーが発生する周波数でない場合には（ステップＳ１６のＮＯ）、逓倍数、及びＵＡＲＴ制御部２４のクロック設定を変更し（ステップＳ２０）、処理を続行する。
【００２５】
一方、ＣＰＵコア２１は、通信エラーが発生する周波数であった場合には（ステップＳ１６のＹＥＳ）、通信モジュール１０に通信モード変更要求を通知し（ステップＳ１８）、逓倍数、及びＵＡＲＴ制御部２４のクロック設定を変更する（ステップＳ２０）。
【００２６】
図４に示す「実施形態の高クロック」の行に示す設定であった場合、逓倍＝１２，２００、システムクロック：約４００ＭＨｚ、通信誤差：−１５．３％となる。従来技術では、通信誤差：−１５．３％では、通信エラーが発生してしまうため、「従来のクロック」の行の、システムクロック：約２３５ＭＨｚの設定となってしまう。本実施形態によれば、従来技術に比べ、４００／２３５＝１．７倍の処理能力でＣＰＵコア２１を駆動させることができる。
【００２７】
次に、本実施形態において、クロックが−１５．３％ずれたときの通信例として、高クロックで動作している場合のホストシステム２０側のＵＡＲＴ制御部２４の送受信制御部２４２におけるデータ受信について説明する。
【００２８】
図５は、本実施形態による電子機器１においてクロックが−１５．３％ずれたときのＵＡＲＴ制御部２４の送受信制御部２４２によるデータ受信時の動作を説明するための概念図である。また、図６（ａ）は、本実施形態による電子機器１においてクロックが−１５．３％ずれたときのＵＡＲＴ制御部２４の送受信制御部２４２におけるデータ受信時の動作を説明するためのタイミングチャートであり、同図（ｂ）は、送信側の通信モジュール１０での送信データの補正動作を説明するための概念図である。
【００２９】
図５において、「各ビットの範囲」は、正規のクロック（１１５，２００＊８Ｈｚ）で駆動したときのクロックの範囲を示している。「サンプリングする位置」は、−１５．３％ずれたクロックを使用したときの各ビットをサンプリングする位置を正規のクロックに換算したものである。「サンプリングするビット」は、受信したデータのどのビットを取り込むかを示したものである。
【００３０】
ここでは、ＵＡＲＴ制御部２４の送受信制御部２４２がデータ受信側であり、通信モジュール１０がデータ送信側である。この場合、ＵＡＲＴ制御部２４のボーレイトが９７，６００ｂｐｓであり、通信モジュール１０のボーレイトが１１５，２００である。このため、送受信制御部２４２では、図５、及び図６（ａ）に示すように、データ受信時、サンプリングタイミングがずれてしまい、２ビット目のデータと、ストップビットとを正常にサンプリングできないことが分かる。
【００３１】
そこで、送信側の通信モジュール１０は、図６（ｂ）に示すように、２ビット目にダミーのデータ挿入し、２ビット目以降のデータを上位に１ビットシフトし、実質、７ビット分のデータとして送信する。送信できなかった７ビット目のデータは、次の送信データの０ビット目で送信する。また、最後のストップビットを正常にサンプリングさせるため、ストップビットを２ビットとする設定に変更する。
【００３２】
一方、受信側のＵＡＲＴ制御部２４の送受信制御部２４２では、図６（ａ）に示すように、２ビット目に挿入されたダミーデータをサンプリングできないので、自動的に、計７ビットデータを正しく受信することになる。そして、次以降にデータ送信される残りのビットのデータを受信し、先に受信したデータと合わせて計８ビットのデータを再構築する。
【００３３】
次に、クロックが−１５．３％ずれたときの通信例として、高クロックで動作している場合のホストシステム２０側のＵＡＲＴ制御部２４の送受信制御部２４２におけるデータ送信について説明する。
【００３４】
図７は、本実施形態による電子機器１においてクロックが−１５．３％ずれたときのＵＡＲＴ制御部２４の送受信制御部２４２によるデータ送信時の動作を説明するための概念図である。また、図８（ａ）は、本実施形態による電子機器１においてクロックが−１５．３％ずれたときの通信モジュール１０におけるデータ受信時の動作を説明するためのタイミングチャートであり、同図（ｂ）は、送信側のＵＡＲＴ制御部２４の送受信制御部２４２での送信データの補正動作を説明するための概念図である。
【００３５】
図７において、「通信相手から見た各ビットの範囲」は、クロックの範囲を正規のクロック（１１５，２００＊８Ｈｚ）に換算した値を示している。「通信相手がサンプリングする位置」は、通信モジュールが各ビットをサンプリングする位置を示している。「通信相手がサンプリングするビット」は、通信モジュールがサンプリングするビットを示している。
【００３６】
ここでは、ＵＡＲＴ制御部２４の送受信制御部２４２がデータ送信側であり、通信モジュール１０がデータ受信側である。この場合、ＵＡＲＴ制御部２４のボーレイトが９７，６００ｂｐｓであり、通信モジュール１０のボーレイトが１１５，２００であるので、受信側の通信モジュール１０のサンプリング周波数の方が高い。このため、図７、及び図８（ａ）に示すように、受信側の通信モジュール１０では、２ビット目のデータが重複してサンプリングされる。そこで、受信側の通信モジュール１０では、受信データから、４番目にサンプリングしたデータ（重複する２ビット目のデータ）を削除し、以降のデータを下位に１ビット分シフトさせ、計７ビットのデータとして受信する。この場合、受信側の通信モジュール１０では、７ビット目のデータを正しく受信できない。言い換えると、受信側の通信モジュール１０では、７ビット目のデータをストップビットとして受信する。
【００３７】
このように、受信側の通信モジュール１０では、７ビット目をストップビットとしてサンプリングすることになるので、送信側であるＵＡＲＴ制御部２４の送受信制御部２４２は、７ビット目を常に“１”として送信する。そして、送信側の送受信制御部２４２は、正しく受信できない７ビット目のデータを、次のデータの０ビット目として送信する。
【００３８】
受信側の通信モジュール１０では、上述したように、受信データから、４番目にサンプリングしたデータ（重複する２ビット目のデータ）を削除し、以降のデータを１ビット分シフトさせ、計７ビットのデータとして受信した後、次以降にデータ送信される残りのビットのデータと合わせて計８ビットのデータを再構築する。
【００３９】
なお、上述した実施形態において、クロックが理想的に発信していることを前提に説明したが、実際は、ジッターや、温度変化による誤差が発生するので、これらを考慮する必要がある。例えば、温度変化によりクロックが早くなる（遅くなる）発振子を使用するような場合には、温度センサーにより温度を検出して温度により適切なクロックとなるようにＰＬＬ２２の設定を微調整するようにする。ジッターに対しても同様に使用するクロックのジッターを考慮して、ＰＬＬ２２の設定を微調整するようにする。
【００４０】
上述した実施形態によれば、ＣＰＵコア２１を備えるホストシステム２０の動作クロックと、シリアル通信行うためのＵＡＲＴ制御部２４の動作クロックとが同一なシステムにおいて、ＣＰＵコア２１を最大周波数で動作させるためにホストシステム２０側の動作クロックを上げることにより、ＵＡＲＴ制御部２４の動作クロックと通信モジュール１０の動作クロックとの間でズレが生じた場合においても通信を行うことが可能となるので、通信専用の発振回路を別途用意することなく、かつ、シリアル通信のボーレイトの制約を受けることなく、ＣＰＵコア２１の処理能力を最大限に引き出すことができる。
【００４１】
本発明は、特に、スマートフォンラベルプリンタの分野で使用できる可能性がある。スマートフォンラベルプリンタの分野で使用するプリンタは、ＺＩＮＫ（登録商標）方式のサーマルプリンタの一種である。ＺＩＮＫ（登録商標）方式のプリンタは、温度と時間で発色する色を制御しているので、ヘッドに電圧を印加する通電制御が非常に厳密であり、印刷中に通電制御を行うための演算が多大となる。
【００４２】
そのため、印刷中は、ＣＰＵのクロックを最大に上げる必要が生じる可能性があり、その場合は、従来技術の問題点で記載した理由によりスマートフォンとの通信ができなくなってしまう。そうなると、スマートフォンからの印刷停止要求や、プリンタのステータスなどの情報のやり取りができなくなるため、使い勝手が悪くなってしまう。本発明の技術を適用することにより、上記不具合を解消することができる。
【００４３】
以上、この発明のいくつかの実施形態について説明したが、この発明は、これらに限定されるものではなく、特許請求の範囲に記載された発明とその均等の範囲を含むものである。
以下に、本願出願の特許請求の範囲に記載された発明を付記する。
【００４４】
（付記１）
付記１に記載の発明は、処理負荷に応じて中央演算処理装置の動作クロックの周波数を制御する電子機器であって、通信相手との間で所定の通信速度で通信を行う通信手段と、処理負荷に応じて中央演算処理装置の動作クロックの周波数を変更する周波数変更手段と、前記周波数変更手段によって変更された動作クロックの周波数が、通信エラーが発生する周波数であるか否かを判断する通信エラー有無判断手段と、前記中央演算処理装置の動作クロックで動作し、前記通信手段と前記中央演算処理装置との間で送受信データの送受信を行う送受信制御手段とを備え、前記通信手段と前記送受信制御手段とは、前記周波数変更手段によって変更された動作クロックの周波数が、前記通信エラー有無判断手段によって通信エラーが発生する周波数であると判断された場合には、双方の動作クロックの違いに基づいて、送受信される送信データのビット配列の補正と受信データの再構築とを行うことを特徴とする電子機器である。
【００４５】
（付記２）
付記２に記載の発明は、前記通信手段は、送信データの所定のビットデータをダミーデータに置き換え、置き換えた所定のビットデータ以降を上位に、もしくは次の送信データに順次ビットシフトすることで送信データを補正し、前記送受信制御手段は、受信データのビットデータと、次以降に受信される受信データの一部に置き換えられた残りのビットデータとを合わせて所定のビット数の受信データを再構築することを特徴とする付記１に記載の電子機器である。
【００４６】
（付記３）
付記３に記載の発明は、前記送受信制御手段は、送信データの最終ビットデータをストップビットに置き換え、置き換えた最終ビットデータ以降を上位に、もしくは次の送信データに順次ビットシフトすることで送信データを補正し、前記通信手段は、受信データから重複して読み込んだビットデータを削除し、削除したビットデータ以降のビットデータを下位にビットシフトさせた後、次以降に受信される受信データの一部に置き換えられた残りのビットデータと合わせて所定のビット数の受信データを再構築することを特徴とする請求項１に記載の電子機器である。
【００４７】
（付記４）
付記４に記載の発明は、処理負荷に応じて中央演算処理装置の動作クロックの周波数を制御する電子機器の通信制御方法あって、処理負荷に応じて中央演算処理装置の動作クロックの周波数を変更するステップと、前記変更された動作クロックの周波数が、通信エラーが発生する周波数であるか否かを判断するステップと、前記変更された動作クロックの周波数が通信エラーを発生する周波数であると判断された場合には、通信相手との間で所定の通信速度で通信を行う通信モジュールと、前記中央演算処理装置の動作クロックで動作し、前記通信手段と前記中央演算処理装置との間でデータの送受信を行う送受信制御部との間で、双方の動作クロックの違いに基づいて、送受信される送信データのビット配列の補正と受信データの再構築とを行うステップとを含むことを特徴とする通信制御方法である。
【００４８】
（付記５）
付記５に記載の発明は、処理負荷に応じて中央演算処理装置の動作クロックの周波数を制御する電子機器のコンピュータに、処理負荷に応じて中央演算処理装置の動作クロックの周波数を変更する機能、前記変更された動作クロックの周波数が、通信エラーが発生する周波数であるか否かを判断する機能、前記変更された動作クロックの周波数が通信エラーを発生する周波数であると判断された場合には、通信相手との間で所定の通信速度で通信を行う通信モジュールと、前記中央演算処理装置の動作クロックで動作し、前記通信手段と前記中央演算処理装置との間でデータの送受信を行う送受信制御部との間で、双方の動作クロックの違いに基づいて、送受信される送信データのビット配列の補正と受信データの再構築とを行う機能を実行させることを特徴とするプログラムである。
【符号の説明】
【００４９】
１  電子機器
１０  通信モジュール
２０  ホストシステム
３０  ＲＯＭ
４０  ＲＡＭ
２１  ＣＰＵコア
２２  ＰＬＬ
２２１  水晶発振器
２３  メモリ制御部
２４  ＵＡＲＴ制御部
２４１  分周器
２４２  送受信制御部
【図１】
2014044626.tif 000003
【図２】
2014044626.tif 000004
【図３】
2014044626.tif 000005
【図４】
2014044626.tif 000006
【図５】
2014044626.tif 000007
【図６】
2014044626.tif 000008
【図７】
2014044626.tif 000009
【図８】
2014044626.tif 000010