您尚未登录。

#2 Re: RISC-V » CH32V307内置SPI FLASH来自普冉 » 2022-11-16 10:49:12

补充一下,普冉的这个FLASH技术叫做SONOS,来自Cypress,和华邦兆易他们的不一样。下面是两篇介绍文章:
上海华力SONOS加持,eFlash的未来可期
Advantages of SONOS memory for embedded flash technology

#3 Re: RISC-V » CH32V307内置SPI FLASH来自普冉 » 2022-11-14 09:32:55

@海石生风
普冉的这个FLASH烧录按页来编程,速度很快。像传统的STM32那样4字节编程速度就慢很多了。为此我专门重写了自己的固件升级算法。以下是一些朋友提供的消息,真假自辩,感觉没啥问题。

Puya用了一种新的工艺,和传统的NorFlash不同,cypress授权的,国内很多Flash小厂在用。
erase时间短,program时间长,page program的时间应该是2ms,小于一个page的,比如写
1个字节,时间也是2ms。

仔细看手册你会发现WCH的MCU内置FLASH都提供快速编程功能,就是页编程,和PY32的内置闪存一样,PY32甚至手册上只提到支持页编程。

#4 RISC-V » CH32V307内置SPI FLASH来自普冉 » 2022-11-13 09:39:04

echo
回复: 9

CH32V307是SRAM缓存架构,封装了RISC-V核心和SPI FLASH,SPI FLASH 来自普冉,图片来自推特John McMaster @johndmcmaster
01.jpg
02.jpg
03.jpg
FLASH Die的丝印PY1905V1,有普冉的标志。普冉的SPI FLASH价格很有优势,而且擦除速度极快,尤其是全片擦除,以16Mbits型号为例:

  • 普冉的P25Q16H,典型值8ms最大20ms

  • 华邦的W25Q16J,典型值5s,最大25s

  • 兆易的GD25Q16C,典型值7s,最大20s

普冉的直接快了3个数量级,不知道他们怎么实现的。

#5 Re: RISC-V » RISC-V核心的SoC有没有已经在产品上广泛使用的型号? » 2022-11-08 14:11:21

@XIVN1987
意思你理解就行,抠字眼没有意义。你说的那些出货都是MCU,不带Linux系统。SoC这里指的是对标ARM Cortex A系列的产品。

#6 Re: RISC-V » RISC-V核心的SoC有没有已经在产品上广泛使用的型号? » 2022-11-08 08:42:11

RISC-V在MCU上现在凑合能用了,SoC(对标Cortex A系列,运行Linux系统的芯片)和ARM差得还很远

#7 RISC-V » GCC 12把CSR相关指令放到扩展Zicsr中了 » 2022-11-08 08:39:44

echo
回复: 1

用GCC 12的时候提示找不到csrrw这些指令,查了下,原来20191213版本的spec把csr相关指令放到Zicsr扩展中了。原文如下:

While CSRs are primarily used by the privileged architecture, there are several uses in unprivi-
leged code including for counters and timers, and for floating-point status.
The counters and timers are no longer considered mandatory parts of the standard base
ISAs, and so the CSR instructions required to access them have been moved out of the base ISA
chapter into this separate chapter.

问题是,CSR中不光有计数器和定时器呀,还有别的寄存器,比如mstatus、mepc、mcause、mtvec等等,这些寄存器都是必不可少的。
扩展的意思是可以不用,难道不用Zicsr指令能构建一颗能用的MCU?退一步来说即使是定时器和计数器作为强制部分也没什么不妥,隔壁ARM的SysTick计数器也是核心的一部分。
RISC-V这个CSR感觉和51的SFR有点神似,标准定义访问这段空间的指令和一些通用的寄存器,厂家再根据自己的需要进行扩展,增加一些寄存器,但是访问这些寄存器的指令肯定是必不可少的,不太理解CSR访问指令为什么要作为扩展。大家怎么理解?

#8 RISC-V » RISC-V核心的SoC有没有已经在产品上广泛使用的型号? » 2022-11-05 17:37:36

echo
回复: 9

RV64G指令集,运行Linux系统,内存1GB以上,定位类似Cortex A53/A55,不考虑开发板和核心板和各种学习套件,有没有实际产品中的应用实例?
MCU那边,WCH推出的一系列RISC-V核心MCU已经达到完全可用的程度了,相比Cortex M0/M3/M4已经有一定竞争力了,实际产品中也不少见。

#9 Re: Cortex M0/M3/M4/M7 » 国产王炸中的战斗机-普冉py32f003/py32f030(价格6毛起步) » 2022-10-31 20:36:24

Blueskull 说:

据内部消息,SO8和QFN20是呆料,实际主推的是TSSOP20。

这个很好理解,TSSOP20走的是替换STM8S003的路子,包括CH32V003也一样,主推TSSOP20,电源脚位置相同,用户PCB都不用改直接替换。

#10 Re: Cortex M0/M3/M4/M7 » 国产王炸中的战斗机-普冉py32f003/py32f030(价格6毛起步) » 2022-10-31 20:33:48

kekemuyu 说:

@echo
真的假的,8脚的无法恢复了吗?这设计有点...
avr的tiny13a可以任意使用io,并不影响isp下载

也能恢复,用户固件做个自杀功能就行了,比如开启读保护然后再解除读保护,固件就自杀了,闪存为空,默认启用SWD接口可以烧录。
我曾经SO-8的固件开启了读保护,没法解除,因为找不到他们那个PY-LINK,又没有BOOT0,没法用ISP工具,后来用我自己的GDLink手动解除了读保护。最后给固件做了自杀功能,就没有问题了。

CH32V003也有个坑,没有他们那个LinkE是没法烧录的,芯片为空片的时候,CH32V003并不会停在内置bootloader等待连接,而是跳转APP,导致没法使用ISP。因为没有boot0,ISP也依赖用户程序跳转到内置bootloader,我目前测试还有问题,跳转内置bootloader以后ISP工具没法连接,不知道是WCHISPTool 3.4的问题还是芯片的问题。

两颗芯片,感觉还是PY32F003更好一些,虽然价格稍微贵一些,但是存储容量大得多,能做的事情多的多,M0+比RV32EC好多了,后者连乘法器都没有,现在比较感兴趣的是CH32V003这个RV32EC核心面积能有多小。CH32V003内置的2+16k实在是太小了,要是能出4+32k的版本应用场合能多很多。

#11 Re: Cortex M0/M3/M4/M7 » 国产王炸中的战斗机-普冉py32f003/py32f030(价格6毛起步) » 2022-10-31 16:29:21

iamseer 说:

看了看手册,这片子支持用boot0引脚配置进bootloader然后串口下载,这倒是比wch的要方便。

SO-8没有BOOT0,因此不支持ISP。并且如果用户程序把SWD两个管脚当作IO用了,芯片就写不进去了。
CH32V003的SWIO可以使用他们的LinkE解除锁定。

#13 Re: RISC-V » WCH又搞了个性价比王炸CH32V003 » 2022-10-30 14:47:31

手头的CH32V003盘完了,几个要注意的地方说一下:

  • 中断向量表要对齐到1kB地址,如果要设计bootloader就要非常注意

  • 这颗芯片只支持机器模式,虽然启动文件设置mstatus为0x80,但是实际运行以后读取mstatus为0x1888

  • 不支持硬件乘法器,这一点就不如M0了

  • 2+16kB的存储太有限了,只能做非常简单的任务

  • linkE调试器的单线调试模式挺好用,WCHISPTool暂时还没支持CH32V003

  • -flto选项可以大大减小代码体积,接近M0的LTO优化体积,不过开启-flto以后代码运行还是有问题,是gcc 8.2.0的问题,不知道WCH什么时候能更新gcc

附CH32V003的CSR列表:

 marchid   = 0xDC68D841
 mimpid    = 0xDC688001
 mstatus   = 0x00001888
 misa      = 0x40800014
 mtvec     = 0x08000003
 mscratch  = 0x00000000
 mepc      = 0x0800205C
 mcause    = 0x8000000C
 mvendorid = 0x00000000
 mhartid   = 0x00000000

还有几个样片,有想玩的朋友可以送一片,这颗芯片和STM8S003封装和电源脚位置都一样,直接把STM8S003拆了换上去就行。
由于邮费远大于芯片价值,所以从我这里买东西的朋友报whycan暗号可以送一片,淘宝或者闲鱼都可以。

#14 Re: 司徒开源 » 开源精神值得敬佩,但是你司徒公开po 解FC3000的加密芯片就是可耻,做技术要有底线 » 2022-10-26 10:37:45

开源和破解不一回事,应该分开看。公司/个人独立做个产品再开源出来,比现有商业产品还好,商业产品被搞死,这样的例子多了去了。
逆向破解这个东西本来就上不了台面的。

#15 Re: Cortex M0/M3/M4/M7 » 国产王炸中的战斗机-普冉py32f003/py32f030(价格6毛起步) » 2022-10-22 12:05:32

刚刚移植了一个工程到PY32,这货提供的库居然是HAL库,作为性能定位低端,闪存容量有限的器件,标准库甚至直接操作寄存器才是正路。

#16 Re: Cortex M0/M3/M4/M7 » 国产王炸中的战斗机-普冉py32f003/py32f030(价格6毛起步) » 2022-10-21 19:16:16

@Blueskull
WCH的RISC-V是自研,IP也是自研,全部自研,没有IP授权费用,所以成本低。

#17 Re: Cortex M0/M3/M4/M7 » 国产王炸中的战斗机-普冉py32f003/py32f030(价格6毛起步) » 2022-10-20 20:15:32

看了下这芯片的资料,还算比较全,这个价格只能说太残暴了,1元以内的MCU已经完全杀红眼了。
刚刚买了几百个Puya的SPI FLASH,用着也还不错。

#18 Re: RISC-V » WCH又搞了个性价比王炸CH32V003 » 2022-10-18 12:03:06

@junyee
WCH官方10片起卖,超过500元包邮,不看公司还是个人。你5块钱买10片,顺丰到付,应该也会给你发货。

#19 Re: RISC-V » WCH又搞了个性价比王炸CH32V003 » 2022-10-15 14:15:10

@海石生风
基础代码会占据固定的空间,比如参数存储,命令行解析与执行,固件升级等等。我在ARM上可以在7kB内搞定这一些,只用寄存器操作,编译器最高优先级空间优化,开启链接时优化,空间一个字节一个字节扣。WCH的RISC-V目前不能开-flto,体积压不下来。

#20 Re: RISC-V » WCH又搞了个性价比王炸CH32V003 » 2022-10-14 21:30:09

WCH今天发布了MRS_Community版本v1.30,支持CH32V003了,移植了个小工程,感觉2kB的SRAM和16kB的FLASH都太小了,随便写写就满了。这个容量肯定是无法使用bootloader了,稍微复杂一点的应用也不行,存储太容易写满了。

#22 Re: RISC-V » WCH又搞了个性价比王炸CH32V003 » 2022-10-13 17:05:11

metro 说:

现在买V003评估版送芯片和新款调试器(CH549做的调试器不支持V003),26.8一套,需要的可以冲了🤗

还有这好事,看到26.8包邮以为只是个板子,本来想等等看,送片子和调试器就无脑冲一把了。

#23 RISC-V » WCH又搞了个性价比王炸CH32V003 » 2022-10-13 09:47:59

echo
回复: 28

