Quantcast
Channel: Cypress Semiconductor - USB - Known Problems and Solutions
Viewing all 153 articles
Browse latest View live

Programming of I2C EEPROM failed

$
0
0

I have a question about the EEPROM. 

I use the cyusb2014 chip ,I used the contror center to program the eeprom, 

I set the PMODE[2:0] to Z11(USB Boot). 

However when I tried to load the SRAM_FX3.img file (The file size is less than EEPROM size) , 

I always got the error message:programming the I2C EEPROM failed . 

But when I used the cyusb3014 chip ,It is successful to load the file to the EEPROM . 

I have followed everything that is there in the documents, 

So I want to know that : 

Why the cyusb2014 can not load the file to EEPROM , But cyusb3014 can ? 

How can I solve this problem ?

The CYUSB2014 schematic is in attachment。 And I has mounted the R1651 ,R1653 , Set the PMODE[2:0] to Z11(USB Boot) .

 


CyU3PUsbStop Memory Leak

$
0
0

Hi,

I would like to start/stop my thread(s) handling the USB in my firmware on a FX3.

I stop all my thread with tx_thread_terminate then destroy them with CyU3PThreadDestroy. Clean any allocated buffer and memory.

The operations are successful however I have buffers that remain allocated. Using the JTAG I identified the issue in the following call stack :

CyU3PDmaBufferFree() at cyfxtx.c:1,006 0x40007f38    
CyU3PDmaChannelDestroy_TypeManual() at 0x4000cb38    
CyU3PDmaChannelDestroy() at 0x4000c928    
CyU3PUsbStop() at 0x40016b20    

 The free function is called however the buffer pointer is incorrect and deallocation is unsuscessful :

CyU3PDmaBufferFree

    /* Validity check for the pointer. */
    if ((uint32_t)buffer < CY_U3P_BUFFER_HEAP_BASE)
        return retVal;

 The DMA channel in question is the EP0. I have 2 512-byte buffer remaining every time.

BufAlloc Buffer: 40041080 (21) (536)  - Reamining Buffer 2nd start/stop
BufAlloc Buffer: 40040E60 (20) (536)  - Reamining Buffer 2nd start/stop
BufAlloc Buffer: 40040C40 (13) (536)  - Reamining Buffer 1st start/stop
BufAlloc Buffer: 40040A20 (12) (536)  - Reamining Buffer 1st start/stop
BufAlloc Buffer: 400409E0 (11) (40)
BufAlloc Buffer: 400409A0 (10) (40)
BufAlloc Buffer: 40040960 (9) (40)
BufAlloc Buffer: 40040920 (8) (40)

I will test with a manual in/out buffer with 3 buffer to check how many buffer  CyU3PDmaChannelDestroy_TypeManual fails on.

Can single Billboard device CY7C65210 serve multiple CCGs?

$
0
0

Hi,

I am not sure whether this is the right place to ask this question.

I am new to CCGx and billboard device. I received a request from customer which asks me to build something with a single billboard device connects to two CCG2 devices. I know billboard is used to negotiate with host about what alternate mode the container device supports.  But the specification doesn't disclose more detail about it.  So I have some questions, hope someone can help to answer it.

1. Does billboard detect the alternate modes or the modes are pre-defined in its firmware?

2. Can single Billboard serve multiple CCG2 ?

3. Will CCG2 write back some data to Billboard?

Thanks a lot.

USB-I2C interface with Python

$
0
0

I am trying to interface with the CY7C65215 using Python in order to read/write the I2C bus. Is there a python module available? How can i interface with the device?

Thanks. Denis.

FX3 and Storage Driver

$
0
0

Hi,

My FX3 Firmware is to run on a 256K RAM FX3. I am looking to optimize memory usage. In this process, I am looking at my own thread stack usage to adjust their size. Doing so I came across the different thread running on the firmware. 

I have the following trace for the FX3 API threads :

