SDI TX にて映像データを送信しています。送信するフレーム情報を PCI-Express (PCIe) 経由で CPU に伝える為に、FRAME 信号の立ち下がりエッジで PCIe に割り込みを入れることは可能ですか?
カテゴリ:PCI-Express (PCIe)
ツール:Quartus® Prime / Quartus II (Qsys)
デバイス:Arria® V
下記の構成で PIO を使用することによって可能です。
■PIO の設定
- Width : 1
- Direction : Input
- Synchronously capture : Check
- Edge Type : FALLING
- Enable bit-clearing for edge capture register : Check
- Generate IRQ : Check
- IRQ Type : EDGE
■PIO の接続方法
- PCIe の RxmIrq に PIO の irq を接続
- FRAME 信号を in_port に接続
⇒上記 PIO の設定によって、立ち下がりで IRQ が発行される
⇒Edge capture reister をクリアするまで IRQ を保持
- Rxm_BAR など何かの Master を PIO の Slave に接続
edge capture register (offset:0x3) に 1 を Write することで IRQ をクリアできる上記構成であれば、 PIO で FRAME 信号の立ち下がりエッジを検出し、PCIe の RxmIrq に割り込みを送ることが可能となります。
また、HOST 側からクリアされるまで PIO の Edge capture register によって割り込みを保持することが可能です。
HOST 側が割り込み内容の確認、PCIe (CRA) の Status Register のクリアを実施する際には、PIO のクリアを先に実施して頂くよう注意してください。
PIO のクリアが後の場合、PCIe (CRA) の Status Register をクリアした直後に再度割り込みが入ってしまいます。
PIO の使い方については、下記ドキュメントを参照してください。
https://www.altera.com/en_US/pdfs/literature/hb/nios2/n2cpu_nii51007.pdf
(PIO Core の項目を参照してください。 )