您尚未登录。

楼主 # 2021-10-21 20:11:13

echo
会员
注册时间: 2020-04-16
已发帖子: 351
积分: 356.5

分享一个CH552可用的USB-Blaster固件

下载链接

https://github.com/xjtuecho/CH552Nano/tree/main/FW

USB-Blaster固件,调试烧录Altera/AGM的FPGA和CPLD,使用WCHISPTool写入CH552。
测试在我的CH552Nano板子上进行的,当然由于没有什么依赖,别的CH552板子也完全可以。

主要参数
  • 支持Altera和AGM公司的FPGA和CPLD

  • 支持JTAG和AS两种下载方式

  • 使用MCU内部时钟,运行频率16MHz,无需外部晶振

  • 3.3V供电,IO电平为3.3V

  • 所有IO全部使用到

  • 支持串口命令行

管脚分配
  • P1.1 板载LED

  • P1.4 NCS

  • P1.5 TDI

  • P1.6 TDO

  • P1.7 TCK

  • P3.2 TMS

  • P3.3 ASDO

  • P3.4 NCE

注意
  • JTAG接口只需要连接TCK、TMS、TDI、TDO四个信号

  • AS接口除了JTAG的四个信号还需要连接ASDO、NCS、NCE三个信号

  • AG1280Q48下载FLASH需要使用AS接口,NCE信号不接

  • P3.0和P3.1为UART接口,波特率38400,可以使用超级终端连接

  • P3.6和P3.7为USB接口

离线

楼主 #3 2021-10-22 10:24:58

echo
会员
注册时间: 2020-04-16
已发帖子: 351
积分: 356.5

Re: 分享一个CH552可用的USB-Blaster固件

david 说:

这个有人移植到ch573上吗 现在552跟573也差不多

1.x元的CH552才有价值,目前明显是价格倒挂状态,相信不会持续很久。
扫了下CH573的datasheet,USB的IP和CH552应该是一样的。

离线

楼主 #4 2021-10-22 10:25:42

echo
会员
注册时间: 2020-04-16
已发帖子: 351
积分: 356.5

Re: 分享一个CH552可用的USB-Blaster固件

Blueskull 说:

没有源代码?

因为涉及一些私有代码,所以不开源,不好意思。

离线

楼主 #5 2021-11-01 16:43:46

echo
会员
注册时间: 2020-04-16
已发帖子: 351
积分: 356.5

Re: 分享一个CH552可用的USB-Blaster固件

david 说:

这个有人移植到ch573上吗 现在552跟573也差不多

我在CH573上也实现了这个USB-Blaster,效率接近STM32版本,但是优化花了很多时间。
CH573的GPIO有_CLR寄存器,可以直接清零,但是没有_SET寄存器,无法直接置1,导致操作GPIO效率很低。
相比之下,C51可以直接位寻址,M3和M4支持bit-banding操作,直接操作GPIO方便太多了

离线

楼主 #6 2021-11-06 12:52:32

echo
会员
注册时间: 2020-04-16
已发帖子: 351
积分: 356.5

Re: 分享一个CH552可用的USB-Blaster固件

目前最新版本v21.11.6,经过汇编优化,相比初始版本性能提高了3.88倍,基本达到CH552的天花板,已经非常实用了。
好久不写C51汇编了,C进行位操作太低效了,汇编优化完看那些编译器生成的汇编代码就跟傻子写的一样。

离线

楼主 #8 2021-11-06 18:54:14

echo
会员
注册时间: 2020-04-16
已发帖子: 351
积分: 356.5

Re: 分享一个CH552可用的USB-Blaster固件

david 说:

加油 现在jtag时钟能到多少

移位输出大概2M,移位输入输出1.471M,大部分数据使用1.471M这个时钟。

离线

楼主 #11 2021-11-07 09:09:29

echo
会员
注册时间: 2020-04-16
已发帖子: 351
积分: 356.5

Re: 分享一个CH552可用的USB-Blaster固件

@Blueskull
我那个是TCK时钟,一个字节内的,字节之间当然还有间隙,算平均码率还要再低的。
CH552说3.3V下最高16M主频,真就是16M,提高到24M在3.3V下面直接不识别。
由于SETB和CLR时钟都是2周期,理论上的最高反转率是4M,这是光出时钟,别的啥都干不了。
由于USB-Blaster有TDO和ASDO两个输入线,硬件SPI无法同时照顾到,所以用不上。

离线

楼主 #12 2021-11-07 09:15:13

echo
会员
注册时间: 2020-04-16
已发帖子: 351
积分: 356.5

Re: 分享一个CH552可用的USB-Blaster固件

david 说:

移植到573上 那个好歹60m 32位 有个硬spi 还可以上蓝牙