Priority 4       Size 3FB        High 21B        Usage 52        : 04_UIB_THREAD
Priority 4       Size 3FB        High E3         Usage 22         : 05_LPP_THREAD
Priority 4       Size 3FB        High CF         Usage 20        : 03_PIB_THREAD
Priority 6       Size 1FB        High BF         Usage 37        : 07_DEBUG_THREAD
Priority 4       Size 7FB        High C3         Usage 9          : 06_SIB_THREAD
Priority 4       Size 3FB        High 13F        Usage 31        : 02_SYSTEM_THREAD
Priority 2       Size 3FB        High 157        Usage 33        : 01_DMA_THREAD
Priority 0       Size 3FB        High AB         Usage 16        : System Timer Thread

I was not expecting the 06_SIB_THREAD to be present as I don't have storage enabled on my firmware nor does my FX3 support it. The trace informs that the SIB Thread is using 9% of the 2KB of memory allocated for stack.

The SDK API starts CyU3PSibApplicationDefine in the CyU3PApplicationDefine.

Is the SIB Thread use by any other driver than the SD Controller ?
Could the SIB Thread be started based on the return of CyFx3DevIsSib0Supported ?

Regards,
Stan

Communicating with Cypress USB to Serial chip on Linux

$
0
0

Hi,

I am trying to establish a communication and read data from an Inverter device which uses Cypress USB to Serial chip.  The 'lsusb' command reports that the device has vendorID 0665, and productID 5161, with description "Cypress Semiconductor USB to Serial".  And the device appears on a Linux machine as '/dev/usb/hiddev0'.  Unfortunately I am having difficulty with establishing the communication with this device.

I am hoping get some help in figuring out how to communicate with this device:

  • Is there any existing device-driver/library that I can use to establish communication with this device?
  • Am I supposed to directly use low-level USB messages to communicate with the device?  If yes, can I get some references/examples of how this can be done?

So far, I have tried to communicate with this device as usb-serial but it hasn't worked.  I have tried following so far:

  • I have tried to directly connect to the device using serial communication tools (e.g., picocom) but I get 'Fildes not a tty'.
  • I have tried to modify existing kernel driver for usb-serial communication (cp210x.ko) to support 0665:5161 vendor/product-ID,  but this lead to 'input/output error' when connecting to the device.
  • I have also tried using 'cypress_m8.ko' kernel module from CYPRESS by editing to support 0665:5161 vendor/product-ID, but that lead to kernel-panic!
  • I have experimented with 'CyUSBSerialTestUtility' from  CyUSBSerial_SDK_Linux from CYPRESS to see if it detects anything, but it does not detect any device.

Any suggestions/tips on to help in establishing communication with this device will be helpful!

Thanks!

Questions about An65974

$
0
0

Hello:

    I tested AN65974,but failed. And i have two questions:

   1.There are some reasons that I must programed FPGA first.I programed FPGA.After that I programmed the FX3S device. When  FX3S device finished programing,I reset FPGA.Does the order affect the result?

   2.After programed,the flaga is high,flagb is low,flagc is low,flagd is high.Please tell me how does this happen?

​   Thank you very much.

 

 

Problem about FLAG signals

$
0
0

1.AN65974 is written with GPIF configured for 32 bit interface. But when I open the GPIF II project of AN65974,it is in the 16 bit mode.And there is something in cyfxslfifosync.h.

/* 16/32 bit GPIF Configuration select */

/* Set CY_FX_SLFIFO_GPIF_16_32BIT_CONF_SELECT = 0 for 16 bit GPIF data bus.

 * Set CY_FX_SLFIFO_GPIF_16_32BIT_CONF_SELECT = 1 for 32 bit GPIF data bus.

 */

So I  define CY_FX_SLFIFO_GPIF_16_32BIT_CONF_SELECT (0).Is there something else for 16 bit mode set up?

2.I checked someting.I powered on FX3S first,and programed FX3S with loopback transfer img.then powered on FPGA.Afer several clocks,the FLAG[A:D] is 1001,and FPGA is in the 0 transfer mode(loop_back_idle).

After that I sent TEST.dat with the Control Center,and I checked FLAG signals and FPGA’s state machine for loopback transfer.The detail is below.

