Knowledge Base Articles - Cypress.com http://www.cypress.com/?app=search&searchType=advanced&keyword%3D%26rtID%3D118%26id%3D2%26applicationID%3D0%26l%3D0 Objects That Can Activate CapSense Sensors - KBA82822 http://www.cypress.com/?rID=36844 Answer: CapSense sensors detect changes in capacitance, therefore, any conductive object could potentially activate the sensors. This includes liquids, solid metal objects, and metal-coated objects.

]]>
Wed, 08 May 2013 04:36:04 -0600
Extending a CapSense Sensor Above the PCB - KBA82851 http://www.cypress.com/?rID=36845 Answer: A CapSense sensor can be extended using any conductive object that makes direct electrical contact with the PCB. However, using conductive rubber could be problematic if it can be deformed. The capacitance of a sensor is based on the shape of the sensor. If the conductive rubber is deformed, it could change the sensor capacitance and cause a false finger touch to be reported.


Refer to Getting Started with CapSense for more information on how to use springs as CapSense sensors.

]]>
Tue, 07 May 2013 01:59:07 -0600
Configuring Unused Buttons - KBA82818 http://www.cypress.com/?rID=29385 Answer: The GPIO setting for the unused button inputs need to be configured as "Strong" and driven low. These pins should not be configured as buttons in the designer project. Often, the default designer setting is "Hi Z", but this may cause a problem if the unused buttons are capacitively coupled to adjacent buttons in the Hi Z state.

]]>
Tue, 07 May 2013 01:42:03 -0600
Housing CapSense Circuits - KBA82823 http://www.cypress.com/?rID=36841 Answer: Yes, the entire area above the CapSense sensor must not contain any conductive materials or air gaps. This includes any metal, paint with metallic flakes on the overlay, and air bubbles beneath the overlay. Also, thicker overlays will reduce the sensitivity of the sensor and make it difficult to detect a finger touch. There are no restrictions on the housing to the sides and below the CapSense circuit.

]]>
Tue, 07 May 2013 01:25:24 -0600
How to Design with PSoC® 3 and PSoC 5LP - KBA86521 http://www.cypress.com/?rID=77024 Answer: This article provides the complete list of PSoC 3 and PSoC 5LP resources that can help you get started with PSoC devices and design your applications with them.

If you are new to the PSoC family of devices and the PSoC Creator™ development tool, read the supplemental material available within the PSoC Creator integrated development environment (IDE). Launch PSoC Creator and navigate to the following items:

  • Quick Start Guide: Select the menu item: Help > Documentation > Quick Start Guide. This guide teaches you how to create projects using PSoC Creator.
  • Simple Component Example Projects: Select File > Open > Example projects. These example projects demonstrate how to configure and use Creator components.
  • Starter Designs: Select File > New > Project > PSoC3 Starter Designs (or) PSoC 5LP Starter Designs. These starter designs demonstrate the unique features of the PSoC 3 and PSoC 5LP product families.

The Cypress website at www.cypress.com has additional resources for your learning needs:

Training videos: Cypress website has several “Training on-Demand” videos for PSoC 3 and PSoC 5LP. These videos are located at http://www.cypress.com/?id=2232&rtID=134. Some of the listed videos are:

Application Notes (ANs): Application notes are available on the Cypress website to assist you with designing your PSoC application:

Here are a few application notes that can help you get started with developing PSoC 3 and PSoC 5LP applications:

Component Datasheets: PSoC Creator utilizes "components" as interfaces to functional Hardware (HW). Each component in PSoC Creator has an associated datasheet that describes the functionality, APIs, and electrical specifications for the HW. You can access component datasheets in PSoC Creator by right-clicking a component on the schematic page or by going through the component library listing. You can also access component datasheets from the Cypress website:

In most cases, the component datasheet provides sufficient documentation for development use. If you need additional information, refer to the technical reference manual.

Technical Reference Manuals: The TRM provides detailed descriptions of the internal architecture of PSoC 3 and PSoC 5LP devices:

Datasheets: Device datasheets list the features and electrical specifications of PSoC 3 and PSoC 5LP families of devices:

Technical Support: If you have any queries or questions, our technical support team would be happy to assist you. You can create a support request at https://secure.cypress.com/myaccount/?id=25&techSupport=1, or if you are in the United States, you can talk to our technical support team by calling our toll-free number +1-800-541-4736 and then selecting option 8 at the IVR prompt.

You can also use the following support resources if you need quick assistance:

]]>
Fri, 03 May 2013 03:41:13 -0600
How to Avoid the Need for an External EEPROM - KBA83524 http://www.cypress.com/?rID=79313 Answer: You do not need an external EEPROM for the hub to operate. The hub will enumerate with the default VID/PID of 0x04B4/0x6560 (for HX2LP), or 0x04B4/0x6570 (for HX2VL). You can use this configuration for test/development purposes.


However, for production, you will need your own VID/PID to pass USB compliance and get the hub certified. You can configure the hub to use your VID/PID either of the following ways:


  1. Add an external EEPROM to your design. The external EEPROM will be programmed to provide your VID/PID, descriptors, and other hub configuration settings.

  2. Purchase your parts with the internal fuse links set to your VID/PID (this is a factory function only and cannot be done after packaging).

For more information, refer to the device datasheet.

]]>
Thu, 02 May 2013 06:43:48 -0600
How to Configure Unused Downstream Port (D+ and D-) in CY7C65640B/30/20 - KBA83523 http://www.cypress.com/?rID=79308 Answer: Downstream D+ and D- have internal 15K pull-downs and series termination resistors on all upstream and downstream D+ and D- pins. These unused ports (D+/D-) lines can be left floating. The port power, AMBER, and GREEN LED pins must be left unconnected, and the over-current pin must be tied high for the default polarity. The over-current pins are input pins and are not used if the port is not defined in the configuration of the hub. If you leave these pins floating, additional noise may be brought into the chip. It is recommended to tie these pins for the default polarity of the over-current pins.

]]>
Thu, 02 May 2013 06:12:40 -0600
Clock and Buffers Programming Kits – KBA87040 http://www.cypress.com/?rID=78325 Answer: Yes, Cypress offers a variety of programming kits for Clocks and Buffers. You can find a list of Clocks and Buffer kits here.

]]>
Thu, 02 May 2013 05:50:48 -0600
Difference between FX2LP™ Port I/O, GPIF, and Slave FIFO Modes - KBA83522 http://www.cypress.com/?rID=79305 Answer: The key difference is that in the Port I/O mode, devices can use the FX2LP CPU to process USB data directly, without the need of a Master control. The GPIF interface is the master when you use the GPIF mode, and the Slave FIFO mode requires an external master, such as an FPGA.


FX2LP was designed to be used in either one of the modes: Port I/O, Slave FIFO, or GPIF. For more information, refer to the application note Endpoint FIFO Architecture of EZ-USB FX1/FX2(TM) - AN4067.


It is possible to switch from one mode to another. Before switching from slave FIFO to GPIF or vice versa, you must make sure that there is no data transfer in progress as far as the physical interface is concerned or for that master on the USB end (host is not sending or receiving data from any of the endpoint).


You must make sure that the FIFO is reset and the device is in a state (no data activity in progress). When this is done, you may switch from one mode to the other. Switching from one mode of operation to another is not an intended feature, but something that you may do as long as the device is in a stable state.

]]>
Thu, 02 May 2013 05:24:30 -0600
Read and Write to EZ-USB® Internal Memory (AN21xx/FX/FX1/FX2/FX2LP™) - KBA87109 http://www.cypress.com/?rID=79304 Answer: You can use the A0 vendor command to read and write to the internal memory of EZ-USB (AN21xx/FX/FX1/FX2/FX2LP). For this vendor command to work, the CPU of the device must be in reset. To put the CPU in reset, send the A0 vendor command with E600 (for FX1/FX2/FX2LP; for older parts like FX use 7F92) as value and 01 as data. To bring the CPU out of reset, send 00 as data.


For reading and writing to the external memory you can download vend_ax example to the device, and then use the A3 vendor command. Both these vendor commands use Value field to specify the memory location.


Note Install CY3684 FX2LP and CY3681 FX2 development kits for a different version of vend_ax (file path:C:\Cypress\USB\Examples).

]]>
Thu, 02 May 2013 04:58:25 -0600
PSoC® 4 Debug Interface - KBA87096 http://www.cypress.com/?rID=78885 Answer: PSoC 4 supports only Serial Wire Debug (SWD) interface which needs two pins: SWDIO and SWDCLK. PSoC3/5LP® supports both SWD and JTAG interfaces.

The MiniProg3 5- and 10-pin debug connectors provide support for SWD interface modes. The pin mapping for the SWD interface mode is shown in the following figures. Note that Vtarg (pin #1) must be connected to VDDD supply and XRES (Pin#3 for 5-pin, Pin#10 for 10-pin) must be connected to the device reset pin.

For more information, refer to the chapter “Program and Debug Interface” in the TRM.

Debug Connector (5-pin)
SWD

]]>
Wed, 24 Apr 2013 11:23:46 -0600
PSoC® 4200 System Clock Configuration for 1-MSPS SARADC Sample Rate - KBA87092 http://www.cypress.com/?rID=78882 Answer: To get a sample rate of 1 MSPS at 12-bit resolution, PSoC 4200 SARADC must work at 18 MHz. The SARADC clock has a special requirement; it can only use the integral frequency divider, because the fractional frequency divider is not suitable.

