移动终端的USB3.0高速数据通路设计

2016-09-15 07:02张剑王茜竹
单片机与嵌入式系统应用 2016年8期
关键词:传输速度U盘调试

张剑,王茜竹

(重庆邮电大学 通信与信息工程学院,重庆 400065)



移动终端的USB3.0高速数据通路设计

张剑,王茜竹

(重庆邮电大学 通信与信息工程学院,重庆 400065)

现在USB接口已经成为移动终端最普及的接口,随着存储在移动终端媒体文件的容量越来越大,要求USB3.0接口支持的传输速度越快越好。为了匹配USB超速传输模式,本文在内存中专门规划一片区域用于USB数据缓冲,设计驱动,搭建测试环境,测试USB数据传输速度。经测试,USB数据传输速度有着明显的提高。

USB3.0;Mass Storage;C8410;移动终端;驱动程序

引 言

据不完全统计,全球支持USB功能的移动终端已达到60多亿部。支持USB功能的终端在移动终端中的占有率几乎可以达到100%。随着存储在移动终端的多媒体文件越来越大,这必将对PC机与移动终端之间的传输速度的要求变得越来越高[1]。为了在实际应用中进一步加快USB3.0接口的数据传输速率,对基于移动终端的USB接口设计进行改进显得尤为重要。

本文在USB3.0及其补充协议Mass Storage规范下,实现手机端与PC机之间大容量数据的高速传输,并有效提升数据传输速度。设计思想是在DDR中分配500 MB的内存块用于DDR与NAND Flash之间的数据缓存。实验结果证明,该设计能很好地确保数据传输有效性及高速性。同时,本文采用模块化的设计步骤,便于拓展该设计的应用范围,给嵌入式设备带来良好的发展前景。

1 方案硬件平台

本课题的研究工作基于的硬件平台是以重邮信科通信技术有限公司的C8410芯片为核心,集成了众多外围电路模块的智能手机系统。C8410是一款基于65 nm工艺的芯片,其设计的目的是提供一种4模(GSM/GPRS/EDGE、TD-SCDMA、LTE、LTE-A)单芯片的解决方案,为此,在C8410 芯片中集成了一颗ARM1176核、两颗ARM Cortex-A7核、两颗ZSP981核、两颗ZSP800核、一颗CEVA的DSP核以及GSM&TD 专用的加速器,用于实现基带功能。同时,集成LCD控制器、CAMERA控制器、2D加速器和Codec音频编解码器,用于实现多媒体功能。其结构图如图1所示。

图1 C8410芯片结构

2 方案软件设计

2.1Buffer 设计

2.1.1传统软Buffer设计

如图2所示,传统的Bufrer缓存方案是当需要内存空间进行数据缓存时,软件上调用内存分配函数动态分配一块连续的内存空间,数据传输后再释放该内存空间。

图2 软件Buffer模型

2.1.2硬件Buffer设计

USB理论传输速度为500 Gbps,而本文采用的外部存储器EMMC支持最大的读写速度为104 MB/s,因此FIFO设置不同的读写时钟,分别设置为读FIFO为20 MHz,写FIFO为100 MHz,即USB向FIFO写入的数据时钟为100 MHz,EMMC从FIFO中读出的数据时钟为20 MHz。FIFO数据单元的位宽设置为32位,最大数据量为512字节。片上FIFO的Modelsim仿真结果如图3所示。

clk_20m:读FIFO时钟;clk_100m:写FIFO时钟;sdram_wr_ack:FIFO读请求信号,高电平有效;write_fifo_req:FIFO写请求信号,高电平有效;write_fifo_data_in:写入FIFO的数据;sys_data_in:FIFO读出的数据;wrf_use:当前FIFO队列里存在的数据个数。

图3 FIFO初始化完成

2.2驱动设计

驱动的开始是通过模块加载函数usb_stor_init,把代表USB Mass Storage驱动的结构体usb_driver加载到内核,该结构体及其初始化如下:

