新闻中心

EEPW首页 > 光电显示 > 设计应用 > USB/IrDA桥控制芯片STIr4200S

USB/IrDA桥控制芯片STIr4200S

作者:时间:2006-05-07来源:网络收藏

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

本文引用地址:http://www.eepw.com.cn/article/225733.htm

关键词:红外无线数据通信 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个批量数据输出端点。数字红外传输器由发送接口和接收接口组成,这两个接口与模拟红外收发器相连。

2 引脚描述

   STIr4200S引脚排列如 图 2 所示。

   STIr4200S引脚说明如 表 1 所列。

表1 STIr4200S引脚说明

引脚号 信号名 类型 描 述 引脚号 信号名 类型 描 述
1 TXDIODE GND PWR TXDIODE供电地 15 NC - 悬空
2 TXDIODE O 可选的LEXD激励输出 16 NC - 悬空
3 NC - 悬空 17 DPOS I-O USB接口(+)数据
4 NC - 悬空 18 VDA PWR USB传输器供电(+)
5 RXFAST I 从红外模块接收数据(快速模式) 19 UIN I/O 测试
6 TXDATA O 蒋数据传送给红外模块 20 TST_CLK I 测试时钟输入
7 RXSLOW I 从红外模块接数据(慢速模式) 21 TSTD I/O 测试数据输入、输出
8 UOUT O SD/模式控制 22 TST_EN I 测试使能
9 DGND PWR 数字电源地 23 RESETZ I 主复位
10 VDD PWR 数字电源(+) 24 GNDD PWR 电源地
11 AGND PWR USB传输供电地 25 XTALI I 12MHz晶振输入
12 DNEG I/O USB接口(-)数据 26 XTALO O 12MHz晶振输出
13 NC - 悬空 27 NC - 悬空
14 NC - 悬空 28 NC - 悬空

3 指令说明

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

   (1)写多个寄存器指令

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

表2 写多个寄存器指令说明

偏移量 字段名 长度/字节 值(十六进制) 描 述
0 BmRequestType 1 0x40 请求类型
1 Brequest 1 0x00 写多个寄存器
2 Wvalue 2 未用  
4 Windex 2 0x0001-000f 欲写的第一个寄存器
6 Wlength 2 0x0001-0x000f 欲写的寄存器数

表3 写1个寄存器指令说明

偏移量 字段名 长度/字节 值(十六进制) 描 述
0 BmRequestType 1 0x40 请求类型
1 Brequest 1 0x03 写一个寄存器
2 Wvalue 2 LSB contains data 欲写入的数据
4 Windex 2 0x0001-000f 欲写的第一个寄存器
6 Wlength 2 未用  

表4 读多个寄存器指令说明

偏移量 字段名 长度/字节 值(十六进制) 描 述
  BmRequestType 1 0xc0 请求类型
1 Brequest 1 0x01 读多个寄存器
2 Wvalue 2 未用  
4 Windex 2 0x0001-000f 欲读的第一个寄存器
6 Wlength 2 0x0001-0x000f 欲读的寄存器数

表5 读ROM指令说明

偏移量 字段名 长度/字节 值(十六进制) 描 述
0 BmRequestType 1  0xc0 请求类型
1 Brequest 1  0x02 读ROM
2 Wvalue 2  未用  
4 Windex 2  0x0001-0x00ff ROM基地址
6 Wlength 2  0x01-0x0040 欲读的ROM字节数(或=64字节)

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

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

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

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

4 数字红外传输器

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

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

BOF A C I FCS EOF

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

5 帧格式

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

5.1 SIR模式下的帧格式

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

5.2 MIR模式下的帧格式

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

5.3 FIR模式下的帧格式

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

6 寄存器设置

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

表6 转义字符说明

传输模式 原始字符 在数据区的表示 作 用
SIR 0xC0 0x7D 0xE0 BOF(帧起始标识)
0xC10x7D 0xE1EOF(帧结束标识)
0x7D0x7D 0x5D实际的帧边界标识
MIR0x7E0x7D 0x5EBOF(帧起始标识)
0x7E0x7D 0x5EEOF(帧结束标识)
0x7D0x7D 0x5D实际的帧边界标识
FIR0x7F0x7D 0x5F传输帧预同步
0x7E0x7D 0x5EBOF(帧起始标识)
0x7E0x7D 0x5EEOF(帧结束标识)
0x7D0x7D 0x5D实际的帧边界标识

