1.是否可以使用上电复位?
通常情况下,建议MCU使用一个GPIO连接到加密芯片的RST引脚,当加密芯片状态异常时,MCU可主动对加密芯片进行复位,重新初始化。但有些客户由于MCU接口资源紧张,希望进行上电复位。上电复位电路如图1所示,建议R选取10K,C选取10uF。R、C的参数选取用户也可根据实际情况自行调整。
2. 为什么获取随机数成功,但是调用算法无返回?
很多用户使用T=0协议进行算法调用都会提出该问题,绝大多数是因为没有按照规定的格式进行收发数据。协议要求小于等于5字节的指令要可以一次性发送给加密芯片,大于5字节的指令要先发送前五字节命令头,接收加密芯片返回的1个过程字节后再发送后续数据。获取随机数指令长度是5字节,所以一次性发给加密芯片没问题,但调用算法的指令长度大于5字节,要分布处理。假设指令为8008 0000 09 0102030405060708,MCU处理正确流程如下所示:
MCU发送8008 0000 09
MCU接收过程字节08
MCU发送0102030405060708
MCU接收返回值6108
很多用户并没有按照上述流程处理,而是让MCU一次性将8008 0000 09 0102030405060708发送给加密芯片,造成通信异常。
3. UART帧数据格式是什么
1起始位、8数据位、1偶校验位、2停止位。需要特别注意的是必须要有偶校验位。
4. 为什么加密芯片供电正常,复位引脚时序也正常,但是没有输出复位信息?
UART接口类加密芯片工作时必须要有外部时钟输入,因此不光查看VCC和RST引脚状态,也要判断CLK是否正确输入到加密芯片了。
5. 复位信息长度是多少,是否会变化?
3B 6D开头的复位信息长度是17字节,3B 7D开头的复位信息长度是18字节,芯片的复位信息是固定不变的。