Elan Logo
Search:
Telephone : +44 1489 579 799 email:
sales@elandigitalsystems.com
HOME PRODUCTS BUY ABOUT US SUPPORT DOWNLOADS CUSTOM CONTACT US SITEMAP

Single Board Computers

This FAQ is based on our experience of supporting customers who have bought a PSeries PCMCIA card reader as part of an "Industrial" system which is based on a Single Board Computer (SBD) Platform.  It reflects only our experience and opinions, but we hope that it is useful to other customers considering a single board computer for their requirement.

We strongly recommend that you consider the following points :

Why Do We Recommend These Issues For Consideration?

Consider this: if you are a PCI backplane and SBC manufacturer, would you even try to make it work with another manufacturer's? No! you'd want to make it work with yours so that you could sell more product!  This may sound cynical but in our experience SBC manufacturers make little effort to ensure that their products are mutually compatible.

PCI IRQ Routing

Somewhat surprisingly the PCI bus specificiation does not specify the routing of the PCI interrupts on a motherboard - it is left to the motherboard's designer to choose the physical IRQ routing method to the PCI bus slots (see page 14 of the PCI Local Bus Specification Revision 2.3 (the current spec at time of writing this FAQ) - the 'recommended' method is mentioned really as an example).  This routing method must then be described in the BIOS IRQ routing table.

Given this information, it's likely that the SBC designer will choose an IRQ method that works for him and probably stick to it with the any backplane he designs. The problem is that another designer will very likely choose a different method for routing IRQ's down his backplane and it's unlikely that it'll be the same as the first.  Because of the way that the PCI specification is written both designers are 'correct' but it is very difficult for a user to 'mix and match' parts from different manufacturers as they may use very different IRQ routing methods.

Routing Tables

Another issue is with IRQ routing tables. If they even have an IRQ table at all, SBC's usually only have a table describing the devices built into the SBC board itself. If you think about it, it would be almost impossible for it to describe any of the PCI bus slots on the backplane as it's likely to be different for every configuration of backplane. Unless there was some method for the BIOS to interrogate the backplane and discover the number of PCI slots it contained and the method of IRQ routing, it would be impossible for the BIOS to even construct a valid IRQ routing table "on the fly" at boot up.

Testing

Nowadays it's easy for manufacturers to design and build a motherboard - all they need is a reference design kit from Intel or Via or any other chipset maker and they can go into production. Such a design is likely to work fairly well and can be launched their product without any serious BUS analysis testing under various extreme load conditions. It is likely that the motherboard will work perfectly well with the majority of PCI cards, and any Windows crashes are likely to be attributed to an operating system bug rather than a fundamental problem with the motherboard.

Major volume motherboard manufacturers have a reputation to consider and the resources to carry out lengthy pre-production testing and costly PCI bus analysis to ensure that their products meet the PCI bus specifications.  We recommend that anyone building an SBC asks their motherboard manufacturer whether they have carried out this kind of testing.  A useful check is whether the motherboard you are considering has WHQL qualification; This means the manufacturer has made an effort in testing and qualifying their product for sale. Although it has it's flaws, and many people dislike the fact that it's run by Microsoft, WHQL does mean that a certain level of testing has been done and improves the chance of the system working well for the end customer

PCI to PCI Bridges

Theoretically, PCI-to-PCI bridges should not cause any problems, but in practice everything does not always work as it should.  Firstly, the BIOS needs to enumerate the PCI devices behind it - but many BIOS's do not understand the Type 2 PCI header presented by modern CardBus controllers, so they just abandon enumeration of the CardBus controller.  This means that there may be no resources available behind the PCI bridge at all! Not all Windows operating systems are not able to cope with this situation so on some systems anything on the wrong side of the PCI-to-PCI bridge may not work at all..

In addition to this, even if the resources are allocated through the bridge, PCMCIA devices present a unique problem : with hot insertion PCMCIA cards are presented to the operating system whilst the PC is up and running, so their resource requirements are not known at boot time. If the resource requirements of the card exceed the resources allocated to the PCI bridge, then the system will need to be resource rebalanced to match this requirement; again, Windows operating systems do not support this requirement.

Also, if the backplane contains a PCI bridge, then it will certainly be a positive decode variety, which will not allow any memory or IO transactions through if
they are outside the PCI bridge windows. This means that operating systems like Windows NT4 are not able to use resources that it expects to be available for accessing PCMCIA controllers. The standard pcmcia.sys driver expects to have access to a memory region below the 1meg "DOS" memory limit (usually at 0x000D0000), this is unlikely to be available behind a positive decode PCI bridge. It is possible to install third party PCMCIA card drivers to get round this issue, but it adds to the expense, and complicates the setup issues.

Recommendations

Our customers' experiences with Industrial PCs leave us of the oppinion that anyone needing an industrial PC would do best to walk away from SBC suppliers, buy a "standard" motherboard from a well known motherboard supplier and fit that into their industrial PC box.  No-one would know from the outside but our experience suggests that all of the hardware is more likely to work and that the end product will be more reliable.

Footnote

This FAQ represents the experience that we have gained trying to solve the various support problems that have occurred with SBCs.  Customers who sucessfully build an SBC computer are not likely to contact us, so we have seen the worst side of them.  If you have a sucess story do let us know, as we would prefer to have a balanced view,