xiaoyuzhou1228

UART接口算法移植加密芯片的调试技巧——通讯调试

0
阅读(232) 评论(22)

算法移植类加密芯片是凌科芯安公司的专利产品,主要功能是芯片内部嵌入凌科芯安公司的LKCOS智能操作系统,用户可以把MCU中程序一部分关键算法函数移植到芯片中运行。用户采用标准C语言编写代码,通过KEIL C编译器,编译并下载到智能芯片中。在实际运行中,通过调用函数方式运行智能卡芯片内的程序段,获得运行结果,并以此结果作为用户程序进一步运行的输入数据。因此芯片成了产品的一部分,而算法在芯片内部运算,盗版商无法破解,从根本上杜绝了程序被破解的可能。

算法移植加密芯片的调试包含2个部分:通讯调试和算法调试。本次先针对通讯调试环节常见问题进行解析。

通讯调试常见问题

1、通讯格式设置

一帧数据格式为:1个起始位,8个数据位,1个偶校验位(不可省略),2个停止位,共12位。

2、通讯速率

加密芯片的通讯速率=外部时钟频率/分频系数(默认分频系数是372)。若更改外部时钟频率,则通讯速率改变。我司demo电路使用3.579Mhz外部时钟,故默认通讯速率=3.579M/372,所以采用9600bps通讯。

3、复位问题

加密芯片上电后至少复位一次才能发指令,通讯异常后可先进行复位操作,然后重新进行指令交互。

4、时钟问题

必须提供外部时钟。若通讯不正常,应先检查时钟VPP、频率是否正常,保证复位和进行指令交互时,CLK处于连续正常供给状态。很多客户反馈的通讯失败均是由时钟不起振、起振晚、时钟供给不连续等问题造成。可通过逻辑分析仪和示波器辅助观察。

5、从时序上判断芯片的问题根源

“之前通讯是正常的,现在不行了,怎么回事?”

“我发了指令,加密芯片就是不回复,是不是芯片有问题?”

“我接收到的数据错误,是不是加密芯片运行算法出错了?”

上述引号中的内容均为用户反馈的真实信息。这些问题描述均为表象,若初步分析后仍无法定位,需要从底层时序查起。使用逻辑分析仪或示波器抓取MCU与加密芯片通讯的时序,与MCU收发的数据做比对,以此判断是加密芯片还是MCU的通讯异常引起的问题。


  1. 感谢分享!http://www.doorock.com 提供FAE(IC应用技术支持)共享服务的,有兴趣可以去看看。

  2. 对于我这个技术小白来说,根据这几步说的调试大体明白是什么意思了,要是能在给出一个底层时序的讲解说明就更完美了!


  3. 在国内能达到EAL5+这个安全等级的企业简直是凤毛麟角,可见这个公司技术研发实力的强大


  4. 据说LKCOS安全等级能达到EAL4+、EAL5+

  5. 楼主文章中提到的LKCOS智能操作系统其安全等级???

  6. MARK一下,估计能用上,刚准备调试这个通讯,思路一下子顺了

  7. 真的假的把凌科芯安说的这么牛,该不会是脱儿吧!有待考量啊

  8. 这个公司的加密芯片我们公司也用过,产品用得很不错,服务和售后回访都很到位,不知是否还有别的产品

  9. 通过这篇文章可以看出这个公司的售后技术支持还是很强大的,买产品最看重的就是它的售后,能把问题总结的这么细致,可见凌科芯安这个公司实力的强大

  10. 对我这种技术小白的采购人员就只能请供方技术帮着调试


  11. 想太多,不可以啊,只能保护MCU程序,不能做主控

  12. 看文章介绍此芯片可编程,是否意味着可以当MCU来使用呢?


  13. 外部时钟源可以采用无源晶振或有源晶振,使用MCU的PWM波输出的时钟信号,是可以实现加密芯片稳定工作,前提是PWM输出的时钟频率满足加密芯片工作时时钟要求的范围。

  14. 可用的外部时钟源有哪些呢?MCU的PWM输出可以吗?能不能确保加密芯片稳定工作呢?

  15. @DDDD_   

    1、文章介绍真不错,其它接口有吗? 

    2、算法移植的方案具体什么意思?如何实现,是否意味着芯片可存储程序了?这么牛么?

    3、上电后至少复位一次?如何操作,不是上电复位吗?


    接口很多的像常用的I2C/SPI/USB多有相应的芯片;芯片可以当成一个mcu,能存储并运行程序,也能存储数据;上电复位包含于上电后复位,也可以放弃上电复位,当稳定供电后,按照RST要求时序进行热复位。