Thus, to get 1-MSPS sample rate, you must set the internal main oscillator (IMO) frequency at 36 MHz. Open the Clocks tab in cydwr and click Edit Clock to set the IMO at 36 MHz, as shown in the following figure.

Figure 1. IMO Frequency Setup

]]>
Wed, 24 Apr 2013 11:07:40 -0600
Sink/Source Capability of a PSoC® 4 GPIO - KBA87090 http://www.cypress.com/?rID=78881 Answer: The capability of a single GPIO is shown in the following table:

IO Power Supply
Sink Current
Source Current
3V
8 Ma
4 Ma
1.8V
4 Ma
1 Ma

Note The total absolute current of all GPIOs cannot exceed 200 mA.

]]>
Wed, 24 Apr 2013 10:51:29 -0600
Delay Time Accuracy of PSoC® 4 CyDelay Functions - KBA87094 http://www.cypress.com/?rID=78879 Answer: The CyDelay functions, CyDelay() and CyDelayUs(), implement simple software-based delay loops. The loops are designed to compensate for bus clock frequency and other factors, but there are additional factors that may also influence the actual time spent in the loop. You can calculate the delay time of each function by counting up the assembly instruction implementation time.

If you need a more accurate method of calculating the delay time, consider using hardware (PWM, Timer, SysTick) mode.

]]>
Wed, 24 Apr 2013 10:34:56 -0600
Interoperating WUSB-NL DVK (CY3668 Rev. **) with nonDVK WUSB-NL Hardware - KBA83288 http://www.cypress.com/?rID=69577 Answer: WUSB-NL DVK is intended for use with the WUSB-NL modules supplied with the kit. If you need to use this kit with any other WUSB-NL-based device, the WUSB-NL module must be modified. Follow the instructions provided in this article to modify the module.


Note The WUSB-NL radio module provided with CY3668 Rev. *A does not require these modifications.


CAUTION


  • ANY CHANGE TO THE MODULE HAS TO BE CARRIED OUT BY A PERSON QUALIFIED IN REPLACING CHIP COMPONENTS.
  • USE ESD PROTECTION WHILE CARRYING OUT THE MODIFICATION.
  • USE TEMPERATURE-CONTROLLED SOLDERING STATION (RECOMMENDED).

INSTRUCTIONS TO MODIFY WUSB-NL MODULES
Perform the following changes on both the WUSB-NL modules:


  • Replace the existing capacitor at location C7 with a 33-pF, 0603 size capacitor
  • Replace the existing capacitor at location C8 with a 27-pF, 0603 size capacitor

Figure 1. WUSB-NL Module and Location of C7 and C8


Cypress recommends the following parts from Murata for this purpose:


  • 33-pF capacitor : GRM1885C1H330JA01D
  • 27-pF capacitor : GRM1885C1H270JA01D

After you complete these changes, the WUSB-NL modules are ready to interoperate with any nonDVK hardware.


INTEROPERATING WITH NON DVK WUSB-NL HARDWARE


For a modified WUSB-NL module to interoperate with nonDVK hardware, the firmware running on both hardware must be compatible.For this reason you must port the WUSB-NL driver provided with CY3668 Rev. ** to the nonDVK hardware before initiating data communication between them. If your application requires AgileHID protocol, you must port the AgileHID protocol provided with CY3668 Rev. ** DVK to the nonDVK hardware as well. Alternatively, you can also port the firmware (WUSB-NL driver and AgileHID protocol) running on the nonDVK hardware to CY3668 Rev. ** DVK.

]]>
Thu, 18 Apr 2013 06:34:04 -0600
MiniProg3 Board Supply Voltage - KBA87062 http://www.cypress.com/?rID=78540 Answer: The MiniProg3 includes over-voltage protection on all header connections. When connecting the MiniProg3 to external target boards, please do not connect to a voltage of over 9V, because this may damage the TVS protection diode on the VTARG line in the MiniProg3.

It is critical that you ensure a proper return path for the current through your board connection. You must ensure that both power and ground are connected through the MiniProg3 to your board, and the MiniProg3 VTARG connection is not left to float in an over- voltage situation.

The resistance to an over-voltage situation can be increased by ensuring that the VTARG line does not float above 9V, and that the MiniProg3 is connected to the PC during this time. If you follow these two guidelines, it will help ensure that the MiniProg3 is not damaged by accidently supplying more than 9V on the VTARG line.

]]>
Thu, 18 Apr 2013 01:50:25 -0600
Introduction to FRAM - KBA87028 http://www.cypress.com/?rID=78331 Answer: FRAM products combine the nonvolatile data storage capability of ROM with the benefits of RAM, which include a high number of read and write cycles, high-speed read and write cycles, and low-power consumption. FRAM core memory and integrated products are ideal for applications that require high data integrity and ultra-low power consumption. These products target markets in automotive, industrial, enabling technologies, and networking. FRAM inherently features high endurance, fast single-cycle and symmetrical read/write speeds, along with low energy consumption, gamma radiation tolerance, and immunity to electromagnetic noise.

]]>
Mon, 15 Apr 2013 05:27:04 -0600
Binding Composite Devices to CyUSB.sys - KBA84118 http://www.cypress.com/?rID=44012  No. CyUSB.sys is a generic USB device driver i.e. it assumes the device has only one interface. So CyUSB.sys cannot handle composite device directly. However composite devices by default are bound to windows composite driver (usbccgp.sys) which exposes each interface as if it were a separate USB device. In this case each of these can be bound to CyUSB.sys i.e. one instance of CyUSB.sys per interface. This way the composite device part of the overhead is handled by usbccgp.sys.

-->

Answer: No. CyUSB.sys is a generic USB device driver that assumes a device has only one interface. However, composite devices are bound to windows composite driver (usbccgp.sys) by default. This exposes each interface as if it were a separate USB device. Each of these interfaces can be bound to CyUSB.sys (one instance of CyUSB.sys per interface). The composite device part of the overhead is handled by usbccgp.sys.

]]>
Mon, 15 Apr 2013 05:11:14 -0600
Converting Error Codes into Strings Using CyAPI.lib - KBA84115 http://www.cypress.com/?rID=42713 The error codes can be converted into strings by using the CCyUSBDevice::UsbdStatusString(ULONG stat, PCHAR s). The variable ‘stat’ is the UsbdStatus error code obtained from NtStatus and ‘s’ holds the converted meaningful string.

-->

Answer: Error codes can be converted into strings using:

CCyUSBDevice::UsbdStatusString(ULONG stat, PCHAR s)

Where:
‘stat’ is the UsbdStatus error code obtained from NtStatus
‘s’ holds the converted string

]]>
Mon, 15 Apr 2013 05:00:40 -0600
Debugging Over JTAG with FX2LP - KBA84114 http://www.cypress.com/?rID=42807 The FX2LP does not support debugging over JTAG. If your USB requirement is only full speed, then an alternative is the PSoC3 which supports JTAG debugging. FX2 supports only serial port debugging.

-->

Answer: FX2LP does not support debugging over JTAG, it only support serial port debugging. PSoC3 supports JTAG debugging and is an alternative if you only require full-speed USB.

For more details on serial port debugging with FX2LP refer to AN58009.

]]>
Mon, 15 Apr 2013 04:43:56 -0600
FX3 DVK Power Configurations - KBA83994 http://www.cypress.com/?rID=58185  

Yes, the DVK (Development Kit) board supports both self powered and bus powered configurations for the device. J53 should be populated when using bus powered configuration. The selection is made using SW9.
-->

Answer: Yes, you use SW9 on the DVK board to select self-powered or bus-powered. J53 should be populated when using bus-powered configuration.

]]>
Mon, 15 Apr 2013 04:36:29 -0600
Clock Generation Devices - KBA87039 http://www.cypress.com/?rID=78330 Answer: Yes. Cypress offers a wide variety of Clock Generation devices. For more information, visit Clocks & Buffers at the Cypress website.

]]>
Mon, 15 Apr 2013 04:26:52 -0600
nvSRAM Definition - KBA87014 http://www.cypress.com/?rID=78328 Answer: nvSRAM is an SRAM plus nonvolatile (NV) product that has the same access speeds, interface pins, and random access features of a standard SRAM. On any power disruption (or on command), the SRAM data is moved into adjoining NV cells. When power is restored (or on command), the data is restored back to the SRAM and normal operation continues. This approach creates the fastest nonvolatile memory available today with absolutely no cell wear-out when using the SRAM.

]]>
Mon, 15 Apr 2013 04:16:23 -0600
I2C Clock Stretching in FX2LP - KBA84113 http://www.cypress.com/?rID=40035 The FX2LP I2C controller supports clock stretching. Once the master(FX2LP) drives SCL low, external slave devices can hold SCL low to extend clock-cycle times.
 

-->

Answer: Yes, the FX2LP I2C controller supports clock stretching. Once the master (FX2LP) drives SCL low, external slave devices can hold SCL low to extend clock-cycle times.

]]>
Mon, 15 Apr 2013 03:27:26 -0600
Antenna Type and Location for WUSB-NL - KBA83398 http://www.cypress.com/?rID=72588 Answer: The most significant factor affecting RF performance for the CYRF8935 or any other over-the-air RF device is the antenna type, placement, and orientation. Antenna gain is normally measured with respect to isotropic, that is, an ideal radiator that sends or receives power equally to or from any direction. An ideal antenna choice for most low-power, short-range wireless applications, is the isotropic reference antenna. Unfortunately, these do not exist in practice. However, you should take care when placing the antenna, because dipole antennas have a radiation pattern where the null can be very deep.


