STM32F103RCT6+CH340C ISP下载无法连接

2019-07-14 14:51发布

业余做了一块数据监听的板子,基本上是STM32和CH340C的最小系统板拼起来。用开发板做原理验证时,ISP正常。实板用MCUISP和官方ISP工具都无法连接。说明如下:
1、第一个板子焊接了8M/32K晶振,AMS1117-3.3,CH340C。CH340C采用5V供电方案,TX/RX输出电平时5V。晶振不起振,经查阅,ISP时采用内部晶振,不起振正常。于是ISP尝试连接,一直失败,现象为一直尝试连接,最后尝试400次超时。经过几次测量后,STM32疑似损坏,PA9和PA10间电阻只有几十,PA10的数据会立刻通过PA9反馈。怀疑万用表表针测量时导致短路损坏STM32或CH340C 5V电平导致损坏。
2、第二个板子未焊接晶振,仅焊接了AMS1117-3.3和CH340C,CH340C改用3.3V供电方案,TX/RX输出电平为3.3V。仍旧无法连接,现象与之前一样。

以下是我自己已经做过的分析:
1、确认RST高电平(3.2V)
2、确认BOOT0高电平(3.2V)
3、确认BOOT1接地
4、确认PA9(STM32 TX)接CH340C的PIN3(RXD)
5、确认PA10(STM32 RX)接CH340C的PIN2(TXD),且加了47K上拉电阻
6、VDD/VSS均已接VCC和GND
7、GND为大面积铺铜
8、逻辑分析仪抓PA9/PA10,PA10可以抓到0x7F,PA9无反馈
9、尝试在连接过程中,手动将RST接地然后恢复,无用。
10、9600速率也尝试过,无用
11、JLINK SWD可下载,且BOOT0接低电平后,程序可以跑起来,晶振也正常起振了。功能由于设备没拿回家,有待工作日试验。
12、在我自己的程序中,也是用PA9/PA10做UART通讯,PC可以正常收到程序发出的数据,说明PA9电路无问题。

因为不太想带SWD口,所以还是想把ISP调通……
先谢大家……
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
zhouxk
1楼-- · 2019-07-14 16:12
关于你的第12条:

这条,是不是说——还是用这个板子,正常程序通过MCU的PA9、PA10,经过CH340C后转到USB。在电脑端串口助手发数,MCU能收到,并可以反馈给上位机?
如果不是,那么你写个程序,程序的功能就是,串口收到数后,立即转发出去。


如果测试没有问题,那么你这不应该有问题。
boot0接1,手动把复位接低。然后上位机开启ISP程序,(发送握手指令),立即释放复位信号。看看是否可以正常ISP连接。


请用ST的工具FlashLoader。(不要使用第三方软件,第三方软件有可能跟USB转串口电路有关联。)
宝弟弟弟
2楼-- · 2019-07-14 19:27
 精彩回答 2  元偷偷看……
shuqingli
3楼-- · 2019-07-14 19:32
这类关于 ARM-7 Series 或 Cortex-M Series 有支持 ISP 功能的 MCU,而这 ISP 功能都是在硬件发生 Reset 讯号后开始执行该 Series 提供闪存 Flash 之外的一个很小并无法 Erase 的 Flash 空间内的 ISP 功能,因而此功能在 Cortex-M Series 的芯片上都有其对应的 Boot 脚管在控制着是否要执行此 ISP 功能在于 Reset 讯号发生之后。
楼主若您可能的话先找台示波器来量测那 STM32 TXD 的脚管,若是这 MCU 的 Boot 等脚管都设置正确,然而这颗 MCU 的 TXD 脚管会于 Reset 讯号发生之后产生(估计是一个 Byte) UART 给上位机开始传送 ISP 要下载到 Flash 内的资料与动作,这点很重要!若是 STM32 TXD 的脚管在 Reset 讯号发生之后没发出这讯号,那可能等上一辈子的时间尚未机也没有反应的,我指得是 STM32 这颗 MCU 及所连接的上位机都供电正常的状况下。
故建议楼主,工欲善其事,必先利其器!...找找或去借用一下如示波器等量测硬件讯号的工具观察先吧?!
mzxcz
4楼-- · 2019-07-14 20:24
去掉CH340部分连线,用其他功能正常的串口进行ISP测试
先定位问题是MCU还是外部的USB转串口
yunhan8756
5楼-- · 2019-07-14 23:11
zhouxk 发表于 2019-1-2 10:32
关于你的第12条:

这条,是不是说——还是用这个板子,正常程序通过MCU的PA9、PA10,经过CH340C后转到USB。在电脑端串口助手发数,MCU能收到,并可以反馈给上位机?

感谢回复
串口正常,因为我用JLINK下载程序后,数据收发正常。
ST的这个FLASH LOADER我也试过,但是也不行。
操作步骤是:
1、连好板子
2、打开软件
3、设置好参数,专门选了EVEN校验
4、手动把RST飞出来的线碰一下GND
5、立刻点next,返回no response

不过你也提醒了我,我的FLASH LOADER是2.2.0,2010年的,一会我去官网找找有没有新版本。
yunhan8756
6楼-- · 2019-07-15 01:47
宝弟弟弟 发表于 2019-1-2 10:40
用的哪块开发板做原理验证吖

淘宝随便买的一个,叫min-stm32,板子上面丝印了一条鱼

一周热门 更多>