系统开发电子基础教程资料图文

USB/IrDA桥控制芯片STIr4200S

首页 > 电子基础 标签: USB


更新时间:2007年03月16日 作者:罗怡桂 顾君忠 来源:单片机与嵌入式系统应用


摘要 从功能方块图、引脚说明、帧格式、寄存器及其控制指令等几个方面详细介绍SigmaTel公司开发的一款专用于USB与IrDA间桥接控制的新型ASIC:STIr4200S。

关键词 红外无线数据通信 USB IrDA STIr4200S

  STIr4200S是SigmaTel公司开发的一款专用于USB与IrDA间桥接控制的新型ASIC,采用低功耗CMOS设计,直接从USB口馈电,片内集成4K字节的FIFO缓冲,采用28脚SSOP封装,IrDA数据传输率范围从2.4 Kbps到4 Mbps,主要用于通过USB口实现红外无线数据通信。

1 功能方块图

  功能方块图如 图 1 所示,总的来说STIr4200由两个部分组成:USB控制器和数字红外传输器。USB控制器向USB宿主机提供1个控制端点、1个批量数据输入端点和1个批量数据输出端点。数字红外传输器由发送接口和接收接口组成,这两个接口与模拟红外收发器相连。

USB/IrDA桥控制芯片STIr4200S
图1  STIr4200功能方块图

2 引脚描述

  STIr4200S引脚排列如 图 2 所示。

USB/IrDA桥控制芯片STIr4200S
图2  引脚排列图

  STIr4200S引脚说明如 表 1 所列。

表1  STIr4200S引脚说明
USB/IrDA桥控制芯片STIr4200S

3  指令说明

  STIr4200S为用户提供了一个指令集,允许通过USB驱动程序读写数字IR传输器的寄存器以及USB控制器的ROM,其指令集详述如下。

  (1)  写多个寄存器指令

  写多个寄存器指令可使用户写数字IR传输器连续的多个寄存器,其指令格式如 表 2 所列。每一个寄存器长为1字节,命令给出了读写的第一个寄存器、连续读写的寄存器数,以及写入数据所在的数据周期。

表2  写多个寄存器指令说明
USB/IrDA桥控制芯片STIr4200S

  (2)  写1个寄存器指令说明,如 表 3 所列。

表3  写1个寄存器指令说明
USB/IrDA桥控制芯片STIr4200S

  (3)  读多个寄存器指令说明,如 表 4 所列。

表4  读多个寄存器指令说明
USB/IrDA桥控制芯片STIr4200S

  (4)  读ROM指令说明,如 表 5 所列。

表5  读ROM指令说明
USB/IrDA桥控制芯片STIr4200S

  读ROM指令可使DRIVER读取USB控制器端点0中ROM,这主要是为了调试时用于验证该ROM中的内容。每次最多可读取64字节。

4  数字红外传输器

  数字红外传输器,从模拟红外收发器接收数字输入。主要由传送调制器、接收解调器、FIFO、模拟传输部分及寄存器组组成,如 图 3 所示。可以通过设置寄存器的值来实现对设备的操作,如调制模式、波特率、FIFO中帧的大小以及RX输入方式等。其中FIFO的大小为4 K字节。

USB/IrDA桥控制芯片STIr4200S
图3  数字红外传输器方块图

  由USB控制器送往TX调制器的数据必须组成IrLAP帧。一个IrLAP帧的格式 由以下几部分组成。其中BOF为帧开始标志,A为地址字段,C为控制字段,I 为信息字段,FCS为帧的CRC校验码,EOF为帧结束标志。

USB/IrDA桥控制芯片STIr4200S

  另外,FIFO中的内容发送给USB控制器以前,还必须在报文中加一个2字节的ID码以及2 字节的帧大小。

5  帧格式

  为了标识红外传输帧的边界在帧格式中用到了一些特殊的字符,如 表 6 所列,当这些字符在数据区出现时,就必须对它们进行转义表示。同时,由于在传输过程中,USB批量数据输入/输出缓冲区的边界可能和红外传输帧的边界不能对齐,因此,在帧格式中还定义了一个字符0x7D用于实际的帧边界描述。另外,在FIR模式下引入了0x7F作为预同步字符。

