通用串行总线(USB)是1995年康柏、微软、IBM、DEC 等公司为解决传统总线不足而推广的一种新型的通信标准。该总线接口具有简单灵活、高带宽、易于扩展和即插即用等优点, 使其自推出以后得到了越来越广泛的应用。现在, 越来越多的嵌入式测控系统含有通过USB 总线连接的测量设备。
USB 协议规定了USB 主机与USB 设备的主从关系, 所以USB 接口产品的应用离不开USB 主机的开发。本文主要对在一个基于Intel PXA 255 的嵌入式数据采集系统上采用PHILIPS 公司的ISP1161 芯片实现USB 主机进行了介绍。
1.USB 系统概述
一个USB 系统一般由一个USB 主机(HOST)、一个或多个USB 集线器(HUB)和一个或多个USB 设备节点(NODE) 组成。从概念上讲,USB 主机是包含USB 软件驱动和USB 主机硬件功能接口的计算机系统实体。USB 主机硬件是指USB 主机控制器, 它规定了USB 主机硬件接口, 因而在设计USB 协议栈时必须了解相关的USB 主机控制器规范。
针对嵌入式系统应用的USB 主机控制器规范是康柏、微软、松下等公司提出的OHCI(开放式主机控制器接口)标准。
PHILIPS 公司的ISP1161 芯片支持OHCI 标准, 它是一个符合USB2.0 全速规范的单片主机控制器和设备控制器。ISP1161 可以仅作为主机控制器或设备控制器使用, 也可以同时作为主机和设备控制器使用。
ISP1161 内部可分为四大功能模块。主机控制器模块: 实现主机控制器的功能。提供两个下行端口, 每个下行端口都有自己的过流检测输入管脚和电源转换控制输出管脚。设备控制器模块: 实现设备控制器的功能。提供一个上行端口, 有其自身的VBUS 检测输入管脚。微处理器接口模块: 两个USB 控制器共用一个微处理器总线接口,它们有相同的数据总线, I/O 地址不同。它们也有各自的中断请求输出管脚和独立的DMA 通道。电源调整和上电复位模块: 除了可以软件复位外, 还可以通过RESET- N 管脚实现硬件复位。ISP1161 只接受5V 或3.3V 的电压, 当输入5V 电压时, 电源调整器会将其调整为3.3 V。
图1 嵌入式指纹验证系统总体框图
2.嵌入式指纹验证系统总体结构
本文中涉及的嵌入式数据采集系统是一个由北京铱波电子公司自主开发的指纹验证系统, 它由硬件平台和软件平台两部分组成。其中硬件平台的核心是Intel 公司的32位微处理器PXA 255, 硬件平台还包括系统存储模块、数据采集模块、USB 模块、网络通信模块和调试及下载接口模块。软件平台采用Microsoft 的Windows CE。系统总体结构框图如图1 所示。