加密芯片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;
I2C_Buf[1] = 0x00;
I2C_send_bytes=Tmp_I2C_send_bytes+2;
break;
0x83是命令代码,可自行修改,STM32按照这个命令读取UID。一般STM32发 命令83 00 00 0C,因为有2个状态字 9000表示成功,6A86表示失败,所以一共读取到的是14个字节。
第二,在STM32实现以下程序
//读加密芯片唯一ID号,共12字节,前2个字节是状态字90 00 ,后面的12个字节是ID号,这条命令如果能正确执行,表示加密芯片工作正常,硬件连接正常
printf(“------------------------------------------- rn”);
printf(“Read Chip UID:”);
if(Read_UID(iic_buff) == 0)
{
memcpy(SMEC98SP_UID,iic_buff+2,12);//把加密芯片的UID存起来,下面可以用到
PrintHex(iic_buff,0x0c+2);
}else
{
printf(“error!!!!rn”);
}
如果成功将读到类似以下数据:
90003275170CB1890FDF16557926
注:头2字节9000是状态字,表示成功;3275170CB1890FDF16557926是ID号12个字节,每个芯片不一样。
如果这布操作成功,SMEC98SP的开发工作就完成了一大半了,剩下的都是加密应用层的功能了。
加密芯片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;
I2C_Buf[1] = 0x00;
I2C_send_bytes=Tmp_I2C_send_bytes+2;
break;
0x83是命令代码,可自行修改,STM32按照这个命令读取UID。一般STM32发 命令83 00 00 0C,因为有2个状态字 9000表示成功,6A86表示失败,所以一共读取到的是14个字节。
第二,在STM32实现以下程序
//读加密芯片唯一ID号,共12字节,前2个字节是状态字90 00 ,后面的12个字节是ID号,这条命令如果能正确执行,表示加密芯片工作正常,硬件连接正常
printf(“------------------------------------------- rn”);
printf(“Read Chip UID:”);
if(Read_UID(iic_buff) == 0)
{
memcpy(SMEC98SP_UID,iic_buff+2,12);//把加密芯片的UID存起来,下面可以用到
PrintHex(iic_buff,0x0c+2);
}else
{
printf(“error!!!!rn”);
}
如果成功将读到类似以下数据:
90003275170CB1890FDF16557926
注:头2字节9000是状态字,表示成功;3275170CB1890FDF16557926是ID号12个字节,每个芯片不一样。
如果这布操作成功,SMEC98SP的开发工作就完成了一大半了,剩下的都是加密应用层的功能了。
举报