USB 接口器件ISP1581 的接口应用设计概要.docx

上传人:b****5 文档编号:7471428 上传时间:2023-01-24 格式:DOCX 页数:7 大小:145.39KB
下载 相关 举报
USB 接口器件ISP1581 的接口应用设计概要.docx_第1页
第1页 / 共7页
USB 接口器件ISP1581 的接口应用设计概要.docx_第2页
第2页 / 共7页
USB 接口器件ISP1581 的接口应用设计概要.docx_第3页
第3页 / 共7页
USB 接口器件ISP1581 的接口应用设计概要.docx_第4页
第4页 / 共7页
USB 接口器件ISP1581 的接口应用设计概要.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

USB 接口器件ISP1581 的接口应用设计概要.docx

《USB 接口器件ISP1581 的接口应用设计概要.docx》由会员分享,可在线阅读,更多相关《USB 接口器件ISP1581 的接口应用设计概要.docx(7页珍藏版)》请在冰豆网上搜索。

USB 接口器件ISP1581 的接口应用设计概要.docx

USB接口器件ISP1581的接口应用设计概要

USB接口器件ISP1581的接口应用设计

■ 解放军信息工程大学  王晖

摘  要关键词简单介绍USB接口的特点和Philips公司的USB接口芯片ISP1581;详细介绍USB接口的硬件原理设计、固件开发流程及USB设备的调试。

USB  ISP1581  固件  枚举  微控制器接口  DMA

引  言