国产的RISC-V还是得看WCH,这不又丢了个王炸出来CH32V003,介绍链接:
https://www.wch.cn/products/CH32V003.html

说它是王炸不是因为性能有多强,而是性价比爆炸,据说只要五毛钱,你没听错,是五毛钱,还是RMB,某些人发个帖子就能赚到一颗。
性能方面,核心是RISC-V最高48M,RV32EC指令集,性能就不指望了,只希望代码密度能表现好一点。
存储方面,2kB SRAM和16kB FLASH,闪存要是能到32kB使用范围能更广一些。
电源方面,支持3.3V和5V,简单的应用场合可以不用LDO了。
外设方面,1个10位ADC,1个运放,1个DMA,1个高级定时器,1个通用定时器,还是蛮全的。
通讯接口方面,USART、SPI、I2C各一个,接口挺全,数量都是1个。这个价格下USB和CAN这种复杂接口就不用奢望了。
调试接口方面,和STM8那个SWIM接口类似的串行单线。
封装方面提供了SO-8、SO-16、QFN-20、TSSOP-20四种封装,其中QFN-20封装为3x3mm,0.4mm间距,尺寸非常小。
竞品方面:
TSSOP-20对标STM8S003F3P6,N76E003AT20,复位、电源、调试这些管脚布局相同,可以直接P2P替换。
SOP-8对标STM8S001J3M3,电源脚布局完全一样,可以直接P2P替换,还去掉VCAP那个管脚多了个IO。
最后说一下开发工具,他们提供的那个MounRiver还是挺好用的,要是能把gcc赶紧升级一下就好了,目前的8.2.0还是有些问题。

#24 Re: RISC-V » RISC-V代码密度相比Cortex-M差距明显 » 2022-10-11 14:40:04

liyucai 说:

ARM 也用 gcc 来编译,这样比较才有意义。

这样没意义,好比两军交战,甲方坦克飞机大炮,乙方方砍刀长矛盾牌,乙方输了说你们甲方也要用砍刀长矛盾牌才有意义。乙方不是不想用坦克飞机大炮,是没有。

#25 Re: RISC-V » RISC-V代码密度相比Cortex-M差距明显 » 2022-10-10 22:29:21

目前使用gcc 8.2.0,打开-flto选项可以大大减小代码体积,不过代码行为似乎不太正常,会有莫名其貌的问题。

#26 Re: Xilinx/Altera/FPGA/CPLD/Verilog » 分享一个CH552可用的USB-Blaster固件 » 2022-09-29 14:05:19

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

#27 Re: RISC-V » CH32V203G6最小系统板正式开源,可能是最小的RISC-V全引脚开发板 (上架了。。。 » 2022-09-28 20:56:07

metro 说:

@echo

沁恒的RISC-V支持C扩展,代码密度可以提高一点,当然目前来看还是会比ARMv7M差不少。

我在用CH32V203C8T6,使用带usb的bootloader,app起始地址是0x08006000,不带usb的bootloader,起始地址0x08004000
32kB闪存的话,光bootloader就占用超过一半了。同样代码的bootloader在Cortex-M上app起始地址分别是0x08004000和0x08002000

#28 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 沁恒ch565w测试 USB3.0速度和千兆以太网速度 » 2022-09-27 21:59:15

我最近刚刚盘完CH32V203C8T6,这芯片还可以,整体比较均衡,价格也很有优势,有成为CH552那样神片的潜力。只是WCH家的软件实在是不太给力,固件库中要踩的坑不少。

#29 Re: RISC-V » CH32V203G6最小系统板正式开源,可能是最小的RISC-V全引脚开发板 (上架了。。。 » 2022-09-27 21:51:58

G6的闪存太小了,才32kB,而RISC-V代码密度又比Cortex-M差很多,同样一套代码,实测RISC-V要比Cortex-M多用50%左右的闪存。
我现在用64kB的CH32V203C8T6小项目差不多刚刚够用。如果一定要用QFN28封装,我倾向于选择CH571F,不用担心闪存不够用。

#30 Cortex M0/M3/M4/M7 » 小封装大容量Cortex-M芯片型号有哪些? » 2022-09-05 13:55:08

echo
回复: 4

ARM Cortex M核心,管脚不超过36脚,FLASH容量不低于1MB,有哪些型号?

#32 Re: Cortex M0/M3/M4/M7 » STM32G030F6应该和STM32G041x8是同一个晶圆,来看看ST“赠送”了些什么 » 2022-08-28 08:46:53

posystorage 说:
echo 说:

@zhjerry
AT32F421C8T7和AT32F425C8T7都是好芯片,比STM32那些低端型号好得多。

AT32这几颗确实还是不错的。CM4要比CM0香不少,不得不说

M4内核即使不带FPU也比M0强太多。除此之外外设也强很多。比如ADC指标要更好,425还带USB和CAN这种高级外设。

#33 Re: Cortex M0/M3/M4/M7 » STM32G030F6应该和STM32G041x8是同一个晶圆,来看看ST“赠送”了些什么 » 2022-08-26 21:14:17

@zhjerry
AT32F421C8T7和AT32F425C8T7都是好芯片,比STM32那些低端型号好得多。

#34 Re: Cortex M0/M3/M4/M7 » STM32G030F6应该和STM32G041x8是同一个晶圆,来看看ST“赠送”了些什么 » 2022-08-25 19:38:55

STM32G0系列最大问题是管脚排列改了,和老产品不兼容,也和国内一大批兼容型号也不兼容。抽屉里还扔着几片,买来发现管脚不兼容就一直扔着了。

#35 Re: Xilinx/Altera/FPGA/CPLD/Verilog » CH552 模拟 Digilent JTAG-SMT2 » 2022-08-15 12:31:31

试了下,可以用,就是速度相当慢,TCK频率只有400k多一些,优化空间还很大,使用硬件SPI可以到8M的。

#36 Re: Xilinx/Altera/FPGA/CPLD/Verilog » 分享一个CH552可用的USB-Blaster固件 » 2022-08-14 17:22:58

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

#37 Re: RISC-V » 避坑指南-国产wifi蓝牙芯片W800/W801/W806的GPIO速度很慢 » 2022-08-10 20:57:00

最简单方法就是不要用这些乱七八糟的MCU,除非对性能没有要求。

#39 Re: Xilinx/Altera/FPGA/CPLD/Verilog » 分享一个CH552可用的USB-Blaster固件 » 2022-07-29 11:03:21

sven1234 说:

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

随便用个CH552开发板就可以

#40 Re: 全志 SOC » V3s这么强显示能力, 不搞个示波器可惜了,接什么ADC好呢? » 2022-07-20 21:36:52

blade_cheng 说:

我的意思是采集那边还是用FPGA,但是显示这边可以用慢速接口啊,存储深度,这个是跟FPGA那边挂的SDRAM或者SRAM相关,另外,如果不是抓协议或者需要看时序的这种场景,存储深度,意思一下就行了吧
@echo

数字示波器的存储深度是非常重要的指标。Tek那种几k存储深度的低端数字示波器只能拿来当烟灰缸了。
各种测量比如频率周期RMS值也要计算,靠FPGA实现是非常麻烦的。
显然尽快将ADC采样数据送到MCU/SOC的内存才是上策。就像GD32F450+MXT9288方案做得那样。

#41 Re: 全志 SOC » V3s这么强显示能力, 不搞个示波器可惜了,接什么ADC好呢? » 2022-07-20 16:59:10

LinjieGuo 说:
echo 说:

GD32F450用GPIO+DMA可以实现125Mx16的读取速度,也就是250MBytes/s的速度,达到PCIe 1.0的水平。接MXT2088刚刚好。
目前也有F1C100s+FPGA+MTX2088方案的示波器,不知道它用的什么高速接口。

用的是摄像头CSI接口

从这个接口图来看,并不是CSI接口,管脚明显对不上。更像是自己实现了一个8位的同步并口。
PE[0..7]为数据线。时钟为PE8,并没有定时器之类的外设关联到PE8,软件来实现时钟的话,通讯速率不会很高。
2022-07-20_165611.jpg

#42 Re: 全志 SOC » V3s这么强显示能力, 不搞个示波器可惜了,接什么ADC好呢? » 2022-07-20 16:43:30

musich 说:

不能用SPI直接连接AD的, 也不能直连CSI的,这些接口速度太慢. 

AD并口输出的速度太快了, 图中的FPGA是一个办法, 

或是正点原子方式的方式,用MCU的外总线直读AD,

读到内部SRAM后, 再慢慢处理.

GPIO+DMA这个方法并不是正点原子原创,之前就有人这么做了。eevblog上有讨论,github上也有开源代码实现。当然这个方法还是很巧妙的,利用GD32F450芯片超过130M的GPIO和DMA快速搬运数据。应该是MXT9288最佳后端方案了

#43 Re: 全志 SOC » V3s这么强显示能力, 不搞个示波器可惜了,接什么ADC好呢? » 2022-07-20 16:39:31

blade_cheng 说:

MCU这边只做显示就可以了吧,不用把全部的数据都传过来,只需要传一部分,够屏上显示的就行了,这样的话就不需要那么高的速度,甚至SPI都能做到
@lg676041036

数字示波器有个很重要的指标,叫做存储深度。还有个重要指标波形刷新率。两个指标都需要将ADC数据快速写入存储。
GD32F450那个方案通过GPIO和DMA将ADC的数据快速写入MCU片内SRAM。慢速接口只采集显示部分,做出来的都是玩具而已。

#44 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 众人拾柴-魔改SPI为一主多从高速总线【迪卡总线】 » 2022-07-17 19:39:18

ADI(LINEAR)的BMS AFE芯片,用的isoSPI接口,就是干这个的。也有独立的芯片将SPI接口转isoSPI,型号LTC6820

#45 Re: 全志 SOC » V3s这么强显示能力, 不搞个示波器可惜了,接什么ADC好呢? » 2022-07-17 11:31:40

GD32F450用GPIO+DMA可以实现125Mx16的读取速度,也就是250MBytes/s的速度,达到PCIe 1.0的水平。接MXT2088刚刚好。
目前也有F1C100s+FPGA+MTX2088方案的示波器,不知道它用的什么高速接口。

#46 Re: RISC-V » 基于CH32V307的高速USB转JTAG下载器 » 2022-07-17 10:08:44

@metro
这些10MB+的bitstream本来就是极少的场景。调试器上完全派不上用场。SignalTapII这类片上逻辑分析仪用USBFS也足够了,我用CH552做的USB-Blaster也可以胜任。这些调试器一边是USB,另外一边是JTAG或者SWD,也是单端串行时钟,并且要使用杜邦线或者排线连接,TCK时钟频率不可能太高,十几M最多几十M撑死了。频率越高兼容性可靠性越差,用户越容易骂娘。使用480M的USBHS完全就是大炮轰蚊子,没有任何必要。
另外TCK和SWCLK这边如果软件IO模拟时序,那速度完全不行,要喂饱USBFS必须硬件SPI+DMA来优化,这个还是有一定难度的,做得好的并不多。
高速USB的最佳应用是各种USB逻辑分析仪,这些设备对USBHS的带宽使用比较充分。

#47 Re: RISC-V » 基于CH32V307的高速USB转JTAG下载器 » 2022-07-16 22:12:59

