LOGIN   :::   RECOVER PASS   :::   GET ACCOUNT    
Browse
  • Projects
  • Code (CVS)
  • Forums
  • News
  • Articles
  • Polls
  •  
    OpenCores
  • FAQ
  • CVS HowTo
  • Mission
  • Media
  • Tools
  • Advertise
  • Mirrors
  • Logos
  • Contact us
  • Job Opportunity
  •  
    Tools
  • Search
      
  • Download Cores (CVSGet)
  •  
    More
  • Wishbone
  • Perlilog
  • EDA tools
  • OpenTech CD
  •  
    Navigation: All forums > Pci > Message List > Message Post

    Message

    Reply | Reply all
    Date Prev | Date Next | Thread Prev | Thread Next Date Index | Thread Index

    From: Mark McDougall<markm@v...>
    Date: Fri Oct 26 01:38:46 CEST 2007
    Subject: [pci] Rookie questions about PCI
    Top
    G.Franco wrote:

    > What I want to accomplish is to build a device which can sample data at
    > a very high rate say 1GSa/s, buffer it to ram (if necessary) and convey
    > it to my computer for analysis via the PCI bus.

    Just be aware that absolute maximum 32-bit PCI33 rate is around 120MB/s,
    and more likely 80-100MB/s sustained rate with nothing else on the bus.

    > Ok finally my questions. I have been reading up about PCI and from an
    > application perspective what exactly is the difference between a PCI
    > target, PCI master and PCI bridge? For example since I will be putting
    > the PCI card into my computer I will need a PCI target am I correct? I
    > am assuming that my PC will be a master and you cannot have two masters
    > or can you? Secondly with regard accessing the PCI card from
    > application software on the PC side do I need to write special PCI
    > drivers or do I use generic drivers that are availible on a windows xp
    > machine?

    A PCI Master can initiate PCI transactions. eg. PCI mobo, or bus-mastering
    card like DMA.
    A PCI target can only respond to Master transactions. eg. data acquisition
    card without DMA.
    A PCI Bridge connects a PCI bus to another PCI or non-PCI bus. Technically
    the opencores PCI bridge is exactly that - it bridges the PCI bus and the
    Wishbone bus.

    You'll need to implement a target at least - or master if you want a DMA
    engine on your card. The opencores PCI bridge is suitable for both purposes.

    There can be many PCI masters on a bus - one arbiter which is responsible
    for granting access to masters that request the bus. Generally the arbiter
    is on a PC mobo.

    As for drivers, depends on how you implement your device. It is possible
    to use generic drivers (like TVICPCI) that allow you to map device
    resources into (Windows) user-space. I'm sure there's similar under linux,
    though writing a kernel driver module is a lot easier than windows.

    > am also
    > trying to get hold of a copy of PCI system Architecture by Tom Shanley
    > and Don Anderson - 3rd edition but my local bookstore said the
    > publisher is out of stock at it will take a few weeks.

    Good choice!

    Regards,

    --
    Mark McDougall, Engineer
    Virtual Logic Pty Ltd, <http://www.vl.com.au>
    21-25 King St, Rockdale, 2216
    Ph: +612-9599-3255 Fax: +612-9599-3266

    ReferenceAuthor
    [pci] Rookie questions about PCI G Franco

     
    Copyright (c) 1999 OPENCORES.ORG. All rights reserved.