[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [microblaze-uclinux] Microblaze + uCLinux+ SATA+ PCI
Thanks John,
I am just trying to get some quick start on it, can you advice !
Regards
Farhan
On 3/22/07, John Williams <jwilliams@xxxxxxxxxxxxxx> wrote:
Hi,
Sheikh M.Farhan wrote:
> This is my second attempt to get some help from this mailing list. My
> problem is a bit complex and having no previous exposure to microblaze
> and uCLinux, it makes my problem even worst.
I hope your have an understanding boss or supervisor - your project is
certainly possible, but complex with fiddly implementation details.
> I am working on an embedded storage system with real time data
> acquisition with storage on SATA HDD. The embedded system houses a
> Spartan 3 xc3s1000 FPGA, SATA controller (Silicon Image Sil3512),
> microcontroller, SATA HDD and A/D. I am supposed to store real time data
> at 40 MBytes/sec on the SATA HDD and later on retrieve the stored data.
> For that I have to have a File Management Sytem on board. Actually it is
> this need of FAT that has made me explore microblaze and uCLinux. I am
> exploring the possibility of putting microblaze on my FPGA, porting
> uCLinux on it and using FAT support of it to access SATA HDD.
> The problems I am facing and need guidance on are:
Sounds like fun.
> *The SATA controller that I am using talks through PCI interface. That
> means, I have to implement PCI interface on the FPGA side as well. This
> will be accomplished by using PCI bridge available at open-cores.org
> <http://open-cores.org>.
In principle, this is fine. You will need to interface the PCI core to
the MicroBlaze OPB bus.
> *The second problem is, I need to have the Linux driver for the
> controller, hopefully this will be arranged from Silicon Image.
SI devices seem to be pretty well supported with Linux drivers, this
shouldn't be a big deal.
> *The third problem is, how to get all these things integrated? Is it
> possible what I am saying?
This third problem is really your entire project. All of the
constituent pieces exist, your job is to tie them all together.
Take it one step at a time. Break it into manageable pieces. Make good
diagrams of the system architecture. Identify the distinct pieces of
hardware and software. Think about the interfaces between these
components. Some of these interfaces are already defined for you - for
example the Linux PCI layer is standard code. You'll just to do some
low level work to add support for the opencores PCI bridge.
Be sure, 40Mbyte/sec will be a challenge. You will almost certainly
need to use DMA to achieve this, and so that will impact your
interfacing of the opencores PCI bridge to the MicroBlaze/OPB (your
interface will need to be DMA / bus master capable). Once you have a
better understandign of your system architecture, you will want to do
some rough calculations of bandwidth requierd at various parts in the
system, to see if it is feasible.
I hope this helps.
Regards,
John
___________________________
microblaze-uclinux mailing list
microblaze-uclinux@xxxxxxxxxxxxxx
Project Home Page :
http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/