通用串行总线USB(UniversalSerialBus是近年来应用在PC领域的新型接口技术;是一些大PC厂商,如Microsoft、Intel等,为了解决日益增加的PC外设与有限的主板插槽和端口之间的矛盾,而制定的一种串行通信的标准。

USB以其高速、易于安装配置、使用灵活和可靠性高而日益受到人们的欢迎。

现在已广泛使用于计算机和周边设备的连接,如键盘、鼠标、打印机、存储设备等。

USB控制器一般有两种类型:

一种是MCU集成在芯片里面;另一种是纯粹的USB接口芯片,仅处理USB通信。

前者由于开发时需要单独的开发系统,因此开发成本较高;后者只是一个芯片与MCU接口,实现USB通信功能,因此成本较低、可靠性较高。

本文主要介绍Philips公司的ISP1581器件的使用方法,它属于后者。

1硬件设计

1.1ISP1581芯片特点

ISP1581是一个高速USB器件控制器。

它实现了USB2.0/1.1物理层和数据协议

层的任务,并且实现了

连同端点EP0(设置用于

访问设置缓冲器在内的

16个USB端点的共同协

作;用于基于微控制器

的系统,与微控制器/微

处理器的通信是通过一

个高速的通用并行接口

实现的,接口速度可达

12.5M字节/s或12.5

M字/s;支持DMA传输,

可很好地实现与大容量

存储设备的接口;通过ATA/ATAPI接口,可以直接与ATA/ATAPI设备相连。

ISP1581能适应大多数设备类规范的设计,非常适合做很多外围设备,如打印机、扫描仪、外部大容量存储器和数码相机等的外部接口。

(注:

ATA/ATAPI,AdvancedTechnologyAttachment/AdvancedTechnologyAttachmentPeripheralInterface。

中文名称为高级技术附加装置/高级技术附加装置外围接口。

ATA是一种硬盘接口标准,ATA标准的接口类型其实就是IDE接口类型。

1.2ISP1581内部模块功能描述

ISP1581内集成了多个模块,各自完成不同功能,如图1所示。

①USB2.0收发器。

模拟收发器通过集成的终端电阻直接与USB电缆相连。

②Philips串行接口引擎(SIE,SerialInterfaceEngine。

完成所有USB协议层的功能,主要完成以下的功能:

同步方式的识别、并行/串行的转换,位填充/解除填充、CRC校验/产生、包标识(PID校验/产生、地址识别和握手评估/产生。

考虑到速度,它是全硬件的,不需要

DREQ,DACK

CS0,CS1,

[16:

0]

DS/WR

图1  ISP1581内部结构方框图

固件介入。

③存储器管理单元(MMU和集成RAM。

MMU和集成RAM实现了USB总线和微控制器管理器或DMA管理器之间的速度转换。

④微控制器/处理器接口和微控制器/处理器的管理器。

可以直接与大部分微控制器相连。

⑤DMA接口和DMA管理器。

DMA管理器接收到DMA命令后,可直接把数据从内部RAM传送到外部DMA设备或从外部DMA设备传送给内部RAM。

2硬件连接

ISP1581有一个快速通用接口,利用它可以实现与大

部分类型的微控制器/处理器的通信。

上电时,由引脚BUS_CONF、MODE1和MODE0共同设置。

由于MMC2107的外部地址、数据总线是分开的,因此在本开发平台上ISP1581只能工作在通用处理器工作模式下,设置方式如表1所列。

ISP1581提供微控制器接口与微控制器进行数据传输,也支持DMA传输。

在微控制器速度较高时,两者的读写访问速度均可达12.5Mb/s,采用DMA方式会增加电路设计的复杂度。

经过综合比较,采取微控制器接口方式。

USB模块硬件连接原理如图2所示。

注:

①ISP1581提供两种复位方式:

a.ISP1581集成有上电复位电路(POR,RESET引脚接电源,实现上电复位功能。

b.RESET引脚接MMC2107的一个数字I/O引脚,将该引脚置低800μs后置高,实现复位。

②ISP1581的供电电压为3.3V或5.0V,I/O引脚最大能承受5.0V的电压。

根据I/O口的电压,从3.3V和5.0V中选择一个作为供电电压。

3ISP1581固件(FIREWARE程序设计

由于所有的通信都是由主机发起,设备只能响应来

自主机的命令。

在这种结构下,ISP1581的固件采取中断驱动。

这样一方面保证了快速的数据传输和较好的软

件结构,另一方面简化了编程和测试。

固件程序由5部分组成,如图3所示。

(1主循环流程

上电后,初始化MMC2107和ISP1581。

然后,主循环程序轮询检查事件标志,进入相应的子程序进行进一步的处理。

图4是主循环的流程。

表1  设置工作方式 

注:

这里使用16位总线,AD[0]必须与ISP1581的地端相连。

图3  固件结构和数据流向

图4  USB主循环程序

图2  MMC2107与ISP1581硬件连接原理

(2中断服务程序(ISR流程

图5所示的中断服务流程,用来处理由ISP1581产生的中断。

通过访问ISP1581的中断寄存器,建立正确的事件标志,以通知主循环程序进行处理。

(3USB标准请求处理

进行应用通信以前,主机必须枚举设备。

该过程是通过给端点0发送包含标准设备请求(CHAP_9的控制传

输实现的。

USB标准请求流程(见图6译码设备请求类型,转到相应的处理子流程。

枚举过程如下:

①主机使用默认地址(地址0读取设备描述符GetDeviceDescriptor;

②SetAddress;

③连续3次GetDeviceDescriptor,读取全部设备描述符;

④GetConfigDescriptor;

⑤GetStringDescriptor(可能没有;

⑥读取全部ConfigDescriptor后,主机将找到新设备,提示安装驱动程序。

⑦在设备能通信前,主机给出SetConfiguration请求,设备收到后调整有关信息,使设备能被客户软件利用。

(4厂商请求处理(VENDOR

厂商请求和USB标准请求一样,都根据控制传输的内容进行相应处理。

本开发平台的固件程序中定义了两个厂商请求,分别为取得固件版本和将批量数据写入设备或从设备中读出数据。

取得固件版本流程如图7所示。

主机发送批量数据读写请求时,在控制传输的数据阶段,主机给出需要传输的数据字节数、数据传输方向、页索引和数据定位。

控制传输结束后,主机和设备就可以根据双

方约定,启动批量传输。

批量传输流程如图8所示。

4

调  试

4.1

调试步骤

USB的调试可分为以下几个步骤:

①若USB芯片正常工作,可实现软连接,将设备插

入主机后,主机上出现“未知设备类型”的USB设备;

②提供描述符,提供正确的VID和PID后,主机能够识别设备,但要求提供设备的驱动程序;

③安装驱动程序后,调试各端点,使其均可传输数据,用主机端的测试程序对其进行测试,验证硬件及固件的正确性。

中断服务程序

图5  中断服务程序流程

图6  USB标准设备请求流程

取得固件版本

图7  取得固件版本流程

图8  批量传送流程

4.2调试工具

因为每一次USB的传输过程,都有时效要求,等待时间过长,通信过程也就中止了,因此不适合用硬件仿真器来设断点调试。

可采用串口辅助调试过程,即在固件代码中加入类似于Printf的语句,向串口输出一些信息。

借此,可以知道程序是否运行到此处,以及运行到此处时相应的变量或寄存器值。

设备完成配置后,在BusHound中可看到该设备(busHound是一种应用软件。

选择该设备,就可以对主机与此设备间的通信数据进行分析和监视。

BusHound工作在主机端,串口工作在微控制器端。

将串口调试和BusHound两种手段配合使用,可以使USB通讯过程的调试更加容易。

在调试USB设备时,还可使用UsbView程序。

在该程序中可以查看设备描述符、配置描述符和端点描述符是否正确。

                          (收稿日期:

2004-02-24

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1