打印

【ISP】继续向各位汇报STM32的ISP的那点事

[复制链接]
11417|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
McuPlayer|  楼主 | 2008-8-19 22:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用串口监控软件检测,发现0x7F的波特率校准命令,几乎都可以得到ACK的应答。

但是后面的0x02和0x11命令,力源的Utility可以正常应答,ST官方的Demo只收到一个NACK。

后来发现,有的板子,ST官方的Demo也可连接成功,于是开始找差异,猜猜问题在哪里?猜对者有奖。。。。。。。
沙发
pheavecn| | 2008-8-20 09:08 | 只看该作者

呵呵,啥奖呀?

官方的这么差劲呀。

我猜与停止位有关。

使用特权

评论回复
板凳
xwj| | 2008-8-20 09:11 | 只看该作者

哈哈,奖励LZmm香吻一个.

使用特权

评论回复
地板
McuPlayer|  楼主 | 2008-8-20 10:32 | 只看该作者

问题出在山寨片上

MAX3232的2个升压电容,2个升压滤波电容,spec上说0.1uF就够了。

但这次样机的片子是山寨片,几毛钱的东西,用起来就是很多问题。
应该是升压不够,或者是不稳定,我把4个电容各并上一个104的独石电容,ST的官方Demo的联机成功率大大上升,原来半个小时难成功一次,现在50%次的尝试可以成功。
回头在用105试验下,应该改善更多些。

不过感到奇怪的是,力源的ISP软件,在那么恶劣的环境下,都可以工作,虽然速度差些,动辄要40多秒。
而且是准绿色的,免安装,但是有个ocx自动注册。

使用特权

评论回复
5
hq_y| | 2008-8-20 10:42 | 只看该作者

看来山寨的232芯片最好焊接1u的独石电容,下次也试试看

使用特权

评论回复
6
McuPlayer|  楼主 | 2008-8-20 10:48 | 只看该作者

还有个问题也挺纳闷

万历用的是MAX202,spec上说是5V供电的
万历板用3.3V供电,不但可以工作,而且挺稳当。
电容猜测应该是104,没有测容量。

如果232电平转化芯片用3倍压,估计这些问题都没有了。

使用特权

评论回复
7
McuPlayer|  楼主 | 2008-8-20 10:53 | 只看该作者

查阅RS232的资料后,更是纳闷

RS232的电平要求是高电平3-15v,表示逻辑0,低电平-15 - -3v,表示逻辑1
那实际上一个+5V和一个-5V的电压,足够做转换了。
那山寨片,大约是5.4V的样子,差在哪里?

请高手出来答疑。

使用特权

评论回复
8
香水城| | 2008-8-20 15:27 | 只看该作者

山寨片真是害人,ST还要背黑锅

谢谢楼主的探索!

使用特权

评论回复
9
mohanwei| | 2008-8-20 16:15 | 只看该作者

用好一点的示波器录下波形,仔细观察……

使用特权

评论回复
10
香水城| | 2008-8-20 17:33 | 只看该作者

如果是用的山寨片,请不要用太高的波特率

波特率上不了太高的波特率。

使用特权

评论回复
11
simon21ic| | 2008-8-20 19:30 | 只看该作者

关键在于

在同一硬件上,力源的Utility为什么可以使用?
是否是力源的Utility设置的串口速度较慢?如果ST Demo也设置同样慢的速度的话,结果会怎么养?

这个问题没有找到原因的话,LZ的结果就不能让我信服。

使用特权

评论回复
12
McuPlayer|  楼主 | 2008-8-20 21:56 | 只看该作者

我用串口Monitor看过了,力源用的是115200

但ST的Demo用这个参数仍然失败。

有个规律,就是ST的Demo一旦芯片识别成功,后面的烧录从来没有出错过。
但是成功的几率低,是通讯失败,难道烧录的时候就忽然通讯条件改善了?

现在我比较怀疑的是,PC下过Command后,等待ACK的Timeout时间的问题。
是否力源的Utility比较耐心,多等了几个mS呢?

另外,我用USB转串口又做了测试,成功的几率又要打八折。但力源的Utility仍然表现良好。
先前,我对力源这个软件的评价不高,看来是我太武断了。

使用特权

评论回复
13
simon21ic| | 2008-8-21 04:46 | 只看该作者

这些都是没有源代码的

所以我们无法调试和测试,希望可以测试一下stm32boot,我一直用这个的一个自己修改的版本,没有发现过什么稳定性的问题,只要芯片模式正确就都可以连接成功。我自己修改的主要是加上USB接口的Versaloon支持。
也有可能我用串口ISP是在太少,基本都是使用USB接口的Bootloader,所以碰到的问题相对也少。

使用特权

评论回复
14
McuPlayer|  楼主 | 2008-8-21 23:44 | 只看该作者

这个协议是Open的

ST的Demo只提供了部分source code,部分Lib,部分NULL

不过还好,协议是Open的,自己从头做也不复杂。
可能最繁琐的就是是器件列表维护了。

使用特权

评论回复
15
sujianli| | 2008-8-22 00:53 | 只看该作者

我的经验,MAX232的通信不稳定,三板斧解决:

1。串口调试助手,通过232,自收自发,测试
2。测MAX232---2脚,+8V以上,6脚:-8V;少于这个电压,肯定不稳定。加大1-3,4-5的电容量一般能提升。
3。再看1、3、4、5波形,必须是整齐有序的方波,如果乱的,换电容或芯片吧

使用特权

评论回复
16
McuPlayer|  楼主 | 2008-8-22 01:06 | 只看该作者

MAX3232的V+只有5.5V的样子

因为IC内部是个双倍压电路,3.3V的VDD,不会到8V和-8V的

这也是5V的232芯片稳定的一个原因

使用特权

评论回复
17
McuPlayer|  楼主 | 2008-8-22 11:32 | 只看该作者

又有了点新的发现

用USB转串口,成功的几率大大提高。

我的USB转串口是PL2303的,打开Datasheet看,原来TXD和RXD是5V的。
再次加重MAX3232的升压电路的嫌疑。

还有一个巨大的坏消息,就是我把ST-LINK的Firmware给冲了。

使用特权

评论回复
18
McuPlayer|  楼主 | 2008-8-23 18:41 | 只看该作者

俺自己也做一个STM32 ISP小工具

个人觉得力源的Utility最简洁,所以UI就直接挪用了。
结合ST Demo下载高速度和力源Utility的连接高成功几率,站在巨人肩膀上,哈哈。

使用特权

评论回复
19
ilymy| | 2008-8-24 10:43 | 只看该作者

不是山寨芯片的问题,就是纯软件问题,这个是公认的了

使用特权

评论回复
20
McuPlayer|  楼主 | 2008-8-24 16:24 | 只看该作者

我这里确实是换上美信的芯片就OK

没有必要替ST转移群众视线。

山寨MAX3232的问题也已经基本解决,电容至少1.0uF,TxIn管脚加下拉电阻(上拉也可以)。

使用特权

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

本版积分规则

338

主题

7307

帖子

26

粉丝