I read in a Xilinx application note that as data rates became faster became developed source synchronous transfer technique and later came the self-synchronous methods that make use of 8b-10b or some other encoding and the data is extracted from the input data stream.
However, while SPI is very old and not really "high speed" unlike how we communicate with DDR RAMs using source synchronous transfers, it still sends out data with clock. Thus, is it correct to say that SPI is a simple low speed source synchronous data exhange protocol?
Besides this, usually protocol contains data along with information about data like start of packet, end of packet, CRC, source, destination bits e.t.c. However SPI does not contain any of this. Is it still correct to call it protocol?
While serial data transfer being asynchronous, has start bit and end bit thus in my understanding the simple serial transfer e.g used in RS-232 is a protcol but SPI does not posses such information. What am I misunderstanding here?