USB Forum Discussions
Browse the Community
USB low-full-high speed peripherals
Discussion forum regarding USB low-full-high speed peripherals topics.
USB hosts hubs transceivers
Discussion forum regarding USB hosts hubs and transceivers topics.
USB superspeed peripherals
Discussion forum regarding USB superspeed peripherals topics.
Featured Discussions
"Hello,
I've written my SPI initialization code for the cyusb3kit-003 as follows:
/* SPI initialization for application. */
CyU3PReturnStatus_t CyFxSpiInit(uint16_t pageLen)
{
CyU3PSpiConfig_t spiConfig;
CyU3PReturnStatus_t status = CY_U3P_SUCCESS;
/* Start the SPI module and configure the master. */
status = CyU3PSpiInit();
if (status != CY_U3P_SUCCESS)
{
return status;
}
/* Start the SPI master block. Run the SPI clock at 8MHz
* and configure the word length to 8 bits. Also configure
* the slave select using FW. */
CyU3PMemSet((uint8_t *)&spiConfig, 0, sizeof(spiConfig));
spiConfig.isLsbFirst = CyFalse;
spiConfig.cpol = CyTrue;
spiConfig.ssnPol = CyFalse;
spiConfig.cpha = CyTrue;
spiConfig.leadTime = CY_U3P_SPI_SSN_LAG_LEAD_HALF_CLK;
spiConfig.lagTime = CY_U3P_SPI_SSN_LAG_LEAD_HALF_CLK;
spiConfig.ssnCtrl = CY_U3P_SPI_SSN_CTRL_FW;
spiConfig.clock = 4000000;
spiConfig.wordLen = 8;
status = CyU3PSpiSetConfig(&spiConfig, NULL);
return status;
}
However, when I load and run the code on the device and check the SPI clock pin with an oscilloscope, I don't see 4 MHz. Instead, I'm getting an inexplicable value like 1.9 kHz. What could be the reason?
Show LessHi,
I am using the CYPD3120 as a USB-C DP sink (block diagram shown below). For firmware, I am using the EZ-PD CCGx 3.0.1 SDK, USB-C plug to DP dongle, per recommendations from others here.
Given the default configuration is for a pinout E and USB-C plug application, I am having a bit of trouble modifying the necessary FW components for my use case.
1. SVID - Modify SVID in EZ-PD configuration utility to match USB-C receptacle - 0x40045
2. Modes supported - Modify DP Mode Parameters in configuration utility to support mode C only
3. datamux_ctrl.c - modify bool mux_ctrl_set_cfg( uint8_t port, mux_select_t cfg, uint8_t polarity) to disable internal PU/PD resistors on AUX (given I have external populated)
Is there anything else? I am unable to get a response from the DP sink on the AUX lines to even start DP Alt negotiation and I suspect there may be something incorrect about my firmware configuration. Upon probing AUX_P and AUX_N, I am reading 0V on AUX_P and 3.04V on AUX_N.
您好,请教个问题,我们在设置flagA为currentThreadDMAReady,设置flag B为currentThreadDMAWarterMark,在cyU3PGpifLoad()下方调用CyU3PGpifSocketConfigure(0,CY_U3P_PIB_SOCKET_0,6,CyFalse,1),测试时,上位机不从USB取数,逻辑抓取信号发现flagA会被拉低,但是flagB一直是高,请问下可能是什么原因造成的呢?
Show LessFirst of all, all phones tested do support USB host mode. They can read from flash drives and `packageManager.hasSystemFeature(PackageManager.FEATURE_USB_HOST)` returns true.
- Windows PC: Works. Connect and it shows in the device manager. Install libusb driver with zadig and we can read from the device with pyusb
- Phone #1 (Vivo): Seems fine.`android.hardware.usb.action.USB_DEVICE_ATTACHED` triggered on connect, and `usbManager.getDeviceList()` finds the device. Reading not tested yet.
- Phome #2 (Xiaomi): Powers the device, but nothing happens on screen and `getDeviceList()` returns empty. The phone recognizes every other USB device I tried, including a DAQ which requires vendor driver on Windows.
- Phone #3 (Samsung): Doesn't power the device. Doesn't recognize the device and another device that Phone #2 recognizes. However, as I said in the beginning, can read flash drives.
What could be the problem, or how can we gather further information on it? Should I try using libusb through NDK instead of the Android USB API (seems there's a lot to learn)? A final app that works only on rooted phone is not acceptable.
Show LessHello, please ask me a question. We are now using zynq to send 25fps 2k*2k*16 bit image data to the upstream computer. The host computer's analysis data revealed that the image data will be lost. The host computer's beginDataXfer () API reception, the host computer's test data reception can reach 320MB/s, the firmware configuration is DMA buf 1k*16, and the zynq side has a fifo to ensure that transmission stops when half full. As a matter of course, there will be no problems with untimely retrieval. Please ask where the data may be lost. ? Thank you
smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/%E8%B6%85%E9%AB%98%E9%80%9FUSB%E5%A4%96%E8%AE%BE/CYUSB3014%E4%B8%A2%E6%95%B0/td-p/653261
Show LessHello,
we use cyusb3014 in our production as a uvc device, we want to do the usbif test, there are two items failed under USB3CV test, i attach the test report,
1. TD 9.14 Suspend/Resume Test (Configuration Index 0x00) - Device State Configured
2. TD 9.23 Reset Device Test - Device State Default
the FW is base on AN75779, can you give some suggestion on this issue? thanks a lot.
Show LessHi,
I'm trying to stream continuous 16, 24, and 32-bit data from GPIF over USB, but I'm running into problems at the highest internal GPIF clock speed. With 16/24/32-bit data, the following works great:
clockConfig.setSysClk400 = CyTrue; // CyU3PDeviceInit() -> 403.2MHz clock
CyU3PPibClock_t pibClk = {4, CyTrue, CyFalse, CY_U3P_SYS_CLK}; // 89.6MHz GPIF clock
-> Streaming 16-bit data continuously is about 179.2 MiB/s, and it works well.
-> Streaming 24-bit data continuously is about 268.8 MiB/s, and it also works well.
-> Streaming 32-bit data continuously is about 358.4 MiB/s, and it also works well.
However, when I increase the internal GPIF clock to ~100MHz, then only 16-bit streaming works. I'm using:
clockConfig.setSysClk400 = CyTrue; // CyU3PDeviceInit() -> 403.2MHz clock
CyU3PPibClock_t pibClk = {4, CyFalse, CyFalse, CY_U3P_SYS_CLK}; // 100.8MHz GPIF clock
Streaming 24-bit data continuously is only about 302.4 MiB/s, so I don't understand why it drops data since the higher 32-bit transfer rate (358.4 MiB/s) above works.
If the DMA buffer size is 31 KB (with 2 buffers per socket), then the system transmits 31*2 KB of data fine but then drops ~30 clocks of data every 31KB after that. If the DMA buffer size is 34 KB, then the system transmits 34*2 KB of data fine but then drops ~30 clocks of data every 34KB after that.
Any ideas?
Thank you!
P.S. I'm basically using the code here: https://community.infineon.com/t5/USB-superspeed-peripherals/SuperSpeed-Design-Examples-V1-2-1-GPIF-Example2-external-clock/m-p/392528 . Ajeeth provided an example GpifToUsb.zip file to ping pong between two threads. Increasing the DMA buffer size to 16+KB and tweaking the GPIF state machine to use DMA_WM_TH0/DMA_WM_TH1 allows me to stream 16-bit data at 100MHz continuously with no drops.
Show Less
I need to interface CCG8 I2C with a 1.8V host. CCG8 datasheet specifies to connect VDDIO to VDDD 3.3V and the the I2C VIH min is mentioned as 0.7* VDDIO. the application need to support dead battery as well. Please let me know how to interface the same.
Show Less