USB superspeed peripherals Forum Discussions
text.format{('custom.tabs.no.results')}
Hello dear Cypress community,
I'm currently trying to use a JTAG SEGGER J link probe to debug the CX3RDK_OV5640 firmware. I have the known error of bad JTAG communication while passing over the CyU3PDeviceInit(NULL) :
ERROR: Bad JTAG communication: Write to IR: Expected 0x1, got 0x3 (TAP Command : 15) @ Off 0x1053.
I have found the fix topic and followed the recommended configuration to change the CPU clock :
But unfortunately, even with this correction I'm still getting the same error message in the end :
ERROR: Bad JTAG communication: Write to IR: Expected 0x1, got 0x3 (TAP Command : 15) @ Off 0x1053.
I tried both CPU clock configurations (0x00080014 and 0x00080015) and it still results with the same error message.
Am i missing something in the configuration steps ?
Thank you in advance for helping me solving this bug.
Best regards,
Vivien
Hi,
I have to transfer data from FX3 to FPGA and here i'm using AN65974 State Machine.In SM i'm using OUT_REG_CR_VALID and DMA _RDY_CT actions ,by using OUT_REG_CR_VALID i'm able to receive first 2 bytes of data in FPGA and with DMA _RDY_CT i'm getting last two bytes of data.
Find the attached snapshot below,
I'm also Refering KBA "Configuring Serial OUT Interface in GPIF of FX3 – KBA228346" based on this KBA i'm changing gpif file manually for data out to FPGA.
My question is why i'm getting this type of result and what is the function happening here?
Anyone let me know about this problem.
Regards,
Sai Kumar
Show LessI am trying to get this frequency in order to synchronize the CX3, on the Denebola board, with the image sensor on the e-CAM59CX3 Daughter board . I have the following configuration in mipicsi.c file:
*********************************************************************************************************
/* OV5640_YUY2_1080p : */
CyU3PMipicsiCfg_t OV5640_YUY2_1080p =
{
CY_U3P_CSI_DF_YUV422_8_2, /* CyU3PMipicsiDataFormat_t dataFormat */
2, /* uint8_t numDataLanes */
1, /* uint8_t pllPrd */
62, /* uint16_t pllFbd */
CY_U3P_CSI_PLL_FRS_500_1000M, /* CyU3PMipicsiPllClkFrs_t pllFrs */
CY_U3P_CSI_PLL_CLK_DIV_8, /* CyU3PMipicsiPllClkDiv_t csiRxClkDiv */
CY_U3P_CSI_PLL_CLK_DIV_8, /* CyU3PMipicsiPllClkDiv_t parClkDiv */
0xFFFF, /* uint16_t mClkCtl */
CY_U3P_CSI_PLL_CLK_DIV_2, /* CyU3PMipicsiPllClkDiv_t mClkRefDiv */
1920, /* uint16_t hResolution */
50 /* uint16_t fifoDelay */
};
**********************************************************************************************************
Whith this setup I can obtain the following clock frequencies, just chaging the CyU3PMipicsiPllClkDiv_t mClkRefDiv field:
CY_U3P_CSI_PLL_CLK_DIV_8 -> 147.65khz
CY_U3P_CSI_PLL_CLK_DIV_4 -> 295.32503khz
CY_U3P_CSI_PLL_CLK_DIV_2 -> 590.62530khz
So, I would like to know if it is possible to obtain this 24 Mhz performance or a near value.
Thank you so much!!!
Show LessHi,
I'm trying to write my custom FW update tool for FX3 based on example app for Visual studio.
Particularly, I want to provide visual progress bar displaying current progress of burning I2C EEPROM.
Here are some things that aren't quite clear for me so I'll be glad to get help:
1) CyAPI.h contains class "CCyFX3Device" but only DownloadFW() and IsBootLoaderRunning() methods are documented. What about all other methods?
e.g. DownloadBufferToDevice?
2) "CCyFX3Device" extends class "CCyUSBDevice". Which of its methods are used for DownloadFW()? Can I get the source of DownloadFW?
3) Can I get the sources of CyBootProgrammer.img?
Thanks,
Leonid
Show LessHi Rashi,
we did some progress since the last message:
Fixed Cx3 Configuration utility -> language english needed.
HSYNC and a VSYNC signals are available now for approximately 3-5 seconds (oscilloscope pictures attached)
Therefore we edited the CyCx3AppImageSensorSetVideoResolution function (added CyU3PMipicsiReset(CY_U3P_CSI_HARD_RST); CyU3PMipicsiInit(); CyU3PMipicsiSetIntfParams (&null_RAW10_1080P, CyFalse); CyU3PMipicsiSetPhyTimeDelay (1,10); CyU3PMipicsiWakeup(); CyU3PMipicsiSetSensorControl (CY_U3P_CSI_IO_XRES, CyTrue); before the single streaming register was set)
Currently the USB frame request stopps within the state machine either in State 5 or 7. There seems to be a Problem with the !FV Signal. Is this a configuration error with the number of lines/ blank lines ? I attached our current code.
Debugg messages for state machine problem:
KOLJA: CyCx3AppImageSensorSetVideoResolution started.
KOLJA: USB SuperSpeed chosen.
KOLJA: resolutionIndex set to: 1
KOLJA: switch case 0x01 (1080p) chosen.
Kolja: Hard Reset
Set the MIPI interface parameters
KOLJA: null_RAW10_1080P config loaded.
KOLJA: PHY Delay successfully set to (1,10).
KOLJA: Configuring 1080P Stream.
Register 0x0100 (Streaming:1): 0
KOLJA: Activated Camera (Streaming).
Register 0x0100 (Streaming:1): 1
KOLJA: Finished configuring 1080P Stream.
KOLJA: MIPI Configuration on CX3:
dataFormat: 1
numDataLanes: 2
pllPrd: 2
pllFbd: 89
pllFrs: 1
csiRxClkDiv: 1
parClkDiv: 1
mClkCtl: 0
mClkRefDiv: 2
hResolution:-0
KOLJA: Whole: 20201
AplnStrt:SMState = 0x2
KOLJA: Wake up call.
KOLJA: MIPI Active.
USB-Request: bRType = 0x2, bRequest = 0x1, wValue = 0x0, wIndex = 0x83, wLength= 0x0
AplnStop:SMState = 0x7
USB-Request: bRType = 0xA1, bRequest = 0x87, wValue = 0x1400, wIndex = 0x100, wLength= 0xA - Video Control Request
USB-Request: bRType = 0xA1
Kind regards,
Philipp and Kolja
Show LessAny tips how how to shrink down the size of the images made from the ez usb suite? This is particularly useful when using fail safe boot mode which will only allow approximately 118k bytes per image on a 2mB EEPROM.
Thanks!
Show LessHi,
I am using Serial out GPIF II. I know that it is only support LSB first and it is only on 8-bit.
So when i used 32-bit data width also it send from LSB on each 8 bit not whole 32-bit.
for example, for 0x3F0158F1, I can see in serial out(pin 15): 11111100 10000000 00011010 10001111
is there any way that I could sent LSB first(or MSB ) on 32-bit?
Thanks
Trying to use the FX3 to capture images from OnSemi image sensor and have few questions - could not find answer in the docs or forums. I use the image sensor in trigger mode, so need to read only 1 image upon request. The image size is known. For example: the buffer size of monochromatic image of 768X768 pixels is 768X768X2 = 1179648 bytes (16 bits per pixel) I use a GPIF to USB bulk manual channel to capture the image. Knowing this size: What should be the buffer size associated with the channel? (i now use size of 16*1024) What should be the number of buffers allocated to the channel (I use 4) What should be the packet size (I use 1024) When capturing images of 512X512 it works well. But when capturing images of 768X768 and bigger, the received buffer is made of 15-20 last lines of the previous image, and the rest are lines of the currently captured image. There is some sync problems between the captured and received buffers.Can anyone help with this?
Show LessHi,
I am using the Cypress Fx3 development kit(CYUSB3014) for my application.
Here, I'm facing a booting problem after updating firmware image file. As i am using second stage boot loader method to update the firmware and cypress EZ-USB SDK to build the code, after building the code if the disk image file size exceeds more that 168KB I'm facing this issue(As per cypress data sheet the maximum code size can be of 512KB). Second stage boot loader image file size is of 19KB.
So can you help me to find the root cause for this ASAP.
Thanks & Regards
Harsha
Show LessHi,
I'm trying to make the FX3 in the field programmable without having the need for the user to control jumpers.
The obvious thing that pops up in my head (having thought about it only very briefly) is controlling the PMOD signals with my FPGA.
The FX3 in my circuit is connected to a spartan 7 xilinx.
This seem doable but might introduce startup timing issues etc...
If I'm not mistaken...you CAN give a reset commando in the FX3s firmware that takes it through the bootloader again.
Surely, there must be an easy and cheap method i'm not thinking of right now to also set the PMODs from software?
Thanks!
Show Less