打印
[ZLG-MCU]

LPC936使用三个脉冲进入ISP的问题

[复制链接]
2848|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xiaoxin1986|  楼主 | 2009-8-24 15:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
linhai1986| | 2009-8-24 15:28 | 只看该作者
3.3V的理论上可以,钳位作用;DB9是指母头

使用特权

评论回复
板凳
xiaoxin1986|  楼主 | 2009-8-24 15:41 | 只看该作者
母头的2、3、5分别对应PC机背面公头的3、2、5

那4和7对应公头的哪两个脚呢?谢谢

使用特权

评论回复
地板
linhai1986| | 2009-8-24 15:45 | 只看该作者
母头的2、3、5分别对应PC机背面公头的3、2、5??这样的话公头和母头就不能对接上了。只要将二者的对应引脚连接就可以了。

使用特权

评论回复
5
xiaoxin1986|  楼主 | 2009-8-24 15:50 | 只看该作者
我的意思是这样:

PC的串口是公头的,如果电路中所示的DB9是母头,那么我们就需要一根双母头的延长线。

这两个母头应该是2、3、5对3、2、5的接法(我认为正规的DB9应该是:公头第3脚=母头第2脚=Tx,

公头第2脚=母头第3脚=Rx)。

如果直接将二者的对应引脚连接,那么电路中的DB9是公头还是母头都一样的了,为什么你说是指

母头呢?

我的疑问是:图中的2、3、4、5、7是不是分别对应PC串口的2、3、4、5、7?我打的板子上使用这样的接法

始终不能用三个脉冲进入ISP,不知道是不是稳压管的问题

使用特权

评论回复
6
linhai1986| | 2009-8-25 10:04 | 只看该作者
串口线只有两种,一种叫延长线(直连线)(公对母),一种叫交叉线(两头一样的)。

在这里应该用延长线。

关于线的连法,很简单,把上面的串口图看成是电脑主机后面的串口就可以了。

上面的4148是对对串口的负电压时行钳位用。

至于用ISP,可以参考下面的信息。

使用特权

评论回复
7
linhai1986| | 2009-8-25 10:04 | 只看该作者
【LPC900 ISP使用方法】
对LPC900系列单片机烧写程序的办法有很多,如ISP,IAP,ICP,并行编程器。

如果ISP想用得爽的话,需要了解较多的相关原理才能用得得心应手,在这里对于初次使用者,建议用ICP或者商用编程器方式烧写程序。

ICP,即在电路编程,由上机位软件MiniICP for LPC900 + 专用ICP下载器(需要购买) + LPC900单片机的ICP接口(VDD、VSS、P04、P05、P15)+ 单片机芯片构成编程系统。
特点:适用于研发,它无需把单片机从用户的电路板上取下来,只要预留上述的五根线即可实现程序的更新。
注意事项一:烧写程序时外部无需给单片机供电,因为专用ICP下载器的VDD、VSS已经和单片机相连。
注意事项二:烧写程序时P04、P05、P15引脚上不能接有小电容,否则会影响专用ICP下载器产生的时序,从而引起【通信出错】的提示。

商用编程器,即通用编程器,由上机位软件 + 编程器 + 单片机芯片构成编程系统。
特点:合适用于量产,把单片机直接放到编程器的适配座上进行程序的烧写。

ISP预备知识:
刚购买的芯片配置字是0x63,0x00,0x1F,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00。
0x63 -- UCFG1 :WDT禁止,外部复位,掉电检测使能,WDSE禁止,内部RC;
0x00 -- UCFG2 :(不常用,不必关心这个配置字);
0x1F -- 引导向量,这个配置相当重要,ISP代码所在地址的高位;
0x01 -- 引导状态字,在这里表明引导向量使能;
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 -- 加密位,在这里表明芯片不加密(因为单片机意外跑飞的话有可能通过IAP来修改内部程序,加密则可以防止这种情况)。
这些配置字可以从编程器软件的文件缓冲区的地址FF00H这个地方看到。
因为已经使能了引导状态字,所以给单片机上电芯片自动就进入了ISP状态(直接转跳就是基于这个原理),可以进行程序的烧写。对于初次使LPC900单片机的用户,通常会反映单片机重新上电后不跑用户程序,由这里我们明白,如果要跑用户程序的话,要去掉引导状态字(即把STATUS BYTE修改成00H)。
但是这就存在一个问题,下次上电后单片机是在跑用户的程序了,那么,我怎样再次进入ISP状态呢?在这里,有两种办法激活ISP。一是三个脉冲,二是使用帧间隔。

ISP(LPC920以上才支持这种方式),常用的有两种方式,三个脉冲和帧间隔。
首先,它们对应的硬件电路是不一样的。硬件推荐用三个脉冲方式,软件推荐用Zlgisp_900,网址为http://www.zlgmcu.com/download/downs.asp?ID=1438
(把这个软件安装后,到安装目录找这个文件:LPC900_ISP_ICP.pdf,该文档对硬件电路怎样做,和烧写方法有仔细说明)。

