- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
NXPLPC900系列单片机ISP编程技术总结
NXP LPC900系列单片机ISP编程技术总结
将编译好的用户应用程序下载(编程)到LPC900系列单片机(MCU)内部Flash的方法有三种:
在系统编程ISP(In-System Programming)。
在电路编程ICP(In-Circuit Programming)。
通用或专用编程器编程。
编程器编程是一种传统的并行编程方法,特别适合于DIP封装(如果是表贴的需专用适配器)或量产阶段(批量)的MCU编程,其特点是速度快、可靠性高。其缺点是无法对已焊接的表贴MCU编程,而且成本较高,一台稍好一点的通用编程器至少在千元以上。目前大部分品牌通用编程器(如Xeltek 3000U等)和周立功LPC PRO专用编程器均支持LPC900编程,而且有些编程器借助专用下载线(如Xeltek ISP-Header01、周立功ICP900-ADP)还可完成ICP编程。
ICP和ISP均采用串行编程方法。其中ICP是一种通用标准(规范)编程,硬件连接采用PCL(P0.5)、PDA(P0.4)、RST、VDD和GND 五线制,但要求编程时PCL、PDA、RST和VDD与系统其它电路断开。ICP的加载(启动)是由MCU内部硬件电路完成的,并调用MCU内部IAP(在应用编程,In-Application Programming)实现Flash编程。上位机(PC机)通过专用ICP下载器(如周立功MiniPRO和涛行TX-MiniICP)与目标系统相连,编程软件使用FlashMagic或SmartPRO。
注意:仅老款的LPC932不支持ICP编程,其它LPC900系列的均支持。
关于ICP编程更多的内容可参阅周立功公司的“LPC900系列单片机ICP解决方案”和“LPC900 在电路编程(ICP)规范”。
与ICP不同,ISP是一种通用非标准串行在线编程,尽管不同IC厂家内部实现ISP编程技术(算法)不同,但外部硬件连接均采用串口(或USB转串口)的RXD、TXD。根据ISP的加载启动(Bootloader)方式不同(LPC900的ISP加载机制可参阅NXP的AN10221-“In-System Programming with the P89LPC932”图2),LPC900的ISP编程方法又可分为三种:
RST 3脉冲法。
帧间隔法。
直接跳入法。
“3脉冲法”有点类似ICP,硬件连接也是采用5线制:RXD、TXD、DTR、RTS和GND,其中DTR控制MCU的VDD,RTS控制RST,且要求ISP编程时MCU的VDD和RST应与系统其它I电路断开,具体电路可参阅周立功的“LPC900系列单片机ICP及ISP使用指南”图1.16。该方法的ISP加载是在MCU加电复位后有内部硬件完成的,因此适用于刚出厂的全新空片编程和已下载运行应用程序的升级编程。就是因编程时要断开VDD和RST板上连接比较麻烦。
“帧间隔法”硬件连接只需RXD、TXD和GND,简称“3线制”,“3线制”是目前大多数IC厂家ISP编程采用的连接方式,如STC51单片机等。简单方便,成本低(仅需20元左右的RS232转TTL电路或用户自己用1片MAX232即可)。其原理是MCU检测到RXD上帧间隔码(连续的低电平,即串口“Break”脉冲)就进入ISP模式。虽然这种检测是由MCU硬件完成的,但应用程序一开始必须对串口进行初始化,其C代码参见上述“使用指南”程序清单1.2。由此可见,原则上“帧间隔法”只适合于应用程序的升级编程。不过,对于刚出厂的全新空片,由于其“引导状态位”=1,加电复位后就自动进入ISP模式,因此上述三种方法都适用的。
“直接跳入法”就是应用程序判断某个开关,如接通(为0),则进入ISP模式,否则状态不变运行用户程序。显然该方法也必须在应用程序中嵌入“开关判断”代码(参见上述“使用指南”程序清单1.4)。一般都用于应用程序的升级编程。
ISP编程的上位机程序可使用FlashMagic或ZlgISP900,其中ZlgISP900上述三种方法都可以,但不支持ICP编程。而FlashMagic支持方法(1)和(2)以及ICP编程,对于“3脉冲法”,编程前必须将其“Advanced Option”中“Hardware Config”的“Use DTR and RTS to enter ISP”勾选上,而“帧间隔法”则不能勾选,此外,除非MCU是全新空片或者确定其引导状态位(Status Bit)为1,否则进行ISP编程之前必须通过ISP菜单中“Start Bootloader”的“Send Break Condition”发送“3脉冲”或“帧间隔”才能使MCU进入ISP模式,而且要求:“Interface”选“None(ISP)”;“Baud Rate”选“7200
文档评论(0)