位置:51电子网 » 技术资料 » 通信网络

ISP技术与Internet结合的应用研究

发布时间:2008/5/29 0:00:00 访问次数:397

  在系统编程技术(in-system programming,简称isp技术)是lattice半导体公司首先提出的一种使产品在设计、制造过程中的每个环节,甚至在卖给最终用户以后,具有对其器件、电路板或整个电子系统的逻辑和功能随时进行组态或重组能力的最新技术。isp技术消除了传统技术的某些限制和连接弊病,有利于在板设计、制造与编程。isp硬件灵活且易于软件修改,便于设计开发。由于isp器件可以像任何其他器件一样,在印刷电路板pcb上处理,因此编程isp器件不需要专门编程器和较复杂的流程。在实际应用中,有许多产品需要大批量的生产及现场维护升级,利用嵌入系统开发的isp应用程序可以方便用户进行批量生产和系统升级。本文以对phlilips lpc213x系列mcu进行软件升级为例,研究如何利用isp技术与internet结合,解决从串口进行软件升级的问题。


1 lpc213x flash bootloader介绍
  lpc213x bootloader(启动装载程序)控制复位后的初始化操作,并提供flash isp编程接口。它驻留在flash的上8kb,只能读不能写。由于philips公司并没有提供boot rom内部是如何实现isp功能的,因此必须根据philips公司提供的流程和协议来编写上位机程序。

1.1 通信协议
  
所有的isp命令都由上位机通过串口以单个ascii字符串的形式发送。字符串应当以回车(cr)和/或换行(lf)控制字符作为结束,多余的将被忽略。所有isp的响应都以“<cr><lf>”结束的字符串形式发送。数据以uu编码(将3字节的二进制数据转换成4字节可打印的ascii字符集)的格式发送和接收。发送器发送20个uu编码行之后发进校验和,任何uu编码行的长度都不应超过61字节。接收器将该校验和与接收数据的校验和相比较,若匹配,则接收器响应“0k<cr><lf>”,并等待下一次发送;若不匹配,则接收器响应“resend<cr><lf>”,发送器应当将字节重新发送。

1.2 isp命令
  isp命令处理程序所接受的常用命令如表1所列。

  每个命令有具体的状态代码,只有当接收到的命令执行完毕后,处理程序才通过串口发送cmd_success;这时上位机才能发送新的isp命令,但“设置波特率”、“写ram”、“读存储器”和“运行”命令除外。上位机就是通过串口发送这些相关的isp命令以及程序的uu编码,完成程序的下载。


2 上位机软件实现
2.1 应用程序的网上下载
  
要实现软件自动升级,首先必须将mcu应用程序从网上下载到pc机,然后再利用isp通过串口把程序下载到mcu中。程序的下载可以采用http方式,也可以采用ftp方式。在此是利用:mfc提供的ftp应用程序接口实现程序下载,并把程序保存在指定位置。为避免每次升级程序时,都要从网上下载,引入了计数器计算下载次数;只在第~次升级时,才从网上下载保存。

2.2 isp的实现
  
lpc213x要调用boot rom中的isp应用程序接口,必须进入isp模式。这要求在系统复位时,po.14引脚为低电平。实际应用中可以采用两种方法使系统进入isp模式:一是通过开关控制p0.14引脚为低电平;二是通过串口的控制引脚控制晶体管的导通和截止,从而设置po.14为低电平。第二种方法具有通用性,有些mcu进入isp模式要求的可能是引脚的不同脉冲序列,即必须满足一定的脉冲时序要求(如msp430系列的mcu)。在此采用的是第二种方法:把串口的dtr引脚连接到p0.14,串口的rts引脚连接到lpc213x的复位引脚;通过在系统运行时控制rts引脚发出复位脉冲,dtr的引脚设置为低电平,控制晶体管的导通和截止,使系统强制进入isp模式;进入isp模式后,根据上位机传来的isp命令,调用boot rom固件中相应的子程序自动完成必要的操作。图l描述了lpc2132从复位进入isp模式的流程。

  具体上位机要实现该程序下载,须完成如下工作:
  ①将从网上下载的intel hex格式的应用程序打开,从文件中解析出要下载的程序文件,并把它转换为二进制格式。
  ②向下位机发送同步验证字符“?”(0x3f),供自动确定波特率,并等待响应。自动波特率程序根据自身频率测量接收到的同步字符的位时间,并对串口波特率发生器进行编程;它还向下位机发送一个ascii字符串(synchro-nized<cr><lf>)。作为响应,下位机应发送接收到的ascii字符串(synchrtmized<cr><lf>);上位机通过观察接收到的字符来验证是否同步。如果同步验证没有通过,则上位机重新发送同步验证字符“?”,再一次进行同步验证。通过验证后,向下位机发送“ok<cr><

  在系统编程技术(in-system programming,简称isp技术)是lattice半导体公司首先提出的一种使产品在设计、制造过程中的每个环节,甚至在卖给最终用户以后,具有对其器件、电路板或整个电子系统的逻辑和功能随时进行组态或重组能力的最新技术。isp技术消除了传统技术的某些限制和连接弊病,有利于在板设计、制造与编程。isp硬件灵活且易于软件修改,便于设计开发。由于isp器件可以像任何其他器件一样,在印刷电路板pcb上处理,因此编程isp器件不需要专门编程器和较复杂的流程。在实际应用中,有许多产品需要大批量的生产及现场维护升级,利用嵌入系统开发的isp应用程序可以方便用户进行批量生产和系统升级。本文以对phlilips lpc213x系列mcu进行软件升级为例,研究如何利用isp技术与internet结合,解决从串口进行软件升级的问题。