CH573我也移植好了,主要问题是GPIO只有清零寄存器,没有置位寄存器,设置高电平只能通过R-M-W过程来做,拉低了GPIO的效率,所以TCK最高主频也没超过3M。51有位操作,M3/M4支持bit-banding,他们比RISC-V操作GPIO效率高多了。至于硬件SPI,CH552也有都用不上,原因前面说了。蓝牙也没用。

离线

楼主 #13 2021-11-07 09:21:14

echo
会员
注册时间: 2020-04-16
已发帖子: 351
积分: 356.5

Re: 分享一个CH552可用的USB-Blaster固件

目前一个TCK时钟周期内写一个位再读一个位用了7条指令共11个周期,所以TCK理论频率为16/11=1.455M,和实际测量结果一致。
只写不读的话4条指令7个周期就够了,加了个NOP改善占空比,所以5条指令8个周期,频率2M
51操作GPIO效率很高,主要吃亏在主频太低,要是有48M主频,就完全不比ARM和RISC-V慢了。

最近编辑记录 echo (2021-11-07 09:41:41)

离线

楼主 #15 2021-11-08 11:21:09

echo
会员
注册时间: 2020-04-16
已发帖子: 351
积分: 356.5

Re: 分享一个CH552可用的USB-Blaster固件

又优化了一版v21.11.8,提升了些许性能,目前3.3V 16M限制下,性能提升的空间已经很小了。目前各个模式下的TCK时钟频率如下:

  • bit-bang频率90.91k

  • shift_out频率2.273M

  • shift_io频率1.471M

如果芯片直接换成CH546G,3.3V下直接到48M,上面的频率都x3,就可以和STM32和RISC-V掰手腕了。

离线

楼主 #16 2021-11-08 11:23:57

echo
会员
注册时间: 2020-04-16
已发帖子: 351
积分: 356.5

Re: 分享一个CH552可用的USB-Blaster固件

iamseer 说:

@echo

CH549可以跑48M,就是不支持bootloader跳转稍微麻烦点,要么手按要么额外硬件。
就是价格和573也差不多,但是SOP还是好焊接。

CH549太浪费了,用CH546G就可以了,之前价格还不到2块,现在是非常时期,芯片价格完全是乱的。

离线

楼主 #18 2021-11-08 16:54:02

echo
会员
注册时间: 2020-04-16
已发帖子: 351
积分: 356.5

Re: 分享一个CH552可用的USB-Blaster固件

david 说:

加片ag1280 同时解决输出的电平转换问题

电平转换一片244就搞定了

离线

楼主 #19 2021-11-09 09:37:36

echo
会员
注册时间: 2020-04-16
已发帖子: 351
积分: 356.5

Re: 分享一个CH552可用的USB-Blaster固件

v21.11.9,再次优化性能,使用硬件SPI,TCK时钟提到8M,JTAG模式比之前版本提高了大约37%。
CH552_Blaster_v21.11.9.hex

离线

楼主 #21 2021-11-24 19:57:11

echo
会员
注册时间: 2020-04-16
已发帖子: 351
积分: 356.5

Re: 分享一个CH552可用的USB-Blaster固件

90999 说:

不知道为何烧录AG1280会蓝屏,  A320主板 WIN10系统  ,   
但是淘宝买的552 USB BLASTER烧录器不会

哪个固件会蓝屏呢?我的测试环境是Win7x64

离线

楼主 #23 2021-11-27 22:22:23

echo
会员
注册时间: 2020-04-16
已发帖子: 351
积分: 356.5

Re: 分享一个CH552可用的USB-Blaster固件

90999 说:
echo 说:
90999 说:

不知道为何烧录AG1280会蓝屏,  A320主板 WIN10系统  ,   
但是淘宝买的552 USB BLASTER烧录器不会

哪个固件会蓝屏呢?我的测试环境是Win7x64

关了U3就好了,可能是主板问题

这个蛮奇怪的,我的X230上的USB3.0没问题

离线

楼主 #27 2022-05-17 22:27:01

echo
会员
注册时间: 2020-04-16
已发帖子: 351
积分: 356.5

Re: 分享一个CH552可用的USB-Blaster固件

KooLee 说:

目前FT232H和FT2232H都没货,且价格贵,请问这个可以用于Xilinx的FPGA烧录吗?

USB-Blaster是Altera和AGM的调试工具,不支持Xilinx

离线

楼主 #30 2022-07-29 11:03:21

echo
会员
注册时间: 2020-04-16
已发帖子: 351
积分: 356.5

Re: 分享一个CH552可用的USB-Blaster固件

sven1234 说:

:)用楼主的固件做了个迷你版的USB Blaster
https://whycan.com/files/members/3241/mmexport1656044754257.jpg

随便用个CH552开发板就可以

离线

楼主 #32 2022-08-14 17:22:58

echo
会员
注册时间: 2020-04-16
已发帖子: 351
积分: 356.5

Re: 分享一个CH552可用的USB-Blaster固件

