
做一个适用杰理AC690x的二合一烧录工具
简介
烧录杰理的AC690x芯片需要一个ISD烧录器,调试他的SDK,需要一个串口;于是,这个二合一的工具就成为了刚需;现在就来做一个吧
简介:烧录杰理的AC690x芯片需要一个ISD烧录器,调试他的SDK,需要一个串口;于是,这个二合一的工具就成为了刚需;现在就来做一个吧开源协议
:MIT License
描述
烧录杰理的AC690x芯片需要一个ISD烧录器,调试他的SDK,需要一个串口;于是,这个二合一的工具就成为了刚需;现在就来做一个吧。
一个MTT的USB-HUB是必须的,经测试,STT的hub在串口打开的情况下,会干扰ISD的识别过程,导致不能联机目标芯片。 这里选用CH344 。
USB转串口,就用CH340E , 小体积;
USB切换开关,用一个小巧的FSUSB42UMX,UFQFN-10(1.4x1.8)封装小到极致(这是我的极限)。
主控仍然是经典的STC15F104 , 其实,432字节完全可以下载到STC15F100芯片里。已验证了,工作正常,但是,104更好买到,就他吧。程序可以正常运行在STC15F104E和STC15F104W上,已验证,可以放心使用。STC15L的工作电压较低,不要选这种。


没有设计STC烧录点位,需要先烧好固件再焊接。
https://oshwhub.com/article/about-jieli-ac690n-usbkey
目标单片机型号: STC15F104W(这次使用的是104W , 为了兼容104E不使用定时器TIME1)
1,掉电模式 , 绿灯灭,红灯灭 (Power_En = 0 )
2,上电直连 , 绿灯亮,红灯闪 (Power_En = 1 & IS_ISD_MODE = 0)
3,ISD模式 , 绿灯亮,红灯亮 (Power_En = 1 & IS_ISD_MODE = 1)
; STC15F104W @ 12M Hz 激活杰理AC69xx芯片烧录程序
; 参照《杰理科技强制升级工具用户手册.pdf》P9
; 参照 https://github.com/kagaimiq/jl-uboot-tool/blob/main/docs/how-to-enter-uboot.md
; Here, the D- is the clock line and D+ is the data line. ----这里应该是写反了。----
; The data is sampled by the chip at the clock's rising edge.
; This key is sent continuously until the chip acknowledges it by pulling both D+ and D- to ground for at least 1-2ms.
;
; 参照 https://github.com/kagaimiq/jielie/isp/usb/usb-key.md
; The key is a 16-bit number 0x16EF (0001 0110 1110 1111)
; that is send MSB-first over the USB lines
; with the D+ being the clock signal , and D- being the data signal 这里应该是正确的。
; (data is latched by the chip on its rising edge).
; The clock frequency is usually around 50 kHz
; Since the chip acknowledges the reception of the key by pulling down both USB signals
; 芯片进入强制升级模式的原理
; 1、 首要条件, 是让AC69xx芯片复位, 即AC69xx芯片要从头跑启动代码开始。
; 2、 其次, 于芯片复位之际, 工具给芯片发送握手信号, 即 usbkey, ispkey, uartkey 等等。
; 3、 最后, 芯片握手成功后, 就进入了强制升级模式, 此时 PC 端会弹出磁盘设备。
; 过程: 释放Reset按键,STC单片机启动,灯亮起;
; USB_DM (P3.2)设定为推挽输出,握手信号usbkey数据输出 DM(Data Minus D-) 通常用白色线
; USB_DP (P3.3)设定为推挽输出,握手信号usbkey时钟输出 DP(Data Positive D+)通常用绿色线
; USB_GATE(P3.4)设定为推挽输出,高电平关断PMOS,断开DM,DP与PC的链接;
; 延时大于250mS , 参Page9 "按键是停电250ms以上,芯片复位,发握手信号。"
; 用11us的波特率移位0X016,0X0EF(usbkey);高位在前(左移位)
; USB_DP (P3.3)设定为低电平输入模式,然后检测DP脚是否被MCU(AC690x)拉高,
; 未检测到高电平,从机未进入强制升级模式,回到开始;
;
; 检测到高电平,USB_DM,USB_DP设定为输入模式,释放DP DM ;
; 再拉高USB_GATE,接通DP,DM和电脑的连接,灯熄灭;单片机休眠。
; 烧录:一定要开启Reset管脚的复位功能。
; 内部RC振荡器调整到12MHz 。

说个题外话:
为了布线方便,先是调换了P34和P35 ,
又为了USB布线美观 , 调换了DM、DP连接在USH开关的线序和极性;
于是,灾难来了,代码一下子被搞得乱七八糟。
结论:
能跑起来的程序,就不要改动!!!!!!切记切记 , O(∩_∩)O哈哈~
设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程工程成员
知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。


评论