USB superspeed peripherals Forum Discussions
Good day.
Now, we made our custom video camera on chip Cypress CX3 and optical sensor ov5640.
We took a "Denebola" debugging kit, its scheme and software as a sample.
During operation, the device is normally identified as a UVC device.
All the settings are available (brightness, color, resolution selection, ...)
There is communication with the sensor on the line I2C.
But there is no transmission of video information, that is, the media player window shows: 0 fps and black screen...
Please, Tell me, what could be the cause of this phenomenon?
Bad contact or lack of contact between the sensor and the cypress chip along the MIPI lane? Distortion signal MIPI?
Tell me, please, is it possible to programmatically check whether the correct mipi signal comes from the sensor OV560 to the cypress CX3?
PCB makers say they did everything right.
Show LessQ1) CY4500を使用て取得可能な、EZ-PD Analyzer Uyility logの”Message"について、GoodCRCとPS_RDYがありますが、下記の様な理解していますが正しいでしょうか?
「GoodCRC」は、前に送信されたメッセージに対して、メッセージIDを返す事で、送り側が正しく受信された事を認識可能な手段。
「PS_RDY」は、ソースからシンクへ、電力の変更等が行われたことを通知する為のメッセージ
Q2)EZ-PD Configuration Utilityの設定に、PDO-Sink PDOーSink PDO 0 + Sink PDO 1,,,,,という項目がありますが、Sink PDOで設定した複数のSink側の電圧値(PDO 0, PDO 1, PDo 2......)で、幾つかのパワーSINKの電圧設定をしていますが(ex PDO 0: 5V, PDO 1:9V, PDo 2: 15V,,)この時最初に受けられる電圧の順番はどのように決まりますでしょうか?
例えば、PDO 0で設定した5Vが優先になるというような事はあるのでしょうか?
マクニカ 荒井
Show LessHello,
I'm trying to transfer around 100MHz of binary data through GPIO pins of CYUSB3014 kit3 to USB 3.0 port and get the output on system but im not getting which GPIO pin to be used as its high frequency data and which code example to be used to see demo.
Please suggest
Show LessDear 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 Less