找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1491|回复: 0
打印 上一主题 下一主题
收起左侧

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

[复制链接]
跳转到指定楼层
楼主
ID:854399 发表于 2020-12-16 13:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 阳仔666 于 2020-12-18 14:00 编辑

算法移植类加密芯片主要功能是芯片内部嵌入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的通讯异常引起的问题。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表