STM32实现SPI转USB虚拟串口输出(实测40M时钟不丢包)

背景

在使用某一特定MCU时,其本身并没有高速USB这种高速外设,但是突然又有高速输出日志信息的需求,怎么办呢?

这时可以考虑SPI接口,因为其速率一般可达几十兆,但是PC并不能直接SPI通信,需要一个SPI转USB虚拟串口的中间设备

实现

MCU <==SPI==>STM32F4<==>USB PHY<==>PC
在这里插入图片描述

效果

MCU端SPI时钟40M,满速发送,实测PC端接收长时间不丢包
需要整套方案的请私信

运行: 60779| 总接收: 250085247866 字节 | 速率: 4018.720 KB/s | 32.921 Mbps | 收到 244223874| 丢了 0| 当前包序 244223874
运行: 60780| 总接收: 250089369708 字节 | 速率: 4018.871 KB/s | 32.923 Mbps | 收到 244227900| 丢了 0| 当前包序 244227900
运行: 60781| 总接收: 250093487675 字节 | 速率: 4019.220 KB/s | 32.925 Mbps | 收到 244231921| 丢了 0| 当前包序 244231921
运行: 60782| 总接收: 250097605492 字节 | 速率: 4018.964 KB/s | 32.923 Mbps | 收到 244235942| 丢了 0| 当前包序 244235942
运行: 60783| 总接收: 250101727022 字节 | 速率: 4018.798 KB/s | 32.922 Mbps | 收到 244239967| 丢了 0| 当前包序 244239967
运行: 60784| 总接收: 250105844699 字节 | 速率: 4019.015 KB/s | 32.924 Mbps | 收到 244243988| 丢了 0| 当前包序 244243988
运行: 60785| 总接收: 250109961933 字节 | 速率: 4018.707 KB/s | 32.921 Mbps | 收到 244248009| 丢了 0| 当前包序 244248009
运行: 60786| 总接收: 250114083951 字节 | 速率: 4019.184 KB/s | 32.925 Mbps | 收到 244252035| 丢了 0| 当前包序 244252035
运行: 60787| 总接收: 250118202724 字节 | 速率: 4018.681 KB/s | 32.921 Mbps | 收到 244256057| 丢了 0| 当前包序 244256057
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值