@metro
以我优化USB-Blaster的经历,USBFS的12M理论速度对这些调试器都足够了。瓶颈不在USBFS。最典型的例子就是CY7C68013版本的USB-Blaster,空有480M的USBHS,速度完全不行。
常见的MCU闪存容量都在1MB以内,FPGA配置芯片很多也都是几个MB而已,实际bitstream使用的更少。

#48 Re: RISC-V » 基于CH32V307的高速USB转JTAG下载器 » 2022-07-15 22:51:01

@LYF0630
你也说了是大FPGA才几十M,大多数都是中小容量FPGA。并且使用USBFS的调试器比如USB-Blaster把带宽用满速度并不慢,瓶颈并不在USBFS。
至于MCU,实际成熟项目中更新固件大多数都是通过bootloader进行的。根本不需要调试器。

#49 Re: RISC-V » 基于CH32V307的高速USB转JTAG下载器 » 2022-07-15 17:24:48

其实没啥用处,调试器很多时候都得降频使用。FS的速度也足够应对绝大多数场景。

#50 Re: Cortex M0/M3/M4/M7 » 有趣的F103家族新添"不限量税后5.8" AIR32F103 和 MH32F103A » 2022-06-10 17:55:25

Gentlepig 说:

at32f103也有usb和can的,只不过是一路can。

而且usb和can互斥不能同时使用对吧?at32f413的usb和2路can可以用时使用的。

#51 Re: Cortex M0/M3/M4/M7 » 有趣的F103家族新添"不限量税后5.8" AIR32F103 和 MH32F103A » 2022-06-10 16:42:04

Gentlepig 说:
yelong98 说:

5.8干嘛不买雅特立,何苦去填坑新品

我去淘宝搜了下at32f413cct7,8.4元。

at32f413cct7可是带了USB和两路CAN,8.4不贵。

#52 Re: Xilinx/Altera/FPGA/CPLD/Verilog » 分享一个CH552可用的USB-Blaster固件 » 2022-05-17 22:27:01

KooLee 说:

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

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

#54 Re: Xilinx/Altera/FPGA/CPLD/Verilog » 想用国产FPGA真不容易 » 2022-05-09 15:53:07

@sven1234
高云这个绑定MAC,升级个无线网卡,MAC地址换了, 还得申请License

#55 Re: Xilinx/Altera/FPGA/CPLD/Verilog » 想用国产FPGA真不容易 » 2022-05-06 20:50:11

MicWzn 说:

个人还是不要轻易尝试这类不开放的国产FPGA,成本太高,而且人家也不愿意为我们个人提供技术支持。企业说不定可以试试,不过大都要签保密协议。

高云和AGM的资料开放程度还可以。高云本身文档挺多,开发工具要申请License而已。AGM本身走的是兼容路线,文档少一些,不过也够用了。

#56 Re: 全志 SOC » 发现一个有意思的东西,4.3寸触摸屏,用的F1C200S » 2022-04-28 19:15:21

armstrong 说:

@Gentlepig
不考虑下SSD201/202吗?
SSD201官方售价28元/片,双核A7,64MB DDR2,邮票孔核心板51元/片。

F1C200s才十几块钱

#57 Re: 全志 SOC » 发现一个有意思的东西,4.3寸触摸屏,用的F1C200S » 2022-04-28 12:59:18

zhang235hai 说:
echo 说:

@zhang235hai
我这里版本更新的3.3.3.5781不支持,奇怪得很。方便共享一下McgsPro 3.3.2.6187版本吗?

McgsPro 3.3.2.6187 组态软件安装包.rar
你试试

好大的附件,还是用网盘分享吧,给晕哥节省一点带宽费用。附件3.3.2.6187版本和更新的3.3.3.5781都在网盘中了。
链接: https://pan.baidu.com/s/1zw1reH_mrnzAA1aDxHDVrA?pwd=uuc2 提取码: uuc2

#58 Re: 全志 SOC » 发现一个有意思的东西,4.3寸触摸屏,用的F1C200S » 2022-04-28 10:47:35

@zhang235hai
我这里版本更新的3.3.3.5781不支持,奇怪得很。方便共享一下McgsPro 3.3.2.6187版本吗?

#59 Re: 全志 SOC » 发现一个有意思的东西,4.3寸触摸屏,用的F1C200S » 2022-04-28 09:27:02

Gentlepig 说:
echo 说:

昆仑通态以前用的WinCE,现在改Linux了。

那么现在7寸的,他们一般用什么芯片?V3S?

最早用的时候是三星,后来是TI,现在7寸的具体还不清楚,没拆过。现在4.3寸的开始用F1C200s了,当时看到全志这颗芯片第一感觉就是这东西做串口屏太合适了。
刚刚下载了个McgsPro 3.3.3.5781,还没看到支持这个4.3寸的型号。

#60 Re: 全志 SOC » 发现一个有意思的东西,4.3寸触摸屏,用的F1C200S » 2022-04-27 20:55:58

型号是TPC4013Ef,我这里两个版本的组态软件都还没看见这个型号。
他们以前的组态软件是MCGS,现在是McgsPro,不过我这里的3.3.2.5166版本还没有见过这个屏型号。
是否有支持这个屏的组态软件?

#62 Re: RK3288/RK3399/RK1108 » Micsig的STO1004示波器使用了RK3568 » 2022-04-26 22:11:10

这个示波器,最大的槽点是那个摇杆,可靠性留给时间去检验吧。我到手几天就解毒了。

#63 Re: RK3288/RK3399/RK1108 » Micsig的STO1004示波器使用了RK3568 » 2022-04-24 13:29:24

XIVN1987 说:

搜了下价格,,4000+
有点儿贵啊

针对老用户的首发价格是2k

#64 RK3288/RK3399/RK1108 » Micsig的STO1004示波器使用了RK3568 » 2022-04-23 23:09:14

echo
回复: 9

这款示波器,
https://www.micsig.com.cn/product5/
STO_1_中文.jpg_1650263525.png
SoC用的是RK3568,4xA55@2.0G,这个4小核配置广泛用在目前的手机SoC上。
2GB DDR4内存,32GB eMMC,SOC+DDR4+eMMC在一片核心板上。
看RK3568发布时间也就一年而已,产品上市还挺快的。

#66 Re: 全志 SOC » 今天发现新全志芯片XR32F429 » 2022-04-03 07:51:31

看了下规格,感觉没啥竞争力,M4这个赛场完全是一片红海。

#67 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 示波器浏览贵站效果还可以 » 2022-04-02 11:07:55

echo
回复: 1

8寸的屏幕还凑合,就是屏幕800x600分辨率有点低了。外接键盘鼠标,输入很方便,有那么点生产力工具的味道了。

#68 Re: Cortex M0/M3/M4/M7 » 有没有大神用过CH32V103/20x/30x系列的片子 » 2022-03-31 20:49:17

@llinjupt
以前是国产芯片没人用,被外部力量强迫开始用了发现也挺好,然后就再也回不去了。
一切都要感谢川总。

#69 Re: Cortex M0/M3/M4/M7 » 有没有大神用过CH32V103/20x/30x系列的片子 » 2022-03-31 13:44:27

CH573不如选CH571F,不到3块钱,带USB,18kB SRAM+192kB FLASH,性价比爆炸。正点原子那个烙铁都用CH571F了。

#70 Re: 全志 SOC » 发现一个蛮有创意的二维码生成及展示方式,超级终端模式,我用来在系统上电时通过串口来展示芯片唯一ID了。 » 2022-03-21 18:29:50

超级终端是白底黑字。二维码方便手机这类设备直接扫描,PC的话,直接就Ctrl+C Ctrl+V了

#72 Re: 8051/STC8/AT89C51/N76E003 » STC32G12K128的Dhrystone性能测试 » 2022-03-17 09:42:10

STC32G性能提升主要是内存架构优化带来的,在同样的22.1184M主频和速度优化时:
STC8G用时235ms,成绩0.109DMIPS/MHz
STC32G用时67ms,成绩0.384DMIPS/MHz,相对提升0.384/0.109=3.523倍
STC32G内存模型切换为Large后用时189ms,成绩0.136DMIPS/MHz,相对提升0.136/0.109=1.248倍
https://zhuanlan.zhihu.com/p/482337395

#73 Re: 8051/STC8/AT89C51/N76E003 » STC32G12K128的Dhrystone性能测试 » 2022-03-15 13:35:07

Gentlepig 说:

膜拜。
另,问下价格如何?也是用MDK编译吗?

STC官网价格5元,量少可能加一点,开发用Keil,装个C251编译器即可,基本和51开发一样。

#74 Re: Cortex M0/M3/M4/M7 » 有没有大神用过CH32V103/20x/30x系列的片子 » 2022-03-15 13:28:46

用过CH32V103C8T6,感觉还可以,就是没有CH571F便宜

#75 8051/STC8/AT89C51/N76E003 » STC32G12K128的Dhrystone性能测试 » 2022-03-14 18:14:27

echo
回复: 5

这款号称32位的8051,实际上就是Intel的C251架构,向下兼容8051,地址空间扩展到了24位,堆栈空间扩展到了16位共64kB,扩大了内部SARM(edata)数据复制速度也有了很大提高,解决了8051架构的一些弊端。
STC花了很大力气宣传,芯片刚刚到手不久,板子打好测一下性能,看看是不是和他们宣传的一样好。
_20220314174345.jpg
软件还是使用Dhrystone,编译器C251.exe 版本v5.60.0.0,速度优化,使用标准库。
第一次测试结果376ms,奇怪,怎么比8位的8051还慢?查了好久,原来WTST寄存器搞的鬼,复位值是最大值7,加了7个等待,手册建议35M主频以下改为0,修改为0重新测试,速度果然快了很多,结果如下。
2022-03-14_174424.jpg
结论就是大约0.38DMIPS/MHz,这个结果和ARM在 https://www.keil.com/benchmarks/c251_bmark.asp 这个文章中的测试结果是一致的。这就是C251架构的性能了,比8051提高很多,然而在现代一众32位MCU中显然不算入流。
2022-03-14_174522.jpg
其实我对这个来自古代的C251核心一点兴趣都没有,现代的Cortex-M和RISC-V比它要好得多,买这个芯片主要是想看看它的USB和两个CAN表现如何,尤其是两个CAN,从寄存器接口来看,就是内置了两片SJA1000控制器,光这两个CAN都值回票价了,具体如何,有待以后分解。
最后再吐槽下这个C251编译器,不知道是因为用户太少还是什么原因,真的是不太好用,很多标准C库函数没有实现,比如strstr,strtok,strtoul,都要自己实现。
一个结构体中定义的一个函数指针,指向实际的函数,它也分析不出来,然后报L57警告,实际呢又能运行,也就是函数并没有被优化掉,让人困惑。
*** WARNING L57: UNCALLED FUNCTION, IGNORED FOR OVERLAY PROCESS

#76 Re: RISC-V » WCH的RISC-V居然跑出了3.84DMIPS/MHz的成绩... » 2022-03-12 11:30:19

@Blueskull WCH官方人员确认了GCC的这个问题。他们也是“持续关注GCC对此类问题的更新情况”
https://bbs.21ic.com/icview-3204494-1-1.html
而且有朋友也用7.2.0版本的GCC发现了同样的问题。
https://zhuanlan.zhihu.com/p/478423323
-flto选项对RISC-V还是很重要的,因为RISC-V的代码密度本身就非常拉胯

