JP6334831B2 - Tigersharc dspブート管理チップおよび方法 - Google Patents

Tigersharc dspブート管理チップおよび方法 Download PDF

Info

Publication number
JP6334831B2
JP6334831B2 JP2017546838A JP2017546838A JP6334831B2 JP 6334831 B2 JP6334831 B2 JP 6334831B2 JP 2017546838 A JP2017546838 A JP 2017546838A JP 2017546838 A JP2017546838 A JP 2017546838A JP 6334831 B2 JP6334831 B2 JP 6334831B2
Authority
JP
Japan
Prior art keywords
dsp
code segment
boot
tigersharc
chip
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.)
Expired - Fee Related
Application number
JP2017546838A
Other languages
English (en)
Other versions
JP2018507489A (ja
Inventor
李震
▲孫▼国斌
▲張▼小松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CRRC Qingdao Sifang Rolling Stock Research Institute Co Ltd
Original Assignee
CRRC Qingdao Sifang Rolling Stock Research Institute Co Ltd
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
Priority claimed from CN201610183445.7A external-priority patent/CN105786527B/zh
Priority claimed from CN201620246409.6U external-priority patent/CN205540691U/zh
Application filed by CRRC Qingdao Sifang Rolling Stock Research Institute Co Ltd filed Critical CRRC Qingdao Sifang Rolling Stock Research Institute Co Ltd
Publication of JP2018507489A publication Critical patent/JP2018507489A/ja
Application granted granted Critical
Publication of JP6334831B2 publication Critical patent/JP6334831B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Multi Processors (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明は、デジタル信号処理の技術分野に属し、TigerSharc DSPチップに適用されるブート管理チップおよびそのブート管理方法に関する。
TigerSharc DSPチップは、ADIによって製造された高性能DSPチップとして、4800MMACという非常に高い演算処理能力と実行効率を有し、プロセッサの主周波数は、600MHzと高く、オンチップRAMは、24Mビットに達する。2つの独立したコンピューティングコアが各チップに含まれており、1クロックサイクル内で最大4つの命令を実行することができる。このシリーズのチップは、最大8個のDSPでマルチDSPコプロセッシングをサポートし、高速かつ高性能の信号処理分野に適用可能である。
TS20xには不揮発性のプログラムメモリが内蔵されていないため、プログラムは外部からチップに取り込むことしかできない。 PROMブート、Hostブート、LinkPortブート、およびNo bootの4つのプログラムダウンロードモードがある。これらのモードの中では、PROMブートモードが頻繁に使用されるが、安全性は低くなり、LinkPortブートモードは主にDSPチップの間のプログラムのダウンロードに使用され、汎用性は低く、No bootモードは主にデバッグに使用され、一般には使用することは推奨されず、Hostブートモードは、コバス(co-bus)システムにおいて独自の利点を有し、外部バスを介してチップブートを実現するためにホストを使用することができ、この方法は、TigerSharc DSPチップと他のシステムとの良好な互換性を実現することができる。しかしながら、Hostブートモードでは、DSPの書き込みシーケンスがブート処理において厳密に必要であるため、ブート処理でエラーが発生しやすくなる。さらに、ブートコードが長い場合、Hostブートモードでは時間がかかる。
TigerSharc DSPチップの従来のHostブートモードは次の通りであり、すなわち、ブートプログラムは、DSPの外部バスを使用することによって、DSPのAUTODMAポート(固定アドレスを有する)に送信される。ブートプログラムは、AUTODMAポートで受信され、ホストは、ブート処理でバスを制御する権利を有する。このブートモードは、外部バスを使用してDSPのブートをより柔軟に実現することができ、FPGAまたは他のプロセッサを使用して共通外部バスを介してプログラムをTigerSharc DSPにダウンロードするのに適している。
しかしながら、従来のHostブートモードでは、以下の欠点が依然として存在する。(1)ブート安定性を保証するために、従来のHostブートモードでは、ブートローダの後に遅延が加えられ、最終セッションの最初の5ワードがTigerSharc DSPチップに書き込まれる。一方、各ワードが書き込まれた後、次のワードは、DSPが現在書き込まれたワードを処理した後にのみ書き込まれ、非ゼロコードセグメントおよびゼロコードセグメントが異なる時間に処理される。書き込み速度が速すぎる場合、チップを起動できなくなる可能性が非常に高くなる。コードセグメントでのコードコンテンツのダウンロードは、プログラムのダウンロード処理の大半を占めるので、各ワードの書き込みは、TigerSharc DSPからの応答を待つ必要がある。したがって、TigerSharc DSPのクイックブートが影響を受ける。コードが長くなると、起動時間も長くなる。
(2)データ書き込みは、アクノリッジ信号ACK、バスロック信号BUSLOCK、およびバス承諾信号(bus grant signal)HBGによってさらに制限される。アクノリッジ信号ACK、バスロック信号BUSLOCK、およびバス許諾信号HBGが安定し、ブートロジックが満たされ、TigerSharc DSPが準備されている場合にのみ、データを書き込むことができる。そうでなければ、1つのデータが失われた場合、TigerSharc DSPは、起動できない。
本発明の目的は、従来のホストブート方法におけるブート時間が長すぎ、安定性が低いという欠点を考慮して、改良されたホストブート管理チップおよびブート方法、すなわち、改良されたホストブート方法に基づくTigerSharc DSP管理チップを提供し、複数のTigerSharc DSPチップの迅速なブートを実現することである。
本発明は、以下の技術的解決策を使用する。すなわち、TigerSharc DSPブート管理チップが、インターフェースユニットと、2ポートRAMユニットと、管理ユニットと、DSPダウンロード管理ユニットとを備え、インターフェースユニットが、2ポートRAMユニットと管理ユニットとのそれぞれに接続され、管理ユニットが、制御ライン(制御線)を介して外部制御システムに接続され、管理ユニットが、2ポートRAMユニットおよびDSPダウンロード管理ユニットのそれぞれにさらに接続され、DSPダウンロード管理ユニットが、パラレルバスを介して少なくとも1つのTigerSharc DSPチップに接続され、TigerSharc DSPは8つまでであり、すなわち、1つのブート管理チップが最大8つのDSPチップを駆動し、TigerSharc DSPブート管理チップは、フラッシュドライブユニットおよびNORフラッシュチップをさらに備え、管理ユニットは、フラッシュドライブユニットに接続され、2ポートRAMユニットは、フラッシュドライブユニットを介してNORフラッシュチップに接続され、NORフラッシュチップは、フラッシュドライブユニットを介してDSPダウンロード管理ユニットと通信する。
インターフェースユニットは、PCIバスインターフェース、CANバスインターフェース、およびRS232バスインターフェースを備え、これらはすべて、管理ユニットおよび2ポートRAMユニットに接続されることが好ましい。
TigerSharc DSPブート管理チップは、各TigerSharc DSPチップにそれぞれ接続されたウォッチドッグ管理回路をさらに備えることが好ましい。
TigerSharc DSPブート管理チップを使用するTigerSharc DSPブート管理方法が提供され、ブートモードが管理ユニットによって最初に選択され、
管理ユニットは、インターフェースユニットを介してTigerSharc DSPブートプログラムのダウンロードの選択を制御し、NORフラッシュチップまたは外部バスを介してブートする選択の制御を行い、
外部バスは、インターフェースユニットが接続される外部バスであるため、TigerSharc DSPブートプログラムのダウンロード方法は、管理ユニットが、外部バスによってインターフェースユニットを介して、TigerSharc DSPブートプログラムのダウンロードを制御すること、または管理ユニットが、NORフラッシュチップを介してブートするよう選択することによってTigerSharc DSPブートプログラムのダウンロードを制御することであり、
NORフラッシュチップを介してブートするよう選択される場合、管理ユニットは、フラッシュドライブユニットを介してTigerSharc DSPブートプログラムをダウンロードするようNORフラッシュチップを駆動し、TigerSharc DSPブートプログラムがNORフラッシュチップに格納され、TigerSharc DSPチップが、DSPダウンロード管理ユニットを介してTigerSharc DSPブート管理チップにTigerSharc DSPブートプログラムを読み込み、
外部バスを介してブートするよう選択される場合、TigerSharc DSPブートプログラムは、2ポートRAMユニットおよびDSPダウンロード管理ユニットを介して、TigerSharc DSPチップに転送される。外部バスは、限定されないがPCIバス、CANバス、およびRS232バスを含むインターフェースユニットが接続される外部バスである。管理ユニットは、インターフェースユニット、2ポートRAMユニット、およびDSPダウンロード管理ユニットの動作を制御するよう構成される。
TigerSharc DSPブートプログラムは、256ワードのコードセグメント部分およびブートローダ部分を備えることが好ましい。コードセグメント部分は、エンドツーエンドに(end to end)順次接続されたN個のコードセグメントを備える。コードセグメントの数Nは、TigerSharc DSPチップの数と同じである。
コードセグメント部分は、非ゼロコードセグメント、ゼロコードセグメント、および最終コードセグメントを備える。
非ゼロコードセグメントは、(1)非ゼロコードセグメントのヘッダ情報、(2)非ゼロコードセグメントの記憶アドレス、および(3)非ゼロコードセグメントのコンテンツを含む。ここで、非ゼロコードセグメントのヘッダ情報は、(1)このコードセグメントの識別子タイプ情報(非ゼロコードセグメント、ゼロコードセグメント、または最終コードセグメント)、(2)非ゼロコードセグメントが属するTigerSharc DSPチップのID情報、および(3)非ゼロコードセグメントのコンテンツ長を含む。
ゼロコードセグメントは、(1)ゼロコードセグメントのヘッダ情報、および(2)ゼロコードセグメントの記憶アドレスを含む。ここで、ゼロコードセグメントのヘッダ情報は、(1)このコードセグメントの識別子タイプ情報(非ゼロコードセグメント、ゼロコードセグメント、または最終コードセグメント)、(2)ゼロコードセグメントが属するTigerSharc DSPチップのID情報、および(3)ゼロコードセグメントのコンテンツ長を含む。
最終コードセグメントは、(1)最終コードセグメントのヘッダ情報、(2)最終コードセグメントの記憶アドレス、および(3)最終コードセグメントのコンテンツを含む。ここで、最終コードセグメントのヘッダ情報は、(1)このコードセグメントの識別子タイプ情報(非ゼロコードセグメント、ゼロコードセグメント、または最終コードセグメント)、(2)最終コードセグメントが属するTigerSharc DSPチップのID情報、および(3)256ワードの最終コード情報を含む。
ここで、ブートローダ部分は、TigerSharc DSPブートプログラムのコアを実行する前のプログラムであり、初期化、メモリ空間マッピングの確立、ならびにソフトウェアおよびハードウェアの動作環境の調整に使用される。
ブートローダ部分は、TigerSharc DSPチップのAutoDAMアドレスに書き込まれ、
コードセグメント内のTigerSharc DSPチップのID情報が読み込まれ、
コードセグメント内のTigerSharc DSPチップのID情報が、現在このプログラムをダウンロードしているTigerSharc DSPチップのID情報と等しいかどうか判定され、もし等しくなければ、次のコードセグメントが順次読み込まれ、もし等しければ、このコードセグメントが最終コードセグメントであるかどうか判定され、
このコードセグメントが最終コードセグメントでない場合、このコードセグメントのサイズ情報とアドレス情報とに従って、このコードセグメントのコンテンツが、対応するDSPのメモリに、DSPパラレルバスにより1レベルパイプライン読込/書込方法で書き込まれる。
このコードセグメントが最終コードセグメントである場合、最終コードセグメントがDSPメモリに書き込まれ、このDSPのブートが終了する。
さらに、TigerSharc DSPブートプログラムが更新される場合、更新されたプログラムが、NORフラッシュチップに再ダウンロードされる。
さらに、各コードセグメントは、非ゼロコードセグメント、ゼロコードセグメント、および最終コードセグメントを備える。非ゼロコードセグメントは、このコードセグメントが属するTigerSharc DSPチップのID情報、コードセグメントの記憶アドレス情報、コードセグメントのサイズ、およびコードセグメントの非ゼロコンテンツ情報を含み、ゼロコードセグメントは、このコードセグメントが属するTigerSharc DSPチップのID情報、コードセグメントの記憶アドレス情報、およびコードセグメントのサイズを含み、最終コードセグメントは、このコードセグメントが属するTigerSharc DSPチップのID情報および256ワードの最終コード情報を含む。
さらに、ブートローダ部分が書き込まれた後、コードセグメントのヘッダ情報を読み込むフローは10μs遅れて実行され、最終コードセグメントをTigerSharc DSPチップメモリに書き込むフローは、最初の5ワードの書き込み、10μsの遅延後、残りの251ワードの書き込みとなる。
本発明は、以下の有利な効果を有する。
本発明は、TigerSharc DSPチップのブート速度を増加させながら、ブート処理の安定性を高める、改良されたHostブート設計方法を提供する。改良されたHostブート設計方法に基づいて、TigerSharc DSPブート管理チップが設計される。一方で、TigerSharc DSPチップの使用の難しさが減少し、他方で、TigerSharc DSPチップのブート速度と安定性が改善される。
本発明は、複数のTigerSharc DSPのブートを効率的に管理することができる。したがって、TigerSharc DSPの使用の難しさは減少する。外部システムに対して、TigerSharc DSPは、PCI、CAN、RS232、およびパラレルバスを介して起動することができる。したがって、本発明は、TigerSharc DSPに接続する解決策を有する多くの互換性のないシステムを提供する。
本発明は、複数のTigerSharc DSPを同時に管理することができるウォッチドッグ機能を有する。ある特定のDSPの動作が異常である場合、このDSPをリセットしてDSPのプログラムを再ダウンロードすることができる。
本発明は、2つのブートモードを提供する。一方のブートモードは、NORフラッシュチップを介してのブートを実現することである。このモードでは、TigerSharc DSPブートプログラムの一時記憶領域として機能するNORフラッシュチップにプログラムを直接格納し、その後のブート処理でNORフラッシュチップからTigerSharc DSPブートプログラムを直接呼び出すことができるので、毎回外部からTigerSharc DSPブートプログラムを読み込むのではなく、TigerSharc DSPブートプログラムの更新中にTigerSharc DSPブートプログラムを再ダウンロードするだけでよい。他方のブートモードは、外部バスを介してTigerSharc DSPブートプログラムを直接受信する。このモードは非常に安全である。ブートモードは、柔軟で多様な管理ユニットによって設定することができる。
PCIバス、CANバス、RS232バスなどのさまざまな外部バスが用意されており、さまざまなバスデータフォーマットをサポートすることができる。
本発明の概略構成図である。 ブートプログラムコードの概略構成図である。 本発明のHostブートプログラムのフローチャートである。
本発明の具体的な実装態様について、添付図面を参照してさらに詳細に説明する。
図1に示すように、TigerSharc DSPブート管理チップは、インターフェースユニットと、2ポートRAMユニットと、管理ユニットと、DSPダウンロード管理ユニットとを備える、FPGAを用いて構成されたブート管理チップである。
インターフェースユニットは、いずれも管理ユニットおよび2ポートRAMユニットに接続されたPCIバスインターフェース、CANバスインターフェース、およびRS232バスインターフェースを備え、PCI通信モジュール、CAN通信モジュール、およびRS232通信モジュールを介して外部システムにさまざまなインターフェースを提供する。
PCI通信モジュールは、PCIバスインターフェースを介したPCIバスのアクセスを担い、CAN通信モジュールは、CANバスインターフェースを介したCANバスのアクセスを担い、RS232通信モジュールは、RS232バスインターフェースを介したRS232バスのアクセスを担う。ここで、2ポートRAMユニットは、一時的にコードを受信するために使用され、TigerSharc DSPブートプログラムのための一時記憶装置として働く。
管理ユニットは、制御ラインを介して外部制御システムに接続される。制御システムは、FPGAブート管理チップのコントローラであり、ブート制御命令を発行するよう構成される。管理ユニットは、それぞれ2ポートRAMユニットおよびDSPダウンロード管理ユニットにも接続される。DSPダウンロード管理ユニットは、パラレルバスを介して少なくとも1つのTigerSharc DSPチップに接続され、TigerSharc DSPチップは8以下である。言い換えれば、1つのブート管理チップが最大8つのTigerSharc DSPチップを駆動する。駆動可能なDSPチップの数は、主にFPGA駆動インターフェースによって制限される。
管理チップは、フラッシュドライブユニットとNORフラッシュチップとをさらに備える。管理ユニットは、フラッシュドライブユニットに接続される。2ポートRAMユニットは、フラッシュドライブユニットを介してNORフラッシュチップに接続される。NORフラッシュチップは、フラッシュドライブユニットを介してDSPダウンロード管理ユニットと通信する。NORフラッシュチップは、TigerSharc DSPブートプログラム用の記憶チップとして、ダウンロードされたTigerSharc DSPブートプログラムを格納するために使用される。
管理チップのこの構造は、TigerSharc DSPブートプログラム用の2つのブートプログラムチャネルをTigerSharc DSPチップに提供する。一方のブートプログラムチャネルは、TigerSharc DSPブートプログラムがインターフェースユニットを介して外部バスからダウンロードされ、次いで、TigerSharc DSPチップに転送され、2ポートRAMユニットおよびDSPダウンロード管理ユニットを介してブートされることである。この場合、毎回外部バスからTigerSharc DSPブートプログラムを再ダウンロードする必要がある。他方のブートプログラムチャネルは、TigerSharc DSPブートプログラムがNORフラッシュチップに直接ダウンロードされ、TigerSharc DSPブートプログラムが毎回NORフラッシュチップから直接読み込まれることである。TigerSharc DSPブートプログラムが更新された場合、更新されたTigerSharc DSPブートプログラムは、NORフラッシュチップに再ダウンロードされ、更新されたTigerSharc DSPブートプログラムは、チップがブートされる場合にNORフラッシュチップから直接読み込まれる。TigerSharc DSPブートプログラムのダウンロード方法の選択およびチャネルの選択は、管理ユニットによって制御することができる。
本システムはさらに、各TigerSharc DSPチップに接続されて、複数のTigerSharc DSPのウォッチドッグ管理および監視を実現するウォッチドッグ管理回路を備える。DSPは、外部バスを介して管理チップ内のウォッチドッグ管理回路のレジスタにアクセスする。TigerSharc DSPの動作が異常である場合、TigerSharc DSPをリセットすることができ、プログラムを再ダウンロードすることができる。
TigerSharc DSPブート管理チップを使用するTigerSharc DSPブート管理方法が提供され、ブートモードが管理ユニットによって最初に選択され、
管理ユニットは、インターフェースユニットを介してTigerSharc DSPブートプログラムのダウンロードの選択を制御し、NORフラッシュチップまたは外部バスを介してブートする選択に対する制御を行い、
NORフラッシュチップを介してブートするよう選択される場合、TigerSharc DSPブートプログラムがNORフラッシュチップに格納され、TigerSharc DSPチップが、DSPダウンロード管理ユニットを介してTigerSharc DSPブート管理チップにTigerSharc DSPブートプログラムを読み込み、
外部バスを介してブートするよう選択される場合、TigerSharc DSPブートプログラムは、インターフェースユニット、2ポートRAMユニット、およびDSPダウンロード管理ユニットを介して、TigerSharc DSPチップに転送される。
図2に示すように、TigerSharc DSPブートプログラムは、256ワードのコードセグメント部分およびブートローダ部分を含む。コードセグメント部分は、エンドツーエンドに順次接続されたN個のコードセグメントを含む。コードセグメントの数Nは、TigerSharc DSPチップの数と同じである。各コードセグメントは、このコードセグメントが属するTigerSharc DSPチップのID情報、このコードセグメントの記憶アドレス情報、およびコード情報を含む。
例としてブート管理チップによって8つのTigerSharc DSPチップを同時に駆動すると、コードセグメント部分は、8つのコードセグメント、すなわち、DSP1コードセグメント、DSP2コードセグメント...、DSP8コードセグメントを含む。各コードセグメントの具体的な構造は、特に、非ゼロコードセグメント、ゼロセグメント、および最終コードセグメントを備える。
図2に示すように、非ゼロコードセグメントは、(1)非ゼロコードセグメントのヘッダ情報、(2)非ゼロコードセグメントの記憶アドレス、および(3)非ゼロコードセグメントのコンテンツを含む。ここで、非ゼロコードセグメントのヘッダ情報は、(1)このコードセグメントの識別子タイプ情報(非ゼロコードセグメント、ゼロコードセグメント、または最終コードセグメント)、(2)非ゼロコードセグメントが属するDSPのID情報(すなわち、TigerSharc DSP1、TigerSharc DSP2...、TigerSharc DSP8)、および(3)非ゼロコードセグメントのコンテンツ長、を含む。
ゼロコードセグメントは、(1)ゼロコードセグメントのヘッダ情報、および(2)ゼロコードセグメントの記憶アドレスを含む。ここで、ゼロコードセグメントのヘッダ情報は、(1)このコードセグメントの識別子タイプ情報(非ゼロコードセグメント、ゼロコードセグメント、または最終コードセグメント)、(2)ゼロコードセグメントが属するDSPのID情報、および(3)ゼロコードセグメントのコンテンツ長を含む。
最終コードセグメントは、(1)最終コードセグメントのヘッダ情報、(2)最終コードセグメントの記憶アドレス、および(3)最終コードセグメントのコンテンツを含む。ここで、最終コードセグメントのヘッダ情報は、(1)このコードセグメントの識別子タイプ情報(非ゼロコードセグメント、ゼロコードセグメント、または最終コードセグメント)、(2)最終コードセグメントが属するDSPのID情報、および(3)256ワードを有する最終コード情報を含む。
図2に示すように、前述のエンドツーエンド接続されたN個のコードセグメントの具体的なフォーマットは、以下の通りであり、すなわち、非ゼロコードセグメント、ゼロコードセグメント、および最終コードセグメントが順次接続され、非ゼロコードセグメントは、順次接続される非ゼロコードセグメント1、非ゼロコードセグメント2、非ゼロコードセグメント3...、非ゼロコードセグメントn1を含み、ゼロコードセグメントは、順次接続されるゼロコードセグメント1、ゼロコードセグメント2、ゼロコードセグメント3...、ゼロコードセグメントn2を含み、ここで、n1およびn2はどちらもNに等しいとすることができる。
図3は、ブート管理チップを用いてTigerSharc DSPチップのブートを管理する方法フローを示す。
ブートローダ部分が、TigerSharc DSPチップのAutoDAMアドレスに書き込まれ、次いで、TigerSharc DSPブートプログラムのダウンロードが初期化される。
コードセグメント内のTigerSharc DSPチップのID情報が読み込まれる。コードセグメントのヘッダ情報は、1)DSPのID情報、2)コードセグメントの属性(非ゼロコードセグメント、ゼロコードセグメント、または最終コードセグメント)、および3)コードセグメントの長さ、を含む。
コードセグメント内のDSPブート管理チップのID情報と、現在このプログラムをダウンロードしているTigerSharc DSPチップのID情報とが等しいかどうか、すなわち、コードセグメントNがTigerSharc DSP Nと一致するかどうかを判定し、一致しない場合には、コードセグメントに含まれるDSPブート管理チップのID情報が、このプログラムを現在ダウンロードしているTigerSharc DSPチップのID情報と等しくなるまで、次のコードセグメントが順次読み込まれ、一致する場合には、このコードセグメントが最終コードセグメントであるかどうかが判定される。
図2を参照すると、より具体的には、コードセグメントを読み込み、その判定をする場合、まず、非ゼロコードセグメント1、非ゼロコードセグメント2、非ゼロコードセグメント3...、非ゼロコードセグメントn1が順次読み込まれ、非ゼロコードセグメント内のDSPブート管理チップのID情報がブート対象のTigerSharc DSP Nと一致するかどうかを判定し、次いで、ゼロコードセグメント1、ゼロコードセグメント2、ゼロコードセグメント3...、ゼロコードセグメントn2が順次読み込まれ、ゼロコードセグメント内のDSPブート管理チップのID情報がブート対象のTigerSharc DSP Nと一致するかどうかを判定し、最後に、最終コードセグメントが読み込まれる。
このコードセグメントが最終コードセグメントでない場合、すなわち、読み込まれたコードセグメントが非ゼロコードセグメントまたはゼロコードセグメントである場合、このコードセグメントのサイズ情報およびアドレス情報に従って、このコードセグメントのコンテンツは、1レベルパイプライン書き込み方式でDSPパラレルバスによって、対応するTigerSharc DSP(すなわち、ブートされるTigerSharc DSP)のメモリに書き込まれる。
このコードセグメントが最終コードセグメントである場合、最終コードセグメントは、ブートされる対応するTigerSharc DSPのメモリに書き込まれ、TigerSharc DSPブートプログラムがダウンロードされる。
ブートローダ部分を書き込んだ後、コードセグメントのヘッダ情報を読み込むフローは10μsの遅延後に実行され、最終コードセグメントをDSPメモリに書き込むフローは、最初の5ワードの書き込み、10μsの遅延後に、残りの251ワードの書き込みとなる。
改良されたHostブートモードでは、TigerSharc DSPのパイプラインメカニズムが標準Hostブート処理に適用される。コードセグメントをダウンロードする場合、AutoDMA書込メカニズムは、パイプライン書込メカニズムに置き換えられる。TigerSharc DSPは共通の外部バス設計を使用しているため、オンチップメモリからの/への読み込み/書き込みは外部バスを介して行うことができる。1レベルパイプライン書き込みを使用することは、1つのワードを1つのDSPクロックサイクル内で書き込むことができる非常に高い書き込み速度を約束する。このように、AutoDMAモードと比較して、コードコンテンツの書き込み時間が大幅に短縮され、したがって、プログラム全体をダウンロードする時間が短縮される。

