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接口
离线
这个有人移植到ch573上吗 现在552跟573也差不多
离线
没有源代码?
离线
这个有人移植到ch573上吗 现在552跟573也差不多
1.x元的CH552才有价值,目前明显是价格倒挂状态,相信不会持续很久。
扫了下CH573的datasheet,USB的IP和CH552应该是一样的。
离线
没有源代码?
因为涉及一些私有代码,所以不开源,不好意思。
离线
这个有人移植到ch573上吗 现在552跟573也差不多
我在CH573上也实现了这个USB-Blaster,效率接近STM32版本,但是优化花了很多时间。
CH573的GPIO有_CLR寄存器,可以直接清零,但是没有_SET寄存器,无法直接置1,导致操作GPIO效率很低。
相比之下,C51可以直接位寻址,M3和M4支持bit-banding操作,直接操作GPIO方便太多了
离线
目前最新版本v21.11.6,经过汇编优化,相比初始版本性能提高了3.88倍,基本达到CH552的天花板,已经非常实用了。
好久不写C51汇编了,C进行位操作太低效了,汇编优化完看那些编译器生成的汇编代码就跟傻子写的一样。
离线
加油 现在jtag时钟能到多少
离线
加油 现在jtag时钟能到多少
移位输出大概2M,移位输入输出1.471M,大部分数据使用1.471M这个时钟。
离线
这么强!我用8MHz硬SPI才做到4M左右的平均码率。大神!
BTW,我的双DPTR自增突然就好了。。。最后抠根问第查出来是SDCC的bug,在调用栈足够深的时候SDCC的ABI会变,传参用的寄存器有特殊玩法,这个时候自己插入汇编操作DPTR会出问题。减少调用深度,代码扁平化重构一遍就好了。
最近编辑记录 Blueskull (2021-11-07 11:38:59)
离线
移植到573上 那个好歹60m 32位 有个硬spi 还可以上蓝牙
离线
@Blueskull
我那个是TCK时钟,一个字节内的,字节之间当然还有间隙,算平均码率还要再低的。
CH552说3.3V下最高16M主频,真就是16M,提高到24M在3.3V下面直接不识别。
由于SETB和CLR时钟都是2周期,理论上的最高反转率是4M,这是光出时钟,别的啥都干不了。
由于USB-Blaster有TDO和ASDO两个输入线,硬件SPI无法同时照顾到,所以用不上。
离线
移植到573上 那个好歹60m 32位 有个硬spi 还可以上蓝牙
CH573我也移植好了,主要问题是GPIO只有清零寄存器,没有置位寄存器,设置高电平只能通过R-M-W过程来做,拉低了GPIO的效率,所以TCK最高主频也没超过3M。51有位操作,M3/M4支持bit-banding,他们比RISC-V操作GPIO效率高多了。至于硬件SPI,CH552也有都用不上,原因前面说了。蓝牙也没用。
离线
目前一个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)
离线
@echo
CH549可以跑48M,就是不支持bootloader跳转稍微麻烦点,要么手按要么额外硬件。
就是价格和573也差不多,但是SOP还是好焊接。
离线
又优化了一版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掰手腕了。
离线
@echo
CH549可以跑48M,就是不支持bootloader跳转稍微麻烦点,要么手按要么额外硬件。
就是价格和573也差不多,但是SOP还是好焊接。
CH549太浪费了,用CH546G就可以了,之前价格还不到2块,现在是非常时期,芯片价格完全是乱的。
离线
加片ag1280 同时解决输出的电平转换问题
离线
加片ag1280 同时解决输出的电平转换问题
电平转换一片244就搞定了
离线
v21.11.9,再次优化性能,使用硬件SPI,TCK时钟提到8M,JTAG模式比之前版本提高了大约37%。
CH552_Blaster_v21.11.9.hex
离线
不知道为何烧录AG1280会蓝屏, A320主板 WIN10系统 ,
但是淘宝买的552 USB BLASTER烧录器不会
离线
不知道为何烧录AG1280会蓝屏, A320主板 WIN10系统 ,
但是淘宝买的552 USB BLASTER烧录器不会
哪个固件会蓝屏呢?我的测试环境是Win7x64
离线
90999 说:不知道为何烧录AG1280会蓝屏, A320主板 WIN10系统 ,
但是淘宝买的552 USB BLASTER烧录器不会哪个固件会蓝屏呢?我的测试环境是Win7x64
关了U3就好了,可能是主板问题
离线
echo 说:90999 说:不知道为何烧录AG1280会蓝屏, A320主板 WIN10系统 ,
但是淘宝买的552 USB BLASTER烧录器不会哪个固件会蓝屏呢?我的测试环境是Win7x64
关了U3就好了,可能是主板问题
这个蛮奇怪的,我的X230上的USB3.0没问题
离线
CH551能用吗?我这一堆CH551
离线
@echo
楼主,可不可以拿你的固件做成产品去销售,盈利跟你分成
离线
目前FT232H和FT2232H都没货,且价格贵,请问这个可以用于Xilinx的FPGA烧录吗?
离线
目前FT232H和FT2232H都没货,且价格贵,请问这个可以用于Xilinx的FPGA烧录吗?
USB-Blaster是Altera和AGM的调试工具,不支持Xilinx
离线
:)用楼主的固件做了个迷你版的USB Blaster
离线
很精致,方便分享一下PCB么?感谢楼主的分享,也想做一个玩玩
:)用楼主的固件做了个迷你版的USB Blaster
https://whycan.com/files/members/3241/mmexport1656044754257.jpg
离线
:)用楼主的固件做了个迷你版的USB Blaster
https://whycan.com/files/members/3241/mmexport1656044754257.jpg
随便用个CH552开发板就可以
离线
好的,谢谢,用立创EDA画了一个
sven1234 说::)用楼主的固件做了个迷你版的USB Blaster
https://whycan.com/files/members/3241/mmexport1656044754257.jpg随便用个CH552开发板就可以
离线