#77 Re: RISC-V » WCH的RISC-V居然跑出了3.84DMIPS/MHz的成绩... » 2022-03-12 11:23:12

@Blueskull
那解释下同样的代码用nuclei 的9.2.0版本的GCC加-flto编译就没问题。到底是GCC不行还是clang不行。
2022-03-12_112421.jpg

#78 Re: RISC-V » WCH的RISC-V居然跑出了3.84DMIPS/MHz的成绩... » 2022-03-12 11:21:48

aozima 说:

只要标准指令本身没特殊,就可以用通用编译器。

WCH对RISC-V指令有扩展,标准指令应该没有差别。还是丢给WCH让他们去定位吧。

#79 Re: RISC-V » WCH的RISC-V居然跑出了3.84DMIPS/MHz的成绩... » 2022-03-12 09:42:32

aozima 说:

换个版本编译器

目前WCH只提供了riscv-none-embed-gcc 8.2.0这一个版本的编译器,
实测GD32VF103使用的riscv-nuclei-elf-gcc 9.2.0没有这个问题,
更老的7.2.0也有这个问题。

#80 Re: RISC-V » WCH的RISC-V居然跑出了3.84DMIPS/MHz的成绩... » 2022-03-12 09:31:26

abutter 说:

Dhrystone 用强优化是作弊,所以现在很少做 CPU 的 benchmark。

试试 coremark。

开不开优化,结果差异巨大,不同编译器差异也巨大。ArmClang也是强优化,完全没问题。看起来是GCC的锅。

#81 RISC-V » WCH的RISC-V居然跑出了3.84DMIPS/MHz的成绩... » 2022-03-11 22:25:18

echo
回复: 9

测试了CH32V103和CH573的Dhrystone的成绩,发现一个非常奇怪的现象:使用-flto优化以后,CH32V103在8M主频时居然18.55ms就跑完了测试,性能达到了3.84DMIPS/MHz,这个成绩比ARM最新的Cortex-M33还要快得多,感觉可能性不大,同样8M主频,关闭-flto优化以后用时53.15ms,对应1.34DMIPS/MHz,感觉这个数据更真实一些,一个-flto优化不大可能把性能提高几倍,更大的可能性是-flto优化导致GCC哪里出错了。
附CH32V103和CH573的Dhrystone测试数据表格。
risc-v_dhrystone.jpg

#83 Re: Cortex M0/M3/M4/M7 » 开源CH551/2实现的汇编优化高速DAP-Link (CMSIS-DAP v2) » 2022-02-22 22:18:28

posystorage 说:
echo 说:

CH552性能上限太低了,而且现在也并不便宜

ch552e ssop10封装的还是很香的,在开发板上板载一个 得到串口+swd

我的FPGA开发板用CH552T做板载usb-blaster,可以给FPGA省下一个有源晶振。

#84 Re: Xilinx/Altera/FPGA/CPLD/Verilog » 开源一个自己画的超迷你FPGA核心板 » 2022-02-16 21:14:16

Blueskull 说:
MrRaphael 说:

楼主这个USB-JTAG只能在AGM和Altera上用吗?能在赛灵思上用不 big_smile

只能在高云FPGA上用,改上位机可以兼容Xilinx(我没有实现),不支持Altera/AGM。

Altera/AGM用CH552版本的USB-Blaster就行了。

#86 Re: Cortex M0/M3/M4/M7 » 一个GD32E103的USB硬件bug » 2022-01-17 12:31:14

le062 说:

现在这种知名度稍高的单片机基本是供货、价格双不稳,搞它干嘛呢。
用SOC,如ESP32-S2,BL702啥的。

因为它有USB和两路CAN

#87 Cortex M0/M3/M4/M7 » 一个GD32E103的USB硬件bug » 2022-01-16 21:07:01

echo
回复: 3

使用某个双向端点来通讯,比如端点2,我们记为EP2_OUT和EP2_IN,分别处理主机的OUT和IN请求。设备收到主机OUT请求以后,应答ACK,然后设置EP2_OUT的TF中断标志,中断延迟大约6us或者更少一些。

如果在6us中断延迟时间内没有EP2_IN的IN请求,或者即使有IN请求,设备EP2_IN没有准备好,应答NAK,那一切正常。我的应用中实际测试EP2_OUT响应ACK以后,大约0.6us以后主机就会发送IN请求,刚好落在6us的中断延迟时间内。这时候如果设备EP2_IN端点准备好,那么就开始响应EP2_IN请求,给主机发送数据,发送完成主机应答ACK,触发EP2_IN的TF中断标志,正常触发中断,这个中断会把它前面EP2_OUT的中断标志冲掉,导致丢失前面的EP2_OUT传输完成中断。

usb的固件库代码我看过是可以同时处理同一个端点OUT和IN两个TF中断标志的,所以问题大概率在USB硬件。目前该问题还未得到官方确认。这个问题在USB实际通讯速率不高的问题,极少出现,大流量的通讯的时候会出现,概率几十万分之一吧,没有什么规律,所以定位起来十分困难。

#88 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 请教CH579的网络,不用库自己初始化的问题 » 2022-01-09 09:47:17

看了下资料,这CH579也是个神片,M0核心,带USB,带BLE,带ETH,更过分的是MAC和PHY都集成了

#89 Re: Cortex M0/M3/M4/M7 » 说说航顺的M0--优秀的国产替代 » 2022-01-06 23:02:16

desertsailor 说:

HK32F103系列的USB有问题,没法用

具体什么问题?GD32E103的USB也有问题。

#90 Re: Cortex M0/M3/M4/M7 » 一个GD32的CAN外设硬件bug » 2022-01-05 17:30:27

duqiang 说:

感谢楼主踩坑,为其他人铺路

GD32F103是2013年发布的,所以,这个bug存在快9年了。

#91 Re: Cortex M0/M3/M4/M7 » 一个GD32的CAN外设硬件bug » 2022-01-05 08:46:36

更新:STM32F103,AT32F413(雅特力),CH32F103(沁恒)他们的CAN在这个问题上表现是一致的。毫无疑问,GD32的这个是芯片CAN模块的bug。

#92 Re: Cortex M0/M3/M4/M7 » 一个GD32的CAN外设硬件bug » 2022-01-05 00:38:51

这么说吧,这个RS位判断接收状态,只要是做USBCAN设备,想做好一点,是必然要用上的。

#93 Re: Cortex M0/M3/M4/M7 » 一个GD32的CAN外设硬件bug » 2022-01-04 23:38:03

@XIVN1987

而且不是要知道开始接收一个帧,是要知道CAN是否在接收帧,是一个时间段,可能500us,可能1ms,软件在这个时间段里随时都有可能要判断。
这个功能就是RS位存在的价值,用硬件很容易实现。

#94 Re: Cortex M0/M3/M4/M7 » 一个GD32的CAN外设硬件bug » 2022-01-04 23:34:57

@XIVN1987
CAN的这个外设接口都是和STM32一样的。包括雅特力的AT32,行为都是一样的。明显GD32是个设计错误。这个错误导致了功能缺失,当然,如果这个功能你用不上的话最好。然而如果你的产品都出去了,客户反馈问题,希望升级固件解决问题的时候,就不会这么说了。

你这个方法如果熟悉CAN协议就会知道完全不可能实现。之所以要用这个位,就是因为性能问题,我的CAN负载率接近100%了。
你打算什么时候清这个IO的IF置位?1M波特率下1us一个中断你确定MCU能处理么?

#95 Re: Cortex M0/M3/M4/M7 » 一个GD32的CAN外设硬件bug » 2022-01-04 19:25:43

原厂的借口挺搞笑。
类似客户需求是盖一个烟囱,然后他们设计人员把图纸看反了挖了一口井,客户给他们说你这不对啊,他们说:知道,设计人员对这个理解与别人有偏差。

#96 Cortex M0/M3/M4/M7 » 一个GD32的CAN外设硬件bug » 2022-01-04 15:44:34

echo
回复: 17

测试过GD32E103,GD32F303,都有这个问题,其它型号有待确认,大概率GD32全系CAN外设都有这个问题。

CAN状态寄存器的bit9 RS表示接收状态,实际测试,CAN初始化退出睡眠模式以后RS位就是1,进入初始化模式以后RS位清零,退出初始化模式以后RS=1

然后整个使用过程中这个RS位一直都是1,本来这个位是指示CAN硬件有没有在接收数据的,现在完全失去了意义。

CAN的一帧很长,需要上百个位,持续数百微秒,硬件接收完了完整一帧才会放入FIFO,软件才能查询到,所以如果软件想知道硬件是否在接收数据,这个接收指示位就很重要,如果这个位行为异常,软件通过RX管脚来判断是否CAN正在接收数据非常困难。

实测STM32和AT32的这个RS位行为是正常的,只有接收数据的时候才会置1,可以判断CAN的接收状态。

联系过GD原厂,确认了这个问题,GD32的CAN外设无法通过硬件判断CAN外设是否在接收数据,还有更坏的消息:原厂不认为这是bug,也不打算在新产品型号中更改。

好消息是他们的CAN IP是自研的,所以这个bug应该是GD32芯片独有的,不会影响其它厂商的产品。

附和原厂技术人员沟通记录:
GD:我找人测了下,默认是处于接收状态,如果是发送数据时,会处于发送状态,发的时候会变 0,其他都是1
ME:这种行为模式没有用处,因为实际需要的是硬件在接收数据才置1,而且其它厂家人家也是这么定义的
GD:设计就是这样,那就只能别这么用
ME:那应该如何判断CAN硬件在接收数据?有别的方法也行
GD:没有办法,就我跟你说的判断帧数量
ME:我说过了,没法根据帧判断,CAN总线在接受数据的时候,数据还没进FIFO,一帧接收完了才会进FIFO
GD:我知道你意思,那就无解啦,无法识别正在接收状态
ME:好吧,只能尽量避免用这个芯片了,这个IP不知道是自研的还是外购的,STM32F103是没有这个问题的
GD:自研
ME:那别家应该没这个问题,你们可以对比下友商的产品
GD:知道,设计人员对这个理解与别人有偏差,这就跟485接口类似
ME:就是受了RS485的影响,485不支持多主,发送完数据要设置为接收,问题CAN是支持多主的,没有这个问题,所以是芯片bug,不是特性
GD:485没有仲裁机制,CAN有仲裁机制,现在这个特性你认为是BUG那就是,他不影响正常使用,只是你刚好想要用的点有点特殊,无法满足你的应用场景
ME:这个位相当于没有,是不是bug,你们要确认,涉及到新芯片是否会更新的问题。
GD:我回你了啊,我们设计是我跟你说的那样,这个你能理解为他是bug,也能理解为他为设计特性
ME:我明白了,那就是以后新型号也不会更改。

#97 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 盗版CH340的被判刑了 » 2021-12-25 21:27:33

Blueskull 说:

@echo

所以GD和WCH没有摊上事啊,本来就不算侵权。

兼容!=抄袭,两者有本质区别的。上海这家妥妥的抄袭CH340,被罚活该。

#98 ESP32/ESP8266 » 打造极致性价比 乐鑫科技发布 ESP32-C2 » 2021-12-24 18:25:07

echo
回复: 1

感觉会比ESP8266更便宜,内置FLASH的版本也终于不把FLASH引脚引出来了。QFN24封装4x4。

https://www.espressif.com/zh-hans/news/ESP32-C2

