打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
如何在ATE中集成对PIC单片机的编程烧写功能

做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              Hex File Selection

GRead functions

                         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            Program Device

                         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              Part Selection. Example: 18F67J50

R              Reporgram

S              SQTP File Selection

U##                  Program calibration memory,where:

                        ## is a hexidecimal number representing

                        the least significant byte of the

                        calibration value to be programmed

V           Power Target from ICD3

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 !!!

最后这个才是对批量烧些真正有用的指令!!

关键字:ATE  PIC单片机  编程  烧写功能 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic486729.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
PIC单片机C语言程序设计(7)
PIC单片机入门必看
网络单片机PIC18F97J60的开发与应用
MIPS架构下PIC32单片机的UART通信 - 21世纪电子
PIC Microcontroller Primer – Tutorial #2
PIC单片机编程软件
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服