EZ-USB FX2單片機(jī)CY7C68013的特性介紹
摘要:本文主要介紹Cypress Semiconductor公司的EZ-USB FX2單片機(jī)CY7C68013,該單片機(jī)是一個帶USB2.0內(nèi)核、8051兼容的單片機(jī)。
關(guān)鍵詞:USB2.0 EZ-USB FX2 單片機(jī) CY7C68013
1 介紹
Cypress Semiconductor公司的EZ-USB FX2是世界上第一款集成USB2.0的微處理器,它集成了USB2.0收發(fā)器、SIE(串行接口引擎)、增強(qiáng)的8051微控制器和可編程的外圍接口。FX2這種獨(dú)創(chuàng)性結(jié)構(gòu)可使數(shù)據(jù)傳輸率達(dá)到56Mbytes/s,即USB2.0允許的最大帶寬。在FX2中,智能SIE可以硬件處理許多USB1.1和USB2.0協(xié)議,從而減少了開發(fā)時間和確保了USB的兼容性。GPIF(General Programmable Interface)和主/從端點(diǎn)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(串行接口引擎)和增強(qiáng)性8051微處理器;
● 軟件運(yùn)行:8051程序從內(nèi)部RAM開始運(yùn)行,可以借助下列幾種方式進(jìn)行程序裝載:
(1)通過USB下載;
?。?)從EEPROM中裝載;
?。?)通過外部存儲器設(shè)備。
● 四個可編程BULK/INTERRUPT/ISOCHRONOUS端點(diǎn);
可選雙、三和四緩沖
● 8位或16位外部數(shù)據(jù)接口
● 通用可編程接口(GPIF)
?。?)可以直接連接到并口,8位和16位;
?。?)可編程波形描述符和配置寄存器;
?。?)支持多個Ready輸入和Control輸出。
● 集成標(biāo)準(zhǔn)8051內(nèi)核,且具有下列增強(qiáng)特性:
?。?)可以達(dá)到48MHz時鐘;
(2)每條指令占四個時鐘周期;
?。?)兩個USARTs;
(4)三個定時/計數(shù)器;
?。?)擴(kuò)展的中斷系統(tǒng);
?。?)兩個數(shù)據(jù)指針。
● 3.3V電源系統(tǒng);
● 智能串行引擎(SIE);
● 矢量USB中斷;
● 獨(dú)立的數(shù)據(jù)緩沖區(qū)供SETUP和DATA包控制傳輸;
● 集成I2C控制器,運(yùn)行速度可達(dá)100或400KHz;
● 四個FIFO,可與ASIC和DSP等無縫連接;
● 專門的FIFO和GPIF自動矢量中斷;
● 可用于DSL Modems、ATA接口、相機(jī)、Home PNA、WLAN、MP3播放器、網(wǎng)絡(luò)等。
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,F(xiàn)X2就會使用內(nèi)部存儲的描述符來枚舉。FX2缺省的VID/PID/DID是0x04B4/ 0x8613/ 0xxxyy。
當(dāng)首次插入USB時,F(xiàn)X2通過USB電纜會自動枚舉且下載固件和USB描述符表;接下來,F(xiàn)X2再次枚舉,這次主要通過下載的信息來定義設(shè)備。這兩個步驟就叫做重枚舉,當(dāng)設(shè)備插入時它們就立即執(zhí)行。
4、程序/數(shù)據(jù)存儲器
4.1內(nèi)部數(shù)據(jù)RAM
如圖2所示,F(xiàn)X2的內(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)寄存器和端點(diǎn)緩沖器。
注意:只有數(shù)據(jù)內(nèi)存空間保留,而程序內(nèi)存(0xE000-0xFFFF)并不保留。
5、端點(diǎn)緩沖區(qū)
FX2包含3個64字節(jié)端點(diǎn)緩沖區(qū)和4K可配置成不同方式的緩沖,其中3個64字節(jié)的緩沖區(qū)為EP0、EP1IN和EP1OUT。EP0作為控制端點(diǎn)用,它是一個雙向端點(diǎn),既可為IN也可為OUT。當(dāng)需要控制傳輸數(shù)據(jù)時,F(xiàn)X2固件讀寫EP0緩沖區(qū),但是8個SETUP字節(jié)數(shù)據(jù)不會出現(xiàn)在這64字節(jié)EP0端點(diǎn)緩沖區(qū)中。EP1IN和EP1OUT使用獨(dú)立的64字節(jié)緩沖區(qū),F(xiàn)X2固件可配置這些端點(diǎn)為BULK、INTERRUPT或ISOCHRONOUS傳輸方式,這兩個端點(diǎn)和EP0一樣只能被固件訪問。這一點(diǎn)與大端點(diǎn)緩沖區(qū)EP2、EP4、EP6和EP8不同,這四個端點(diǎn)緩沖區(qū)主要用來和片上或片外進(jìn)行高帶寬數(shù)據(jù)傳輸而無需固件的參與。EP2、EP4、EP6和EP8是高帶寬、大緩沖區(qū)。它們可被配置成不同的方式來適應(yīng)帶寬的需求。
6、外部FIFO接口
EP2、EP4、EP6和EP8大端點(diǎn)緩沖區(qū)主要用來進(jìn)行高速(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)是在一個標(biāo)準(zhǔn)8051單片機(jī)的基礎(chǔ)上增強(qiáng)和擴(kuò)展了部分中斷資源,中斷資源如表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 |
pid控制相關(guān)文章:pid控制原理 |
評論