乐鑫宣布推出低功耗、低成本的 ESP32-C2 芯片,比 ESP8266 面积更小、性能更强。ESP32-C2 在满足简单物联网应用需求的基础上,进一步优化成本,能够为用户提供一个极具性价比的开发平台。值得一提的是,乐鑫的射频技术实现重要突破,可达到 1024-QAM 技术指标,未来将为客户提供更多高性能的产品选择。

ESP32-C2 集成 2.4 GHz Wi­-Fi 和支持长距离的 Bluetooth 5 (LE),搭载 RISC-V 32 位单核处理器,时钟频率高达 120 MHz,内置 272 KB SRAM (16 KB 专用于 cache) 和 576 KB ROM,具有 14 个可编程 GPIO 管脚,支持 SPI、UART、I2C、GDMA 和 PWM。

#99 Re: Cortex M0/M3/M4/M7 » 让 CMSIS-DAP DAPLink 功能和性能上升到新高度 » 2021-12-23 14:49:40

用相同的序列号,其实是为了换设备或者换USB接口的时候不重新装驱动,大多数时候一台PC只带一个调试器,重新装驱动很烦的。

#100 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 盗版CH340的被判刑了 » 2021-12-23 00:30:48

Blueskull 说:
dgtg 说:

啥都没改吗?
改改管脚也行啊..

直接抄的版图,啥都没改。WCH也抄别人的,pin兼容的CP2102N,CP2104和FTDI的产品,但是WCH只是抄功能,设计实现都是自己搞的,不涉及侵权,类似GD32抄STM32。

管脚兼容,我觉得不算是抄。举几个极端点的例子,电阻都是2条腿,SOT-23的MOS管,gds三个管脚排列都是一样的,没有人觉得生产电阻和MOS管是抄。同样的485/CAN的PHY芯片,SO-8封装管脚排列也完全一样。MCU相比之下可能只是管脚多了一点,没有本质差异。当然MCU也有SO-8封装的,甚至SOT-23-6也有。

#101 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 盗版CH340的被判刑了 » 2021-12-21 16:04:55

novice 说:

你越是不说我越是想知道,bing一下,原来GC9034=上海国芯。

这种公司,网上信息翻天覆地了,为什么要给他们名字打码?

#102 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 盗版CH340的被判刑了 » 2021-12-21 15:53:12

novice 说:

你越是不说我越是想知道,bing一下,原来GC9034=上海国芯。

我说了,是袜裤小二改的名字和链接。

#104 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 盗版CH340的被判刑了 » 2021-12-21 09:38:59

echo
回复: 24

重点:专业公司,直接逆向,相似度100%,GC9034,价格730/830=0.88元

http://www.jmzscqlvshi.com/300.html

沁恒公司生产的CH340芯片自2011年上市销售以来深受业内人士喜爱,一跃成为业界值得信赖的国产高端芯片。正因如此,CH340芯片暗中成为了企图不劳而获的不法人员眼中的新“财路”。

2016年,G公司销售人员陶某,在进行市场调研和推广中发现CH340芯片销量大,遂从市场获取正版CH340芯片交予G公司负责公司生产经营等事务的总经理许某,在未获得沁恒公司授权许可的情况下,决定反向破解CH340芯片并对外销售。于是委托其他公司对CH340芯片各层电路布图进行破解,提取GDS文件,再生产掩模工具、生产晶圆、封装,后以G公司GC9034型号芯片名义对外销售。

2016年9月至2019年12月,G公司共销售侵犯沁恒公司著作权的GC9034芯片共计830余万个,销售金额人民币730余万元,上述收益均归G公司单位所有。

#105 Re: 全志 SOC » 网站需要改革,放开文件下载权限(不需要与积分挂钩) » 2021-12-10 09:23:45

@unturned3
水贴和正常贴不太好区分。在控制水贴和标题党方面,amobbs做得比较好。
很多人为了积分会故意灌水,影响阅读,这个问题要解决。

#106 Re: 全志 SOC » 网站需要改革,放开文件下载权限(不需要与积分挂钩) » 2021-12-10 07:16:40

支持积分下载。不能只想着索取不做贡献。
建议水贴不要给积分,精华帖才给积分,同时放开花钱购买积分。
伸手党,白嫖党太多了,论坛也要生存发展。

#108 Re: ESP32/ESP8266 » 刚刚翻出之前做的NodeMCU_Nano做了个应用 » 2021-12-05 11:29:45

这东西直接用IDF开发非常麻烦,但是刷AT固件,用来作为透传模块还是很好用的。

#109 Re: Xilinx/Altera/FPGA/CPLD/Verilog » 分享一个CH552可用的USB-Blaster固件 » 2021-11-27 22:22:23

90999 说:
echo 说:
90999 说:

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

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

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

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

#111 Re: Xilinx/Altera/FPGA/CPLD/Verilog » 分享一个CH552可用的USB-Blaster固件 » 2021-11-24 19:57:11

90999 说:

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

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

#112 Re: 8051/STC8/AT89C51/N76E003 » CH552的IO反转率相当拉胯 » 2021-11-21 17:42:39

Blueskull 说:
echo 说:

补充下:其实拉胯的是执行速度,本身IO还可以,CH552使用SPI输出8M时钟毫无问题。

但是没有fifo和dma,维持不了8M码率。

CH552号称有一个字节的FIFO,不过聊胜于无吧,不要再难为一颗只有16M主频的8051了。

#113 Re: 8051/STC8/AT89C51/N76E003 » CH552的IO反转率相当拉胯 » 2021-11-21 08:59:04

补充下:其实拉胯的是执行速度,本身IO还可以,CH552使用SPI输出8M时钟毫无问题。

#115 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 提醒一下大家,在画 EA3036 PCB 的时候,不要直接 Google 出 datasheet » 2021-11-20 17:30:29

我这里是V1.4版本的,2017年的
最新是EA3036C,这个芯片蛮便宜的,三路Buck用来给Cyclone4提供3.3V/2.5V/1.2V三路电源刚刚好,下次试一下。

#116 ESP32/ESP8266 » 刚刚翻出之前做的NodeMCU_Nano做了个应用 » 2021-11-19 11:05:19

echo
回复: 2

之前折腾ESP8266的时候画的,体积很小28x28mm,用的ESP-12F模块,这个模块非常便宜,弄完就收起来了。
刚刚有个需求,需要将一堆设备的UART数据通过网络发送到PC,拿出来试了试,居然很快就搞定了,还挺好用。
NodeMCU_Nano.png

#117 Re: Xilinx/Altera/FPGA/CPLD/Verilog » 分享一个CH552可用的USB-Blaster固件 » 2021-11-09 09:37:36

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

#118 Re: Xilinx/Altera/FPGA/CPLD/Verilog » 分享一个CH552可用的USB-Blaster固件 » 2021-11-08 16:54:02

david 说:

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

电平转换一片244就搞定了

#119 Re: Xilinx/Altera/FPGA/CPLD/Verilog » 分享一个CH552可用的USB-Blaster固件 » 2021-11-08 11:23:57

iamseer 说:

@echo

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

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

#120 Re: Xilinx/Altera/FPGA/CPLD/Verilog » 分享一个CH552可用的USB-Blaster固件 » 2021-11-08 11:21:09

又优化了一版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掰手腕了。

#121 Re: Xilinx/Altera/FPGA/CPLD/Verilog » 分享一个CH552可用的USB-Blaster固件 » 2021-11-07 09:21:14

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

#122 Re: Xilinx/Altera/FPGA/CPLD/Verilog » 分享一个CH552可用的USB-Blaster固件 » 2021-11-07 09:15:13

david 说:

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

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

#123 Re: Xilinx/Altera/FPGA/CPLD/Verilog » 分享一个CH552可用的USB-Blaster固件 » 2021-11-07 09:09:29

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

#124 Re: Xilinx/Altera/FPGA/CPLD/Verilog » 分享一个CH552可用的USB-Blaster固件 » 2021-11-06 18:54:14

david 说:

加油 现在jtag时钟能到多少

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

#125 Re: Xilinx/Altera/FPGA/CPLD/Verilog » 分享一个CH552可用的USB-Blaster固件 » 2021-11-06 12:52:32

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

#126 Re: 全志 SOC » 【全开源/D1s】芒果派麻雀 MangoPi-MQ1 基于D1s 的 RISC-V Linux小板 【最新消息:淘宝开卖了,链接在一楼】 » 2021-11-02 14:43:56

mango 说:
达克罗德 说:

哪家做的PCB,感觉高端漂亮

华秋

在华秋做过六层板,还可以。JLC也就做做双面和四层板。

#127 Re: Xilinx/Altera/FPGA/CPLD/Verilog » 分享一个CH552可用的USB-Blaster固件 » 2021-11-01 16:43:46

david 说:

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

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

#128 RISC-V » CH573F的dhrystone运行速度测试 » 2021-11-01 09:22:00

echo
回复: 3

CH573F这颗RISC-V的MCU很有意思,内部FLASH很大,CodeFlash就有448kB,但是SRAM相对较少,只有18kB。

官网介绍标的主频为20M,但是实际SDK里面,可以通过PLL提高主频到60M,关于性能,手册介绍得比较少,只在介绍FLASH的时候提了一句:20MHz系统主频下基本零等待。

根绝多年经验,判断内部使用的是大容量的SPI FLASH,代码通过cache来访问,性能比SRAM中零等待运行慢一些,但是比无cache的方案(比如GD32F1x0系列)速度有质的差异。

使用dhrystone进行了一些测试,结果完全支持以上结论,性能主要决定于主频和程序运行的位置,结果如下:

SRAM
  • 60M   13.3ms     2.76x

  • 20M   25.2ms     1.55x

  • 8M     73.5ms     1.94x

FLASH
  • 60M 36.7ms      36.2%

  • 20M 39.0ms      64.6%

  • 8M 142.4ms      51.6%

几个结论:
  • 代码在SRAM中运行时,随着主频提高,性能也在提高,在FLASH中运行时,超过20M性能提升就非常有限了。

  • SRAM中运行时,8M主频时73.5ms,和其它RISC-V(比如GD32VF103,54.39ms)比稍慢一些,比Cortex-M3的45.92ms速度再慢一些。

  • 代码在FLASH中运行时,性能只有SRAM中运行的一半左右,大量对速度要求不高的代码,比如业务逻辑,完全可以在FLASH中运行,性能是可以接受的。

  • 代码在FLASH中运行时,超过20M以后性能提升很小了,手册中提到的“20MHz系统主频下基本零等待”应该就是这个意思,这个性能大约就是一个8M的Cortex-M4(38.4ms)的水平。

  • 少数需要很高运行速度的代码可以放到SRAM中运行,不受SPI FLASH性能限制,高主频时提升还是非常明显的。

整体上感觉这个设计还是挺好的,在FLASH容量和性能之间取得了一个折衷,是个不错的解决方案。

WCH的设计经常有些类似的惊喜,比如CH552那个200次的iFLASH工艺,可以有效降低成本,200次的FLASH寿命可以满足绝大多数低端产品的需求了。

#129 Re: RISC-V » 国产riscv芯片汇总 » 2021-10-29 15:55:07

@Blueskull
这波MCU涨价之前,ARM其实都已经白菜价了,两三块的M0比比皆是。

#130 Re: 8051/STC8/AT89C51/N76E003 » CH552的IO反转率相当拉胯 » 2021-10-29 15:51:29