For best operation, design the product so that the main antenna radiation is away from the body or at least not proximity-loaded by the human body or dielectric objects within the product.


Remember to keep the antenna away from clock lines, digital bus signals, and power supply; otherwise, harmonics of the clock frequency will jam certain receive frequencies.

]]>
Mon, 15 Apr 2013 00:35:13 -0600
Recommendations for PCB Layout for WUSB-NL - KBA83397 http://www.cypress.com/?rID=71553 Answer:
 

  •  RF path: Adhere closely to the recommended reference design circuit (Refer TRM, FIGURE-3.1)
  •  Clock traces: Keep the quartz crystal traces simple and direct. The self-bias resistor should be close to the XTALi and XTALo pins. The oscillation loop, consisting of the series resistor and crystal, should be a simple, small loop. The crystal-loading capacitors should be near the crystal. The ground connection to these capacitors must be good, clean, and quiet. This prevents noise from being injected into the oscillator. It is best to have one ground plane for the entire RF section. Do not keep any unwanted trace below the crystal. The crystal and the associated components should be kept as close as possible to the IC pins (XTALOUT and XTALIN) to keep stray capacitance as minimum.
  •  Power distribution and decoupling: Capacitors should be located near the VDD pins, as shown in Typical Application on page 13 of the WUSB-NL TRM.
  •  Antenna placement: When using an antenna, follow the manufacturer's recommendation regarding layout.
  •  Digital interface: The digital interface should be routed with a solid ground reference, to have a good return path you need a good grounding between RF and MCU that can help reduce noise 'seen' at the antenna, thus improving performance.
]]>
Mon, 15 Apr 2013 00:35:01 -0600
EZ-USB FX3 Enumeration after Firmware Download - KBA84080 http://www.cypress.com/?rID=78227 Answer: There are several things that could be causing the FX3 to enumerate at high rather than super speed. Check the following:

  1. Disable the spread spectrum setting of the host
  2. Update the host controller driver to the latest version
  3. U3TXVDDQ and U3RXVDDQ require a 22 uF decoupling capacitor to avoid issues caused by inrush current Refer to AN70707-EZ-USB® FX3 Hardware Design Guidelines and Schematic Checklist
  4. The CyU3PConnectState () API must be called in firmware with both input parameters as CyTrue
]]>
Fri, 12 Apr 2013 09:09:06 -0600
PSoC® Creator™ 2.2 Support for CY8CKIT-033 Example Project - KBA82247 http://www.cypress.com/?rID=69022 Answer: CY8CKIT-033’s example project is compatible with PSoC Creator 2.0 with Component Pack 2 or Component Pack 3. It is currently not compatible nor tested with PSoC Creator 2.1 and later versions.

An update to CY8CKIT-033 to resolve this issue is underway. Meanwhile, multiple PSoC Creator versions can co-exist in a single PC. This implies that the same project running on Creator 2.0 can run on later versions of Creator. If you prefer to run the CY8CKIT-033 example projects with the latest version of PSoC Creator, please do the following changes to the CY8CKIT-033 example project:

  1. In CY8CKIT-033 project (PSoC3_MFi_Digital_Audio_DVK), right-click the project name > Update Components > Update All to Latest > Next. A message appears asking you to add a Bootloader/Bootloadable component in TopDesign. Close the dialogue box and click Finish.
    Figure 1. Update all Components
      
    Note: After the update, there will be a few errors with the Bootloadable component and terminal connection. This will be solved when you complete the following steps.
  2. In the Component catalog, search for the Bootloadable component. Drag the component to TopDesign of the project and double- click it. Rename the Component to ‘Bootloadable’. Also, in the Dependencies tab, browse for the bootloader .hex file (available at …\Digital_Audio_Top\Dependent Projects\Custom_I2C_Bootloader.cydsn\DP8051_Keil_903\Debug) and click OK.
    Figure 2. Add Bootloadable Component
  3. In EAFramework.c, inside 'ReceiveDataFromAppleDevice' routine definition, replace 'CyBtldr_Load()' with 'Bootloadable_Load()'.
  4. In TopDesign > iAP Page, reconnect the terminals of the current surge filter. 'CurrentSurgeFilterClock' net connects to 'clock', Logic 0 connects to 'reset' pin, 'Comp5VregCurrent' output connects to 'd' input and 'q' output of 'CurrentSurgeFilter' connects to 'isr_OverCurrent' interrupt.
    Figure 3. Reconnect Glitch Filter connections
  5. In AudioControl.c, inside both 'ProcessAudioOut()' and 'ProcessAudioIn()' routines, the USBOutDMA and USBInDMA are dynamically configured. Replace the next TD parameter in TD configurations from 'DMA_INVALID_TD' to 'CY_DMA_DISABLE_TD'.
  6. In AudioControl.c, inside ConfigureAudioPath() routine definition, add the following lines of code after 'CyPLL_OUT_SetSource(CY_PLL_SOURCE_DSI)':
    iAP_UartBaud_Clock_SetSourceRegister(CYCLK_SRC_SEL_IMO);
    iAP_UartBaud_Clock_SetDividerRegister(52, TRUE);
  7. Do a Clean and build the project. The project is ready to work with PSoC Creator 2.2.
]]>
Fri, 12 Apr 2013 08:45:58 -0600
USB High Speed Host - KBA87002 http://www.cypress.com/?rID=78225 Answer: Cypress offers an embedded high-speed (HS) On-The-Go (OTG) host in the FX3, Bay, and Benicia products. The term "embedded host" means that it works only with a targeted list of peripherals. The embedded host in FX3, Bay, and Benicia supports Mass Storage Class (MSC) and Human Interface Device (HID) device class natively. For all other device classes, a pass-through mode is enabled such that an applications processor that is connected to FX3, Bay, or Benicia can support any required device class.

]]>
Fri, 12 Apr 2013 07:30:59 -0600
Reference Design for the Image Sensor Interface with FX2/FX3 - KBA87007 http://www.cypress.com/?rID=78223 Answer: Cypress does have a reference design for FX3, but there is no reference design for FX2. Cypress offers an FX3 HD 720p camera kit solution to customers. There is also a third party reference design. For more information, go to http://www.cypress.com/?id=3526&rtID=432.

]]>
Fri, 12 Apr 2013 07:21:50 -0600
Interfacing Image Sensor with EZ-USB® FX3™ - KBA87001 http://www.cypress.com/?rID=78220 Answer: The USB FX3 device interfaces directly with any image sensor using an 8- or 12-bit parallel bus. Other image sensors using HiSPI, LVDS, or MIPI interfaces can be connected to FX3 through a CPLD or FPGA. Since FX3 does not contain any Image Sensor Pipeline (ISP) logic, you can use an image sensor with built-in ISP, an FPGA with ISP logic, or running software ISP on a host PC.

]]>
Fri, 12 Apr 2013 07:02:29 -0600
Download Latest FX3 Software Development Kit - KBA87009 http://www.cypress.com/?rID=78219 Answer: The FX3 Software Development Kit (SDK) is available here on the Cypress website.

]]>
Fri, 12 Apr 2013 05:50:06 -0600
General Programmable Interface (GPIF™ II) Tool - KBA87008 http://www.cypress.com/?rID=78218 Answer: You can directly download the GPIF™ II tool from the Cypress website. For more information about the GPIF tool, go to http://www.cypress.com/?rID=59628.

]]>
Fri, 12 Apr 2013 05:38:47 -0600
LINUX Drivers for USB Devices - KBA87010 http://www.cypress.com/?rID=78217 Answer: Cypress does not directly provide drivers. In the LINUX community, there are examples of driving EZ-USB FX1, FX2, and FX3. We do provide an application note AN73609, which shows how to interface the FX2LP and FX3 to these drivers.

]]>
Fri, 12 Apr 2013 05:17:36 -0600
WINDOWS Drivers for Cypress USB Products - KBA87000 http://www.cypress.com/?rID=78215 Answer: Yes. Click on this link for SuiteUSB 3.4, which is a set of USB development tools for Visual Studio. You can use these tools to create .NET Windows applications for all Cypress USB 2.0 families.

]]>
Fri, 12 Apr 2013 05:04:47 -0600
Using USB 3.0 for HD Videos - KBA86999 http://www.cypress.com/?rID=78213 Answer: HDMI and DisplayPort are used to connect a video source (for example, Set-top box, DVD player, laptop, PC) to a display, such as, TV, monitor. USB 3.0 is used to transmit streaming video data (camera) to a host PC for image processing or recording.

]]>
Fri, 12 Apr 2013 04:52:27 -0600
Using External EEPROM with HX2VL Hub - KBA86998 http://www.cypress.com/?rID=78210 Answer: No. EEPROM use is optional. HX2VL does provide pin-strap to reconfigure settings, such as number of DS ports, number of removable ports, bus/self power, and gang/individual mode without an EEPROM. However, if the product needs to be logo certified, HX2VL must use EEPROM to store its own unique VID/PID.

]]>
Fri, 12 Apr 2013 04:34:05 -0600
Software and Drivers for the USB 3.0 Products - KBA87006 http://www.cypress.com/?rID=78207 Answer: You can find software and drivers for the USB 3.0 product here on the Cypress website.

]]>
Fri, 12 Apr 2013 04:08:22 -0600
Detecting Bleed Resistor or Modulating Capacitor Damage - KBA85698 http://www.cypress.com/?rID=39725 Question: Is there any method of detecting that the external Rb or Cmod has been damaged or not?

