Here is the thing that I 've bought an CYUSB3KIT-003,and I used it in slave fifo mode. I used FLAGA and set it to gpio_21. As I understand it, gpio_21 is connected to the CTL_4 pin of the board so it should be logic 0 after the board is booted, however , its voltage was about 0.9V.
How is it happen?Show Less
For my project, I'm currently using the FX3 (CYUSB3014) and looked into the SPI GPIO bit banging example as reference for the bit banging approach and given my timing requirements, it seems that we would need a delay less than a microsecond in between bits. From the looks of it, the smallest delay that can be used is with the CyU3PBusyWait (1uS). Is it possible to sample the logic levels of the GPIO pin/s with smaller delays and perform bit banging at a faster rate?
I am developing an oscilloscope in-house. Currently, I am working on the Texas Instrument's ADS54J60evm and TSW14J56evm boards. My end goal is to display and format at least 500K samples captured.
Now, I had been using HSDC GUI to display the captured data from the TSW board; but due to fairly low number of samples displayed on HSDC GUI, I need to switch to a custom based GUI.
So, my first step is to capture the data from the CYUSB301X available on the TSW14J56evm board. Is it possible if you can share with me the python files or the way CYUSB301X is sending the data to the HSDC GUI?
According to table 31 in AN76405 "EZ-USB® FX3™/FX3S™ Boot Options" the state of GPIO a.k.a. CTL is "Tristate"
"while the bootloader is executing".
I have some questions related to that table.
1) What is meant exactly by "while the bootloader is executing"? Does this table apply when you just plug the EZ-USB board into USB, before loading any firmware, so when the device enumerates as "Cypress FX3 USB Bootloader Device"?
2) The document AN76405 states that the state of GPIO a.k.a. CTL is "Tristate". However, in the situation described under 1) I measure that GPIO is HIGH (in my case 3.3V). Is this correct? My PMODE pins [2,1,0] are low,high,high (USB boot).
The question is relevant, because I use GPIO as RESETN pin for an image sensor. When I first plug in the EZ-USB board into USB, I want GPIO to be LOW to keep the image sensor in reset, before I load the actual firmware over USB. I tried a weak external pull down on GPIO but that did not work, so it is definitely not in a TRISTATE condition as AN76405 suggests...
现有的架构是FPGA+CYUSB3014，原理图直接用的淘宝上的开发板，现在单独跑IN是没问题的，单独跑OUT也是没有问题的，单独跑IN或者OUT速度都能到400M/S，这个和开发板一致，但是IN和OUT一起跑就会挂掉，用淘宝上买的开发板就不会，现在烧录的FPGA固件以及USB固件都是一模一样的，差别在于开发板用的是Micro-B扁平的USB口，自己画的用的是方形USB B口，这个会有影响么？Show Less
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 Less
I am trying to change the descriptor of usbuart example to access to data in cdc and vendor at the same time.
I mean when I am sending data through uart to /from usb , I have access to data by control center as well. So I added vendor descriptor to that example with the same DMA channels, but nothing comes up in CC. Should I change anything else?
In device manger I can see that as a com port, but nothing appears in CC.
I attached the modified descriptor file.
This may have been placed in the wrong area but I am sure that will get figured out.
As the title says we are developing on a Cypress CX3 chip that we are viewing issues on that has been designed to be used as a camera board with 2 LED's. The board is set up with a USB-C connector. We are attempting to have a powered usb hub connect to the device and allow the host computer to trigger the hub to power up and stream images. However during a specific power up sequence the camera device will get locked into an unknown state and be unable to stream images. However we are able to see the device in the tree and still issue vendor commands.
How to reproduce the problem:
Using a powered hub we are able to 100% reproduce the issue by using the following steps ONLY with usb C to C cables. We cannot reproduce with C to A:
1. plug device into UNPOWERED USB hub w/ usb C to usb C cable
2. plug hub into UNPOWERED laptop w/ usb C to usb C cable
3. plug in power to usb hub
3. power on laptop
Data and information collected:
1. The device appears to get some sort of power to the CX3 chip on the order of 80mV and we have an LED attached to the device reset call that *appears to attempt to start a reset but does not complete*. This is an assumption. During normal operation we would have the laptop turned on. We would plug the device into the laptop and see a full white LED pulse and have the device do its reset.
2. Issuing a hard reset over I2C will reset the device and fix the issue. But we need to find out what is causing the issue and prevent it or understand why it is happening
3. Connecting UART into the device during the initial start up allows me to see the following dma errors:
4. Attempting to manually initialize the device through the API calls for the mipi and device initialization via a vendor command does not fix the issue.
5. Placing delays in the startup of the code does not prevent the initial startup from happening during power up of the hub
Any help or insight into how we could potentially get closer to our solution would be very appreciated. Thank you for your time and please let me know if I can provide any additional information to provide a more clear description of our issue.
I would like to put the XRST pin in high with the following function: CyU3PMipicsiSetSensorControl (CY_U3P_CSI_IO_XRES, CyTrue); but when I call any function that contains Mipi I get the following error:
Does anyone have any idea why? thank you
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 ****
'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!