static struct usb_driver usb_storage_driver = {

.name = "usb-storage",

.probe = storage_probe,

.disconnect = usb_stor_disconnect,

.suspend = usb_stor_suspend,

.resume = usb_stor_resume,

.reset_resume = usb_stor_reset_resume,

.pre_reset = usb_stor_pre_reset,

.post_reset = usb_stor_post_reset,

.id_table = usb_storage_usb_ids,

.supports_autosuspend = 1,

.soft_unbind = 1,

};

其中最重要的是设备的初始化函数storage_probe,该初始化函数分为2步——usb_stor_probe1和usb_stor_probe2,设备的初始化具体实现流程如图4所示。

图4 USB Mass Storage设备初始化

3 方案测试

3.1调试环境

本文采用Source Insight 3.5软件进行代码编辑,使用RVDS4.0编译生成调试使用的.axf文件和烧入使用的.bin文件,最后使用Trace32调试软件加载.axf文件,调试代码。

调试环境如图5所示。其中①为ARM调试器,一端通过JTAG接口连接到FPGA仿真平台,另一端连接到PC端。图中的连接器②为USB-RS232转换器件,一端连接在目标板的UART口,另一端连接在PC端。在调试代码的时候需要一些额外的打印信息,此器件接收从芯片UART接口输出的消息,转换为USB数据包后,最终显示在PC机的超级终端上,大大提升了调试的效率。图中很大的一块电路板③是在FPGA仿真平台④(图中铁架中的整个部分)的作用下仿真C8410芯片。电路板⑤为插在FPGA平台上的USB3.0模块,仿真C8410芯片的USB3.0功能。

图5 调试环境

3.2枚举测试

图6是设备枚举过程的数据包。

图6 USB协议分析仪抓取的枚举数据

3.3Mass Storage协议测试

图7是主机与设备间Mass Storage协议下的通信过程抓取的数据包。

图7 USB协议分析仪抓取的Mass Storage数据

3.4U盘功能测试

通过以上的测试说明,在以FPGA为工具的仿真重邮信科手机C8410手机基带芯片在平台上成功实现了手机U盘功能。现使用USB数据线,连接重邮信科C8410手机与PC端,打开PC端的“我的电脑”,可成功看见手机的U盘的盘符如图8所示。说明手机的U盘功能枚举成功。

图8 设备端枚举成U盘图

3.5速度测试

使用HD Turn硬盘性能诊断软件来测试手机U盘功能的读写速度。将手机通过USB线缆连接到PC,速度测试如图9所示,设计方案的读写速度达到4.3 MB/s。

图9 C8410速度测试

3.6速度测试分析

在FPGA平台提供20 MHz的时钟频率下,C8410的速度为4.3 MB/s。由式(1)可知,在ARM Cortex-A7提供的800 MHz时钟频率下,等同于172 MB/s的数据传输速度。由USB3.0协议可知,USB3.0最高速率可达5 Gbps,经过8b/10b编解码,且1 Byte=8 bit,故USB3.0最大速率理论上是500 MB/s。本文选取一些商用USB3.0接口的U盘,最大速率在170 MB/s左右。表1是一些厂家的USB3.0U盘与本文U盘的速度对比。

B=F×D÷8

式中,B为数据带宽;F为总线频率;D为总线位数。

表1 USB3.0速度对比测试表

相比其他厂家的USB设备,本论文设计方案有效地提升了USB设备的数据传输速度。

结 语

本文的目的是在以FPGA为工具仿真的重邮信科C8410基带芯片平台上,设计出能有效提升USB3.0数据传输速度的USB3.0移动终端设备。为了实现此目的,首先分析了目前USB3.0移动终端设备数据传输速度不理想的原因——软Buffer的数据缓存方案缓存空间过小。其次,为了解决此问题,提出了使用硬件数据缓存。再次,通过仿真验证硬件数据缓存方案的可行性,设计传输流程及方案驱动代码。最后,在大容量数据传输时用USB协议分析仪抓取USB3.0数据包,分析其完成设备枚举的过程,完成USB 补充协议Mass Storage协议的过程,用HD Turn软件对USB接口的数据传输的速度进行测试,并对测试结果分析,提出设计的不足。