清理了一下旧固件,放个最新的。
CH552_Blaster_v22.2.27.7z
偶尔用的话,用这个CH552版本的USB-Blaster就足够了。经常用的话建议买CH546或者CH571版本的USB-Blaster,速度要快得多。

离线

楼主 #36 2022-09-29 14:05:19

echo
会员
注册时间: 2020-04-16
已发帖子: 351
积分: 356.5

Re: 分享一个CH552可用的USB-Blaster固件

@echo
刚刚一个国外用户反馈了相同的问题,Win10上无法使用,查了下,后来降级了一下usb-blaster驱动就好了。据说是quartus ii 18.0自带的usb-blaster驱动问题,降级到13.0的驱动就好了。

离线

楼主 #40 2022-11-29 10:20:33

echo
会员
注册时间: 2020-04-16
已发帖子: 351
积分: 356.5

Re: 分享一个CH552可用的USB-Blaster固件

ndk 说:

速度快不快

CH552版本里是最快的。

离线

楼主 #43 2023-02-19 18:55:55

echo
会员
注册时间: 2020-04-16
已发帖子: 351
积分: 356.5

Re: 分享一个CH552可用的USB-Blaster固件

gavinfree 说:

请问一下,ch552烧录blaster固件后,串口驱动打哪个,在设备管理器中只看到blaster的设备,没有看到有com口

usb-blaster驱动本身不提供虚拟串口,串口是CH552芯片的物理串口。

离线

楼主 #47 2023-03-01 23:06:49

echo
会员
注册时间: 2020-04-16
已发帖子: 351
积分: 356.5

Re: 分享一个CH552可用的USB-Blaster固件

@ling123
都支持,新固件会比老固件更完善。无论速度还是可靠性,CH552版本偶尔使用完全够了。
如果经常用,而且有更高的追求,可以买CH546和CH571版本的。

离线

楼主 #49 2023-03-04 18:45:27

echo
会员
注册时间: 2020-04-16
已发帖子: 351
积分: 356.5

Re: 分享一个CH552可用的USB-Blaster固件

@ling123
所有版本都没有usb虚拟串口,因为usb-blaster驱动就不支持。

离线

楼主 #59 2023-07-05 14:08:21

echo
会员
注册时间: 2020-04-16
已发帖子: 351
积分: 356.5

Re: 分享一个CH552可用的USB-Blaster固件

@chinazhangdj
物理串口就是CH552的硬件串口,和USB虚拟串口做区分的。因为usb-blaster的驱动天生就不支持串口,所以不可能支持虚拟串口。
再进一步解释,物理串口就是CH552芯片上的TXD和RXD两个管脚,不知道这样说清楚了没有。
另外,usb-blaster集成一个虚拟串口这种事情毫无意义,好用的usb串口工具一抓一大把。并且使用CH552来做虚拟串口根本就不可行,常用波特率都支持不全。

最近编辑记录 echo (2023-07-05 14:11:17)

离线

楼主 #63 2023-07-09 08:47:45

echo
会员
注册时间: 2020-04-16
已发帖子: 351
积分: 356.5

Re: 分享一个CH552可用的USB-Blaster固件

liberty 说:

@echo @chinazhangdj
意思就是没有USB转串口,但是可以通过CH552芯片上的串口引脚(RX,TX)下载调试CH552
我这样理解是否正确?

是。
这个很好理解,因为USB转串口需要USB驱动支持,usb-blaster驱动不支持虚拟串口

离线

楼主 #66 2023-10-16 21:24:55

echo
会员
注册时间: 2020-04-16
已发帖子: 351
积分: 356.5

Re: 分享一个CH552可用的USB-Blaster固件

Woodzn 说:

@echo
我烧录CH552_Blaster_v22.2.27.hex然后3.3v供电连接Altera的板子在Quartus 13.1中能识别usb-Blaster但是没有办法下载到sram

FPGA要独立供电,不要指望USB-Blaster上的3.3V给FPGA供电

离线

楼主 #73 2024-02-05 22:25:42

echo
会员
注册时间: 2020-04-16
已发帖子: 351
积分: 356.5

Re: 分享一个CH552可用的USB-Blaster固件

@health
对于QuartusII,13.0sp1是最好的版本,老器件支持得比较全。Cyclone I II III IV V都支持,Max II V 3000 7000都支持。
13.1开始就不支持Max3000系列CPLD,Cyclone I II也都不支持了。
14.0开始Cyclone III都不支持了。还有人用ALTERA公司的新芯片?公司都没了好久了。

离线

楼主 #75 2024-04-05 10:18:57

echo
会员
注册时间: 2020-04-16
已发帖子: 351
积分: 356.5

Re: 分享一个CH552可用的USB-Blaster固件

@jameschen
有什么理由必须要用Quartus II 18吗?ALTERA卖身好久了,市面上常见的新的器件差不多就是Cyclone4?13.0 sp1完全可以支持,老器件也是13.0sp1支持比较好。所以没什么理由用更新的Quartus版本

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn