USB superspeed peripherals Forum Discussions
Hi,
I want to change SSC_RANGE[1:0] of LNK_PHY_MPLL_STATUS on CX3.
There is CyU3PUsbSSCDisable API to disable this function, but I can't find the API to change SSC_RANGE.
How can I change this parameter?
Best Regards,
Show LessI have a PCB with FX3. An EEPROM is used to store firmware. I can reprogram the EEPROM using console center, but I do not not how to erase I2C EEPROM connected with FX3. Please tell me if your know. Thank you.
Show Less1. our purpose to generate following i2c sequence:
START-0xDA-0x33-0x05-0x00-0x00-0x00-0xa1-0x00-0x80-0x01-0x01-0xa2-restart-0xDB-(read)0x33-0x41-0x02.....0x78-STOP
2. we are trying to use CyU3PI2cTransmitBytes API. but Preamble Values more than 8 bytes are not supported.
3. we are also try CyU3PI2cTransmitBytes + CyU3PI2cTransmitBytes to generate the sequence. the signal between these APIs is stop-start not restart.
START-0xDA-0x33-0x05-0x00-0x00-0x00-0xa1-0x00-0x80-0x01-0x01-0xa2-stop-start-0xDB-(read)0x33-0x41-0x02.....0x78-STOP
our i2c slave device not support it.
4. from the following link, seems fx2 also have this issue. and there is an workarround. can you help check our fx3 can also take this method and how to do?
CY7C68013A I2C repeated start condition.
thanks
xingxing
Hi all,
I working on Fx-3 I2C interface. Fx-3 acts as master and stv0913 (Demod) and RDA5815S (Tuner) acts as slave.
In cypress I2C code as below.
CyU3PReturnStatus_t I2C_Write ( uint8_t slaveAddr, uint32_t count, uint8_t *buf)
{
CyU3PReturnStatus_t status = CY_U3P_SUCCESS;
CyU3PI2cPreamble_t preamble;
CyU3PDebugPrint (1, "I2C Write operation - dev:0x%x, size: %d,\r\n",(slaveAddr<<1), count);
/* Update the preamble information. */
preamble.length = 1;
preamble.buffer[0] = ((slaveAddr<< 1) | I2C_Operation_Write );
preamble.ctrlMask = 0x0000;
status = CyU3PI2cTransmitBytes (&preamble, buf, count, 100);
if (status != CY_U3P_SUCCESS)
{
return status;
}
/* Wait for the write to complete. */
status = CyU3PI2cWaitForAck(&preamble, 100);
if (status != CY_U3P_SUCCESS)
{
return status;
}
/* An additional delay seems to be required after receiving an ACK. */
CyU3PThreadSleep (1);
return CY_U3P_SUCCESS;
}
Note 1: this function i am using 2 API
1. status = CyU3PI2cTransmitBytes (&preamble, buf, count, 100);
2. status = CyU3PI2cWaitForAck(&preamble, 100);
1. This code is working fine for Demod I2C write operation ( I am able to wirte the data to specific memory and i can read the data from same memory). the above 2 API gives status as CY_U3P_SUCCESS.
2. If i am try to writing data to tuner i am getting CY_U3P_SUCCESS after calling status = CyU3PI2cTransmitBytes (&preamble, buf, count, 100); API. But I am getting status value 74 after calling status = CyU3PI2cWaitForAck(&preamble, 100); this API.
Note 2: 1. if i am sending only I2C_slave address with count value=0 its working fine.
1. if i am sending I2C_slave address with count >0 its not working.
I probed the I2C bus with CRO. i am getting ACK at 9th clock cycle of every byte i attached the Image also ( slave address is 0x18).
Note 3: If i am writing the data to tuner to some register, i am getting status value 74 (CyU3PI2cWaitForAck) means NACK. But i am able to read the same register its giving the correct value what i sent in previously.
Q1. why i am getting error code 74? if slave responding a ACK signal.
Thank you
With Best Regards,
Thrimurthi M
Show LessHi,
I am implementing the CYUSB3064 IC in my design. I am iterating the SI simulations on this Cypress bridge IC and need to validate its CSI 2 lane interfaces for both the CSI channels.
Please share any references or document for CSI-2 lane eye mask specifications if the CSI signals are referenced to the clock speed range of 250MHz to 950MHz.
Thanks,
Dhara
Show LessHi All,
According to the snippet in the "AN75705 Getting Started with EZ-USB FX3.pdf" chapter 7:
However, I got the error message "CYU3P_PIB_ERR_THR0_WR_OVERRUN" from CyU3PPibRegisterCallback(), while trying to receive a higher FPS data and then transfer it to PC.
I'm confused whether the error conflicts with the snippet in the pdf?
How to explain the error message?
Hope someone could provide any suggestion. Thanks a lot!
Show LessI've been receiving the following windows error on both the Superspeed Explorer Kit and custom hardware using the same CYUSB chip:
"The driver for this device has been blocked from starting because it is known to have problems with Windows. Contact the hardware vendor for a new driver. (Code 48)
Click 'Check for solutions' to send data about this device to Microsoft and to see if there is a solution available."
There have been numerous posts showing people having this issue in the past and it was typically resolved by installing the latest driver, 1.2.3.20. For my purposes, this has not been adequate to mitigate this issue.
- I've received this same issue on 2 PCs, both having Windows 10 with version 1809 (10.0.17763.503).
- I've tried reinstalling the cypress SDK.
- I've tried using old drivers including 1.2.3.14 and 1.2.3.9 without any success.
- I've reinstalled (manually) the latest driver (1.2.3.20).
- I've also completely reformatted my computer with no success.
Also, I was previously able to connect to these devices with my PC but am no longer able to.
Has anyone else had this issue or know of a work-around?
Show Less
I am using CY3065 to capture RAW12 video stream of 640x480@ 120 FPS, MIPI receiver configuration as follow:
I set the delay time: CyU3PMipicsiSetPhyTimeDelay(1,5); buffer length: 27648; buffer count: 4
Correct situation:
I configure sensor and receive data, data length is : 640*480*1.5 = 460800 -> this is correct.
I catch the LV signal, the +width of FV is 3.33us, equal to CX3 MIPI interface configuration H Active.
the -width of LV is 4.17us.
the total time of the LV is 3.66ms, so i can calculate the line numbers are: 3660/(3.33+4.17) = 488 ≈ 480 -> this is correct.
Error condition:
I configure sensor using another parameters and capture data length is : 350640 - > error data length.
the FV signal as follow:
the +width of LV is 3.33us, equal to CX3 MIPI interface configuration H Active.
the -width of LV is 2.04us.
the total time of the LV is 2.66ms, so i can calculate the line numbers are: 2660/(3.33+2.04) = 490 ≈ 480 -> hence, this is correct.
I try to set other parameters to image sensor, so i can change the -width of the LV, and find that if -width of LV less than 4.0us, i can't capture correct data length. The smaller -width of LV, the shorter data length i can capture. if the -width of LV more than 4.0us, i can capture the total frame data: 640*480*1.5 = 460800 Byte.
How to solve this problem?
Show LessCould you provide below test item required for CYUSB3014?
Test Item | Required |
USB2.0 Tx | Test Packet/Test J/Test K/SE0_NAK/Suspend/Resume Command |
USB3.2 Tx | CP0/CP1 Command |
IOP | Target Peripheral List |
Thanks,
Mitchell
Show Less