论坛风格切换切换到宽版
  • 4638阅读
  • 7回复

关于stc89c51rc的isp在线编程遇到的问题 [复制链接]

上一主题 下一主题
离线ahzds
 
发帖
7423
只看楼主 倒序阅读 0楼 发表于: 2006-12-04
我的串口用于通讯,但stc的mcu要求isp时不能在串口上接任何芯片,只能接到mcu的串口脚上,否则就根本实现不了isp,也就是说stc的isp功能有缺失。因为对正在使用的目标板进行升级程序的时候,一般都不允许现场改板子专门引出单片机的10和11脚来,甚至连外壳都不允许打开!


不知道大家有没有遇到同样问题的?就是在串口通信系统中,stc的mcu如何在不打开机器外壳的前提下做到真正的isp在系统编程?
离线1a2b3c
发帖
204
只看该作者 1楼 发表于: 2006-12-04
如果你的并联的管脚不是很强的带载能力,那么直接下就ok,所并联的就当是一个上拉电阻吧。
如果你觉得你的并联的管脚实在能提供很大的电流,那么把他与一个几百上千欧的电阻串连后再接吧,我是实际使用过的。注意的是你的并联上的串口通讯协议一定不要太简单了,否则isp里面的命令或者数据会使你并接的芯片发生误动作,从而发出一些数据,导致isp程序接收到后认为isp出错。
离线ahzds
发帖
7423
只看该作者 2楼 发表于: 2006-12-05
'
如果你的并联的管脚不是很强的带载能力,那么直接下就ok,所并联的就当是一个上拉电阻吧。
如果你觉得你的并联的管脚实在能提供很大的电流,那么把他与一个几百上千欧的电阻串连后再接吧,我是实际使用过的。注意的是你的并联上的串口通讯协议一定不要太简单了,否则isp里面的命令或者数据会使你并接的芯片发生误动作,从而发出一些数据,导致isp程序接收到后认为isp出错。
'
可能是我没说清楚,不是上拉或下拉的问题,与串口通讯协议没关系。

我用232芯片连接一个目标下位机所用的串口收发器,作了一个面包板,然后用电缆连接面包板和下位机,即通过两块串口收发器之后才与单片机的串口连上,这样就出现了下图的提示。
提示说明:
1。因为可以读出芯片内部所用软件的信息和使用晶振的频率,双向通讯是没问题的;
2。因为我使用的晶振是11。0592mhz,但读出晶振的频率显然不对,误差从哪里出来的?不知道。
3。开始的芯片型号没有读出来,所以导致下载失败。
============
离线ahzds
发帖
7423
只看该作者 3楼 发表于: 2006-12-05
说明一下,芯片型号没有任何错,就是所需选择的型号,而且芯片本身没有坏,用编程器直接写进去没有任何问题,芯片检测型号也对,用了上面第二张图的连接之后就出现了第一张图的错误。也不是波特率的问题,所有波特率我都试过了,结果一样。也不是单片机内部的firware的版本和下载软件问题,上图能说明都是最新的!

向宏晶的两个技术工程师电话咨询,都说不行,但是又都不能解释为什么可以读出芯片的一些信息,但是却出现频率误差和不能下载,最后就和我说“这样连接不可以,必须232芯片直接和单片机的串口连接,而且还要断开串口上连接的其他芯片!”----我tm要能这样做,早就把单片机拔下来重写一遍了,还要这么麻烦!
离线tienshen
只看该作者 4楼 发表于: 2006-12-05
如果我没理解错的话,你的单板机外壳由于某种原因是不能打开的。单板机的串口无法计算机串口直联。只能从485传输数据。我在使用中也发现,计算机与stc连接通过usb-com转换(我的笔记本无串口),程序下载的速度慢了许多。你是否能找其他的485转换器试一试。我个人认为,该程序下装软件对握手信号要去不严,所以在传送的过程通过两次转换,信号延误,造成无法下装。建议找质量好些的485转换器试一试。

祝你好运。
vy 73!
离线ahzds
发帖
7423
只看该作者 5楼 发表于: 2006-12-06
'
如果我没理解错的话,你的单板机外壳由于某种原因是不能打开的。单板机的串口无法计算机串口直联。只能从485传输数据。我在使用中也发现,计算机与stc连接通过usb-com转换(我的笔记本无串口),程序下载的速度慢了许多。你是否能找其他的485转换器试一试。我个人认为,该程序下装软件对握手信号要去不严,所以在传送的过程通过两次转换,信号延误,造成无法下装。建议找质量好些的485转换器试一试。
祝你好运。
vy 73! [表情]
'
如您所说,就是这个原因。
我也怀疑是延迟所致,但板子上的电路无法改变,外面用的也只能一样,如果就是这个问题,那就是死结了。
还有一个可能的原因就是,在给目标板上电时,收发器芯片还没有进入稳定阶段,单片机的一些初期的信号已经发出了,但由于收发器不能立即建立稳态,所以导致数据转换出错。如果是这个原因,同样是死结。
基于以上的考虑,如果能搞到宏晶的软件代码,自己写一个上位软件,忽略前面一部分验证(已经证明是第一句“芯片型号”没有正确送给计算机,而后面的信息全部正常),然后直接下载,应该是可行的。但是,到哪里去搞源代码,找宏晶基本是没门。
还有,哪位朋友用sst的芯片的,麻烦提供一份下载软件,可能是通用的。因为stc的核心技术和主要研发人员就是从sst出来的,理论上核心的东西是一样的。
离线jytz9988
发帖
23
只看该作者 6楼 发表于: 2006-12-07
sst与stc的确不可通用,可能主要就是那个芯片型号不同吧
离线ahzds
发帖
7423
只看该作者 7楼 发表于: 2006-12-10
感谢楼上的诸位!虽然stc的工程师已经对我宣判了“死刑”,经过几天的努力,我的问题已经解决。

我的解决方法暂时不公布,如果哪位朋友将来遇到同样的问题,请与我单独联系,我不想此法被stc轻易知道,让它的产品售后烦恼去吧!

在此,向所有使用stc产品的设计师提醒,他们的isp功能是花瓶----中看不中用,如果仅仅是看上这一点,使用的时候千万要小心!在你焦头烂额的时候,他们的的技术支持工程师只会让你把外围电路全部断开(对这种不负责任的回答,我个人表示最强烈的鄙视!),而根本不会去想想自己的产品有什么不足?如何改进?