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:
AAAUUUGH! A 'BAUD' IS NOT A 'BIT PER SECOND'!
Thanks, Rich :-)