We are using a CRC to detect errors in a set of data which is transferred over a bus. The byte-wise CRC of the entire data calculated in the source and proved in the destination. It may happen that the order of data changed during transfer. Is CRC able to detect wrong data sequence?
I personally think that CRC is not able to detect this because it is a XOR based operation, but I cannot find a reference in the literature.
Yes. (Almost always.) A CRC is not like a simple checksum, where the operations on the bytes are commutative. A CRC is based on exclusive-or's and shifts, not just exclusive-ors. Any swap of two adjacent bytes will always be detected by any CRC of 16 bits or more.