USB superspeed peripherals Forum Discussions
Dear Sir,
I use usb control center to download USBBulkSourceSink, control center cannot show this program , and then cannot run Streamer to test BULK IN test.
I had tested this in SDK 1.3.3 days ago, does anybody meet the same issue?
Best,
Show LessHow should I develop Mass Storage device using CYUSB3KIT-003 EZ-USB® FX3™ SuperSpeed Explorer Kit? Kindly provide me with an overall hint as i am a beginner to this field. Thanks
Show LessHi Guys,
does FX3 have flip/mirror functions?
the signals output to the HDMI is correct, but the FX3 windows(uvc,opened with amcap.exe) is flipped and mirrored.
they both come from the same DSP output. (parallel RGB 888 format)
Show Less
Hello,
I am just starting to play around with CY7C68013A. I have a very simple board and I am trying to build Bulkloop_SDCC template project. I am very confused when I try to build this project. I get many errors when I open any of the .c file in the projects (as long as I don't take a look at the code not error shows up). When I try to build it, it builds it very quickly.
here is the console: (the project name is "projectName")
16:05:23 **** Incremental Build of configuration Release for project projectName ****
make -k
Building file: ../EZRegs.c
Invoking: SDCC Compiler
make: Interrupt/Exception caught (code = 0xc00000fd, addr = 0x4227d3)
16:05:24 Build Finished (took 189ms)
I don't really know what's going on. I am very new to this subject. Can you advice?
Show LessHi,
[0] I am trying to get the CX3 to work with our own mipi camera ( RAW 8 bit 4224x3136 pixels (432 Hblank and 6236 Vblank), 108 mhz clock (so 216Mhz bit rate), 4 lanes, 2.2 fps), currently using an Econ Denebola baseboard.
I have used the eclipse tool to generate a configuration for that and merged the results with the Denebola demo code and the Cx3UvcOV5640 code present in the Cypress SDK.
Unfortunately so far the DMA callback function is not called.
Things I checked:
- If i use the camera with the exact same settings as i am using now on the devboard accompanying the camera it works (so camera is outputting something useful over the MIPI bus). Also verified the mipi bus with scope and all seems ok.
- If i enable the CyCx3AppMipiErrorThread to print the results of the CyU3PMipicsiGetErrors function i get all 0's. But if we short eg a data line the error counters go up. So i am pretty sure the MIPI block thinks it is (somewhat) working. It would be useful to have a better indication of this though.
- I also print the CyU3PMipicsiQueryIntfParams result params in the loop, these always are what i configured them to be
- If i do a CyU3PGpifGetSMState in the CyCx3AppMipiErrorThread loop, it prints that the GPIF is in state 2 all the time. Looking at cyu3mipicsi.h this corresponds to #define CX3_WAIT_FOR_FRAME_START_SCK0 2, so it seems the GPIF block never got going.
- If i use CyU3PDmaMultiChannelGetStatus i get state 2 (CY_U3P_DMA_ACTIVE) for both sockets 0 and 1 and prodXferCount = consXferCount = 0. If i check the contents of the DMA buffers then nothing changes in there (but if GPIF is not working as detected in the previous step then this is logical).
So first guess is that there is something going wrong between MIPI bus and GPIF block. Is there anything else i can check to get a better idea what is going on there ?
Related questions:
[1] To put the gpif in pauze mode there seem to be 2 different functions
Generated code (by exclipse tool):
/* Start the state machine. */
status = CyU3PGpifSMStart (CX3_START_SCK0, ALPHA_CX3_START_SCK0);
...
/* Pause the GPIF interface*/
CyU3PGpifDisable(CyFalse);
Refcode:
/* Start the state machine. */
status = CyU3PGpifSMStart (CX3_START_SCK0, ALPHA_CX3_START_SCK0);
...
/* Pause the GPIF interface*/
CyU3PGpifSMControl(CyTrue);
/* Resume the Fixed Function GPIF State machine */
CyU3PGpifSMControl(CyFalse);
Is the generated code correct ? Because after the disable there is no more "start", but maybe the CyU3PGpifSMSwitch function will also reenable the gpif ? ?
[2] In the CX3 TRM it is stated
"Packing more than one pixel per PCLK is possible. For example, selecting the “MIPI CSI input -Data format"
configured as "RAW8" and the “MIPI interface configuration – data format” as a 24bit format (RGB888) will
output three pixel data per PCLK. Similarly, two 10 bit or 12bit pixels can be packed and output per PCLK
using the 24 bit output format."
But i cannot find anywhere how I can do this ?
[3] The TRM only documetns a few of the MIPI i2c accessible registers.
Can i find documentation somewhere regarding:
#define CY_U3P_MIPICSI_REG_GPIOEN (0x0E)
#define CY_U3P_MIPICSI_REG_GPIOIN (0x12)
#define CY_U3P_MIPICSI_REG_PHYCLKCTL (0x56)
#define CY_U3P_MIPICSI_REG_PHYDAT0CTL (0x58)
#define CY_U3P_MIPICSI_REG_PHYDAT1CTL (0x5A)
#define CY_U3P_MIPICSI_REG_PHYDAT2CTL (0x5C)
#define CY_U3P_MIPICSI_REG_PHYDAT3CTL (0x5E)
#define CY_U3P_MIPICSI_REG_PHY_STAT (0x62)
#define CY_U3P_MIPICSI_REG_CSI_STAT (0x64)
#define CY_U3P_MIPICSI_REG_CSI_ERR_EN (0x66)
#define CY_U3P_MIPICSI_REG_MDLSYN_ERR (0x68)
#define CY_U3P_MIPICSI_REG_CSI_DID (0x6A)
#define CY_U3P_MIPICSI_REG_CSI_DID_ERR (0x6C)
#define CY_U3P_MIPICSI_REG_CSI_PKTLEN (0x6E)
#define CY_U3P_MIPICSI_REG_CSIRX_DPCTL (0x70)
#define CY_U3P_MIPICSI_REG_FRM_ERR_CNT (0x80)
#define CY_U3P_MIPICSI_REG_CRC_ERR_CNT (0x82)
#define CY_U3P_MIPICSI_REG_COR_ERR_CNT (0x84)
#define CY_U3P_MIPICSI_REG_HDR_ERR_CNT (0x86)
#define CY_U3P_MIPICSI_REG_EID_ERR_CNT (0x88)
#define CY_U3P_MIPICSI_REG_CTL_ERR_CNT (0x8A)
#define CY_U3P_MIPICSI_REG_SOT_ERR_CNT (0x8C)
#define CY_U3P_MIPICSI_REG_SYN_ERR_CNT (0x8E)
#define CY_U3P_MIPICSI_REG_MDL_ERR_CNT (0x90)
#define CY_U3P_MIPICSI_REG_FIFO_STAT (0xF8)
Thanks!
Show LessIn my application, I2C flash memory will be used for FX3 firmware image. At the same time, I have I2C interfaced temperature sensor that FX3 need to interface. Besides the temperature, I have some user logging data needs to be stored to another I2C flash memory. Can I use I2C to access the temperature sensor and to access another I2C flash memory for logging data write and read?
Thanks,
Show LessHI,
Is it possible to change defult state of the GPIO pins(in bootloader mode)?
During bootloader mode, GPIO 51 held in LOW. is it possible to change to high or tristate?
Regards,
Malik
Show LessHi,
I have successfully streamed RAW10 from the OV5647 sensor and thought it would be an easy matter to reduce that to RAW8. It has not been. I referenced this post Streaming RAW8 or RAW10 using CX3 which shows success with a different sensor in 5MP mode, but I cannot replicate it.
I have the sensor register 0x3034 set to 0x18 (RAW8),
The MIPI format is RAW8,
The bus width is 8,
The sensor is 1080p (1920x1080x30fps),
The USB header bit rate is 1920x1080x8*30,
Frame size is 1920x1080 bytes,
Frame interval is 10000000/30,
The GUID is RGB565 (have also tried YUY2),
Bits per pixel is 8 (have also tried 16),
The article I mentioned above seems to contain conflicting settings:
- Camera settings: 2592x1944, RAW8, 15FPS
- MIPI Configuration: RAW8, hResolution = 2592
- GPIF Bus: 8 bits
- Probe control settings: max bytes per frame = 2592x1944
- USB descriptor: RGB565, 16bpp, frame size = 2592x1944, bit rate = 2592x1944x15x8
I would expect the bit rate to be 2592x1944x15x16, not 2592x1944x15x8 as shown above, so I guessed that they were maybe using different bit values to compute the bit rate than are listed in the bits per pixel field, so I tried that too.
The VSYNC and HSYNC test points are not correct. HSYNC has a bunch of negative going pulses during what should be the vertical retrace period, and HSYNC is very erratic.
Any thoughts appreciated,
Scott
Show Lesshi,
I have some problem when I use "CyUSB.dll", when I run my app, the first run it, everything is ok, but for the second time, I got a message, I don't know what's that mean, could anyone help me fix it.
Han
Show Less