二.WSF-USBISPV3编程器软件支持
支持软件:AT89LPISP。该软件在VS2010集成开发环境下采用C#语言编写,编程功能齐全,操作简单,运行稳定。软件界面如下图:
三.WSF-USBISPV3编程器支持器件
AT89S51、AT89S52、AT89LS51、AT89LS52、AT89S8253、AT89S2051、AT89S4051、AT89LP51、AT89LP52、AT89LP2052、AT89LP4052、AT89LP213、AT89LP214、AT89LP216、AT89LP428、AT89LP828、AT89LP3240、AT89LP6440、AT89LP51RB2、AT89LP51RC2、AT89LP51IC2、AT89LP51RD2、AT89LP51ED2、AT89LP51ID2。
四.WSF-USBISPV3编程器性能
外形尺寸:70mm×45mm。
输入电压:USB DC5V,500mA过流保护。
输出电压:DC5V 500mA和DC3.3V 800mA 两种软件选择电压。
USB通信波特率:115.2kbit。
SPI时钟频率:230.4KHZ。
编程速度:下载65536字节代码(64K Byte)只需18秒钟。
10P排线长度:200mm—300mm为最佳。
五.WSF-USBISPV3编程器接口定义
WSF-USBISPV3 编程器10P接口定义采用官方接口标准定义,如图:
六.WSF-USBISPV3编程器驱动程序安装
1.安装USB驱动程序
编程器在使用之前应当在PC机上安装FT232RL通信芯片的USB驱动程序,否则不能使用。FT232RL通信芯片的USB驱动程序可以从FT232RL通信芯片生产商FTDI官方网下载。官方网提供两种安装方式:硬件向导安装和应用程序包安装。应用程序包的名称是CDMXXXXX_Setup.exe,其中XXXXX是版本号。使用应用程序安装包来安装驱动程序很简单,需要两次用鼠标左键双击CDMXXXXX_Setup.exe应用程序图标,只需几秒钟即可完成安装。硬件向导安装方式也比较简单,先从官方网下载驱动文件,将解压后的文件统一放入一个文件夹,然后选择PC机的一个USB接口插入WSF-USBISPV3编程器,就会跳出“找到新硬件向导对话框”,在对话框里选择“从列表或指定位置安装(高级)”,点击“下一步”按钮,在对话框里点击“浏览”按键,找到您的驱动文件夹,再点击“下一步”按钮,硬件向导便进入USB驱动程序的安装,安装完成后点击“完成”按钮即可。如果您要更新驱动,请使用硬件向导安装方式。
2.确认端口号
驱动程序安装完成后,将WSF-USBISPV3编程器接入PC机的任意一个USB口上,PC机就能识别编程器了。编程器连接的USB接口在PC机上是以虚拟串口存在的。如果PC机是第一次安装驱动程序,编程器插入后默认的端口号是COM3。查看的端口号的方法是:右键点击桌面“我的电脑”—>管理—>设备管理器—>端口,在列表中就能找到编程器连接的端口了,如:USB Serial Port (COM3)。拔出编程器后,端口号就会在列表里消失。使用AT89LPISP软件编程芯片的时候需要选择正确的通信端口方可正常编程。
七.编程操作
入门操作:
首先:
在PC机上安装AT89LPISP 软件和FT232RL 芯片驱动软件,用10P排线将WSF-USBISPV3编程器和目标板连接好,用USB电缆将WSF-USBISPV3编程器和PC机连接起来。这时PC机自动安装驱动程序,安装完成之后,在“设备管理器”的“端口”上多了一个虚拟串口,这就是编程用到的端口,记住端口号。
然后:
第一步:打开AT89LPISP软件,在“端口”组合框里选择刚才看到的端口号。
第二步:在“芯片”组合框里选择目标板的芯片型号。
第三步:点击一下“读ID/复位”按钮,如果目标板的芯片和连接线没有问题,就可以看到显示正确的ID值(和芯片DATASHEET里列出的ID一致),编程提示栏提示“读ID完成!”如果弹出“编程出错”的对话框,说明目标板的芯片和连接线有问题;如果弹出“编程器没有响应!”的提示,说明端口选择不正确。
第四步:读ID正常的话,就可以进行下一步编程了:加载程序文件(点击“文件”-->“加载程序(FLASH) HEX文件”-->找到hex文件-->打开),程序代码就会加载到缓冲区,然后点击“写入flash”按钮,程序代码就会逐个字节地写入目标板的单片机里。
最后:
程序已经写到单片机里去了,是不是目标板没有反应?原因是还没有配置芯片三态IO口的熔丝位。以AT89LP51XXX为例,先执行“读熔丝配置”,把芯片默认的配置读出来,然后在熔丝配置的0B地址(注意:每种芯片的熔丝地址对应的熔丝功能都不一样)把FF改为00,然后执行“写熔丝配置”,该芯片的IO口就配置为双向IO口了,和普通51单片机的IO口一样。一般普通51单片机的程序(除了涉及内部模块的操作,如串口、定时器等)不用修改任何代码就能直接在LP系列单片机上运行。
熟练操作须知:
(1).写入Flash:这过程自动完成了两个编程操作:先擦除芯片然后再写入Flash程序代码,所以,执行写入Flash编程会导致数据存储区和用户签名区的数据被擦除。应该先执行写入Flash编程,然后再执行写入DATA和写用户签名编程。
(2).擦除:一旦执行擦除编程,芯片的程序存储区、数据存储区和用户签名区(除了最后一页),这些区域里面的数据同时全部擦除!
(3).读出Flash编程:将整个Flash区里的数据全部读出。如果芯片已经加密了读出来的数据全为0xFF。
(4).读ID/复位:把芯片内的Atmel公司的签名读出来,也可以用来复位目标板。
(5).读熔丝配置:将芯片当前的熔丝配置读出来。
(6).写熔丝配置:这是一个比较麻烦的编程操作,切记,不能盲目配置熔丝!写熔丝配置之前,最好抽点时间好好看芯片DATASHEET里的熔丝说明,了解每个熔丝的作用,再来编程,编程的时候一定要慎之又慎,千万千万不要把ISP功能给禁止了,否则你的芯片就作废了!建议操作过程是先执行“读熔丝配置”,把原来的配置读出来,再更改熔丝值,然后执行“写熔丝配置”。大部分芯片熔丝配置写入以后需要给目标板断电再重新上电,新的熔丝配置才生效。记住,芯片加密以后写熔丝配置无效!芯片加密以后如果要改变熔丝配置,只有执行擦除编程或者再次执行写入Flash编程后才能重新配置熔丝(其中某些芯片擦除后还需要断电再上电,才可以重新配置熔丝,如AT89LP428/828)。
(7).加密:这个编程操作很厉害,一定要先执行了写熔丝配置、写入Flash、写入DATA、写签名等编程完成之后,最后再执行加密编程。编程之前也需要先看看芯片DATASHEET里LockBit的编程说明。芯片一旦加密了,读出来的Flash和DATA数据全部为0xFF。而且,除了写入Flash编程,其他的写编程都是无效的。
(8).写入DATA:类似写入Flash编程,但是如果芯片已经加密了,执行写入DATA编程无效。所以,要在执行写入Flash编程之后,在执行加密编程之前执行该编程。
(9).读出DATA:把整个DATA区的数据读出来。如果芯片已经加密了,读出DATA数据全为0xFF。
(10).写用户签名:写签名之前要确保写签名的熔丝位处于使能状态,否则写签名无效。特别注意:用户签名区的最后一页是存放内部RC振荡器的修正数据,芯片出厂时这些数据已经配置好,所以本软件不允许对用户签名区的最后一页编程!所以写签名的时候会发现,软件提示的用户签名空间和芯片DATASHEET里规定的空间大小不一致。在文本框输入你想写入芯片的字符串(用户签名区只允许写入第30号到第126号的常用ASCII字符,没有写入字符的区域保持芯片擦除后的数据0xFF),然后执行写入签名编程就可以了。如果芯片已经加密了,执行写签名编程无效。所以,要在执行写入Flash编程之后执行加密编程之前执行该编程。
(11).读用户签名:直接执行读签名编程就可以了。读出的数据是用户签名区最后一页之前的数据,而且数据也是做了过滤处理,只有第30号到第126号的常用ASCII字符才能显示。
(12).其他编程:太简单了,略。
八.使用注意和问题处理
1.编程器支持热拔插,在连接PC机的USB接口后,三个指示灯常亮1.5秒后,通信指示灯和编程指示灯熄灭。如果连接PC机的USB接口后指示灯不亮或,请反复拔插测试,如果不起作用说明PC机的USB接口损坏或编程器损坏,根据具体情况处理。正常编程时三个指示灯均亮,编程结束通信指示灯和编程指示灯熄灭。
2.编程器正在编程时,如果突然人为中断(如拔出10P排线),编程器就会进入等待信号的死循环,此时需要拔出编程器,然后再次连接,让编程器复位,还要在下载软件上重新选择通讯端口,否则编程时下载软件会报错。
3.正在编程的时候,请不要触碰、移动编程器和目标板,以免连线松动造成通信数据出错。
4.提示编程出错的原因:
这是目标板的硬件问题,包括芯片型号不符、芯片损坏、芯片ISP连接电路错误、ISP电缆未连接目标板、目标板没有供电、芯片ISP功能已被禁止、芯片时钟源为外部时钟但又未提供外部时钟等,视情况处理。
5.提示编程器没有响应原因:
(1).端口选择不正确,请重新选择端口。
(2). 编程器因前次编程中断而进入等待上位机信号的死循环。重新拔插编程器的USB接口,让编程器复位,然后在软件上重新选择端口即可。
6.端口选择正确,但还提示端口不存在或被占用的原因:
USB接口接触不良。重新拔插编程器的USB接口,然后在软件上重新选择端口即可。
7.软件死机原因:
因芯片损坏或人为中断下载,软件进入等待编程器信号的死循环。这种情况下需要在任务管理器结束进程才能退出软件。退出软件后还要重新拔插编程器的USB接口,让编程器复位,才能继续编程。
九.AT89LPISP软件的安装和使用
太简单了,略。
十.单片机编程电路和最小系统电路示例
1.AT89S系列单片机:
AT89S系列单片机均为高电平复位,WSF-USBISPV3编程器的SS引脚悬空不用。下面以AT89S51/52单片机为例,S系列的其他单片机请参照这个电路设计。
2.AT89LP2052/4052单片机:
AT89LP2052/4052系列单片机为高电平复位。芯片具有上电自动复位和掉电自动复位功能,无需外部复位电路。
3.AT89LP213/214/216/428/828/3240/6440单片机:
AT89LP213/214/216/428/828/3240/6440单片机为低电平复位。芯片具有上电自动复位和掉电自动复位功能,无需外部复位电路。下面以AT89LP3240/06440单片机为例,其他单片机请参照这个电路设计。
注意:AT89LP3240/6440芯片,工作电压范围是2.4-3.6V,所以,只能使用3.3V编程电压。
4.AT89LP51/51RB2/51RC2/51IC2/51RD2/51ED2/51ID2单片机:
AT89LP51/51RB2/51RC2/51IC2/51RD2/51ED2/51ID2单片机既可以配置为高电平复位也可以配置为低电平复位,通过POL管脚来设定:当POL接VCC时,为高电平复位;当POL接GND时,为低电平复位。芯片具有上电自动复位和掉电自动复位功能,无需外部复位电路。