JP6956219B2 - シリアル周辺インタフェースマスタ - Google Patents

シリアル周辺インタフェースマスタ Download PDF

Info

Publication number
JP6956219B2
JP6956219B2 JP2020043755A JP2020043755A JP6956219B2 JP 6956219 B2 JP6956219 B2 JP 6956219B2 JP 2020043755 A JP2020043755 A JP 2020043755A JP 2020043755 A JP2020043755 A JP 2020043755A JP 6956219 B2 JP6956219 B2 JP 6956219B2
Authority
JP
Japan
Prior art keywords
data
list
time
packet
packets
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020043755A
Other languages
English (en)
Other versions
JP2020149692A (ja
Inventor
ザンダー ペール
ヴェンナーシュテン ヨハン
Original Assignee
アクシス アーベー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by アクシス アーベー filed Critical アクシス アーベー
Publication of JP2020149692A publication Critical patent/JP2020149692A/ja
Application granted granted Critical
Publication of JP6956219B2 publication Critical patent/JP6956219B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/3625Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a time dependent access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • H04L49/9078Intermediate storage in different physical parts of a node or terminal using an external memory or storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Information Transfer Systems (AREA)

Description

本明細書の実施形態は、シリアル周辺インタフェース(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に示す。
Figure 0006956219
パケット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およびその中の方法はいくつかの利点を有する。たとえば設定の転送が許可された時間窓に収まるように周辺装置に実行時間設定の可能性を提供する。これは専用のマイクロコントローラを用いた場合であっても、ソフトウェア制御による従来技術の解決策によって通常達成され得るものよりも、タイミングに対してより正確な制御を提供する。タイミングはほとんどハードウェアで処理されるため複雑さの少ない方法を提供する。これは外部マイクロコントローラ部品を使用せずにメインシステムチップに統合されることによってコストを節約する。
「を含む」または「を含んでいる」という語を使用する場合、それは非限定的すなわち「少なくともから成る」を意味すると解釈される。
なお本実施の形態は上述した好適な実施の形態に限定されるものではない。種々の代替案、修正、および等価物が使用されてもよい。したがって上記の実施形態は添付の請求の範囲によって定義される本発明の範囲を限定するものと解釈されるべきではない。

Claims (14)

  1. データ通信および処理システム(100)内の周辺装置(PD1、PD2、PD3)にデータを転送するためのSPI(シリアル周辺インタフェース)マスタ(110、400)であって、SPIマスタは、
    パケットのリストを含むメモリ(111、410)を備え、各パケットはどの時点でデータが周辺装置に転送されるべきかを示す時間パラメータに関連するデータを含み、時間パラメータは設定可能でありさらにパケットのリストに含まれる1つまたはそれ以上の時間パラメータは、周辺装置の動作モードパラメータを使用して決定され、および
    ータに関連する時間パラメータに応じた時間にリスト内のデータを転送するシリアル送受信装置(112、420)を備えるSPIマスタ。
  2. シリアル送受信装置(112、420)はデータ通信および処理システム(100)から受信された外部信号によってパケットのリストの処理を開始するようにトリガされる請求項1に記載のSPIマスタ(110、400)。
  3. シリアル送受信装置(112、420)はデータ通信および処理システムからの開始信号の受信から設定可能な時間を待機した後にパケットのリストの処理を開始する請求項1に記載のSPIマスタ(110、400)。
  4. シリアル送受信装置(112、420)は設定可能な絶対時間にパケットのリストを処理することを開始する請求項1に記載のSPIマスタ(110、400)。
  5. シリアル送受信装置(112、420)はパケットのリストが設定可能な回数だけ繰り返されるようにパケットのリスト内のデータをループ構造で転送する請求項1〜4のいずれか一項に記載のSPIマスタ(110、400)。
  6. 各パケット内のデータに関連する時間パラメータは絶対時間または相対時間である請求項1〜5のいずれか一項に記載のSPIマスタ(110、400)。
  7. データに関連する少なくとも1つの時間パラメータは周辺装置からのイベント情報またはトリガ信号を使用して導出される請求項1〜6のいずれか一項に記載のSPIマスタ(110、400)。
  8. 少なくとも1つのパケット内のデータは周辺装置に転送される構成データである請求項1〜のいずれか一項に記載のSPIマスタ(110、400)。
  9. 前記周辺装置は、レーダシステム、イメージセンサ、オーディオコーデック、アナログデジタル変換器、デジタルアナログ変換器、モータ制御装置、カメラ、ビデオ装置のいずれか1つである請求項1〜のいずれか一項に記載のSPIマスタ(110、400)。
  10. 1つまたはそれ以上の周辺装置の動作を制御するための中央処理装置(122)を備えるメインシステムチップ(120)内の機能ブロックとして実装される請求項1〜のいずれか一項に記載のSPIマスタ(110、400)。
  11. 請求項1〜10のいずれか一項に記載のSPIマスタ(110、400)を備えるデータ通信および処理システム(100)。
  12. データ処理システムは、映像監視システム、ネットワークオーディオシステム、レーダシステムのいずれか1つである請求項11に記載のデータ通信および処理システム(100)。
  13. データ通信および処理システム(100)内の周辺装置にデータを転送するためにSPIマスタ(110、400)で実行される方法であって、SPIマスタ(110、400)はパケットのリストを含むメモリ(111、410)と、シリアル送受信装置(112、420)とを備え、各パケットはデータが周辺装置に転送される時間を示す時間パラメータに関連するデータを備え、さらにパケットのリストに含まれる1つまたはそれ以上の時間パラメータは、周辺装置の動作モードパラメータを使用して決定され、その方法は、
    シリアル送受信装置(112、420)がパケットのリストの処理を開始するためのトリガ信号の待機(810)を
    パケットのリストの処理(820)をし、
    データに関連付けられた時間パラメータに従ってデータパケットを転送する時間であるかどうかをチェック(830)し、さらに
    データに関連する時間パラメータに応じた時間にデータパケットを転送(840)することを含む方法。
  14. シリアル送受信装置はパケットのリストが設定可能な回数だけ繰り返されるようにパケットのリスト内のデータをループ構造で転送する請求項13に記載の方法。
JP2020043755A 2019-03-13 2020-03-13 シリアル周辺インタフェースマスタ Active JP6956219B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP19162494.9 2019-03-13
EP19162494.9A EP3709177B1 (en) 2019-03-13 2019-03-13 Serial peripheral interface master

Publications (2)

Publication Number Publication Date
JP2020149692A JP2020149692A (ja) 2020-09-17
JP6956219B2 true JP6956219B2 (ja) 2021-11-02

Family

ID=65801980

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020043755A Active JP6956219B2 (ja) 2019-03-13 2020-03-13 シリアル周辺インタフェースマスタ

Country Status (6)

Country Link
US (1) US10929333B2 (ja)
EP (1) EP3709177B1 (ja)
JP (1) JP6956219B2 (ja)
KR (1) KR102307573B1 (ja)
CN (1) CN111694771B (ja)
TW (1) TWI747176B (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11860730B2 (en) 2021-12-06 2024-01-02 Waymo Llc Low-overhead, bidirectional error checking for a serial peripheral interface
CN117520220B (zh) * 2024-01-08 2024-04-09 湖南恩智测控技术有限公司 自动更新数据方法、系统、装置及存储介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4943963A (en) * 1988-01-19 1990-07-24 A. C. Nielsen Company Data collection and transmission system with real time clock
JP4148290B2 (ja) * 1997-04-01 2008-09-10 ソニー株式会社 信号処理回路
EP1152502A1 (en) * 1999-11-26 2001-11-07 The Furukawa Electric Co., Ltd. Optical fiber for optical amplifying
US6985499B2 (en) * 2000-04-20 2006-01-10 Symmetricom, Inc. Precise network time transfer
US6687769B2 (en) 2001-03-16 2004-02-03 Texas Instruments Incorporated Serial peripheral interface with high performance buffering scheme
US7570078B1 (en) * 2006-06-02 2009-08-04 Lattice Semiconductor Corporation Programmable logic device providing serial peripheral interfaces
JP5113453B2 (ja) * 2007-08-24 2013-01-09 Juki株式会社 シリアル通信装置
EP2294858A4 (en) * 2008-06-23 2014-07-02 Hart Comm Foundation ANALYZER FOR A WIRELESS COMMUNICATION NETWORK
JP5444911B2 (ja) * 2009-07-23 2014-03-19 富士通株式会社 送受信制御装置、電子機器、データ送信方法及び制御プログラム
US8705395B2 (en) * 2010-06-15 2014-04-22 Jds Uniphase Corporation Method for time aware inline remote mirroring
US9438525B2 (en) * 2012-06-01 2016-09-06 Freescale Semiconductor, Inc. Scheduling module and method thereof
CN202940827U (zh) * 2012-09-07 2013-05-15 北京旋极信息技术股份有限公司 一种航电全双工实时以太网数据预处理装置
ITUB20151177A1 (it) * 2015-05-26 2016-11-26 St Microelectronics Srl Interfaccia auto-sincronizzante, dispositivo e procedimento corrispondenti
US10360125B2 (en) * 2016-05-31 2019-07-23 Bristol, Inc. Methods and apparatus to communicatively couple field devices to a remote terminal unit
US10713201B2 (en) * 2017-09-14 2020-07-14 Intel IP Corporation Apparatus, system and method of communicating over a media agnostic (MA) USB connection
CN108268414B (zh) * 2018-03-26 2023-07-21 福州大学 基于spi模式的sd卡驱动器及其控制方法

Also Published As

Publication number Publication date
KR20200110219A (ko) 2020-09-23
KR102307573B1 (ko) 2021-10-05
TWI747176B (zh) 2021-11-21
US10929333B2 (en) 2021-02-23
CN111694771B (zh) 2021-12-21
US20200293484A1 (en) 2020-09-17
EP3709177A1 (en) 2020-09-16
CN111694771A (zh) 2020-09-22
JP2020149692A (ja) 2020-09-17
TW202101241A (zh) 2021-01-01
EP3709177B1 (en) 2021-03-03

Similar Documents

Publication Publication Date Title
KR102445344B1 (ko) 시리얼 버스를 위한 수신 클록 캘리브레이션
KR102535076B1 (ko) 원격 버스 활성화를 위한 시스템들 및 기술들
JP6956219B2 (ja) シリアル周辺インタフェースマスタ
US20220045922A1 (en) Slave-to-master data and out-of-sequence acknowledgements on a daisy-chained bus
US20150100713A1 (en) Coexistence of i2c slave devices and camera control interface extension devices on a shared control data bus
US8719476B2 (en) Communication system, master device and slave device, and communication method, configured to handle plural concurrent requests
US20150199295A1 (en) Receive clock calibration for a serial bus
US10762013B2 (en) Driver for network timing systems
US20090110110A1 (en) Transmission Apparatus, Transmission Method, Communication Apparatus, and Program
CN110955617A (zh) 用于通过总线进行通信的方法和系统
US9118611B2 (en) Data synchronization for circuit resources without using a resource buffer
US10503686B2 (en) SPI interface with automatic slave select generation
KR20120079142A (ko) 카메라 장치
JP2010257280A (ja) シリアル制御装置、半導体装置及びシリアルデータの転送方法
US10489319B2 (en) Automatic transmission of dummy bits in bus master
JP2020191520A (ja) 撮像装置及び撮像装置の制御方法
US11960434B2 (en) Communication device, communication system, and communication method for transmitting data blocks including signal groups conforming to a serial peripheral interface
WO2022235928A1 (en) Multi-chip camera controller system with inter-chip communication
GB2595887A (en) Method, device, and computer program for improving transmission of data in daisy-chain networks
JPH0512203A (ja) バス性能測定システム
JP2007072685A (ja) データ転送装置及び情報処理装置
JP2017130026A (ja) 時刻補正装置、および、時刻補正方法
JPH06106787A (ja) プリンタ
JP2013069097A (ja) 送信権調停装置、送信権調停制御方法、及びそのためのプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210216

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210216

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20210217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210507

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210629

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210908

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211004

R150 Certificate of patent or registration of utility model

Ref document number: 6956219

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150