FLAGA:           1-1-1-1-1-1-1-1-1-1

FLAGB:           0-0-0-0-0-0-0-0-0-0

FLAGC:           0-1-1-1-1-1-1-1-1-1

FLAGD:           1-1-1-1-1-0-0-0-0-0

state machine of FPGA:  0-0-1-2-3-3-4-5-6-7

And the Control Center box said BULK OUT transfer completed.But when I transfer data in with Control Center,and it failed.The Control Center box said  BULK in transfer failed with error code:997.I think the reason is FLGAB can’t change to 1 from 0,is it?How can I do next?

3.Our FPGA is not Altera or Xilinx,it is Actel’s AGL250V5-FG144I.In this platform, it has not the DDR modern,and we made it.The function of ddr is only to reverse the clock,is it?


BULK IN - Packets per transfer and short (partial) packets

$
0
0

Hello,

On BULK IN transfers from the GPIF, why does the transfer rate decreases significantly when I request for a large number of packets per transfer, for example, 2MB, and the stream occasionally has a few short consecutive packets?

If, I reduce the number of packets per transfer on the host to 0.25MB, then the transfer rate is what I expect it to be. If there are no consecutive short packets, the transfer rate is also normal. Something doesn't work right when short packets are consecutive and the host is requesting a large amount of data.

Additional info: FX3 is running with a firmware that is very similar to the slavefifo example. Max packet size is 1024bytes and each burst is 16 packets. There are 6 dma buffer allocated for automatic P2U transfers, each one is as large as a burst, 16384bytes. The GPIF state machine is exactly the one from the example. I should also mention that the short packets are not a multiple of max packet size.

Thanks,
-Eyal

FX3 Bootloader Power Requirement

$
0
0

Hi,

I am using the FX3 behind a USB Hub. The USB hub is controlled and configured by the FX3 as part of the system.

During development, the Hub has incorrect configuration which causes the FX3 Bootloader Device to be unavailable due to power requriement. When powering the system, the hub is configured as bus-powered. 100mA is available per port. Windows warns about "usb hub power exceeded" because the FX3 request 200mA on a 100mA port.

Despite the configuration being bus-powered, my system doesn't use any USB current and is powered externally during development and testing.

  1. Would there be a way to disable Windows USB current limitation during my development
    Is there any registry key that would allow to disable USB Current limitation ?
  2. Would there be a way to have the FX3 Bootloader device request only 100mA ?

Regards,
Stan

Cyusb3.sys on win7 and win 10

$
0
0

Hi guys,

I am upgrading the USB driver from Cyusb.sys for win 7 to Cyusb3.sys to add support for both win 7 and win 10. I need to add the USB driver to the software. The software is generated by Visual Studio Setup project. I use custom action in Visual Studio with dpinst to install the driver after the installation of the software. I have to provide customer software for win 7 and win 10. cyusb3.sys, cyusb3.inf, cyusb3.cat for win 7 and win 10 are seperated in different operating system folders (\Win10, \Win7, etc) thus I assume they are different for different operating system. My question is which driver should I use to support both win 7 and win 10. If I have to use different drivers for different operating system, do I need to create different Setup file for each operating system? Thank you very much.

Best,

Can we customize the FX3 Bootloader?

USB PID AND VID error

$
0
0

Good Morning,

 

Recently, one of our systems lost communication with the PC. Apparently, there is an issue with the USB driver. The product ID and vendor ID are: 

PDI: 3884 and the VID: 3001

Nicolet Biomedical Inc

Looking at the website, there is not any driver related to this product. 

Could you help me with the driver or the solution for this problem?

Thank you in advance. 

Santiago

GPIF Timing

$
0
0

Hi,

I am designing a GPIF interface and would like to use the Timing window of the GPIF II Designer tool.

On my write scenario, master writing to slave, FX3 performing IN_DATA operation, I seems to have my input ( EN signal and DataBus ) 10ns early. Is that expected in hardware of is it a error in the timing windows ?

