USB/IrDA橋控制芯片STIr4200S
摘要:從功能方塊圖、引腳說(shuō)明、幀格式、寄存器及其控制指令等幾個(gè)方面詳細(xì)介紹SigmaTel公司開(kāi)發(fā)的一款專用于USB與IrDA間橋接控制的新型ASIC:STIr4200S。
本文引用地址:http://2s4d.com/article/225733.htm關(guān)鍵詞:紅外無(wú)線數(shù)據(jù)通信 USB IrDA STIr4200S
STIr4200S是SigmaTel公司開(kāi)發(fā)的一款專用于USB與IrDA間橋接控制的新型ASIC,采用低功耗CMOS設(shè)計(jì),直接從USB口饋電,片內(nèi)集成4K字節(jié)的FIFO緩沖,采用28腳SSOP封裝,IrDA數(shù)據(jù)傳輸率范圍從2.4 Kbps到4 Mbps,主要用于通過(guò)USB口實(shí)現(xiàn)紅外無(wú)線數(shù)據(jù)通信。
1 功能方塊圖
功能方塊圖如 圖 1 所示,總的來(lái)說(shuō)STIr4200由兩個(gè)部分組成:USB控制器和數(shù)字紅外傳輸器。USB控制器向USB宿主機(jī)提供1個(gè)控制端點(diǎn)、1個(gè)批量數(shù)據(jù)輸入端點(diǎn)和1個(gè)批量數(shù)據(jù)輸出端點(diǎn)。數(shù)字紅外傳輸器由發(fā)送接口和接收接口組成,這兩個(gè)接口與模擬紅外收發(fā)器相連。
2 引腳描述
STIr4200S引腳排列如 圖 2 所示。
STIr4200S引腳說(shuō)明如 表 1 所列。
表1 STIr4200S引腳說(shuō)明
引腳號(hào) | 信號(hào)名 | 類型 | 描 述 | 引腳號(hào) | 信號(hào)名 | 類型 | 描 述 |
1 | TXDIODE GND | PWR | TXDIODE供電地 | 15 | NC | - | 懸空 |
2 | TXDIODE | O | 可選的LEXD激勵(lì)輸出 | 16 | NC | - | 懸空 |
3 | NC | - | 懸空 | 17 | DPOS | I-O | USB接口(+)數(shù)據(jù) |
4 | NC | - | 懸空 | 18 | VDA | PWR | USB傳輸器供電(+) |
5 | RXFAST | I | 從紅外模塊接收數(shù)據(jù)(快速模式) | 19 | UIN | I/O | 測(cè)試 |
6 | TXDATA | O | 蔣數(shù)據(jù)傳送給紅外模塊 | 20 | TST_CLK | I | 測(cè)試時(shí)鐘輸入 |
7 | RXSLOW | I | 從紅外模塊接數(shù)據(jù)(慢速模式) | 21 | TSTD | I/O | 測(cè)試數(shù)據(jù)輸入、輸出 |
8 | UOUT | O | SD/模式控制 | 22 | TST_EN | I | 測(cè)試使能 |
9 | DGND | PWR | 數(shù)字電源地 | 23 | RESETZ | I | 主復(fù)位 |
10 | VDD | PWR | 數(shù)字電源(+) | 24 | GNDD | PWR | 電源地 |
11 | AGND | PWR | USB傳輸供電地 | 25 | XTALI | I | 12MHz晶振輸入 |
12 | DNEG | I/O | USB接口(-)數(shù)據(jù) | 26 | XTALO | O | 12MHz晶振輸出 |
13 | NC | - | 懸空 | 27 | NC | - | 懸空 |
14 | NC | - | 懸空 | 28 | NC | - | 懸空 |
3 指令說(shuō)明
STIr4200S為用戶提供了一個(gè)指令集,允許通過(guò)USB驅(qū)動(dòng)程序讀寫(xiě)數(shù)字IR傳輸器的寄存器以及USB控制器的ROM,其指令集詳述如下。
(1)寫(xiě)多個(gè)寄存器指令
寫(xiě)多個(gè)寄存器指令可使用戶寫(xiě)數(shù)字IR傳輸器連續(xù)的多個(gè)寄存器,其指令格式如 表 2 所列。每一個(gè)寄存器長(zhǎng)為1字節(jié),命令給出了讀寫(xiě)的第一個(gè)寄存器、連續(xù)讀寫(xiě)的寄存器數(shù),以及寫(xiě)入數(shù)據(jù)所在的數(shù)據(jù)周期。
表2 寫(xiě)多個(gè)寄存器指令說(shuō)明
偏移量 | 字段名 | 長(zhǎng)度/字節(jié) | 值(十六進(jìn)制) | 描 述 |
0 | BmRequestType | 1 | 0x40 | 請(qǐng)求類型 |
1 | Brequest | 1 | 0x00 | 寫(xiě)多個(gè)寄存器 |
2 | Wvalue | 2 | 未用 | |
4 | Windex | 2 | 0x0001-000f | 欲寫(xiě)的第一個(gè)寄存器 |
6 | Wlength | 2 | 0x0001-0x000f | 欲寫(xiě)的寄存器數(shù) |
表3 寫(xiě)1個(gè)寄存器指令說(shuō)明
偏移量 | 字段名 | 長(zhǎng)度/字節(jié) | 值(十六進(jìn)制) | 描 述 |
0 | BmRequestType | 1 | 0x40 | 請(qǐng)求類型 |
1 | Brequest | 1 | 0x03 | 寫(xiě)一個(gè)寄存器 |
2 | Wvalue | 2 | LSB contains data | 欲寫(xiě)入的數(shù)據(jù) |
4 | Windex | 2 | 0x0001-000f | 欲寫(xiě)的第一個(gè)寄存器 |
6 | Wlength | 2 | 未用 |
表4 讀多個(gè)寄存器指令說(shuō)明
偏移量 | 字段名 | 長(zhǎng)度/字節(jié) | 值(十六進(jìn)制) | 描 述 |
BmRequestType | 1 | 0xc0 | 請(qǐng)求類型 | |
1 | Brequest | 1 | 0x01 | 讀多個(gè)寄存器 |
2 | Wvalue | 2 | 未用 | |
4 | Windex | 2 | 0x0001-000f | 欲讀的第一個(gè)寄存器 |
6 | Wlength | 2 | 0x0001-0x000f | 欲讀的寄存器數(shù) |
表5 讀ROM指令說(shuō)明
偏移量 | 字段名 | 長(zhǎng)度/字節(jié) | 值(十六進(jìn)制) | 描 述 |
0 | BmRequestType | 1 | 0xc0 | 請(qǐng)求類型 |
1 | Brequest | 1 | 0x02 | 讀ROM |
2 | Wvalue | 2 | 未用 | |
4 | Windex | 2 | 0x0001-0x00ff | ROM基地址 |
6 | Wlength | 2 | 0x01-0x0040 | 欲讀的ROM字節(jié)數(shù)(或=64字節(jié)) |
(2)寫(xiě)1個(gè)寄存器指令說(shuō)明,如 表 3 所列。
(3)讀多個(gè)寄存器指令說(shuō)明,如 表 4 所列。
(4)讀ROM指令說(shuō)明,如 表 5 所列。
讀ROM指令可使DRIVER讀取USB控制器端點(diǎn)0中ROM,這主要是為了調(diào)試時(shí)用于驗(yàn)證該ROM中的內(nèi)容。每次最多可讀取64字節(jié)。
4 數(shù)字紅外傳輸器
數(shù)字紅外傳輸器,從模擬紅外收發(fā)器接收數(shù)字輸入。主要由傳送調(diào)制器、接收解調(diào)器、FIFO、模擬傳輸部分及寄存器組組成,如 圖 3 所示。可以通過(guò)設(shè)置寄存器的值來(lái)實(shí)現(xiàn)對(duì)設(shè)備的操作,如調(diào)制模式、波特率、FIFO中幀的大小以及RX輸入方式等。其中FIFO的大小為4 K字節(jié)。
由USB控制器送往TX調(diào)制器的數(shù)據(jù)必須組成IrLAP幀。一個(gè)IrLAP幀的格式 由以下幾部分組成。其中BOF為幀開(kāi)始標(biāo)志,A為地址字段,C為控制字段,I 為信息字段,F(xiàn)CS為幀的CRC校驗(yàn)碼,EOF為幀結(jié)束標(biāo)志。
BOF | A | C | I | FCS | EOF |
另外,F(xiàn)IFO中的內(nèi)容發(fā)送給USB控制器以前,還必須在報(bào)文中加一個(gè)2字節(jié)的ID碼以及2 字節(jié)的幀大小。
5 幀格式
為了標(biāo)識(shí)紅外傳輸幀的邊界在幀格式中用到了一些特殊的字符,如 表 6 所列,當(dāng)這些字符在數(shù)據(jù)區(qū)出現(xiàn)時(shí),就必須對(duì)它們進(jìn)行轉(zhuǎn)義表示。同時(shí),由于在傳輸過(guò)程中,USB批量數(shù)據(jù)輸入/輸出緩沖區(qū)的邊界可能和紅外傳輸幀的邊界不能對(duì)齊,因此,在幀格式中還定義了一個(gè)字符0x7D用于實(shí)際的幀邊界描述。另外,在FIR模式下引入了0x7F作為預(yù)同步字符。
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 寄存器設(shè)置
在數(shù)字紅外傳輸器中共有16個(gè)寄存器,如 表 7 所列??梢栽O(shè)置數(shù)字紅外傳輸器的工作模式、波特率等,也可以通過(guò)訪問(wèn)狀態(tài)寄存器來(lái)獲取其工作狀態(tài)。下面對(duì)除測(cè)試寄存器和DPLL寄存器以外的各寄存器的設(shè)置進(jìn)行詳細(xì)的說(shuō)明。測(cè)試寄存器和DPLL寄存器只用于廠家的調(diào)試。
表6 轉(zhuǎn)義字符說(shuō)明
傳輸模式 | 原始字符 | 在數(shù)據(jù)區(qū)的表示 | 作 用 |
SIR | 0xC0 | 0x7D 0xE0 | BOF(幀起始標(biāo)識(shí)) |
0xC1 | 0x7D 0xE1 | EOF(幀結(jié)束標(biāo)識(shí)) | |
0x7D | 0x7D 0x5D | 實(shí)際的幀邊界標(biāo)識(shí) | |
MIR | 0x7E | 0x7D 0x5E | BOF(幀起始標(biāo)識(shí)) |
0x7E | 0x7D 0x5E | EOF(幀結(jié)束標(biāo)識(shí)) | |
0x7D | 0x7D 0x5D | 實(shí)際的幀邊界標(biāo)識(shí) | |
FIR | 0x7F | 0x7D 0x5F | 傳輸幀預(yù)同步 |
0x7E | 0x7D 0x5E | BOF(幀起始標(biāo)識(shí)) | |
0x7E | 0x7D 0x5E | EOF(幀結(jié)束標(biāo)識(shí)) | |
0x7D | 0x7D 0x5D | 實(shí)際的幀邊界標(biāo)識(shí) |
表7 數(shù)字IR傳輸器中寄存器說(shuō)明
偏移量 | 描述 | 存取 | 位狀態(tài) | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
0 | FIFO數(shù)據(jù)寄存器 | 讀寫(xiě) | 保留 | |||||||
1 | 模式寄存器 | 讀寫(xiě) | FIR | MIR | SIR | ASK | FASTRXEN | FFRSTEN | FFSPRST | PDCLK |
2 | 波特率寄存器 | 讀寫(xiě) | PDCLK(7..0) | |||||||
3 | 控制寄存器 | 讀寫(xiě) | 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 | 狀態(tài)寄存器 | EPFRAME RO | FFUNDER ROC | FFOVER ROC | FFDIR RO | FFCLR WO | FFEMPTY RO | FFRXERR ROC | FFTXERR ROC | |
6 | FIFO計(jì)數(shù)寄存器(LSB) | 只讀 | FFCNT(7..0) | |||||||
7 | FIFO主數(shù)寄存器(MSB) | 只讀 | 0 | 0 | 0 | FFCNT(12:8) | ||||
8 | DPLL調(diào)節(jié)寄存器 | 只讀 | DPCNT(5:0) | LONGP(1:0) | ||||||
9 | IRDIG初始寄存器 | 讀寫(xiě) | RXHIGH | TXLOW | 保留 | 保留 | 保留 | 保留 | 保留 | 保留 |
10 | 保留 | 讀寫(xiě) | 保留 | |||||||
11 | 保留 | 讀寫(xiě) | 保留 | |||||||
12 | 保留 | 讀寫(xiě) | 保留 | |||||||
13 | 保留 | 讀寫(xiě) | 保留 | |||||||
14 | 保留 | 讀寫(xiě) | 保留 | |||||||
15 | 測(cè)試寄存器 | 讀寫(xiě) | PLLDWN | LOOPIR | LOOPUSB | TSTENA | TSTOSC(3:0) |
表8模式寄存器設(shè)置說(shuō)明
位址 | 助記符 | 操作 | 功 能 |
7 | FIR | 讀寫(xiě) | 將紅外調(diào)制器設(shè)為快速模式 |
6 | MIR | 讀寫(xiě) | 將紅外調(diào)制器設(shè)為中速模式 |
5 | SIR | 讀寫(xiě) | 將紅外調(diào)制器設(shè)為慢速模式 |
4 | ASK | 讀寫(xiě) | 將紅外調(diào)制器設(shè)為相移鍵控模式 |
3 | FASTRXEN | 讀寫(xiě) | 同時(shí)讀寫(xiě)FIFO使能 |
2 | FFRSTEN | 讀寫(xiě) | 在FIR模式中使FIFO接收移位寄存器自動(dòng)復(fù)位 |
1 | FFSPRST | 讀寫(xiě) | 手動(dòng)復(fù)位FIFO移位寄存器 |
0 | PDCLK(8) | 讀寫(xiě) | 波特率寄存器的最高位 |
表9 波特率寄存器設(shè)置說(shuō)明
傳輸模式 | 波特率/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 靈敏度寄存器設(shè)置說(shuō)明
位址 | 助記符 | 操作 | 功 能 | |||
7-5 | RXDSN(2:0) | 讀寫(xiě) | 用于設(shè)置DRS解調(diào)器的靈敏度 | |||
值 | 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 | 讀寫(xiě) | 為MIR模式阻塞IRDA數(shù)據(jù) | |||
3 | SPWIDTH | 讀寫(xiě) | 為0時(shí),SIR傳輸脈沖寬度為1.6us;為1時(shí),為0.3us | |||
2-0 | ID(2:0) | 讀寫(xiě) | 芯片的版本號(hào) |
表11 狀態(tài)寄存器設(shè)置說(shuō)明
位址 | 助記符 | 操作 | 功 能 |
7 | EOFRAME | 只讀 | 指示整個(gè)幀已完全裝入FIFO |
6 | FFUNDER | 只讀 | FIFO underrun error |
5 | FFOVE | 只讀 | FIFO overrun error |
4 | FFDIR | 只讀 | 為1時(shí),F(xiàn)IFO處于傳送模式:為0時(shí),處于接收模式 |
3 | FFCLR | 只寫(xiě) | 為1時(shí),清空FIFO,將其指針置0位。進(jìn)行FIFO操作時(shí),必須置0 |
2 | FFEMPTY | 只讀 | 為1時(shí),F(xiàn)IFO中無(wú)數(shù)據(jù) |
1 | FFRXERR | 只讀 | 為1時(shí),表明當(dāng)紅外接收寫(xiě)FIFO時(shí)出錯(cuò) |
0 | FFTXERR | 只讀 | 為1時(shí),表明FIFO寫(xiě)紅外傳送器時(shí)出錯(cuò) |
表12 IRDIG初始寄存器設(shè)置說(shuō)明
位址 | 助記符 | 操作 | 功 能 |
7 | RXHIGH | 讀寫(xiě) | 設(shè)為1時(shí),將反轉(zhuǎn)RXFAST和RXSLOW腳的數(shù)據(jù)的極性 |
6 | TXLOW | 讀寫(xiě) | 設(shè)為1時(shí),將反轉(zhuǎn)TXDATA腳的數(shù)據(jù)極性 |
5-0 | 保留 | 讀寫(xiě) | 未寫(xiě) |
(1)FIFO數(shù)據(jù)寄存器
默認(rèn)設(shè)置為0x00,用于USB接口進(jìn)入FIFO中的數(shù)據(jù),但這個(gè)寄存器很少使用。因?yàn)橐话闱闆r下,USB可通過(guò)Bulk read/write指令來(lái)對(duì)FIFO進(jìn)行操作。
(2)模式寄存器
默認(rèn)狀態(tài)為0x20。設(shè)置說(shuō)明如 表 8 所列。
(3)波特率寄存器
這個(gè)8位寄存器全為PDCLK位,默認(rèn)值為0x77。 表 9 通過(guò)設(shè)置模式寄存器、波特率寄存器來(lái)設(shè)置IrDA的傳輸模式。
(4)控制寄存器
默認(rèn)值為0x00。bit7為SDMODE位,只有當(dāng)STIr4200S連接到TEMIC類型的紅外傳輸器時(shí),才使用此位,用于將紅外傳輸器設(shè)置成省電狀態(tài)。bit6為RXSLOW位,設(shè)為1時(shí),采用RXSLOW接收輸入信號(hào);設(shè)為0時(shí),采用RXFAST接收輸入信號(hào)。bit5為DLOOP1位,當(dāng)設(shè)為1時(shí),表示將紅外傳送器與紅外接收器相連,此位不能用于STIr4200S集成解決方案。bit4為T(mén)XPWD位,當(dāng)設(shè)為1時(shí),將停止紅外調(diào)制器供電。bit3為RXPWD位,設(shè)為1時(shí),表示停止紅外解調(diào)器供電。bit2~1為T(mén)XPWR(1:0)位,用以設(shè)置內(nèi)部下拉電阻控制傳輸二極管的電流:00表示設(shè)成最大電流,01表示為中高電流,10將設(shè)置成中低電流,11為最小電流。bit0為SRESET位,設(shè)成1時(shí),將對(duì)紅外調(diào)制解調(diào)器進(jìn)行復(fù)位。
(5)靈敏度寄存器
默認(rèn)值為0x26,具體設(shè)置規(guī)則如 表 10 所列。
(6)狀態(tài)寄存器
默認(rèn)值為0x14,設(shè)置說(shuō)明如 表 11 所列。
(7)IRDIG 初始寄存器
IRDIG主要用于設(shè)置紅外傳輸器與前端紅外模擬收發(fā)器連接的引腳極性,設(shè)置說(shuō)明如 表 12所列。
結(jié)束語(yǔ)
本文介紹了一款USB/IrDA橋控制芯片STIr4200S的原理和結(jié)構(gòu)。在該芯片內(nèi)部集成了USB和IrDA之間的協(xié)議轉(zhuǎn)換功能,通信協(xié)議完全符合USB1.1 spec 和IrDA spec,通信速度可達(dá)4 Mbps。
評(píng)論