APP下载

基于ISP1161的手机USB数据线测试仪的研制

2017-02-17东莞理工学院电子工程与智能化学院叶清新陈平平张志坚

电子世界 2017年2期
关键词:数据线断路测试仪

东莞理工学院电子工程与智能化学院 叶清新 陈平平 张志坚

基于ISP1161的手机USB数据线测试仪的研制

东莞理工学院电子工程与智能化学院 叶清新 陈平平 张志坚

本文介绍了一种基于ISP1161的手机USB数据线测试仪的设计方案,详细介绍了其测试原理,以及系统硬件及软件设计与实现。该方案以USB接口芯片ISP1161为USB主机,以USB接口芯片PDIUSBD12为USB设备,以STM32为主控制器;根据USB2.0协议把USB数据包通过USB主机发送,通过被测USB数据线传到USB设备,然后计算USB数据包的出错率来判断USB数据线性能的好坏。

ISP1161;PDIUSBD12;USB;数据线;测试仪

0 引言

随着智能手机的大量普及,手机USB数据线给手机用户带来越来越多的便利,通过USB数据线跟电脑连接,手机用户可以从电脑上面免费下载图片、铃声、电影等等,甚至还可以实现手机跟电脑双向上网[1-2]。可见,手机USB数据线对手机用户来说非常重要。手机USB数据线在生产出来后,需要进行质量检测,主要包括基本电气特性检测和传输性能检测。测试USB数据线基本电气特性的方案已经比较成熟,也有很多相关的测试仪器。但是对USB数据线传输性能检测的方法,目前主要有误码率分析仪分析法、示波器眼图观察法、连接电脑进行实际数据传输法,以及专门的USB数据线传输性能测试仪测试法等[3-6]。前面三种方法都存在耗时长、成本高等问题,最后一种方法虽然测试速度快,但是价格昂贵。本文介绍的基于ISP1161的手机USB数据线测试仪的设计方案,具有测试速度快、准确度高、成本低等特点,可满足企业对USB数据线传输性能检测的需求。

1 理论基础与测试原理

1.1 理论基础

USB2.0协议规定了4种传输类型:批量传输、等时传输(同步传输)、控制传输和中断传输。控制传输主要用于USB枚举;中断传输通常用于数据量不大,但对时间要求比较严格的鼠标、键盘等设备。批量传输主要用于USB打印机、扫描仪等数据量大、对数据的实时性要求不高的设备。等时传输主要用于USB音响、USB摄像头等数据量大、对实时性要求高的设备[7-8]。手机通过USB数据线连接电脑,与电脑进行数据传输的过程中使用的就是批量传输。所以本系统主要对USB数据线进行批量传输和等时传输测试。

1.2 测试原理

本设计根据手机USB数据线的特点,先对手机USB数据线进行简单的短断路测试,如果被测手机USB数据线没有短断路的情况,然后进行传输性能测试。测试原理和方法是:

①简单的短断路测试原理和方法:如图1所示,首先向A1输出高电平信号,理论上,只有对应的B1端口的状态为高电平,其它的A2-A4、B2-B4端口都应该为低电平。如果B1端口为低电平,则表示发生断路(即连着A1和B1的线断了);如果检测到A2-A4、B2-B4的任何一个端口为高电平,则表示此端口对应线与A1或B1端口发生短路。

图1 简单短断路测试原理

②传输性能测试原理:如图2所示,根据USB2.0协议,由主控制器产生USB数据包,写到USB主机(USB接口芯片A)RAM,通过其发送出去,然后从USB接口A传到被测USB数据线,经被测USB数据线传到USB接口B,接着由USB设备(USB接口芯片B)接收,最后主控制器从USB设备(USB接口芯片B)RAM中读取USB数据包,通过计算USB数据包的错误率来计算实际的USB数据包传输速度,从而判断被测USB数据线性能的好坏。

图2 传输性能测试测试原理

2 硬件系统设计与实现

基于ISP1161的手机USB数据线测试仪的硬件系统如图3所示。本系统由主控制器STM32、电源、声光报警模块(LED和蜂鸣器)、人机交互模块(按键和LCD)、USB接口芯片高速模拟开关和静电保护等模块组成。

