加密芯片SMEC98SP(SE98)自带全球唯一UID号,一共12字节。STM32操作加密芯片一般先读UID号,首先可以确认STM32与加密芯片SMEC98SP的硬件连接和软件接口是OK的,其次是UID可以参与到后面的一些加密算法中去,让每一个加密芯片的数据流都不一样。
首先:在加密芯片SMEC98SP中实现以下程序:
//-----------------------------
//取芯片唯一序列号 CMD = 83 00 00 P3
//-----------------------------
case 0x83:
if(I2C_P3 != 0x0C || I2C_P1 || I2C_P2)
{
I2C_Buf[0] = 0x6A;
I2C_Buf[1] = 0x86;
return;
}
Tmp_I2C_send_bytes=I2C_P3;
GetChipID(&I2C_Buf[2]);
I2C_Buf[0] = 0x90;<