@iamseer
任何对性能有要求的场合都不应该考虑8051,这个评价是很准确的,不用怀疑。

#131 Re: Xilinx/Altera/FPGA/CPLD/Verilog » 开源一个自己画的超迷你FPGA核心板 » 2021-10-29 15:48:30

tjiely 说:

@Blueskull
ep4ce10都涨到400了,想找家国产的替代,不知道哪家靠谱

AG10KL144,直接P2P替换,PCB都不用改。

#132 Re: Xilinx/Altera/FPGA/CPLD/Verilog » 开源一个自己画的超迷你FPGA核心板 » 2021-10-29 14:03:33

echo 说:

体积确实小,不过好多过孔打到QFN的焊盘上了。其实可以把PCB面积放大一点,引出2.54排针,这样用着更方便一些。
我准备用AG1280Q48做一个这样的板子,也是同样的目的。

已经做好了:AgmPill
AgmPill_PINOUT.png

#133 8051/STC8/AT89C51/N76E003 » CH552的IO反转率相当拉胯 » 2021-10-29 10:26:06

echo
回复: 7

当然,所有的8051都拉胯,不是CH552的自己的问题,所有对性能有一定追求的场合,8051都是不合适的。代码很简单

while(TRUE)
{
    P17=1;
    P17=0;
}
//实际编译成汇编以后只有三条指令
//L0: SETB P17
//    CLR  P17
//    SJMP L0

SETB和CLR各需要2个周期,SJMP是5个周期,加起来总共9个周期,16M主频下,最高反转频率不超过2MHz。
各种调试器的TCK频率都会有这个限制,相比之下,USB的速度并不是什么瓶颈。硬件SPI能到8M,不过限制就多了,很多场合用不了,比如有2条SDO信号的地方。CH552实现的各种调试器,只能说能凑合用。

#134 Re: RISC-V » 国产riscv芯片汇总 » 2021-10-29 10:12:25

@Blueskull
其实我只关心MCU终端售价上RV32会不会比Cortex-M更便宜,功能满足的情况下,哪个便宜用哪个,只是目前来看,RV32并没有比Cortex-M更便宜。
RV32代码密度也不是什么问题,选型时多准备50%的闪存就行了,而且AC6编译器在国内你懂的,实在不行还有GCC这个备胎么。
Cortex-M的优势没那么容易撼动的。

#135 Re: RISC-V » 国产riscv芯片汇总 » 2021-10-28 19:15:28

@Blueskull
对终端用户来说,编译器也是代码密度的一部分。即使不考虑编译器,rv代码密度也是低于arm的。
cortex-m是arm专门为代码密度优化的指令集,大部分指令是16位的thumb指令,rv没法比。
同样cortex-m下,ac6代码密度又要明显高于 gcc,商业的编译器还是优于开源编译器。

#136 Re: RISC-V » 国产riscv芯片汇总 » 2021-10-28 15:43:08

kekemuyu 说:

看到一篇不错的分析riscv代码密度的文章:
https://developer.aliyun.com/article/783932

我实测的结果是目前RISC-V和Cortex-M比代码密度差距明显。

#137 Re: 全志 SOC » any D1s/F133-A chips available ??? » 2021-10-28 14:35:39

@Blueskull
原来矽速和安信可是同一个老板呀。

#139 Re: Cortex M0/M3/M4/M7 » GD32F1x0的非零等待闪存运行速度测试 » 2021-10-26 12:14:48

armstrong 说:

这类慢速flash作为XIP,除非有cache扶持,否则就是废材。
ESP32的QSPI-Flash有cache;STM32H7的QSPI-Flash也有cache,NXP的Cortex-M7也都有cache,这些才是合理设计。

雅特力的AT32,非零等待部分应该也是有Cache的。性能下降在同一个数量级。
GD32这个看起来是没有Cache的,就当它不存在好了。慢三个数量级,怪不得手册上不敢写。

#140 Cortex M0/M3/M4/M7 » GD32F1x0的非零等待闪存运行速度测试 » 2021-10-26 10:11:51

echo
回复: 8

GD32F1x0系列,常见的GD32F130和GD32F150,只有前32kB闪存为零等待,32kB往后的非零等待闪存手册中只提了一句话:

从闪存的32K ~ 64K地址空间内取数据有比较长的延迟

对这句话一个严谨的工程师是没法接受的,比较长的延迟?到底多长的延迟算是比较长呢?既然官方没有说明,那我只好自己测试一下了。

测试的目的,主要是判断一下在32kB之后的非零等待闪存中运行代码有没有实用性,对用户选型做一个参考。测试方法使用Dhrystone,和之前对比Cortex-M和RISC-V效率的代码是一样的。

测试芯片为GD32F150C8T6,方法为同一份Dhrystone代码编译的固件放到0x8002000和0x8008000分别运行,测试运行时间。运行主频选择8MHz,通常主频越高,SPI闪存访问效率瓶颈会更明显,所以先用低主频来测试,如果差异不大,再提高主频测试。

# 8MHz零等待闪存O3优化
dhry
Start dhrystone test...
Stopped, elasped time = 38ms 3840

# 8MHz零等待闪存Oz优化
dhry
Start dhrystone test...
Stopped, elasped time = 57ms 5709

# 8MHz非零等待闪存O3优化
dhry
Start dhrystone test...
Stopped, elasped time = 31708ms 26465

# 8MHz非零等待闪存Oz优化
dhry
Start dhrystone test...
Stopped, elasped time = 142337ms 12387

结果汇总如下,注意单位:

  • 8MHz零等待闪存O3优化:38.40ms

  • 8MHz零等待闪存Oz优化:57.09ms

  • 8MHz非零等待闪存O3优化:31.708s

  • 8MHz非零等待闪存Oz优化:142.337s

结果一目了然,非零等待闪存的运行速度低了3个数量级,串口输出都有明显的卡顿,尤其是Oz优化的时候,我一度以为程序是不是死机了?两分多钟以后结果出来了。通常非零等待闪存运行效率的降低如果在一个数量级以内,运行一些对速度要求不高的业务代码还是完全可用的。至于低了3个数量级么,运行代码基本可以判定为不可用,放一点不常访问的数据,或者就当它不存在好了。

#141 Re: RISC-V » 国产riscv芯片汇总 » 2021-10-25 16:46:09

看到个比较有意思的RISC-V,中科昊芯的HXS320F28335PGFA,HXS320F28034PNT,HXS320F28027PTT,很明显是对标TI的三款知名型号,HXS换成TMS就是TI的型号,这三款也是在数字电源、电机控制领域使用很多的芯片。

#142 Re: 8051/STC8/AT89C51/N76E003 » 8051的双DPTR指针快速复制测试 » 2021-10-25 10:43:19

经过 @Alexi2008 大佬指点,找到了开不开地址自增运行时间一样都是128us的原因。
DJNZ指令如果位于奇地址,会增加一个周期,刚好吃掉INC DPTR指令省下来的那个周期。看了下汇编代码,确实开地址自增以后的DJNZ指令在奇地址。
改一下代码,让两条DJNZ指令都位于偶地址,再次测试,结果如下:
TestDualDPTR_DJNZ_EVEN.jpg

  • mempcy函数:420us

  • A5指令不开自增:128us

  • A5指令开自增:97us

可以看到,打开地址自增以后,运行时间从128us降低到了97us,提升也不少。极限情况下,A5指令可以比memcpy函数快4.33倍。

#143 Re: RISC-V » 国产riscv芯片汇总 » 2021-10-23 10:03:45

WCH全系送USB,这个很厚道。

#144 Re: 8051/STC8/AT89C51/N76E003 » 8051的双DPTR指针快速复制测试 » 2021-10-23 09:04:42

@Blueskull
理论上会减少一条INC DPTR指令,时间应该能少一个周期,不过我原文实测的结果是没有差别。

#145 Re: 8051/STC8/AT89C51/N76E003 » 8051的双DPTR指针快速复制测试 » 2021-10-22 18:12:51

Blueskull 说:

CH552的DPTR自增有坑,在USB传输时,USB的DMA可能修改DPTR用的bank,同时用户代码使用DPTR自增可能导致数据混乱。几个字节几十个字节测不出来,有时候几十KB都测不出来,但是有极其小的概率,大概几百KB一次的概率会触发。

那就不用它了,保持bDPTR_AUTO_INC一直为0,从测试结果来看,打开DPTR自增对加快复制速度也没有什么作用。

#146 8051/STC8/AT89C51/N76E003 » 8051的双DPTR指针快速复制测试 » 2021-10-22 16:44:37

echo
回复: 7

众所周知,标准8051只有一个DPTR指针,通过DPTR访问XRAM速度是比较慢的,尤其是从XRAM的一个缓冲区搬数据到另外一个缓冲区,更是雪上加霜。

看到CH55x的头文件了提到了新增的A5指令,配合双DPTR指针,可以快速在XRAM中搬数据,写了段代码测试了下,从XRAM的的一个缓冲区搬255字节到另外一个缓冲区,对比对象是C标准库中的memcpy函数。同时由于CH55x的DPTR支持自增操作,把DPTR自增也作为一个变量一起测试一下。

结论如图:
TestDualDPTR.jpg

  • mempcy函数:420us

  • A5指令不开自增:128us

  • A5指令开自增:128us

从测试结果来看,A5指令配合双DPTR速度提高了大约3.3倍,节省的时间还是相当可观的。DPTR自增对运行时间几乎无影响,按说循环中节省了一条INC指令,应该能提高一点速度呀,奇怪。

完整代码如下:

/*
New Instruction:   MOVX @DPTR1,A
Instruction Code:  0xA5
Instruction Cycle: 1
Instruction Operation:
   step-1. write ACC @DPTR1 into xdata SRAM embedded chip
   step-2. increase DPTR1
ASM example:
       INC  XBUS_AUX
       MOV  DPTR,#TARGET_ADDR ;DPTR1
       DEC  XBUS_AUX
       MOV  DPTR,#SOURCE_ADDR ;DPTR0
       MOV  R7,#xxH
 LOOP: MOVX A,@DPTR ;DPTR0
       INC  DPTR    ;DPTR0, if need
       DB   0A5H    ;MOVX @DPTR1,A & INC DPTR1
       DJNZ R7,LOOP
*/

extern UINT8X Ep1Buffer[];
extern UINT8X syscall_buf[];

BOOL VerifyMemory(void)
{
	uint8_t i = 0;

	for(i=0; i<0xFF; i++)
	{
		if(Ep1Buffer[i] != syscall_buf[i])
		{
			return FALSE;
		}
	}

	return TRUE;
}

