[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


I am trying to figure out the right thing to do with the
BUSMODE signals on the PMC card I'm designing.

The CMC specification IEEE P1386/Draft 2.0 section 6.4
discusses the BUSMODE signals.

I think it works like this:

The Host drives one or more codes on to the BUSMODE[4:2]
signals and reads back the BUSMODE[1] signal from each slot.
Currently 2 modes are supported PCI (PMC) (mode 1) and SBUS
(SMC) (mode 2), as well as "card present" (mode 0). The Host
then enables its bus for the mode supported by the host and
all CMC cards. Presumably this is done only once, before any
bus activity occurs, after which the BUSMODE signals do not

Since the host bus includes RST* does this mean this signal
may not be driven on power up or while the host is
exercising the BUSMODE signals? It could be, because the
reset pin is the same for PMC and SMC. If not, then should
the card RST* be generated by ((BUSMODE[4:2] not equal
[LLH]) or RST*)?

How about CLK? It should always be driven because the
minimum time for a CMC card to respond is specified as "10
bus clock cycles". But as part of the host bus it should not
be driven until the probing is done.

I am wondering about section 6.4.2: "If a selected mode is
not supported by a CMC card then it shall disconnect itself
from the bus, i.e. not drive any bus signals, and deassert
the BUSMODE# signal." and section 6.4.4: "The CMC card shall
inhibit its bus interface at all times except when a
supported BUSMODE[4:2] mode is presented to it".

It doesn't seem like I need to do anything about this. While
the host exercises the BUSMODE signals the bus is not driven
by the host. If the bus is not driven my card will not
respond. The host is not going to switch modes or operate in
a non-PMC mode because section 6.4.1 3) "Once the host has
determined which modes the CMC cards can support, it sets
the mode of operation to that which _all_ the cards are
capable of supporting." (emphasis on _all_ is mine). As long
as my card reports it can only operate in a PMC mode the
host can not put the bus in another mode.

So all my PMC card should do is drive BUSMODE1 low (active)
when it sees BUSMODE[4:3] low (card present, PCI protocol).

Am I missing anything?

The host is allowed to fix the BUSMODE signals. Are any CMC
host designers doing anything else? Is anyone supporting SMC
at all?

Any opinions and / or information appreciated.


standard disclaimer:
I speak for myself and my views may not be the same as my employer's.
Ivor Bowden
Peritek Corp
phone: (510) 531-6500
FAX: (510) 530-8563
email: ivor@peritek.com