Tony Duell wrote:
Hi Tony,
I'm sort of surprised to hear you say that RS232 ports on a PCI card are
OK with you. Maybe it's because I'm primarily a software guy, but for
Well, I'll admit I've never used them, I don't own a machine with a PCI
bus (and electornically, I regard PCI as a right royal kludge!).
But I'd assumed you got somerthing that looked like a 8250 (or a 16550 or
similar) at a particualr base address, and you could just access the I/O
registers as usual. Is that not the case?
some purposes I loathe RS232 ports on PCI cards
almost as much as I do
USB. I think my loathing of both technologies is much the same as
yours, in that in some cases they both make it more difficult for me to
do precisely what I wish to do. Just as one example, I have some legacy
DOS-based software containing its own UART driver. I don't even want to
think about trying to make that work on a PCI card RS232 port.
What is the great problem with doing this?
To be honest, I've never really
looked into it in detail. The PCI bus
interrupt sharing thing always sort of scared me off from going any
further. Maybe it's not as bad as I visualize. Actually, it's probably
worse than I imagine. I do recall that a contractor friend of mine
wrote a Windows driver for a custom PCI card designed by the EE's at a
company I once worked for. His discussion of that effort did not make
me very optimistic either. I'll have to ask him more about it some
time. There is obviously a great deal I don't know about this. I
probably should become more informed before exposing my vast ignorance
any further. :-)
OK, just for grins I Googled "PCI bus I/O address" (without the quotes).
Looks like there is some sort of scheme where BIOS talks to each PCI
card on power up and dynamically assigns the I/O addresses for each card
within the 32-bit PCI I/O address space - whatever/wherever that is.
Must have been invented by the same folks who invented USB enumeration!
I sort of decided I don't need that much of a headache today and
stopped reading after that.
BTW, I don't mean to imply that I
unconditionally loathe these two bits
of technology - just when they get in my way. At other times, I greatly
I hate any technology that gets in my way, or which makes my life harder.
Unfortuantely, it apprars that the old joke 'user friendly == hacker
hostile' is all too tru, and that an awful lot of modern stuff may well
be user friendly in that it's easy to get it to do what the
manfuacturers intend, but it sure isn't easy to get it to do what I want..
Having seen bits of PCI card design, I am glad I design cards for my
classics with ISA, Unibus, DIO-1, etc buses. Those I can understand and
wire up a card for any one of them in a couple of hours...
I feel rather the same
way about the ISA bus. It surely was/is a nice
and easy interface. I suppose I'd have to admit the PCI bus has its
advantages, such as solving the "out of interrupts" problem (I think).
I'm pretty sure it was not designed with the electronics hobbyist in
mind, but then not a lot of things are - the economic impetus is just
not there I'm afraid.
Later,
Charlie C.
-tony