本帖最后由 dukedz 于 2025-1-8 13:40 编辑
穿了衣裳:
裸:(AT32F405 是 4x4mm 的小封装)
透视:
GUI 配置工具:
原理图:
cdbus_bridge_sch_v6.1.pdf
(351.39 KB)
源码:
https://github.com/dukelec/cdbus_bridge
支持和 CAN FD 一样的仲裁,让 RS485 也支持多主对等通讯。
反馈:
1. WorkBench 配置 NVIC 列表中的 PendSV_IRQ 明明配置了非零的值,保存再次打开又恢复成 0 了。(2 位 pre-emption priority, 2 位 subpriority 模式。)
2. 405 这颗芯片支持高速 usb,但是 spi 的速度最高是 36M,有点低,高速 usb 收到的数据不方便往外传递。
不过我测试了把 spi 配置成 54M,也很稳定。
想问一下,是否只用 spi 基础功能(含 dma 传输)的时候,运行到 54MHz 也安全?如果是,手册是否可以加以说明。
3. 这颗芯片是真的不错,体积小带高速 usb,很方便用来做转接器,且有可配置 polynomial 的硬件 crc(另一家带高速 usb 的 risc v 的就没有)。
测速:
6787550 字节的文件,拆分成 27043 个包,每个包协议开销占 3 字节 cdbus 头 + 2 字节 crc 结尾 + 2 字节文件传输头,每个包含有 251 字节有效文件数据。
电脑 c 语言测试传输以上数据给 at32(通过 CDC 虚拟串口):
纯 usb 传输是:1530 ms 左右,无论是否进行 crc 检验,数据不转发至 spi 和 485
通过 spi 和 485 传输到总线:
2607 ms @ 2Mbps & 30Mbps 仲裁模式
1683 ms @ 2Mbps & 50Mbps 仲裁模式
1645 ms @ 50Mbps BS 单速率模式
之前 stm32 测试 USB FS 传输时间则为 10752 ms
|