(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0006】
非特許文献1では、組込み機器向けプロセッサとしてTI社製のOMAPプロセッサ(ARM社製のCPUコアとTI社製のDSPコアを搭載)を使用して携帯電話を開発する例が示されているが、組込み機器向けプロセッサは標準品として開発されていることから、上記間欠受信を行うためのタイムスケジューラが回路実装されていないものが多い。このようなケースでは、主として移動端末のスリープ時の待ち受け画面の表示制御やキー割込み受付用として用意されている第2処理部(相対的に低性能なマイクロコンピュータ等で具現される)に、タイムスケジューラの機能を組み込むことが行われる。
【0007】
この場合、組込み機器向けプロセッサ及び第2処理部は共に既製品であることから、両者を接続するインタフェース信号の信号線数には制約がかかり、該インタフェース信号線数制約の下、間欠受信制御におけるタイミング条件を満足するハードウェア設計が求められる。また、第2処理部は相対的に低性能であることから、扱うデータビット長も相対的に短く、該データビット長では無線フレーム長の時間を表現できず、タイムスケジューラ機能を実現するためのタイマ部に工夫が必要となるという事情もある。つまり、インタフェース信号線数制約の下、より少ないハードウェアリソースの追加で第2処理部にタイムスケジューラの機能を組み込む技法が望まれている。
【0008】
そこでこの発明は、標準品の組込み機器向けプロセッサを用いて移動端末を構成する際に、インタフェース信号線数制約の下、より少ないハードウェアリソースの追加で既存ハードウェアに間欠受信制御におけるタイムスケジューラ機能を組み込み得る移動端末を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記課題を解決するために、請求項1の発明は、無線周波数信号の処理を行う無線部と、少なくともCPUコアとDSPコアとを備えて、ベースバンド信号の処理を行う処理部と、前記無線部からのサンプルタイミングをクロック入力として該クロックを計数するカウンタ
を含むタイマ部とCPUとを備えて、前記処理部の間欠制御を行う第2処理部と、を有する移動端末であって、前記処理部は、スリープ状態移行時に、起動タイミングを前記CPUコアから前記第2処理部に通知すると共に、前記DSPコアから正論理または負論理のDSP間欠スリープ開始信号を前記第2処理部に供給した後に、スリープ状態へ移行し、前記第2処理部は、前記DSP間欠スリープ開始信号の立上りまたは立下りエッジで、当該DSP間欠スリープ開始信号による外部割込み以外の割込みをマスクし、前記DSP間欠スリープ開始信号の立下りまたは立上りエッジによる外部割込み時に、前記タイマ部の
前記カウンタの計数を開始させ、前記カウンタの計数値が前記起動タイミングに達したときに前記処理部のスリープ状態を解除して起動させることを特徴とする。
【0010】
請求項1の発明では、DSP間欠スリープ開始信号が正論理であるとき、第2処理部は、DSP間欠スリープ開始信号の立上りで、当該DSP間欠スリープ開始信号による外部割込み以外の割込みをマスクし、DSP間欠スリープ開始信号の立下りエッジによる外部割込み時に、タイマ部のカウンタの計数を開始させ、カウンタの計数値が起動タイミングに達したときに処理部のスリープ状態を解除して起動させる。また、DSP間欠スリープ開始信号が負論理であるとき、第2処理部は、DSP間欠スリープ開始信号の立下りエッジで、当該DSP間欠スリープ開始信号による外部割込み以外の割込みをマスクし、DSP間欠スリープ開始信号の立上りエッジによる外部割込み時に、タイマ部のカウンタの計数を開始させ、カウンタの計数値が起動タイミングに達したときに処理部のスリープ状態を解除して起動させる。ここで、割込みをマスクさせる第1のエッジからカウンタの計数を開始させる第2のエッジまでの期間は、DSP間欠スリープ開始信号による外部割込み以外の割込み、例えばユーザによるキー割込みも受け付けられないので、第1のエッジから第2のエッジまでの期間は、ユーザ操作に対して装置側からの反応が無くても許容され得る時間(一般的に100[m秒])未満に制限することが望ましい。
【0011】
請求項2の発明は、請求項1に記載の移動端末において、前記DSP間欠スリープ開始信号の立上りまたは立下りエッジは、前記クロックの一周期の前半に位置することを特徴とする。
【0012】
請求項3の発明は、請求項1または請求項2の何れか1項に記載の移動端末において、前記処理部は、前記CPUコア及び前記DSPコアの通常状態、スリープ状態及びディープスリープ状態の状態移行を管理するパワー管理部を備え、前記処理部は、ディープスリープ状態移行時に、前記起動タイミング及び受信タイミングを前記CPUコアから前記第2処理部に通知すると共に、前記DSPコアから前記DSP間欠スリープ開始信号を前記第2処理部に供給した後に、スリープ状態へ移行し、その後ディープスリープ状態へ移行し、前記第2処理部は、前記カウンタの計数値が前記起動タイミングに達したときに前記パワー管理部にその旨を通知し、前記CPUコア及び前記DSPコアのディープスリープ状態を解除させ、前記DSPコアを起動して受信割込み待ちの状態に移行させ、前記カウンタの計数値が前記受信タイミングに達したときに前記DSPコアにその旨を通知して受信処理を開始させることを特徴とする。
【0013】
請求項3の発明では、パワー管理部により通常状態、スリープ状態及びディープスリープ状態の状態移行を管理する。例えば供給電圧を下げて消費電力の削減を図る場合、スリープ状態はCPUコア及びDSPコアがプログラムを実行するために最低限必要な電圧まで下げた状態であり、ディープスリープ状態はCPUコア及びDSPコアが動作するために最低限必要な電圧まで下げた状態である。
【0014】
請求項4の発明は、請求項3に記載の移動端末において、前記タイマ部は、所定タイミングで前記起動タイミングの比較設定値が設定される第1比較設定値レジスタと、所定タイミングで前記受信タイミングの比較設定値が設定される第2比較設定値レジスタと、前記クロックの周期毎に前記カウンタの出力と前記第1比較設定値レジスタの値及び前記第2比較設定値レジスタの値とをそれぞれ比較して、何れかの値に一致したときはタイマ割込みを
前記第2処理部の前記CPUに通知する比較部と、を有し、前記カウンタがNビット(Nは正整数)カウンタであり、無線フレーム長の時間を前記クロックの周期で割った数値がNビットで表現可能な最大値を超えるとき、前記第2処理部は、前記カウンタの計数値で規定される所定周期毎に、前記起動タイミングまたは前記受信タイミングからそれぞれ該カウンタの計数開始からの経過時間を差し引いた差分数値をNビットで表現可能か否かを判断し、Nビットで表現可能な場合には該所定周期のタイミングで残カウント数を対応する前記第1比較設定値レジスタまたは前記第2比較設定値レジスタに設定することを特徴とする。
【0015】
請求項4の発明では、所定周期毎に、起動タイミングからカウンタの計数開始からの経過時間を差し引いた差分数値をNビットで表現可能か否かを判断し、Nビットで表現可能な場合には該所定周期のタイミングで残カウント数を第1比較設定値レジスタに設定する。また、所定周期毎に、受信タイミングからカウンタの計数開始からの経過時間を差し引いた差分数値をNビットで表現可能か否かを判断し、Nビットで表現可能な場合には該所定周期のタイミングで残カウント数を第2比較設定値レジスタに設定する。ここで、カウンタの計数値で規定される所定周期を、カウンタで計数可能な最大期間の1/2
M(Mは0以上の正整数)とすれば、該所定周期の設定を行い易くなる。
【発明の効果】
【0016】
請求項1の発明によれば、DSP間欠スリープ開始信号の第1のエッジで、第2処理部に該DSP間欠スリープ開始信号による外部割込み以外の割込みをマスクさせ、DSP間欠スリープ開始信号の第2のエッジによる外部割込み時に、タイマ部のカウンタの計数を開始させるので、割込みの受付及び実行(カウンタの内容をクリアして、計数動作をイネーブルにする)にかかる所要時間を短縮することができ、DSP間欠スリープ開始信号による外部割込みの起動タイミングと、タイマ部のカウンタの計数開始タイミングとを、同一のクロック周期内に収めることが可能となり、タイマ部のカウンタの計数動作を処理部(DSPコア)に同期させることができる。また、第2処理部に対して異なる2種の指示を1本のインタフェース信号を用いて行うので、インタフェース信号線数に制約がある場合であっても、間欠受信制御におけるタイミング条件を満たすハードウェア設計の実現が可能となる。また、CPUコアとDSPコアとを備えた処理部を標準品の組込み機器向けプロセッサで具現し、移動端末のスリープ時の待ち受け画面の表示制御やキー割込み受付用として用意されているマイクロコンピュータ等を第2処理部とすれば、インタフェース信号線数制約の下にあっても、既存ハードウェアに間欠受信制御におけるタイムスケジューラ機能を組み込み得る移動端末を実現できる。
【0017】
請求項2の発明によれば、DSP間欠スリープ開始信号の立上りまたは立下りエッジを、クロックの一周期の前半に位置するようにしたので、割込みの受付及び実行にかかる所要時間をクロックの一周期の後半に収めて、DSP間欠スリープ開始信号による外部割込みの起動タイミングと、タイマ部のカウンタの計数開始タイミングとを、同一のクロック周期内に確実に収めることが可能となり、タイマ部のカウンタの計数動作を処理部(DSPコア)に確実に同期させることができる。
【0018】
請求項3の発明によれば、スリープモード及びディープスリープモードを持つ組込み機器向けプロセッサ(標準品)に対しても本発明を適用することが可能となる。
【0019】
請求項4の発明によれば、起動タイミング及び受信タイミングの比較値設定用に第1比較設定値レジスタ及び第2比較設定値レジスタを備えて、カウンタの計数値で規定される所定周期のタイミングで、且つカウンタの計数開始からの経過時間を差し引いた差分数値をNビットで表現可能である場合に、残カウント数を比較値として設定するので、第2処理部の扱うデータビット長が短く、該データビット長では無線フレーム長の時間を表現できない場合であっても、本発明を適用することが可能となる。その結果として、より少ないハードウェアリソースの追加で既存ハードウェアに間欠受信制御におけるタイムスケジューラ機能を組み込み得る移動端末を実現できる。
【発明を実施するための形態】
【0021】
以下、この発明を図示の実施の形態に基づいて説明する。なお、移動体通信の移動端末には、携帯電話、PDA(Personal Digital Assistants:携帯情報端末)など種々の態様があるが、何れの種の移動端末にもこの発明を適用することが可能である。以下の説明では、携帯電話において、組込み機器向けプロセッサとしてTI社製のOMAPプロセッサ(ARM社製のCPUコアとTI社製のDSPコアを搭載)を使用した例を示す。
【0022】
図1はこの発明の実施の形態に係る移動端末1の構成図である。同図において、この移動端末1は、機能ブロックとして、無線周波数信号の処理を行う無線部3と、ベースバンド信号の処理を行う処理部4と、タイムスケジューラ機能が組み込まれていると共にスリープ時の待ち受け画面の表示制御やキー割込み受付用として用意されている第2処理部5と、を備える。
【0023】
ここで、無線部3から処理部4及び第2処理部5に対し、クロックCLとしてサンプルタイミング信号(外部ロードパルス信号であり、クロック周波数は128[kHz]とする)が常時供給されており、これら機能ブロック間の同期がとられている。なお、基地局(不図示)との同期制御、並びにフレーム、スロット及びシンボルタイミングの管理は、処理部4のDSPコア上で実行されるプログラムにより実施される。
【0024】
処理部4は、組込み機器向けプロセッサ(TI社製のOMAPプロセッサ)であり、ARM社製のCPUコア6と、TI社製のDSPコア7と、パワー管理部8と、を備える。
【0025】
ここで、CPUコア6は、主としてOS(Operating System)の処理を含むシステム制御と各種アプリケーションプログラムを実行するもので、第2処理部5とのインタフェースとしてI2C(Inter-Integrated Circuit)インタフェース部61及びGPIO(General Purpose Input-Output)インタフェース部62を持つ。処理部4がディープスリープ状態に移行する際には、CPUコア6は、I2Cインタフェース部61を介して、DSP起動・受信タイミング通知信号101によりDSP起動タイミング及び受信タイミングを第2処理部5に通知する。ここで、DSP起動タイミングはディープスリープ後にCPUコア6及びDSPコア7を起動させるタイミングであり、受信タイミングはディープスリープ後にDSPコア7による受信処理を開始するタイミングである。また、後述のDSP間欠スリープ開始信号104で第2処理部5への外部割込みが起動した後に、CPUコア6はスリープ状態に入ると共に、GPIOインタフェース部62を介してディープスリープ要求信号103をイネーブルにし、第2処理部5に対してディープスリープ状態への移行を要求する。さらに、後述するように、第2処理部5(タイマ部10)のカウンタ11の計数値が先に通知したDSP起動タイミングに達したときに、第2処理部5はDSP起動指示信号102を通知して処理部4のスリープ状態を解除させるが、CPUコア6はI2Cインタフェース部61を介してこのDSP起動指示信号102を受け取る。
【0026】
また、DSPコア7は、主としてオーディオ、ビデオ等のメディア処理を実行するもので、第2処理部5とのインタフェースとしてGPIO(General Purpose Input-Output)インタフェース部71を持つ。処理部4がディープスリープ状態に移行する際には、DSPコア7は、GPIOインタフェース部71を介して、DSP間欠スリープ開始信号104(正論理信号)を第2処理部5に出力する。このDSP間欠スリープ開始信号104の立上りエッジで、第2処理部5のCPU9に対してDSP間欠スリープ開始信号104による外部割込み以外の割込みをマスクするよう指示し、所定時間後のDSP間欠スリープ開始信号104の立下りエッジによる外部割込みによって、タイマ部10のカウンタ11の計数を開始させる。また、後述するように、第2処理部5(タイマ部10)のカウンタ11の計数値が先に通知した受信タイミングに達したときに、第2処理部5はDSP受信タイミング信号105をイネーブルにして処理部4に通知するが、DSPコア7はGPIOインタフェース部71を介してこのDSP受信タイミング信号105を受け取る。
【0027】
また、パワー管理部8は、CPUコア6及びDSPコア7について通常状態、スリープ状態及びディープスリープ状態の状態移行を管理する。例えばCPUコア6及びDSPコア7への供給電圧を下げて消費電力の削減を図る場合、スリープ状態はCPUコア6及びDSPコア7がプログラムを実行するために最低限必要な電圧まで下げた状態であり、ディープスリープ状態はCPUコア6及びDSPコア7が動作するために最低限必要な電圧まで下げた状態である。具体的に、第2処理部5のCPU9が負論理のディープスリープ信号106をイネーブル(Lowレベル)に設定したときに、CPUコア6及びDSPコア7はディープスリープ状態に移行し、第2処理部5のCPU9がディープスリープ信号106をディセーブル(Highレベル)に設定したときに、CPUコア6及びDSPコア7はディープスリープ状態が解除されることになる。
【0028】
次に、第2処理部5は、移動端末1のスリープ時の待ち受け画面の表示制御やキー割込み受付用として用意されているものであり、この実施の形態では16ビットマイクロコンピュータで具現されている。第2処理部5は、タイマ部10と、CPU9と、I2Cインタフェース部51と、GPIOインタフェース部52と、を備える。
【0029】
CPU9には、処理部4のCPUコア6から、DSP起動・受信タイミング通知信号101を介して通知されるDSP起動タイミング及び受信タイミングをそれぞれ保持する第1バッファ16及び第2バッファ17を備えている。
【0030】
上述したように、処理部4がディープスリープ状態に移行する際には、先ず、DSPコア7から、DSP間欠スリープ開始信号104を介して、タイマ部10のカウンタ11による計数を開始する準備に入るよう通知される。第2処理部5側では、GPIOインタフェース部52においてDSP間欠スリープ開始信号104の立上りエッジを検知することで、通知された旨を判断する。CPU9は、準備処理として、DSP間欠スリープ開始信号104による外部割込み以外の割込みをマスクして、DSP間欠スリープ開始信号104による外部割込み待ちの状態に入る。またこの時、CPU9はDSP受信タイミング信号105をディセーブルに設定しておく。DSP受信タイミング信号105は、タイマ部10のカウンタ11の計数値が受信タイミング(第2バッファ17に保持された内容)に達したとき、イネーブルにしてその旨を処理部4に通知するものであるから、前段階としてこのディセーブル設定が必要となる。
【0031】
また、DSPコア7からのDSP間欠スリープ開始信号104による外部割込みの通知は、GPIOインタフェース部52においてDSP間欠スリープ開始信号104の立下りエッジを検知することで判断される。CPU9は、この通知に基づきタイマ部10のカウンタ11にクロックCLの計数を開始させる。具体的にカウンタ11の開始操作は、カウンタ11のイネーブル端子を「有効」に設定すると共に、カウンタ11の内容をクリアする操作となる。この時、上述のようにDSP間欠スリープ開始信号104による外部割込み以外の割込みがマスクされており、割込みハンドラのオーバーヘッドも無いことから、この外部割込みの受付及び実行時間は、DSP間欠スリープ開始信号104の立下りエッジ検知、並びにカウンタ11の開始操作にかかる時間となり、クロックCLのほぼ半周期程度の時間に短縮することができる。またこれにより、DSP間欠スリープ開始信号104による外部割込みの起動タイミングと、タイマ部10のカウンタ11の計数開始タイミングとを、クロックCLの同一周期内に収めることが可能となり、タイマ部10のカウンタ11の計数動作を処理部4(DSPコア7)に同期させることができる。なお、DSP間欠スリープ開始信号104の立下りエッジのタイミングが、クロックCLの一周期の前半に位置するように設定すれば、外部割込みの受付及び実行にかかる所要時間をクロックCLの該周期の後半に収めることができ、DSP間欠スリープ開始信号104による外部割込みの起動タイミングと、タイマ部10のカウンタ11の計数開始タイミングとを、クロックCLの同一周期内に確実に収めることが可能となる。
【0032】
処理部4がディープスリープ状態に移行して後、タイマ部10のカウンタ11の計数値がDSP起動タイミング(第1バッファ16に保持された内容)に達したときには、タイマ部10からCPU9に対してタイマ割込みが通知され、CPU9は、GPIOインタフェース部52においてディープスリープ信号106をディセーブルに設定する。これを受けて処理部4側では、パワー管理部8の制御により、CPUコア6及びDSPコア7がディープスリープ状態からスリープ状態に移行し、CPUコア6のGPIOインタフェース部62においてディープスリープ要求信号103がディセーブルに設定される。そしてCPU9は、処理部4側からのディープスリープ要求が解除されたことを確認して、I2Cインタフェース部51においてDSP起動指示信号102を通知する。処理部4側ではこれを受けてスリープ状態が解除されることになる。
【0033】
また、タイマ部10のカウンタ11の計数値が受信タイミング(第2バッファ17に保持された内容)に達したときには、タイマ部10からCPU9に対してタイマ割込みが通知され、CPU9は、GPIOインタフェース部52においてDSP受信タイミング信号105をイネーブルに設定する。処理部4側ではこれを受けてDSPコア7による受信処理が開始されることになる。
【0034】
次にタイマ部10の具体的構成について説明する。タイマ部10は、無線部3からのサンプルタイミングをクロック入力として該クロックCLを計数するカウンタ11と、DSP起動タイミングの比較設定値が設定される第1比較設定値レジスタ12と、受信タイミングの比較設定値が設定される第2比較設定値レジスタ13と、カウンタ11の計数値に基づき所定周期(設定タイミング)を規定するための比較設定値が設定される第3比較設定値レジスタ14と、クロックCLの周期毎にカウンタ11の出力と第1比較設定値レジスタ12の値、第2比較設定値レジスタ13の値及び第3比較設定値レジスタ14の値と、をそれぞれ比較する比較部15と、を備える。比較部15において何れかのレジスタ値に一致したときはタイマ割込みがCPU9に通知される。
【0035】
なお、第2処理部5(タイマ部10)が扱うデータビット長で無線フレーム長の時間を表現できる場合には、DSP起動・受信タイミング通知信号101を介して通知されるDSP起動タイミング及び受信タイミングをそのまま第1比較設定値レジスタ12及び第2比較設定値レジスタ13にそれぞれ設定すればよい。換言すれば、CPU9内の第1バッファ16及び第2バッファ17、並びに第3比較設定値レジスタ14は、無線フレーム長の時間が16ビットで表現される数値を超えているために必要となる構成である。
【0036】
比較部15において、第3比較設定値レジスタ14の値に一致したときのタイマ割込みが上記所定周期を規定し、該タイマ割込みが第1比較設定値レジスタ12及び第2比較設定値レジスタ13の設定タイミングとなる。設定タイミング毎に、第1バッファ16内のDSP起動タイミングの値からカウンタ11の計数開始からの経過時間を差し引いた差分数値を16ビットで表現可能か否かを判断し、16ビットで表現可能な場合には該設定タイミングで残カウント数を第1比較設定値レジスタ12に設定する。また、設定タイミング毎に、第2バッファ17内の受信タイミングの値からカウンタ11の計数開始からの経過時間を差し引いた差分数値を16ビットで表現可能か否かを判断し、16ビットで表現可能な場合には該設定タイミングで残カウント数を第2比較設定値レジスタ13に設定する。ここで、カウンタ11の計数開始からの経過時間は、「カウンタ11の現計数値+カウンタ11の計数周期×カウンタ11のオーバーフローの回数」または「所定周期×設定タイミングを規定するタイマ割込みの回数」で算出される。
【0037】
次に、
図2及び
図3を参照して、この実施の形態の移動端末1における間欠制御の流れを説明する。
図2及び
図3において、(a)にはスーパーフレームとデータ受信処理区間の関係を示し、(b),(c),(d),(e)にはそれぞれDSPコア7,CPUコア6,CPUコア6のインタフェース部,第2処理部5及びタイマ部10における処理の流れを示し、(f),(g),(h),(i)にはそれぞれDSP間欠スリープ開始信号104,ディープスリープ要求信号103,ディープスリープ信号106,DSP受信タイミング信号105のタイムチャートを示す。以下の説明では、(b),(c),(d),(e)に示される処理ステップの流れに沿って説明していく。
【0038】
待受け時に、DSPコア7による受信処理が行われて着信が無い場合には、処理部4はディープスリープ状態に移行するが、その場合、先ず、DSPコア7により、ディープスリープ状態に移行した後のDSP起動タイミング、並びに、起動して後にDSPコア7が受信処理を開始する受信タイミングを設定する(
図2のステップS11)。これら設定されたDSP起動タイミング及び受信タイミングはCPUコア6に通知され、CPUコア6において間欠情報として設定され(ステップS21)、I2Cインタフェース部61において、DSP起動・受信タイミング通知信号101を介して第2処理部5にシリアル伝送される(ステップS31)。そして第2処理部5では、I2Cインタフェース部51を介してこれを受信し、DSP起動タイミングデータ及び受信タイミングデータをそれぞれ第1バッファ16及び第2バッファ17に保存する(ステップS41)。
【0039】
次に、DSPコア7は、第2処理部5に対して、タイマ部10のカウンタ11による計数を開始する準備に入るよう通知する(ステップS12)。具体的には
図2(f)に示すように、GPIOインタフェース部71を介して出力されるDSP間欠スリープ開始信号104の立上りエッジにより、その旨が第2処理部5に通知され、第2処理部5(CPU9)では、DSP間欠スリープ開始信号104による外部割込み以外の割込みをマスクする。またこの時、
図2(i)に示すように、第2処理部5のGPIOインタフェース部
52においてDSP受信タイミング信号105がディセーブル(Lowレベル)に設定される。
【0040】
そして所定時間Dが経過した後に、DSPコア7は、DSP間欠スリープ開始信号104の立下りエッジによる第2処理部5への外部割込み(ステップS13)によって、第2処理部5(CPU9)にタイマ部10のカウンタ11の計数を開始させる(ステップS42)。なお、DSP間欠スリープ開始信号104の立上りエッジのタイミングt1及び立下りエッジのタイミングt2は、ステップS11のタイミング設定時に決定されている。また、立上りエッジ(タイミングt1)から立下りエッジ(タイミングt2)までの期間Dは、第2処理部5において、DSP間欠スリープ開始信号104による外部割込み以外の割込みをマスクする処理に要する時間(例えば1[m秒])以上であることが条件である。また期間Dにおいては、DSP間欠スリープ開始信号104による外部割込み以外の割込み、例えばユーザによるキー割込みも受け付けられなくなるので、期間Dはユーザ操作に対して装置側からの反応が無くてもユーザが許容し得る時間(一般的に100[m秒])未満に制限することが望ましい。
【0041】
また、第2処理部5に対して外部割込みが通知された旨は、CPUコア6に通知され、これによりCPUコア6はスリープ状態に入る(ステップS22)ことになる。またこの時、CPUコア6のGPIOインタフェース部62では、
図2(g)に示すように、ディープスリープ要求信号103がイネーブル(Highレベル)に設定され(ステップS32)、第2処理部5に対してディープスリープ状態への移行が要求される。そして、この要求を受けて、第2処理部5では、
図2(h)に示すように、CPU9によってディープスリープ信号106がイネーブル(Lowレベル)に設定され(ステップS43)、CPUコア6及びDSPコア7は、処理部4のパワー管理部8の制御によってディープスリープ状態に入る(ステップS14)こととなる。
【0042】
次に、CPUコア6及びDSPコア7がディープスリープ状態に入って(ステップS14)後、第2処理部5のタイマ部10において、カウンタ11の計数値がDSP起動タイミングに達したときには、タイマ部10からCPU9に対してタイマ割込みが通知される(ステップS54)。このタイマ割込みにより、CPU9は、
図3(h)に示すように、ディープスリープ信号106をディセーブル(Highレベル)に設定する(ステップS44)。そして処理部4のパワー管理部8では、この設定を受けてCPUコア6及びDSPコア7をディープスリープ状態からスリープ状態に移行させ、スリープ状態となったCPUコア6は、
図3(g)に示すように、GPIOインタフェース部62においてディープスリープ要求信号103をディセーブル(Lowレベル)に設定して、ディープスリープ要求を解除した旨をCPU9に通知する(ステップS33)。さらにCPU9は、このディープスリープ要求解除の通知を受けてDSP起動指示信号102を通知する(ステップS45)。
【0043】
スリープ状態にあるCPUコア6は、I2Cインタフェース部61及びGPIOインタフェース部62において信号監視を続けており(ステップS34)、CPU9によってDSP起動指示信号102が通知されると、CPUコア6及びDSPコア7をスリープ状態から通常状態に移行させる(ステップS24)。この時、DSPコア7は受信割込み待ちの状態となる(ステップS15)。
【0044】
そして、第2処理部5のタイマ部10において、カウンタ11の計数値が受信タイミングに達したときには、タイマ部10からCPU9に対してタイマ割込みが通知される(ステップS56)。このタイマ割込みにより、CPU9は、
図3(i)に示すように、DSP受信タイミング信号105をイネーブル(Highレベル)に設定する(ステップS46)。処理部4のDSPコア7では、これを受けて受信処理が開始されることになる。
【0045】
次に、
図4〜
図6を参照して、第2処理部5のタイマ部10における具体的な処理について説明する。
図4及び
図5は移動端末1の間欠制御における各種信号並びに各種レジスタ及びバッファの保持内容のタイムチャートであり、(a)はDSP間欠スリープ開始信号104,(b)はディープスリープ要求信号103,(c)はディープスリープ信号106,(d)はDSP受信タイミング信号105,(e)はカウンタ11の計数値,(f)はクロックCL,(g)は第3比較設定値レジスタ14内の設定タイミングを規定するための比較設定値,(h)は第1比較設定値レジスタ12内のDSP起動タイミング比較設定値,(i)は第2比較設定値レジスタ13内の受信タイミング比較設定値,(j)は第1バッファ16の保持内容(DSP起動タイミング),(k)は第2バッファ17の保持内容(受信タイミング)をそれぞれ示す。また、
図6は設定タイミングと該設定タイミングにおける比較設定値の設定可能範囲を説明する説明図であり、(a)はカウンタ11の計数値,(b)は経過時間,(c)はDSP起動タイミング比較設定値及び受信タイミング比較設定値として設定可能な値の範囲をそれぞれ示す。
【0046】
図4及び
図5(e),(f)に示すように、タイマ部10の16ビットカウンタ11は、CPU9による開始操作以降、周波数128[kHz]のクロックCLを計数していく。
図4では、カウンタ周期TSMにDSP間欠スリープ開始信号104の立上りエッジのタイミングt1が位置し、またカウンタ周期TS0にDSP間欠スリープ開始信号104の立下りエッジのタイミングt2が位置しており、立上りエッジ(タイミングt1)から立下りエッジ(タイミングt2)までの期間Dは、第2処理部5において、DSP間欠スリープ開始信号104による外部割込み以外の割込みがマスクされる。また、DSP間欠スリープ開始信号104による外部割込み(タイミングt2の立下りエッジ)により、カウンタ11の計数動作が有効になると共に、カウンタ11の内容がクリアされている。
【0047】
また、処理部4がディープスリープ状態に移行する際には、DSP起動・受信タイミング通知信号101によりDSP起動タイミング及び受信タイミングが第2処理部5に通知されているが、シリアル伝送によるものであるため、
図4(j),(k)に示すように、カウンタ11の開始操作のカウンタ周期TS0よりも遅い(カウンタ11の値が2の時の)カウンタ周期で、それぞれCPU9の第1バッファ16及び第2バッファ17に保存されている。ここでは、DSP起動タイミングは約586[m秒]に、受信タイミングは約977[m秒]に、それぞれ設定されているものとして、第1バッファ16には75000(=585.9375[m秒]/7.8125[μ秒])が、第2バッファ17には125000(=976.5625[m秒]/7.8125[μ秒])が、それぞれ保存されている。
【0048】
このように、DSP起動タイミング及び受信タイミングの値は16ビットで表現される数値を超えているために、第2処理部5では、タイマ部10に第1比較設定値レジスタ12、第2比較設定値レジスタ13及び第3比較設定値レジスタ14を備えて、所定周期(設定タイミング)で第1比較設定値レジスタ12及び第2比較設定値レジスタ13にそれぞれDSP起動タイミング及び受信タイミングを再設定する構成となっている。
【0049】
第3比較設定値レジスタ14には、第1比較設定値レジスタ12及び第2比較設定値レジスタ13の設定タイミング(カウンタ11の計数値に基づく所定周期)を規定するための比較設定値が設定される。ここで、所定周期(設定タイミング)の設定を行い易くするためには、カウンタ11の計数値で規定される該所定周期を、カウンタ11で計数可能な最大期間の1/2
M(Mは0以上の正整数)とすれば良いが、ここではM=1として、カウンタ11計数周期の半分としている。つまり、
図6(a)にも示されるように、カウンタ11による計数動作の半周期毎に設定タイミング(カウンタ周期TS1,…,カウンタ周期TS5)を発生させている。
【0050】
また、第3比較設定値レジスタ14の値に一致したときのタイマ割込みで設定タイミングが発生するが、このタイマ割込みの処理により該設定タイミングのカウンタ周期において、次の設定タイミングを発生させるための比較設定値に更新されている。
【0051】
また、第3比較設定値レジスタ14の値に一致したときのタイマ割込みでは、次のような処理も行われる。すなわち、第1バッファ16内のDSP起動タイミングの値からカウンタ11の計数開始からの経過時間を差し引いた差分数値が16ビットで表現可能か否かを判断し、16ビットで表現可能な場合には該設定タイミングで残カウント数を第1比較設定値レジスタ12に設定し、また、第2バッファ17内の受信タイミングの値からカウンタ11の計数開始からの経過時間を差し引いた差分数値が16ビットで表現可能か否かを判断し、16ビットで表現可能な場合には該設定タイミングで残カウント数を第2比較設定値レジスタ13に設定する処理である。
【0052】
例えば、カウンタ周期TS1の設定タイミングでは、カウンタ11の計数値は「32768」であり、DSP起動タイミング値「75000」からカウンタ計数値「32768」を差し引いた差分数値「42232」は16ビットで表現可能であるので、該設定タイミングで残カウント数として「75000−65536=9464」が第1比較設定値レジスタ12に設定されることになる(
図4(h)参照)。ここで、カウンタ周期TS1の設定タイミングがカウンタ11計数周期の中間タイミングで、且つ差分数値「42232」がカウンタ11計数周期の半周期分の計数値「32768」を超える値であることから、DSP起動タイミングのタイマ割込みが発生するのは、現設定タイミング(TS1)で始まる所定周期内ではなく、(カウンタ11がオーバーフローしてリセットされた後の)次の設定タイミング(TS2)で始まる所定周期内であることが想定されることから、差分数値「42232」を設定すべき残カウント数として用いずに、DSP起動タイミング値「75000」からカウンタ11計数周期分の計数値「65536」を差し引いた差分数値「9464」を用いることとした。
【0053】
より具体的に、任意のカウンタ周期の設定タイミングで残カウント数を第1比較設定値レジスタ12または第2比較設定値レジスタ13に設定するか否かの判断は、予め所定周期に応じて決定されるタイミング設定範囲(
図6(c)参照)に残カウント数が収まるか否かにより行われる。ここで、タイミング設定範囲は、その設定タイミングの次の設定タイミングで始まる所定周期内(、即ち、その設定タイミングより256[m秒]〜512[m秒]先の期間にカウンタ11が取り得る計数値の範囲である。つまり、任意の設定タイミングで始まる所定周期よりも1つ前の所定周期(の設定タイミング)で、第1比較設定値レジスタ12または第2比較設定値レジスタ13への残カウント数設定判断を行うようにしている。なお、初回の設定タイミング(カウンタ周期TS1)におけるタイミング設定範囲については、初期設定として、10[m秒]〜512[m秒]先の期間にカウンタ11が取り得る計数値の範囲、即ち、「34048〜65535及び0〜32768」を用いることとした。
したがって、カウンタ周期TS1の設定タイミングでは、差分数値「9464」はタイミング設定範囲「34048〜65535及び0〜32768」に収まるので、残カウント数として「9464」が第1比較設定値レジスタ12に設定されることになる。
【0054】
また、カウンタ周期TS1の設定タイミングでは、受信タイミング値「125000」からカウンタ計数値「32768」を差し引いた差分数値「92232」は16ビットで表現不可であるので、第2比較設定値レジスタ13への設定は行われない。具体的に、差分数値「92232」はカウンタ周期TS1におけるタイミング設定範囲「34048〜65535及び0〜32768」に収まらないので、第2比較設定値レジスタ13への残カウント数設定は行われない。
【0055】
また、カウンタ周期TS2の設定タイミングでは、カウンタ11の計数値は「65536」であり、受信タイミング値「125000」からカウンタ計数値「65536」を差し引いた差分数値「59464」は16ビットで表現可能であるので、該設定タイミングで残カウント数として差分数値「59464」が第2比較設定値レジスタ13に設定されることになる(
図4(i)参照)。具体的に、差分数値「59464」はカウンタ周期TS2におけるタイミング設定範囲「32769〜65535」に収まるので、第2比較設定値レジスタ13へ残カウント数「59464」の設定が行われる。
【0056】
第2処理部5のタイマ部10において、カウンタ11の計数値が第1比較設定値レジスタ12に設定された比較設定値(DSP起動タイミング)に達したとき(カウンタ周期TS11)には、タイマ部10からCPU9に対してタイマ割込みが通知され、
図5(c)に示すように、CPU9によってディープスリープ信号106がディセーブル(Highレベル)に設定される。そして、上述した一連の処理を経て処理部4のCPUコア6及びDSPコア7が起動することとなる。
【0057】
また、第2処理部5のタイマ部10において、カウンタ11の計数値が第2比較設定値レジスタ13に設定された比較設定値(受信タイミング)に達したときには、タイマ部10からCPU9に対してタイマ割込みが通知され、
図5(d)に示すように、CPU9によってDSP受信タイミング信号105がイネーブル(Highレベル)に設定され、DSPコア7による受信処理が開始されることになる。
【0058】
以上説明したように、この実施の形態の移動端末1では、DSP間欠スリープ開始信号104の立上りエッジで、第2処理部に該DSP間欠スリープ開始信号104による外部割込み以外の割込みをマスクさせ、DSP間欠スリープ開始信号104の立下りエッジによる外部割込み時に、タイマ部10のカウンタ11の計数を開始させるので、割込みの受付及び実行(カウンタ11の内容をクリアして、計数動作をイネーブルにする)にかかる所要時間を短縮することができ、DSP間欠スリープ開始信号104による外部割込みの起動タイミングと、タイマ部10のカウンタ11の計数開始タイミングとを、同一のクロック周期内に収めることが可能となり、タイマ部10のカウンタ11の計数動作を処理部4(DSPコア7)に同期させることができる。また、第2処理部5に対して異なる2種の指示を1本のインタフェース信号を用いて行うので、インタフェース信号線数に制約がある場合であっても、間欠制御におけるタイミング条件を満たすハードウェア設計の実現が可能となる。
【0059】
また、起動タイミング及び受信タイミングの比較値設定用に第1比較設定値レジスタ12及び第2比較設定値レジスタ13を備えて、カウンタ11の計数値で規定される所定周期のタイミングで、且つカウンタ11の計数開始からの経過時間を差し引いた差分数値を16ビットで表現可能である場合に、残カウント数を比較値として設定するので、第2処理部5の扱うデータビット長が短く、該データビット長では無線フレーム長の時間を表現できない場合であっても、本発明を適用することが可能となる。その結果として、より少ないハードウェアリソースの追加で既存ハードウェアに間欠受信制御におけるタイムスケジューラ機能を組み込み得る移動端末を実現できる。
【0060】
以上、この発明の実施の形態について説明したが、具体的な構成は、上記の実施の形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計の変更等があっても、この発明に含まれる。