(57)【要約】      （修正有）【課題】データ通信および処理システムにおいてデータを周辺装置に転送するための改良された方法および装置を提供する。【解決手段】シリアル周辺インタフェース（ＳＰＩ）マスタ１１０と、データ通信および処理システム１００内の周辺装置にデータを転送する方法であって、ＳＰＩ（シリアル周辺インタフェース）マスタ１１０はパケットのリストを含むメモリ１１１を備える。各パケットは、データが周辺装置に転送される時間を示す時間パラメータに関連するデータを備える。時間パラメータは設定可能である。ＳＰＩマスタは、データに関連付けられた時間パラメータに従って一度にリスト内のデータを転送するためのシリアル送受信装置１１２をさらに備える。【選択図】図１
2020149692.tif 000002
【特許請求の範囲】
【請求項１】
データ通信処理システム（１００）内の周辺装置（ＰＤ１、ＰＤ２、ＰＤ３）にデータを転送するためのＳＰＩ（シリアル周辺インタフェース）マスタ（１１０、４００）であって、ＳＰＩマスタは、
パケットのリストを含むメモリ（１１１、４１０）であって、各パケットはどの時点でデータが周辺装置に転送されるべきかを示す時間パラメータに関連するデータを含み、時間パラメータは設定可能でありさらに、
シリアル送受信装置（１１２、４２０）はデータに関連する時間パラメータに従って一度にリスト内のデータを転送することができるＳＰＩマスタ。
【請求項２】
シリアル送信および受信装置（１１２、４２０）はデータ通信および処理システム（１００）から受信された外部信号によってパケットのリストの処理を開始するようにトリガされる請求項１に記載のＳＰＩマスタ（１１０、４００）。
【請求項３】
シリアル送信および受信装置（１１２、４２０）はデータ通信および処理システムからの開始信号の受信から設定可能な時間を待機した後にパケットのリストの処理を開始する請求項１に記載のＳＰＩマスタ（１１０、４００）。
【請求項４】
シリアル送受信装置（１１２、４２０）は設定可能な絶対時間にパケットのリストを処理することを開始する請求項１に記載のＳＰＩマスタ（１１０、４００）。
【請求項５】
シリアル送受信装置（１１２、４２０）はパケットのリストが設定可能な回数だけ繰り返されるようにパケットのリスト内のデータをループ構造で転送する請求項１〜４のいずれか一項に記載のＳＰＩマスタ（１１０、４００）。
【請求項６】
各パケット内のデータに関連する時間パラメータは絶対時間または相対時間である請求項１〜５のいずれか一項に記載のＳＰＩマスタ（１１０、４００）。
【請求項７】
データに関連する少なくとも１つの時間パラメータは周辺装置からのイベント情報またはトリガ信号を使用して導出される請求項１〜６のいずれか一項に記載のＳＰＩマスタ（１１０、４００）。
【請求項８】
リスト内の連続パケット間の少なくとも１つの時間パラメータおよび／または時間の差異は、周辺装置の動作モードパラメータを使用することによって決定される請求項１〜７のいずれか一項に記載のＳＰＩマスタ（１１０、４００）。
【請求項９】
少なくとも１つのパケット内のデータは周辺装置に転送される構成データである請求項１〜８のいずれか一項に記載のＳＰＩマスタ（１１０、４００）。
【請求項１０】
前記周辺装置は、レーダシステム、イメージセンサ、オーディオコーデック、アナログ―デジタル変換器、デジタル―アナログ変換器、モータ制御装置、カメラ、ビデオ装置のいずれか１つである請求項１〜９のいずれか一項に記載のＳＰＩマスタ（１１０、４００）。
【請求項１１】
１つまたは複数の周辺装置の動作を制御するための中央処理装置（１２２）を備えるメインシステムチップ（１２０）内の機能ブロックとして実装される請求項１〜１０のいずれか一項に記載のＳＰＩマスタ（１１０、４００）。
【請求項１２】
請求項１〜１１のいずれかに記載のＳＰＩマスタ（１１０、４００）を備えるデータ通信処理システム（１００）。
【請求項１３】
データ処理システムは、映像監視システム、ネットワークオーディオシステム、レーダシステムのいずれか１つである請求項１２に記載のデータ通信処理システム（１００）。
【請求項１４】
データ通信および処理システム（１００）内の周辺装置にデータを転送するためにＳＰＩマスタ（１１０、４００）で実行される方法であって、ＳＰＩマスタ（１１０、４００）はパケットのリストを含むメモリ（１１１、４１０）と、シリアル送受信装置（１１２、４２０）とを備え、各パケットはデータが周辺装置に転送される時間を示す時間パラメータに関連するデータを備え、その方法は、
シリアル送受信装置（１１２、４２０）がパケットのリストの処理を開始するためのトリガ信号の待機（８１０）を備え、
パケットのリストの処理（８２０）をし、
データに関連付けられた時間パラメータに従ってデータパケットを転送する時間であるかどうかをチェック（８３０）し、さらに
データに関連付けられた時間パラメータに従ってその時間にデータパケットを転送（８４０）する方法を含む方法。
【請求項１５】
シリアル送受信装置はパケットのリストが設定可能な回数だけ繰り返されるようにパケットのリスト内のデータをループ構造で転送する請求項１４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書の実施形態は、シリアル周辺インタフェース(SPI)マスタに関する。さらに、それらはSPIマスタを含むデータ通信および処理システムに関する。
【背景技術】
【０００２】
ビデオ監視システム、ネットワークオーディオシステム、無線通信システム、レーダシステムなどのデータ通信および処理システムでは、センサ、カメラ、ビデオ装置、アナログ-デジタル変換器(ADC)、デジタル-アナログ変換器(DAC)、オーディオコーデック、モータ制御装置などの多くの周辺回路がメインシステムチップ内の中央処理装置(CPU)によってSPIプロトコルを介して構成および制御される。アプリケーションによっては周辺回路をリアルタイムで再構成する必要がありSPIコマンドには小さな時間窓しか許されない。従来の割り込み駆動SPIまたはダイレクトメモリアクセス(DMA)駆動SPIでは転送を正しい時間に開始することが困難なため、許可された時間窓に収まることがある。
【０００３】
通常この問題はタイムクリティカルSPI通信用の専用マイクロコントローラを使用することによって解決される。ただし、専用マイクロコントローラを使用するとコストが増加する。特許文献1では改良された高性能バッファリング方式がSPIを備えて、マイクロコントローラベースの製品および他の成分および装置がより高いシリアル送受信データ速度を達成できるようにしている。バッファリング方式は頻繁なCPUポーリングや高い割り込みオーバーヘッドを必要とせずに高いデータ速度を提供できる。バッファリング方式はデータがCPUによる送信または読み出しの準備ができたことを識別するための割り込み設定で設計される。しかしこのソフトウェア制御は非常に複雑であるが問題を解決しない、すなわちSPI転送を正確に所望の時間に行うことができない。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許第6687769号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記に鑑みて本発明の実施形態の目的は、データ通信および処理システムにおいてデータを周辺装置に転送するための改良された方法および装置を提供することである。
【課題を解決するための手段】
【０００６】
本明細書の実施形態の一態様によれば、この目的はデータ通信および処理システム内の周辺装置にデータを転送するためのSPIマスタによって達成される。SPIマスタはパケットのリストを含むメモリを備える。各パケットはデータが周辺装置に転送される時間を示す時間パラメータに関連するデータを含んでいる。時間パラメータは設定可能である。SPIマスタはデータに関連付けられた時間パラメータに従って一度にリスト内のデータを転送するシリアル送受信装置をさらに備えている。
【０００７】
本明細書の実施形態の一態様によれば、この目的はデータ通信および処理システム内の周辺装置にデータを転送するためにSPIマスタで実行される方法によって達成される。SPIマスタはパケットのリストとシリアル送受信装置を含むメモリを備えている。各パケットはデータが周辺装置に転送される時間を示す時間パラメータに関連するデータを含んでいる。時間パラメータは設定可能である。SPIマスタはリスト内のデータをそのデータに関連付けられた時間パラメータに従って周辺装置に一度に転送する。
【０００８】
言い換えると、本明細書の実施形態によるSPIマスタは内部メモリ、例えばランダムアクセスメモリ(RAM)を有し、パケットのリスト、すなわちSPI転送はキューアップされ、次いで異なる明確に定義された時間で実行されてもよい。本明細書の実施形態によるSPIマスタは、システム内のグローバルタイマなどから設定可能な絶対時間でパケットのリストおよびSPI転送を処理するか、データ通信および処理システムから外部信号を受信することによってパケットおよび転送のリストを処理するように開始するか、データ通信および処理システムから開始信号を受信することから設定可能な時間を待ってからパケットおよび転送のリストを処理するように開始することができる。リストはループさせることができるので、同じSPI転送シーケンスを設定可能な回数繰り返すことができる。
【０００９】
本明細書の実施形態によるSPIマスタは、メインシステムチップ内の機能ブロックとして実装されてもよい。
【００１０】
本明細書の実施形態によるSPIマスタは、専用マイクロコントローラの場合であっても、ソフトウェア制御によって通常達成され得るタイミングよりもより正確な制御を提供する。本明細書の実施形態によるSPIマスタで実行される方法はタイミングがほとんどハードウェアで処理されるためあまり複雑ではない。SPIマスタはメインシステムチップに統合でき、外部マイクロコントローラ部品を省略することでコストを節約できる。
【００１１】
したがって本明細書の実施形態は、データ通信および処理システムにおいてデータを周辺装置に転送するための改良された方法および装置を提供する。
【００１２】
実施形態の例は添付の図面を参照してより詳細に説明される。
【図面の簡単な説明】
【００１３】
【図１】本明細書の実施形態による、SPIマスタが実装され得るデータ通信および処理システムを示す概略ブロック図である。
【図２】本明細書の実施形態による、メモリに格納されたパケットのリストとデータパケットの例示的構造とを示す概略ブロック図である。
【図３】レーダシステムを示す概略ブロック図である。
【図４】本明細書の実施形態による、レーダSPIマスタを示す概略ブロック図である。
【図５】本明細書の実施形態による、データパケットのリストを有するチャープ信号を示す概略図である。
【図６】本明細書の実施形態による、パケットヘッドのための例示的な構造を示す概略ブロック図である。
【図７】本明細書の実施形態による、パケット構造を示す概略図である。
【図８】本明細書の実施形態による、SPIマスタで実行される方法を示すフローチャートである。
【発明を実施するための形態】
【００１４】
図1は本明細書の実施形態によるSPIマスタ110が実装され得る、データ通信および処理システム100を示す概略ブロック図である。
【００１５】
データ通信および処理システム100は、ビデオ監視システム、ネットワークオーディオシステム、無線通信システム、レーダシステムなどのいずれか1つであってもよい。データ通信および処理システム100は、メインシステムチップ120を備える。メインシステムチップ120はCPU122を備える。データ通信および処理システム100は、センサ、カメラ、ビデオ装置、ADC、DAC、オーディオコーデック、モータなどのような1つまたは複数の周辺回路または装置PD1、PD2、PD3、．．．を含んでもよい。周辺装置PD1、PD2、PD3はメインシステムチップ120上に配置されるか統合されるかまたはメインシステムチップ120の外部に配置される。
【００１６】
本明細書の実施形態によれば、SPIマスタ110はパケットのリストを含むメモリ111を備え、各パケットはデータが周辺装置に転送される時間を示す時間パラメータt1、t2、t3、．．．に関連付けられたデータD1、D2、D3、．．．を備える。時間パラメータは設定可能でありアプリケーションによって必要とされるため、周辺装置の特定のイベントが特定の時間に確実に発生するように設定されている。時間パラメータは設定可能であり周辺装置のさまざまなアプリケーション、動作モード、動作モードパラメータなどに基づいて設定できる。
【００１７】
SPIマスタ110は周辺装置PD1、PD2、PD3と通信するためのシリアル送受信装置T/R 112をさらに備える。シリアル送受信装置T/R 112は、そのデータに対応する時間パラメータに応じてリスト内のデータを周辺回路PD1、PD2、PD3へ一度に転送する。
【００１８】
SPIマスタ110はメインシステムチップ120内の機能ブロックとして実装することができる。CPU 122は1つまたは複数の周辺装置PD1、PD2、PD3の動作を制御するためにSPA マスタ110と相互作用することができる。
【００１９】
データ通信および処理システム100は他のデータまたは構成を格納するための1つまたは複数のRAM 124をさらに備えることができる。
【００２０】
シリアル送受信装置112をトリガして、パケットのリストの処理を開始しデータを転送するいくつかの方法がある。
【００２１】
本明細書のいくつかの実施形態によれば、SPIマスタ110はデータ通信および処理システム100から信号Extを受信することができ、この受信された外部信号はシリアル送受信装置112をトリガしてパケットのリストの処理を開始する。
【００２２】
本明細書のいくつかの実施形態によれば、シリアル送受信装置112はデータ通信および処理システムからの開始信号の受信から設定可能な時間を待ってからパケットのリストの処理を開始してもよい。
【００２３】
本明細書のいくつかの実施形態によれば、シリアル送受信装置112は設定可能な絶対時間でパケットのリストの処理を開始することができ、すなわちシリアル送受信装置112は絶対時間を有するタイマが期限切れになると、パケットのリストの処理を開始することができる。タイマはデータ通信および処理システム100内のグローバルタイマであってもよく、またはグローバルタイマと呼ばれてもよい。
【００２４】
図2はメモリ111に格納されたパケットのリストと、本明細書の実施形態によるデータパケットの例示的な構造とを示す。各データパケットではパラメータTIMEおよびDATA以外に、ヘッダHEADERを含むことができる。ヘッダは通信する周辺装置を示すが、SPIプロトコルのパケット長と動作モードをも示す。SPIプロトコルにはいくつかのバリエーションがあり、SPI マスタは周辺装置に合わせて正しいモードを選択する必要がある。送信データの場合、データはパケットDATAに直接格納されるか、別のデータ領域DATA1へのポインタPOINTER1が格納されるか、またはその両方であってもよい。複数のバッファでパケットを分割したい場合は、POINTER2、DATA2など、より多くのデータポインタが存在してもよい。
【００２５】
受信データについても同様の状況が考えられる。SPIマスタはパケットデータ自体のスペースを確保したり、データ領域を分離するための1つまたは複数のポインタを提供したり、その両方を行うことができる。本明細書のいくつかの実施形態によれば、送信データはパケット内に直接存在し、受信データのポインタは別の受信バッファに存在することができる。
【００２６】
本明細書のいくつかの実施形態によれば、シリアル送受信装置112は図2に示すように、リスト内のパケットが設定可能な回数だけ繰り返されるように、ループ構造内のパケットのリスト内のデータを転送することができる。各ループの間には待機トリガが存在することがある。ただしループ間のトリガを待つ必要はない。
【００２７】
さまざまなアプリケーションやさまざまな周辺装置の設定に応じて、各パケットのデータに関連する時間パラメータはさまざまに設定できる。
【００２８】
本明細書のいくつかの実施形態によれば、データに関連する時間パラメータは絶対時間であってもよい。
【００２９】
本明細書のいくつかの実施形態によれば、データに関連する時間パラメータは相対時間であってもよい。たとえば現在のパケットの時間パラメータは、前のパケットの開始時間または終了時間に相対的である。
【００３０】
ある装置が他の装置と同時に開始したい場合には絶対時間が役立つため、基本的には最初のパケットの開始以外は問題がない。その後、両方の装置が同じ開始時間になるように設定され、その時間が来るまで待つ。最初のパケットの後、相対時間か絶対時間かは実装上の決定に過ぎない。
【００３１】
本明細書のいくつかの実施形態によれば、データに関連する時間パラメータは周辺装置からのイベント情報を使用して推定される。たとえばSPIマスタがモータ制御装置の場合、モータのタイプに応じて、速度、位置、電流、電圧などの情報を読み出すことができる。次にモータからの情報に基づいてモータにコマンドを送信する時間を計算する。
【００３２】
本明細書のいくつかの実施形態によれば、第1のパケット内のデータのための少なくとも時間パラメータは周辺装置から受信されたトリガ信号に基づいて決定される。例えばSPIマスタは、露光を開始するときにイメージセンサまたはカメラ全体からトリガ信号を得ることができる。次に露光の開始に関連する特定の時間に、SPIマスタによって制御される電子フラッシュを用いて一連のフラッシュを発光させることが可能である。
【００３３】
本明細書のいくつかの実施形態によれば、データに関連する時間パラメータはデータ通信および処理システム100のいくつかの他の部分から、すなわち制御される周辺装置自体からではなく通信される絶対時間を使用して導出される。データ通信および処理システム100の他の部分はいくつかの他の周辺装置を制御することができ、両方の動作が同時にまたは既知の時間差で実行されることが必要である。例えばステレオカメラの場合では2台のカメラがあり、各カメラにはSPIマスタ110が写真を撮影するタイミングを制御する。2台のカメラにはGPS(全地球測位システム)やイーサネット（登録商標）の拡張であるPTP(高精度時間プロトコル)など共通の絶対時間がある。両方のカメラが同じ絶対開始時間を取得するため同期して撮影を開始することができる。
【００３４】
本明細書のいくつかの実施形態によれば、リスト内の1つ以上の時間パラメータは周辺装置の動作モードパラメータを使用することによって決定されてもよい。たとえば最初のパケット内のデータに関連する時間パラメータとリスト内の連続するパケット間の時間差は周辺装置の動作モードパラメータに基づいて導出される。
【００３５】
例えばレーダ送信機を制御するためにいつ電源をオンまたはオフにするか、正確なレーダビームを形成するために正確な時間に特定の値で送信機の電力レベルおよび/または周波数を設定するか等の動作モードパラメータを使用してリスト内の連続パケット間の時間パラメータおよび/または時間差を決定することができる。
【００３６】
別の例としては、ライン間またはフレーム間のブランキング間隔でゲインまたは露光時間を変更したい場合にイメージセンサを制御することである。ブランキング間隔、フレームレートなどの動作モードパラメータを使用してリスト内の連続パケット間の時間パラメータおよび/または時間差を決定することができる。
【００３７】
各パケット内のデータに関連するパケットおよび時間パラメータのリストはデータ通信および処理システム100内のCPU 122によって事前に決定または設定され、SPIマスタ110のメモリ111に格納されてもよい。
【００３８】
本明細書のいくつかの実施形態によれば、データ通信および処理システム100はローカル制御装置LCU 123をさらに備えてもよく、各パケット内のデータに関連付けられたパケットおよび時間パラメータのリストはローカル制御装置LCU 123によって事前に決定されるかまたは設定され設計されてもよい。
【００３９】
本明細書のいくつかの実施形態によれば、時間パラメータはデータ通信および処理システム100における任意の重大な遅延を考慮するために遅延係数を追加することによって調整されてもよい。遅延係数はSPIが送信している周辺装置に応じて所定の方法で変更することができる調整可能な係数とすることができる。たとえばSPIバスにクロック速度の異なる2つの周辺装置がある場合、高速装置に遅延を追加し低速装置への送信を最初に開始して同時に終了するようにすることができる。
【００４０】
さまざまなアプリケーションや周辺装置の設定によってパケットのリスト内のデータは異なる場合がある。周辺装置はレーダシステム、イメージセンサ、オーディオコーデック、アナログ-デジタル変換器、デジタル-アナログ変換器、モータ制御装置、カメラまたはビデオ装置のいずれか1つであってもよい。
【００４１】
本明細書のいくつかの実施形態によれば、少なくとも1つのパケット内のデータは周辺装置に転送される構成データであってもよい。
【００４２】
例えばカメラの場合、構成データは例えばゲインおよび露光時間、絞り、光学的画像安定化、ズーム等に対応し得る。
【００４３】
レーダシステムの場合、レーダ送信におけるチャープは構成され制御されてもよい。図3は1つまたは複数のレーダを備えるレーダシステム300を示す。各レーダは場合によっては位相同期ループ(PLL)、1つまたは複数の受信機(Rx)、および1つまたは複数のADCを有する送信機(Tx)を有する。例えば最大4つのレーダがあるが同時に動作するのは2つだけである。レーダが4つある場合は各レーダにRxとADCが1ずつあってもよい。これは最大16個の装置、すなわち選択し構成するための16個のチップを有することができることを意味する。
【００４４】
すべての装置はSPIプロトコルによる構成が必要であるが、TxとそのPLLのみが別々の場合、ランタイムの再構成が必要である。
【００４５】
図4はレーダシステムのための本明細書のいくつかの実施形態によるSPIマスタRSPI 400を示す。RSPI 400は内部メモリ410と2つのSPIポートを有するシリアル送受信装置T/X 420とを備える。シリアル送受信装置420は1つもしくは複数のチップセレクト出力端子chip selectを、例えば周辺装置毎に一つのチップセレクト出力端子を有し、および6つの入出力端子、すなわち2つのクロックclk端子、2つのマスタアウト/スレーブイン(MOSI)mosi端子、および2つのマスタイン/スレーブアウト(MISO)miso端子を有する。各SPIポートには3つの端子であるclk、mosi、misoがある。ローカルCPU LCPU 430は、RSPI 400とともに図4にも示されている。
【００４６】
SPIプロトコルによれば、SPIバスは2本のラインMOSIおよびMISOでデータを同時に送受信することができる。クロック極性(CPOL)とクロック位相(CPHA)は、SPIバスで使用されるクロックフォーマットを定義する主なパラメータである。
【００４７】
RSPI 400のレジスタ一覧を示す:
rw_cfg        モジュール有効化、ビットクロック極性、タイマクロックソース、MOSI端子モード。
rw_trig       トリガ入力モードと端子選択。
rw_clk        ビットクロック周波数。
rw_mem_wr_ptr 内部メモリ書き込み用のアドレス。
rw_mem_wr     内部メモリに書き込み、各書き込みはrw_mem_wr_ptrを増大する。
rw_head_wr    フィールドはパケットの先頭を示すrw_mem_wrの別名。
rw_rec_wr     パケットヘッドの受信アドレスフィールド付きrw_mem_wrの別名。
rw_mem_rd_cfg 内部メモリ読み出しのアドレスと読み出しパターン。
rs_mem_rd     各読み出しはrw_mem_rd_cfgを更新する内部メモリから読み出す。
rw_first      リスト内の最初のパケットのアドレス。
rw_cnt        リストのループカウンタ。
rw_time       リストの開始時間、ダブルバッファ。
rw_start      開始コマンド。
r_stat        ステータスレジスタ。
r_intr...     割り込みレジスタ。
rw_cs_cfg     チップセレクト極性、分離スコープ、両ポート共通。
【００４８】
RSPI 400内の割り込みレジスタの一覧を以下に示す:
rdy           新しい開始コマンドを受け取る準備ができているSPIポート。
idle          SPIポートはアイドル状態である。
pkt           パケットとpkt_irqフィールドセットが完了する。
eol           パケットとeolフィールドセットが完了する。
【００４９】
レーダ300はチャープを送信する。チャープとは周波数が時間とともに増加または減少する信号である。すなわち図5(a)に示すように送信周波数はランプ状に変化する。チャープ信号はフレームで送信されてもよく、各フレームは2つもしくはそれ以上のランプを含んでもよい。これはSPIマスタ110内のパケットのリストによって設定され制御され得る。
【００５０】
通常、1つのランプを制御するにはいくつかのパケットが必要である。たとえばパワーをオンにするパケット、周波数ランプを開始するパケット、周波数ランプを停止するパケット、パワーをオフにするパケットなどである。これらのパケットはすべて正しい時間に送信する必要がある。図5(b)は1つのランプのパケットのリストを示している。1つのランプのパケットシーケンスはフレーム内の各ランプに対して繰り返される。フレーム内のランプt1内のパケット間とのランプt2間のタイミングは非常に重要である。たとえば約500nsの精度が必要とされる。さらにフレームTsの開始も正確な時間でなければならない。
【００５１】
図5(b)に示されるように、パケットはメモリ410内のループとしてリンクされたリストに構成されてもよい。このリストは設定可能な回数繰り返すことができる。より一般的には転送処理はリスト終わりeolが設定可能な回数を超えると停止する。各ループは1つまたは2つまたはそれ以上のチャープに対応し得るが、上記のように各チャープに対して送信されるいくつかのコマンド、すなわちパケットが存在する。フレーム内のチャープの数は通常パケットループのリストの回数に対応する。本明細書のいくつかの実施形態によれば、パケットのリストは例えば2つの交互のタイプのチャープが必要な場合に2つのチャープをカバーするようにより長くすることができる。
【００５２】
図6にパケットヘッダの構造例を示す。ヘッダは受信データが破棄されるかどうかに応じて、2つまたは3つの32ビットワードで構成される。ヘッダのフィールドを次の表1に示す。
【００５３】
【表１】
2020149692.tif 000003
【００５４】
パケットt1間の時間はパケットヘッドで設定できる。時間t1はレーダクロックサイクル数で、または内部クロックを使用してカウントされてもよい。
【００５５】
最初のパケットの開始時間Tsはレジスタで設定できる。このレジスタはメインCPUまたはLCPUのどちらかの制御CPUから書き込むことができる。Tsはシステム内の絶対時間タイマと連続的に比較され、一致するとスタートパルスまたはトリガ信号が生成される。あるいは最初のパケットはただちに開始するか、外部トリガ信号を受信した後に開始することができる。
【００５６】
パケット長、チップ選択、dadaビット順序などもまたパケットヘッドに構成することができる。
【００５７】
また受信データが格納されているかどうか、およびrec_addrを使用して内部RAMのどこに格納するかパケットヘッドに設定することもできる。
【００５８】
図7に示すように1つのSPIパケットにはいくつかのパックされたデータ値、例えば12ビット値などが含まれている場合がある。これらの値は16または32ビットにパディングし、レーダサブシステムのデータフォーマットに一致するように並び替える必要がある。パディングとリオーダリングは、rw_mem_rd_cfgレジスタで設定できる。ビットクロック周波数は例えば3.2kHz〜50MHzなどに設定可能である。この例ではRSPI 400モジュールには400MHzクロックが供給され、内部メモリ410のサイズは4kバイト、例えば1k × 32である。
【００５９】
次に図8を参照してSPIマスタ110において、データ通信処理システム100内の周辺装置にデータを転送するために実行される方法を説明する。上述したようにSPIマスタ110はパケットのリストを含むメモリ111とシリアル送受信装置112とを備える。各パケットはデータが周辺装置に転送される時間を示す時間パラメータに関連するデータを含んでいる。この方法には次の動作がある。
【００６０】
動作810
SPIマスタ110はシリアル送受信装置112がパケットのリストの処理を開始するためのトリガ信号を待つ。
【００６１】
トリガ信号はデータ通信および処理システム100からの外部信号であってもよい。シリアル送受信装置112は外部信号を受信した後にパケットのリスト処理を開始してもよい。またシリアル送受信装置112は外部信号の受信から設定可能な時間を待った後にパケットのリストの処理を開始することもできる。
【００６２】
またトリガ信号は設定可能な絶対時間を有するタイマであってもよく、シリアル送受信装置112はタイマが切れたときにパケットのリストの処理を開始してもよい。
【００６３】
動作820
シリアル送受信装置112はメモリ111からのパケットのリストの読み出しなどパケットのリストの処理を開始し、スタート時間、パケット長、ビット順序およびCPHAモード、次のパケットへのポインタなど、パケットの特定の設定を含む情報をパケットヘッダから取得する。
【００６４】
動作830
シリアル送受信装置112はデータに関連付けられた時間パラメータをチェックし、パケット内のデータを転送する時間になるまで待機する。
【００６５】
動作840
シリアル送受信装置112はそのデータに関連付けられた時間パラメータに従って、パケットのリスト内のデータを一度に転送する。シリアル送受信装置112はすべてのパケットが送信されるまでパケットのリストを処理し続ける。パケットヘッダのpkt_irqフィールドは、パケットが完全に処理されたときに割り込みpktを生成するために使用される。
【００６６】
シリアル送受信装置112はパケットのリストが設定可能な回数だけ繰り返されるように、ループ構造内のパケットのリスト内のデータを転送することができる。
【００６７】
シリアル送受信装置112はeolが設定可能な回数を過ぎたかどうかをチェックすることができる。eolとはリストの終わりマーカである。このフィールドがセットされたパケットがrw_cntで設定された回数転送されるとパケットリストの処理は停止する。
【００６８】
要約すると、実施形態によるSPIマスタ110、400およびその中の方法はいくつかの利点を有する。たとえば設定の転送が許可された時間窓に収まるように周辺装置に実行時間設定の可能性を提供する。これは専用のマイクロコントローラを用いた場合であっても、ソフトウェア制御による従来技術の解決策によって通常達成され得るものよりも、タイミングに対してより正確な制御を提供する。タイミングはほとんどハードウェアで処理されるため複雑さの少ない方法を提供する。これは外部マイクロコントローラ部品を使用せずにメインシステムチップに統合されることによってコストを節約する。
【００６９】
「を含む」または「を含んでいる」という語を使用する場合、それは非限定的すなわち「少なくともから成る」を意味すると解釈される。
【００７０】
なお本実施の形態は上述した好適な実施の形態に限定されるものではない。種々の代替案、修正、および等価物が使用されてもよい。したがって上記の実施形態は添付の請求の範囲によって定義される本発明の範囲を限定するものと解釈されるべきではない。
【図１】
2020149692.tif 000004
【図２】
2020149692.tif 000005
【図３】
2020149692.tif 000006
【図４】
2020149692.tif 000007
【図５】
2020149692.tif 000008
【図６】
2020149692.tif 000009
【図７】
2020149692.tif 000010
【図８】
2020149692.tif 000011