由于本人水平有限,可供研究的资源不足,故本文的研究还存在一些不足,需要下一步进行深入研究:

① 本文的设计是基于设备侧的,下一步需要研究基于主机侧PC端的设计,这样才是真正意义上整个USB体系的研究。

② 减少USB代码设计上的冗余,提高执行效率。

[1] 刘妍秀. USB3.0体系结构及发展前景[J]. 长春大学学报:自然科学版, 2010, 25(1): 138-142.

[2] Compaq, Hewlett-Packard, Intel, et al. Universal Serial Bus 3.0 Specification Revision 1.0,2008.

[3] LU Rongjian, YAN Fang, ZHANG Qi. USB interface provided with host/device function and its control method[J]. Informatization Research,2010(5).

[4] CYIT. C8410 详细设计说明书,2009.

[5] Synopsys. Design Ware Cores SuperSpeed USB 3.0 Controller Datebook Version 2.50a,2012.

[6] Tomoaki Kouyamat. The Design of a USB Device Controller IYOYOYO[C]//Design Automation Conference 2003, Asia and South Pacific,Proceedings of the ASP-DAC: 2003.

[7] JONATHAN CORBET, ALESSANDRO RUBINI.魏永明,耿岳,等译. LINUX设备驱动程序[M].北京:中国电力出版社,2009:324-356.

[8] USB Mass Storage Class Working Group. Universal Serial Bus Mass Storage Class Specification Overview Revision 1.4, 2010.

[9] USB Mass Storage Class Working Group.Universal Serial Bus Mass Storage Class Control/Bulk/Interrupt(CBI) Transport Revision 1.1,2003.

[10] USB Mass Storage Class Working Group.Universal Serial Bus Mass Storage Class Bulk-Only Transport Revision 1.0,1999.

[11] USB Mass Storage Class Working Group.Universal Serial Bus Mass Storage Class UFI Command Specification Revision 1.0, 1998.

[12] USB Mass Storage Class Working Group. Universal Serial Bus Small Compute Systerm Command Specification Revision 1.0,2009.

[13] SKhyni.MCP Specification Revision1.0, 2013.

张剑(硕士研究生),主要研究方向为嵌入式系统、无线通信;王茜竹(副教授),主要研究方向为无线通信、信息系统与信息安全。

(责任编辑:杨迪娜收修改稿日期:2016-03-28)

USB3.0 High-speed Data Transmission System for Mobile Communication Terminal

Zhang Jian,Wang Qianzhu

(School of Communication and Information Engineering,Chongqing University of Posts and Telecommunication,Chongqing 400065,China)

Now the USB has become the most popular interface in the mobile terminal.As the media files stored in the mobile terminal are increasing, the speed of USB3.0is required as fast as possible.In order to match the high-speed transfer mode of USB,a special area of memory for USB data buffer is planned.The driver is designed,the test environment is set up and the USB data transmission speed is tested.The test results turn out that the USB transfer speed has been significantly improved.

USB3.0;mass storage;C8410;communication terminal;driver

TN929.5

A

猜你喜欢
传输速度U盘调试
采用U盘文件冗余方案实现TSP系统的可靠装载
自动辨认插口方向的U盘
SSD移动硬盘大降价,可以考虑了
基于航拍无人机的设计与调试
FOCAS功能在机床调试中的开发与应用
核电厂主给水系统调试
无线通信中频线路窄带临界调试法及其应用
U盘“闹肚子”
电网中无线通信技术的应用探析
浅谈提升互联网信息传输速度技术分析