pic pic16c74b 软启动器单片机能不能多次擦写

1188人阅读
见过很多初学者对PIC16系列单片机的ID码的读和写犯迷糊。说实话,这方面的资料也不怎么全。有些教材可能会涉及ID区域的介绍,可是往往是一代而过。这对初学者来说是比较容易犯错的地方。今天有空,对相关的问题作了一些整理,分享给大家。可能有些地方说的不够妥当,欢迎大家多多探讨。
&&&&&&& 1.什么是ID区域?
ID区域是独立于EEPROM,FLASH,RAM的区域。程序设计人员可以利用该区域存放软件的版本号,编写日期,烧录日期,产品标识等信息。不过该区域很小PIC16系列只能存放4个字节。
&&&&&& 2.ID码怎么烧录到ID区域里面去?
可以利用PICC自带的宏命令IDLOC(X)来实现。具体操作如下:
.....................................//头文件& 其它宏定义
__IDLOC(76F4);&&&&&&& &//注意:前面是两个下划线。括号里面最多可以有2个字节
void main()
...................................//程序主体
编译以后再用烧录工具烧到单片机中即可。这里要提醒一下,IDLOC(X)里面最多有2个字节的16进制数,超过部分会无效。比如你写个987FE3,E3会丢掉。另外得说一下这两个16进制数在ID区域是怎么放的。我们已经知道IDLOC(X)里面能又个字节,而ID区域能放4个字节。以X=76F4为例,它们是这样放的07060F04。也就是说,在每个16进制数前加1个0。如果你写的不是2个字节的16进制数,比如是1个字节的78。编译器会在前面补0,那就成了0078。写到ID区域的就是
3.ID码怎么读出来?
可以通过烧录工具跟编译器配合读出来。我用的是PICC跟ICD2。连好线,单片机上电以后,在编程模式下,通过执行Read Target Device操作,然后在Configure菜单下的Id memory
选项可以看到刚才编程的时候设置的ID码。
其实,多数PIC都没有唯一ID,有人通过烧断PIC读出总线来实现加密,但设备需要自制。
只要是市场上大量销售的芯片,解密都不是什么麻烦事,只能尽量用新型号或者生僻的型号。
有人用MCU内部的EEPROM这么搞过,但不是这么简单的这么搞,对于大批量生产来说,还需要一些技巧才能比较好的处理这个问题。
1、设置一个自检程序,通过特殊操作(我有一个自制工装,可以把MCU的各个相关IO强行固定在某个逻辑电平上,软件判断逻辑组合,必须符合一个特定组合才能进入特殊操作启动代码,UART接受工装的通信数据,通信数据传入EEPROM要被擦写的次数和位置等)。
2、进入自检后,MCU疯狂的擦写EEPROM中设定的某个位置(适当提高一点VCC电压以加快失效),最多擦写200万次后停止操作,一般MCU自带的EEPROM擦写次数都不到100万次,EEPROM某个字节在0XAA和0X55之间不断的被循环擦写。
3、这个擦写的时间还是比较长的,一般要数十分钟以上,我一般放在产品通电老化阶段进行这个自检程序(产品一般要在老化房4~6个小时候通电老化时间,自检程序兼容这个时间执行,避免产生新的工时损失)
4、擦写过程中在RAM中记录EEPROM该字节失效时的操作次数,并存入到EEPROM其他字节中。
5、产品正常销售中,执行APP用户程序,继续不断的擦写那个失效字节,如果不能擦写,则说明加密成功,否则有另一个纠错程序就不讲了,各位可以自行想办法。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:80785次
积分:1155
积分:1155
排名:千里之外
原创:31篇
转载:19篇
评论:12条
(1)(3)(1)(1)(1)(1)(3)(2)(2)(1)(3)(4)(9)(2)(1)(16)403 Forbidden
403 Forbidden21ic官方微信-->
后使用快捷导航没有帐号?
查看: 1547|回复: 7
PIC16F57可否替代PIC16C57?
&&已结帖(10)
主题帖子积分
初级技术员, 积分 57, 距离下一级还需 43 积分
初级技术员, 积分 57, 距离下一级还需 43 积分
主题帖子积分
专家等级:结帖率:33%
主题帖子积分
初级技术员, 积分 57, 距离下一级还需 43 积分
初级技术员, 积分 57, 距离下一级还需 43 积分
我问一下各位大哥,PIC16C57可否用PIC16F57替代。还有PIC16F57的数据稳定性好吗? 因为原来的PIC16C57是OTP的,所以想换掉它!请各位大侠指教......非常感谢!
满意回复+5
PIC16F57抗干扰性能等差多了,没有感性负载或抗干扰要求不高能将就着用!
功能上可以,性能上不可以
正常生产有什么不方便的?开发可以用F57呀,代码都OK后用C57
主题帖子积分
主题帖子积分
专家等级:结帖率:59%
主题帖子积分
功能上可以,性能上不可以
一:我的回帖多数只是猜测/估计/想象,建立在我现有知识结构的理解和分析上,多数都没有动手实际检验过,请斟酌采纳.
二:若对我的技术类主帖或回帖有异议,欢迎讨论,拒绝过激攻击或辱骂,否则全站追杀屏蔽发帖,后果自负.
三:对本人的其它意见,请直接向站长投诉,勿使用站内短信骚扰/挑衅/辱骂,否则将全站追杀屏蔽发帖,后果自负.
主题帖子积分
初级技术员, 积分 57, 距离下一级还需 43 积分
初级技术员, 积分 57, 距离下一级还需 43 积分
主题帖子积分
专家等级:结帖率:33%
主题帖子积分
初级技术员, 积分 57, 距离下一级还需 43 积分
初级技术员, 积分 57, 距离下一级还需 43 积分
是指哪方面上的性能?是不是里面的数据容易丢失?
主题帖子积分
初级技术员, 积分 57, 距离下一级还需 43 积分
初级技术员, 积分 57, 距离下一级还需 43 积分
主题帖子积分
专家等级:结帖率:33%
主题帖子积分
初级技术员, 积分 57, 距离下一级还需 43 积分
初级技术员, 积分 57, 距离下一级还需 43 积分
我烧录以后,里面的checksum是正常的,然后安装到板子上运行程序暂时也没问题,我就怕可烧录的芯片是不是数据的稳定性比较差,因为PIC16F57这颗芯片之前我也没用过。
主题帖子积分
助理工程师, 积分 1334, 距离下一级还需 666 积分
助理工程师, 积分 1334, 距离下一级还需 666 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
助理工程师, 积分 1334, 距离下一级还需 666 积分
助理工程师, 积分 1334, 距离下一级还需 666 积分
zxwei2002 发表于
我烧录以后,里面的checksum是正常的,然后安装到板子上运行程序暂时也没问题,我就怕可烧录的芯片是不是数 ...
PIC16F57抗干扰性能等差多了,没有感性负载或抗干扰要求不高能将就着用!
专业: PIC单片机软硬件开发
● 学习最终是为应用,让我们架起桥梁,让您走入应用单片机之门,走向成功!
主题帖子积分
初级技术员, 积分 57, 距离下一级还需 43 积分
初级技术员, 积分 57, 距离下一级还需 43 积分
主题帖子积分
专家等级:结帖率:33%
主题帖子积分
初级技术员, 积分 57, 距离下一级还需 43 积分
初级技术员, 积分 57, 距离下一级还需 43 积分
问题是PIC16C57只能烧录一次,不可擦除。所以用起来不方便。
主题帖子积分
主题帖子积分
专家等级:结帖率:86%
主题帖子积分
zxwei2002 发表于
问题是PIC16C57只能烧录一次,不可擦除。所以用起来不方便。
正常生产有什么不方便的?开发可以用F57呀,代码都OK后用C57
主题帖子积分
初级技术员, 积分 57, 距离下一级还需 43 积分
初级技术员, 积分 57, 距离下一级还需 43 积分
主题帖子积分
专家等级:结帖率:33%
主题帖子积分
初级技术员, 积分 57, 距离下一级还需 43 积分
初级技术员, 积分 57, 距离下一级还需 43 积分
我想问一下,PIC16F57主要是怕哪方面的干扰?switch电源的频率?还是电磁方面的?还有干扰的结果会导致什么不良症状?
技术新星奖章
人才类勋章
终身成就奖章
等级类勋章
坚毅之洋流
发帖类勋章
时间类勋章
技术领袖奖章
人才类勋章
欢快之小溪
发帖类勋章
时间类勋章
技术导师奖章
人才类勋章
社区建设奖章
等级类勋章
核心会员奖章
等级类勋章
奔腾之江水
发帖类勋章
时间类勋章
热门推荐 /2

我要回帖

更多关于 pic16c54 的文章

 

随机推荐