QuickUSB Introduction for Seminars - Kanda · Chip High-Speed USB 2.0 Microcontroller –...
Transcript of QuickUSB Introduction for Seminars - Kanda · Chip High-Speed USB 2.0 Microcontroller –...
20/03/2007 This document contains Bitwise Systems proprietary information.
Introduction toIntroduction to
Blake HenryPresident & CEO
Bitwise Systems
This document contains Bitwise Systems proprietary information.Slide 2
Makers of QuickUSBMakers of QuickUSB®®
Design ServicesDesign Services–– QuickUSB Design ServicesQuickUSB Design Services
–– Turnkey hardware, FPGA,Turnkey hardware, FPGA,
–– Embedded systemsEmbedded systemsand software solutionsand software solutions
AffiliationsAffiliations–– Altera ACAP PartnerAltera ACAP Partner
–– Altera DevKit PartnerAltera DevKit Partner
Bitwise Systems Corporate Offices & Design CenterBitwise Systems Corporate Offices & Design Center–– Santa Barbara, CASanta Barbara, CA
Bitwise SystemsBitwise Systems
This document contains Bitwise Systems proprietary information.Slide 3
The QuickUSB AdvantageThe QuickUSB Advantage
Add USB to your product without any prior knowledgeAdd USB to your product without any prior knowledgeof USBof USB–– Connect your circuits to QuickUSBConnect your circuits to QuickUSB–– Write your software using the included QuickUSB LibraryWrite your software using the included QuickUSB Library–– You’re done!You’re done!
Shorten your time to marketShorten your time to market–– No USB driver developmentNo USB driver development–– No USB firmware developmentNo USB firmware development–– No USB debuggingNo USB debugging
Works right out of the boxWorks right out of the box–– Many applications can be prototyped by simply wiring upMany applications can be prototyped by simply wiring up
the module to the target systemthe module to the target system–– Use the diagnostic control panelUse the diagnostic control panel
DRIVER
FIRMWARE
USB DEBUG
This document contains Bitwise Systems proprietary information.Slide 4
QuickUSB is ScalableQuickUSB is Scalable
PrototypePrototype–– Module + adapter boardModule + adapter board
Pre-productionPre-production–– Module on custom boardModule on custom board
ProductionProduction–– QuickUSB IP-only on custom boardQuickUSB IP-only on custom board
This document contains Bitwise Systems proprietary information.Slide 5
The QuickUSB LibraryThe QuickUSB Library
QuickUSB LibraryQuickUSB Library
QuickUSBFirmware
QuickUSBFirmware
QuickUSBDLL & DriverQuickUSB
DLL & Driver
QuickUSBApps &
Examples
QuickUSBApps &
Examples
This document contains Bitwise Systems proprietary information.Slide 6
The QuickUSB The QuickUSB Module Block DiagramModule Block Diagram
Based on the Cypress EZ USB FX2 Single-Based on the Cypress EZ USB FX2 Single-Chip High-Speed USB 2.0 MicrocontrollerChip High-Speed USB 2.0 Microcontroller
–– CY7C68013A-128AXCCY7C68013A-128AXC
QuickUSB has many portsQuickUSB has many ports–– One high-speed 8 or 16 bit parallel portOne high-speed 8 or 16 bit parallel port
(up to 20 megabytes/sec)(up to 20 megabytes/sec)–– Up to three low speed 8-bit parallel portsUp to three low speed 8-bit parallel ports–– Two RS-232 portsTwo RS-232 ports–– One SPI master port for up to 10 devicesOne SPI master port for up to 10 devices–– One IOne I22C master portC master port–– One FPGA configuration portOne FPGA configuration port–– Up to 3 8051 timersUp to 3 8051 timers
Each port is controlled directly from theEach port is controlled directly from theQuickUSB Library DLLQuickUSB Library DLLPin functions are shared to provide thePin functions are shared to provide thegreatest flexibilitygreatest flexibilityBackward compatible with USB 1.1Backward compatible with USB 1.1
8 or 16bits
High-Speed Parallel
USB2.0
RS-232 (x2)
SPI Master (2-10 slaves)
I2C Master
FPGA (PS or JTAG*)* In development
Low-speed Parallel (8-40 pins)
8
This document contains Bitwise Systems proprietary information.Slide 7
QuickUSB Target ApplicationsQuickUSB Target Applications
FPGA/DSP/Microcontroller InterfaceFPGA/DSP/Microcontroller Interface
Legacy Interface UpgradesLegacy Interface Upgrades–– RS-232 portRS-232 port–– PC Parallel portPC Parallel port–– PCI CardPCI Card
General-Purpose Static I/OGeneral-Purpose Static I/O–– Buttons and lightsButtons and lights
Direct Chip Control for PrototypingDirect Chip Control for Prototyping–– SPI & ISPI & I22CC–– Many DAC, ADC, MUX and other IC devices use these interfacesMany DAC, ADC, MUX and other IC devices use these interfaces
This document contains Bitwise Systems proprietary information.Slide 8
The QuickUSB The QuickUSB Module Pictorial ViewsModule Pictorial Views
Uses four 3mm nylonUses four 3mm nylonstandoffs (Keystone 8843) forstandoffs (Keystone 8843) formechanical mountingmechanical mounting
Available with a standardAvailable with a standardtype B USB connectortype B USB connector
Uses a high-density 80-pinUses a high-density 80-pin0.8mm pitch connector0.8mm pitch connector(Hirose FX8-80P-SV on board(Hirose FX8-80P-SV on boardmates with FX8-80S-SV)mates with FX8-80S-SV)
2 ”
1 ½
”
This document contains Bitwise Systems proprietary information.Slide 9
QuickUSB Module Symbols and FootprintsQuickUSB Module Symbols and Footprints
Available for Available for AltiumAltium Designer (Protel) and Designer (Protel) and OrcadOrcad
PA5RXD_0
CTL3
PA7
PA3
RXD_1TXD_1TXD_0
PA4
PA2
CTL2CTL1CTL0
INT4IFCLKCLKOUT
PA0 RESET_B
PA6
PA1
PB2PB3
PB7
PB1
PB4
PB6PB5
PB0
CTL4CTL5
PC7
PC4
PC6
PC1
PC3
PC5
PC2
PC0
PD0
PD4PD5
PD2PD1
PD7
PD3
PD6
RDY5
RDY1RDY2RDY3RDY4
RDY0
PE4
PE7
PE1
PE5
PE3PE2
PE6
PE0
TXD0RXD0
TXD1RXD1
SCLSDA INT5T0 T1
WAKEUP_B
+5V
11
33
55
7799111113131515
1717
1919
2121
2323
2525
2727292931313333
3535
3737
3939
2 2
4 4
6 6
8 810 1012 1214 1416 16
18 18
20 20
22 22
24 24
26 26
28 2830 3032 3234 34
36 36
38 38
40 40
4141 42 42
4343 44 44
4545 46 464747 48 484949 50 505151 52 525353 54 54
5555 56 56
5757 58 58
5959 60 60
6161 62 62
6363 64 64
6565 66 666767 68 686969 70 707171 72 72
7373 74 74
7575 76 76
7777 78 78
7979 80 80
J1
FX8-80S-SV
7
5
40
42
8079
7877
7675
7473
7271
7069
6867
6665
6463
6261
6059
5857
5655
5453
5251
5049
4847
4645
4443
41
39
3837
3635
3433
3231
3029
2827
2625
2423
2221
2019
1817
1615
1413
1211
109
8
6
43
21
0
00
0
0
0
Schematic Symbol PCB Footprint
This document contains Bitwise Systems proprietary information.Slide 10
QuickUSB Software SupportQuickUSB Software Support
Win32 PlatformWin32 Platform–– Microsoft Visual Basic 6.0Microsoft Visual Basic 6.0
–– Microsoft Visual C++ 6.0Microsoft Visual C++ 6.0
–– Microsoft .NET ComponentMicrosoft .NET Component
–– Borland C++ BuilderBorland C++ Builder
–– Borland DelphiBorland Delphi
–– LabViewLabView
–– HP VEEHP VEE
Linux PlatformLinux Platform–– Qt DesignerQt Designer
This document contains Bitwise Systems proprietary information.Slide 11
QuickUSB is Field UpgradeableQuickUSB is Field Upgradeable
This document contains Bitwise Systems proprietary information.Slide 12
QuickUSB Software Is EasyQuickUSB Software Is Easy
Software InterfacesSoftware Interfaces–– QuickUSB DLLQuickUSB DLL–– QuickUSB C++ ClassQuickUSB C++ Class–– QuickUSB VB ComponentQuickUSB VB Component
All I/O Calls consist of the following stepsAll I/O Calls consist of the following steps–– QuickUsbFindModulesQuickUsbFindModules–– QuickUsbOpenQuickUsbOpen–– I/O call – I/O call – QuickUsbReadDataQuickUsbReadData, , QuickUsbWriteDataQuickUsbWriteData–– QuickUsbCloseQuickUsbClose
This document contains Bitwise Systems proprietary information.Slide 13
QuickUSB Settings and DefaultsQuickUSB Settings and Defaults
You can modify the behavior of the FX2 chip using QuickUSB settingsYou can modify the behavior of the FX2 chip using QuickUSB settingsand defaultsand defaults
QuickUSB Settings let you change the FX2 registers interactivelyQuickUSB Settings let you change the FX2 registers interactively–– QuickUsbReadSettingQuickUsbReadSetting–– QuickUsbWriteSettingQuickUsbWriteSetting
QuickUSB Defaults let you change the boot up value of FX2 registersQuickUSB Defaults let you change the boot up value of FX2 registers–– QuickUsbReadDefaultQuickUsbReadDefault–– QuickUsbWriteDefaultQuickUsbWriteDefault
This document contains Bitwise Systems proprietary information.Slide 14
QuickUSB Settings/Defaults DetailQuickUSB Settings/Defaults Detail
SETTING_VERSIONSPEED17
SETTING_PINFLAGS15
SETTING_PORTACCFG14
SETTING_PORTE13
SETTING_PORTD12
SETTING_PORTC11
SETTING_PORTB10
SETTING_PORTA9
SETTING_I2CTL8
SETTING_SLAVEFIFOFLAGS7
SETTING_SPICONFIG6
SETTING_CPUCONFIG5
SETTING_FPGATYPE4
SETTING_FIFO_CONFIG3
SETTING_DATAADDRESS2
SETTING_WORDWIDE1
SETTING_EP26CONFIG0
Setting/Default NameAddrSettings and defaults are modeled asSettings and defaults are modeled as16-bit registers16-bit registers
Most settings and defaults modifyMost settings and defaults modifyFX2 registersFX2 registers
Some change the operation of theSome change the operation of theQuickUSB firmwareQuickUSB firmware
This document contains Bitwise Systems proprietary information.Slide 15
QuickUSB I/O ModelsQuickUSB I/O Models
GPIF Master Mode ModelsGPIF Master Mode Models–– Uses the FX2’s built-in GPIF (General Purpose Uses the FX2’s built-in GPIF (General Purpose InterFaceInterFace) DMA engine) DMA engine
Slave FIFO ModesSlave FIFO Modes–– Uses the Simple I/O Model firmwareUses the Simple I/O Model firmware–– Implemented by setting IFCONFIG[1:0] to ’11’Implemented by setting IFCONFIG[1:0] to ’11’–– Exposes the FX2 endpoint FIFOs for external controlExposes the FX2 endpoint FIFOs for external control
This document contains Bitwise Systems proprietary information.Slide 16
QuickUSB GPIF Master I/O ModelsQuickUSB GPIF Master I/O Models
GPIF Master Mode I/O ModelsGPIF Master Mode I/O Models–– Simple I/O modelSimple I/O model
No handshaking or No handshaking or holdoffholdoff
–– FIFO Handshake I/O modelFIFO Handshake I/O modelInterfaces with FIFO chips or FPGA FIFOsInterfaces with FIFO chips or FPGA FIFOs
–– Full Handshake I/O modelFull Handshake I/O modelEach transfer is transferred with a full handshakeEach transfer is transferred with a full handshake
–– Block Handshake I/O modelBlock Handshake I/O modelLike FIFO I/O but flags are only checked at the beginning of each blockLike FIFO I/O but flags are only checked at the beginning of each block
–– Pipeline I/O modelPipeline I/O modelLike simple I/O but pipeline delayed 1 clock cycleLike simple I/O but pipeline delayed 1 clock cycle
This document contains Bitwise Systems proprietary information.Slide 17
QuickUSB Slave FIFO I/O ModesQuickUSB Slave FIFO I/O Modes
Slave FIFO ModesSlave FIFO Modes–– Synchronous Slave FIFO modeSynchronous Slave FIFO mode–– Asynchronous Slave FIFO modeAsynchronous Slave FIFO mode–– Slave245 ModeSlave245 Mode
N/AInSelects the active FIFO for FD and flags. 00=EP2, 01=EP4, 10=EP6, 11=EP8FIFOADR[1:0]PA5:PA4
Synchronous, Active lowInFIFO Chip SelectnSLCSPA7
Synchronous, Active lowInIndicates the end of a short IN packetnPKTENDPA6
Synchronous, Active lowInFIFO write enable/clocknSLWRRDY1
Synchronous, Active lowInFIFO read enable/clocknSLRDRDY0
Synchronous, Active lowInEnables the FD outputs for the selected OUT FIFOnSLOEPA2
Indexed ModeOutFIFO Empty Status FlagFLAGCCTL2
Indexed modeOutFIFO Full Status FlagFLAGBCTL1
Indexed modeOutProgrammable level flag (Half-full)FLAGACTL0
N/ABidirBi-directional FIFO data busPD[7:0], PB[7:0]FD[15:0]
Rising edgeIn/OutClock for synchronous I/OIFCLKIFCLK
Default ConfigDirDescriptionAlternate NamePin Name
This document contains Bitwise Systems proprietary information.Slide 18
The QuickUSB Family of ProductsThe QuickUSB Family of Products
QuickUSB Module
CMOS Image Sensor Dev Kit Santa Cruz Adapter
Chip Pack andiChipPack
Cyclone II Dev Kit
QuickUSB Adapter
This document contains Bitwise Systems proprietary information.Slide 19
QuickUSB Supports SOPC BuilderQuickUSB Supports SOPC Builder
This document contains Bitwise Systems proprietary information.Slide 20
QuickUSB Interfaces with Imager SensorsQuickUSB Interfaces with Imager Sensors
This document contains Bitwise Systems proprietary information.Slide 21
QuickUSB Interfaces with QuartusQuickUSB Interfaces with Quartus
This document contains Bitwise Systems proprietary information.Slide 22
The QuickUSB CustomizerThe QuickUSB Customizer
Each customer gets a unique PID storedEach customer gets a unique PID storedin a QUC template filein a QUC template file
The QuickUSB Customizer lets youThe QuickUSB Customizer lets youchange the following itemschange the following items
–– PIDPID
–– Manufacturer Name StringManufacturer Name String
–– Product Name StringProduct Name String
–– Serial NumberSerial Number
Automatically increments the serialAutomatically increments the serialnumber for each unit programmednumber for each unit programmed
Save all items to the QUC template fileSave all items to the QUC template file
This document contains Bitwise Systems proprietary information.Slide 23
Partial List of QuickUSB Design WinsPartial List of QuickUSB Design Wins
Laser EngraverLaser EngraverMiniature IR camera digital interfaceMiniature IR camera digital interfaceUltrasoundUltrasoundAccelerometer interface for medical imagingAccelerometer interface for medical imagingCT ScannerCT ScannerGanged anemometer systemGanged anemometer systemDSP-based motion controlDSP-based motion controlLab test equipmentLab test equipmentFiber-optic interferometer w/digital imagerFiber-optic interferometer w/digital imagerSatellite digital downlinkSatellite digital downlinkDirect to digital television receiverDirect to digital television receiverCompton camera for positron emission tomography (CERN)Compton camera for positron emission tomography (CERN)
This document contains Bitwise Systems proprietary information.Slide 24
QuickUSB Sales InformationQuickUSB Sales Information
DistributorsDistributors–– UK/EUUK/EU–– IsraelIsrael
Learn more and buy QuickUSB products online atLearn more and buy QuickUSB products online atwww.quickusb.com www.quickusb.com in USA orwww.kanda.comwww.kanda.com for rest of the world
P.O. Box 200
Aberystwyth
SY23 4AY
UK
Phone: +44 (0)8707 446 807
Fax: +44 (0)8707 446 807
Email: [email protected]
Web: www.kanda.com