fx to fx2: a comparison. agenda block diagram evolution hardware firmware wrap-up

22
FX to FX2: A Comparison

Upload: milo-frakes

Post on 01-Apr-2015

220 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: FX to FX2: A Comparison. Agenda Block diagram Evolution Hardware Firmware Wrap-up

FX to FX2: A Comparison

Page 2: FX to FX2: A Comparison. Agenda Block diagram Evolution Hardware Firmware Wrap-up

Agenda

• Block diagram

• Evolution

• Hardware

• Firmware

• Wrap-up

Page 3: FX to FX2: A Comparison. Agenda Block diagram Evolution Hardware Firmware Wrap-up

Address (16)8051 Core24/48 MHz,

4 clocks/cycle

CYSmartUSB

Engine

12 MHzXTAL

I/O Ports (40)

4 KB /8KBRAM

Add

ress

(16

) / D

ata

Bus

(8)

X4PLL

I2CCompatibl

e

Four64 bytes

FIFO

8/16bits

Data(8)

DMA Engine

EZ-USB FX

USB1.1

XCVR

D+

D-

Uses Low-Cost CrystalHigh Performance Micro

Using Standard Tools

Memory Expansion or

Data Buffer Ports

Peripheral I/O Flexibility

1K Double-Buffer Isochronous Support

"Soft Configuration” Easy Firmware Changes

Enhanced USB Core Simplifies 8051 Code

Master or Slave Operation

Abundant I/OIncluding 2 UARTS

Up to 48 MBytes/sBurst Rates

GPIF

General Programmable I/F to any ASIC/DSP or bus

standards such as ATAPI, EPP, etc.

2 KBFIFO

EZ-USB FX Block Diagram

Page 4: FX to FX2: A Comparison. Agenda Block diagram Evolution Hardware Firmware Wrap-up

EZ-USB FX2Block Diagram

24 MHz XTAL

Uses Low-Cost Crystal

High Performance Micro Using standard tools with

low power options

Memory Expansion or Data Buffer

Ports

Peripheral I/O Flexibility

"Soft Configuration” Easy Firmware Changes

Enhanced USB Core Simplifies 8051 Code

FIFO and Endpoint Memory (Master or Slave Operation)

Abundant I/O Including 2 UARTS

General Programmable Interface to any

ASIC/DSP or bus standards such as ATAPI, EPP, etc.

8051 Core 12/24/48 MHz4 clocks/cycle

CY Smart USB

Engine

8.5kB RAM

Add

ress

(1

6)

/ D

ata

Bu

s (8

)X20 PLL

4kBFIFO

EZ-USB FX2

USB 2.0

XCVR

D+

D-GPIF

ADDR (9)

connectfor fullspeed

1.5k

Vcc

I2C - Compatible

Master/0.5 /1.0 /2.0

Additional I/Os (24)

Data (8)

Address (16)

RDY (6)CTL (6)

8/16

Page 5: FX to FX2: A Comparison. Agenda Block diagram Evolution Hardware Firmware Wrap-up

EZ-USB FX2Architectural Evolution

EndpointFIFOS

MicroprocessorOutsideWorld

(a) USB 1.1 Full Speed

USB

EZ-USB

EndpointFIFOS

Microprocessor

(c) USB 2.0--no time wasted transferring databetween FIFOS

OutsideWorld

USB

RAM/FIFO access

(36 kilobits)

EZ-USB FX2

EndpointFIFOS

USB

Microprocessor

DMAInterface

FIFO

(b) USB 1.1 Full Speed

OutsideWorld

RAM/FIFO access

(24 kilobits) (2 kilobits)

EZ-USB FXcontrol

Page 6: FX to FX2: A Comparison. Agenda Block diagram Evolution Hardware Firmware Wrap-up

FX to FX2Hardware - General

• Not pin compatible

• Internal resistor for DISCON pin

• Programmable WAKEUP with multiple sources

• Firmware SUSPEND

• Finally 115k and 230k baud internally with dedicated pins

Page 7: FX to FX2: A Comparison. Agenda Block diagram Evolution Hardware Firmware Wrap-up

FX vs. FX2Hardware - General

Parameter FX FX2Mechanical Pkg(s) 52, 80, 128 56, 100, 128

PIN Assignments PINS do NOT match w/ FX2 Pins do NOT match w/ FX

External Crystal 12MHz +/- 2000ppm series resonantnetwork, 1M ohm resistor, 27-33pf(5%) load capacitors operating in

fundamental mode.

24MHz +/- 100ppm parallel resonant network,27-33pf (5%) load capacitors operating in

fundamental mode.

RESET – RC Network ~ 100msec (needs to be ~ 10msec), troublemeeting USB spec. I think this is to

