新聞中心

EEPW首頁 > 光電顯示 > 設(shè)計應(yīng)用 > USB/IrDA橋控制芯片STIr4200S

USB/IrDA橋控制芯片STIr4200S

作者: 時間:2006-05-07 來源:網(wǎng)絡(luò) 收藏

摘要:從功能方塊圖、引腳說明、幀格式、寄存器及其控制指令等幾個方面詳細(xì)介紹SigmaTel公司開發(fā)的一款專用于USB與IrDA間橋接控制的新型ASIC:STIr4200S。

本文引用地址:http://butianyuan.cn/article/225733.htm

關(guān)鍵詞:紅外無線數(shù)據(jù)通信 USB IrDA STIr4200S

STIr4200S是SigmaTel公司開發(fā)的一款專用于USB與IrDA間橋接控制的新型ASIC,采用低功耗CMOS設(shè)計,直接從USB口饋電,片內(nèi)集成4K字節(jié)的FIFO緩沖,采用28腳SSOP封裝,IrDA數(shù)據(jù)傳輸率范圍從2.4 Kbps到4 Mbps,主要用于通過USB口實(shí)現(xiàn)紅外無線數(shù)據(jù)通信。

1 功能方塊圖

   功能方塊圖如 圖 1 所示,總的來說STIr4200由兩個部分組成:USB控制器和數(shù)字紅外傳輸器。USB控制器向USB宿主機(jī)提供1個控制端點(diǎn)、1個批量數(shù)據(jù)輸入端點(diǎn)和1個批量數(shù)據(jù)輸出端點(diǎn)。數(shù)字紅外傳輸器由發(fā)送接口和接收接口組成,這兩個接口與模擬紅外收發(fā)器相連。

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接口(+)數(shù)據(jù)
4 NC - 懸空 18 VDA PWR USB傳輸器供電(+)
5 RXFAST I 從紅外模塊接收數(shù)據(jù)(快速模式) 19 UIN I/O 測試
6 TXDATA O 蔣數(shù)據(jù)傳送給紅外模塊 20 TST_CLK I 測試時鐘輸入
7 RXSLOW I 從紅外模塊接數(shù)據(jù)(慢速模式) 21 TSTD I/O 測試數(shù)據(jù)輸入、輸出
8 UOUT O SD/模式控制 22 TST_EN I 測試使能
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 指令說明

   STIr4200S為用戶提供了一個指令集,允許通過USB驅(qū)動程序讀寫數(shù)字IR傳輸器的寄存器以及USB控制器的ROM,其指令集詳述如下。

   (1)寫多個寄存器指令

   寫多個寄存器指令可使用戶寫數(shù)字IR傳輸器連續(xù)的多個寄存器,其指令格式如 表 2 所列。每一個寄存器長為1字節(jié),命令給出了讀寫的第一個寄存器、連續(xù)讀寫的寄存器數(shù),以及寫入數(shù)據(jù)所在的數(shù)據(jù)周期。

表2 寫多個寄存器指令說明

偏移量 字段名 長度/字節(jié) 值(十六進(jìn)制) 描 述
0 BmRequestType 1 0x40 請求類型
1 Brequest 1 0x00 寫多個寄存器
2 Wvalue 2 未用  
4 Windex 2 0x0001-000f 欲寫的第一個寄存器
6 Wlength 2 0x0001-0x000f 欲寫的寄存器數(shù)

表3 寫1個寄存器指令說明

偏移量 字段名 長度/字節(jié) 值(十六進(jìn)制) 描 述
0 BmRequestType 1 0x40 請求類型
1 Brequest 1 0x03 寫一個寄存器
2 Wvalue 2 LSB contains data 欲寫入的數(shù)據(jù)
4 Windex 2 0x0001-000f 欲寫的第一個寄存器
6 Wlength 2 未用  

表4 讀多個寄存器指令說明

偏移量 字段名 長度/字節(jié) 值(十六進(jìn)制) 描 述
  BmRequestType 1 0xc0 請求類型
1 Brequest 1 0x01 讀多個寄存器
2 Wvalue 2 未用  
4 Windex 2 0x0001-000f 欲讀的第一個寄存器
6 Wlength 2 0x0001-0x000f 欲讀的寄存器數(shù)

表5 讀ROM指令說明