Response: When the Rb and Cmod is breakdown then there are 4 possibilities which can be detected with the help of supervisory code. The 4 possibilities are as follows:

1. Cmod Short: In this particular case the counts will be zero because it'll connect the input of the CapSense module directly to ground. Thus, supervisory code will be able to detect that the Cmod has been shorted.

Also, in this particular case, no matter whether the sensor was active or not, the rawcounts and baseline will snap down to 0 and the sensor will be turned OFF. The counts will be zero irrespective of the state of Rb (open/shorted/normal).

2. Cmod Open: If CMOD is open device continues to operate at higher level of noise. If your application uses thin overlay and has strong touch signal this could be painless. If touch signal is weak then you could encounter false buttons activation in this case.

3. Rb Shorted: If Rb is shorted device continues to operate at higher level of noise. If your application uses thin overlay and has strong touch signal this could be painless. If touch signal is weak you could encounter false buttons activation in this case.

Also, In this particular case the raw counts will decrease and the baseline will follow this because of its negative baseline reset.

4. Rb Open: If Rb is open counts will get saturated and the counts will be 2^Resolution -1. If resolution is set as 12 then the counts will be 4095 irrespective of Cmod open/normal. You can easily detect this as well from you supervisory code.
 

-->

Answer: You can use supervisory code to detect if Rb or Cmod are damaged by monitoring them for shorts or opens. The four possible failure modes are:

Cmod Shorted: If this is the case, the input of the CapSense module will be connected directly to ground. Whether the sensor is active or not, the raw counts and baseline will snap down to zero and the sensor will be turned OFF. The counts will be zero irrespective of the state of Rb (open/shorted/normal).

Cmod Open: If this is the case, the device will continue to operate with a higher level of noise. If your application uses a thin overlay and has a strong touch signal this may not cause a problem. However, if the touch signal is weak in your application, you could encounter false button activations.

Rb Shorted: If this is the case, the device will continue to operate with a higher level of noise. The raw counts will decrease and the baseline will follow because of its negative baseline reset. If your application uses a thin overlay and has a strong touch signal this may not cause a problem. However, if the touch signal is weak in your application, you could encounter false button activations.

Rb Open: If this is the case, the raw counts will saturate at 2(Resolution -1). For example, if the resolution is 12, raw counts will be 4095 even if Cmod if open.

]]>
Fri, 12 Apr 2013 03:54:52 -0600
ISP Support with USB Hub Products - KBA87003 http://www.cypress.com/?rID=78203 Answer: Yes. USB hub products do support In System Programming (ISP) through the CY Blaster ISP tool. For more information, refer to the Cypress KB article In-System EEPROM Programming for CY7C65620/30 - KBA82845.

]]>
Fri, 12 Apr 2013 02:25:55 -0600
FX3 Reference Designs - KBA87005 http://www.cypress.com/?rID=78199 Answer: Yes. A list of design partner solutions is available here on the Cypress website.

]]>
Fri, 12 Apr 2013 02:14:01 -0600
USB 3.0 Software and Hardware Development Consultants - KBA87004 http://www.cypress.com/?rID=78198 Answer: Yes. Cypress has qualified design partners who can help you with USB 3.0 firmware and hardware development. To find a certified design partner, go to the Cypress Design Partner web page.

]]>
Fri, 12 Apr 2013 01:57:06 -0600
Maximum Cable Length of USB 3.0 - KBA87012 http://www.cypress.com/?rID=78197 Answer: Although the maximum cable length is not specified in the USB 3.0 specification, the electrical properties of the cable and the quality limitations of signals could cap the practical length at three meters. However, you can extend the length by using USB 3.0 hubs or active repeater cables.

]]>
Fri, 12 Apr 2013 01:44:28 -0600
Cypress USB products - KBA87011 http://www.cypress.com/?rID=78196 Answer: For information about Cypress USB products, visit USB Controllers on the Cypress website.

]]>
Fri, 12 Apr 2013 01:30:14 -0600
Trouble Installing PSoC® Creator or PSoC Designer - KBA82941 http://www.cypress.com/?rID=38939 Answer: You can order a free CD or download the ISO file.

To order a CD:

PSoC Creator http://www.cypress.com/?app=cart&action=add&itemID=13084&type=2
PSoC Designer http://www.cypress.com/?app=cart&action=add&itemID=13085&type=2

To download the ISO file:

PSoC Creator: http://www.cypress.com/go/creator/download
PSoC Designer: http://www.cypress.com/go/designer/download

Once you download the ISO file you can burn a CD or mount the ISO file. For instructions see Mounting ISO Files and CD Burning

]]>
Wed, 10 Apr 2013 04:52:12 -0600
Latched Output with CapSense Express Devices - KBA82888 http://www.cypress.com/?rID=39719 Answer: Yes. Set the output latch direction using PSoC Designer 5.0 or by writing to the STATUS_HOLD_MSK register. Reading the STATUS_PORTx (02h) register reads the latched CapSense input data and clears the register as shown below.

Refer to the Register Reference Guide for more information on these registers.

]]>
Tue, 09 Apr 2013 07:06:42 -0600
Relationship between Difference Counts and Sensor Capacitance - KBA82706 http://www.cypress.com/?rID=77994 Answer: The relationship between CSD raw counts (raw counts) and sensor capacitance (CS) is:

Where:
Vref = The comparator reference (selected in the user module configuration window in PSoC Designer)
Rb = The external bleed resistor
fs = The average switching frequency of the sensors (depends on the CSD configuration settings such as PRS and prescalar)
n = The resolution (set in the user module configuration window)

The difference count is calculated by subtracting the raw count without a finger on the sensor (CS = CP) from the raw count with a finger present on the sensor (CS = CP + CF):

By substituting the equation for raw counts you can see the linear relationship between difference counts and finger capacitance:

Note: This linear relationship holds true as long as raw counts do not saturate and assumes that the sensors are fully charged and discharged to VDD and Vref respectively within 1/fs max. If PRS is selected as the clock source, the average switching frequency is fIMO/4 but the maximum switching frequency is fIMO/2.

]]>
Tue, 09 Apr 2013 06:46:19 -0600
Gate and Transistors of CY2305 - KBA86887 http://www.cypress.com/?rID=27975 The CY2305 has about 5200 transistors or 1300 gates.

-->

Answer: Cypress’s CY2305 part family has approximately 5200 transistors or 1300 gates.

]]>
Tue, 09 Apr 2013 06:45:28 -0600
Controlling PMODE Signals with an External Processor on FX3 DVK - KBA83992 http://www.cypress.com/?rID=58184 Yes, the PMODE[2:0] signals can be controlled either on the board using SW25 or from the external processor connected to the GPIF II interface. This selection is made using J96, J97 and J98. -->

Answer: Yes, the PMODE[2:0] signals can be controlled on the DVK board using SW25 or by an external processor connected to the GPIF II interface. You make this selection with J96, J97, and J98.

]]>
Tue, 09 Apr 2013 03:53:02 -0600
Multiple Slave Addresses with EZI2C - KBA83443 http://www.cypress.com/?rID=46510 EZ I2C support maximum 2 slave address. If you want more than 2 slave address, you can use more than 1 EZ I2C module in your project.

-->

Answer: Each EZI2C component can support a maximum of two slave addresses and uses one Fixed Function I2C Block in PSoC 3 and PSoC 5. Because there are two hardware blocks in PSoC 3 and PSoC 5, you can place a maximum of two EZI2C components in your project. This supports up to four slave addresses. If you need additional slave addresses for your application, you can also select an I2C Slave (UDB). However, there are differences between EZI2C and I2C. The following figure shows an EZI2C component and its configuration window.

]]>
Tue, 09 Apr 2013 03:51:19 -0600
Operating Voltage Range for CapSense Express Devices - KBA82463 http://www.cypress.com/?rID=39722 CapSense Express is designed to operate at one of three voltage ranges: 2.4 to 2.9 VDC, 3.1 to 3.6 VDC, and 4.75 to 5.25 VDC. CapSense Express is not designed to continue operating as the voltage drops from 5.25 VDC to 2.4 VDC (as could be the case for a gradually discharging battery). When the voltage is not in this range the device will still work on I2C bus but the capsense functionality will not work. Once the device will come into the valid range the capsense functionality will start again but the sensing capability may be impaired unless the system is enabled to recalibrate itself with a reset.

For best results, ensure that the voltage remains in one of the three operating ranges. Additionally, at 2.4 VDC the CapSense scanning functions operate at a slower frequency and response time decreases by a factor of 4.

For more details please refer to Application Note AN53490.

-->

Answer: CapSense Express devices are designed to operate at one of three voltage ranges: 2.4 - 2.9 VDC, 3.1 - 3.6 VDC, or 4.75 - 5.25 VDC. CapSense Express devices are not designed to operate continuously over the full range of 5.25 - 2.4 VDC. This is important to know if your application is battery powered and the operating voltage may gradually decrease as the battery gradually discharges. When the operating voltage is not in the initial operating range the device will still communicate over the I2C bus but the CapSense functionality will not work. Once the device returns to the initial operating range the CapSense functionality will start again but the sensing capability may be impaired unless the system is enabled to recalibrate itself with a reset.

