工控网首页
>

应用设计

>

UART接口算法移植加密芯片调试技巧

UART接口算法移植加密芯片调试技巧

2018/6/26 11:26:24

算法移植类加密芯片是凌科芯安公司的专利产品,主要功能是芯片内部嵌入凌科芯安公司的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的通讯异常引起的问题。

审核编辑(
王静
)
投诉建议

提交

查看更多评论
其他资讯

查看更多

UART算法移植加密芯片的调试之算法调试

AES算法特点简述