void testDualDPTR(void)
{
	// memcpy
	memset(syscall_buf, 0, 0xFF);
	P33 = 1;
	memcpy(syscall_buf, Ep1Buffer, 0xFF);
	P33 = 0;
	if(VerifyMemory())
	{
	#pragma ASM
		SETB P33
		NOP
		CLR P33
	#pragma ENDASM
	}

	// Dual DPTR without AUTO_INC
	memset(syscall_buf, 0, 0xFF);
#pragma ASM
	SETB P33
	ORL  XBUS_AUX, #01H     ;DPS=1
	MOV  DPTR, #syscall_buf ;DPTR1
	ANL  XBUS_AUX, #0FEH    ;DPS=0
	MOV  DPTR, #Ep1Buffer   ;DPTR0
	MOV  R7,#0FFH
L0: MOVX A, @DPTR           ;DPTR0
	INC  DPTR               ;DPTR0++
	DB   0A5H               ;MOVX @DPTR1,A & INC DPTR1
	DJNZ R7, L0
	CLR P33
#pragma ENDASM
	if(VerifyMemory())
	{
	#pragma ASM
		SETB P33
		NOP
		CLR P33
	#pragma ENDASM
	}

	// Dual DPTR with AUTO_INC
	memset(syscall_buf, 0, 0xFF);
#pragma ASM
	SETB P33
	ORL  XBUS_AUX, #05H     ;bDPTR_AUTO_INC=1 DPS=1
	MOV  DPTR, #syscall_buf ;DPTR1
	ANL  XBUS_AUX, #0FEH    ;DPS=0
	MOV  DPTR, #Ep1Buffer   ;DPTR0
	MOV  R7,#0FFH
L1: MOVX A, @DPTR           ;DPTR0
	DB   0A5H               ;MOVX @DPTR1,A & INC DPTR1
	DJNZ R7, L1
	ANL  XBUS_AUX, #0FBH    ;bDPTR_AUTO_INC=0
	CLR P33
#pragma ENDASM
	if(VerifyMemory())
	{
	#pragma ASM
		SETB P33
		NOP
		CLR P33
	#pragma ENDASM
	}
}

#147 Re: 全志 SOC » 全志A33 , 4核,1.2G主频 » 2021-10-22 14:42:17

四个核心加起来1.2G?只有路由器带宽才会这么干。

#148 Re: Xilinx/Altera/FPGA/CPLD/Verilog » 分享一个CH552可用的USB-Blaster固件 » 2021-10-22 10:25:42

Blueskull 说:

没有源代码?

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

#149 Re: Xilinx/Altera/FPGA/CPLD/Verilog » 分享一个CH552可用的USB-Blaster固件 » 2021-10-22 10:24:58

david 说:

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

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

#150 Xilinx/Altera/FPGA/CPLD/Verilog » 分享一个CH552可用的USB-Blaster固件 » 2021-10-21 20:11:13

echo
回复: 40
下载链接

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接口

#152 Re: Xilinx/Altera/FPGA/CPLD/Verilog » 刚刚踩的AG1280Q48新鲜坑 » 2021-10-12 21:57:12

试过了,没用。就是因为那个STM32的USB-Blaster不支持AS下载,我用自己的USB-Blaster固件就可以了。
晒一下刚刚做的AGM1280核心板:AgmPill.
AgmPill_PINOUT.png

david 说:

换老版本的supra试下 我遇到过新版supra只能支持盗版blaster 老版本的可以支持altera原版blaster

#153 Xilinx/Altera/FPGA/CPLD/Verilog » 刚刚踩的AG1280Q48新鲜坑 » 2021-10-12 11:34:17

echo
回复: 7

AGM的FPGA和CPLD都用Altera的USB-Blaster下载,实际使用时发现下载AG1280Q48时,_sram.prg文件可以成功下载,但是_hybrid.prg文件无法下载,Supra报

Error: [as_device_id] Configuration device ID not found.

大概意思就是找不到配置器件的ID,查了半天,没有找到原因,最后怀疑到手头这个usb-blaster上。这个usb-blaster于15年购买自淘宝,非常便宜,方案是STM32F101CBT6+HC244。
市面上的usb-blaster方案很多,最早的是FT245+CPLD,性能好,成本低;后来有了cy7c68013方案的,成本低性能也低;再后来就是stm32方案的,成本还是很低,性能上去了。由于Altera的CPLD只需要JTAG,FPGA使用jic文件下载的话,也只需要JTAG接口,很多usb-blaster为了省事就去掉了AS下载功能。
然而AG1280Q48这个芯片的FLASH下载刚好需要使用AS下载功能,使用不支持AS下载的usb-blaster就会导致_hybrid.prg文件下载不进去。
解决方案很简单,自己用STM32F103C8T6做了一个usb-blaster,板子使用BluePill,这个板子非常多,MCU涨价之前也非常便宜。
USB-Blaster固件下载连接:USB-Blaster on BluePill.

#154 Re: Xilinx/Altera/FPGA/CPLD/Verilog » 想用国产FPGA真不容易 » 2021-10-03 19:38:16

EP4CE6可以考虑换AG10KL144,直接P2P兼容的,软件综合也是用Quartus。
EPM240替换型号是AG256SL100.

EE 说:

近来需要画了一块 EPM240 的板子,后面打算试一下 如EP4CE6。看到大神们提到安咯,就也想看一下

在深水宝,要遛爸爸上搜索“GW1N-1芯片“什么芯片都没有。。。

买个片子都难,,还整什么。

#155 Re: Xilinx/Altera/FPGA/CPLD/Verilog » 开源一个自己画的超迷你FPGA核心板 » 2021-09-30 22:18:55

体积确实小,不过好多过孔打到QFN的焊盘上了。其实可以把PCB面积放大一点,引出2.54排针,这样用着更方便一些。
我准备用AG1280Q48做一个这样的板子,也是同样的目的。

#156 Cortex M0/M3/M4/M7 » 开源一个ATLink的PCB可直接打样 » 2021-09-29 10:52:06

echo
回复: 2

在雅特力官方AT-Link v1.4版本基础上对硬件做了一定精简,减少了器件种类和数量, 替换部分不容易购买的物料,同时固件保持完全兼容,方便普通用户DIY。固件可以直接找雅特力申请。工程链接:
https://github.com/xjtuecho/CMSIS-DAP/tree/master/ATLink-Lite
有Gerber文件,已经打样验证过,可以直接去狗创白嫖PCB。
与官方AT-Link v1.4版本对比

  • MCU引脚分配相同,固件完全通用

  • 阻容二极管全部更换为0805封装,方便焊接,符合JLC的SMT标准

  • RT9080N-08GJ5电源芯片更换为XC6206P332MR,更容易采购,保留双LDO设计

  • 输出SWD端子更换为直插排针,减少整体长度,本身60mm已经很长了

  • 8M无源5032晶振更换为2脚,更容易焊接

  • 去掉4个2mm定位孔,PCB增加圆角,方便套热缩管

  • 去掉USBLC6-2SC6等ESD器件,现代MCU的抗静电能力已经很强,低价值设备也没必要保护

  • USB接口的防倒灌二极管更换为500mA自恢复保险丝

  • 按键更换为3x4x2.5小龟仔

top_layer.png
bottom_layer.png

#157 Re: ESP32/ESP8266 » ESP8266为何无固件时会在GPIO0输出26M时钟? » 2021-09-18 13:37:24

@Blueskull
要分清楚路径,这个传播路径和退藕没关系。而且这个频率26M的时候电容是不是容性都不好说。

#158 Re: ESP32/ESP8266 » ESP8266为何无固件时会在GPIO0输出26M时钟? » 2021-09-18 12:10:26

msr06rr 说:

楼主,如果是新项目开坑的话,还是用C3吧....

14年的时候用ESP8266做了个项目,现在MCU紧缺,看到ESP8266这么便宜,于是就把ESP8266拉出来溜溜,还是有收获的,知道为啥ESP8266这么便宜了,坑实在是太多了,防不胜防。

#159 Re: ESP32/ESP8266 » ESP8266为何无固件时会在GPIO0输出26M时钟? » 2021-09-18 11:51:05

补充:
ESP32-S2没有这个问题,GPIO0上电也会打出几个电平,然后就一直是安静的高电平了。
ESP32-C3行为和ESP32-S2是一样的。
ESP32呢比较奇怪,是个360ms一次的脉冲。

#160 ESP32/ESP8266 » ESP8266为何无固件时会在GPIO0输出26M时钟? » 2021-09-18 09:49:27

echo
回复: 6

ESP8266又一个让人窒息的设计,查找偶尔上电不工作的时候找到的,GPIO0输出26M时钟干扰3.3V电源把USB转串口芯片给干懵了。
使用esptool.py的erase_flash命令将FLASH固件全部擦除,上电,这时候在GPIO0上会输出26M时钟信号.
01-GPIO0和3.3V电源纹波.png
因为GPIO0默认状态下是通过电阻上拉到3.3V的,这个时钟信号会严重干扰3.3V电源,普通的LDO对这么高频的信号是完全没有调整能力的。
作为对比,按下复位按键以后,GPIO0和3.3V电源都是十分干净的。
02-复位时GPIO0和3.3V电源.png
像1117这种LDO对于负载的调整能力已经很强了(代价就是静态电流大),即使这样,对于这种26M的干扰完全没有抑制能力,很多ESP8266的文档提到要用500mA的电源,大概率和这个GPIO0上输出的26M时钟信号有关系,3.3V干扰成那样,无论ESP8266自身还是同样挂在3.3V电源上的其它芯片都会受到严重影响。

#161 Re: ESP32/ESP8266 » 除了ESP32/ESP8266还有其它厂家用Xtensa的核心吗? » 2021-09-17 10:50:19

@XIVN1987
这个只能说明Xtensa隐藏的实在是太好了

#162 Re: ESP32/ESP8266 » 除了ESP32/ESP8266还有其它厂家用Xtensa的核心吗? » 2021-09-17 10:48:57

XIVN1987 说:
echo 说:

其实SDK已经把底层都给封装好了,底层什么核心并不重要。
RISC-V只出了ESP32-C3一款而已。

又出了个 ESP32-H2,BLE + Zigbee
https://www.espressif.com/zh-hans/news/ESP32_H2?position=6&list=2Jmgp20Ks2hwxwuzBiWoW-cyTclWAsDkriUiwY4moV4

这个ESP32-H2目前官网只有个新闻,还没有资料。别看出了这么多型号,还需要时间和市场的验证,能成功的估计不会有几个。ESP8266显然是经过时间和市场的验证了。竞争对手们也没闲着,GD出了个GD32W515,180M的Cortex-M33 内置 2.4G wifi,也想来这个市场分一杯羹。

#163 Re: ESP32/ESP8266 » 除了ESP32/ESP8266还有其它厂家用Xtensa的核心吗? » 2021-09-17 10:44:39

@XIVN1987
40亿的量真不小了,但是市面上的声音真不大,除掉乐鑫,基本看不到什么水花。据说乐鑫选Xtensa是因为授权费便宜,显然RISC-V会更便宜。

#164 Re: ESP32/ESP8266 » 除了ESP32/ESP8266还有其它厂家用Xtensa的核心吗? » 2021-09-14 22:30:38

kekemuyu 说:
echo 说:

比如?哪个厂的什么产品?

kekemuyu 说:

其他厂家并不像乐鑫一样开放,所以我们不了解。国外很多大厂在用

官网: https://www.cadence.com/en_US/home/tools/ip/tensilica-ip/partners.html#siliconservices

貌似都是些RTOS,没有具体的芯片型号

#165 Re: ESP32/ESP8266 » 除了ESP32/ESP8266还有其它厂家用Xtensa的核心吗? » 2021-09-14 22:28:13

其实SDK已经把底层都给封装好了,底层什么核心并不重要。
RISC-V只出了ESP32-C3一款而已。

le062 说:

除非能赚钱,否则不要花时间研究这个核心,ESP自己都开始用RISC-V了

#166 Re: ESP32/ESP8266 » 除了ESP32/ESP8266还有其它厂家用Xtensa的核心吗? » 2021-09-14 09:53:11