For best results, ensure that the voltage remains in one of the three operating ranges. Additionally, at 2.4 VDC the CapSense scanning functions operate at a slower frequency and response time decreases by a factor of 4.

]]>
Tue, 09 Apr 2013 03:50:01 -0600
Linux Support for FX3 - KBA83987 http://www.cypress.com/?rID=61281 Answer: The FX3 Software Development Kit (SDK) 1.0.1 release supports Linux as a development and debug platform for FX3 firmware, but it does not include any drivers or libraries to access the FX3 device through the USB port on a Linux computer. You can use libusb or other standard drivers from Linux. libusb is an open source library that allows you to communicate with USB devices. For more information, see the libusb homepage.

]]>
Tue, 09 Apr 2013 03:44:27 -0600
Register Map for FX3 – KBA84136 http://www.cypress.com/?rID=58169 Answer: The register map for FX3 will not be released because it is an order of magnitude more complex than FX2. In its place Cypress has created the FX3 Software Development Kit (SDK).

The SDK includes the complete software and firmware stack for FX3 and includes application examples. The SDK and Programmers Manual allow you to easily integrate all USB applications in the embedded system environment.

]]>
Tue, 09 Apr 2013 03:41:42 -0600
Error and Accuracy of CapSense® Controllers - KBA82716 http://www.cypress.com/?rID=78029 Answer: Absolute capacitance measurements (raw counts) are not very important in the CSD algorithm. Instead, measuring changes in capacitance (difference counts) are critical for detecting when a finger touches a sensor. Raw counts can drift due to temperature, voltage, board-to-board, and device-to-device variations. The CSD user module datasheet states that there is about a ±8% drift in raw counts as temperature varies. This gradual drift is tracked by the baseline algorithm, which effectively nullifies the effect of low frequency and DC noise and errors in absolute capacitance measurements.

It is important to make sure that the nominal raw counts of a sensor have enough margin to account for possible errors without saturating at the maximum raw counts value. This means you should use a wide error (noise) margin for the measurements; ±25% is good. To do this, set the average raw count values (when sensor not active) to 70% of full scale. This allows the raw counts to reach 95% of full scale, including error, and still leaves 5% head room for difference counts.

]]>
Tue, 09 Apr 2013 01:02:48 -0600
Using Math functions in PSoC Creator for PSoC 5's GCC Compiler http://www.cypress.com/?rID=42838 Go to Project -> Build Settings -> Linker -> General -> Additional Libraries. Type m in the Additional Libraries field.

If you are not adding this Additional Library then you will get the following Build error "undefined reference to `sqrt'" where sqrt is a math function.

]]>
Tue, 09 Apr 2013 00:22:09 -0600
Storing User Data in CapSense® Express™ Devices - KBA82931 http://www.cypress.com/?rID=78024 Answer: There is no memory space available for user data in CapSense Express devices.

]]>
Tue, 09 Apr 2013 00:03:52 -0600
Raw Count Drift - KBA82718 http://www.cypress.com/?rID=77991 Answer: Raw count is a function of the capacitance of the sensor, reference voltage, external bleed resistance (for CSD-Rb), internal IDAC (for CSD-IDAC), and IMO. Environmental conditions such as temperature and humidity can vary over time and affect these values. Therefore, raw counts can change over time. However, these changes are gradual, and the baseline update algorithm assures that they do not result in false touches being reported.

]]>
Mon, 08 Apr 2013 06:47:29 -0600
Programming the EZ-Host Development Board - KBA84123 http://www.cypress.com/?rID=44386 Answer: The following instructions will guide you through building and downloading Design Example 3 (DE3) to the Host Development Board.

To build DE3:

  1. Open a BASH window Start → Programs → Cypress → BASH → EnvironmentOTG — Host → USB
  2. Change directories to DE3
    [cy]$ cd Source/stand-alone/de3
  3. Do a make clean to start from scratch
    [cy]$ make clean
  4. Do a make all to rebuild all code
    [cy]$ make all

To download the code to the EZ-Host Development Board RAM:

  1. Open a BASH environment and go to the de3 directory
  2. Use a text editor to view de3.ld to see where the code is org’d at (. = 0x####)
    [cy]$ cy16-elf-objdump –f de3
    [cy]$ cy16-elf-readelf –h de3
    [cy]$ head -20 de3.ld
  3. Run scanwrap on the binary image
    [cy]$ scanwrap de3.bin de3_scan.bin 0x04A4

To download the code to the EZ-Host Development Board EEPROM:

  1. Set all of the board’s dipswitches to off
  2. Power up the board by plugging in the power connector
  3. Reset the board by pressing the reset button
  4. Set the dipswitches for EEPROM 4/stand-alone mode
  5. Open a BASH window and go to the de3 directory
  6. Plug in a USB cable to SIE2 (Peripheral–2A)
  7. Verify the device manager is using the correct driver
    Cypress USB EZ-OTG Device VID=04B4, PID=7200
  8. Run qtui2c
    [cy]$ qtui2c de3_scan.bin f
]]>
Mon, 08 Apr 2013 06:38:00 -0600
Reference Schematic Design Recommendation for QDR®-DDR II/II+/Xtreme SRAMs - KBA84386 http://www.cypress.com/?rID=72249 Answer: This article provides reference schematics for QDR-DDR II/II+/Xtreme devices. You can use these schematics, which are derived from an internal characterization board, as examples for your designs. However, you must perform signal integrity simulations before doing so.

Refer to the application note AN4065 - QDR™-II, QDR-II+, DDR-II, and DDR-II+ Design Guide for different termination schemes, designs, and signal integrity guidelines. For more information on the QDR-DDR II/II+/Xtreme SRAMs, refer to the respective datasheets in the Sync SRAM category.

Reference Schematic for QDR-DDR II/II+/Xtreme SRAMs (from internal characterization board)

Figure 1. (a) QDRII/II+/II+Xtreme-DDRII/II+/II+Xtreme (Non ODT) Reference Schematic

Figure 1. (b) QDRII/II+/II+Xtreme-DDRII/II+/II+Xtreme (ODT) Reference Schematic

Figure 2. QDRII/II+/II+Xtreme-DDRII/II+/II+Xtreme (Supply Pins) Reference Schematic

Assumptions

  • The reference schematics provided in the previous section are from an internal characterization board. Cypress recommends that you perform signal integrity simulations with specific board conditions before finalizing your design.
  • Figure 1 (a) and (b) are the reference schematics for all on-die termination (ODT) and Non ODT QDR-DDR II/II+/Xtreme SRAMs respectively. For example, if the part is an x18 device, then the data pin notation D[x:0] will be interpreted as D[17:0].
  • QDRII+/II+Xtreme-DDRII+/II+Xtreme devices do not have the input clocks C and C#.
  • Non ODT QDRII+/II+Xtreme-DDRII/II+/II+Xtreme devices do not contain the ODT pin.
  • ODT devices have an ODT feature for Data inputs (D[x:0]), Byte Write Selects (BWS[x:0]), and Input Clocks (K and K#). Hence, there is no termination for the D[x:0], BWS[x:0] , K, and K# pins shown in Figure 1 (b). Refer to the application note AN42468 - On-Die Termination for QDR™II+/DDRII+ SRAMs that discusses the ODT scheme, implementation, advantages, and power calculation for the QDRII+ and DDRII+ family of Synchronous SRAMs on 65-nm technology devices.
  • Data output (Q[x:0]) and Echo clock (CQ/CQ#) signals drive FPGA/ASIC without termination, considering the inputs of the FPGA/ASIC that supports ODT. In the case of FPGA/ASIC without ODT, Cypress recommends that you terminate (pull-up to VTT) Data output (Q[x:0]) and Echo clock (CQ/CQ#) signals to reduce signal integrity issues.
  • The value of the termination resistor (R) is 50Ω, because most designs have a trace characteristic impedance of 50Ω. The termination resistor value must be equal to the characteristic impedance of the trace.
  • An external resistor, RQ, must be connected between the ZQ pin on the SRAM and VSS to allow the SRAM to adjust its output driver impedance. The value of RQ must be five times the value of the intended line impedance driven by the SRAM. As a result, the value of RQ is 250Ω to match the output impedance of 50Ω in Figure 1 (a) and (b). The acceptable range of RQ that guarantees impedance matching with a tolerance of ±15% is between 175Ω and 350Ω, with VDDQ = 1.5V. The output impedance is adjusted every 1024 cycles upon power-up to account for drifts in supply voltage and temperature.
  • Keep termination resistors as close to the device as possible to reduce the stub length, and thereby, reduce reflections.

Decoupling Capacitor Recommendations for Power Supply Pins

  • Decoupling capacitors on power-supply pins play a significant role in filtering noise in the power supply.
  • Cypress recommends that you place the decoupling capacitors close to the memory devices for best results.
  • The following decoupling capacitor recommendations are from an internal characterization board:

Figure 3. Decoupling Capacitor Recommendation for VDD

Figure 4. Decoupling Capacitor Recommendation for VDDQ

Note Refer to the datasheets for VDDQ value

Figure 5. Decoupling Capacitor Recommendation for VTT

Figure 6. Decoupling Capacitor Recommendation for VREF

If you face any issue while creating your design or if you would like Cypress to do a schematic review, create a technical support case at www.cypress.com.

]]>
Fri, 05 Apr 2013 05:39:10 -0600
Using SWV with PSoC Creator http://www.cypress.com/?rID=61957 Although PSoC 3 supports SWV, PSoC Creator doesn't support debugging via SWV. To use the SWV feature, you must export the PSoC Creator project to the uVision IDE. Refer to the Help topic "Exporting a Design to Keil uVision IDE" for more information.

]]>
Fri, 05 Apr 2013 04:26:10 -0600
Datapath Configuration Tool Cheat Sheet - KBA86838 http://www.cypress.com/?rID=77887 Answer: The Datapath Configuration Tool (DCT) is a graphical method of setting registers. Each field in the DCT corresponds to a bit field in the corresponding Datapath configuration register. The attached file contains a detailed explanation of all these fields. It also discusses Datapath chaining and firmware-control of the Datapath.