1 lpc213x flash bootloader介绍
  lpc213x bootloader(启动装载程序)控制复位后的初始化操作,并提供flash isp编程接口。它驻留在flash的上8kb,只能读不能写。由于philips公司并没有提供boot rom内部是如何实现isp功能的,因此必须根据philips公司提供的流程和协议来编写上位机程序。

1.1 通信协议
  
所有的isp命令都由上位机通过串口以单个ascii字符串的形式发送。字符串应当以回车(cr)和/或换行(lf)控制字符作为结束,多余的将被忽略。所有isp的响应都以“<cr><lf>”结束的字符串形式发送。数据以uu编码(将3字节的二进制数据转换成4字节可打印的ascii字符集)的格式发送和接收。发送器发送20个uu编码行之后发进校验和,任何uu编码行的长度都不应超过61字节。接收器将该校验和与接收数据的校验和相比较,若匹配,则接收器响应“0k<cr><lf>”,并等待下一次发送;若不匹配,则接收器响应“resend<cr><lf>”,发送器应当将字节重新发送。

1.2 isp命令
  isp命令处理程序所接受的常用命令如表1所列。

  每个命令有具体的状态代码,只有当接收到的命令执行完毕后,处理程序才通过串口发送cmd_success;这时上位机才能发送新的isp命令,但“设置波特率”、“写ram”、“读存储器”和“运行”命令除外。上位机就是通过串口发送这些相关的isp命令以及程序的uu编码,完成程序的下载。


2 上位机软件实现
2.1 应用程序的网上下载
  
要实现软件自动升级,首先必须将mcu应用程序从网上下载到pc机,然后再利用isp通过串口把程序下载到mcu中。程序的下载可以采用http方式,也可以采用ftp方式。在此是利用:mfc提供的ftp应用程序接口实现程序下载,并把程序保存在指定位置。为避免每次升级程序时,都要从网上下载,引入了计数器计算下载次数;只在第~次升级时,才从网上下载保存。

2.2 isp的实现
  
lpc213x要调用boot rom中的isp应用程序接口,必须进入isp模式。这要求在系统复位时,po.14引脚为低电平。实际应用中可以采用两种方法使系统进入isp模式:一是通过开关控制p0.14引脚为低电平;二是通过串口的控制引脚控制晶体管的导通和截止,从而设置po.14为低电平。第二种方法具有通用性,有些mcu进入isp模式要求的可能是引脚的不同脉冲序列,即必须满足一定的脉冲时序要求(如msp430系列的mcu)。在此采用的是第二种方法:把串口的dtr引脚连接到p0.14,串口的rts引脚连接到lpc213x的复位引脚;通过在系统运行时控制rts引脚发出复位脉冲,dtr的引脚设置为低电平,控制晶体管的导通和截止,使系统强制进入isp模式;进入isp模式后,根据上位机传来的isp命令,调用boot rom固件中相应的子程序自动完成必要的操作。图l描述了lpc2132从复位进入isp模式的流程。

  具体上位机要实现该程序下载,须完成如下工作:
  ①将从网上下载的intel hex格式的应用程序打开,从文件中解析出要下载的程序文件,并把它转换为二进制格式。
  ②向下位机发送同步验证字符“?”(0x3f),供自动确定波特率,并等待响应。自动波特率程序根据自身频率测量接收到的同步字符的位时间,并对串口波特率发生器进行编程;它还向下位机发送一个ascii字符串(synchro-nized<cr><lf>)。作为响应,下位机应发送接收到的ascii字符串(synchrtmized<cr><lf>);上位机通过观察接收到的字符来验证是否同步。如果同步验证没有通过,则上位机重新发送同步验证字符“?”,再一次进行同步验证。通过验证后,向下位机发送“ok<cr><

相关IC型号

热门点击

 

推荐技术资料

耳机的焊接
    整机电路简单,用洞洞板搭线比较方便。EM8621实际采... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!