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 •...
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 •...
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.
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.
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.”...
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 ).
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”...
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”...
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.
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.
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.
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.
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...
;; 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 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 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 ;*********************************************...
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 ;...
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...
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).
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).
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.
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 •...
Need help?
Do you have a question about the CY7C63001 and is the answer not in the manual?
Questions and answers