Note: The attachment is an expanded version of Appendix A in the application note AN82156 - PSoC® 3 and PSoC 5LP - Designing PSoC Creator™ Components with UDB Datapaths. Cypress encourages you to read this application note if you are new to PSoC Datapaths.

]]>
Fri, 05 Apr 2013 03:24:09 -0600
Maximum Overlay Thickness for CapSense® - KBA82812 http://www.cypress.com/?rID=36862 Maximum overlay thickness can vary from 5 to 10mm, depending on the size of the sensor pad and the amount of noise in the system. Large sensor sizes can accomodated larger overlay thicknesses. A 10 mm circular button works well with upto a 5 mm overlay. We recommend using overlay thickness between 1 - 3mm for optimum SNR for buttons and 0.5 - 1.5 mm for sliders. 

-->

Answer: There is no specific maximum value for overlay thickness. You should select the overlay material and thickness depending on the following factors:

  • The sensitivity of your CapSense system is directly proportional to the overlay material and thickness.

Cfinger = (εo εr A)/D

where:

εo = free space permittivity
εr = dielectric constant of overlay
A = area of finger and sensor pad overlay
D = overlay thickness

  • A thicker overlay lowers finger capacitance, which in turn lowers finger response. A thicker overlay can also increase parasitic capacitance. However, the overlay must be thick enough to prevent breakdown during an ESD event. Remember that you can increase finger response by increasing button size to compensate for thicker overlays. The following table gives the minimum overlay thickness for different materials.

  

For further details, refer to the Capsense Getting Started guide.

]]>
Thu, 04 Apr 2013 07:59:31 -0600
CapSense® Signal-to Noise Ratio - KBA82807 http://www.cypress.com/?rID=36855 Answer: The SNR for a CapSense system is defined as the ratio of the increase in the raw counts caused by a finger touch to the peak-to-peak raw counts caused by noise present in the system.

The recommended minimum SNR is 5:1. A typical SNR is between 10:1 and 20:1 when finger capacitance is 0.1pF. The actual SNR depends on your project settings, especially scan time and sensitivity. You can increase the SNR by reducing the scan speed but this results in increased power consumption.

]]>
Thu, 04 Apr 2013 07:19:23 -0600
Generation of FIFO Empty and Full Flags - KBA85082 http://www.cypress.com/?rID=29526 Answer: A FIFO has two ports - one dedicated to writing and one to reading. Each port is addressed by its own counter. The write counter increments after each write operation. Similarly, the read counter increments after each read operation. When the counters are equal, the FIFO is either empty or full. The trick is figuring out whether it is empty or full. The following figure shows the read and write pointer organization:

Figure 1. Read and Write Pointers

The FIFO is empty when the read pointer catches up with the write pointer, and full when the write pointer catches up with read pointer.

One way of accomplishing this is by making each counter one bit wider than required. All counter bits except the MSB are used to address the FIFO array. In this configuration, every location in the FIFO is accessed twice before the counter rolls over. When the MSBs of the write counter equal those of the read counter, the FIFO is empty. When the MSBs are not equal and the actual count value is same, then the FIFO is full. This scheme makes it relatively simple to generate the empty and full flags. Since the FIFO logic prevents additional writes to a full FIFO and also prevents reads from an empty FIFO, the counters can never get further apart than the depth of the FIFO. This prevents reading old data or overwriting new data.

]]>
Thu, 04 Apr 2013 07:10:08 -0600
"Old Style Function Definition" Warning in PSoC® Designer™ 5.0, 5.1, and 5.2 – KBA 83779 http://www.cypress.com/?rID=39393 Answer: The new ImageCraft compiler (used with PSoC Designer 5.0 Service Pack 4.5, Designer 5.1, and Designer 5.2) is more compliant to the ANSI C standard.

Previous versions of PSoC Designer allowed you to leave the argument list blank in function definitions. For example:

void main()
{
}

If you attempt to compile this code with the new ImageCraft compiler, you will receive an “Old Style Function Definition for 'main' ” warning. This warning can be safely ignored; however, you can eliminate this warning by adding void to the argument list.

void main(void)
{
}
]]>
Thu, 04 Apr 2013 05:26:31 -0600
Connecting the TEST/I2C_SCL Pin of EZ-USB® HX2VL™ - KBA85448 http://www.cypress.com/?rID=77861 Answer: No, you do not need pull-up resistors to connect the TEST/I2C_SCL pin. TEST/I2C_SCL is a multipurpose pin. If this pin has a pull-up resistor, HX2VL enters TEST mode after RESET is de-asserted (from RESET=0 to RESET=1). HX2VL controls the TEST/I2C and SDA pins to ensure that the I2C protocol spec is followed.

Cypress recommends that you connect the TEST/I2C_SCL pin to the SCL of another IC on the schematic, without the pull-up resistor. HX2VL DVK designs that do not use pull-up resistors have been tested and verified.

]]>
Thu, 04 Apr 2013 05:06:32 -0600
Resetting Sensor Baseline with CapSense® Express™ - KBA82926 http://www.cypress.com/?rID=39726 Answer: Yes, you can do this by writing a "1" to bit 7 of the CS_Filtering register, which reinitializes the baseline. The bit automatically clears after the baseline is reset. You should not reset the baseline when a finger is on the button.

]]>
Thu, 04 Apr 2013 04:00:14 -0600
Flow Control Pins in the USB to UART Bridge Controller - KBA86252 http://www.cypress.com/?rID=77225 Answer: The CTS, RTS, DTR, and DSR pins in the USB to UART Bridge Controller have two functionalities: hardware flow control and I/O. You can use the USBUART configuration utility to reconfigure the controller with either of these functions.

Flow Control. Choose this function if the two UART links have different processing speeds. If the UART receiver has a processing delay between two consecutive receptions over the UART, it can signal ‘wait’ to the UART transmitter by deasserting the CTS line. When you are ready to send data, the transmitter can use the RTS pin to signal the receiver to keep its receiving line active. The DTR/DSR pin can enable and disable the Transmit/Receive function. The RTS/CTS pin can enable and disable the transfer of individual blocks of data.

I/O. You can choose this function if the UART transmitter and receiver have similar processing speeds. You can use the CTS, RTS, DTR, and DSR pins as I/Os that can be read and written to from the PC by USB requests. In this mode, CTS and DSR serve as input pins and RTS and DTR serve as output pins.

]]>
Fri, 22 Mar 2013 06:09:48 -0600
NX2LP™ NAND Programming Utility Does Not Detect NAND Flash on Windows 7 - KBA85453 http://www.cypress.com/?rID=77219 Answer: Run the programming utility on Windows 7 as administrator to ensure compatibility with Windows XP.

]]>
Fri, 22 Mar 2013 05:26:02 -0600
Suspend and Wakeup pins in USB to UART Bridge Controller - KBA86253 http://www.cypress.com/?rID=77218 Answer: According to the USB Specification, a downstream device enters a low-power state (consumes less than 2.5 mA) when you set a suspend condition on the D+ or D- pair. An active LOW on Suspend (pin 3) indicates that the USB is in Suspend mode. You can use this to place the CY7C64225 and other external devices in low-power mode.

The device can resume normal operations when the USB detects activity or a reset signal. When the device is in Suspend, and Remote wakeup is enabled, then asserting the wakeup signal generates remote wakeup signaling on the upstream. The device resumes normal operations when the host acknowledges the signal.

]]>
Fri, 22 Mar 2013 05:17:29 -0600
Interfacing the USB to UART Bridge with Windows CE Devices - KBA86250 http://www.cypress.com/?rID=77210 Answer: Yes, you can use the USB to UART Bridge Controller with Windows CE devices. Windows CE Driver is a Virtual COM port driver. You can open this driver as a COM port device using User Mode Driver or any application, and transact data using Windows CE APIs, such as ReadFile and WriteFile.

The ReadFile API returns are based on the following conditions:

  1. A short data packet is received.
  2. The ReadFile API buffer is completely filled.
  3. A read timeout has occurred.
  4. The device port is closed.

A short data packet is as small as one byte or as much as the maximum data packet size described in the device descriptors. You can use the User Mode Driver or the application to check the number of bytes read by the ReadFile API.