偏移量 字段名 長度/字節(jié) 值(十六進(jìn)制) 描 述
0 BmRequestType 1  0xc0 請求類型
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)寫1個寄存器指令說明,如 表 3 所列。

   (3)讀多個寄存器指令說明,如 表 4 所列。

   (4)讀ROM指令說明,如 表 5 所列。

   讀ROM指令可使DRIVER讀取USB控制器端點(diǎn)0中ROM,這主要是為了調(diào)試時用于驗(yàn)證該ROM中的內(nèi)容。每次最多可讀取64字節(jié)。

4 數(shù)字紅外傳輸器

   數(shù)字紅外傳輸器,從模擬紅外收發(fā)器接收數(shù)字輸入。主要由傳送調(diào)制器、接收解調(diào)器、FIFO、模擬傳輸部分及寄存器組組成,如 圖 3 所示。可以通過設(shè)置寄存器的值來實(shí)現(xiàn)對設(shè)備的操作,如調(diào)制模式、波特率、FIFO中幀的大小以及RX輸入方式等。其中FIFO的大小為4 K字節(jié)。

   由USB控制器送往TX調(diào)制器的數(shù)據(jù)必須組成IrLAP幀。一個IrLAP幀的格式 由以下幾部分組成。其中BOF為幀開始標(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控制器以前,還必須在報文中加一個2字節(jié)的ID碼以及2 字節(jié)的幀大小。

5 幀格式

   為了標(biāo)識紅外傳輸幀的邊界在幀格式中用到了一些特殊的字符,如 表 6 所列,當(dāng)這些字符在數(shù)據(jù)區(qū)出現(xiàn)時,就必須對它們進(jìn)行轉(zhuǎn)義表示。同時,由于在傳輸過程中,USB批量數(shù)據(jù)輸入/輸出緩沖區(qū)的邊界可能和紅外傳輸幀的邊界不能對齊,因此,在幀格式中還定義了一個字符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個寄存器,如 表 7 所列??梢栽O(shè)置數(shù)字紅外傳輸器的工作模式、波特率等,也可以通過訪問狀態(tài)寄存器來獲取其工作狀態(tài)。下面對除測試寄存器和DPLL寄存器以外的各寄存器的設(shè)置進(jìn)行詳細(xì)的說明。測試寄存器和DPLL寄存器只用于廠家的調(diào)試。

表6 轉(zhuǎn)義字符說明

傳輸模式 原始字符 在數(shù)據(jù)區(qū)的表示 作 用
SIR 0xC0 0x7D 0xE0 BOF(幀起始標(biāo)識)
0xC10x7D 0xE1EOF(幀結(jié)束標(biāo)識)
0x7D0x7D 0x5D實(shí)際的幀邊界標(biāo)識
MIR0x7E0x7D 0x5EBOF(幀起始標(biāo)識)
0x7E0x7D 0x5EEOF(幀結(jié)束標(biāo)識)
0x7D0x7D 0x5D實(shí)際的幀邊界標(biāo)識
FIR0x7F0x7D 0x5F傳輸幀預(yù)同步
0x7E0x7D 0x5EBOF(幀起始標(biāo)識)
0x7E0x7D 0x5EEOF(幀結(jié)束標(biāo)識)
0x7D0x7D 0x5D實(shí)際的幀邊界標(biāo)識

表7 數(shù)字IR傳輸器中寄存器說明

偏移量 描述 存取 位狀態(tài)
7 6 5 4 3 2 1 0
0 FIFO數(shù)據(jù)寄存器 讀寫 保留
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 狀態(tài)寄存器   EPFRAME RO FFUNDER ROC FFOVER ROC FFDIR RO FFCLR WO FFEMPTY RO FFRXERR ROC FFTXERR ROC
6 FIFO計數(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初始寄存器 讀寫 RXHIGH TXLOW 保留 保留 保留 保留 保留 保留
10 保留 讀寫 保留
11 保留 讀寫 保留
12 保留 讀寫 保留
13 保留 讀寫 保留
14 保留 讀寫 保留
15 測試寄存器 讀寫 PLLDWN LOOPIR LOOPUSB TSTENA TSTOSC(3:0)

表8模式寄存器設(shè)置說明

位址 助記符 操作 功 能
7 FIR 讀寫 將紅外調(diào)制器設(shè)為快速模式
6 MIR 讀寫 將紅外調(diào)制器設(shè)為中速模式
5 SIR 讀寫 將紅外調(diào)制器設(shè)為慢速模式
4 ASK 讀寫 將紅外調(diào)制器設(shè)為相移鍵控模式
3 FASTRXEN 讀寫 同時讀寫FIFO使能
2 FFRSTEN 讀寫 在FIR模式中使FIFO接收移位寄存器自動復(fù)位
1 FFSPRST 讀寫 手動復(fù)位FIFO移位寄存器
0 PDCLK(8) 讀寫 波特率寄存器的最高位

表9 波特率寄存器設(shè)置說明

傳輸模式 波特率/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è)置說明

位址 助記符 操作 功 能
7-5 RXDSN(2:0) 讀寫 用于設(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 讀寫 為MIR模式阻塞IRDA數(shù)據(jù)
3 SPWIDTH 讀寫 為0時,SIR傳輸脈沖寬度為1.6us;為1時,為0.3us
2-0 ID(2:0) 讀寫 芯片的版本號

表11 狀態(tài)寄存器設(shè)置說明

位址 助記符 操作 功 能
7 EOFRAME 只讀 指示整個幀已完全裝入FIFO
6 FFUNDER 只讀 FIFO underrun error
5 FFOVE 只讀 FIFO overrun error
4 FFDIR 只讀 為1時,F(xiàn)IFO處于傳送模式:為0時,處于接收模式
3 FFCLR 只寫 為1時,清空FIFO,將其指針置0位。進(jìn)行FIFO操作時,必須置0
2 FFEMPTY 只讀 為1時,F(xiàn)IFO中無數(shù)據(jù)
1 FFRXERR 只讀 為1時,表明當(dāng)紅外接收寫FIFO時出錯
0 FFTXERR 只讀 為1時,表明FIFO寫紅外傳送器時出錯

表12 IRDIG初始寄存器設(shè)置說明

位址 助記符 操作 功 能
7 RXHIGH 讀寫 設(shè)為1時,將反轉(zhuǎn)RXFAST和RXSLOW腳的數(shù)據(jù)的極性
6 TXLOW 讀寫 設(shè)為1時,將反轉(zhuǎn)TXDATA腳的數(shù)據(jù)極性
5-0 保留 讀寫 未寫

   (1)FIFO數(shù)據(jù)寄存器

   默認(rèn)設(shè)置為0x00,用于USB接口進(jìn)入FIFO中的數(shù)據(jù),但這個寄存器很少使用。因?yàn)橐话闱闆r下,USB可通過Bulk read/write指令來對FIFO進(jìn)行操作。

   (2)模式寄存器

   默認(rèn)狀態(tài)為0x20。設(shè)置說明如 表 8 所列。

   (3)波特率寄存器

   這個8位寄存器全為PDCLK位,默認(rèn)值為0x77。 表 9 通過設(shè)置模式寄存器、波特率寄存器來設(shè)置IrDA的傳輸模式。

   (4)控制寄存器

   默認(rèn)值為0x00。bit7為SDMODE位,只有當(dāng)STIr4200S連接到TEMIC類型的紅外傳輸器時,才使用此位,用于將紅外傳輸器設(shè)置成省電狀態(tài)。bit6為RXSLOW位,設(shè)為1時,采用RXSLOW接收輸入信號;設(shè)為0時,采用RXFAST接收輸入信號。bit5為DLOOP1位,當(dāng)設(shè)為1時,表示將紅外傳送器與紅外接收器相連,此位不能用于STIr4200S集成解決方案。bit4為TXPWD位,當(dāng)設(shè)為1時,將停止紅外調(diào)制器供電。bit3為RXPWD位,設(shè)為1時,表示停止紅外解調(diào)器供電。bit2~1為TXPWR(1:0)位,用以設(shè)置內(nèi)部下拉電阻控制傳輸二極管的電流:00表示設(shè)成最大電流,01表示為中高電流,10將設(shè)置成中低電流,11為最小電流。bit0為SRESET位,設(shè)成1時,將對紅外調(diào)制解調(diào)器進(jìn)行復(fù)位。

   (5)靈敏度寄存器

   默認(rèn)值為0x26,具體設(shè)置規(guī)則如 表 10 所列。

   (6)狀態(tài)寄存器

   默認(rèn)值為0x14,設(shè)置說明如 表 11 所列。

   (7)IRDIG 初始寄存器

   IRDIG主要用于設(shè)置紅外傳輸器與前端紅外模擬收發(fā)器連接的引腳極性,設(shè)置說明如 表 12所列。

結(jié)束語

   本文介紹了一款USB/IrDA橋控制芯片STIr4200S的原理和結(jié)構(gòu)。在該芯片內(nèi)部集成了USB和IrDA之間的協(xié)議轉(zhuǎn)換功能,通信協(xié)議完全符合USB1.1 spec 和IrDA spec,通信速度可達(dá)4 Mbps。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