USB superspeed peripherals Forum Discussions
Hi Cypress Experts:
I am trying connect camera with ISP to CX3, but no image output.
The ISP output MIPI setting as below:
The CX3 configuration as below:
Could you please help to check whether there is anywhere un-reasonable?
Here is the log:
======================================================================
bRType = 0x81, bRequest = 0x0, wValue = 0x0, wIndex = 0x0, wLength= 0x2
bRType = 0x1, bRequest = 0x3, wValue = 0x0, wIndex = 0x100, wLength= 0x0
StpCB:In SET_FTR 0::1
bRType = 0x1, bRequest = 0x3, wValue = 0x0, wIndex = 0x0, wLength= 0x0
StpCB:In SET_FTR 0::1
bRType = 0x1, bRequest = 0x3, wValue = 0x0, wIndex = 0x100, wLength= 0x0
StpCB:In SET_FTR 0::1
bRType = 0x1, bRequest = 0x3, wValue = 0x0, wIndex = 0x0, wLength= 0x0
StpCB:In SET_FTR 0::1
bRType = 0x1, bRequest = 0x3, wValue = 0x0, wIndex = 0x100, wLength= 0x0
StpCB:In SET_FTR 0::1
AppInit:GpifSMStart passed
Sensor Initialization
EnterSuspendMode Status = 0x0, Wakeup reason = 0x8
bRType = 0x1, bRequest = 0x3, wValue = 0x0, wIndex = 0x0, wLength= 0x0
StpCB:In SET_FTR 0::1
bRType = 0xA1, bRequest = 0x81, wValue = 0x100, wIndex = 0x1, wLength= 0x22
bRType = 0x21, bRequest = 0x1, wValue = 0x100, wIndex = 0x1, wLength= 0x22
bRType = 0xA1, bRequest = 0x81, wValue = 0x100, wIndex = 0x1, wLength= 0x22
bRType = 0xA1, bRequest = 0x83, wValue = 0x100, wIndex = 0x1, wLength= 0x22
bRType = 0xA1, bRequest = 0x82, wValue = 0x100, wIndex = 0x1, wLength= 0x22
bRType = 0x21, bRequest = 0x1, wValue = 0x200, wIndex = 0x1, wLength= 0x22
AplnStrt:SMState = 0x2
=======================================================================
Thanks
Show LessIs there a USB-Serial Bridge Controller that supports USB3.0?
Or, do you have a plan for that product?
CY7C65213 is USB 2.0 certified, so I just want this 3.0 certified version.
Thanks,
Tetsuo
Show LessDear supports,
we want to use memory in normal operation F/W (280KB) + backup F/W (280KB).
During normal operation, only F/W (280KB) is used. If there is a problem with the F/W in the EEPROM, we would like to be able to boot to the Backup F/W.
(Only one of normal operation F/W or backup F/W)
Currently, we understood that the use of 256KB EEPROM 2EA in FX3 is the limit specification.
However, the EEPROM memory-related restrictions on the FX3 document have not been confirmed and the reason is unknown.
Please answer the following questions.
- 1. Reason for FX3 + 256K EEPROM 2EA limit specification
- 2. Whether FX3 and EEPROM can be used as follows.
1) FX3 + 512KB EEPROM 1EA
2) FX3 + 512KB EEPROM 2EA
Best Regards,
Tony Kim
Show Less
I referred AN4053 Streaming Data Through Isochronous or Bulk Endpoints on EZ-USB® FX2™ and FX2LP
I followed the chapter 2 Associated Project Files, I unable to create hex file and I share the screenshot below
Thanks
Esakki
Show LessPlease send me link for FX2LP programming guide.
for example: CPUCS = 0x02; //12MHz operation , CPUCS[4:3] = 10.
PINFLAGSAB = 0x08; // FLAGA - EP2EF
for Reference programming guide How to set hex value for clock or set port ? with explanation
With Regards,
Esakki
Show LessDear Cypress,
Write data to Storage Port(through FatFs):
I was running the cyfx3_fatfs example code on FX3S board, where am using write command
FX3S: `write` sample
Above command works fine and able to write raw data to that sample file and by defaults, it writes 20MB data, next what I did was executed the same command
FX3S: write sample1
this time while writing the data I just removed the SD card and it hangs.
Would like to know do we get any error from f_write?
if we are removed the SD card and it is blocking in f_write.
Thanks,
Vijay
Show LessHi all,
I want to setup many producer to many consumers as below:
1. CY_U3P_UIB_SOCKET_PROD_2 and CY_U3P_CPU_SOCKET_CONS. DMA channel create mode is CY_U3P_DMA_TYPE_MANUAL_IN. this is for receive endpont 0x02 data for fx3 do command passer.
2. CY_U3P_CPU_SOCKET_PROD and CY_U3P_PIB_SOCKET_1. DMA channel create mode is CY_U3P_DMA_TYPE_MANUAL_OUT. this is fx3 passer command to write data to extern FPGA with P-port( use GPIF II master desgin )
3. CY_U3P_PIB_SOCKET_0 and CY_U3P_UIB_SOCKET_CONS_6. DMA channel create mode is CY_U3P_DMA_TYPE_AUTO. this is fx3 passer command to read data from extern FPGA with P-port.
4. CY_U3P_CPU_SOCKET_PROD and CY_U3P_UIB_SOCKET_CONS_6. DMA channel create mode isCY_U3P_DMA_TYPE_MANUAL_OUT CY_U3P_DMA_TYPE_MANUAL_OUT. this is fx3 passer command to send data from cpu to endpoint 0x86.
In my case, i use CyU3PDmaChannelDestroy function to transform dam mode but destroy dma need to spend too much time
How do I choice which use multi channel DMA mode to design for my need?
all
Thank you!!
Show LessWhen EZ-USB CX3 is powered by USB, how to judge whether CX3 is in normal working state? When the USB is connected to the computer, the computer does not respond, that is, it fails to enumerate the USB. What should I do?
Show LessHi
We are working on a solution that involves i2C communication between the XC7A35T-1FTG256C and FX3 DK and are experiencing problems reading data from the FPGA register.
The issue is that the FX3 does not release the Bus after sending the device address followed by a read bit to the FPGA.
The register we are reading from is 0x40 and has one byte of data. The i2C read code is as follows:
CyU3PReturnStatus_t Status;
CyU3PI2cPreamble_t preamble;
preamble.length = 3;
preamble.buffer[0] = 0xA2; // i2C write address
preamble.buffer[1] = 0x04;
preamble.buffer[2] = 0xA3; // i2C read address
preamble.ctrlMask = 0x0002;
uint8_t buffer[] = {0};
Status = CyU3PI2cReceiveBytes(&preamble, (uint8_t *)&buffer, 1, 0);
CheckStatus("I2C_Write", Status);
I have attached an image of the results we get from the signal analyzer.
How do we implement the i2C read transaction in such a way that it releases the bus after sending the read address to the FPGA?
Thanks
Show LessI want to achieve an interrupt timer, how to achieve it?
I have seen from the data that it can be implemented by GPIO interrupt, but it can't generate interrupt. Here is my code:
//Initialization code:
CyU3PGpioClock_ t gpioClock;
CyU3PGpioComplexConfig_ t gpioConfig;
CyU3PReturnStatus_ t apiRetStatus = CY_ U3P_ SUCCESS;
/* Init the GPIO module */
- gpioClock.fastClkDiv = 2;
- gpioClock.slowClkDiv = 0;
- gpioClock.simpleDiv = CY_ U3P_ GPIO_ SIMPLE_ DIV_ BY_ 2;
- gpioClock.clkSrc = CY_ U3P_ SYS_ CLK;
- gpioClock.halfDiv = 0;
apiRetStatus = CyU3PGpioInit(&gpioClock, CyFxGpioIntrCb);
CyU3PGpioComplexConfig_ t gpioComplexConfig;
- gpioComplexConfig.outValue = CyFalse;
- gpioComplexConfig.inputEn = CyTrue;
- gpioComplexConfig.driveLowEn = CyFalse;
- gpioComplexConfig.driveHighEn = CyFalse;
- gpioComplexConfig.pinMode = CY_ U3P_ GPIO_ MODE_ STATIC;
- gpioComplexConfig.intrMode = CY_ U3P_ GPIO_ INTR_ TIMER_ THRES;
- gpioComplexConfig.timerMode = CY_ U3P_ GPIO_ TIMER_ POS_ EDGE;
- gpioComplexConfig.timer = 0;
- gpioComplexConfig.period = 0x00000001; // Reset after each interrupt
- gpioComplexConfig.threshold = 0x00000001; //Generate interrupt every 125us
apiRetStatus = CyU3PGpioSetComplexConfig(GPIO_ TIMER, &gpioComplexConfig);
if (apiRetStatus != CY_ U3P_ SUCCESS)
{
vJackyTestPrintErr("CyU3PGpioSetComplexConfig failed: %d\n",apiRetStatus);
}
/*****************************************************/
//Interrupt callback function:
/****************************************************/
void CyFxGpioIntrCb (
uint8_ t gpioId /* Indicates the pin that triggered the interrupt */
)
{
if(GPIO_ TIMER == gpioId)
{
dwTimeCountNow++;
if(dwTimeCountNow>TIME_ COUNT_ MAX)
{
dwTimeCountNow = 0;
}
}
}
/*******************************************/
//How can timer interrupt be generated? If GPIO can interrupt timer, is there a problem with my code?
//I'm looking forward to the teacher's reply
Show Less