我正在研究如何将 64 位模具修订字段转换为 32 位 MAC 地址的建议,我可以将其用于无线应用程序以避免冲突。
模具信息是
struct {
uint32_t lot;
uint16_t X_coordinate;
uint16_t Y_coordinate;
}
我不知道坐标的范围,但根据一些样本,我认为坐标限制在 < 256。这有效地减少了 2 个字节的空间。但是这个lot
数字是完全填充的。
我要试试这个(伪代码使它可读,我把演员排除在外)
MAC = X_coordinate | Y_coordinate << 8 | lot << 16;
并扔掉 s 的前 16 位lot
和 s 的前 8 位coordinate
。我觉得也许我应该对lot
某个地方的前 16 位进行异或运算,但我在现实世界中没有这方面的经验。
以下是模具修订信息的示例:little endian byte dump
lot/wafer ID X coordinate Y coordinate
C3 1B B0 46 20 00 22 00
CB 8B 94 46 14 00 32 00
CB 8B 94 46 27 00 1E 00
B9 F7 80 6F 20 00 08 00