PCI host bridge for ARM9 CPU - Page 1
Forum section: electronics / general

author: Unixon
author_rank: Frequent Contributor
timestamp: March 23, 2014, 03:31:57 am
content: Hi,I'm looking for a way to connect an ARM926EJ-S or similar/newer core based CPU to 32-bit PCI target IC, or a PCI-enabled CPU.In particular, I'm interested in possibility to connect something like AT91SAM9* MCU/CPU to SIL3114/3512 SATA controller.This is not a real project yet, just probing the ground before stepping in.All ICs should be in QFP-like hand-solderable packages, QFN is allowed as last resort, BGAs are definitely not.

author: nctnico
author_rank: Super Contributor
timestamp: March 23, 2014, 12:42:30 pm
content: PLX (http://www.plxtech.com/) has all kinds of PCI bridges. They have been the 'goto company' for these kinds of problems for over a decade.

author: Rasz
author_rank: Super Contributor
timestamp: March 23, 2014, 02:23:08 pm
content: there is also free FPGA PCI bridgehttp://opencores.org/project,pci,homePCI is synchronous, but afair there is no clock speed requirements (dont know about jitter, there are some setup/hold time requirements).You could try bitbanging it for LOLz. I think you should be able to at least get to reading config from the pci card.If all you want is SATA connected to your board just go USB route.

author: abyrvalg
author_rank: Frequent Contributor
timestamp: March 23, 2014, 03:07:38 pm
content: Use IDE-SATA bridge IC (Marvell has some in QFP, seen in first SATA HDDs). AT91SAM9260 has CompactFlash support, which is the same bus as IDE.

author: Unixon
author_rank: Frequent Contributor
timestamp: March 23, 2014, 07:05:07 pm
content: Quote from: nctnico on March 23, 2014, 12:42:30 pmCan I use PCI9054 with bus master function for this purpose? Will this be enough? Will this bridge work for point-to-point (one device on the bus) communication instead of full-blown PCI host bridge like ones that live in north bridges of PCs' motherboards? Haven't inspected PCI bus protocol in details yet, any quick information is valuable.

author: Unixon
author_rank: Frequent Contributor
timestamp: March 23, 2014, 07:12:03 pm
content: Quote from: Rasz on March 23, 2014, 02:23:08 pmYou're reading my thoughts!This is the second hope, but I feel like if I decide to build the thing for real, I'll be bothered by power consumption issues quite a lot.How good/bad FPGA solution can be in this regard in comparison to ASIC implementation like PLX ICs?

author: Unixon
author_rank: Frequent Contributor
timestamp: March 23, 2014, 07:19:52 pm
content: Quote from: abyrvalg on March 23, 2014, 03:07:38 pmWell, quite an alternative I would say

author: abyrvalg
author_rank: Frequent Contributor
timestamp: March 24, 2014, 12:51:04 am
content: What is your application? Why SATA? What speed requirements?Your initial idea with SAM9+something-to-PCI+SIL3114 doesn't look well balanced: SIL3114 is overpowered compared to SAM9, but there will be no bus master mode (SAM9's bus doesn't allow that afaik) so this way is complex but not so efficient.If you plan to run Linux, then USB should be an easiest way to access SATA drive (all drivers are ready made, should work immediately), but there can be speed issues: lower end (QFP) SAM9s have FS (12Mbit/s) USB host. Using IDE-SATA bridge may require some CompactFlash driver tweaking, but the bridge itself is fully transparent and requires no additional programming (actually you don't need to hunt for specific Marvell chip, any off the shelf IDE-SATA converter should work the same way).

author: Unixon
author_rank: Frequent Contributor
timestamp: March 24, 2014, 07:30:01 am
content: Quote from: abyrvalg on March 24, 2014, 12:51:04 amThe idea is to extend an existing embedded single board computer like SK-AT91SAM9XE512-SIM300 to a "geek version" of a portable computer with both high-level (USB/Eth/IDE/SATA) and low-level interfaces (I2C/SPI/UART/etc), bare I/O, plus whatever peripheral interfaces a typical top-level AVR or entry level ARM microcontroller would allow, all brought to user accessible connectors. A strong limitation of this solution is that is should be possible to build with hobby level technology (double sided boards, 8/7 mil traces).In this regard the SATA is a very appreciable interface to have. Besides, I've managed to get few of those SiliconImage ICs just in case.Speed requirements are minor, but the higher speed the better.Quote from: abyrvalg on March 24, 2014, 12:51:04 amYes, I know it's unbalanced, but this comes from a limited number of available parts that satisfy the hobby level technology limitation.Quote from: abyrvalg on March 24, 2014, 12:51:04 amThat's true, but in this case the stability will depend on USB subsystem which is still have issues on modern PCs. Well, maybe I'm little biased about this.

author: nctnico
author_rank: Super Contributor
timestamp: March 24, 2014, 03:15:10 pm
content: I'd go for a readily made module instead of messing around with processors which run out of steam before doing anything. I recently did a project around an iMX6 from Freescale on a module. That controller has hardware video decoding and 4 ARM CPUs running at up to 1GHz. Boards with these start at $170.Hand soldering these kind of systems is also asking for problems. You end up with 0.5mm fine pitch TQFP and QFN parts. I solder those all the time (the footprints need to be modified for hand soldering though) but many hobbyists don't dare to take on such soldering jobs.And forget about routing Sata lines on a 2 layer board. At speeds over 1.5Gb the layout and thickness of the substrate get really critical.

author: Unixon
author_rank: Frequent Contributor
timestamp: March 24, 2014, 04:22:15 pm
content: Quote from: nctnico on March 24, 2014, 03:15:10 pmAgree, but that's a completely different thing. If I would go for performance then pre-assembled processor/SoC modules are totally OK.Indeed, I consider this a very practical approach, but in this case there will be less free space for modifications.Currently I'm trying to investigate the limits of possible with hobbyist level technology before putting real effort into a project.Quote from: nctnico on March 24, 2014, 03:15:10 pmAny fine pitch QFPs and not-very-large QFNs are OK for me.Quote from: nctnico on March 24, 2014, 03:15:10 pmHere I must agree, these issues can kill a project.

author: Unixon
author_rank: Frequent Contributor
timestamp: March 26, 2014, 05:54:18 am
content: Quote from: Unixon on March 24, 2014, 07:30:01 amBTW, is it a bad idea? What do you think?