Claims (8)

  1. TigerSharc DSPブート管理チップであって、インターフェースユニットと、2ポートRAMユニットと、管理ユニットと、DSPダウンロード管理ユニットとを備え、
    前記インターフェースユニットは、前記2ポートRAMユニットおよび前記管理ユニットにそれぞれ接続され、
    前記管理ユニットは、制御ラインを介して外部制御システムに接続され、前記管理ユニットは、前記2ポートRAMユニットおよび前記DSPダウンロード管理ユニットのそれぞれにさらに接続され、
    前記DSPダウンロード管理ユニットは、パラレルバスを介して少なくとも1つのTigerSharc DSPチップに接続され、
    前記TigerSharc DSPブート管理チップは、フラッシュドライブユニットおよびNORフラッシュチップをさらに備え、前記管理ユニットは、前記フラッシュドライブユニットに接続され、前記2ポートRAMユニットは、前記フラッシュドライブユニットを介して前記NORフラッシュチップに接続され、前記NORフラッシュチップは、前記フラッシュドライブユニットを介して前記DSPダウンロード管理ユニットと通信
    前記管理ユニットは、前記インターフェースユニットを介してTigerSharc DSPブートプログラムのダウンロードの選択を制御し、前記NORフラッシュチップまたは外部バスを介してブートする前記選択の制御を実行し、すなわち、前記管理ユニットは、前記外部バスにより前記インターフェースユニットを介して前記TigerSharc DSPブートプログラムのダウンロードの選択を制御し、または前記NORフラッシュチップによって前記TigerSharc DSPブートプログラムのダウンロードの選択を制御し、
    前記NORフラッシュチップを介してブートするよう選択される場合、前記TigerSharc DSPブートプログラムは前記NORフラッシュチップに格納され、前記TigerSharc DSPチップは、前記DSPダウンロード管理ユニットを介して前記TigerSharc DSPブート管理チップに前記TigerSharc DSPブートプログラムを読み込み、
    前記外部バスを介してブートするよう選択される場合、前記TigerSharc DSPブートプログラムは、前記2ポートRAMユニットおよび前記DSPダウンロード管理ユニットを介して前記TigerSharc DSPチップに転送される、
    ことを特徴とするTigerSharc DSPブート管理チップ。
  2. 前記インターフェースユニットは、PCIバスインターフェース、CANバスインターフェース、およびRS232バスインターフェースを備え、これらはすべて、前記管理ユニットおよび前記2ポートRAMユニットに接続される、請求項1に記載のTigerSharc DSPブート管理チップ。
  3. 各TigerSharc DSPチップにそれぞれ接続されるウォッチドッグ管理回路をさらに備える、請求項1に記載のTigerSharc DSPブート管理チップ。
  4. TigerSharc DSPブート管理チップを使用するTigerSharc DSPブート管理方法であって、
    TigerSharc DSPブート管理チップは、
    インターフェースユニットと、2ポートRAMユニットと、管理ユニットと、DSPダウンロード管理ユニットとを備え、
    前記インターフェースユニットは、前記2ポートRAMユニットおよび前記管理ユニットにそれぞれ接続され、
    前記管理ユニットは、制御ラインを介して外部制御システムに接続され、前記管理ユニットは、前記2ポートRAMユニットおよび前記DSPダウンロード管理ユニットのそれぞれにさらに接続され、
    前記DSPダウンロード管理ユニットは、パラレルバスを介して少なくとも1つのTigerSharc DSPチップに接続され、
    前記TigerSharc DSPブート管理チップは、フラッシュドライブユニットおよびNORフラッシュチップをさらに備え、前記管理ユニットは、前記フラッシュドライブユニットに接続され、前記2ポートRAMユニットは、前記フラッシュドライブユニットを介して前記NORフラッシュチップに接続され、前記NORフラッシュチップは、前記フラッシュドライブユニットを介して前記DSPダウンロード管理ユニットと通信するものであり、
    前記管理ユニットは、前記インターフェースユニットを介してTigerSharc DSPブートプログラムのダウンロードの選択を制御し、前記NORフラッシュチップまたは外部バスを介してブートする前記選択の制御を実行し、すなわち、前記管理ユニットは、前記外部バスにより前記インターフェースユニットを介して前記TigerSharc DSPブートプログラムのダウンロードの選択を制御し、または前記NORフラッシュチップによって前記TigerSharc DSPブートプログラムのダウンロードの選択を制御し、
    前記NORフラッシュチップを介してブートするよう選択される場合、前記TigerSharc DSPブートプログラムは前記NORフラッシュチップに格納され、前記TigerSharc DSPチップは、前記DSPダウンロード管理ユニットを介して前記TigerSharc DSPブート管理チップに前記TigerSharc DSPブートプログラムを読み込み、
    前記外部バスを介してブートするよう選択される場合、前記TigerSharc DSPブートプログラムは、前記2ポートRAMユニットおよび前記DSPダウンロード管理ユニットを介して前記TigerSharc DSPチップに転送される、
    ことを特徴とするTigerSharc DSPブート管理方法。
  5. 前記TigerSharc DSPブートプログラムは、256ワードを有するコードセグメント部分およびブートローダ部分を備え、前記コードセグメント部分は、順次エンドツーエンド接続されるN個のコードセグメントを備え、前記コードセグメントの数Nは、前記TigerSharc DSPチップの数と同じであり、各コードセグメントは、このコードセグメントが属する前記TigerSharc DSPチップのID情報、このコードセグメントの記憶アドレス情報、および256ワードの最終コード情報を含み、
    前記ブートローダ部分は、前記TigerSharc DSPチップのAutoDAMアドレスに書き込まれ、
    前記コードセグメント内の前記TigerSharc DSPチップのID情報が読み込まれ、
    前記コードセグメント内の前記TigerSharc DSPチップの前記ID情報が、このプログラムを現在ダウンロードしているTigerSharc DSPチップの前記ID情報と等しいかどうか判定され、等しくない場合、次のコードセグメントが順次読み込まれ、等しい場合、このコードセグメントが最終コードセグメントであるかどうか判定され、
    このコードセグメントが最終コードセグメントではない場合、このコードセグメントのサイズ情報およびアドレス情報に従って、このコードセグメントのコンテンツが、1レベルパイプライン書込方法でDSPパラレルバスにより、対応するTigerSharc DSPチップのメモリに書き込まれ、
    このコードセグメントが最終コードセグメントである場合、前記最終コードセグメントが、前記TigerSharc DSPチップメモリに書き込まれる、
    ことを特徴とする請求項4に記載の前記TigerSharc DSPブート管理チップを使用するTigerSharc DSPブート管理方法。
  6. 前記TigerSharc DSPブートプログラムが更新される場合、前記更新されたプログラムは、前記NORフラッシュチップに再ダウンロードされる、
    ことを特徴とする請求項4または5に記載の前記TigerSharc DSPブート管理チップを使用するTigerSharc DSPブート管理方法。
  7. 前記コードセグメントは、非ゼロコードセグメント、ゼロコードセグメント、および最終コードセグメントを備え、
    前記非ゼロコードセグメントは、(1)前記非ゼロコードセグメントのヘッダ情報、(2)前記非ゼロコードセグメントの記憶アドレス、および(3)前記非ゼロコードセグメントのコンテンツ、を含み、前記非ゼロコードセグメントの前記ヘッダ情報は、(1)このコードセグメントの識別子タイプ情報、(2)前記非ゼロコードセグメントが属する前記TigerSharc DSPチップのID情報、および(3)前記非ゼロコードセグメントのコンテンツ長、を含み、
    前記ゼロコードセグメントは、(1)前記ゼロコードセグメントのヘッダ情報、および(2)前記ゼロコードセグメントの記憶アドレスを含み、前記ゼロコードセグメントの前記ヘッダ情報は、(1)このコードセグメントの識別子タイプ情報、(2)前記ゼロコードセグメントが属する前記TigerSharc DSPチップのID情報、および(3)前記ゼロコードセグメントのコンテンツ長、を含み、
    前記最終コードセグメントは、(1)前記最終コードセグメントのヘッダ情報、(2)前記最終コードセグメントの記憶アドレス、および(3)前記最終コードセグメントのコンテンツ、を含み、前記最終コードセグメントの前記ヘッダ情報は、(1)このコードセグメントの識別子タイプ情報、(2)前記最終コードセグメントが属する前記TigerSharc DSPチップのID情報、および(3)256ワードを有する最終コード情報、を含み、
    前記コードセグメントの前記識別子タイプ情報は、非ゼロコードセグメント、ゼロコードセグメント、および最終コードセグメントを含む、
    ことを特徴とする請求項5に記載の前記TigerSharc DSPブート管理チップを使用するTigerSharc DSPブート管理方法。
  8. 前記ブートローダ部分が書き込まれた後、前記コードセグメントの前記ヘッダ情報を読み込むフローは10μs遅れて実行され、前記最終コードセグメントを前記TigerSharc DSPチップメモリに書き込むフローは、最初の5ワードの書き込み、10μsの遅延後、残りの251ワードを書き込む、
    ことを特徴とする請求項7に記載の前記TigerSharc DSPブート管理チップを使用するTigerSharc DSPブート管理方法。
