PIC单片机之ICSP
约13V的电压。鉴于一般设计时,会将该脚连接一5V电源电路,所以就需要注意确保,烧写的13V电压不会倒灌回5V电源电路造成损坏。而且,根据Programming Specification,烧写时VDD和VPP加电压的时序是需要保证的,所以在VPP上不要有太大的电容负载,避免造成电压上升时间过慢从而影响到烧写。另一方面,烧写器会供给芯片5V的电源,所以一般不需要自己外供电。但是一般的编程器供电能力有限,据称也就是几个mA的级别。就算PROMATE II这类自带专门ICSP口的工业级烧写器,其输出电流也不过几十个mA而已。所以,如果你的板子工作电流较大,那就需要自己供电,或者将芯片的供电电路设计成可隔离的,烧写时断开芯片的VDD和外部电源的连接,烧写器的供电仅供给芯片即可。然后,作为ICSP数据的通路,RB6和RB7在烧写时,最好也和外部电路隔离开,就是要保证其上传输的时钟和数据不被外部电路干扰而造成失真。而且,还有一点就是,使用时要保证,你的ICSP连接线和芯片是直接连接的,其间尤其不能有二极管等单向通路元件,否则会造成芯片认不出等异常现象。
另一方面,烧写器的连接的话,专业级的烧写器会提供ICSP接口,应该就是一个5芯的排线,可以接出插到目标板上。如果没有这种昂贵的专业烧写器,只有简单的烧写器的话,可以考虑自制一个转换线,就是一端为28或者40的双排针接头(比如一个28pin或者40pin的芯片座就是一个很好的选择),然后将这些针中对应的脚接出来,做成一个5芯排线使用。这类转接线尤其需要注意的是:第一,使用时插在烧写器上的双排针接头不要插反。。插反的话,肯定没有效果。。。第二就是,由于负载能力有限,建议线长不要超过20cm。
关于ICSP线的自制,我过段时间可能要做几个试验,因为公司的烧写器是PICSTART,而准备使用贴片的PIC,所以ICSP是必要的。所以转换线是必要的。。。如果成功实现我尽量把制作方法和注意事项写出来。呵呵
其实,ICSP给人的感觉好像就是一个集成的BOOTLOADER一样。只是ICSP在正常使用时并不需要,而不像BOOTLOADER那样正常使用时还需要把外部代码载入内存。。。而且ICSP对加密还是有一点好处的。不过感觉好像还是有点脆弱。。呵呵。。但是越新的芯片,其ICSP模块应该越安全。各位选型时也不妨注意一下。
最后顺便说一句,如果真的觉得ICSP很脆弱,可能非物理就能破解的话,那么我们可以使用一个狠招:ICSP的灵魂在于RB6和RB7,那么程序设计时,在程序中不要使用这两个脚。然后烧写完成后,对这两脚使用加大电流等方法直接使内部电路报废,就是把这两个脚直接烧掉。那么,恭喜你,你的芯片的FLASHROM使用软件法应该再也不能访问了,包括你自己再想烧也烧不了了。这个芯片目前就是一块外界不可访问,只能自己工作的芯片了~呵呵……
PIC单片机ICS 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)