overcome an issue w/ voltage regulator andhope not chip.

USB DISCON 1.5k D+ pull-up External, typically controlledvia DISCON pin

Internal, no DISCON pin

USB CONNECT / DISCONNECTDefault State

has the ability to come up eitherconnected or disconnected

does NOT have the ability to immediatelycome up DISCONNECTED (to be added in Rev B.

silicon, w/ EA=1), the default isCONNECTED... set in SEE

Ext. WAKEUP pin(s)Programmable Polarity

fixed WAKEUP# signal assertpolarity

programmable WAKEUP source polarity,ability to enable/disable D+, WAKEUP, WU2

Ext. WAKEUP source(s) one external WAKEUP source and D+ two external WAKEUP source pins and D+,shared PA3/WU2 port pin... supports

periodic wakeup feature

Entering SUSPEND mode, whennot connected to USB

Needs 'J' state on D+/D- to enterSUSPEND, when not connected to

USB

does NOT need 'J' state on D+/D- to enterSUSPEND, when not connected to USB... new

register SUSPEND

Page 8: FX to FX2: A Comparison. Agenda Block diagram Evolution Hardware Firmware Wrap-up

FX vs. FX2Hardware - General

Parameter FX FX2UART230 can NOT achieve near 0% error

at 115k/230k baud (UART230Errata)

can achieve near 0% error at 115k (set 8051bit) and 230k baud via register setting

UART0/1 Availability 52 pin part does have UART0 56 pin part does not have serial ports

I/O pin(s) sink/source I/O pins can sink/source 4mA (50mA max partconsumption)

I/Os 5v Tolerant 5v tolerant I/O's 5v tolerant I/O's

I/Os Hysteresis all pins (as inputs) have hysteresis

8051 RD# / WR# Pull-ups pull-ups on RD# / WR# pull-ups on RD# / WR#

I2C Pull-ups pull-ups on SCL/SDA Needs pull-ups on SCL/SDA (verify drivermin resistor value (1k ohm) - add to

datasheet)

AUTODATA Register(s)Location Program MemoryHole(s)

One AUTODATA Register (can’tdisable)

Two AUTODATA Register(s) (can disable whenexternal access is turned off via

AUTOPTRSETUP)

FAST TRANSFER has PORTC strobe feature for reads andwrites

Suspend Current ~ 275uA ~250uA

Page 9: FX to FX2: A Comparison. Agenda Block diagram Evolution Hardware Firmware Wrap-up

FX to FX2Hardware - Slave FIFOs

• Dedicated PKTEND pin

• More flags with more programmable flexibility

• Two address pins to select 1 of 4 FIFOs

• Same flexible programmable polarity for control pins

Page 10: FX to FX2: A Comparison. Agenda Block diagram Evolution Hardware Firmware Wrap-up

FX vs. FX2Hardware - Slave FIFOs

Parameter FX FX2Slave FIFO PKTEND Use I/O pin, and 8051 code Ext. PKTEND pin for IN transfers on slave

FIFO interface, saves 8051 intervention

Slave FIFO ProgrammableFlags

Two programmable slave FIFOstatus flags, fixed INFULL and

OUTEMPTY status flags

Four programmable slave FIFO status flags(FLAGA, FLAGB, FLAGC, FLAGD) with

programmable polarity

Slave FIFO Ext. AddressPins

Two FIFO (ASEL, BSEL) externallogic address pins, used to

select any one of two slave FIFOs(A, B)

Two FIFO (FIFOADR[1:0]) external logicaddress pins, used to select any one offour slave FIFOs (2, 4, 6, 8)

Slave FIFO I/F pin(s)programmable polarity

Programmable polarity for AOE,BOE, SLRD, SLWR, ASEL, BSEL

Programmable polarity for SLOE, SLRD, SLWR,PKTEND pins for slave FIFO interface

Page 11: FX to FX2: A Comparison. Agenda Block diagram Evolution Hardware Firmware Wrap-up

FX to FX2Hardware - GPIF

• GPIF sampling or sync clock either 30 or 48 MHz

• More address lines (9 vs. 6)

• GPIF signals are not muxed with GPIO signals

Page 12: FX to FX2: A Comparison. Agenda Block diagram Evolution Hardware Firmware Wrap-up

FX vs. FX2Hardware - GPIF

Parameter FX FX2GPIF 16-bit mode FIFOTransaction(s) data busorientation

GPIF 16-bit FIFO transactions mustuse slave FIFO double-byte mode inwhich the first byte in the fifogoes out PORTD (when using eitherA or B) and the second byte goes

out PORTB

GPIF 16-bit FIFO transactions first bytegoes out PORTB, second bytes goes out

PORTD, no double-stuff mode

GPIF Async signal(s)sampling rate

