特許第6334831号(P6334831)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 青▲島▼四方▲車▼▲輛▼研究所有限公司の特許一覧

特許6334831TIGERSHARC DSPブート管理チップおよび方法
<>
  • 特許6334831-TIGERSHARC  DSPブート管理チップおよび方法 図000002
  • 特許6334831-TIGERSHARC  DSPブート管理チップおよび方法 図000003
  • 特許6334831-TIGERSHARC  DSPブート管理チップおよび方法 図000004
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6334831
(24)【登録日】2018年5月11日
(45)【発行日】2018年5月30日
(54)【発明の名称】TIGERSHARC DSPブート管理チップおよび方法
(51)【国際特許分類】
   G06F 9/4401 20180101AFI20180521BHJP
【FI】
   G06F9/06 610K
【請求項の数】8
【全頁数】13
(21)【出願番号】特願2017-546838(P2017-546838)
(86)(22)【出願日】2016年8月15日
(65)【公表番号】特表2018-507489(P2018-507489A)
(43)【公表日】2018年3月15日
(86)【国際出願番号】CN2016095295
(87)【国際公開番号】WO2017088531
(87)【国際公開日】20170601
【審査請求日】2017年9月5日
(31)【優先権主張番号】201620246409.6
(32)【優先日】2016年3月28日
(33)【優先権主張国】CN
(31)【優先権主張番号】201610183445.7
(32)【優先日】2016年3月28日
(33)【優先権主張国】CN
【早期審査対象出願】
(73)【特許権者】
【識別番号】514222673
【氏名又は名称】中▲車▼青▲島▼四方▲車▼▲輛▼研究所有限公司
【氏名又は名称原語表記】CRRC QINGDAO SIFANG ROLLING STOCK RESEARCH INSTITUTE CO.,LTD.
(74)【代理人】
【識別番号】110000659
【氏名又は名称】特許業務法人広江アソシエイツ特許事務所
(72)【発明者】
【氏名】李震
(72)【発明者】
【氏名】▲孫▼国斌
(72)【発明者】
【氏名】▲張▼小松
【審査官】 多賀 実
(56)【参考文献】
【文献】 特開2012−108853(JP,A)
【文献】 特開2000−242611(JP,A)
【文献】 特開2002−073341(JP,A)
【文献】 特開2002−185549(JP,A)
【文献】 特開2001−209575(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/4401
G06F 9/445
G06F 12/08
G06F 13/28
G06F 15/177
(57)【特許請求の範囲】
【請求項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ブート管理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、デジタル信号処理の技術分野に属し、TigerSharc DSPチップに適用されるブート管理チップおよびそのブート管理方法に関する。
【背景技術】
【0002】
TigerSharc DSPチップは、ADIによって製造された高性能DSPチップとして、4800MMACという非常に高い演算処理能力と実行効率を有し、プロセッサの主周波数は、600MHzと高く、オンチップRAMは、24Mビットに達する。2つの独立したコンピューティングコアが各チップに含まれており、1クロックサイクル内で最大4つの命令を実行することができる。このシリーズのチップは、最大8個のDSPでマルチDSPコプロセッシングをサポートし、高速かつ高性能の信号処理分野に適用可能である。
【0003】
TS20xには不揮発性のプログラムメモリが内蔵されていないため、プログラムは外部からチップに取り込むことしかできない。 PROMブート、Hostブート、LinkPortブート、およびNo bootの4つのプログラムダウンロードモードがある。これらのモードの中では、PROMブートモードが頻繁に使用されるが、安全性は低くなり、LinkPortブートモードは主にDSPチップの間のプログラムのダウンロードに使用され、汎用性は低く、No bootモードは主にデバッグに使用され、一般には使用することは推奨されず、Hostブートモードは、コバス(co-bus)システムにおいて独自の利点を有し、外部バスを介してチップブートを実現するためにホストを使用することができ、この方法は、TigerSharc DSPチップと他のシステムとの良好な互換性を実現することができる。しかしながら、Hostブートモードでは、DSPの書き込みシーケンスがブート処理において厳密に必要であるため、ブート処理でエラーが発生しやすくなる。さらに、ブートコードが長い場合、Hostブートモードでは時間がかかる。
【0004】
TigerSharc DSPチップの従来のHostブートモードは次の通りであり、すなわち、ブートプログラムは、DSPの外部バスを使用することによって、DSPのAUTODMAポート(固定アドレスを有する)に送信される。ブートプログラムは、AUTODMAポートで受信され、ホストは、ブート処理でバスを制御する権利を有する。このブートモードは、外部バスを使用してDSPのブートをより柔軟に実現することができ、FPGAまたは他のプロセッサを使用して共通外部バスを介してプログラムをTigerSharc DSPにダウンロードするのに適している。
【0005】
しかしながら、従来の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は、起動できない。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明の目的は、従来のホストブート方法におけるブート時間が長すぎ、安定性が低いという欠点を考慮して、改良されたホストブート管理チップおよびブート方法、すなわち、改良されたホストブート方法に基づくTigerSharc DSP管理チップを提供し、複数のTigerSharc DSPチップの迅速なブートを実現することである。
【課題を解決するための手段】
【0007】
本発明は、以下の技術的解決策を使用する。すなわち、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ダウンロード管理ユニットと通信する。
【0008】
インターフェースユニットは、PCIバスインターフェース、CANバスインターフェース、およびRS232バスインターフェースを備え、これらはすべて、管理ユニットおよび2ポートRAMユニットに接続されることが好ましい。
【0009】
TigerSharc DSPブート管理チップは、各TigerSharc DSPチップにそれぞれ接続されたウォッチドッグ管理回路をさらに備えることが好ましい。
【0010】
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ダウンロード管理ユニットの動作を制御するよう構成される。
【0011】
TigerSharc DSPブートプログラムは、256ワードのコードセグメント部分およびブートローダ部分を備えることが好ましい。コードセグメント部分は、エンドツーエンドに(end to end)順次接続されたN個のコードセグメントを備える。コードセグメントの数Nは、TigerSharc DSPチップの数と同じである。
【0012】
コードセグメント部分は、非ゼロコードセグメント、ゼロコードセグメント、および最終コードセグメントを備える。
【0013】
非ゼロコードセグメントは、(1)非ゼロコードセグメントのヘッダ情報、(2)非ゼロコードセグメントの記憶アドレス、および(3)非ゼロコードセグメントのコンテンツを含む。ここで、非ゼロコードセグメントのヘッダ情報は、(1)このコードセグメントの識別子タイプ情報(非ゼロコードセグメント、ゼロコードセグメント、または最終コードセグメント)、(2)非ゼロコードセグメントが属するTigerSharc DSPチップのID情報、および(3)非ゼロコードセグメントのコンテンツ長を含む。
【0014】
ゼロコードセグメントは、(1)ゼロコードセグメントのヘッダ情報、および(2)ゼロコードセグメントの記憶アドレスを含む。ここで、ゼロコードセグメントのヘッダ情報は、(1)このコードセグメントの識別子タイプ情報(非ゼロコードセグメント、ゼロコードセグメント、または最終コードセグメント)、(2)ゼロコードセグメントが属するTigerSharc DSPチップのID情報、および(3)ゼロコードセグメントのコンテンツ長を含む。
【0015】
最終コードセグメントは、(1)最終コードセグメントのヘッダ情報、(2)最終コードセグメントの記憶アドレス、および(3)最終コードセグメントのコンテンツを含む。ここで、最終コードセグメントのヘッダ情報は、(1)このコードセグメントの識別子タイプ情報(非ゼロコードセグメント、ゼロコードセグメント、または最終コードセグメント)、(2)最終コードセグメントが属するTigerSharc DSPチップのID情報、および(3)256ワードの最終コード情報を含む。
【0016】
ここで、ブートローダ部分は、TigerSharc DSPブートプログラムのコアを実行する前のプログラムであり、初期化、メモリ空間マッピングの確立、ならびにソフトウェアおよびハードウェアの動作環境の調整に使用される。
【0017】
ブートローダ部分は、TigerSharc DSPチップのAutoDAMアドレスに書き込まれ、
コードセグメント内のTigerSharc DSPチップのID情報が読み込まれ、
コードセグメント内のTigerSharc DSPチップのID情報が、現在このプログラムをダウンロードしているTigerSharc DSPチップのID情報と等しいかどうか判定され、もし等しくなければ、次のコードセグメントが順次読み込まれ、もし等しければ、このコードセグメントが最終コードセグメントであるかどうか判定され、
このコードセグメントが最終コードセグメントでない場合、このコードセグメントのサイズ情報とアドレス情報とに従って、このコードセグメントのコンテンツが、対応するDSPのメモリに、DSPパラレルバスにより1レベルパイプライン読込/書込方法で書き込まれる。
【0018】
このコードセグメントが最終コードセグメントである場合、最終コードセグメントがDSPメモリに書き込まれ、このDSPのブートが終了する。
【0019】
さらに、TigerSharc DSPブートプログラムが更新される場合、更新されたプログラムが、NORフラッシュチップに再ダウンロードされる。
【0020】
さらに、各コードセグメントは、非ゼロコードセグメント、ゼロコードセグメント、および最終コードセグメントを備える。非ゼロコードセグメントは、このコードセグメントが属するTigerSharc DSPチップのID情報、コードセグメントの記憶アドレス情報、コードセグメントのサイズ、およびコードセグメントの非ゼロコンテンツ情報を含み、ゼロコードセグメントは、このコードセグメントが属するTigerSharc DSPチップのID情報、コードセグメントの記憶アドレス情報、およびコードセグメントのサイズを含み、最終コードセグメントは、このコードセグメントが属するTigerSharc DSPチップのID情報および256ワードの最終コード情報を含む。
【0021】
さらに、ブートローダ部分が書き込まれた後、コードセグメントのヘッダ情報を読み込むフローは10μs遅れて実行され、最終コードセグメントをTigerSharc DSPチップメモリに書き込むフローは、最初の5ワードの書き込み、10μsの遅延後、残りの251ワードの書き込みとなる。
【0022】
本発明は、以下の有利な効果を有する。
【0023】
本発明は、TigerSharc DSPチップのブート速度を増加させながら、ブート処理の安定性を高める、改良されたHostブート設計方法を提供する。改良されたHostブート設計方法に基づいて、TigerSharc DSPブート管理チップが設計される。一方で、TigerSharc DSPチップの使用の難しさが減少し、他方で、TigerSharc DSPチップのブート速度と安定性が改善される。
【0024】
本発明は、複数のTigerSharc DSPのブートを効率的に管理することができる。したがって、TigerSharc DSPの使用の難しさは減少する。外部システムに対して、TigerSharc DSPは、PCI、CAN、RS232、およびパラレルバスを介して起動することができる。したがって、本発明は、TigerSharc DSPに接続する解決策を有する多くの互換性のないシステムを提供する。
【0025】
本発明は、複数のTigerSharc DSPを同時に管理することができるウォッチドッグ機能を有する。ある特定のDSPの動作が異常である場合、このDSPをリセットしてDSPのプログラムを再ダウンロードすることができる。
【0026】
本発明は、2つのブートモードを提供する。一方のブートモードは、NORフラッシュチップを介してのブートを実現することである。このモードでは、TigerSharc DSPブートプログラムの一時記憶領域として機能するNORフラッシュチップにプログラムを直接格納し、その後のブート処理でNORフラッシュチップからTigerSharc DSPブートプログラムを直接呼び出すことができるので、毎回外部からTigerSharc DSPブートプログラムを読み込むのではなく、TigerSharc DSPブートプログラムの更新中にTigerSharc DSPブートプログラムを再ダウンロードするだけでよい。他方のブートモードは、外部バスを介してTigerSharc DSPブートプログラムを直接受信する。このモードは非常に安全である。ブートモードは、柔軟で多様な管理ユニットによって設定することができる。
【0027】
PCIバス、CANバス、RS232バスなどのさまざまな外部バスが用意されており、さまざまなバスデータフォーマットをサポートすることができる。
【図面の簡単な説明】
【0028】
図1】本発明の概略構成図である。
図2】ブートプログラムコードの概略構成図である。
図3】本発明のHostブートプログラムのフローチャートである。
【発明を実施するための形態】
【0029】
本発明の具体的な実装態様について、添付図面を参照してさらに詳細に説明する。
【0030】
図1に示すように、TigerSharc DSPブート管理チップは、インターフェースユニットと、2ポートRAMユニットと、管理ユニットと、DSPダウンロード管理ユニットとを備える、FPGAを用いて構成されたブート管理チップである。
【0031】
インターフェースユニットは、いずれも管理ユニットおよび2ポートRAMユニットに接続されたPCIバスインターフェース、CANバスインターフェース、およびRS232バスインターフェースを備え、PCI通信モジュール、CAN通信モジュール、およびRS232通信モジュールを介して外部システムにさまざまなインターフェースを提供する。
【0032】
PCI通信モジュールは、PCIバスインターフェースを介したPCIバスのアクセスを担い、CAN通信モジュールは、CANバスインターフェースを介したCANバスのアクセスを担い、RS232通信モジュールは、RS232バスインターフェースを介したRS232バスのアクセスを担う。ここで、2ポートRAMユニットは、一時的にコードを受信するために使用され、TigerSharc DSPブートプログラムのための一時記憶装置として働く。
【0033】
管理ユニットは、制御ラインを介して外部制御システムに接続される。制御システムは、FPGAブート管理チップのコントローラであり、ブート制御命令を発行するよう構成される。管理ユニットは、それぞれ2ポートRAMユニットおよびDSPダウンロード管理ユニットにも接続される。DSPダウンロード管理ユニットは、パラレルバスを介して少なくとも1つのTigerSharc DSPチップに接続され、TigerSharc DSPチップは8以下である。言い換えれば、1つのブート管理チップが最大8つのTigerSharc DSPチップを駆動する。駆動可能なDSPチップの数は、主にFPGA駆動インターフェースによって制限される。
【0034】
管理チップは、フラッシュドライブユニットとNORフラッシュチップとをさらに備える。管理ユニットは、フラッシュドライブユニットに接続される。2ポートRAMユニットは、フラッシュドライブユニットを介してNORフラッシュチップに接続される。NORフラッシュチップは、フラッシュドライブユニットを介してDSPダウンロード管理ユニットと通信する。NORフラッシュチップは、TigerSharc DSPブートプログラム用の記憶チップとして、ダウンロードされたTigerSharc DSPブートプログラムを格納するために使用される。
【0035】
管理チップのこの構造は、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ブートプログラムのダウンロード方法の選択およびチャネルの選択は、管理ユニットによって制御することができる。
【0036】
本システムはさらに、各TigerSharc DSPチップに接続されて、複数のTigerSharc DSPのウォッチドッグ管理および監視を実現するウォッチドッグ管理回路を備える。DSPは、外部バスを介して管理チップ内のウォッチドッグ管理回路のレジスタにアクセスする。TigerSharc DSPの動作が異常である場合、TigerSharc DSPをリセットすることができ、プログラムを再ダウンロードすることができる。
【0037】
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チップに転送される。
【0038】
図2に示すように、TigerSharc DSPブートプログラムは、256ワードのコードセグメント部分およびブートローダ部分を含む。コードセグメント部分は、エンドツーエンドに順次接続されたN個のコードセグメントを含む。コードセグメントの数Nは、TigerSharc DSPチップの数と同じである。各コードセグメントは、このコードセグメントが属するTigerSharc DSPチップのID情報、このコードセグメントの記憶アドレス情報、およびコード情報を含む。
【0039】
例としてブート管理チップによって8つのTigerSharc DSPチップを同時に駆動すると、コードセグメント部分は、8つのコードセグメント、すなわち、DSP1コードセグメント、DSP2コードセグメント...、DSP8コードセグメントを含む。各コードセグメントの具体的な構造は、特に、非ゼロコードセグメント、ゼロセグメント、および最終コードセグメントを備える。
【0040】
図2に示すように、非ゼロコードセグメントは、(1)非ゼロコードセグメントのヘッダ情報、(2)非ゼロコードセグメントの記憶アドレス、および(3)非ゼロコードセグメントのコンテンツを含む。ここで、非ゼロコードセグメントのヘッダ情報は、(1)このコードセグメントの識別子タイプ情報(非ゼロコードセグメント、ゼロコードセグメント、または最終コードセグメント)、(2)非ゼロコードセグメントが属するDSPのID情報(すなわち、TigerSharc DSP1、TigerSharc DSP2...、TigerSharc DSP8)、および(3)非ゼロコードセグメントのコンテンツ長、を含む。
【0041】
ゼロコードセグメントは、(1)ゼロコードセグメントのヘッダ情報、および(2)ゼロコードセグメントの記憶アドレスを含む。ここで、ゼロコードセグメントのヘッダ情報は、(1)このコードセグメントの識別子タイプ情報(非ゼロコードセグメント、ゼロコードセグメント、または最終コードセグメント)、(2)ゼロコードセグメントが属するDSPのID情報、および(3)ゼロコードセグメントのコンテンツ長を含む。
【0042】
最終コードセグメントは、(1)最終コードセグメントのヘッダ情報、(2)最終コードセグメントの記憶アドレス、および(3)最終コードセグメントのコンテンツを含む。ここで、最終コードセグメントのヘッダ情報は、(1)このコードセグメントの識別子タイプ情報(非ゼロコードセグメント、ゼロコードセグメント、または最終コードセグメント)、(2)最終コードセグメントが属するDSPのID情報、および(3)256ワードを有する最終コード情報を含む。
【0043】
図2に示すように、前述のエンドツーエンド接続されたN個のコードセグメントの具体的なフォーマットは、以下の通りであり、すなわち、非ゼロコードセグメント、ゼロコードセグメント、および最終コードセグメントが順次接続され、非ゼロコードセグメントは、順次接続される非ゼロコードセグメント1、非ゼロコードセグメント2、非ゼロコードセグメント3...、非ゼロコードセグメントn1を含み、ゼロコードセグメントは、順次接続されるゼロコードセグメント1、ゼロコードセグメント2、ゼロコードセグメント3...、ゼロコードセグメントn2を含み、ここで、n1およびn2はどちらもNに等しいとすることができる。
【0044】
図3は、ブート管理チップを用いてTigerSharc DSPチップのブートを管理する方法フローを示す。
【0045】
ブートローダ部分が、TigerSharc DSPチップのAutoDAMアドレスに書き込まれ、次いで、TigerSharc DSPブートプログラムのダウンロードが初期化される。
【0046】
コードセグメント内のTigerSharc DSPチップのID情報が読み込まれる。コードセグメントのヘッダ情報は、1)DSPのID情報、2)コードセグメントの属性(非ゼロコードセグメント、ゼロコードセグメント、または最終コードセグメント)、および3)コードセグメントの長さ、を含む。
【0047】
コードセグメント内のDSPブート管理チップのID情報と、現在このプログラムをダウンロードしているTigerSharc DSPチップのID情報とが等しいかどうか、すなわち、コードセグメントNがTigerSharc DSP Nと一致するかどうかを判定し、一致しない場合には、コードセグメントに含まれるDSPブート管理チップのID情報が、このプログラムを現在ダウンロードしているTigerSharc DSPチップのID情報と等しくなるまで、次のコードセグメントが順次読み込まれ、一致する場合には、このコードセグメントが最終コードセグメントであるかどうかが判定される。
【0048】
図2を参照すると、より具体的には、コードセグメントを読み込み、その判定をする場合、まず、非ゼロコードセグメント1、非ゼロコードセグメント2、非ゼロコードセグメント3...、非ゼロコードセグメントn1が順次読み込まれ、非ゼロコードセグメント内のDSPブート管理チップのID情報がブート対象のTigerSharc DSP Nと一致するかどうかを判定し、次いで、ゼロコードセグメント1、ゼロコードセグメント2、ゼロコードセグメント3...、ゼロコードセグメントn2が順次読み込まれ、ゼロコードセグメント内のDSPブート管理チップのID情報がブート対象のTigerSharc DSP Nと一致するかどうかを判定し、最後に、最終コードセグメントが読み込まれる。
【0049】
このコードセグメントが最終コードセグメントでない場合、すなわち、読み込まれたコードセグメントが非ゼロコードセグメントまたはゼロコードセグメントである場合、このコードセグメントのサイズ情報およびアドレス情報に従って、このコードセグメントのコンテンツは、1レベルパイプライン書き込み方式でDSPパラレルバスによって、対応するTigerSharc DSP(すなわち、ブートされるTigerSharc DSP)のメモリに書き込まれる。
【0050】
このコードセグメントが最終コードセグメントである場合、最終コードセグメントは、ブートされる対応するTigerSharc DSPのメモリに書き込まれ、TigerSharc DSPブートプログラムがダウンロードされる。
【0051】
ブートローダ部分を書き込んだ後、コードセグメントのヘッダ情報を読み込むフローは10μsの遅延後に実行され、最終コードセグメントをDSPメモリに書き込むフローは、最初の5ワードの書き込み、10μsの遅延後に、残りの251ワードの書き込みとなる。
【0052】
改良されたHostブートモードでは、TigerSharc DSPのパイプラインメカニズムが標準Hostブート処理に適用される。コードセグメントをダウンロードする場合、AutoDMA書込メカニズムは、パイプライン書込メカニズムに置き換えられる。TigerSharc DSPは共通の外部バス設計を使用しているため、オンチップメモリからの/への読み込み/書き込みは外部バスを介して行うことができる。1レベルパイプライン書き込みを使用することは、1つのワードを1つのDSPクロックサイクル内で書き込むことができる非常に高い書き込み速度を約束する。このように、AutoDMAモードと比較して、コードコンテンツの書き込み時間が大幅に短縮され、したがって、プログラム全体をダウンロードする時間が短縮される。
図1
図2
図3