Hi,
Read your article on How PCI express devices talk and have a technical question on the article.
I hope you could address this since your article was very informative.
Since Memory transaction is the basic method of transferring data, how would an user communicate with a SPI device at the endpoint?
Since a SPI READ command are send to the SPI DAC device consisting of a word format for example as:
Device ADDR, Control byte, Configuration byte and Opcode and address register:
The user cannot use the BASIC PCIE Read Request TLP packet because it doesn’t have a DATA Field to store this information.
If the user wants to send multiple form of this SPI Format this is impossible because no Fields are available in a PCIE READ TLP.
Therefore I use a Write Request TLP because I can store this in multiple data FIELD.
After the SPI returns all its register request value,
I package this data in a COMPLETION TLP and wish to send it back to the PCIE Root HOST.
But in PCIE framework, a Write TLP doesn’t support COMPELTION TLP return.
How would this be handle in a PCIE READ transaction to a SPI device or even a SPI EEPROM ?
Regard,
Tom