GPIF async (SAS) mode (RDY's)sampled at 48MHz

GPIF async (SAS) mode (RDYs) sampled ateither 30MHz or 48MHz (IFCLK setting), set

in IFCONFIG

GPIF Address Assert GPIF address assert/de-assert oncewaveform is launched

GPIF address assert/de-assert whenregisters are written, regardless of

waveform launched

GPIF Available AddressSignals

GPIF has 6 incremental (during atransaction) address lines

GPIF has 9 incremental (during atransaction) address lines

GPIF Signals GPIF pins are muxed w/8051function pins

GPIF CTL/RDY pins are NOT muxed w/8051functions

GPIF Sync Clock GPIF executes either internally(48MHz) or externally fed XCLK (5

- 48MHz) in sync. mode

GPIF executes either internally (30MHz or48MHz) or externally fed IFCLK (5 - 48MHz)

in sync. mode

GPIF / Keil Monitor UsagePins

SIO-1 pins interfere with GPIFoperation (default monitor) on

PORTB

Keil monitor pins are separate from 8051functions

Page 13: FX to FX2: A Comparison. Agenda Block diagram Evolution Hardware Firmware Wrap-up

Parameter FX FX2CLKOUT signaling rate CLKOUT either driven at 48MHz or

24MHz (represents CPU clock), andis not in the same clock domain as

XCLK

CLKOUT can be either 48, 24, or 12MHz(represents CPU clock), and is not in the

same clock domain as IFCLK

XCLK / IFCLK SignalingDirection

XCLK is an input only signal (5 –48MHz)

IFCLK can be either an input (5 – 48MHz)or an output (30/48MHz), set via IFCONFIG,

can also be inverted or tri-stated

FX vs. FX2Hardware - I/F Clocking

• CLKOUT either 12, 24, or 48 MHz

• IFCLK can either be an input or an output

Page 14: FX to FX2: A Comparison. Agenda Block diagram Evolution Hardware Firmware Wrap-up

Parameter FX FX2DK Glue Logic Industry Standard 22v10 for

flexible memory expansionCypress CY37xxx CPLD for flexible memory

expansion, etc.

DK General Purpose debug LEDs BKPT / monitor LED (Green) BKPT / monitor LED (Green) , and fouradditional debug LEDs (Red) via MOVX reads

(non-destructive) at specific memorylocations

DK Serial EEPROM (SEE) Small or large SEE Small and large switch selectable SEEs

DK voltage regulator Requires smaller capacityvoltage regulator on DK

Requires larger capacity voltage regulatoron DK

FX vs. FX2Hardware - DK

• CPLD instead of 22V10

• Same BRKPT LED plus four additional LED’s

• Switch selectable EEPROM size

Page 15: FX to FX2: A Comparison. Agenda Block diagram Evolution Hardware Firmware Wrap-up

FX to FX2Firmware - USB

• Endpoint size and buffering is programmable

• Auto In/Out to take 8051 out of data path

• No separate ISO buffers

• Can turn off SOF generation

• Better setup data pointer

• No more busy bits

• From 16 endpoints to 7

Page 16: FX to FX2: A Comparison. Agenda Block diagram Evolution Hardware Firmware Wrap-up

FX vs. FX2Firmware - USB

Parameter FX FX2Autovector Organization INT2 and INT4 vectors are re-defined, no

gaps

USB OUT PKT Commit/Skip can skip or commit OUT packets, stillhave dummy byte count writes, but now

have new bit for skip or commit

USB Endpoint IN/OUT implements separateendpoint/slave FIFO buffers for

in/out direction

Large endpoint buffers have programmablein/out directions

USB Endpoint Size fixed buffer size, endpointparing

programmable buffer size, type, buffers2x 3x 4x

AUTOIN / AUTOOUT does not have AUTOIN / AUTOOUTcapabilities

AUTOIN / AUTOOUT feature for largeendpoints (2,4,6,8), 8051 sets bit and

then not in data path

USB ZERO LENGTH PKT ability to send zero length packets (ornot) for IN's

Autovector(s) Autoclear no longer need to enable autoclear inISRs for INT2 & INT4

ISO Buffers 2kbytes ISO buffer that can bereclaimed as XDATA

does not have separate ISO buffers

ISO High Bandwidth Report ISO, high bandwidth report, ISOINPACKETS

Page 17: FX to FX2: A Comparison. Agenda Block diagram Evolution Hardware Firmware Wrap-up

FX vs. FX2Firmware - USB

Parameter FX FX2USB EP0 ACK Status New Endpoint zero ACK ISV/R. status stage

completed

USB Error Count Error count register, can disconnect beforebeing kicked off bus when renumerating

USB SOF Synthesis Can turn off SOF synthesis

USB High Speed MicroframeCount

microframe register, count generatedinternally...

(may not be in other vendors parts)

USB SETUP DATA POINTER endpoint zero has byte count high (forexplicit setup data pointer) and low(number of bytes to send, HID usage

reports)

USB Endpoint BUSY bit no more endpoint busy bits, now have packetstatus bits.

USB PING-NAK PING-NAK interrupts, similar to IBN... butfor OUTs

USB IBN IN-bulk NAK (IBN)

USB HSGRANT high speed grant is automatic

USB Endpoint Architecture 16 endpoints Four big endpoint/slave fifo buffers andthree smaller EPO, EP1in, EP1out (64 bytes

each)

Page 18: FX to FX2: A Comparison. Agenda Block diagram Evolution Hardware Firmware Wrap-up

Parameter FX FX2Slave FIFO Data Path separate 8/16 bit individually selectable

slave FIFO's (WORDWIDE)

Slave FIFO IN full minus 1/ OUT empty plus 1

full minus one (IN) and empty plus one(OUT), status flags on pins

AUTOIN PKT Length Limit packet length registers to limit bufferbytes, commit IN pkts

Slave FIFO Flag(s) status can check GPIF/FIFO status from SFR space

FX vs. FX2Firmware - Slave FIFOs

• FIFOs individually selectable 8/16 wide

• FIFO empty + 1 and full -1 flags

• FIFO status registers in SFR space

Page 19: FX to FX2: A Comparison. Agenda Block diagram Evolution Hardware Firmware Wrap-up

Parameter FX FX2GPIF Long Transfer Mode GPIF does not have auto-throttle

for long transfers via idlecheck, a.k.a. - variable rate

mode

long transfer mode of up to 2 to the 16thor 64kbytes/words

GPIF Underflow / OverflowAutoThrottle

GPIF now automatically considers underflowand overflow and TC in the idle state,

variable rate mode

GPIF Decision Point FIFOFLAG SELECT

GPIF can only branch/test theprogrammable flag during a DP

interval

GPIF has a mode with the ability to examineeither PF, FF, EF in decision point

GPIF FIFO TransactionTrigger

can trigger GPIF FIFO read/writetransactions from SFR space (GPIFTRIG)

FX vs. FX2Firmware - GPIF

• New GPIF long transfer mode

• Can now check all flags in decision point

• GPIF trigger now in SFR space

Page 20: FX to FX2: A Comparison. Agenda Block diagram Evolution Hardware Firmware Wrap-up

FX to FX2Firmware - 8051

• Full 8k of internal memory for code & xdata

• More registers in SFR space

• I/O ports in SFR space only

• 8051 clock rate either 12, 24, or 48 MHz

• No more DMA

• Two autopointers

Page 21: FX to FX2: A Comparison. Agenda Block diagram Evolution Hardware Firmware Wrap-up

FX vs. FX2Firmware - 8051

Parameter FX FX28051 Scratch-Pad RAM 512 bytes scratch ram

8051 Write Recovery write recovery issue, registers indifferent clock domain from the 8051

8051 CODE/DATA Space internal code/data limited to0x1B40

does not use any of the internal 8kbytesRAM for EZ-USB Registers, internal

code/data can be up to 8kbytes

SFRs some registers implemented in SFRspace

more registers are implemented in SFRspace

I/O Port Pin Manipulation can access PORTA-E via mov(PORTSETUP=1) or movx

instructions

I/O port pin access is only via SFR,doesn't need to be enabled

8051 Code Execution Rate executes code at either 48MHz or24MHz clock

executes code either at 48MHz, 24MHz, or12MHz clock reference

EZ-USB Register Location(s) EZ-USB Registers uses some ofinternal memory

EZ-USB Registers are not aliased, theydo NOT appear in two places in XDATA

space

Page 22: FX to FX2: A Comparison. Agenda Block diagram Evolution Hardware Firmware Wrap-up

FX vs. FX2Firmware - 8051

Parameter FX FX2DK Keil Monitor DownloadLocation

external monitor downloads at0xE000 and above on DK

external monitor downloads at 0x2000 andabove on DK

DMA-like Available DMA-like mechanism does not have or require DMA-like feature(AUTOIN / AUTOOUT and Dual Autopointers)

AUTOPOINTER(s) Available one AUTOPOINTER two AUTOPOINTERs

AUTOPOINTER(s) Freeze Mode AUTOPOINTER freeze mode, which can be used topoint to any EZ-USB Register thus making one

XDATA location at a time SFR accessible

AUTODATA Register LocationProgram Memory Hole

has AUTODATA register locationas program memory hole

selectable AUTOPOINTER to either MOV or MOVXspace (if external is not used then no longer

have program holes in code space)