APP下载

基于Blackfin 533 SPORTs口的USB主从接口设计

2013-10-17吴子贤王加加

电子科技 2013年6期
关键词:U盘寄存器字节

孙 昊,吴子贤,王加加

(西安电子科技大学电子工程学院,陕西西安 710071)

1 设计原理

模块主要实现DSP与计算机的通信及数据的存储。基于DSP的USB主从双向通信设计方案,通过ADSP BF533 SPORTs模拟 SPI口,完成 ADSP与CH376的通信,实现DSP与PC机、DSP与U盘的双向通信以及两种方式的自由切换,图1为系统总体框图。

图1 系统总体框图

2 芯片介绍

2.1 CH376芯片

CH376[1]是南京沁恒公司生产的一种文件管理控制芯片。CH376支持USB设备方式和USB主机方式,且内置了USB通讯协议的基本固件、处理Mass-Storage海量存储设备的专用通讯协议固件、SD卡的通讯接口固件、FAT16和FAT32以及FAT12文件系统的管理固件,支持常用的USB存储设备和SD卡。

CH376支持3种通讯接口:8位并口、SPI接口或异步串口。单片机/DSP/MCU/MPU等控制器可通过上述通讯接口控制CH376芯片,存取U盘和SD卡中的文件或与计算机通讯。

2.2 ADSP-BF533芯片

ADSP-BF533[2-3]处理器是 Blackfin 系列产品之一,是为满足嵌入式音频、视频和通信应用的计算要求和低功耗条件而设计的新型16位嵌入式处理器。其基于由ADI和Intel公司联合开发的微信号架构(MicroSignalArchitecture,MSA),将一个 32 位 RISC 型指令集和双16位乘法累加(MAC)信号处理功能与通用型微控制器所具有的易用性相组合。ADSP-BF533处理器具有丰富的外设资源,包括一个UART口、一个SPI口、两个串行口(SPORTs)和PF口等。

Blackfin533有两个相同的同步串口SPORT0和SP0RT1。这两个串口支持各种串行数据通信协议。图2是SPORT的简化框图。将要发送的数据,从内部寄存器写入SPORT的存储器映射寄存器SPORTx_TX中。根据选择,此数据可由硬件进行压扩后自动传送至移位寄存器,也可不执行硬件压扩。移位寄存器的位从SPORT的DT引脚移出,最高位或最低位在前均可,并与TCLK引脚的时钟同步。SPORT的接收部分从DR接收数据,并与串行时钟同步。接收一个完整字后,数据展开的同时自动传送到SPORT的存储器映射寄存器SPORTx_TX中,该寄存器可被处理器访问。

图2 SPORT接口简化框图

3 硬件设计

CH376总是从SPI时钟SCK的上升沿输入数据,而允许输出是从SCK的下降沿输出数据,数据位顺序是高位在前,记满8位1 Byte。DSP按SPI输出方式发出1 Byte数据,CH376将SPI片选SCS有效后收到的首个字节当作命令码,后续字节当做数据。写操作时,DSP向CH376发出1 Byte的待写数据,等待SPI接口空闲后,DSP继续发出若干个字节的待写数据,CH376依次接受,直到DSP禁止SPI片选;读操作时,DSP从CH376接收1 Byte数据,等待SPI接口空闲后,DSP继续从CH376接收若干个字节的数据,直到DSP禁止SPI片选。图3是SPI接口的逻辑时序图,前一个发出命令12H并写入数据34H,后一个是发出命令28H并读出数据78H。

图3 SPI接口逻辑时序图

为实现DSP的USB主从双向通信设计方案[4],现将DSP的SPORTs接口模拟SPI接口并与支持SPI接口通信模式的设备进行通信。主模式下SPI接口需要4个信号:数据输入(MISO),数据输出(MOSI),时钟(SCK)和片选(/SPISS)。这4个信号其中有3个和SPORTs接口相对应:(1)MOSI对应SPORTs口的传输引脚(DTxPRI)。(2)MISO对应SPORTs口的接受引脚(DRxPRI)。(3)SCK对应SPORTs口的时钟引脚(TSCLKx/RSCLKx)。