表7 数字IR传输器中寄存器说明

偏移量 描述 存取 位状态
7 6 5 4 3 2 1 0
0 FIFO数据寄存器 读写 保留
1 模式寄存器 读写 FIR MIR SIR ASK FASTRXEN FFRSTEN FFSPRST PDCLK
2 波特率寄存器 读写 PDCLK(7..0)
3 控制寄存器 读写 SDMODE RXSLOW DLOOP1 TXPWD RXPWD RXPWD TXPWR(1:0) SRESET
4 灵敏度寄存器   RXDSNS(2:0) BSTUFF R/W SPWIDTH R/W ID(2) RO ID(1) RO ID(0) RO
5 状态寄存器   EPFRAME RO FFUNDER ROC FFOVER ROC FFDIR RO FFCLR WO FFEMPTY RO FFRXERR ROC FFTXERR ROC
6 FIFO计数寄存器(LSB) 只读 FFCNT(7..0)
7 FIFO主数寄存器(MSB) 只读 0 0 0 FFCNT(12:8)
8 DPLL调节寄存器 只读 DPCNT(5:0) LONGP(1:0)
9 IRDIG初始寄存器 读写 RXHIGH TXLOW 保留 保留 保留 保留 保留 保留
10 保留 读写 保留
11 保留 读写 保留
12 保留 读写 保留
13 保留 读写 保留
14 保留 读写 保留
15 测试寄存器 读写 PLLDWN LOOPIR LOOPUSB TSTENA TSTOSC(3:0)

表8模式寄存器设置说明

位址 助记符 操作 功 能
7 FIR 读写 将红外调制器设为快速模式
6 MIR 读写 将红外调制器设为中速模式
5 SIR 读写 将红外调制器设为慢速模式
4 ASK 读写 将红外调制器设为相移键控模式
3 FASTRXEN 读写 同时读写FIFO使能
2 FFRSTEN 读写 在FIR模式中使FIFO接收移位寄存器自动复位
1 FFSPRST 读写 手动复位FIFO移位寄存器
0 PDCLK(8) 读写 波特率寄存器的最高位

表9 波特率寄存器设置说明

传输模式 波特率/kbps 模式寄存器 波特率寄存器
FIR 4000.0 0x80 0x20
MIR 1152 0x40 0x01
576 0x40 0x03
SIR 115.2 0x20 0x09
57.6 0x20 0x13
38.4 0x20 0x1D
19.2 0x20 0x3B
9.6 0x20 0x77
2.4 0x21 0xDF

表10 灵敏度寄存器设置说明

位址 助记符 操作 功 能
7-5 RXDSN(2:0) 读写 用于设置DRS解调器的灵敏度
FIR MIR SIR
000 1 1 4
001 2 2 8
010 3 3 12
011 4 4 16
100 5 5 20
101 非法 6 24
110 非法 7 28
111 非法 非法 非法
4 BSTUFF 读写 为MIR模式阻塞IRDA数据
3 SPWIDTH 读写 为0时,SIR传输脉冲宽度为1.6us;为1时,为0.3us
2-0 ID(2:0) 读写 芯片的版本号

表11 状态寄存器设置说明

位址 助记符 操作 功 能
7 EOFRAME 只读 指示整个帧已完全装入FIFO
6 FFUNDER 只读 FIFO underrun error
5 FFOVE 只读 FIFO overrun error
4 FFDIR 只读 为1时,FIFO处于传送模式:为0时,处于接收模式
3 FFCLR 只写 为1时,清空FIFO,将其指针置0位。进行FIFO操作时,必须置0
2 FFEMPTY 只读 为1时,FIFO中无数据
1 FFRXERR 只读 为1时,表明当红外接收写FIFO时出错
0 FFTXERR 只读 为1时,表明FIFO写红外传送器时出错

表12 IRDIG初始寄存器设置说明

位址 助记符 操作 功 能
7 RXHIGH 读写 设为1时,将反转RXFAST和RXSLOW脚的数据的极性
6 TXLOW 读写 设为1时,将反转TXDATA脚的数据极性
5-0 保留 读写 未写

   (1)FIFO数据寄存器

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

   (2)模式寄存器

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

   (3)波特率寄存器

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

   (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 所列。

   (6)状态寄存器

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

   (7)IRDIG 初始寄存器

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

结束语

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



评论


相关推荐

技术专区

关闭