比如?哪个厂的什么产品?

kekemuyu 说:

其他厂家并不像乐鑫一样开放,所以我们不了解。国外很多大厂在用

#167 ESP32/ESP8266 » 除了ESP32/ESP8266还有其它厂家用Xtensa的核心吗? » 2021-09-14 08:08:09

echo
回复: 18

找了半天,没有找到其它厂家用这个核心

#168 Re: ESP32/ESP8266 » ESP8266的外设真的很拉垮 » 2021-09-09 09:07:08

还有个坑,ESP8266的UART看起来有两个,实际上只有1.5个,因为UART1的RXD被SPI FLASH占用了,只有TXD可以用,所以UART1只能算半个。

#169 Re: ESP32/ESP8266 » ESP8089就是ESP8266 ? » 2021-09-05 14:47:02

右下角的一多半是wifi收发器和PA?

#170 Re: ESP32/ESP8266 » ESP8266的外设真的很拉垮 » 2021-09-03 10:41:21

内置FLASH只是把外面那颗SPI FLASH封进去了而已。所以管脚没法干别的用。
@晕哥小弟

#171 Re: ESP32/ESP8266 » ESP8266的外设真的很拉垮 » 2021-09-01 16:33:39

后续的ESP32系列就正常多了,I2C,PWM都是硬件的,甚至连USB和CAN都有了

XIVN1987 说:

SOC是这样,,外设比较少

想要外设多的话,,还得是MCU,,MCU各种外设都很全

#172 Re: ESP32/ESP8266 » ESP8266的外设真的很拉垮 » 2021-09-01 12:55:25

买wifi芯片送个不要钱的Xtensa核心,外设不能强求。而且价格是真香

#173 ESP32/ESP8266 » ESP8266的外设真的很拉垮 » 2021-09-01 11:41:30

echo
回复: 12

手册上说的外设有:UART、GPIO、I2C、I2S、SDIO、PWM、ADC、SPI

实际上呢,I2C和PWM都是软件实现的实际上硬件并没有,ADC只有10位,1个输入端口,测量范围1V,基本和没有差不多。

I2S、SDIO和SPI实际上都是SPI,除去GPIO,真正硬件实现的外设只有UART和SPI。

#174 Re: ESP32/ESP8266 » ESP32-C3片子好像出来了 » 2021-08-30 10:47:27

最近收货的ESP32-C3,是V3版本。然而USB没有引出来。
$ esptool.py chip_id
esptool.py v3.1
Serial port COM1
Connecting....
Detecting chip type... ESP32-C3
Chip is unknown ESP32-C3 (revision 3)
Features: Wi-Fi
Crystal is 40MHz

#175 Re: ESP32/ESP8266 » 乐鑫 ESP32-C3 功能介绍 » 2021-08-23 12:47:39

TWAI,中文名“双线汽车接口”,猛一看还挺唬人,其实就是CAN,这个貌似ESP32,ESP32-S2等都有。

kekemuyu 说:
echo 说:

刚刚买了个ESP32-C3板子,这芯片居然还带CAN和USB。主要是芯片价格太香了,评估下做个备胎。

usb似乎只能jtag,can有吗?

#176 Re: ESP32/ESP8266 » ESP32有没有唯一Id(UID)? » 2021-08-22 17:09:34

外部的SPI FLASH通常会有UID,比熔丝位和MAC地址靠谱一些。

#177 Re: ESP32/ESP8266 » 乐鑫 ESP32-C3 功能介绍 » 2021-08-22 16:10:05

刚刚买了个ESP32-C3板子,这芯片居然还带CAN和USB。主要是芯片价格太香了,评估下做个备胎。

#179 Re: RISC-V » RISC-V代码密度相比Cortex-M差距明显 » 2021-08-05 22:16:54

从这个结果来看,GCC实在是太拉胯了。感觉SEGGER在黑GCC。

#180 Re: 全志 SOC » 寻个大哥做一下 全志T507适配 S6E63D6 屏幕 有偿 » 2021-07-12 15:53:41

分辨率才240x320,Android10推太浪费了吧,MCU推这个屏幕都够了。

#182 RISC-V » RISC-V对比Cortex-M的Dhrystone性能测试对比 » 2021-06-25 18:46:44

echo
回复: 1

之前对比了RISC-V和Cortex-M的代码密度,结论是同样功能,RISC-V要多用大约6成的FLASH空间,追求面积优化的应用器件选型时需要注意,那么性能如何呢?本文对比了一下。

测试方法使用Dhrystone 2.1源代码,RISC-V分别和M4,M3核心对比,测试结果如下:

RISC-V芯片,GD32VF103,RV32IMAC核心,8M主频,GCC编译器

-O3优化,实测时间54.39ms
-Os优化,实测时间94.09ms
-Ofast优化,实测时间54.39ms,与-O3完全一样
ARM芯片,GD32F330,Cortex-M4核心,8M主频,AC6编译器

-O3优化,实测时间38.40ms
-Os优化,实测时间39.15ms
-Ofast优化,实测时间38.40ms,与-O3完全一样
-Oz优化,实测时间57.09ms
GD32F103,Cortex-M3核心,8M主频,AC6编译器

-O3优化,实测时间45.92ms
-Os优化,实测时间46.68ms
-Ofast优化,实测时间45.92ms,与-O3完全一样
-Oz优化,实测时间64.88ms
结论:

最大速度优化情况下,RISC-V执行时间是M4的54.39/38.40*100%=141.64%,是M3的54.39/45.92*100%=118.45%。

粗略来看,RISC-V同频性能比M4慢大约4成,比M3大约慢2成。当然这里面肯定有编译器的差距,GCC肯定是要比AC6弱的,这点毋庸置疑。

ARM也有GCC编译器可用,不过大多数ARM用户都是使用ARM的编译器,对比两者在GCC编译器下的表现意义并不大。

还有一点是GD没有提供GCC编译器的startup文件,我也懒得再去自己写了。

#183 Re: RISC-V » 【新玩具get】博流智能BL702(RISC-V+FPU+2.4G+USBD) » 2021-06-25 18:46:01

这个芯片便宜吗?便宜的话还值得玩玩。

#184 Re: RISC-V » RISC-V代码密度相比Cortex-M差距明显 » 2021-06-22 20:19:32

cube 说:
echo 说:
kekemuyu 说:

这样比没有用的,编译器的因素影响太大。都用汇编还好点,不过理论上thum2的代码密度确实比riscv的精简指令要高。

RISC-V目前除了GCC还有其它编译器支持吗?

据说IAR支持了。

https://www.iar.com/products/architectures/risc-v/iar-embedded-workbench-for-risc-v/
In current version of the toolchain, code density is already small comparing to other available tools
看来代码密度确实是RISC-V的大问题,IAR这里 other available tools 指的应该就是GCC。

#185 Re: RISC-V » RISC-V代码密度相比Cortex-M差距明显 » 2021-06-22 20:02:20

kekemuyu 说:

这样比没有用的,编译器的因素影响太大。都用汇编还好点,不过理论上thum2的代码密度确实比riscv的精简指令要高。

RISC-V目前除了GCC还有其它编译器支持吗?

#186 Re: RISC-V » RISC-V代码密度相比Cortex-M差距明显 » 2021-06-22 20:00:51

cube 说:

压缩指令选项应该开了吧?RISCV指令精简程度比ARM更高,大一点也不奇怪。

差了近40%,不是不能算是“一点”了。10%以内的话还可以接受。

#187 Re: RISC-V » RISC-V代码密度相比Cortex-M差距明显 » 2021-06-22 19:59:40

差了近40%,这个差距十分明显了,同样核心芯片都是按照FLASH容量定价格的,核心省下来的授权费说不定还不够买多用的FLASH。
还是Cortex-M香。

#188 Re: RISC-V » 兆易创新发布RISC-V单片机,GD32VF103系列。 » 2021-06-22 17:40:51

刚刚盘完这颗GD32VF103,代码密度和ARM比差距巨大。

#189 RISC-V » RISC-V代码密度相比Cortex-M差距明显 » 2021-06-22 17:36:56

echo
回复: 18

自己的Xboot工程,在ARM的M0/M3/M4/M23/M33平台下面,全部可以在7kB闪存以内实现,几个架构差异不大,7kB闪存普遍剩余一两百个字节。

最近把它移植到RISC-V上,芯片型号GD32VF103CBT6,同样的一套代码,使用gcc编译,-Os面积优化,固件尺寸11520字节。超过11kB了,速度优化代码尺寸超过16kB。

ARM算7kB,两者对比,7*1024/11520*100%=62.2%,也就是说,同样的功能,Cortex-M只需要RISC-V六成多一点的代码就能实现。

当然还有一个变量要考虑,ARM使用AC6编译,RISC-V使用gcc编译,编译器的效率也会有一定差异。

调试方面RISC-V只能用JTAG(GDLink可以支持),相比之下Cortex-M的SWD调试用起来更方便一些。

至此GD32家的M3/M4/M23/M33/RISC-V五种核心全部盘完了。

#190 Re: 硬件设计 KiCAD/Protel/DXP/PADS/ORCAD/EAGLE » 开源 EDA KiCad v6.0 文档手册 -- 预览版 » 2021-06-22 11:00:23

6.0赶紧出来吧,能否干死商业软件不好说,干死lceda倒是完全有可能。

#194 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 国产MCU对rtos的需求大吗? » 2021-05-19 08:08:01

用RTOS是为了用现成的软件提高开发效率,代价是浪费一些硬件资源,风险是可能引入更多的坑。使用中根据需求自行评估。
和MCU是不是国产没有关系。

#195 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 国产MCU对rtos的需求大吗? » 2021-05-17 09:05:37

用rtos也是为了上面现成的软件,目的是降低开发难度,加快开发进度。代价是多浪费一点资源。
现实是资源浪费了,还可能引入更多的坑,所以能不用尽量不用rtos。

#196 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 发现个比较NB的蓝牙芯片杰理AC6368A » 2021-05-04 20:03:48

SDK的demo已经编译运行OK了,遇到个比较奇怪的bug,这个芯片的资料只有一个9页的pdf,太少太少了。
国产IC这尿性真是不敢恭维。

#198 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 发现个比较NB的蓝牙芯片杰理AC6368A » 2021-04-26 14:22:52

这个芯片内置了2Mbit(256kB的)SPI FLASH,ID为0xEB6012,谁知道0xEB是哪个厂家的ID?
自己找到答案了,0xEB是紫光青藤,内置的SPI FLASH型号为TH25D-20HA

#199 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 发现个比较NB的蓝牙芯片杰理AC6368A » 2021-04-25 09:59:38

目前的V1.8版本有bug,已经给开发者反馈了,目前已经更新到V1.9版本,等我买的下载器到了就可以刷固件测试。
KT6368A的开发者看起来还比较给力,反馈的bug都能修复,如果能把bug修得差不多,我也不想折腾这个芯片了。只见用二次开发的成品就行了。

通宵敲代码 说:

KT6368A蓝牙芯片使用说明书_V1.8.pdf
补个数据手册,不过是已经做了二次开发的KT6368A的

#200 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 发现个比较NB的蓝牙芯片杰理AC6368A » 2021-04-22 19:37:10

收到货测试了,硬件基础功能没问题,不过它这个转发功能软件bug太多了,完全没法用。和HC的模块差距太大了。

页脚

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

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