My state should transition from OP_WAIT to WR_TGT upon EN signal. The timing windows shows EN transition 10ns earlier. The DataBus is sample during WR_A2U_TH0. I have transition occurring in states before.

My understanding is that those transitions should occurs one cycle later.

Regards,
Stan

CyUSB.dll HID Fatal Execution Engine Error

$
0
0

Hello,

 

I have actually a few problems / questions.

 

So, initially we were having a problem with data being transferred from the board to the HID Host application.

The firmware developer found that if he repeatedly sent data during down times (master / slave) I would be able to get the data, however if he did not keep the communication line active it would time out and he would not be able to send data anymore.

 

So, our work around is that every 10 msec he sends me 0xFF, if the databuffer starts with a 0xFF on the Host side it just disregards it and waits for actual data bytes.

 

This is done on the host side by creating a while loop that loops for 1.5 seconds, with no delay on looping, each loop it does it calls ReadInput() on the HIDDevice. This have triggered a "Fatal Execution Engine Error" numerous times.

Which basically means somewhere in the CyUSB.dll there are issues with garbage collection heap integrity.

 

So, I am wondering if anyone has any input on either of my two problems:

1.) Does the firmware really need to send out data every 10 milliseconds or the connection goes stale?

2.) Why am I getting a "Fatal Execution Engine Error" when making repeated calls to ReadInput()?

 

Regards


CCG2 Dock/Monitor Software w/ Buck/Boost

$
0
0

Hello,

I am utilizing the information provided by Cypress in an effort to implement a modified Dock/Monitor application described in the CCG2 USB Type-C Dock Revstar A reference design.  I am using the USB-Billboard CY7C65210-24QFN to handle the high speed applications.  However, I combined it with the reference design from the 60W Car Charger, which uses the CYPD2134-24QFN and the NCP81239 Buck/Boost controller to handle the power source application.

I have been referred to the EZ-PD Configuration Utility to implement the application, but implementing the CY7C65210 and the NCP81239 do not appear to be part of that Utility, unless I'm missing some information.  Is there a reference source code for either reference design that I can use to start my own project in the PSoC Creator, thereby combining the two reference designs?

Thank you!

USB to UART adapter does not show up in the device tree - Zed Board

$
0
0

I am connecting a ZED board to HP laptop , Windows 7 enterprise OS. I installed the CypressDriveInstaller_1. When I connect both the USB ports on the ZED board to the  PC (J17 - PROG & UART) , "USB to UART Adapter" does not show up in the device list. If connect just the UART only (and not the programming cable), I still do not see anything in the device tree. When I connect the programming cable, it shows up as "USB serial Converter" in the device tree and as "COM3" in the COM & LPT ports list. Only COM3 shows up in that list. No other com port. If I open the serial port terminal (Teraterm) , it won't let me program (Vivado cannot open the hardware). After I kill the serial port I can program and when I open the Teraterm and connect to COM3, I get a message "Cannot open COM3". If I right click on COM3 in the device tree and look  at the driver details, it shows the driver as "FTDI driver". This is happening on 2 HP computers ( a desktop  and a  laptop). The board works fine with the serial port on a Dell laptop with windows 7 professional. I would appreciate any help to resolve the problem.

Thanks,

Mohan 

CY7C68013A-56PVXC BDA DRIVER

Need help with USB interface

$
0
0

I need to interface matrix keypad(4x4) with CY7C64215-56LTXC and send the detected key over USB.

Is there a sample code that accepts a byte continuously and sends it over USB for this device ( CY7C64215-56LTXC ).

FX3 CVDDQ Voltage

$
0
0

The CYUSB3014 spec indicates under the power section that the CVVDQ voltage should be either 1.8V or 3.3V.  Under operating conditions it indicates operation from 1.7 V to 3.6 V is acceptable.  Under DC specifications it indicates again 1.7V to 3.6V with 1.8 and 3.3V typical.  Can anyone comment on the acceptability of running this at 2.5V (of course the clock and configurations resistors would also be that voltage)?  In particular response from anyone who has actually done this successfully would be very much appreciated.

Thanks very much.

Viewing all 153 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>