以ADSP—BF533为例详解DSP的USB主从通信设计方案
系统硬件电路如图5所示,系统将CH376配置为串行通信方式,使用SPORT1口,DSP主模式时,数据流通过Blackfin533的SPORT1口,经上述配置方式模拟SPI通信方式与CH376模块SPI口进行通信,在经过外部USB端口时CH376以USB—HOST的方式来访问U盘,反之,DSP从模式时,PC机通过USB端口,CH376以USB—SLAVE的方式与Blackfin533进行通信。
CH376芯片的SCS引脚由DSP的SPORT口帧同步引脚TFS和RFS驱动,SCK由DSP得SPORT发送和接受时钟输出引脚TSCLK和RSCLK驱动,SDI引脚由DSP得SPORT数据输出引脚DTxPRI驱动,SDO引脚则连接到DSP的SPORT数据输入引脚DRxPRI。
CH376芯片的配置,电容C2用于内部电源节点退耦从而降低USB传输过程中的EMI,晶体X1是振荡电路,用于向CH376提供系统时钟信号,P1是USB端口,电阻R1用于限制输出给外部USB设备的电流,C1主要用于减少在USB设备刚插入时的电源电压纹波。关于Blackfin533的外围电路配置可参考ADI官方设计手册。
4 软件设计
CH376S对U盘的读写分为扇区模式和字节模式两种。扇区模式以扇区为单位,对U盘文件进行读写,其读写速度快,但通常需要额外的缓冲区。字节模式以字节为单位对U盘文件进行读写,读写速度慢,通常用作小数据量的读写,但使用较为方便。
系统软件流程如图6所示,DSP判断用户选择写U盘操作或上位机操作。当选择读取U盘操作时,首先初始化CH376芯片,通过循环不断检测U盘是否连接就绪,U盘就绪后,创建文件名,并将数据写入文件,同时关闭文件,进入到开始。当选择上位机操作,通过USB数据线,将系统连入PC机,首先初始化CH376芯片,DSP判断上位机软件是否发出操作命令,若发出的是命令控制字,则执行相应的操作,并继续判断上位机是否发出命令字;若发出的命令是交出控制权,则系统恢复本地控制,并进入到开始。
5 实验测试
整个系统设计的测试主要分为U盘测试和上位机测试。
选择USB从接口模式,测试工具为USB设备CH372或CH375调试工具,由于在上位机程序中定义#define uREAD_DATA 0x80,所以在调试工具中,设置端口下传数据为接收数据命令即80。实验结果表明,在端点上传中成功接收0~3F,共64个数据。实验结果如图7所示。
6 结束语
设计从硬件和软件两方面对基于ADSP-Blackfin533 SPORTs口的USB主从接口设计进行了详细论述,其具有传输速度快、结构简单、操作方便及传输数据量大等优点。经测试,性能稳定可靠,可广泛应用于各种实际场合。
- 从1.8V到USB的多轨电压转换和管理(08-17)
- 具USB OTG和过压保护的紧凑型电源管理器(08-17)
- USB供电的单节镍氢电池开关模式充电器电路设计(02-12)
- 具有USB OTG和过压保护的紧凑型电源管理器的实现(10-17)
- 低导通损耗的USB电源开关的设计(12-01)
- 一种满足USB规范的电源开关设计方案(02-13)