SPI接口中未与SPORTs接口对应的引脚信号就是片选信号。片选信号(/SPISS)在SPI接口中用作时钟SCK的选通。作为一个 SPI从设备,只有片选/SPISS被拉低,响应才在时钟信号SCK的边沿发生,一旦设备被使能通信开始,SPORTs主接口就会产生一个持续的时钟。要将SPORTs口模拟SPI口,正确的时序和片选/SPISS信号是重点。TFS被配置成低时,同一周期内数据被放置在SPORTs的发送引脚DTxPRI上,且在数据的传输过程中TFS信号始终被拉低,直到新的数据开始传输,这恰好与SPI接口的/SPISS信号一致。反之作为从模式下,也一样。因此用SPORTs接口的同步时序信号模拟/SPISS片选信号即可满足要求。硬件连接如图4所示。

图4 SPORT/SPI硬件连接

系统硬件电路如图5所示,系统将CH376配置为串行通信方式,使用SPORT1口,DSP主模式时,数据流通过Blackfin533的SPORT1口,经上述配置方式模拟SPI通信方式与CH376模块SPI口进行通信,在经过外部USB端口时CH376以USB-HOST的方式来访问U盘,反之,DSP从模式时,PC机通过USB端口,CH376以USB-SLAVE的方式与Blackfin533进行通信。

图5 硬件原理图

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官方设计手册[2]。

4 软件设计

CH376S对U盘的读写分为扇区模式和字节模式两种。扇区模式以扇区为单位,对U盘文件进行读写,其读写速度快,但通常需要额外的缓冲区。字节模式以字节为单位对U盘文件进行读写,读写速度慢,通常用作小数据量的读写,但使用较为方便。

系统软件流程如图6所示,DSP判断用户选择写U盘操作或上位机操作。当选择读取U盘操作时,首先初始化CH376芯片,通过循环不断检测U盘是否连接就绪,U盘就绪后,创建文件名,并将数据写入文件,同时关闭文件,进入到开始。当选择上位机操作,通过USB数据线,将系统连入PC机,首先初始化CH376芯片,DSP判断上位机软件是否发出操作命令,若发出的是命令控制字,则执行相应的操作,并继续判断上位机是否发出命令字;若发出的命令是交出控制权,则系统恢复本地控制,并进入到开始。

图6 软件流程图

5 实验测试

整个系统设计的测试主要分为U盘测试和上位机测试。

U盘测试:

选择USB主接口模式,测试工具为普通4 GB U盘,经测试,成功创建TEST01、TEST02、TSET03共3个文档,并成功写入待写入数据。上位机测试:

选择USB从接口模式,测试工具为 USB设备CH372或CH375调试工具,由于在上位机程序中定义#define uREAD_DATA 0x80,所以在调试工具中,设置端口下传数据为接收数据命令即80。实验结果表明,在端点上传中成功接收0~3F,共64个数据。实验结果如图7所示。

图7 USB设备CH372或CH375调试工具接收数据

6 结束语

设计从硬件和软件两方面对基于ADSP-Blackfin533 SPORTs口的USB主从接口设计进行了详细论述,其具有传输速度快、结构简单、操作方便及传输数据量大等优点。经测试,性能稳定可靠,可广泛应用于各种实际场合。

[1]Nanjing QinHeng Electronics Co.,Ltd.CH376EVT[M].Nanjing:Nanjing Qinheng Electronics Co.,Ltd.,2010.

[2]Analog Devices,Inc.ADSP-BF533 Blackfin ® processor hardware reference[M].USA:Analog Devices,Inc.,2009.

[3]冯小平,罗勇江,罗明.ADSP技术与应用[M].北京:机械工业出版社,2008.

[4]Analog Devices,Inc.Using the Blackfin ® processor SPORT to emulate a SPI interface[M].USA:Analog Devices,Inc.,2009.

猜你喜欢

U盘寄存器字节
STM32和51单片机寄存器映射原理异同分析
No.8 字节跳动将推出独立出口电商APP
Lite寄存器模型的设计与实现
采用U盘文件冗余方案实现TSP系统的可靠装载
自动辨认插口方向的U盘
No.10 “字节跳动手机”要来了?
简谈MC7字节码
U盘“闹肚子”
高速数模转换器AD9779/AD9788的应用
一种可重构线性反馈移位寄存器设计