关于三个脉冲ISP下载:
1在芯片工作的过程中任何时刻都可以用三个脉冲的办法进入ISP
2使用了串口的五根线,硬件电路相对于经典的MAX232电路略有差别
3对应的上机位软件有两个,Zlgisp_900或者ZLGISP(即Philips ISP下载器)

关于帧间隔ISP下载:
1要在您写的程序中加入帧间隔初始化代码,每一次烧写程序时都是这样
2TXD,RXD两个端口最好自始至终配置成双向口
3注意上机位软件的波特率设置要与程序中设置的波特率相一致
4硬件电路就是经典的MAX232电路
5对应的上机位软件有两个,Zlgisp_900或者Flashmagic
6波特率一般是7200或者9600

使用ISP下载注意事项:
1注意上一次能进入ISP方式时,如果上一次是使用了外部晶振的话,这一次也是需要使用晶振才能进入ISP方式
2最重要一点,用ISP的话,不要改引导向量和不要擦除ISP代码,否则只有用ICP或者编程器恢复其代码了。

补充说明,关于引导状态字和引导向量:
引入引导向量这个功能目的是提供一种灵活的方式,让编程人员方便使单片机上电时可以执行非0000H开始的程序代码,从而实现一些特殊的功能,如ISP等。
但是,为了顺从51标准单片机的习惯,让单片机上电就从0000H的地方开始执行程序,则可以把引导状态字勾掉,即配置成00H。

使用特权

评论回复
8
linhai1986| | 2009-8-25 10:04 | 只看该作者
关于LPC900单片机更多的问题解答可以到下面的网址里查找
http://www.zlgmcu.com/philips/philips-yingrong-lpc900.asp

使用特权

评论回复
9
xiaoxin1986|  楼主 | 2009-8-25 10:21 | 只看该作者
谢谢楼上的,回答的如此详细

使用特权

评论回复
10
xiaoxin1986|  楼主 | 2009-8-25 10:21 | 只看该作者
关于ISP的方式我仔细看过文档了,帧间隔方式和直接跳入法都能使用。但是有时不小心,还没初始化串口就陷入死循环了,只能用三个脉冲的方法(ICP编程器买不起)。我按照LPC900_ISP_ICP.pdf做了板子,可是怎样都进不去,不同之处在与稳压管改用了3.3V的。不确定是串口线接错了还是稳压管的问题所以来问问。

使用特权

评论回复
11
xiaoxin1986|  楼主 | 2009-8-25 10:22 | 只看该作者
关于串口线的看法,我一直以来都和你的一样,但前阵子碰到比较郁闷的事:QQ2440V3的arm9开发板上的公头串口是2脚Tx,3脚Rx。我没注意到这点,用原有的双母头交叉线,不能和超级终端通讯。后来看了原理图才发现应该用双母头的直连线。万用表测试板子配套的线,果然是双母头、2-2、3-3的。现在我也搞不清串口线到底应该是怎么个标准。

使用特权

评论回复
12
linhai1986| | 2009-8-25 10:34 | 只看该作者
嗯,如果你的芯片的引导向量是错误的,或者ISP代码已经错误,那ISP就没有办法使用了,只能用ICP或者编程器来恢复了。

如果用于学习,您可以使用P89V1RB2芯片比较适合的。



关于这个线的问题,我要查一查。

使用特权

评论回复
13
xiaoxin1986|  楼主 | 2009-8-25 10:40 | 只看该作者
好的,等你好消息

使用特权

评论回复
14
awmc_m| | 2009-8-29 21:17 | 只看该作者
isp最好参考附件所说的方法,即在主程序开始加入一段跳转程序,根据外部按键是否按下判断是否跳转。按住按键上电即可进入isp。lpc936的isp代码首地址为0x3f00。
若使用p1.0作为isp按键,参考程序如下:

void (*Excute)();
sbit isp_pin =p1^0;
void isp()
{
Excute=0x3F00;
P1M1 = 0x00;
P1M2 = 0x00;
if(isp_pin==0)
  {
   Excute();
  }
}

void main()
{
     isp();
}

三个脉冲等方法都不可靠。还有就是如果选用usb转串口的,要看是否是标准的RS232。很多非标准的只有txd和rxd,是不能用于发送三个脉冲的。

isp补充.pdf

157.55 KB

使用特权

评论回复
15
linhai1986| | 2009-9-6 18:17 | 只看该作者
不错,学习了

使用特权

评论回复
16
xiaoxin1986|  楼主 | 2009-9-19 14:25 | 只看该作者
恩,谢谢14楼的

使用特权

评论回复
17
emesjx| | 2012-10-13 10:10 | 只看该作者
参考"NXP LPC900系列单片机ISP编程技术总结":
http://forum.eet-cn.com/BLOG_ARTICLE_12845.HTM

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

176

主题

1487

帖子

0

粉丝