USB superspeed peripherals Forum Discussions
Hello,
I'm trying to develop a custom module.
The module has embedded data but I cannot receive the data that I expected.
In order to check EMB data, I modified a BulkLoop example to print some logs as below.
I expected "Phase Idx" 0, 1, 2, and 3 should be repeated but they didn't.
At first, I thought I'm able to use "CyU3PDebugPrint()" function.
However when I added that function to DMA callback function which names CyCx3UvcAppDmaCallback(), the firmware didn't work.
I want to check the DMA buffer to make sure that the firmware is no problem.
In this case, how can I access the DMA buffer to check values?
or Is there any way to check the EMB data?
Thank you.
Show LessHello,
We want to use CyU3PMipicsiSetSensorControl(CY_U3P_CSI_IO_XRES,CyTrue); in the BootLedBlink example main.c line 83.
We attached also the source code .The result when compile is:
*** Incremental Build of configuration Debug for project BootLedBlink ****
cs-make all
'Building target: BootLedBlink.elf'
'Invoking: Cross ARM C Linker'
arm-none-eabi-gcc -mcpu=arm926ej-s -marm -mthumb-interwork -O0 -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -Wall -g3 -T "C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\/fw_build/boot_fw/cyfx3.ld" -nostartfiles -Xlinker --gc-sections -L"C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\/boot_lib/1_3_3/lib" -L"C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\/fw_lib/1_3_3/fx3_debug" -L"C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\ARM GCC\/lib/gcc/arm-none-eabi/4.8.1" -L"C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\ARM GCC\/arm-none-eabi/lib" -Wl,-Map,"BootLedBlink.map" -Wl,-d -Wl,-elf -Wl,--no-wchar-size-warning -Wl,--entry,Reset_Handler -o "BootLedBlink.elf" ./I2C.o ./cyfx_gcc_startup.o ./main.o -lcyfx3boot -lcyu3mipicsi -lc -lgcc
C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\/fw_lib/1_3_3/fx3_debug\libcyu3mipicsi.a(cyu3mipicsi.o): In function `CyU3PMipicsiRegisterRead':
cyu3mipicsi.c:(i.CyU3PMipicsiRegisterRead+0x54): undefined reference to `CyU3PI2cReceiveBytes'
cyu3mipicsi.c:(i.CyU3PMipicsiRegisterRead+0x68): undefined reference to `_tx_thread_sleep'
C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\/fw_lib/1_3_3/fx3_debug\libcyu3mipicsi.a(cyu3mipicsi.o): In function `CyU3PMipicsiRegisterWrite':
cyu3mipicsi.c:(i.CyU3PMipicsiRegisterWrite+0x50): undefined reference to `CyU3PI2cTransmitBytes'
cyu3mipicsi.c:(i.CyU3PMipicsiRegisterWrite+0x64): undefined reference to `_tx_thread_sleep'
C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\/fw_lib/1_3_3/fx3_debug\libcyu3mipicsi.a(cyu3mipicsi.o): In function `CyU3PMipicsiSetSensorControl':
cyu3mipicsi.c:(i.CyU3PMipicsiSetSensorControl+0xbc): undefined reference to `_tx_thread_sleep'
c:/program files (x86)/cypress/ez-usb fx3 sdk/1.3/arm gcc/bin/../lib/gcc/arm-none-eabi/4.8.1/../../../../arm-none-eabi/bin/ld.exe: BootLedBlink.elf: hidden symbol `CyU3PI2cReceiveBytes' isn't defined
c:/program files (x86)/cypress/ez-usb fx3 sdk/1.3/arm gcc/bin/../lib/gcc/arm-none-eabi/4.8.1/../../../../arm-none-eabi/bin/ld.exe: final link failed: Bad value
collect2.exe: error: ld returned 1 exit status
cs-make: *** [BootLedBlink.elf] Error 1
12:55:48 Build Finished (took 2s.213ms)
How can we use this function in bootledblink example?What do we have to include or to configure?
Thanks in advance!
Show Less
Hi,
We use FPGA+CYUSB3014 for image capture and the register of camera are controlled by IIC port of CYUSB3014.
Recently we found that the speed of IIC is much lower in WIN 10 system than in WIN 7 system. Maybe more than ten times.
Any experience for this problem, please tell me the reason.
Thanks
Show LessHello,
I am interested in using the Cypress FX3 as a mechanism to communicate with our FPGA. I basically need a method for two communication platforms:
1. FPGA will stream data out to an ARM processor connected via USB (through the Cypress FX3)
2. ARM processor needs to be able to read some registers (BRAM) on the FPGA through the same USB link and be able to set some registers (BRAM) to dictate what the FPGA will stream out.
I am following the information in the document AN65974 - Designing with the EZ-USB® FX3™ Slave FIFO Interface (cypress.com) and I can see that there is a pathway for me to do #1. The "FX3 Slave interface" described in an example like below seems to be a way of me to transfer data out of the FPGA using the "EP1_IN" interface.
However, what I am wondering is how to implement #2 - it is certainly possible to do it via some sort of opcode based protocol using EP1_OUT but what I risk doing in that respect is now data in EP1_IN is containing different streams of input data sources that need to be multiplexed in the USB Host (the ARM Core).
Is there perhaps a more elegant solution to do what I am describing? I saw that there is capability for an I2C and SPI interface on the FX3, but I am not too sure what this refers to. Does this appear like a SPI or I2C interface to the FPGA? Something like that could work - so the I2C/SPI interface is used as my #2 requirement.
Thanks for the help!
Prateek
Show LessHello. We are working on a product that is embedding during the development phase a Cypress CYUSB3KIT-003 EZ-USB® FX3™ SuperSpeed Explorer Kit (https://www.cypress.com/documentation/development-kitsboards/cyusb3kit-003-ez-usb-fx3-superspeed-exp...) and the OV5640. We got the NDA from OmniVision and signed it. Can anyone contact me to get the source code for OV5640 please?
Show LessHello,
I'd like to add a new custom camera on CX3.
Is a cycx file required to get MIPI stream?
the reason why I ask this question, I found a project which receives RAW10 bit image but it doesn't have a cycx file.
I want to make a project which receives RAW12 image.
in that case, Is it possible to modify CX3 receiver configuration in the source code?
If possible, is it right to modify the below struct?
I made a dummy project and modified some parameters like the below image.
Thank you in advance.
Show LessWe send data from FPGA to FX3 with constant data rate(~390MB/s). We use GPIF FlagA as busy signaling and from time to time FlagA declares busy (Not empty) for longer period ~300-400us instead of 10-20us, but we have some buffer on FPGA side and it can cover this delays. We have installed SDK 1.3.4, rebuilt FX3 firmware and now delay with the same setup can be up to 1ms, which our buffering can't handle.
We use bulk endpoint, DMA auto channel, 32KB x 8 buffers.
Would you be so kind giving us information about buffets handling with SDK 1.3.4 and why it differs with SDK 1.3.3?
Regards
Show Less
I am looking for a sample application that would load firmware into ram through uart and branch to it.
Would you have any kind of code that does that?
Thanks
Show Lesshello,
I have added the hid function to the AN75779.
I receive data sent from other chips via the serial port of the fx3 and send it to the pc via hid.whenever I send data to the fx3 via the serial port, the video transmitted by the uvc to the pc drops frames;
I use reg mode for my serial port and receive data with CyU3PUartReceiveBytes;When I block out the function CyU3PUartReceiveBytes(count = CyU3PUartReceiveBytes (UartDataBuffer, 5, &status)) and only receive the interrupt command (CY_U3P_UART_EVENT_RX_DATA) from the cpu sending data to hid, the video will not drop frames,.
It seems that the video frame drop is generated by the CyU3PUartReceiveBytes function, how should I solve this problem?
CyFxUartLpApplnCallback (
CyU3PUartEvt_t evType,
CyU3PUartError_t evStatus)
{
if (evType == CY_U3P_UART_EVENT_RX_DATA)
{
count = CyU3PUartReceiveBytes (UartDataBuffer, 5, &status);
if(count!=0)
{
CyFxHidSendReport ();//referenct hid example
}
}
}
Show Less