JP2013114483A - Digital signal processor system and interruption processing method in digital signal processor system - Google Patents
Digital signal processor system and interruption processing method in digital signal processor system Download PDFInfo
- Publication number
- JP2013114483A JP2013114483A JP2011260463A JP2011260463A JP2013114483A JP 2013114483 A JP2013114483 A JP 2013114483A JP 2011260463 A JP2011260463 A JP 2011260463A JP 2011260463 A JP2011260463 A JP 2011260463A JP 2013114483 A JP2013114483 A JP 2013114483A
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- dsp
- external
- external interrupt
- processing
- 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.)
- Pending
Links
Images
Landscapes
- Microcomputers (AREA)
Abstract
Description
一実施形態はディジタルシグナルプロセッサシステム(DSP)およびディジタルシグナルプロセッサシステムにおける割込み処理方法に関する。 One embodiment relates to a digital signal processor system (DSP) and an interrupt processing method in the digital signal processor system.
パソコンに用いられるCPUは使用可能なメモリ容量が大きい。CPUは基本ソフトウェア(以下、OSと呼ぶ)による割込み処理を行う。CPUを対象とした高速割込み応答を実現する技術が知られている(例えば特許文献1、2参照)。
A CPU used in a personal computer has a large usable memory capacity. The CPU performs interrupt processing by basic software (hereinafter referred to as OS). A technique for realizing a high-speed interrupt response for a CPU is known (see, for example,
DSPは信号処理に特化した様々な機能を有しているため、従来ハードウェアで構成されていた多くの信号処理機能をソフトウェア化している。通常、DSPが使用可能なメモリ資源はCPUのそれと比べて乏しいため、DSPは、CPUのようにOSを利用することや、複雑な処理を実行することができない。このため、DSPが行う信号処理は、ディジタルフィルタ処理やFFT処理などの固定した信号処理を各DSPに割付け、DSP間は専用の高速通信を用いて接続する分散方式のDSP構成や、巡回的並列処理又はラウンドロビン方式のDSP構成を取って行われている(例えば特許文献3参照[図14、図15])。 Since the DSP has various functions specialized for signal processing, many signal processing functions that have been conventionally configured by hardware are converted into software. Usually, since the DSP can use fewer memory resources than the CPU, the DSP cannot use the OS or execute complicated processing like the CPU. For this reason, the signal processing performed by the DSP allocates fixed signal processing such as digital filter processing and FFT processing to each DSP, and the DSP is connected to each other using dedicated high-speed communication. Processing or a round robin DSP configuration is used (see, for example, Patent Document 3 [FIGS. 14 and 15]).
信号処理システムでは、システム全体のタイミングに同期してこのシステムの構成要素が処理を行う。DSPカードは、多種多様な複数の割込みについて、応答制御を行う必要がある。DSPには割込みコントローラを含めて必要な装置が全て用意されており、自IC内で発生する内部割込みについては処理を行える。しかしDSPによる演算処理の適用分野が拡大してきている。この拡大に伴ってVMEバスやPCIバスなど公知規格を有するデータバスをDSPカードに配線し、例えばバスプロトコル変換機能を持つICを介してVMEバス経由で他のDSPカードからの割込みや、あるいはPCIバス経由でCPUからの割込みをDSPが受信処理する信号処理システムが提案されている(例えば特許文献4参照)。 In the signal processing system, the system components perform processing in synchronization with the timing of the entire system. The DSP card needs to perform response control for a wide variety of interrupts. The DSP has all necessary devices including an interrupt controller, and can process internal interrupts that occur in its own IC. However, the field of application of arithmetic processing by DSP is expanding. Along with this expansion, a data bus having a known standard such as a VME bus or a PCI bus is wired to the DSP card, for example, an interrupt from another DSP card via the VME bus via an IC having a bus protocol conversion function, or a PCI There has been proposed a signal processing system in which a DSP receives and processes an interrupt from a CPU via a bus (see, for example, Patent Document 4).
DSPは使用できるメモリの容量が小さいことから、DSP単体は単純で固定的な処理を割当て、複数個のDSPをまとめたDSPカードという単位で、必要な処理を実現させている。従って、DSPカード上の割込み発生源はDSPIC自身であり、DSPIC外部からの割込みの発生源が存在しない。 Since the DSP has a small memory capacity, a simple DSP is assigned a fixed process, and necessary processes are realized in units of a DSP card in which a plurality of DSPs are collected. Therefore, the interrupt source on the DSP card is the DSPIC itself, and there is no interrupt source from outside the DSPIC.
しかし、PCIバスなどを配線したDSPカードでは、このDSPカード上のDSPがDSP以外の割込み発生源からの外部割込みを処理する必要がある。互いに非同期な複数の外部割込要求がPCIバスからDSPカードに入力されたとき、このDSPカードは、PCIバスからの高速応答を要する割込みも、外部バス上のシリアル通信装置(UART)などからの高速応答が不要な割込みも、同一レベルで扱っている。このため、非同期かつ複数の割込み発生に対してDSPカードは適切な割込応答を行えない。 However, in a DSP card wired with a PCI bus or the like, it is necessary for the DSP on the DSP card to process an external interrupt from an interrupt source other than the DSP. When a plurality of external interrupt requests that are asynchronous with each other are input from the PCI bus to the DSP card, the DSP card also receives an interrupt requiring a high-speed response from the PCI bus from a serial communication device (UART) on the external bus. Interrupts that do not require a fast response are handled at the same level. For this reason, the DSP card cannot make an appropriate interrupt response to asynchronous and multiple interrupts.
このような課題を解決するため、一実施形態によれば、第1データバスと、それぞれこの第1データバスにバスインターフェースを介して接続された複数の第2データバスと、前記第1データバス又は前記第2データバス上に発生し発生要因が異なる複数の割込要求の割込み要因を持つ一種以上の割込要求の入力により割込発生の通知を出力し、前記第1データバスおよび前記複数の第2データバスに接続された割込み制御部と、この割込み制御部から出力される信号処理対象のデータの受信割込発生によってこのデータに対して信号処理演算を実行する少なくとも一つの第1DSPと、前記割込み制御部からの前記通知によりDSP外からの複数の外部割込要求のうち最も優先度の高い外部割込要求を各優先順位により選択する判定処理、およびこの外部割込要求に対応する前記割込みハンドラの実行による外部割込み処理を行う第2DSPと、を備え、この第2DSPは一つの期間内で前記判定処理および前記外部割込み処理を繰返し、複数の他の期間において一つ以上の非同期な外部割込要求のうち前記最も優先度の高い外部割込要求の処理をこれらの他の期間毎に終わらせることを特徴とするディジタルシグナルプロセッサシステムが提供される。 In order to solve such a problem, according to one embodiment, a first data bus, a plurality of second data buses respectively connected to the first data bus via a bus interface, and the first data bus Alternatively, an interrupt generation notification is output by inputting one or more interrupt requests having interrupt factors of a plurality of interrupt requests that are generated on the second data bus and having different generation factors, and the first data bus and the plurality of interrupt requests are output. An interrupt control unit connected to the second data bus, and at least one first DSP for performing signal processing operations on the data by generating a reception interrupt of the data to be processed output from the interrupt control unit; A determination process for selecting an external interrupt request having the highest priority among a plurality of external interrupt requests from outside the DSP by the notification from the interrupt control unit according to each priority order; And a second DSP that performs external interrupt processing by executing the interrupt handler corresponding to the external interrupt request, and the second DSP repeats the determination processing and the external interrupt processing within one period, A digital signal processor system is provided in which processing of the highest priority external interrupt request among one or more asynchronous external interrupt requests is terminated in each of these other periods. .
また、別の一実施形態によれば、(a)第1データバスあるいはそれぞれこの第1データバスにバスインターフェースを介して接続された複数の第2データバス上に発生し発生要因が異なる複数の割込要求の割込み要因を持つ一種以上の割込要求の入力により割込発生の通知を出力し、(b)前記第2データバス上の第2DSPが、一つの期間内において前記通知によりDSP外からの複数の外部割込要求のうち最も優先度の高い外部割込要求を各優先順位により選択する判定処理と、この外部割込要求に対応する前記割込みハンドラの実行による外部割込み処理とを前記期間が満了するまで繰返し、(c)前記第2DSPが、複数の他の期間内での一つ以上の非同期な外部割込要求のうち前記最も優先度の高い外部割込要求の処理をこれらの他の期間毎に終わらせることを特徴とするディジタルシグナルプロセッサシステムにおける割込み処理方法が提供される。 According to another embodiment, (a) a plurality of different generation factors that are generated on a first data bus or a plurality of second data buses connected to the first data bus via a bus interface. An interrupt generation notification is output by inputting one or more interrupt requests having an interrupt request interrupt factor, and (b) the second DSP on the second data bus is outside the DSP by the notification within one period. Determination processing for selecting the highest priority external interrupt request among the plurality of external interrupt requests from each priority, and external interrupt processing by execution of the interrupt handler corresponding to the external interrupt request (C) the second DSP performs processing of the highest priority external interrupt request among one or more asynchronous external interrupt requests in a plurality of other periods. Interrupt processing method in a digital signal processor system, characterized in that to end for each other period is provided.
以下、実施の形態に係るディジタルシグナルプロセッサおよびディジタルシグナルプロセッサにおける割込み処理方法について、図1乃至図6を参照しながら説明する。尚、各図において同一箇所については同一の符号を付すとともに、重複した説明は省略する。 Hereinafter, a digital signal processor according to an embodiment and an interrupt processing method in the digital signal processor will be described with reference to FIGS. In the drawings, the same portions are denoted by the same reference numerals, and redundant description is omitted.
一実施形態に係るディジタルシグナルプロセッサシステムはレーダ装置から周期的に到来する受信信号の信号処理システムであり、それぞれ複数個のDSPを搭載した複数枚のDSPカードにより実行される。一実施形態に係るディジタルシグナルプロセッサシステムにおける割込み処理方法は信号処理システムにおける外部割込み受信処理方法である。この外部割込み受信処理方法は、レーダ装置からの受信完了割込みや、デバッグ用表示データの送信完了割込み、及びCPUボードといった上位装置からの送受信割込みなどの互いに非同期に発生する複数種類の割込要求信号を、このDSPカード上のDSPが受信し、割込み制御を行って処理する方法である。 A digital signal processor system according to an embodiment is a signal processing system for received signals that periodically arrive from a radar apparatus, and is executed by a plurality of DSP cards each equipped with a plurality of DSPs. An interrupt processing method in a digital signal processor system according to an embodiment is an external interrupt reception processing method in a signal processing system. This external interrupt reception processing method has a plurality of types of interrupt request signals that are generated asynchronously, such as a reception completion interrupt from a radar device, a debug display data transmission completion interrupt, and a transmission / reception interrupt from a host device such as a CPU board. Is received by the DSP on the DSP card and processed by interrupt control.
図1は信号処理システムのブロック図である。信号処理システム10は、基本周期毎にレーダ波の受信信号を出力するレーダ装置11と、このレーダ装置11からの受信信号をA/D(アナログtoディジタル)変換するA/D変換器12と、このA/D変換器12からの受信ディジタル信号に対しそれぞれDSPプログラムによって信号処理演算を行うM枚のDSPカード13と、これらのDSPカード13間を接続するVMEバス14と、VMEバス14に接続され各DSPカード13の動作を制御するCPUカード15とを備えている。
FIG. 1 is a block diagram of a signal processing system. The
レーダ装置11は例えば50μsec〜10msecの基本周期毎に繰返して受信信号を出力する。一基本周期とはレーダ装置が送信、受信をそれぞれ1回行うための時間に実質等しい。A/D変換器12は、受信アナログ信号からディジタルビット列を出力し、高速に流れかつ大量のシリアルビット列をDSPカード13へ送込む。
The
複数枚のDSPカード13はそれぞれ基本周期に応じて計算時間を割当てられており、各計算時間内にそれぞれの信号処理演算を完了させるようにしている。これらのDSPカード13は受信データ列を1ビットも取りこぼさずに信号処理演算を実行する。
Each of the plurality of
一枚目のDSPカード13は、PCIバス16(第1データバス)と、このPCIバス16に接続されたバスプロトコル変換機能部19(バスインターフェース)と、それぞれPCIバス16にバスプロトコル変換機能部19を介して接続されたデータバス20、26(複数の第2データバス)と、PCIバス16又はデータバス26上に発生し発生要因が異なる複数の割込み要因を持つ一種以上の割込要求の入力により割込発生の通知を出力する外部割込み制御装置18(割込み制御部)と、データバス20上の複数個のDSP21(第1DSP)と、同じくデータバス20に接続され主に外部割込み処理を実行するDSP22(第2DSP)とを備えている。
The
更にDSPカード13は、DSP21、22の内部プログラムの実行結果をこれらのDSP21、22から信号線23を介してパソコン24へ送る汎用のシリアル通信装置25と、このシリアル通信装置25、バスプロトコル変換機能部19及び外部割込み制御装置18を収容する別のデータバス26(第2データバス)と、このデータバス26を介してDSP21、22用の起動プログラムを保持するフラッシュROM27とを備えている。外部割込みとはDSP21、22内部で発生する内部割込みと異なるDSP外からの割込み要求を指す。
Further, the
PCIバス16及びデータバス20上には複数種類の割込発生源が物理的に配置されている。割込発生源としてDSPカード13は、シリアルデータの入出力完了時に割込みを発生させる上記シリアル通信装置25と、A/D変換器12からの受信データの受信完了時に割込みを発生させる高速シリアル通信装置28と、CPUカード15及びDSPカード13間の信号の送受信完了時に割込みを発生させるPCI−VMEブリッジ装置29とを備えている。
A plurality of types of interrupt generation sources are physically arranged on the
シリアル通信装置25はUART(Universal Asynchronous Receiver Transmitter)機能を持つICである。シリアル通信装置25はDSP21、22が実行するDSPプログラムのソースコードに埋込まれたプリント文の文字列を出力する。シリアル通信装置25はパソコン24のRS−232Cインターフェース等により低速のシリアルビット列を送信する。
The
高速シリアル通信装置28は割込み要求を出したとき又はその直後に受信データを揮発性の外部記憶装置30に書込む。高速シリアル通信装置28は予め決められた個数のビット列を受信すると、一回の受信完了割込みを出力する。DSPカード13はこのDSPカード13上に発生した複数の外部割込み要求のうち、この高速シリアル通信装置28からの受信データを最も重要なデータとして取扱い、ビット落ちを起こさせずにこの受信データを蓄積するようにしている。高速シリアル通信装置28による受信完了割込みの出力を契機として、DSP21群は一回の信号処理演算を行うようにしている。受信データに対する外部割込み間隔が、レーダ装置11側の一基本周期に合うようにDSPカード上での処理タイミングが合わせられている。
The high-speed
PCI−VMEブリッジ装置29は、VMEバス14及びDSPカード13間の転送割込みを発生させる。PCI−VMEブリッジ装置29はCPUカード15上のCPU31からDSPカード13に対して送られた動作制御用の制御信号を受信する。一方DSPカード13からCPUカード15へはバスプロトコル変換機能部19がデータを転送する。
The PCI-
また、DSPカード13は、他の割込発生源としてバスプロトコル変換機能部19内に設けられたユーティリティプログラムのウォッチドッグタイマ、温度センサ及び電源監視センサなどを備えてもよい。温度センサは環境温度が上限を越えたときに割込みを上げる。電源監視センサは電源電圧値が閾値を下回ったときに割込みを上げる。
The
外部割込み制御装置18は割込発生通知用の端子33を有する。外部割込み制御装置18は割込み要因を持つ一種以上の割込要求を受信すると、端子33から割込発生を通知する。外部割込み制御装置18の機能はFPGAにより実現される。
The external interrupt
図2は実施形態に係るディジタルシグナルプロセッサシステムにおける複数例えば32種類の割込み要因、外部割込み制御装置18及びDSP22間の接続関係を示す図である。既述の符号はそれらと同じ要素を表す。INT0〜INT31はDSP外の複数の割込発生源による外部割込要求信号名を表す。例えばINT0〜INT3はPCIバス16用である。INT4〜INT10はVMEバス14用である。INT11〜INT31はシリアル通信装置25や、タイマ割込み、温度センサ、電源監視センサからの割込み等に用いられる。同図の例では最大32種類まで外部割込み要求を外部割込み制御装置18は入力可能になっている。外部割込み制御装置18は、何れかの割込み発生源から入力があった場合、DSP22へ外部割込み発生を通知する。
FIG. 2 is a diagram showing a connection relationship among a plurality of, for example, 32 types of interrupt factors, the external interrupt
外部割込み制御装置18は、内部に割込みマスクレジスタ34を持ち、この割込みマスクレジスタ34により割込み応答の可否を制御可能になっている。外部割込み制御装置18は内部に割込みステータスレジスタ35を持つ。この割込みステータスレジスタ35により外部割込み制御部18は割込み要因を特定し、割込み発生源をDSP22へ通知可能になっている。外部割込み制御装置18は割込み処理が終了したかどうかを識別する割込みEOI(End Of Interrupt)レジスタ36を持ち、この割込みEOIレジスタ36により割込み発生源毎に割込み処理を終了させるようにしている。これらの割込みマスクレジスタ34、割込みステータスレジスタ35、割込みEOIレジスタ36により、外部割込み制御装置18は複数の外部割込みの入力信号のOR結果をDSP22へ通知可能になっている。
The external interrupt
割込みマスクレジスタ34、割込みステータスレジスタ35、及び割込みEOIレジスタ36は、同じビット割付けパターンを有する。例えばそれぞれが割込発生源を表す32ビットのハードウェアレジスタをレジスタ34〜36(割込みマスクレジスタ34、割込みステータスレジスタ35、割込みEOIレジスタ36)は用いる。LSBがINT0であり、MSBがINT31を表すように割付けされる。ビット値ハイが割込要求有りを示しビット値ローが割込要求無しを示す。
The interrupt
これらのレジスタ34〜36を用いて、外部割込み制御装置18は、32本の信号が並列入力される端子37群の値を取込みしている。
Using these
また、DSP21、22には何れも端子38が設けられている。端子38はメーカ仕様により予めICに設けられた端子である。外部割込み制御装置18が一個のDSPICの端子38を外部割込みの入力端子として使うことにより、DSP22は外部割込み処理用に動作可能にされる。
The
図1のバスプロトコル変換機能部19は互いにバス幅やデータ転送単位が異なるPCIバス16、データバス20、26、42の間で、これらのバスのプロトコルに応じてデータをプロトコル変換してから転送する。DSPカード13が値データ又は制御データをCPUカード15へ転送する場合、バスプロトコル変換機能部19内のDMAコントローラ32が外部記憶装置30から値データ又は制御データを読出して、読出したデータをCPUカード15へ転送するようにしている。データバス20は全部でN個のDSP21、22を収容する内部バスである。データバス26はシリアル通信装置25を収容する内部バスである。外部記憶装置30は例えばページメモリのような大容量のメモリである。データバス42は内部バスである。
The bus protocol
信号処理演算用のDSP21は外部割込み制御装置18から出力される信号処理対象のデータの受信割込発生によってこのデータに対して信号処理演算を実行する。DSP21は小容量の記憶領域を有する内部メモリ40と、データをDMA転送するDMAコントローラ41とを有する。内部メモリ40はプログラム及びデータを格納する。DMAコントローラ41はこの内部メモリ40へフラッシュROM27から実行ファイルを取込み実行する。DMAコントローラ41は実行結果のうち必要な結果を外部記憶装置30に書込む。
The
外部割込み処理用のDSP22も内部メモリ40及びDMAコントローラ41を備える。DSP22はこれらのDSP21が演算中、判定処理と外部割込み処理とを実行する。判定処理とは、端子38からの通知信号により一種以上の外部割込要求のうち最も優先度の高い外部割込要求を各優先順位により選択する処理を指す。
The
DSPカード13は、複数N個のDSP21、22から構成されていることから、ブート対象のDSP21、22は1個または複数個存在する。2枚目からM枚目の各DSPカード13の構成は1枚目のDSPカード13の構成と同じである。
Since the
構造について述べると、信号処理システム10は箱状のシャーシに組込まれている。信号処理システム10は、シャーシと、このシャーシ内面上にVMEバス14を布線したバックプレーンと、それぞれこのバックプレーン上に列設された複数個のスロットと、最左端側のスロットに差込まれた1枚のCPUカード15と、それぞれこのCPUカード15が差込まれたスロット以外のスロットに差込まれたM枚のDSPカード13とを備えて構成されている。各DSPカード13上にPCIバス拡張用のコネクタが設けられ、複数種類の内部バス線がカード基板上に配線されている。
Regarding the structure, the
上述の構成の信号処理システム10が起動されると、一枚目のDSPカード13上のDSP21、DSP22の各DMAコントローラ41はプログラムを内部メモリ40に転送する。プログラムの記述によりDSP21はスレーブDSPとして機能し、DSP22はマスタDSPとして機能する(以下、DSP22をマスタDSP22と呼び、各DSP21をスレーブDSP21と呼ぶことがある)。
When the
DSPカード13内における、ブート手順のフローチャートを図3に示す。図3は実施形態に係るディジタルシグナルプロセッサシステムに用いられるマスタDSP22による起動処理を説明するためのフローチャートである。
A flowchart of the boot procedure in the
ステップA1において、マスタDSP22へ電源が投入される。ステップA2において、マスタDSP22は、フラッシュROM27からプログラムを、内部メモリ40へロードする。ステップA3において、予め決められた情報に基づき、外部割込みを受信するため割込みマスクレジスタ34をマスタDSP22は設定する。あるいは外部割込み制御装置18が必要なマスクを解除設定する。
In step A1, power is turned on to the
割込要求信号INT0〜INT31のうち、一例として、INT0、INT4、INT11及びINT14等を信号処理システム10は使っている。これらのINT0等に対応する割込みマスクレジスタ34のビットのマスクを外部割込み制御装置18は解除する。図6(a)は割込みマスクレジスタ34のマスク例を示す図である。外部割込み制御装置18は、PCIバス16用に割当てしているINT0〜INT3のうちINT0のマスクを高速シリアル通信装置28用に解除する。外部割込み制御装置18は、INT4〜INT10のうちINT4のマスクをPCI−VMEブリッジ装置29用に解除し、INT11のマスクをシリアル通信装置25用に解除する。外部割込み制御装置18は、例えばINT14〜INT17などにタイマ割込みや、温度センサや、電源監視センサからの割込みのビットを割付けし、これらのビットのマスクを解除してもよい。
Of the interrupt request signals INT0 to INT31, for example, the
ステップA4においてマスタDSP22はスレーブDSP21とともに演算処理を実行する。各スレーブDSP21はプログラムの計算命令にしたがって割当てられたDSPソフトウェアの演算処理を開始する。例えばディジタルフィルタ処理やFFT処理などの演算を各スレーブDSP21が実行する。
In step A4, the
この演算処理の実行中、ステップA5においてマスタDSP22は上位装置としてのCPU31から終了指令を受けたかどうかを判定している。ステップA5においてマスタDSP22が終了指令を受けない間、NOルートを通り、マスタDSP22は演算処理を続ける(ステップA4)。ステップA5において、マスタDSP22が終了指令を受けると、YESルートを通り、ステップA6においてマスタDSP22は終了処理を行う。マスタDSP22は、フラッシュROM27からプログラムを起動した後、演算処理を実行し、外部割込みの発生に併せて割込み処理を行える状態にされる。
During execution of this arithmetic processing, in step A5, the
次に、マスタDSP22における、外部割込み処理を図4、図5に示す。図4はマスタDSP22による外部割込み処理を説明するためのフローチャートである。図5はマスタDSP22による外部割込み処理のタイムチャートの一例を示す図である。図5ではDSPカード13内で、割込み(外部割込み要求)1,2,3が発生した例で説明する。割込み優先度は、割込み1>割込み2>割込み3とする。具体例として、割込み1は図1の(2)のように高速シリアル通信装置28の受信完了割込みを表す。割込み2は同図中(1)のようにCPU31からPCI−VMEブリッジ装置29への転送割込みを表す。割込み3は同図中(5)のようにシリアル通信装置25の送信完了割込みを表す。
Next, external interrupt processing in the
ステップB1において図1の(3)のように外部割込み制御部18は外部割込みの発生を入力される。このステップB1において、同図中の(4)のように、マスタDSP22は外部割込み制御装置18から端子38を介して外部割込み信号を通知される。マスタDSP22は続くステップB2〜ステップB4の外部割込み処理を実行する。まず、ステップB2においてマスタDSP22は割込みステータスレジスタ35をリードする。このリード処理を開始する時点ではDSPカード13の割込み発生状態は図5(a)の状態にある。図5(a)に示すように、時刻t0において割込み1、割込み3が発生しているとする。
In step B1, as shown in (3) of FIG. 1, the external interrupt
ステップB3においてマスタDSP22は割込みステータスレジスタ35のビット番号を繰返しの変数iとするfor文の冒頭でビット番号「0」の値をリードする。図6(b)に割込みステータスレジスタ35及び割込みEOIレジスタ36の一例を示す。割込みステータスレジスタ35のビット番号「0」の1をマスタDSP22はリードする。
In step B3, the
ステップB4においてマスタDSP22はビット値が1か否かを判定する。1である場合、マスタDSP22はYESルートを通り、ステップB5においてマスタDSP22はビット番号「0」に対する割込み処理を実行する。図5(b)に示すように、時刻t1から時刻t2までの間に、マスタDSP22は外部割込み処理を行う。
In step B4, the
ステップB5ではマスタDSP22は割込み処理を行う。マスタDSP22はユーザハンドラ(割込みハンドラ)1を実行する。図5(c)に示すように、時刻t3から時刻t4までの間に、ビット番号「0」に対応するユーザハンドラ1が実行される。時刻t3から時刻t4は、ユーザハンドラ1によるタスクを完了させるために要する時間である。このステップB5では図6(b)に示すように割込みEOIレジスタ36のビット位置に1を外部割込み制御装置18が書込む。
In step B5, the
ユーザハンドラ1の実行後、ステップB6において、マスタDSP22は割込み1に対応した割込み終了処理を実行する。図6(c)に示すように外部割込み制御装置18は割込みEOIレジスタ36の対応ビットに0を書くとともに割込みステータスレジスタ35の対応のビットに0を書く。外部割込み制御部18は一旦外部割込み処理を終える。割込み要因の小さい順番にマスタDSP22は処理を行うことから、優先度が最も高い割込み1に対応する処理を確実に行える。
After execution of the
時刻t4までに最優先に処理すべき高速シリアル通信装置28の割込み1の処理をマスタDSP22は終える。時刻t3から時刻t4の間に割込み2が発生している。この割込み2を外部割込み制御装置18が取扱って割込み2を割込みステータスレジスタ35に書込みしてある(図6(c))。時刻t4においては外部割込み2、3が発生中であることから、マスタDSP22は再度外部割込み処理を実行する。図4において、マスタDSP22は割込みステータスレジスタ35を再度LSBからリードする(ステップB2)。割込みステータスレジスタ35のビット番号「0」は処理済みでクリアされている。bit(i)のi=0、1、2、3までのfor文において、マスタDSP22は、割込みステータスレジスタ35のビット番号iのビット値がそれぞれローであることをリードし、NOルートを通り、繰返し変数iを1つ増やす(ステップB3、ステップB4、ステップB7)。
The
i=4について、マスタDSP22はビット番号「4」のビット値をリードし(ステップB3、ステップB4)、YESルートを通り、ステップB5において、マスタDSP22は時刻t5から時刻t6の間(図5(b))、ビット番号「4」に対する割込み処理を実行する。ユーザハンドラ(割込みハンドラ)2をマスタDSP22が実行する(図5(d))。ユーザハンドラ2のタスクは時刻t8まで続く。マスタDSP22は割込み2の割込み終了処理を実行する(ステップB6)。図6(d)に示すように、外部割込み制御装置18は割込みEOIレジスタ36及び割込みステータスレジスタ35のそれぞれのビット番号「4」に0を書く。マスタDSP22は一旦外部割込み処理を終える。このように、割込み3が時刻t0で上がっており、この割込み3は割込み2よりも先に上がっているにも関わらず、時刻t4において、後から入った割込み2が割込み3に優先して処理される。マスタDSP22は割込み要因の優先順位が小さい順番に処理を行うことから、時系列に入った割込み2、3間の順番に関わらず割込み2に対応する処理が優先的に処理されるようになる。
For i = 4, the
時刻t8までに割込み1、割込み2の各処理をマスタDSP22は終える。引続き、マスタDSP22は割込み3に対応した処理を行う。マスタDSP22は割込みステータスレジスタ35を再度LSBからリードする(ステップB2)。図6(d)に示すように、割込みステータスレジスタ35のビット番号「0」、「4」は処理済みでクリアされている。bit(i)のi=0〜10までのfor文において、マスタDSP22は、ビット番号iのビット値をリードしていく(ステップB3、ステップB4、ステップB7)。i=11について、マスタDSP22は割込みステータスレジスタ35のビット値をリードする(ステップB3、ステップB4)。ステップB5において時刻t9から時刻t10の間、マスタDSP22はビット番号「11」に対する割込み処理を実行する(図5(b))。時刻t12までの間、ユーザハンドラ(割込みハンドラ)3をマスタDSP22が実行する(図5(e))。引続きマスタDSP22は割込み3について割込み終了処理を実行する(ステップB6)。外部割込み制御装置18は割込みEOIレジスタ36及び割込みステータスレジスタ35のそれぞれのビット番号「11」のビット値をクリアする(図6(e))。全ての外部割込み処理をマスタDSP22は終える。時刻t12においては、3つのEOIが全て発行されている。マスタDSP22は信号処理演算に制御を移す(図3のステップA4)。
The
割込み3について述べると、割込み3の優先順位は割込み1、2の優先順位に比べて低い。図1の(1)〜(4)のように、割込み1、2の処理が終わった後、(5)のように後回しの処理をされる。割込み3はこの割込み3が上がった後、割込みハンドラ1、2の実行終了までずっと待たされ続ける。本実施形態では、シリアル通信装置25が記憶しているデータを最悪取り損ねたとしても、それほど重要でないデータとして割り切って、DSPカード13に動作を続けさせるようにしている。信号処理システム10は、必ず高い優先順位から割込要求を処理していくため、たとえ割込み1が連続して発生した場合でも、信号処理システム10は、全ての割込み1の外部割込み処理を漏れなく実行することができる。以上により、優先度に応じて外部割込み処理を行うことで、DSPカード13は外部割込みの取りこぼしを防ぐことが可能である。
As for interrupt 3, the priority of interrupt 3 is lower than that of interrupts 1 and 2. As shown in (1) to (4) of FIG. 1, after the processing of the interrupts 1 and 2 is completed, the post-processing is performed as shown in (5). Interrupt 3 continues to wait until the end of execution of interrupt
従来例に係るディジタルシグナルプロセッサシステムでは、DSPカード上においてDSPがDSP以外を割込み発生源とする外部割込みを処理することができない。互いに非同期な複数の外部割込要求がDSPカードに発生したとき、このDSPカードは、PCIバスなどからの高速応答を要する割込みも、UARTなどからの高速応答が不要な割込みも、同一レベルで扱っている。複数種類の割込み発生に対してDSPカードは高速に割込応答を行えない。 In the digital signal processor system according to the conventional example, the DSP cannot process an external interrupt whose source is an interrupt source other than the DSP on the DSP card. When a plurality of asynchronous external interrupt requests are generated in the DSP card, this DSP card handles interrupts that require a high-speed response from the PCI bus or the like and interrupts that do not require a high-speed response from the UART or the like at the same level. ing. The DSP card cannot make an interrupt response at high speed when multiple types of interrupts occur.
現在は、半導体技術の進歩により、DSPが使用できるメモリ容量が増え、より複雑な処理を実行できるようになったことから、従来CPUが行ってきた処理をDSPで置換える信号処理システムが出てきている。これに伴い、DSPカードが公知規格バスをサポートし、公知規格バスからの割込みを出力するバスプロトコル変換機能ICがDSPカード上に設けられるようになってきている。DSPにとっての外部割込み発生源がDSPカード上に存在するようになってきている。 At present, due to advances in semiconductor technology, the memory capacity that can be used by the DSP has increased, and more complicated processing can be executed. Therefore, a signal processing system that replaces processing conventionally performed by a CPU with a DSP has emerged. ing. Accordingly, the DSP card supports a known standard bus, and a bus protocol conversion function IC that outputs an interrupt from the known standard bus is provided on the DSP card. An external interrupt generation source for the DSP has come to exist on the DSP card.
従来例に係るディジタルシグナルプロセッサシステムでは、DSPカードが本来取りこぼすことを許されないレーダ装置からの受信データと、それほど重要でないデバッグ用の文字列データとをDSPカードが同列に扱っている。非同期複数の割込要求の発生に対し、DSPカードが全て同じ重要度で処理したとすると、DSPカードは重要でない割込み処理の最中にレーダ装置からの受信割込みが入って受信データを基本周期内に処理を終えない可能性が存在する。 In the digital signal processor system according to the conventional example, the DSP card handles the received data from the radar apparatus that the DSP card is not allowed to miss and the character string data for debugging which is not so important in the same line. Assuming that the DSP card processes all of the asynchronous interrupt requests with the same importance, the DSP card receives a reception interrupt from the radar device during an unimportant interrupt process, and the received data is within the basic period. There is a possibility that the process will not finish.
これに対して、本実施形態に係るディジタルシグナルプロセッサシステムおよびディジタルシグナルプロセッサシステムにおける割込み処理方法によれば、DSPカード13上においてDSP22が外部割込みを処理することができる。割込要因の種別の数が増大したとしても、各基本周期内で優先度の高い外部割込みの発生を確実に発見して優先度の高い外部割込みを処理できる。DSP22は、各基本周期内で、割込みハンドラの実行終了の都度、i=0に戻ってLSBからfor文を回している。DSP22は必ず優先度の高い高速シリアル通信装置28からの受信割込みが入っているかどうかを判定している。優先順位による評価判定をDSP22が処理の都度実行するため、DSPカード13は非同期複数の外部割込みに対して高速に割込応答を行えるようになる。
On the other hand, according to the digital signal processor system and the interrupt processing method in the digital signal processor system according to the present embodiment, the
尚、上記の実施形態は実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。例えば図2では外部割込み発生源は、最大32種類まで登録されているが、外部割込み発生源の種別や個数は種々変更可能である。優先度の高い外部割込要求を選択する判定処理では、優先順位を繰返し評価しているが、この繰返し処理において、図6の割込みマスクレジスタ34、割込みステータスレジスタ35、割込みEOIレジスタ36の割付け方は一例である。プログラム言語の繰返し構造を示す例としてfor文を述べたが、他の言語あるいは他の繰返し構造により繰返し処理を記述してもよい。ビット割付けの仕方を変えること、又は上記3本のレジスタ群と実質同じ機能を有する複数本のレジスタを使うことによって判定処理を実施したに過ぎない実施品に対しても本実施形態に係るディジタルシグナルプロセッサシステムの優位性は何ら損なわれるものではない。
The above-described embodiment is not limited to the embodiment as it is, and can be embodied by modifying the components without departing from the scope of the invention in the implementation stage. For example, in FIG. 2, up to 32 types of external interrupt generation sources are registered, but the type and number of external interrupt generation sources can be variously changed. In the determination process for selecting an external interrupt request with a high priority, the priority order is repeatedly evaluated. In this iterative process, how to allocate the interrupt
いくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。 Although several embodiments have been described, these embodiments have been presented by way of example and are not intended to limit the scope of the invention. These embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the spirit of the invention. These embodiments and their modifications are included in the scope and gist of the invention, and are also included in the invention described in the claims and the equivalents thereof.
10…信号処理システム(ディジタルシグナルプロセッサシステム)11…レーダ装置、12…A/D変換器、13…DSPカード、14…VMEバス、15…CPUカード、16…PCIバス(第1データバス)、18…外部割込み制御装置(割込み制御部)、19…バスプロトコル変換機能部(バスインターフェース)、20…データバス(第2データバス)、21…DSP(第1DSP)、22…DSP(第2DSP)、23…信号線、24…パソコン、25…シリアル通信装置(割込み制御部)、26…データバス(第2データバス)、27…フラッシュROM、28…高速シリアル通信装置(割込み発生源)、29…PCI−VMEブリッジ装置(割込み発生源)、30…外部記憶装置、31…CPU、32…DMAコントローラ、33…端子、34…割込みマスクレジスタ、35…割込みステータスレジスタ、36…割込みEOIレジスタ、37,38,39…端子、40…内部メモリ、41…DMAコントローラ、42…データバス。
DESCRIPTION OF
Claims (3)
それぞれこの第1データバスにバスインターフェースを介して接続された複数の第2データバスと、
前記第1データバス又は前記第2データバス上に発生し発生要因が異なる複数の割込要求の割込み要因を持つ一種以上の割込要求の入力により割込発生の通知を出力し、前記第1データバスおよび前記複数の第2データバスに接続された割込み制御部と、
この割込み制御部から出力される信号処理対象のデータの受信割込発生によってこのデータに対して信号処理演算を実行する少なくとも一つの第1DSPと、
前記割込み制御部からの前記通知によりDSP外からの複数の外部割込要求のうち最も優先度の高い外部割込要求を各優先順位により選択する判定処理、およびこの外部割込要求に対応する割込みハンドラの実行による外部割込み処理を行う第2DSPと、を備え、
この第2DSPは一つの期間内で前記判定処理および前記外部割込み処理を繰返し、複数の他の期間において一つ以上の非同期な外部割込要求のうち前記最も優先度の高い外部割込要求の処理をこれらの他の期間毎に終わらせることを特徴とするディジタルシグナルプロセッサシステム。 A first data bus;
A plurality of second data buses each connected to the first data bus via a bus interface;
An interrupt generation notification is output by inputting one or more interrupt requests having interrupt factors of a plurality of interrupt requests that are generated on the first data bus or the second data bus and have different generation factors. An interrupt control unit connected to the data bus and the plurality of second data buses;
At least one first DSP that performs a signal processing operation on the data by generating a reception interrupt of the data to be processed output from the interrupt control unit;
A determination process for selecting an external interrupt request having the highest priority among a plurality of external interrupt requests from outside the DSP based on the notification from the interrupt control unit, and an interrupt corresponding to the external interrupt request A second DSP that performs external interrupt processing by executing a handler,
The second DSP repeats the determination process and the external interrupt process within one period, and processes the highest-priority external interrupt request among one or more asynchronous external interrupt requests in a plurality of other periods. A digital signal processor system characterized in that it terminates every other period of time.
前記第2データバス上の第2DSPが、一つの期間内において前記通知によりDSP外からの複数の外部割込要求のうち最も優先度の高い外部割込要求を各優先順位により選択する判定処理と、この外部割込要求に対応する割込みハンドラの実行による外部割込み処理とを前記期間が満了するまで繰返し、
前記第2DSPが、複数の他の期間内での一つ以上の非同期な外部割込要求のうち前記最も優先度の高い外部割込要求の処理をこれらの他の期間毎に終わらせることを特徴とするディジタルシグナルプロセッサシステムにおける割込み処理方法。 One or more types of interrupt requests having interrupt factors for a plurality of interrupt requests that are generated on the first data bus or a plurality of second data buses connected to the first data bus via a bus interface, respectively. Will output a notification that an interrupt has occurred.
A determination process in which the second DSP on the second data bus selects an external interrupt request having the highest priority among a plurality of external interrupt requests from the outside of the DSP according to the notification within one period according to each priority order; The external interrupt processing by executing the interrupt handler corresponding to the external interrupt request is repeated until the period expires,
The second DSP terminates processing of the highest-priority external interrupt request for each of these other periods among one or more asynchronous external interrupt requests in a plurality of other periods. An interrupt processing method in a digital signal processor system.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011260463A JP2013114483A (en) | 2011-11-29 | 2011-11-29 | Digital signal processor system and interruption processing method in digital signal processor system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011260463A JP2013114483A (en) | 2011-11-29 | 2011-11-29 | Digital signal processor system and interruption processing method in digital signal processor system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013114483A true JP2013114483A (en) | 2013-06-10 |
Family
ID=48709973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011260463A Pending JP2013114483A (en) | 2011-11-29 | 2011-11-29 | Digital signal processor system and interruption processing method in digital signal processor system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013114483A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015032008A (en) * | 2013-07-31 | 2015-02-16 | 株式会社東芝 | Memory transfer apparatus by digital signal processor and memory transfer method by digital signal processor |
CN111209235A (en) * | 2019-12-31 | 2020-05-29 | 西安翔腾微电子科技有限公司 | Bus control circuit based on DSP |
-
2011
- 2011-11-29 JP JP2011260463A patent/JP2013114483A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015032008A (en) * | 2013-07-31 | 2015-02-16 | 株式会社東芝 | Memory transfer apparatus by digital signal processor and memory transfer method by digital signal processor |
CN111209235A (en) * | 2019-12-31 | 2020-05-29 | 西安翔腾微电子科技有限公司 | Bus control circuit based on DSP |
CN111209235B (en) * | 2019-12-31 | 2023-03-21 | 西安翔腾微电子科技有限公司 | Bus control circuit based on DSP |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009265963A (en) | Information processing system and task execution control method | |
JP5445669B2 (en) | Multi-core system and startup method | |
WO2011148920A1 (en) | Multiprocessor system, execution control method, execution control program | |
CN109062834B (en) | DMA-based SPI communication method, electronic equipment, storage medium and device | |
JP6568399B2 (en) | Information processing device | |
JP2013114483A (en) | Digital signal processor system and interruption processing method in digital signal processor system | |
JP6123487B2 (en) | Control device, control method, and control program | |
CN109343950B (en) | General interrupt processing method suitable for Xilinx soft-core processor | |
JP2012203451A (en) | Semiconductor integrated circuit simulation device and semiconductor integrated circuit simulation method | |
JP4762207B2 (en) | DSP card testing equipment | |
JP7326863B2 (en) | Transfer device, information processing device, and data transfer method | |
JP7064367B2 (en) | Deadlock avoidance method, deadlock avoidance device | |
JP2011059787A (en) | Digital signal processor system and starting method for digital signal processor | |
JP5641128B2 (en) | Multi-core processor system, multi-core processor system control method, and multi-core processor system control program | |
JP2013242816A (en) | Dsp card and data transfer method | |
WO2019188177A1 (en) | Information processing device | |
JP2014164675A (en) | Digital signal processor system and interruption processing method in the digital signal processor system | |
EP3495960A1 (en) | Program, apparatus, and method for communicating data between parallel processor cores | |
JP6206524B2 (en) | Data transfer device, data transfer method, and program | |
JP2008071107A (en) | Flash rom update method of dsp card, and flash rom update device of dsp card | |
JP6217386B2 (en) | Program generation method for multiprocessor | |
JP6940283B2 (en) | DMA transfer control device, DMA transfer control method, and DMA transfer control program | |
US20140320424A1 (en) | Data transmission method, touch data processing method and electronic device | |
JP6392556B2 (en) | Access request issuing device, access request issuing system, access request issuing method, and access request issuing program | |
JP2015032008A (en) | Memory transfer apparatus by digital signal processor and memory transfer method by digital signal processor |