EZ-USB FX2單片機CY7C68013的特性介紹
摘要:本文主要介紹Cypress Semiconductor公司的EZ-USB FX2單片機CY7C68013,該單片機是一個帶USB2.0內(nèi)核、8051兼容的單片機。
關(guān)鍵詞:USB2.0 EZ-USB FX2 單片機 CY7C68013
1 介紹
Cypress Semiconductor公司的EZ-USB FX2是世界上第一款集成USB2.0的微處理器,它集成了USB2.0收發(fā)器、SIE(串行接口引擎)、增強的8051微控制器和可編程的外圍接口。FX2這種獨創(chuàng)性結(jié)構(gòu)可使數(shù)據(jù)傳輸率達到56Mbytes/s,即USB2.0允許的最大帶寬。在FX2中,智能SIE可以硬件處理許多USB1.1和USB2.0協(xié)議,從而減少了開發(fā)時間和確保了USB的兼容性。GPIF(General Programmable Interface)和主/從端點FIFO(8位或16位數(shù)據(jù)總線)為ATA、UTOPIA、EPP、PCMCIA和DSP等提供了簡單和無縫連接接口。
2 EZ-USB FX2結(jié)構(gòu)
CY7C68013結(jié)構(gòu)圖如圖1所示。它有三種封裝形式:56SSOP,100TQFP和128TQFP。
CY7C68013集成了以下特性:
● USB2.0收發(fā)器、SIE(串行接口引擎)和增強性8051微處理器;
● 軟件運行:8051程序從內(nèi)部RAM開始運行,可以借助下列幾種方式進行程序裝載:
(1) 通過USB下載;
(2) 從EEPROM中裝載;
(3) 通過外部存儲器設備。
● 四個可編程BULK/INTERRUPT/ISOCHRONOUS端點;
可選雙、三和四緩沖
● 8位或16位外部數(shù)據(jù)接口
● 通用可編程接口(GPIF)
(1) 可以直接連接到并口,8位和16位;
(2) 可編程波形描述符和配置寄存器;
(3) 支持多個Ready輸入和Control輸出。
● 集成標準8051內(nèi)核,且具有下列增強特性:
(1) 可以達到48MHz時鐘;
(2) 每條指令占四個時鐘周期;
(3) 兩個USARTs;
(4) 三個定時/計數(shù)器;
(5) 擴展的中斷系統(tǒng);
(6) 兩個數(shù)據(jù)指針。
● 3.3V電源系統(tǒng);
● 智能串行引擎(SIE);
● 矢量USB中斷;
● 獨立的數(shù)據(jù)緩沖區(qū)供SETUP和DATA包控制傳輸;
● 集成I2C控制器,運行速度可達100或400KHz;
● 四個FIFO,可與ASIC和DSP等無縫連接;
● 專門的FIFO和GPIF自動矢量中斷;
● 可用于DSL Modems、ATA接口、相機、Home PNA、WLAN、MP3播放器、網(wǎng)絡等。
3、USB啟動方式和枚舉
上電時,內(nèi)部邏輯會檢查連接到I2C總線上的EEPROM中的第一個字節(jié)(0xC0或0xC2)。如果是0xC0,就會使用EEPROM中的VID/PID/DID來替代內(nèi)部存儲值;如果是0xC2,內(nèi)部邏輯就會把EEPROM中的內(nèi)容裝入到內(nèi)部RAM中;如果沒有檢查到EEPROM,FX2就會使用內(nèi)部存儲的描述符來枚舉。FX2缺省的VID/PID/DID是0x04B4/ 0x8613/ 0xxxyy。
當首次插入USB時,FX2通過USB電纜會自動枚舉且下載固件和USB描述符表;接下來,FX2再次枚舉,這次主要通過下載的信息來定義設備。這兩個步驟就叫做重枚舉,當設備插入時它們就立即執(zhí)行。
4、程序/數(shù)據(jù)存儲器
4.1內(nèi)部數(shù)據(jù)RAM
如圖2所示,FX2的內(nèi)部數(shù)據(jù)RAM被分成三個不同的區(qū)域:低(LOW)128、高(Upper)128和特殊功能寄存器(SFR)空間。低128和高128是通用RAM,SFR包括FX2控制和狀態(tài)寄存器。
4.2外部程序存儲器和數(shù)據(jù)存儲器
FX2有8K片上RAM,位于0x0000-0x1FFF;512字節(jié)Scratch RAM,位于0xE000-0xE1FF。盡管Scratch RAM從物理上來說位于片內(nèi),但是通過固件可以把它作為外部RAM一樣來尋址。
FX2保留7.5K(0xE200-0xFFFF)數(shù)據(jù)地址空間作為控制/狀態(tài)寄存器和端點緩沖器。
注意:只有數(shù)據(jù)內(nèi)存空間保留,而程序內(nèi)存(0xE000-0xFFFF)并不保留。
5、端點緩沖區(qū)
FX2包含3個64字節(jié)端點緩沖區(qū)和4K可配置成不同方式的緩沖,其中3個64字節(jié)的緩沖區(qū)為EP0、EP1IN和EP1OUT。EP0作為控制端點用,它是一個雙向端點,既可為IN也可為OUT。當需要控制傳輸數(shù)據(jù)時,F(xiàn)X2固件讀寫EP0緩沖區(qū),但是8個SETUP字節(jié)數(shù)據(jù)不會出現(xiàn)在這64字節(jié)EP0端點緩沖區(qū)中。EP1IN和EP1OUT使用獨立的64字節(jié)緩沖區(qū),F(xiàn)X2固件可配置這些端點為BULK、INTERRUPT或ISOCHRONOUS傳輸方式,這兩個端點和EP0一樣只能被固件訪問。這一點與大端點緩沖區(qū)EP2、EP4、EP6和EP8不同,這四個端點緩沖區(qū)主要用來和片上或片外進行高帶寬數(shù)據(jù)傳輸而無需固件的參與。EP2、EP4、EP6和EP8是高帶寬、大緩沖區(qū)。它們可被配置成不同的方式來適應帶寬的需求。
6、外部FIFO接口
EP2、EP4、EP6和EP8大端點緩沖區(qū)主要用來進行高速(480Mbits/s)數(shù)據(jù)傳輸,可以通過FIFO數(shù)據(jù)接口與外部ASIC和DSP等處理器無縫連接來實現(xiàn)高速數(shù)據(jù)傳輸。它具有通用接口:Slave(從)FIFO(外部主)或GPIF(內(nèi)部主)、同步或異步時鐘、內(nèi)部或外部時鐘等。圖3、圖4分別為FX2 FIFO處在“Slave FIFO”模式和“GPIF Master”模式。
7、中斷資源
FX2的中斷結(jié)構(gòu)是在一個標準8051單片機的基礎上增強和擴展了部分中斷資源,中斷資源如表1所示:
表1 FX2中斷
FX2中斷 |
中斷來源 |
中斷向量 |
優(yōu)先級 |
IE0 |
INT0 Pin |
0x0003 |
1 |
TF0 |
Timer0 Overflow |
0x000B |
2 |
IE1 |
INT1 Pin |
0x0013 |
3 |
TF1 |
Timer1 Overflow |
0x001B |
4 |
RI_0 & TI_0 |
USART0 Rx & Tx |
0x0023 |
5 |
TF2 |
Timer2 Overflow |
0x002B |
6 |
Resume |
WAKEUP/WU2 Pin |
0x0033 |
0 |
RI_1 & TI_1 |
USART1 Rx & Tx |
0x003B |
7 |
USBINT |
USB |
0x0043 |
8 |
I2CINT |
I2C BUS |
0x004B |
9 |
IE4 |
GPIF/FIFOs/INT4 Pin |
0x0053 |
10 |
IE5 |
INT5 Pin |
0x005B |
11 |
IE6 |
INT6 Pin |
0x0063 |
12 |
其中27個USB請求共享USB中斷,14個FIFO/GPIF源共享INT4。
8、結(jié)束語
我們用EZ-USB FX2 CY7C68013單片機來實現(xiàn)多串口轉(zhuǎn)USB,并開發(fā)了windows操作系統(tǒng)下的USB驅(qū)動。