LSB和MSB的概念

LSBMSB的概念

  • LSB : Least siginificant bit/byte; 最低有效位(字节)
  • MSB : Most siginificant bit/byte: 最高有效位(字节)

FPGA中的应用

体现在移位上,假设shift_reg为一个8位寄存器

  • 如果是LSB优先传输(右移的逻辑):shift_reg <= {shift_reg[6:0], mosi};
  • 如果是MSB优先传输(左移的逻辑):shift_reg <= {mosi, shift_reg[7:1]};

上位机的应用

上位机称为大端((Big-Endian)/小端(Little-Endian),其中小端模式对应LSB,即低字节在前。

低字节在前 是指多字节数据中,最低有效字节(Least Significant Byte, LSB) 存储在低地址(或先传输),而 最高有效字节(Most Significant Byte, MSB) 存储在高地址(或后传输)。

假设一个双字节数据0x1234,对应低字节(LSB)为0x34,高字节(MSB)为0x12,如果采用LSB优先传输的模式,则首先传输的数据是0x34,其次是0x12;反过来,如果是MSB优先传输,则是0x12,然后是0x34

上位机在接收和发送数据时,一定要根据实际数据的传输方式对字节顺序进行重新组合。一般来讲都是小端传输,特别是多字节时要进行相应的调整重组