资讯详情

单片机USB2.0高速接口实现方案

单片机USB2.0高速接口实现方案

USB接口小巧便携,支持热插拔,传输可靠,速度快,广泛应用于计算机周边、工业设备等。目前集成USB1.1全速接口MCU大部分收发器都是一起设计的,但是到了USB2.由于传输速度提高到480Mbps,可能是因为设计难度IP大多数授权成本的增加,MCU制造商选择了分立方案,MCU只集成USB2.通过添加0控制器USB2.0 PHY(比如USB3320,USB3300,CH132)实现收发器芯片USB2.0通信接口,如典型产品,如ST的32F407,32F405等等,也有一些USB接口专注度高的厂家会USB2.0 PHY内置,比如Cypress的68013,沁恒的CH32V307等。USB PHY内置外置的区别有多大?在几个芯片的测试下,集成USB2.0控制器(不含收发器)MCU 32F407,32H743,集成USB2.0接口(包括收发器和控制器)CH32V307,USB2.0收发器USB3320,CH132。

主控说明

主控(32F407,32H743,CH32V307)基本参数比较如下表:

MCU型号 主频 Flash(KB) RAM(KB) USB 全速 12Mbps USB高速 480Mbps 供电电压
32F407 168MHz 1024 192 OTG USB控制 1.8-3.6V
32H743 480MHz 1024 1024 OTG USB控制 1.7-3.6V
CH32V307 144MHz 256 64 OTG USB控制 内置收发器 2.4-3.6V

硬件说明

使用外置USB PHY连接示意图如下: 在这里插入图片描述 如上图,MCU通过ULPI接口与高速USB PHY连接。ULPI为标准USB PHY接口, DATA0-7是双向数据线;CLK引脚为时钟信号输出;NXT为Next信号输出引脚,STP停止信号输入。实现外置PHY实现一个USB2.0接口连接相当多,12个。

假如芯片把USB2.0高速PHY集成,电路简单多了,两条信号线可以直接连接。

速度测试

首先使用32F407 USB3320测试,使用官方测试USB2.0库函数,在MSC修改例程,测试USB2.0批量传输速度,写作速度(从PC到MCU)16.6M Byte/s,读速度(MCU到PC)16.2M Byte/s。 将USB3320板子上USB3320直接替换为CH132 ,根据手册,硬件兼容,可以直接更换,软件不需要修改,直接测试,写作速度16.6M Byte/s,读速度16.2M Byte/s。和USB3320速度差不多。 将主控32F407改用性能更高的32H743测试 3320测试,写速21.8M Byte/s,读速度24.1M Byte/s,速度差别不大。虽然32H743性能比407 强多了,主频增加了三倍,但是USB传输提升不大,速度只有25%左右,所以外部使用PHY且使用USB2.0库函数操作的速度瓶颈大致在这里,瓶颈看起来和谐MCU性能关系不大。当然看网上大神测试。如果用寄存器操作,读取速度可以提高到39.1M Byte/s。 继续使用CH32V307 测试方式相同,测试例程为官方EVT USB批量传输设备例程,读速45M Byte/s、写速度53M Byte/s,都有了很大的提升。看起来不简单ULPI PHY内置和省略12条信号线很简单。据估计,沁恒也是对的MCU改进了内部总线架构,难怪沁恒USB3.在芯片文档中提到多层DMA架构和RISC-V听说内核的中断响应速度问题是自主研发的PHY还支持10米距离通信。

测试接口速度如下,供参考。 USB2.0高速批量传输速度测试,上传数据由MCU下传数据计算机到计算机MCU

USB2.0高速方案 下传速度 上传速度
STM32F407 USB3320(USB2.0 PHY) 16.6M Byte/s 16.2M Byte/s
STM32F407 CH132(USB2.0 PHY) 16.6M Byte/s 16.2M Byte/s
CH32V307(内高速PHY) 53M Byte/s 44M Byte/s

标签: usb14集成电路单片机的usb集成电路

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台