表6  转义字符说明
USB/IrDA桥控制芯片STIr4200S

5.1  SIR模式下的帧格式

  SIR模式下的传输率可以是2.4,9.6,19.2, 38.4,57.6及115.2 Kbps。帧格式如 图 4、 图 5 所示。

USB/IrDA桥控制芯片STIr4200S
图4  SIR发送帧格式        图5  SIR接收帧格式

5.2  MIR模式下的帧格式

  MIR模式下传输率可以是576 Kbps和1.152 Mbps。帧格式如 图 6 、图 7 所示。

USB/IrDA桥控制芯片STIr4200S
图6  MIR发送帧格式        图7  MIR接收帧格式

5.3  FIR模式下的帧格式

  FIR模式下的传输率为4 Mbps,帧格式如图8、图9所示。

USB/IrDA桥控制芯片STIr4200S
图8  FIR发送帧格式        图9  FIR接收帧格式

6 寄存器设置

  在数字红外传输器中共有16个寄存器,如 表 7 所列。可以设置数字红外传输器的工作模式、波特率等,也可以通过访问状态寄存器来获取其工作状态。下面对除测试寄存器和DPLL寄存器以外的各寄存器的设置进行详细的说明。测试寄存器和DPLL寄存器只用于厂家的调试。

表7  数字IR传输器中寄存器说明
USB/IrDA桥控制芯片STIr4200S

  (1)  FIFO数据寄存器

  默认设置为0x00,用于USB接口进入FIFO中的数据,但这个寄存器很少使用。因为一般情况下,USB可通过Bulk read/write指令来对FIFO进行操作。

  (2)  模式寄存器

  默认状态为0x20。设置说明如 表 8 所列。

表8  模式寄存器设置说明
USB/IrDA桥控制芯片STIr4200S

  (3)  波特率寄存器

  这个8位寄存器全为PDCLK位,默认值为0x77。 表 9 通过设置模式寄存器、波特率寄存器来设置IrDA的传输模式。

表9  波特率寄存器说明
USB/IrDA桥控制芯片STIr4200S

  (4)  控制寄存器

  默认值为0x00。bit7为SDMODE位,只有当STIr4200S连接到TEMIC类型的红外传输器时,才使用此位,用于将红外传输器设置成省电状态。bit6为RXSLOW位,设为1时,采用RXSLOW接收输入信号;设为0时,采用RXFAST接收输入信号。bit5为DLOOP1位,当设为1时,表示将红外传送器与红外接收器相连,此位不能用于STIr4200S集成解决方案。bit4为TXPWD位,当设为1时,将停止红外调制器供电。bit3为RXPWD位,设为1时,表示停止红外解调器供电。bit2~1为TXPWR(1:0)位,用以设置内部下拉电阻控制传输二极管的电流:00表示设成最大电流,01表示为中高电流,10将设置成中低电流,11为最小电流。bit0为SRESET位,设成1时,将对红外调制解调器进行复位。

  (5)  灵敏度寄存器

  默认值为0x26,具体设置规则如 表 10 所列。

表10  灵敏度寄存器设置说明
USB/IrDA桥控制芯片STIr4200S

  (6)  状态寄存器

  默认值为0x14,设置说明如 表 11 所列。

表11  状态寄存器设置说明
USB/IrDA桥控制芯片STIr4200S

  (7)  IRDIG 初始寄存器

  IRDIG主要用于设置红外传输器与前端红外模拟收发器连接的引脚极性,设置说明如 表 12所列。

表12  IRDIG 初始寄存器设置说明
USB/IrDA桥控制芯片STIr4200S

结束语

  本文介绍了一款USB/IrDA桥控制芯片STIr4200S的原理和结构。在该芯片内部集成了USB和IrDA之间的协议转换功能,通信协议完全符合USB1.1 spec 和IrDA spec,通信速度可达4 Mbps。

更多相关内容


Top