USB superspeed peripherals Forum Discussions
I would like to change USB mode between USB 2.0 and 3.0 base on SDK 1.3.4 demo module " cyfxbulklpmandcache" , but it cannot be successful.
It always return error.
Could you help me with it? Attached file is for your reference.
Very appreciate.
Show Less
I use test host application provided in the following link.
https://community.cypress.com/message/142801#142801
I didn't change the UVC extension part in uvc.c and cyfxuvcdscr.c files. UVC_EXTENSION_UNIT is enabled in uvc.h file. The test host application works well with the AN75779 UVC firmware in terms of set and get complete firmware version.
Now I am trying to implement SPI read/write sensor registers through UVC extension.
cyfxuvcdscr.c file, UVC EXTENSION UNIT descriptor is modified to be
#ifdef UVC_EXTENSION_UNIT
/* Extension Unit Descriptor */
0x1C, /* Descriptor size */
0x24, /* Class specific interface desc type */
0x06, /* Extension Unit Descriptor type */
0x03, /* ID of this terminal */
//static const GUID <<name>> =
//{ 0xacb6890c, 0xa3b3, 0x4060,{ 0x8b, 0x9a, 0xdf, 0x34, 0xee, 0xf3, 0x9a, 0x2e } };
0x0C, 0x89, 0xB6, 0xAC, /* GUID specific to AN75779 firmware. Obtained from Visual studio */
0xB3, 0xA3, 0x60, 0x40,
0x8B, 0x9A, 0xDF, 0x34,
0xEE, 0xF3, 0x9A, 0x2E,
0x02, /* Number of controls in this terminal */
0x01, /* Number of input pins in this terminal */
0x02, /* Source ID : 2 : Connected to Proc Unit */
0x03, /* Size of controls field for this terminal : 3 bytes */
0x03, 0x00, 0x00, /* Controls supported */
0x00, /* String descriptor index : Not used */
uvc.h file add wvalue for SPI command
#ifdef UVC_EXTENSION_UNIT
/* Extension Unit Terminal Controls specific UVC control selector codes */
#define CY_FX_UVC_XU_GET_FIRMWARE_VERSION_CONTROL (uint16_t)(0x0100)
#define CY_FX_UVC_XU_SPI_COMMAND (uint16_t)(0x0200)
/* Customer specific controls can be added here */
#endif
But I am not sure on how to modify the function below to match like to identify read/write in the following function. There are 2 sensors needs be be configured using SPI. For example, SPI write sensor 1, register 0x02 with value 0x0001,
SetGetExtensionUnit(xuGuidAN75779, 2, 2, flags, (void*)SPIparameter, 3, &readCount),
in UVCHandleExtensionUnitRqts () function, bRequest value is used to identity which sensor, read/write operation. How the parameters in the above function is related to the bRequest value?
case CY_FX_UVC_XU_SPI_COMMAND:
switch (bRequest)
{
case CY_FX_USB_UVC_SPI_SENSOR1_WR: /* write to sensor 1 */
apiRetStatus = CyU3PUsbGetEP0Data (CY_FX_UVC_MAX_PROBE_SETTING_ALIGNED,
glEp0Buffer, &readCount);
if (apiRetStatus == CY_U3P_SUCCESS)
{
/* Copy spi parameters sent by Host application */
CyU3PMemCopy(glFxUvcSPIbuf, glEp0Buffer, 3);
}
CyFxSpiWriteReg2B(RegAddr,RegVal)
break;
case CY_FX_USB_UVC_SPI_SENSOR1_WR: /* read from sensor 1 */
CyFxSpiReadReg2B(RegAddr, rd_buf)
CyU3PMemCopy(glEp0Buffer, glFxUvcSPIbuf, 5);
sendData = CyTrue;
break
If it is the flags parameter, how to use it? for KSPROPERTY_TYPE_SET | KSPROPERTY_TYPE_TOPOLOGY ?
Thank you in advance.
Show LessHello
Asynchronous SRAM timing is used by using CYUSB3014. However, since tOHC is 0.5ns on the customer's system, the operation can not be guaranteed because the spec described in the data sheet can not be satisfied.
Also, If tOHC (OE # HIGH to CE # HIGH) is not satisfied, they are understanding that as a result of CE # going high, They believe that the accuracy of the READ data cannot be guaranteed.
Therefore, I understand that it is necessary to acquire data while OE and CE are low, and to design so that the timings when OE and CE go high do not coincide.
Is the above recognition correct?
Best Regards
Arai
Show LessJust tested the firmware, have some problem/question:
(1) First, use control center to test the 16KB IN or OUT endpoint, but both have inifnite capacity, never full/block, why?
(2) Second, use streamer to stream data to 16KB OUT endpint, even you don't stream in from the 16KB IN endpoint, it will continue forever with 300MB/s+
(3) When stream in data from 16KB IN endpoint, whether there was a running stream out to 16KB OUT endpoint or not, the stream in operation will operate at 300MB/s+ for <1second then go to very low like 1MB/s, if you stop it then start again ,all packet will be fail.
Show LessHi,
what is the best example to use (spi regmode or spi dmamode) for setting up a CMOS sensor that uses SPI interface. Is there any code examples available setting up an SPI interface when using a LUPA-300 in parallel output without using an FPGA? This will mainly work in snapshot mode. Still in the process of learning how to program this type of device. Any help much appreciated.
Show LessTwo CYUSB3KIT-003 are stack connected and the firmware are downloaded to RAM and 8KB file is transfered successfully as 001-87216_AN87216_Designing_a_GPIF_II_Master_Interface.pdf described.
I opened two Streamer.exe are opened, one choose master devices' BULK OUT, anoter choose slave devices's BULK IN and start transfer on both, there is almost no bandwidth and most packet are timeout.
How to test the bandwidth of this configuration?
Show LessHello,
I have to transfer data from FX3 to FPGA using GPIF II Interface.
here Producer Events are generating but Consumer Events are not generating.
Please find the firmware and GPIF file attached below.I need your help very badly.
Best regards,
Aswini
Show LessHi,
I see in the FX3 TRM that the CX3 has weak internal pullups, but there's no API (that I found) to enable them. How is this done?
Thanks,
Scott
Show LessHi,
I have to transfer data from FX3 to FPGA using GPIF II interface.I'm using the firmware that is in AN65974 and i will give data through control center.But i'm able to receive only starting 2 bytes,the remaining bytes are missing,as shown in below snapshot.What may be the reason for this,kindly anyone let me know the issue.
Regards,
Aswini
Show LessIn CYUSB3KIT-003 the VBUS pin of FX3 is connected to the output of U11.
Then when J3 is removed and VBUS pin of FX3 will depends on external power state instead of VBUS from USB connector.
Will this have problem when the host PC change power states and can the firmware be modifired to deal with this problem?
Show Less