USB superspeed peripherals Forum Discussions
Dear,
We use EZ-USB FX3 UVC cyusb3014, Source code is base the "AN75779 project.
We want to change bulk mode to isochronous, but failed. Could you help us to set it?
Thank you very much!
Attachment is our code.
Jun
Show LessI want to configure some GPIO as pwm signals, but a don't know how to do it. For this reason, i have the following questions:
-first of all, I have seen that GPIOs have two different configurations: simple and complex. But, all GPIOs are able to work with both configurations?
-Secondly how are the functions to configure a GPIO as pwm output signal?. In order to set the duty cycle or frequency.
Thanks for the support.
Show LessHello
For the purpose of confirming the debug/test function of CX3/FX3 EZ-USB in the board design
Q1) Are there any other internal signal monitoring functions such as CX3 PCLK_TP, HSYNC_TP, VSYNC_TP?
For example, RESET, CLK, other operating strobe monitor signals, etc.
Q2) Are there any test/debug functions/method that users can use to debug FX3/CX3 mounted circuits or circuit boards?
Best Regards
Arai
Show LessHi,
As the CX3 supports Multi-Master mode of I2C, it's possible to connect another I2C master on the same bus (CX3-Sensor).
I would like to send direct I2C commands from Aardvark, for example, to the sensor for configuration.
What will be the best option?
1. Use the multi-master mode option and just connect another master. Are there any required configuration in the CX3 to support it?
2. Mux the I2C signals to the sensor?
Thanks,
Matan
Show LessHello,
I am trying to send valid address to my fx3 device.Firmware I use is AN65974, and the state machine is SyncADMUx. The board I'm using is cyusb3kit-001, and I'm using xilinx spartan SP605 conifgured as master.
The fx3 device is stuck at IDLE state, sending data over USB Control Center doesn't help.
In the project manager (part of xilinx web pack) I've tried to set data but to uninitialized (U value) and after this i cant change to ADDR state from IDLE.
below I'm sending fragment of my vhdl code
In attachment I'm sending my project for fx3 board (USBBulkSourceSink.rar) and for fpga board (SyncADMux.rar)
Regards,
Mateusz
Show LessHi,
I developed an application to boot from SPI. This app works in all the board we have tested except in one. For some reason this board it is always on DFU mode. Is there a way to fix this I need it to boot from SPI.
This is what I see when I run lsub on linux : 04b4:00f3 Cypress Semiconductor Corp. FX3 micro-controller (DFU mode).
I have checked the pmode pins many times, I do not know what else I can do.
Kind Regards
Show LessHi,
I prepared two FX3 development kits and wanted to test data transmission througn GPIF II interface. Refer to the following page:
https://www.cypress.com/documentation/code-examples/usb-superspeed-code-examples
I connected two FX3 development kits back to back over the GPIF II interface. Then downloaded firmware images without modification into RAM of the two FX3 devices.
I tried the following cases in USB Control Center:
1. Send data from Bulk out endpoint of slave board and receive data from Bulk in endpoint of master board
2. Send data from Bulk out endpoint of master board and receive data from Bulk in endpoint of slave board
For case 2, it seems OK. I can receive the same data as I sent from master board.
But For case 1, the data I received was different from I sent from slave board. The received data was same no matter what data I sent.
Show LessHello,
I created a CX3 project using the Eclipse tool for our custom camera. The Eclipse tool created an Endpoint-3 multi-socket DMA channel for the steaming data for our image sensor (I have replaced the manifest constants with the actual values for Super-Speed):
- dmaCfg.size = 0x8000;
- dmaCfg.count = 3;
status = CyU3PDmaMultiChannelCreate (&glChHandleUVCStream, CY_U3P_DMA_TYPE_MANUAL_MANY_TO_ONE , &dmaCfg);
Because we needed backward compatibility with our previous FX3 products, we created an Endpoint-1 IN and an Endpoint-1 OUT one-to-one socket DMA channel:
dmaCfg_EP1.size = 64;
dmaCfg_EP1.count = 8;
status = CyU3PDmaChannelCreate (&glChHandleBulkLpEP1, CY_U3P_DMA_TYPE_MANUAL, &dmaCfg_EP1)
The Endpoint-1 DMA call back function works perfectly until we call CyU3PMipicsiWakeup(). Once making the CyU3PMipicsiWakeup(), the Endpoint-1 DMA callback function works very slowly (like responding after hundreds of milli-seconds, or sometimes just stops responding completely). Currently, our video DMA callback function is not working very well and often times-out and does an Endpoint-3 DMA reset. I’m thinking that these DMA timer resets is what allows the Endpoint-1 callbacks to occasionally work.
How we can get the Endpoint-1 DMA callback to never be called (USB requests to Endpoint-1 hangs) is:
- Disable the Endpoint-3 DMA timer reset (the Eclipse manifest constant is "RESET_TIMER_ENABLE").
- Do not setup a read buffer for Endpoint-3 (streaming video IN endpoint). I'm assuming this will cause the CX3 Endpoint-3 Producer and Consumer buffers to overflow.
- Call CyU3PMipicsiWakeup.
If you do the above three steps, this will cause the Endpoint-1 DMA callback to never happen.
Questions:
a. When you create different DMA channels, are the separate DMA channels interconnected? In other words, can one DMA channel cause another DMA channel to hang?
b. Is there a proper way to create a second DMA channel with the CX3? We have created multiple DMA channels with the FX3 with no issues.
Thank you.
Show Less你好,想請教一下
為什麼CYUSB3014的公版,這顆IC電源輸入都會上一顆BEAD。
(VDD, AVDD, U3RXVDDQ, U3TXVDDQ, CVDDQ, VIOs )
幾乎是所有的電源入端都會串一顆BEAD。
請問,這些BEAD使用的目的是擋掉CYUSB3014對外的EMI,還是電源濾波使用。
如果是電源濾波使用,是否應該也要考慮到電源經過BEAD後反而可能產生的LC振盪的問題。
這些BEAD拿掉或是加一顆0電阻,是否可以。這些BEAD是否真的有必要加入。
感謝回覆。
Show LessHello,
First of all, I would like to say a big thank you for all the content available through your website and the help that you are giving to the community.
You've made a wonderfull job and I learnt and continue to learn a lot from that!
I'm trying to developp an image sensor firmware using a custom board I also made.
The hardware is pretty much a CYUSB3064 + an OV9782.
I do not have a development board which could allow to debug the OV9782 directly through an UART interface.
However, I do have a CX3 Denebola development kit with an OV5640 which is helping me discovering this firmware creation universe.
All this things are new to me, and it's sometimes taking a bit of time for me to understand the ins and outs without external support.
So the idea for now is to add a USB debug interface to an Image sensor firmware.
Anyway, from that context, I'm currently trying to add the USBDebug (example available in Cypress SDK installation) interface to the CX3RDK_OV5640 example (available online too). After long hours discovering the descriptors and how they work, I have been able to succesfully add a new interface/endpoint to my project.
I can detect that new endpoint through a USB viewer, I was also able to install the same driver than in the bulkloop example and detect the interface in the Control Center.
I'm now blocking on sending DebugPrint messages through this new interface.
It seems that it is not sending anything through this new interface.
First question, is what I'm trying to do feasible?
Second, is my way to do it the correct one?
Third, could I share my project to let you have a look?
Thanks a lot for your help!
Greg
Show Less