Contact Cypress Sales for more information about Windows CE Driver.

]]>
Fri, 22 Mar 2013 04:55:57 -0600
230K Baud Rate Support in USB to UART Bridge Controller - KBA86260 http://www.cypress.com/?rID=77196 Answer: Yes, the USB to UART Bridge Controller supports 230K baud rate. However, simultaneous transmit and receive operations are not supported if you select the following settings:

  • Baud rate: 230K baud. This rate does not support flow control.
  • Parity bit: ‘None’.
]]>
Fri, 22 Mar 2013 01:58:15 -0600
Using USB to UART Bridge Controller with Windows CE USBUART Driver - KBA86255 http://www.cypress.com/?rID=77193 Answer: Your operating system must include the Microsoft UHCI/OHCI/EHCI driver and Microsoft USB stack module “USBD”. The Cypress USBUART virtual COM port driver depends on the Microsoft USB stack, and noncompliance to this architecture can severely affect the functionality of the USBUART driver.

The current implementation takes the next available COM port number and assigns it to the Cypress USBUART driver. This avoids any COM port number conflicts. However, you can change the registry setting to use a fixed COM port number. For more information, refer to Windows CE documentation.

You can follow these steps to load the driver without using the Cypress VID and PID:

  1. Change Windows registry settings to reflect the new VID and PID.
  2. Add and set a new global environment variable called BSP_NO_CYP_VID. Recompile the source and build the Windows CE image.
]]>
Fri, 22 Mar 2013 01:46:06 -0600
Signed CyUSB.sys Driver for EZ-USB® FX2LP™ Development Kit (Windows 7 x64 Environment) - KBA84128 http://www.cypress.com/?rID=53338 Answer: The CY3684 FX2LP development kit install package contains signed drivers for Windows 7, Windows Vista, and Windows XP (x86 and x64) operating systems. The drivers are signed for VID=04B4 and PID=8613.

You can download and install the kit from http://www.cypress.com/?rID=14321. After the kit contents are installed, browse to the location: Install_root_directory\CY3684_EZ-USB_FX2LP_DVK\1.0\Drivers\cyusbfx1_fx2lp. All the drivers are located in this folder.

]]>
Fri, 22 Mar 2013 00:58:31 -0600
Startup I2C Clock Rate for EZ-USB® FX2LP™ - KBA85384 http://www.cypress.com/?rID=34580 Answer: The bus frequency defaults to approximately 100 kHz for compatibility, but you can configure it to run at 400 kHz for devices that support the higher speed. Setting bit 0 of I2CTL (E67A) register to 1 causes EZ-USB to drive SCL at approximately 400 kHz. When the CPU begins to run, firmware can modify the I2CTL.0 bit.

]]>
Fri, 22 Mar 2013 00:45:08 -0600
I2C Read using FX2™ and FX2LP™ - KBA85382 http://www.cypress.com/?rID=40050 Answer: I2C read implementation is illustrated in the file i2c.c, which is available in the path \Cypress\USB\Target\Lib\LP\i2c.c.

In this file, the implementation of read occurs in the ISR. The I2C_Read function sends the Read Command and changes the I2C.PktStatus to I2C_PRIME. The I2C enters the ISR every time a byte of data is successfully transferred when the DONE bit is set High.

When the following section of code is executed for the first time, the data that has been read is stored to I2CPckt.dat and the status is changed to I2C_RECEIVING:

case I2C_PRIME:
I2CPckt.dat[I2CPckt.count] = I2DAT;
I2CPckt.status = I2C_RECEIVING;
if(I2CPckt.length == 1) // may be only one byte read
I2CS |= bmLASTRD;
break;

To read more data, the following section of the code is executed the next time the ISR is serviced:

case I2C_RECEIVING:
if(I2CPckt.count == I2CPckt.length - 2)
I2CS |= bmLASTRD;
if(I2CPckt.count == I2CPckt.length - 1)
{
I2CS |= bmSTOP;
I2CPckt.status = I2C_IDLE;
}
I2CPckt.dat[I2CPckt.count] = I2DAT;
++I2CPckt.count;
break;
]]>
Fri, 22 Mar 2013 00:38:09 -0600
Updating FIFOADR Signals in FX2LP™ - KBA85379 http://www.cypress.com/?rID=44387 Answer: Yes, you can update FIFOADR signals at tFAH after sampling the last data. You do not have to wait for SLWR signals to go HIGH.

]]>
Fri, 22 Mar 2013 00:19:51 -0600
ESD Protection for EZ-USB® FX2LP™ - KBA85383 http://www.cypress.com/?rID=39845 Answer: Yes, the FX2LP has ESD protection up to 2 kV. This information is available in section 5 of the FX2LP datasheet.

For information on how to increase the ESD protection, refer to page 10 of the document titled High Speed USB Platform Design Guidelines at the USB-IF website www.usb.org.

]]>
Fri, 22 Mar 2013 00:13:53 -0600
Update Manager Error with Authenticated Proxy Server - KBA82631 http://www.cypress.com/?rID=54488 Answer: The Cypress Update Manager does not work with authenticated proxy servers, which require credentials to access the internet. You can order a free CD or download the ISO file.

To order a CD, go to the following links:
 


To download the ISO file, go to the following links:
 


After you download the ISO file, burn a CD or mount the ISO file. For instructions, see Mounting ISO Files and CD Burning

]]>
Thu, 21 Mar 2013 04:29:47 -0600
Thermal Resistance and Maximum Junction Temperature for FX3- KBA83990 http://www.cypress.com/?rID=58180 Answer: Cypress does not provide this data to our customers. Our parts are characterized to work at temperatures up to 85 degrees Celsius.

]]>
Thu, 21 Mar 2013 03:54:44 -0600
Linux Support for FX2LP™ and other USB Peripherals, such as AN2131/FX/FX1/FX2 - KBA85499 http://www.cypress.com/?rID=77096 Answer: Yes, Cypress provides a development package in Linux with FX3™. You can use the same package for FX2LP. You can use the FX3 drivers CyUSB3.sys instead of CyUSB.sys for your development.

To download the package, go to www.cypress.com/?rID=57990. Download the file: “FX3 SDK for Linux platforms - This is a Tar archive containing the FX3 firmware libraries and examples, the ARM GNU tool chain, Eclipse IDEs (x64 and x86 versions) and the CyUSB suite for Linux platforms.” Ignore the FX3 firmware files.

Refer to the documents cyusb_linux_user_guide.pdf and cyusb_linux_programmers_guide.pdf, which will get installed in the docs folder along with the software development kit at the location cyusb_linux_1.0.2/ docs.

]]>
Thu, 21 Mar 2013 03:04:53 -0600
Device Power Supply Levels in FX3 DVK – KBA84129 http://www.cypress.com/?rID=58191 Answer: Yes, the following device power supplies can be varied on the DVK board. The header reference designators are for the FX3 DVK Rev. 3:


Power Domain Description Headers Voltages (V)
VIO1 IO1 domain J136 1.8, 2.5, 3.3
VIO2 IO2 domain J144 1.8, 2.5, 3.3
VIO3 IO3 domain J145 1.8, 2.5, 3.3
VIO4 IO4 domain J146 1.8, 2.5, 3.3
VIO5 IO5 domain J134 1.2, 1.8, 2.5, 3.3
REG_VBATT VBATT power domain J143 2.5 , 3.3, 5.0
CVDDQ Crystal power domain J135 1.8, 3.3

The following supplies are permanently tied to 1.2V:
VDD
AVDD
VDD_SRAM
U3TXVDDQ
U3RXVDDQ

]]>
Thu, 21 Mar 2013 02:26:50 -0600
GPIO Toggle Frequency in EZ-USB FX3 - KBA83988 http://www.cypress.com/?rID=61282 Answer: Using CyU3PGpioSimpleSetValue() instead of CyU3PGpioSetValue() will increase the maximum output frequency. A lot of conditional checks are removed when you specify that the GPIO is simple.

]]>
Thu, 21 Mar 2013 01:55:21 -0600
SFRs associated with EZ-USB® FX2LP™ Serial Ports - KBA83526 http://www.cypress.com/?rID=77086 Answer: These are the SFRs for FX2LP serial ports. For more information, see the corresponding register tables in the EZ-USB Technical Reference Manual:


PCON (SFR 0x87) Bit 7, Serial Port 0 rate control SMOD0 (Table 14-13)

SCON0 (SFR 0x98) Serial Port 0 control (Table 14-11)

SBUF0 (SFR 0x99) Serial Port 0 transmit/receive buffer

EICON (SFR 0xD8) Bit 7, Serial Port 1 rate control SMOD1 (Table 14-12)

SCON1 (SFR 0xC0) Serial Port 1 control (Table 14-14)

SBUF1 (SFR 0xC1) Serial Port 1 transmit/receive buffer

T2CON (SFR 0xC8) Baud clock source for modes 1 and 3 (Table 14-5)

UART230 (0xE608) High-Speed Baud Rate Generator enable (Section 14.3.2)

Note: The registers PCON and EICON include functionalities that are not part of the serial interface.

]]>
Thu, 21 Mar 2013 01:20:00 -0600
Creating First Order IIR Lag Filters in the PSoC® 3 and PSoC 5 Filter Component - KBA85693 http://www.cypress.com/?rID=75312 Answer: First order IIR filters may be implemented in the Filter component by using the biquad filters with some zeroed coefficients.


The Filter 2.0 component in PSoC Creator enables the use of direct-form I biquad filters, which are second order IIRs. The following diagram shows the direct-form I biquad.


  


The following equation describes first order IIR lag filters:



Another way to write the difference equation for the IIR lag filter is:


  


To fit this lower order IIR into the biquad, we set the coefficients b1, b2, and a2 to zero, and then set coefficients b0 and a1 as described at the end of this section. Custom coefficients in the Filter component are in the order b0, b1, b2, a1, and a2. In the custom coefficients field, they must appear as:


