Cypress CY7C63001 User Manual

Cypress CY7C63001 User Manual

Usb starter kit
Table of Contents

Advertisement

Quick Links

Cypress CY7C63001 User Manual

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the CY7C63001 and is the answer not in the manual?

Questions and answers

Subscribe to Our Youtube Channel

Summary of Contents for Cypress CY7C63001

  • Page 1 Artisan Technology Group is your source for quality new and certified-used/pre-owned equipment SERVICE CENTER REPAIRS WE BUY USED EQUIPMENT • FAST SHIPPING AND DELIVERY Experienced engineers and technicians on staff Sell your excess, underutilized, and idle used equipment at our full-service, in-house repair center We also offer credit for buy-backs and trade-ins •...
  • Page 2 Cypress CY3640 USB Starter Kit User’s Guide Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com...
  • Page 3: Table Of Contents

    Simulating temperature measurements ................8 Testing to see if a Cypress USB Thermometer device is present .......... 9 Changing the brightness of the Enumerated LED on the Cypress USB Thermometer device 9 Saving the current configuration of the Thermometer application.......... 9 E.
  • Page 4 How can I tell if my system supports the USB.............. 50 System Properties......................50 • Problem with system stability when a crystal is used with the Cypress CY7C63X0X family of USB controllers....................51 • Memphis (Windows98 Beta X) is still a beta program ..........52 •...
  • Page 5: Contents Of The Cy3640 Usb Starter Kit

    CY3640 USB Thermometer Demo board, and two spare devices (one windowed and one OTP) 2. One Cypress USB Programmer from HI-LO Systems with a wall power adapter, a serial cable and programming software on a floppy disk 3.
  • Page 6: Getting Started

    5. Insert the Cypress USB CD-ROM (if prompted to do so) If your computer prompts you to supply a driver, make sure that your Cypress USB CD-ROM is inserted into your computer’s CD-ROM drive.
  • Page 7: Uninstalling The Cypress Usb Thermometer Application

    User’s Guide C. Uninstalling the Cypress USB Thermometer application If you want to remove the Cypress USB Thermometer application from your system, it may be uninstalled by selecting Cypress USB Thermometer in the “Add/Remove Programs” section of the “Control Panel.”...
  • Page 8: The Cypress Usb Thermometer Application Options

    Cypress CY3640 USB Starter Kit User’s Guide D. The Cypress USB Thermometer Application Options Changing the display style from conventional thermometer display to a history of temperature The Thermometer application will display either the current temperature using a conventional thermometer symbol or a history of the temperature recorded during the last 64 sample periods (See Figure C1 ).
  • Page 9: Changing The Maximum And Minimum Temperature Value Displayed

    Cypress CY3640 USB Starter Kit User’s Guide Figure C2 Changing the maximum and minimum temperature value displayed The Thermometer application can display temperatures between 0ºC and 70ºC. (32ºF and 158ºF) The user may set the temperature range display on the Options screen by entering the desired value in the appropriate “Temperature Limits”...
  • Page 10: Testing To See If A Cypress Usb Thermometer Device Is Present

    Testing to see if a Cypress USB Thermometer device is present If your Cypress USB Thermometer device is plugged in to the USB and you cannot get temperature measurements, you may try to connect to it by clicking the “Check For Device”...
  • Page 11: About The Cypress Cy3640 Usb Starter Kit

    0ºC and 70ºC to an accuracy of ±1ºC. In addition to being a useful USB device, Cypress has designed the USB Starter Kit to serve as an easily customizable platform for USB device development using the Cypress CY7C63X0X family of USB controllers.
  • Page 12 JP3. This allows the user to remove the jumper to P12 and use SW1 for their own purposes. The breadboard area Sea of holes Cypress has provided an area that will accept wire wrap pins and wire wrap sockets for development of logic and functionality on the board. USB Vbus (Vcc) and Vss connections We have provided locations for connecting power and ground from the USB to your bread board area.
  • Page 13: Other Items Of Interest

    Cypress CY3640 USB Starter Kit User’s Guide USB. These beads should not be necessarily and are provided for exceptional noisy environments. The locations are shorted by a trace on the bottom layer of the PC board. If you desire to use ferrite beads, you should cut the traces and install beads suitable to your needs.
  • Page 14: Changing The Functionality Of The Cypress Cy3640 Usb Starter Kit

    After you have written and assembled your own USB controller firmware code, you can program a new USB controller using the device programmer contained in the Cypress USB Starter Kit. Please note that the device programmer only supports Cypress CY7C63X0X family of low-speed USB controllers, namely, CY7C63000, CY7C63001, CY7C63100, CY7C63101, CY7C63200 and CY7C63201.
  • Page 15: Adding Your Own Logic

    At startup the software will detect the presence of the programmer connected to the serial port and perform self-test • Insert your Cypress USB controller into the DIP adapter and choose the appropriate commands from the programmer software The programming software is actually quite simple; however, it provides all the necessary functions to program a USB controller, such as blank check, read, program, verify and security fuse programming.
  • Page 16: Cypress Cy3640 Usb Starter Kit Schematic

    Cypress CY3640 USB Starter Kit User’s Guide G. Cypress CY3640 USB Starter Kit Schematic Bill of Materials Cypress CY7C63001 USB controller Dallas Semiconductor DS1623 temperature sensor 2-pin header, polarized, 0.1" center, right angle. Not populated. 5-pin header, polarized, 0.1" center, vertical. Not populated.
  • Page 17 Cypress CY3640 USB Starter Kit User’s Guide Cypress Semiconductor Ver 0.993 Page 16 Page 16 Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com...
  • Page 18 Cypress CY3640 USB Starter Kit User’s Guide Cypress Semiconductor Ver 0.993 Page 17 Page 17 Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com...
  • Page 19: Cypress Usb Controller Micro Code (Assembly)

    ;; USB_20.ASM ;******************************************************************************* ; ******************************************************************************* ; Target: Cypress 7C63000 8bit RISC microcontroller with 1.5Mbps USB serial interface Dallas 1623: High Resolution Temperature Measurement Sensor ; Overview There are four main sub-systems: USB, Thermometer, LED, and Button. The system is started in the main() routine at reset. This routine initializes the USB variables, the IO ports, the Thermometer logic, and the data space.
  • Page 20 Cypress CY3640 USB Starter Kit User’s Guide .2 - Button (0=pushed) (input) .3 - LED (0=on) (output) ;******************************************************************************* ;//$PAGE ; Directives FillROM 0 ; Microprocessor definitions include "63x0x.inc" ;************************************************* ; Data Segment (RAM) ;************************************************* ; Program Stack gbSysProgramStack :equ 00h ;...
  • Page 21 Cypress CY3640 USB Starter Kit User’s Guide ;************************************************* SysUnUsed: push a,[gbSysInterruptMask] ipret SysInterrupt ;//$PAGE ;******************************************************************************* ; main() ; @func Entry point after PowerOn, WatchDog timeout or WakeUp from sleeping. ; @comm Never returns ;******************************************************************************* main: ; This portion of Main is only executed after a RESET (Power-On or USB) ;...
  • Page 22 Cypress CY3640 USB Starter Kit User’s Guide [gbSysInterruptMask],a ;********************************************* MainLoop: ; Enable interrupts to current mask a,[gbSysInterruptMask] iowr SysInterrupt ;************************* ; do nothing until we are enumerated a,[gbSysEnumerated] MainLoop ; Not enumerated, loop ; Ah! We're enumerated, lets do the rest of the loop ;*************************...
  • Page 23 Cypress CY3640 USB Starter Kit User’s Guide iord USBControl ; Read the USB Status and Control Reg and a,01h ; Check bit 0 cmp a,0h jz Inc_Counter ; Hmm! No activity. Branch and keep track of it. iord USBControl ; Ah! There was activity,...
  • Page 24 Cypress CY3640 USB Starter Kit User’s Guide ipret SysInterrupt ;//$PAGE ;******************************************************** ; SysGPIOEvent() ; @func General purpose port event ; @comm Which pin? ;******************************************************** SysGPIOEvent: ; Save accumulator push a ; Reset debounce any time we are here a,100 [gbButtonDebounce],a SysGPIOButtonDebouncing: ;...
  • Page 25 Cypress CY3640 USB Starter Kit User’s Guide ; Stall any subsequent IN's or OUT's until the stall bit (bit 5) is cleard by an I/O write to USB End Point 0 TX Configuration Register (0x10) or any SETUP is received.
  • Page 26 Cypress CY3640 USB Starter Kit User’s Guide USBEventEP0Stall ; Yes ; Vendor specific commands USBEventEP0SetupTargetVendorIN_OUT: ; Check request (IN packet OK, OUT packet ERR) a,[USBEndP0FIFO_0] a,USBRqstTypeVendor | USBRqstTargetEndPoint | USBRqstTypeDirection a,USBRqstTypeVendor | USBRqstTargetEndPoint | USBRqstTypeDirection USBEventEP0VendorRqst ; Unsupported request !!! USBEventEP0Stall ;...
  • Page 27 Cypress CY3640 USB Starter Kit User’s Guide ; USBEventEP0SetupSetConfig() ; @func End point zero event SETUP to Set Configuration. ; @devnote Runs in interrupt enabled context. set enumerated (gbSysEnumerated) state, enable GPIO (and EP1, if appropriate) Enable P0 and P1...
  • Page 28 Cypress CY3640 USB Starter Kit User’s Guide USBEventEP0End USBEventEP0SetupGetDescriptorConfig: ; Configuration Descriptor? a,USBDescriptorTypeConfig USBEventEP0SetupGetDescriptorString ; No ; Remember this inc [gbUSBValidRqsts] ;********************************************* ; Get Configuration Descriptor Event ;********************************************* ; Descriptor pointer a,(USBConfigurationDescription -USBSendROMBufferBase) [gbUSBSendBuffer],a ; Descriptor size a,09h ;[USBConfigurationDescription] a,09h ;[USBInterfaceDescription]...
  • Page 29 Cypress CY3640 USB Starter Kit User’s Guide ; Descriptor pointer a,(USBStringDescription1 -USBSendROMBufferBase) [gbUSBSendBuffer],a ; Descriptor size a,10h ;[USBStringDescription1] [gbUSBSendBytes],a ; Check request size field call USBSendDescriptorCheckLength ; Send buffer call USBSendROMBuffer USBEventEP0End USBEventEP0SetupGetDescriptorString2: USBEventEP0SetupGetDescriptorString3 ; No ;********************************************* ; Get String 2 Descriptor Event ;*********************************************...
  • Page 30 Cypress CY3640 USB Starter Kit User’s Guide a,20h ;[USBStringDescription4] [gbUSBSendBytes],a ; Check request size field call USBSendDescriptorCheckLength ; Send buffer call USBSendROMBuffer USBEventEP0End USBEventEP0SetupGetDescriptorString5: USBEventEP0SetupGetDescriptorEnd ; No ;********************************************* ; Get String 5 Descriptor Event ;********************************************* ; Descriptor pointer a,(USBStringDescription5 -USBSendROMBufferBase) [gbUSBSendBuffer],a ;...
  • Page 31 Cypress CY3640 USB Starter Kit User’s Guide ;******************************************************** USBSendROMBuffer: ; Clear flag a,0h iowr USBEndP0RxStatus ; Enable interrupts a,[gbSysInterruptMask] a,~SysIntUSBEndP0 iowr SysInterrupt ; Auto ACK OUT packet (This would be a Status Out) a,USBControlAckStatusData iowr USBControl ; Initialize sequence a,0h [gbUSBSendSequence],a ;...
  • Page 32 Cypress CY3640 USB Starter Kit User’s Guide push x ; Initialize x,0h _USendROMBufferLoop: ; Any more? a,0h a,[gbUSBSendBytes] _USendROMBufferLoopDone ; No more [gbUSBSendBytes] ; Move bytes to FIFO a,[gbUSBSendBuffer] index USBSendROMBufferBase [x +USBEndP0FIFO],a ; Next byte [gbUSBSendBuffer] jmp _USendROMBufferLoop _USendROMBufferLoopDone: ;...
  • Page 33 Cypress CY3640 USB Starter Kit User’s Guide ; At some point, either the 0 data will be ACK'd or a SETUP will come in. ; Either event will cause the "Enable Respond to In Packets" to be reset, and we will fall out of the loop.
  • Page 34 Cypress CY3640 USB Starter Kit User’s Guide a,[USBEndP0FIFO_2] push a a,[x +0] [USBEndP0FIFO_1],a USBEventEP0VendorRqstFinish USBEventEP0VendorRqstWriteRAM: USBEventEP0VendorRqstReadPort ; No ;********************************************* ; Write RAM Event ;********************************************* a,[USBEndP0FIFO_2] push a a,[USBEndP0FIFO_4] [x +0],a USBEventEP0VendorRqstFinish USBEventEP0VendorRqstReadPort: a,04h USBEventEP0VendorRqstWritePort ; No ;********************************************* ; Read Port Event ;*********************************************...
  • Page 35: Mov A,[Usbendp0Fifo_2]

    Cypress CY3640 USB Starter Kit User’s Guide a,42h [USBEndP0FIFO_0],a ; Auto ACK OUT packet a,USBControlAckStatusData iowr USBControl ; Send bytes as Data1 a,USBEndP0TxSequence a,USBEndP0TxRespond iowr USBEndP0TxConfig ;call USBSendWaitForComplete ; Restore it ; Return USBEventEP0End ;***************************** ;//$PAGE include "ds1620a.asm" ;***************************** ;******************************************************** ;...
  • Page 36 Cypress CY3640 USB Starter Kit User’s Guide ; @parm register | A | Number of microseconds (0=65536). ; @comm Protects A and X registers. ;******************************************************** SysDelay: ; Save em' push a push x SysDelayLoop: ; Save count push a ; Delay 1ms ;...
  • Page 37 CopyrightStrings: ds "USB Thermometer Project, Version 1.01" ds "Copyright Slade Systems, Inc., July, 1997" ds "Copyright Marc Reinig, July, 1997" ds "Copyright Cypress Semiconductors, Inc., July, 1997" Cypress Semiconductor Ver 0.993 Page 36 Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com...
  • Page 38: Cy6300X.inc

    Cypress CY3640 USB Starter Kit User’s Guide CY6300X.INC ;;****************************************************************************** ;; C7C63x0x.h - Cypress Semiconductor Cy7C63x0x micrprocessor definitions ;; Copyright (c) Slade Systems, Inc, 1997 ;; Cypress Semiconductor Corp. ;; 12032 113th Ave NE, Kirkland, WA 98034 ;; 206-821-9202 - 206-820-8959(f) ;;******************************************************************************...
  • Page 39 Cypress CY3640 USB Starter Kit User’s Guide ; Ouput ISink ??? SysPort0ISinkPin0 :equ 30h SysPort0ISinkPin1 :equ 31h SysPort0ISinkPin2 :equ 32h SysPort0ISinkPin3 :equ 33h SysPort0ISinkPin4 :equ 34h SysPort0ISinkPin5 :equ 35h SysPort0ISinkPin6 :equ 36h SysPort0ISinkPin7 :equ 37h SysPort1ISinkPin0 :equ 38h SysPort1ISinkPin1 :equ 39h...
  • Page 40 Cypress CY3640 USB Starter Kit User’s Guide USBEndP0TxRespond :equ 80h USBEndP1TxConfig :equ 11h USBEndP1TxCount0 :equ 01h USBEndP1TxCount1 :equ 02h USBEndP1TxCount2 :equ 04h USBEndP1TxCount3 :equ 08h USBEndP1TxEnable :equ 10h USBEndP1TxStall :equ 20h USBEndP1TxSequence :equ 40h USBEndP1TxRespond :equ 80h ;************************************************* ; USB Protocol ;union USBRqst...
  • Page 41 Cypress CY3640 USB Starter Kit User’s Guide USBRqstWordValueHi :equ USBEndP0FIFO_3 ;************************************************* USBDescriptorTypeDevice :equ 01h USBDescriptorTypeConfig :equ 02h USBDescriptorTypeString :equ 03h USBDescriptorTypeInterface :equ 04h USBDescriptorTypeEndPoint :equ 05h USBDescriptorTypeReserved06 :equ 06h ;************************************************* USBRawProtocolSetup :equ B4h USBRawProtocolIn :equ 96h USBRawProtocolOut :equ 87h USBRawProtocolPort0...
  • Page 42: Dallas.asm

    Cypress CY3640 USB Starter Kit User’s Guide DALLAS.ASM ;; DS1620a.asm - DS1620 High Reolution Temperature Measurement Sensor include "ds1620a.inc" ThermPort :equ 00h ; SysPort0 ThermMaskBits :equ 07h ThermData :equ 01h ThermClock :equ 02h ThermReset :equ 04h gbThermProtocol :equ 30h gbThermPortValue...
  • Page 43 Cypress CY3640 USB Starter Kit User’s Guide ; Initialize results [gbThermTempRead],a [gbThermTempRead2],a ; Read Temperature request a,ThermTempRead [gbThermProtocol],a ; Get temperature call ThermPortResetHigh call ThermPortProtocolWrite call ThermPortReadTemperature call ThermPortResetLow ; Save results a,[gbThermTempRead] [gbThermTempLast],a a,[gbThermTempRead2] [gbThermTempLast2],a ;//$PAGE ;******************************************************************************* ; ThermPortResetHigh() ;...
  • Page 44: Push A Pop

    Cypress CY3640 USB Starter Kit User’s Guide ;******************************************************************************* ThermPortWrite: ; Save input [gbThermProtocol],a call ThermPortResetHigh call ThermPortProtocolWrite call ThermPortWrite8Bits call ThermPortResetLow ;******************************************************************************* ; ThermPortRead() ; @func Write protocol byte and read value byte into gbThermPortValue. ; @parm byte | A | Protocol to send.
  • Page 45: Pop

    Cypress CY3640 USB Starter Kit User’s Guide iowr ThermPort ; ThermClock =0; a,[gbThermPortMirror] a,~ThermClock [gbThermPortMirror],a iowr ThermPort ; Read in data pin and check for 0 or 1 iord ThermPort a,ThermData ThermPortTempReadValue1 ThermPortTempReadValue0: ThermPortTempReadClock ThermPortTempReadValue1: ; Use bitmask push x [gbThermTempRead],a ;jmp...
  • Page 46 Cypress CY3640 USB Starter Kit User’s Guide a,[gbThermPortMirror] a,ThermClock [gbThermPortMirror],a iowr ThermPort ;//$PAGE ;******************************************************************************* ; ThermPortRead8Bits() ; @func . ; @parm BYTE | gbThermPortValue | Return read byte. ;******************************************************************************* ThermPortRead8Bits: ; Setup bitmask push a ThermPortValueReadLoop: push a ;********************************************* ; Tri-state data pin for input...
  • Page 47 Cypress CY3640 USB Starter Kit User’s Guide ;//$PAGE ;******************************************************************************* ; ThermPortWrite8Bits() ; @func . ; @parm BYTE | gbThermPortValue | Value to write ;******************************************************************************* ThermPortWrite8Bits: ; Setup bitmask push a ThermPortWriteLoop: push a ;********************************************* ; Get bitmask push x a,[gbThermPortValue]...
  • Page 48: Dallas.inc

    Cypress CY3640 USB Starter Kit User’s Guide DALLAS.INC ;; DS1620a.inc - DS1620 High Reolution Temperature Measurement Sensor ;;****************************************************************************** ; DS1620 Control register ThermControlOneShot :equ 01h ThermControlCPUUse :equ 02h ; 1=data clock,0=Clock line signals start conversion ThermControlNVB :equ 10h ; Nonvolatile Memory Busy flag (up to 10ms)
  • Page 49: I. Thermometer Driver Reference

    Cypress CY3640 USB Starter Kit User’s Guide I. Thermometer driver reference The Cypress driver is accessed through the Windows DeviceIoControl() API. The following code and table illustrates its use. Type OVERLAPPED Internal As Long InternalHigh As Long offset As Long...
  • Page 50: J. References And Links

    J. References and Links Obtaining the latest version of the USB specification You may obtain the current version of the USB Specification (Revision 1.0) on the Cypress CD- ROM. You may also obtain updates to the USB specification and other USB information and documents from the USB web site (http://www.usb.org).
  • Page 51: K. Q&A, Errata And Gotchas

    Cypress CY3640 USB Starter Kit User’s Guide K. Q&A, Errata and Gotchas • How can I tell if my system supports the USB In order to use the USB with the Windows operating system, you need to have OSR2.1 or a more recent version of Windows such as Memphis (Windows98, currently in Beta test).
  • Page 52: Problem With System Stability When A Crystal Is Used With The Cypress Cy7C63X0X Family Of Usb Controllers

    USB controllers. For system stability considerations, we highly recommend the use of ceramic resonator instead of crystal for the Cypress CY7C63X0X USB controllers. Crystals do not satisfy the startup and suspend/resume stability requirements of the CY7C63X0X USB controllers.
  • Page 53: Memphis (Windows98 Beta X) Is Still A Beta Program

    If you press the Refresh button on the Device Manager screen, the USB thermometer driver will unload (if it was loaded) or reload (if it was not loaded). Cypress is currently working on a solution to this problem. To work around this problem, do not refresh the Device Manager. If you must refresh the Device Manager, a second refresh will reload the thermometer driver.
  • Page 54 High Speed USB (12 Mbps) Controller with Hub CY7C66111/66112/66113 High Speed USB (12 Mbps) Controller with Hub Application Notes: Designing a Low-Cost USB Mouse with the Cypress Semiconductor CY7C63000 USB Controller Designing a Low-Cost Analog USB Joystick with the Cypress CY7C63200 USB Microcontroller USB Specification: USB Specification Cypress Semiconductor Ver 0.993...
  • Page 55 Artisan Technology Group is your source for quality new and certified-used/pre-owned equipment SERVICE CENTER REPAIRS WE BUY USED EQUIPMENT • FAST SHIPPING AND DELIVERY Experienced engineers and technicians on staff Sell your excess, underutilized, and idle used equipment at our full-service, in-house repair center We also offer credit for buy-backs and trade-ins •...

This manual is also suitable for:

Cy3640

Table of Contents