[Suzaku:01456] Re: PLBv46_IPIFのバースト転送

Yasuhiko Ito email@hidden
2009年 4月 6日 (月) 11:04:38 JST


中島 様

早速ご回答いただき、ありがとうございます。
ご紹介いただきましたSUZAKU-ADボードは、設計中の回路のDMA転送に
丁度良いサンプルになりそうです。いずれDMAの利用が必須になりますので、
サンプルを改造させていただいて適用してみます。

ありがとうございました

                伊藤

> 中島です。
> 
> 全く見当違いになってしまうかもしれませんが、もしかしたら、
> SUZAKU A/DボードのIPコアやドライバは参考になりませんでしょうか?
> XPS-SID00はMPMCに接続するIPコアで、データをDMA転送します。
> そして、もちろんSZ410に接続できます。
> 以下から情報が得られますので、チラッとでものぞいてみてください。
> 
> http://suzaku.atmark-techno.com/series/ad-board/download
> 
> PLBバス用のスレーブIPIFでのバースト転送の話ではないので、
> 全然回答になってませんが・・・。
> 
> Yasuhiko Ito さんは書きました:
>> いつもお世話になっております
>> 核融合研の伊藤と申します。
>>
>> PLBバス用のスレーブIPIFでのバースト転送についてご教授ください。
>>
>> --- 目的 ---
>> SZ410でSDRAM上のLinuxの動作メモリ領域を1/2にしまして、残り半分の32MBに
>> カウンタから計測データを格納し、LAN経由でデータを吸い上げようと
>> 計画しています。
>>
>> --- 経過 ---
>> メモリ領域の半減はhermitの書き換えのみを行い、mpmc_sz410
>> は変更を加えていません。
>>
>> 組込マイコンの経験が少ないので、まず勉強のためstarter-kitのスロット
>> マシン用のドライバを改造し、アプリ側から32MBの全メモリ領域へデータを
>> 読書きするドライバを作成しました。カウンタ部は、まずテスト用に
>> ウイザードで作成したplb_v46_slave_burst相当のIPIFのみで代用しています。
>>
>> まずは作成したIPIFからメモリへ4バイトずつのシングル転送を32MB分繰り返す
>> テストを行い、メモリへの転送ができていることを確認しました。
>>
>> 実機ではカウンタの計数値合計16バイトを1us毎にラッチし、メモリへ
>> 転送します。その際シングル転送では遅いのでDMAかバースト転送が必要
>> ではないかと思います。DMAは入門者には敷居が高そうなので、まずバースト
>> 転送を試みようと考えました。
>>
>> -----ここで質問させてください。---------
>> バースト転送の場合、ドライバ側からIPIFへBus2IP_burst, Bus2IP_burstlength
>> が与えられて回路側でバースト転送への対応を行うようですが、これらの信号
>> をドライバでアクティブにする方法が分かりません。
>>
>> ドライバから4バイトより大きなデータを扱いたい指令をIPIFに与える事が
>> できればよいのでしょうか? 4バイトまでの入出力関数まではあるようなの
>> ですが。そもそも、このような方法は間違いなのでしょうか?
>>
>> -Linux環境はATEDでlinux-2.6.18を使用
>> -参考書はLinuxデバイスドライバプログラミング(softbank)
>> です。
>>
>> よろしくお願い申し上げます。
>>
>>                  伊藤




suzaku メーリングリストの案内