图3 硬件结构图

2.1 元器件选型

USB接口芯片A(USB主机)为ISP1161,这是一款既带主机控制器(HC)又带设备控制器(DC)的USB接口芯片,符合USB2.0规范。本系统使用了其中一个主机接口,其为基于微控制器或微处理器的系统提供了全速(12Mbit/s)USB通信能力[8]。ISP1161通过16位的并行数据总线与STM32系统相连,其最高的传输速率可达15Mbyte/s,能满足USB2.0的全速(12Mbit/s)传输速率需求。

USB接口芯片B为PDIUSBD12,这是一颗通用的USB接口芯片。它支持USB2.0的全速模式(12Mbit/s),具有软连接功能和数据流指示灯[7];它使用8位并行数据口与STM32连接,1 Mbyte/s的数据传输数据,能满足USB2.0的全速(12Mbit/s)传输速率需求。

STM32芯片选用ST公司的STM32F10X系列STM-32F103VET6。该芯片具有64KB SRAM、512KB FLASH、5个串口、8个定时器和85个通用IO口。CPU速度可达72MHz,具有30Mbit/s以上的IO读写速度,足于满足USB测试时的数据传输控制和数据存储需求。

ESD保护芯片采用NUP4114UPXV6,这是专门用作高速数据线防静电保护的TVS阵列,非常适合USB2.0设备使用。所以本系统采用其来保护USB接口芯片,防止拔插USB数据线过程中产生静电把芯片烧坏。

高速开关选用FSUSB30MUX,这是一款低功率、双通道、高速USB2.0开关。满足本系统中进行短断路测试时D+/D-线在USB接口芯片和STM32 IO口之间的切换要求。

图4 ISP1161的外围电路图

2.2 ISP1161的外围电路

ISP1161外围电路图如图4所示。采用3.3V供电Vcc、Vreg(3.3)、 Vhold1、Vhold2引脚直接接3.3V电源,由于本系统中USB主机接口端,无需给USB设备端供电,所以无需过流检测,H_OC1通过10KΩ电阻上拉到3.3V即可。本系统仅使用ISP1161的主机端口1,所以对于其主机端口2和设备端口相关引脚采取悬空处理。ISP1161主机端口1的2个下行端口的下拉电阻通过对寄存器的设置选用内部的2个15 KΩ下拉电阻[9-10]。

2.3 PDIUSBD12的外围电路

PDIUSBD12的外围电路图如图5所示。同样采用3.3V供电,其VDD和VOUT3.3引脚直接接3.3V即可。本系统不使用其DMA功能,所以DMA相关引脚上拉处理。

图5 PDIUSBD12的外围电路图

3 软件设计

软件结构图如图6所示。

图6 软件结构图

本系统程序主要包含主控程序、串口通信程序、界面程序、USB通信程序和USB数据线短断路测试程序等5大部分。通信程序主要负责2个串口通信的功能,为程序调试和TFT屏数据传输服务。界面程序负责把需要的信息显示出来以及采集TFT屏的触摸输入信息。USB通信程序负责ISP1161和PDIUSBD12的底层驱动,以及主控制器对这两个USB芯片的读写,以实现USB数据包的收发功能。

3.1 ISP1161软件设计

PTD(Philips Transfer Descriptor)数据结构提供了HCD与ISP1161A1 USB HC之间的通信,PTD称为PTD数据头,其结构如图7所示,其中字节7保留。

图7 PTD数据头结构

其C语言实现如下。

//PTD数据头结构体定义

typedef struct PTD

{

volatile union

{

unsigned short Word;

struct

{

unsigned int ActualBytes :10;

unsigned int Toggle :1;

unsigned int Active :1; unsigned int CompletionCode :4

} BIT;

} Word0;

volatile union

{

unsigned short Word;

struct

{

unsigned int MaxPacketSize :10;

unsigned int Speed :1;

unsigned int Last :1;

unsigned int EndpointNumber :4;

} BIT;

} Word1;

volatile union

{

unsigned short Word;

struct

{

unsigned int Totalbytes :10;

unsigned int DirectionPID :2;

unsigned int :4;

} BIT;

} Word2;

volatile union

{

unsigned short Word;

struct

{

unsigned int FunctionAddress :7;

unsigned int Format :1;

unsigned int :8;

} BIT;

} Word3;

} PTD_TypeDef;

