做ATE,要对DUT内部的PIC单片机进行在线烧写,
在网上看到别人的一个说法(作者 Claud Zhang),内容如下:
---------------------------------------------------------
一种简单高效低成本的Microchip MCU编程方法
Claud Zhang
对于一些研发工程师来说,工厂的的MCU编程有时候是个比较头疼的问题.在研发过程中,大家都和习惯于用仿真器去编程,这个对工程师来说是个非常简单的过程,但是在工厂生产,工厂认为太复杂了。工厂希望是个傻瓜式的过程。最好的方法是通过ATE自动编程,不需人工参与。
在以往的通常有2种方法,
一种是用PM3,先编程好,再去SMT, 这种方法对量非常大又不在意成本的话也不失为一种方法,当然这种编程的缺点也很多
1、首先成本高,PM3, 插座都是一笔不小的开销
2、失效率会比较高,在上SMT 之前就需要拆封,容易产生管脚损伤,ESD, 造成废料
3、如果你在此基础上做一个完全自动化的话,相信先期投入的成本是相当惊人地。
4、如果你不做自动化设备的话,那么你需要投入更多的人工
5、不能在线更新
另外一种是在线烧录
Microchip的IC 烧录只需要5个pin, 其中是有2个是电源和地,在PCB 上只占用很小的空间。 或者你做几个焊盘,直接用探针接触。
在线烧录的优点:
1、容易在线更新
2、避免二次操作管脚
3、任何器件都可以通过这5个PIN编程
缺点:
需要人工操作烧录过程,要通过MPLAB 的IDE 界面进行操作。
人工操作的缺点
1、非常容易出错。
2、占用一个工位人工,增加成本
3、工厂工人流动比较大,工位经常变动,更容易出错,增加成本。
解决方法:
在MPLAB 中已经增加了命令行方式实现烧录,也就是说只要用文本写个简单的命令行或者批处理,用你的PK3或者ICD3 连接好你的芯片, 直接点击或者在ATE中调用批处理,就完成烧录。
过程如下:
1、安装MPLAB IDE(我用的是V8.85版本)
2、插入PK3 或者ICD3 , 找到驱动
3、这里先以ICD3 为例
在目录 ..MicrochipMPLAB IDEProgrammer UtilitiesICD3 找到ICD3CMD.exe
把着个文件copy 到你任意指定的一个目录。
假设就在C: ICD3CMD.exe
4、和ICD3CMD.exe同一个目录下 新建一个文本
假设你用的器件是 DSPIC33EP64MC506, 烧录文件是claud.hex 这个文件也在假设的C盘根目录下,也可以是任意路径,注意不要用中文路径。
文本文件中写入
ICD3CMD -P33EP64MC506 -FC:claud.Hex -M -V3.3
注意蓝色部分写法,不要DSPIC
如果是PIC16F1516 就写成
ICD3CMD –P16F1516 -FC:claud.Hex -M -V3.3
注意蓝色部分写法,不要PIC
选项V3.3 是指ICD3 直接给芯片供电3.3V. 如果板上所需电流过大,请外加电源。
5、把这个文本另存为 ICD3PROMCU.bat, 同样保存在和你的 ICD3CMD.EXE 一个目录下
6、如果你使用的是PK3, 在。。MicrochipMPLAB IDEProgrammer UtilitiesPICkit3 目录中找到 PK3CMD.exe ,把上面的ICD3CMD替换成PK3CMD.
7、双击ICD3PROMCU.bat
8、如果你在command 窗口里看到如下画面, 恭喜你, 成功了
9、在工厂里要做的只是双击一下或者集成到ATE中直接调用。
10、谢谢你仔细读完。
--------------------------------------------------------------------------
实际操作中,查询该DOS Console命令就可以发现其大体功能有哪些(估计还有一部分隐藏参数MCHP官方未公开,因为对比MPLAB的操作细节可以看出来):
E:PROG>icd3cmd /?
Options Description
---------------------------------------------------------------------------
B Batch Mode Operation
C Blank Check Device
E Erase Flash Device
PKOB To connect PKOB
F G region: E = EEPROM I = ID memory C = Configuration memory B = Boot Flash Memory If no region is entered, the entire device will be read. Type F: = read into hex file, Path = full file path, H Hold In Reset L Release from Reset I Use High Voltage MCLR M region: P = Program memory E = EEPROM I = ID memory C = Configuration memory B = Boot Flash Memory If no region is entered, the entire device will be programmed. N####,#### Program Memory Range #### is a hexidecimal number representing Start and End Address in sequence P R S U## Program calibration memory,where: ## is a hexidecimal number representing the least significant byte of the calibration value to be programmed V Y Verify Device against selected HEX File ? Help Screen ?E Displays Exit Code Example: ICD3CMD /P18F67J50 /GFc:HexCode.hex or Example: ICD3CMD -P18F67J50 -GFc:HexCode.hex Version 01.00.14 Copyright (C) Microchip Technology Inc. 2009 E:PROG> //-----------------------------------再看看MPLAB开发IDE中的连接ICD3过程: MPLAB ICD 3 detected Connecting to MPLAB ICD 3... Firmware Suite Version...... 01.28.90 Firmware type......................Enhanced Midrange MPLAB ICD 3 Connected. Target Detected Device ID Revision = 00000004 Programming... Programming/Verify complete //-----------------------------------其实这个icd3cmd命令自带支持连续操作模式,叫Batch Mode,试验如下: E:PROG>icd3cmd -P16F1903 -FC:usr111.hex -M -B Connecting... MPLAB ICD 3 detected Connecting to MPLAB ICD 3... Firmware Suite Version...... 01.28.90 Firmware type......................Enhanced Midrange MPLAB ICD 3 Connected. Target Detected Device ID Revision = 00000004 Programming Device ... Programming/Verify complete Batch Mode Count : 1 Batch Mode: Press Enter to repeat the same operation !!! Programming Device ... Programming/Verify complete Batch Mode Count : 2 Batch Mode: Press Enter to repeat the same operation !!! 最后这个才是对批量烧些真正有用的指令!!
上一篇:PIC单片机型号命名规则
下一篇:关于PIC单片机SLEEP指令
推荐阅读最新更新时间:2024-11-12 17:42
设计资源 培训 开发板 精华推荐
- 使用 SiGe 晶体管 BFP640F 减少 1.4 - 2GHz 的 LNA 部件数量
- 使用 Diodes Incorporated 的 PT8A 3515C 的参考设计
- 具有集成肖特基二极管和单线数字接口的 FAN5341 系列升压 LED 驱动器的典型应用
- STM32F446RCT6最小系统板
- MIC2549A-2YTS 可编程限流高端开关的典型应用
- AM1G-0512SH30Z 12V 1 瓦 DC-DC 转换器的典型应用
- 适用于工业应用的 C8051F526 MCU 的 C8051F52x-53x-DK、8051 开发系统
- 基于BlueNRG-1的蓝牙通信板
- MT9F002I12STCVH-GEVB:14 MP Sunex DSL945D 1/2.3" iLCC CIS HB
- AM2G-1203DH30Z ±3.3V 2 瓦 DC-DC 转换器的典型应用