JP2017546838A 2016-03-28 2016-08-15 Tigersharc dspブート管理チップおよび方法 Expired - Fee Related JP6334831B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
CN201620246409.6 2016-03-28
CN201610183445.7A CN105786527B (zh) 2016-03-28 2016-03-28 TigerSharc系列DSP启动管理芯片及方法
CN201610183445.7 2016-03-28
CN201620246409.6U CN205540691U (zh) 2016-03-28 2016-03-28 TigerSharc系列DSP启动管理芯片
PCT/CN2016/095295 WO2017088531A1 (zh) 2016-03-28 2016-08-15 TigerSharc系列DSP启动管理芯片及方法

Publications (2)

Publication Number Publication Date
JP2018507489A JP2018507489A (ja) 2018-03-15
JP6334831B2 true JP6334831B2 (ja) 2018-05-30

Family

ID=58762959

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017546838A Expired - Fee Related JP6334831B2 (ja) 2016-03-28 2016-08-15 Tigersharc dspブート管理チップおよび方法

Country Status (5)

Country Link
US (1) US10203962B2 (ja)
EP (1) EP3236350B1 (ja)
JP (1) JP6334831B2 (ja)
RU (1) RU2641465C1 (ja)
WO (1) WO2017088531A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6334831B2 (ja) * 2016-03-28 2018-05-30 中▲車▼青▲島▼四方▲車▼▲輛▼研究所有限公司Crrc Qingdao Sifang Rolling Stock Research Institute Co.,Ltd. Tigersharc dspブート管理チップおよび方法
CN111625286B (zh) * 2020-06-04 2021-04-27 中国科学院长春光学精密机械与物理研究所 一种星载dsp程序外部引导加载方法及加载系统
CN112162730B (zh) * 2020-09-30 2024-04-23 北京特种机械研究所 一种实现多功能can总线通信的dsp软件设计方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000242611A (ja) 1999-02-23 2000-09-08 Nec Mobile Commun Ltd プログラムブート方式
US7707354B2 (en) * 1999-08-04 2010-04-27 Super Talent Electronics, Inc. SRAM cache and flash micro-controller with differential packet interface
US7761653B2 (en) 1999-08-04 2010-07-20 Super Talent Electronics, Inc. Flash micro-controller with shadow boot-loader SRAM for dual-device booting of micro-controller and host
JP2001209575A (ja) 2000-01-27 2001-08-03 Mitsubishi Electric Corp 信号処理装置
JP2002073341A (ja) 2000-08-31 2002-03-12 Nec Eng Ltd Dspプログラムダウンロードシステム
JP3845258B2 (ja) 2000-12-19 2006-11-15 株式会社リコー モデム装置及び通信端末装置
US8816742B2 (en) * 2004-11-05 2014-08-26 Qualcomm Incorporated Adaptive memory calibration using bins
JP4791792B2 (ja) 2005-10-05 2011-10-12 株式会社東芝 デジタルシグナルプロセッサシステムおよびそのブート方法。
KR101456593B1 (ko) * 2007-06-22 2014-11-03 삼성전자주식회사 플래시 메모리 장치를 포함하는 메모리 시스템
CN102053849B (zh) 2009-10-30 2013-06-26 杭州华三通信技术有限公司 分布式系统及其主系统和从系统以及代码加载方法
WO2012016577A1 (en) * 2010-08-06 2012-02-09 Carl Zeiss Smt Gmbh Microlithographic projection exposure apparatus
JP2012108853A (ja) 2010-11-19 2012-06-07 Toshiba Corp ディジタルシグナルプロセッサを起動するシステム、装置および方法
CN201886460U (zh) 2010-12-10 2011-06-29 四川赛狄信息技术有限公司 一种数字信号处理器冗余启动系统
CN102135927B (zh) 2011-04-29 2013-02-13 杭州华三通信技术有限公司 一种基于nand flash的系统引导方法和装置
CN102298526B (zh) 2011-06-08 2017-02-08 厦门雅迅网络股份有限公司 一种基于无外扩存储器单片机的外设设备程序升级方法
CN103019774A (zh) 2012-11-27 2013-04-03 中国航空工业集团公司第六三一研究所 一种dsp处理器的动态重载方法
CN103389699B (zh) * 2013-05-09 2015-08-12 浙江大学 基于分布式智能监测控制节点的机器人监控及自主移动系统的运行方法
CN103389669B (zh) * 2013-07-26 2016-06-29 中国船舶重工集团公司第七一五研究所 一种基于fpga/cpld控制器的处理器程序远程动态加载系统及方法
JP6334831B2 (ja) * 2016-03-28 2018-05-30 中▲車▼青▲島▼四方▲車▼▲輛▼研究所有限公司Crrc Qingdao Sifang Rolling Stock Research Institute Co.,Ltd. Tigersharc dspブート管理チップおよび方法
CN105786527B (zh) 2016-03-28 2017-03-08 中车青岛四方车辆研究所有限公司 TigerSharc系列DSP启动管理芯片及方法

