
杰理强制下载器 V2.0
简介
工欲善其事必先利其器。 官方的下载器必须买,端庄大气、情绪稳定; 自己的下载器可以有,小家碧玉、乖巧听话。
简介:工欲善其事必先利其器。 官方的下载器必须买,端庄大气、情绪稳定; 自己的下载器可以有,小家碧玉、乖巧听话。开源协议
:MIT License
描述
之前已经做了一版杰理的强制下载工具,可以实现AC690n和ac692n系列芯片强制进入ISD模式,通过PC机的USB端口下载固件。
打造自己的杰理实验板 https://oshwhub.com/pla155/my-jerry-lab-board , 在这个开源工程里有第一版的原理图;
杰理AC690N的那些事(一)USB_KEY https://oshwhub.com/article/about-jieli-ac690n-usbkey 这篇文章里是对强制下载工具的原理分析和代码解释;
杰理AC690N的那些事(二)拆一个下载器 https://oshwhub.com/article/analysis-a-jieli-downloader 我任然购买了官方的下载器,学习和借鉴。
问什么会有第二版的下载器呢,是第一版有什么缺陷和问题吗?
其实不是的,第一版已经完全可以胜任下载工作;
之所以会有第二版,主要是在硬件上有一些新的尝试,在软件上有更多要求。
先说说硬件;
因为第一版使用了FSUSB42MUX(MSOP10) , 这个usb交换开关挺好用,就是有点贵,TB上也要¥2.7 ;
就想看看便宜的¥1.6的 FSUSB42UMX (UMLP-10),这个封装是不是可以为我所用;
另外,TB上还有¥0.35的拆机件FSUSB30MUX(MSOP10),便宜、封装还友好;
第二个硬件上的原因,
是电源管理模块使用了Ti的2561A,带电流保护功能,虽然也是垃圾料来的,但是手上已经寥寥无几,尝试用便宜的PMOS代替一下;
第三个硬件上的原因是外观和操作的需求,希望把按键搞成立插安置,并增加一个上盖,防止误触发;
最后,为了能和文章开头所说的实验平台组合模块兼容,需要一个软排线接口的硬件版本;
来张全家福吧,
看一看软排线连接的模块效果
安装了上盖的样子,键帽与顶板持平,不容易误触;
再看看LED灯点亮的样子
绿灯熄灭,停机模式,目标板掉电,目标板DP DM 与PC机断开连接;
绿灯常亮,电源准备好,向目标板输出正常;
红灯常亮,指示目标板已经联机,可以烧录;
红灯慢闪(1Hz),待机模式(正常供电,脱机);
红灯快闪(约5Hz),强制联机过程中,尝试5000次握手;
软件上,因为需求,也做了改变:
通常,我们是要把固件下载到ROM里执行的,这就需要两种状态,联机和脱机;
联机执行下载;
脱机,掉电,重启,执行刚才下载到ROM里的程序;
有时,需要临时改变一下杜邦线的连接,可以让目标板切换到掉电状态;
对应着,按键的动作就是按一下进入联机下载,等待下载完成再按一下,实现脱机运行;
如果长按按键,就掉电。
另外;
ISD_download.exe是可以把代码下载到RAM区立即执行的,联机后,代码通过USB下载到RAM后被立即执行,
中间不需要掉电重启的过程;
所以,为了配合这种工作方式,只需要按一次按键完成一次掉电和联机就可以了。
不同的编译模式需要下载器不同的操作流程来配合,这样才更高效;
不增加按键还想保有模式选择的灵活性,
就采用了单片机上电检测按键状态的方法来选择工作模式。
按住按键,把下载器接入USB,选择RAM模式,每次按键都进行先掉电再联机;
释放按键,把下载器接入USB,选择ROM模式,第一次按键进行联机,再次按键,掉电、脱机、运行ROM代码;长按目标板掉电。
之前的代码是会编写的,
这一版的核心代码保留了汇编,主程序是C语言编程,方便大家自行修改。
源码在附件压缩包,不想费事的,直接用hex文件烧录即可。
注意烧录选项,如图
需要留意的选项都已经标出,需要特别的确认一下。
为了兼容STC15F104W和STC15F104E,仅仅使用了Timer0 ,所以可以根据自己手上有的芯片烧录。
代码不超过512字节,STC15F100系列大概也能用。
我用的AC6903B4做测试,看到这个就是联机成功了;
贴一张电路图吧,看起来方便
说一下感受;
其实,FSUSB那个很小的封装,也是比较容易焊接的,没啥问题;
PMOS工作的很好,可以省掉10元一片的电源保护电路了;
USB前级的TVS二极管实在是焊接困难,
画板一时爽,焊接泪汪汪;
应该遵循一句话:“若非必要,勿增实体”;
能不用,就别画在板子上装B了,累是真的累;
居然还用了两个公模抑制电感,我真是疯了。
最后补充一个实测的结论:
当杰理强制下载器和USB转串口的设备连接在同一个USB_HUB设备时,会出现不能稳定引导目标板进入联机状态的情况,的确如此;
但也有解决办法,
钞能力就可以换一个MTT功能的HUB,一劳永逸的解决问题;
没钱怎么办呢?
也不是没有办法;
实测:FT232和CP2012在软件已经关闭串口功能的情况下,并不会干扰强制下载器的工作;
即使按下联机按钮前忘记关闭,也可以在关闭串口后自动连接,而不必再次按动按钮。
CH340就相对麻烦一些,需要强制掉电才可以不干扰;
那么,是不是就没有办法把USB_HUB , CH340 下载器集成在一起了?
也不是,
可以让这三者同时掉电,在同事上电;
最好把下载器安排在HUB的1口。
仅供参考。
祝大家玩得开心。
设计图

BOM


评论