k
0
0
-(1-k)
0


Just like the biquad sections in which they are implemented, these filters may be cascaded in the Filter component.

]]>
Thu, 21 Mar 2013 00:16:57 -0600
Compatibility between the WirelessUSB™-NL Radio Modules Provided with CY3668 Rev. ** and CY3668 Rev. *A - KBA86365 http://www.cypress.com/?rID=77007 Answer: No, the WirelessUSB-NL radio module provided with the CY3668 Rev. ** kit is not compatible with the equivalent radio module provided with CY3668 Rev. *A. Do not use these two radio modules together for wireless application development. You can use only the modules provided with same version of the kit.

However, you can make the two radio modules compatible by replacing the passives C7 and C8 on the radio module provided with the Rev. ** kit. For more information on how to do this modification, see KBA83288.

Note: You can identify the CY3668 kit revision by the sticker attached behind the kit box. Similarly, you can identify the radio module provided with the CY3668 Rev *A kit by the sticker attached behind the module.

Figure 1. CY3668 Kit Revision

Figure 2. CY3668 Rev. *A Radio Module

]]>
Wed, 20 Mar 2013 04:05:28 -0600
UVC Support in FX3 SDK v1.2.2– KBA84133 http://www.cypress.com/?rID=58181 Answer: Yes. The FX3 Software Development Kit v1.2.2 includes a UVC example. 

]]>
Wed, 20 Mar 2013 01:58:59 -0600
Error - Could not detect pod - KBA85339 http://www.cypress.com/?rID=40184 Answer: Several problems can be encountered while using the debugger. ‘Could not detect pod’ is one of the common error that can occur. To troubleshoot the pod detection issues follow the steps given below.

  1. Make sure that POD is connected to the ICE properly. For more details on the POD connection please refer the ‘Debugging hardware setup’ section in the Application Note AN73212: Debugging with PSoC1.
  2. If using ICE-Cube to power pod: Ensure that under the Project>Settings>Debugger menu the radio button with "ICE may power pod" is checked.
  3. If using external supply to power the pod, first ensure that power is applied to ICE-Cube. Next ensure if the radio button “External only” under the Project>Settings>Debugger menu is checked.

Other possible errors that could occur while using the ICE cube to debug are

  1. Could not connect to ICE or is Incompatible with the Pod
  2. ICE Disconnects During Debug Session
  3. Invalid Memory Reference Occurs During Debug Session
  4. The Selected ICE Port Cannot be Found
  5. Program Execution Halts at Unexpected Locations
  6. USB Hub Power is Exceeded
  7. No Events are Ever Detected

To troubleshoot the above mentioned error, please refer the section: Troubleshooting in the Application Note AN73212: Debugging with PSoC1 . Also for more details on how to troubleshoot the error ‘Could not connect to the ICE’, please refer the KB article PSoC Designer Error Message "Could not connect to ICE”.

]]>
Tue, 19 Mar 2013 06:17:21 -0600
PSoC® 1 Application Note Finder - KBA83025 http://www.cypress.com/?rID=55571 Cypress’s website has over 50 application notes for PSoC® 1 devices covering a wide range of topics. Our PSoC1 AN Finder spreadsheet will enable you to identify relevant application notes based on domain tags, document complexity, supported devices, availability of example projects, supported software versions, and hardware kits.

The first four columns of the spreadsheet provide tags for quick sorting. These tags are based on content domain, application function, type of PSoC building blocks or IP, and document complexity. The spreadsheet also lets you know if there are example projects, what version of PSoC Designer is supported, what hardware platform was used to test the project, and the supported PSoC 1 device family. You can filter and sort our application notes using any of the fields and find relevant application notes available for download.

 
]]>
Tue, 19 Mar 2013 06:01:12 -0600
Changing PSoC® Creator Project Type - KBA80891 http://www.cypress.com/?rID=76950 Answer: There are three types of PSoC Creator projects: Boot Loader, Boot Loadable, and Normal. You can change the project type by editing the build settings. To do this, select your project in the PSoC Creator workspace explorer and click Project → Build Settings… from the menu bar. This will open the Build Settings window. Choose your project type using the Application Type drop-down menu as shown below.

If you are using PSoC Creator 2.1 or later, you should add a Bootloader or Bootloadable component for a Bootloader and Bootloadable project respectively. Remove these components if you are changing from Bootloader or Bootloadable.

Multi App Bootloader is just another type of Bootloader project. Refer to AN73854 - PSoC® 3 and PSoC 5 - Introduction to Bootloaders for more information.

]]>
Tue, 19 Mar 2013 05:16:43 -0600
Pseudo Random Sequence Generator with PSoC® 1 - KBA83078 http://www.cypress.com/?rID=60863 Answer : PSoC Designer includes the PRS8, PRS16, PRS24, and PRS32 User Modules to implement pseudo random sequence (PRS) generators. The PRS User Modules are modular linear feedback shift registers (LFSR) that generate a pseudo random bit streams. You specify the polynomial and starting seed values to define the output number sequence.

The Pseudo Random Sequence Generator project demonstrates how to use the PRS8 User Module to generate a random bit stream with a 10 ms interval and transmit it using a TX8 serial transmitter.

]]>
Tue, 19 Mar 2013 04:59:25 -0600
ActiveX Controls Error in Windows Internet Explorer - KBA84416 http://www.cypress.com/?rID=76947

Answer: To resolve the Windows Internet Explorer error for ActiveX controls:

  1. Open Internet Explorer, click “Tools” and then “Internet Options”

    If you cannot open Internet Explorer, you can get to the Internet Options window through the Control Panel.
  2. Select the “Advanced” tab in the Internet Options window and click ”Reset…”
  3. Click “Reset” in the Reset Internet Explorer Settings window
  4. Restart Internet Explorer
  5. Close and reopen PSoC Designer
]]>
Tue, 19 Mar 2013 04:40:26 -0600
I2C Signals from FX3 DVK to an External I2C Device - KBA83996 http://www.cypress.com/?rID=58190 Answer: Yes, the I2C signals are available on J147 of the FX3 DVK Rev. 3 board. 

]]>
Tue, 19 Mar 2013 04:30:03 -0600
Using an External Battery for VBATT on FX3 DVK – KBA84130 http://www.cypress.com/?rID=58182  Answer: Yes, the VBATT domain can be powered by an on-board regulator or an external battery. To use an external battery with the FX3 DVK Rev. 3 board, insert the battery in the BT1 socket and remove any jumpers on J143 to disconnect the regulator outputs.

]]>
Tue, 19 Mar 2013 03:52:27 -0600
USB Driver for WinCE OS for PSoC® 3 or any other USB Peripheral chip - KBA85516 http://www.cypress.com/?rID=76943 Answer: No, there are no drivers available for WinCE OS. But the OS provides standard drivers, such as human interface device (HID) drivers. Note that you can implement the application using HID-class drivers.

]]>
Tue, 19 Mar 2013 03:41:47 -0600
Using a PRS Generator as a PWM - KBA83077 http://www.cypress.com/?rID=60794 Answer : The PRS generator uses a Linear Feedback Shift Register (LFSR) to generate a pseudo-random bit stream. You can configure the PRS to output the LSB of the bit stream in order to implement a PRS PWM. Using a PRS PWM spreads the signal energy over the complete spectrum and significantly lowers EMI.

The PRS Pulse Width Modulator example project demonstrates how to implement a PRS PWM. It also compares the frequency spectrum of a PRS PWM with a conventional PWM.

PRS Pulse Width Modulator Project Documentation
PRS Pulse Width Modulator PSoC Project Files

]]>
Tue, 19 Mar 2013 02:02:57 -0600
Software Reset in Normal Mode for CapSense® Express™ (CY8C201xxx) - KBA82924 http://www.cypress.com/?rID=39728 Answer: No, it is not possible to do a software reset while the device is in normal mode. The device should be in set up mode. To enter set up mode and do a software reset use the following command: W 00 A0 08 W 00 A0 06.

]]>
Tue, 19 Mar 2013 01:46:25 -0600
Creating a Verilog-based Component - KBA86338 http://www.cypress.com/?rID=76933 Answer: Refer to the attached document, titled Creating a Verilog-based Component, for the fastest way to create a Verilog implementation for a custom component.

]]>
Tue, 19 Mar 2013 01:30:15 -0600
Just Enough Verilog for PSoC® - KBA86336 http://www.cypress.com/?rID=76925 Answer: The attached document, titled Just Enough Verilog for PSoC, provides a PSoC-specific introduction to Verilog, which is necessary to understand and build meaningful designs with PSoC Universal Digital Blocks (UDBs). This document supplements the Warp Verilog Reference Guide available in PSoC Creator™ Help>Documentation.

]]>
Tue, 19 Mar 2013 00:53:22 -0600
EZ-USB® FX2™ Technical Reference Manual and Datasheet - KBA83525 http://www.cypress.com/?rID=28709 Answer: Install EZ-USB_devtools_version_261700.zip from the CY3681 EZ-USB FX2 Development Kit in your default directory. The FX2 Technical Reference Manual is available at C:\Cypress\USB\doc\FX2\FX2 TechRefManual.pdf. The datasheet is available at C:\Cypress\USB\doc\FX2\38-08012.pdf (CY7C68013).

]]>
Mon, 18 Mar 2013 06:21:32 -0600