实现WUSB设备控制器的设计考虑因素
图4:外部微处理器与NXP认证无线USB设备控制器ISP3582之间的PIO接口。
4.认证无线USB数据存储器
ISP3582提供64KB的共享存储器以供认证无线USB数据缓冲和系统信息交换使用。
该存储器可作为USB数据缓冲器动态分配给任何端点。在端点数据传输完成后,该存储器可被重新激活,以供同一端点使用,或者被重新配置,供其它端点使用。
5.用于卸载系统工作量的内置ARM处理器
ISP3582集成了一个ARM7 RISC处理器。ISP3582固件访问硬件,并提供一个硬件抽象层(HAL)应用编程接口(API)。集成工作非常容易:用户应用程序只须遵循NXP半导体公司的标准设备协议程序(DPD)和设备控制器程序(DCD)API,就可实现USB类功能或特定于供应商的设备功能。认证无线USB DPD/DCD层与 ISP3582 都是符合认证无线USB的成熟堆栈,它降低了认证无线USB设备实现工作的复杂性,可实现快速上市,并降低开发成本。此外,ISP3582还配备了32KB ROM和32KB专用程序和数据存储器。
图5:利用内部SDIO接口的ISP3582认证无线USB设备设计实例。
6.ISP3582 配置在引导期间,可通过外部引脚来配置ISP3582的工作模式。
为减少引脚数量,对PIO和SDIO接口进行了复用(见表)。
7.系统接口:PIO和SDIO
ISP3582有两个系统接口和总线备选方案:一个 SDIO 接口,或一条类似 于SRAM的16比特并行输入/输出(PIO)总线。为内部设计选择的接口取决于系统。ISP3582 SDIO接口基于SDIO规范1.10。它支持SDIO规范1.10的25MHz时钟速率。另外,它具有一种定制配置来支持50MHz SDIO时钟速率。在SDIO 4比特模式下,50MHz时的数据速率为200Mbps。ISP3582还提供类似SRAM的PIO,其16比特总线能提供高达320Mbps的数据访问速率。
ISP3582寄存器和数据缓冲存储器是存储器映射式的。PIO的信号和系统连接图如图4所示。
ISP3582可以实现对寄存器区和存储器区的快速读/写访问。认证无线USB数据传输通过PHY、ARM处理器和PIO共享内部存储缓冲器。
邮箱协议在ISP3582的PIO接口和内部总线之间传输命令和数据。该协议利用多条通道来实现系统处理器与ISP3582 之间的快速命令传输。
邮箱通信协议基于一种中断机制。在命令或数据被传输之后,内部ARM处理器或外部系统处理器被一个中断触发。
SDIO是一种用于便携式设备的接口。ISP3582 SDIO符合SDIO规范1.10。ISP3582 SDIO模块符合标准的25MHz SDIO时钟速率(可按照NXP公司的定制配置提高到50MHz)。图5是一个采用ISP3582的内部SDIO接口的设计示意图。
8.ISP3582软件堆栈
由于架构很灵活,因此ISP3582能运行某些认证无线 USB 软件组件。NXP提供不同的二进制固件映像,这些映像涵盖了对认证无线USB的各种软件要求。
在典型应用软件中,系统应用软件通过DCD(设备控制器驱动程序)和DPD(设备协议驱动程序)API与ISP3582通信。DCD和DPD软件组件均类似于NXP有线 USB 软件组件。但是它们已进行了升级,从而满足认证无线USB的新要求。修改范围包括功率优化、关联块以及无线媒体恢复机制。
NXP还提供固件以促成基于SDIO的实现。与PIO的情况类似,邮箱协议被用于SDIO主设备与从设备之间的通信。
为简化软件开发,NXP要求 ISP3582应用软件使用DPD和DCD API。所有特定于类和特定于供应商的软件组件均驻留在系统处理器中,并被系统处理器执行。这种架构使开发者可绕开认证无线 USB 硬件的复杂性,他们只需通过一个简单的 API即可轻松开发出特定应用软件。另外,NXP还将常用软件组件作为设计套件的一部分提供,包括海量存储类驱动程序、图片传输协议(PTP)、介质传输协议(MTP),以及驻留在 ISP3582中的二进制固件。
外部微处理器和内部ARM之间的通信在这个层中进行。来自类驱动程序和应用软件的所有命令都被转换成邮箱命令,并通过邮箱协议进行传输。在ISP3582方面,固件将作为二进制映像提供给客户。在系统处理器方面,NXP将向客户提供参考代码以及详细的API文档。
DPD层处理所有与处理标准设置令牌相关的协议,其中包括认证无线USB的协议,这其中又包括设备通知、信息单元(IE)等。该软件组件以二进制形式提供给NXP的客户。
DCD层对所有硬件细节进行抽象处理,并向DPD或认证无线USB层提供服务,后者利用它来实现对设备控制器寄存器的读写操作。该软件组件以二进制形式提供给NXP的客户。
DPD API定义了功能支持,以运行所有可能的应用软件和类驱动程序,它们能高效率地使用DPD层的服务。针对任何特定API组的参数传递是由定义完善的数据结构处理的。
- 基于USB2.0的高速无线数传接收设备的数据接收存储方法(09-09)
- 四种短距离无线监控解决方案的性能对比(09-16)
- Wibree:一个可供选择的新无线联网技术(11-07)
- TI 单芯片手机多媒体电话解决方案(12-01)
- 蓝牙技术硬件实现模式分析(01-11)
- HSDPA:链式发展催生真实的移动宽带(01-12)