3.2 主控程序程序设计

主程序流程图8所示。

主控程序主要通过调用各个子程序完成系统的运行,包含系统参数初始化(如STM32时钟初始化,IO口初始化以及USB接口芯片的初始化配置)、显示系统菜单界面、USB数据线短断路测试、USB枚举(包括USB设备的设置地址和设置配置请求)、出错时声光报警、正常时进行批量传输和等时传输等过程,其主要工作是通过对USB接口芯片的读写,来实现USB数据包的收发和错误率计算。

图8 主控程序流程图

4 结束语

本文设计并实现了一种基于ISP1161的手机USB数据线测试仪,详细介绍了其测试原理,以及系统硬件及软件设计与实现。本手机USB数据线测试仪具有测试速度快、准确度高、成本低等特点,可满足企业对USB数据线传输性能测试的需求。

[1]李小翠.实现Android双向上网[J]电脑迷,2011(19):34-35.

[2]王谦,符秀辉.基于手机的网络遥操作机器人系统实现研究[J].仪器仪表学报,2014,29(4):365-367.

[3]陈平平,杨雷,张志坚.手机USB数据线测试仪的研制[J].计算机测量与控制,2015,05:1841-1843.

[4]从德强.USB2.0 Hi-speed在手机设计中的应用及信号完整性分析[J].电脑知识与技术,2008(Z1):43-44.

[5]胡为东.USB3.0一致性测试方法[J].国外电子测量术,2011,30(10).

[6]潇潇.R_S公司为RTO示波器的USB测试方案增加触发与解码选件[J].电信网技术,2014,10:88.

[7]Universal Serial Bus Specification,Revision2.0[EB/OL].http://www.usb.org/developers/docs/usb20_docs/,2000.

[8]刘荣.圈圈教你玩USB[M].北京:北京航空航天大学出版社,2013.

[9]PhiIips.ISP1161 Product Data Sheet[EB/OL].http:/www.semiconductors.phiIips.com/buses/usb/products/host/ispll6X/,200l.

[10]张玘,金光虎,马旭哲.基于ISP1161的USB HOST技术应用[J].单片机与嵌入式系统应用,2004(12).

Development of Mobile Phone USB Data Cable Tester Based on ISP1161

YE Qingxin,CHEN Pingping,Zhang Zhijian
(School of electronic engineering and intelligent engineering,Dongguan University of Technology,Dongguan,Guangdong,523808)

The design scheme of a USB data wire test instrument based on ISP1161 was introduced in this paper,The testing principle,hardware and software design and implementation of the system were described in detail.The program uses USB interface chip ISP1161 as the USB host,USB interface chip PDIUSBD12 as the USB device,STM32 as the main controller.According to the USB2.0 protocol,the USB data packet is sent through the USB host and transmitted to USB device through the tested USB cable.And then calculate the error rate of USB packets to determine the performance of USB data cable is good or bad.

ISP1161;PDIUSBD12;USB;Data cable;Tester

叶清新(1993—),男,广东茂名人,大学本科在读,研究方向:电子信息工程。

2015年国家级大学生创新创业训练计划项目(201511819002);广东省科技计划项目(2016B090918131,2015A020214024)。

陈平平(1983—),女,广东湛江人,硕士,高级实验师,主要从事嵌入式、电子测控方面研究。

猜你喜欢

数据线断路测试仪
SDL Atlas推出第二代HydroPro耐静水压测试仪
使用快速水洗色牢度测试仪检测超细纤维脱落
对机电设备电气断路故障的深析
便携式转辙机转换力测试仪
第三方编织数据线材质更抗拉、更耐用
电路故障的判断
乏燃料水池缺乏虹吸断路开孔事件经验反馈
基于VB与ATEQ测试仪串行通信
数据线接口超声波焊接设备设计
会叫唤的数据线