R
Rich Grise
Guest
OK, I guess it's almost OT for the crew, but, well, I was looking for a
firm spec on Motorola's SPI bus. I've got a design going where I have to
build one out of flip-flops and gates (Well, Xilinx does have shift
register macros), but everybody who makes chips that use the SPI, has
their own spec, it seems.
So, I was going to ask, "Is there a definitive spec on SPI?" It's
quite clear that the two (or more yada yada) devices have to have
already agreed on a protocol. The thing is, I've been tasked to come
up with the logic (that could be implemented in an FPGA or CPLD) that
"does" an SPI. I think I'll either have a 24-bit register because one
of the things that needs to be driven is a bank of 24 relays, or
a 48-bit register because one of the things that needs to be driven
is a DDS that takes a 32-bit command word.
The point is, I haven't yet found a "SPI thingie" macro in Xilinx's
schematics library - should I check their VHDL and Verilog libraries
for such a thing?
Failing that, is there a definitive spec that tells me how many
nanoseconds are required as to the leading/trailing edges of CE,
clk, etc, and are there any constraints as to the data frame?
Oh, yeah, back to the topic: In my searches, this page came up:
http://www.epanorama.net/links/serialbus.html
and if you scroll down to "SPI", in the third line of the first
paragraph, the guy says:
"...low/medium bandwidth (1 megabaud) network connection..."
AAAUUUGH! A 'BAUD' IS NOT A 'BIT PER SECOND'!
Thanks,
Rich

firm spec on Motorola's SPI bus. I've got a design going where I have to
build one out of flip-flops and gates (Well, Xilinx does have shift
register macros), but everybody who makes chips that use the SPI, has
their own spec, it seems.
So, I was going to ask, "Is there a definitive spec on SPI?" It's
quite clear that the two (or more yada yada) devices have to have
already agreed on a protocol. The thing is, I've been tasked to come
up with the logic (that could be implemented in an FPGA or CPLD) that
"does" an SPI. I think I'll either have a 24-bit register because one
of the things that needs to be driven is a bank of 24 relays, or
a 48-bit register because one of the things that needs to be driven
is a DDS that takes a 32-bit command word.
The point is, I haven't yet found a "SPI thingie" macro in Xilinx's
schematics library - should I check their VHDL and Verilog libraries
for such a thing?
Failing that, is there a definitive spec that tells me how many
nanoseconds are required as to the leading/trailing edges of CE,
clk, etc, and are there any constraints as to the data frame?
Oh, yeah, back to the topic: In my searches, this page came up:
http://www.epanorama.net/links/serialbus.html
and if you scroll down to "SPI", in the third line of the first
paragraph, the guy says:
"...low/medium bandwidth (1 megabaud) network connection..."
AAAUUUGH! A 'BAUD' IS NOT A 'BIT PER SECOND'!
Thanks,
Rich