USB superspeed peripherals Forum Discussions
Hello,
Is it possible to program SPI ROM for FX3 firmware without using Control Center?
If don't have any solution from cypress, how about any third party product?
Thanks
Show LessAccording to AN65974 (slave fifo interface) & AN87216 (master interface), I have burned your provided image - AutoMaster.img into one of FX3 , modified the source code and interface definition of slave fifo interface as below and burned that image into another FX3 board.
1. In cyfxslfifosync.h, change the DMA buf count to 16 and consumer_pport_socket to socket 1
2. In interface definition of slave fifo sync, revise the address bus to 2 and dma configuration as attachments.
Data can be sent or received from slave side but the number of data received by slave is incorrect. Refer to the attachment, data is transmitted by master (BULK OUT), a few more garbage data is received by slave (BULK IN) no matter how much data is transmitted by master, please kindly advise. Thanks.
Show LessI am working on CYUSB3KIT-003 to stream video to Host, but before that i am trying to own MJPEG still image and stream to host as given in the example project USBVideoclass, in which i finding difficulty in changing the MJPEG video data
Show LessHi, everyone.
I am using FX3 . Now i need use 2 GPIO pins to simulate the serial bus , one pin is clock out and the other is data out .
I set the GPIO as siample GPIO, and set the output value through their registers. In my test, the simulative max clock frequency is 1.03MHz.
So What is the max clock frequency that the GPIO can simulate? I need the clock faster.
Otherwise, Can the complex GPIO perform faster and simulate synchronous clock and data? I cant use other LPP ports.
Show LessDear sir,
I compile Fx3BootAppGcc project(SDK1.33 included) and download it into internal SRAM by control center, control center show " Cypress FX3 BulkloopExample Device" because its PID is 0x00F0,
I change PID with other value ,such like 0x00b0, and re-compile and download it again, but control center still show " Cypress FX3 BulkloopExample Device" and PID in descriptor Info Tab is 0x00F0, no any change
What wrong with my operation?
Can anybody give me some advice?
Thanks.
Show LessWe are running a custom firmware (1 OUT Endpoint from PC->Fx3, 3 IN endpoints FX3->PC) and communicate with the chip in linux, using libusb. Endpoint 1 IN/OUT works as kind of loop-back over GPIF, where some data processing is done on a FPGA and the data then sent back over GPIF.
We are running into some issues when sending too many packets to the OUT endpoint without reading back from the IN endpoint. At some point writing to the endpoint fails due to an timeout (which is expected, as the buffers fill up). However, after this point neither write or read operations are possible anymore. Further read operations will fail with an timeout (without reading any data), further write operations with an I/O error. To get the system working again it has to be reset.
To see if the problem was in our customization of the firmware I tried out some stock examples, using the cyusb_linux (1.0.4) tool from the linux sdk with stock examples.
As we are using Auto DMA channels, I tested the firmware/basic_examples/cyfxbulklpautoenum example. Here I can observe the same behavior.
To reproduce:
* program the cyfxbulklpautoenum
* open cyusb_linux
* send 7 packets of any length to the device on EP 01 (no loopback)
* send another packet to the device. This operation times out
* try to read/write from the device. Reading will timeout, writing fails with an I/O error
As the error occurs for me even if I send 1 byte packets my first intuition would be that it is related to the DMA channels / commit system. On the other hand, I tested the same example on windows with the cypress drivers, where it works fine (The last write transfer will return an error, but reading is still possible after this).
Has anyone experienced a similar problem, or has an idea where the issue might be?
Best Regards
Show LessI have an application where a GPIO pin must be driven with a PWM signal, but not all the time. The PWM output must be turned off sometimes.
I can get the PWM signal to work just fine. However, I cannot figure out how to get it to stop and output static high and low values. This configures the PWM:
gpioCplxConfig.driveHighEn = CyTrue;
gpioCplxConfig.driveLowEn = CyTrue;
gpioCplxConfig.inputEn = CyFalse;
gpioCplxConfig.outValue = CyFalse;
gpioCplxConfig.intrMode = CY_U3P_GPIO_NO_INTR;
gpioCplxConfig.pinMode = CY_U3P_GPIO_MODE_PWM;
gpioCplxConfig.timerMode = CY_U3P_GPIO_TIMER_LOW_FREQ;
gpioCplxConfig.timer = 0x00000000;
gpioCplxConfig.period = 0x00010000;
gpioCplxConfig.threshold = 0x00008000;
I think this should configure a static high on the pin but it doesn't work. The pin stays low.
gpioCplxConfig.driveHighEn = CyTrue;
gpioCplxConfig.driveLowEn = CyTrue;
gpioCplxConfig.inputEn = CyFalse;
gpioCplxConfig.outValue = CyTrue;
gpioCplxConfig.intrMode = CY_U3P_GPIO_NO_INTR;
gpioCplxConfig.pinMode = CY_U3P_GPIO_MODE_STATIC;
gpioCplxConfig.timerMode = CY_U3P_GPIO_TIMER_SHUTDOWN;
gpioCplxConfig.timer = 0x00000000;
gpioCplxConfig.period = 0x00000000;
gpioCplxConfig.threshold = 0x00000000;
Hello,
fx2lp is interfaced with image sensor in slavefifo .is there any firmware control with the slavefifo interface signals.
i wanted to stop and start the slwr assertion and deassertion
or
i wanted to stop and start data written to the endpoint buffer from the sensor?
is ther any register settings or any logic can implement?
regards,
geetha.
Show LessI just encounter a weird phenomenon---uncovering the sensor will cause backflow and make streaming stuck
I am now working on FX3 + Aptina sensor, using AN75779 based code. The output window is 1280*760, 2 bytes per pixel, 30 fps, so the frame size is 1280*960*2 = 2457600, since DMA buffer is 16384-12=16368, so for each frame, total 2457600/16368 = 150 full buffers are captured and reported in CyFxUvcApplnDmaCallback, plus 2400 bytes partial buffer.
When this FX3+sensor is plugged to the host(NOTE: covering the sensor with a card, or anything not transparent). viewed from the serial console, it just shows the exact number described above, and continous video shows in Amcap, seems everything work fine.
removing the cover, however, the streaming stops immediatly, and I also find full/partial buffer is not as expected, that is why the streaming got stuck.
I presume it's probably related to sensor exposure, but even if I turn on/off sensor AEC(auto exposure control), it's always this case.
can anyone explain why uncovering the sensor can cause this error?
消息编辑者为:michael gao
Show Less