Also Published As

Publication number Publication date
EP3236350A1 (en) 2017-10-25
US20180032346A1 (en) 2018-02-01
WO2017088531A1 (zh) 2017-06-01
EP3236350B1 (en) 2019-09-25
EP3236350A4 (en) 2018-02-28
US10203962B2 (en) 2019-02-12
JP2018507489A (ja) 2018-03-15
RU2641465C1 (ru) 2018-01-17

Similar Documents

Publication Publication Date Title
EP1248976B1 (en) Computer system initialization via boot code stored in sequential access memory
US20050283598A1 (en) Method and system for loading processor boot code from serial flash memory
KR20220008833A (ko) Soc 및 fpga를 구비한 서버 오프로드 카드
US20090113196A1 (en) Method and systems for advanced reprogrammable boot codes and in-application programming of embedded microprocessor systems
CN108121672A (zh) 一种基于NandFlash存储器多通道的存储阵列控制方法与装置
CN102193885A (zh) 支持虚拟信道的非挥发性存储器控制器
US20160179388A1 (en) Method and apparatus for providing programmable nvm interface using sequencers
JP6334831B2 (ja) Tigersharc dspブート管理チップおよび方法
KR20060087655A (ko) 고속 직렬 인터페이스를 이용하는 부팅 시스템 및 부팅 방법
US8996788B2 (en) Configurable flash interface
JPH05257866A (ja) 入出力装置に対して実行すべき直接メモリアクセス動作を動的に連鎖する装置及び方法
US10002102B2 (en) Low-pin microcontroller device with multiple independent microcontrollers
US8356168B2 (en) Non-blocking UEFI I/O channel enhancements
TW201638771A (zh) 具有多個獨立微控制器之微控制器裝置
US11972243B2 (en) Memory device firmware update and activation without memory access quiescence
US9189351B2 (en) Method of obtaining instruction for triggering function
US20180011636A1 (en) Information processing apparatus and method of accessing a memory
US11138140B2 (en) Configuring first subsystem with a master processor and a second subsystem with a slave processor
CN105786527A (zh) TigerSharc系列DSP启动管理芯片及方法
US9934045B1 (en) Embedded system boot from a storage device
JP3900499B2 (ja) 再構成可能な、命令レベルのハードウェアによる高速化のためにマイクロプロセッサとともにfpgaテクノロジを使用する方法および装置
US7519802B2 (en) System and method for configuring a computer system
KR100534613B1 (ko) 플래쉬 메모리를 이용한 시스템 부팅 장치 및 그 방법
JP2009181579A (ja) 機能を呼び出す方法、サブシステムおよびシステム
US10983936B2 (en) Programmable arbitrary sequence direct memory access controller for configuring multiple core independent peripherals

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170905

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170905

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20170905

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20180109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180315

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: 20180403

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180426

R150 Certificate of patent or registration of utility model

Ref document number: 6334831

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees