[USB芯片]

采用CH32V307 HS*USB 的DAPLINK的(半)开源介绍

[复制链接]
1210|7
手机看帖
扫描二维码
随时随地手机跟帖
yuan_莫|  楼主 | 2022-10-5 00:27 | 显示全部楼层 |阅读模式
本帖最后由 yuan_莫 于 2022-10-5 02:22 编辑

DAPLINK是干什么的 我不介绍了。本帖子只是一个前车,只是详细的记录下开发的过程,至于源代码方面 目前不提供, 可以提供对应的hex文件~仅供测试, 等自己的硬件做出来后,在进行完整的开源处理,大佬们稍安勿躁。
常规使用的下载器 有STLINK,JLINK,DAPLINK。基本上市面上卖的大部分都是这三大类。 其中STLINK现在已经发展到V3版本, 有幸买到了miniV3版本采用STM32F723实现的 内部使用HS模式。 支持SWD+串口。至于下载速度 JTAG 21M,SWD+和SWV是24M,1路15M的串口。价格大概在¥100-200样子。至于JLINK~~~不好意思。买不起正版的,都是各种阉割版或者盗版的。不能瞎评论。 价格也太贵了了。不扯废话了。直接奔入主题。
DAPLINK目前有2个版本, 一个V1 走HID协议, 也就是第一代版本。 后面官方升级到V2版本 采用的WINusb的。  至于什么是HID 什么是WINusb,说实话我也没有研究清楚。 据我了解是 HID走的中断传输,一次最大传输64字节,而winusb模式采用的是buck传输,一次最大传输1023字节。以为在HID下 修改下传输模式就行, 后来看了几个大佬的代码,才发现 并不是这样的。被坑了几天。 就按照大佬和官方的来了。 调试WINusb的枚举以及对应的免驱动代码。至于CDC方面,CH32V307这颗芯片有8个串口, 而自己实际使用的 有多个串口模式, 特别会使用到RS485和RS232等电平转换芯片。 索性就扩展到4路,2路TTL 串口, 1路485,1路232电平。翻转资源多。

说说CH32V307这颗芯片的优点。
CH32V307 采用青稞 V4F 内核 RISC-V的内核,144M主频,支持浮点运算(其实理解成M4的内核就可以的)

开发过程 和ST的没有什么区别,并且bsp级别 都是采用类似的函数。
开发软件 MounRiver Studio。
FALSH 256KB+64K RAM 不过实际使用的使用是可变的  支持 192+128/224+96/256+64/288+32  (不知道怎么实现的, 不知道后面的是非零等待技术 那样的RAM的速度~~~~~~~)
内嵌HS 480M usb+FS 12M usb +OTG PHY。 带上拉电阻。(据官方说 速度可以达到40MB/s传输+10M的距离,有兴趣的大佬可以测试下)。
内嵌10M 以太网PHY+百兆、千兆的MAC。外扩千兆、百兆的PHY就可以运行高速, 事实上在工业项目上, 10M的速度也足够了的,毕竟成本在那。
8路串口 USART+UART
2组共16路的DMA,大部分的外设都支持DMA的(具体的没有太过于研究,我只关注自己使用的一些外设)
2路IIC 不知道有没有sT的bug  没有测试。目前也没有使用到
1路SDIO
3路SPI 速度可以达到36M(主从模式),速度有点儿~~~不太高,一般足够用了的。
4路OPA
1路DVP(摄像头接口)
已经其他的~~自行查看下ds的资料。  说了这么多废话, 就是想告诉大家,这颗芯片外设真的很丰富, 可玩性很强, 唯一就是不足的是RAM太小了。不支持QSPI 其他真的没有话说。 当然还没有说其他的 就是价格~~~真的很便宜, VCT6大概12~13样子(官方给的价格)。


目前代码已经实现了WINUSB+4路串口, 其中串口的驱动程序 通过官方给的INF文件修改了想要的名字,注意是串口太多, 不好区分。由于没有微软的校验证书,所以只能在强制签名下使用。
来一个截图
4346633c5cdf80841.png
如果4路串口不够用的 最大支持8路串口的。(多一嘴,官方也有8路串口的芯片 采用的VCP的模式,我这边实现的是CDC模式)。

硬件的说明:
采用官方开发板调试的。
21893633c5d663a748.png   7是FS usb, 8是HS usb, 两个是分开的,我使用的8 HS USB。
串口1(CDC-A)是USART2 PA2、PA3
串口2(CDC-B)是USART3 PB10、PB11
串口3(CDC-RS485)是USART4 PC10、PC11
串口4(CDC-RS232)是USART6 PC0、PC1   后者需要对应的电平转换芯片。 想请教下大佬 有没有RS232 一路的或者体积比较闲的芯片? MAX232太浪费了,而且体积也大。

目前仅实现了SWD的模式。对应的硬件接口:
SWCLK->PA4(建议上拉)
SWDIO->PA5(建议上拉)
REST->PA6  (软件同步发复位指令的)
HEX_CDC驱动.rar (27.71 KB)

使用特权

评论回复
yuan_莫|  楼主 | 2022-10-5 02:18 | 显示全部楼层
花了一个1个多小时编辑的 ~~~说我的不合理~~~~~~~然后全部的废了。白编辑的。。。

使用特权

评论回复
amomcu2021| | 2022-10-9 14:33 | 显示全部楼层
这个有点期待,  不过如果需要脱机烧录器, 可以找我们了, 支持ch32v307   ch32v203 等等, 某宝有

使用特权

评论回复
mcu430| | 2022-10-15 18:19 | 显示全部楼层
好文章

使用特权

评论回复
wgtwgtwgt| | 2022-10-15 19:43 | 显示全部楼层
好像沁恒出的wch-linke是高速版的

使用特权

评论回复
ahongW| | 2022-10-16 08:13 | 显示全部楼层
是因为改了名称才需要禁用强制签名的吗

使用特权

评论回复
zhifeng| | 2022-10-17 08:11 | 显示全部楼层
这个就是V307的。V307的好处就是 高速的 usb。其他的和arm类的芯片优势不大。

security_IMG_20220915_131514537_HDR.jpg security_IMG_20220920_082359207.jpg

使用特权

评论回复
sblpp| | 2022-11-21 20:02 | 显示全部楼层
感谢楼主分享,楼主能分享下您的 DAP_Config.h吗?多谢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则