USB superspeed peripherals Forum Discussions
I've been working through the example firmware in the book "SuperSpeed Device Design By Example". I was able to successfully go through examples in Chapters 3 and 4 that use the micro-USB port in UART mode as a debug console. I became very interested in the example "DualConsoleExample.img" from Chapter 5 because it seemed to offer a way to get a virtual COM port over the USB3 line without using the UART, because my project also requires SPI (which I guess conflicts with the UART). Anyway, I installed the utility "USB Serial Configuration Utility" and followed the instructions in the book to configure channel SCB0 as I2C slave at 400kHz. I tried loading the unmodified firmware "DualConsoleExample.img" and it loaded successfully. But then I got no COM ports (supposedly I should get two, one for UART over the micro-USB and one for I2C over the USB3). I repeated the steps a bunch of times, tried recompiling the firmware, enabling and disabling UART and I2C in all combinations, but I never got any COM ports. I finally used the configuration utility to change SCB0 back to UART mode, but still no COM ports. After this, the previous examples that just use the UART console over micro-USB no longer create COM ports either. So, I would really like to learn how to make the I2C-based console work, but it would also be some progress to figure out how to get the UART mode console working again (reinstall drivers?). By the way, in this whole process I don't see any orphan devices in the device manager. I do see under "Universal Serial Bus controllers", three devices called "USB-Serial (Dual Channel) Vendor 1", "USB-Serial (Dual Channel) Vendor 2", "USB-Serial (Dual Channel) Vendor MFG". Those devices claim to be working. I'm using Windows 7 on a laptop with USB3 ports.
Thanks,
Richard
Show LessHello,
we will need to but a USB vendor ID in order to release a product.
I have seen that some commercial products use the Cypress vID, even though this is only allowed under special circumstances from USB.org.
As we need very few pIDs, is this an option and where can we find the forms/contracts for it?
Thank you.
Show LessOur company is using fx3 to make a stereo camera system.
Now we have almost finished hardware and software design.
So when we want to sell the stereo camera, shall we just use the VID?
(Some other USB chip company provides this service, I am not sure if Cypress is also like this.)
Or we must to apply for a new VID for our own name?
Waiting for reply. Thank you.
Show LessHi, I am Tony.
I have two USB3014 Data acquisition board connecting with only one PC . And could open two device successfully use open(i) function.However, the device(0) could work nomally and device(1) could not transfer data at the same time in bulk transmission mode. I want to ask the question that how could acquire two USB3.0 interface data at the same time in one host software.thanks
Show LessHello,
several calls of the CyU3PDebugPrint() function used in the SDK examples. With this function calls debug messages should be transmitted via UART/RS232.
Debug Messages are sent I added a CyU3PDebugPrint() call in the for (;;) loop of the BulkLpAppThread_Entry() function of the bulklpautocpp example.
My problem is that I do not receive any debug message at teraterm . And also could not measure anything at the UART Pins. I work with the FX3S DVK Device Board.How could this problem be solved?
If i connect jumper on SPI i can able to see junk messages in terminal . If i connect jumper with uart no messages in terminal.
Regards
Rajalakshmi
Show LessHi Everyone,
I have made a uvc project by taking reference from AN5779 example, my project is not working and there is no output in vlc. i want to check where is the problem so i have put debug messages in the routines but i am not getting debug messages in terminal. I have initialised and configured the UART and i am using from gpio 0 to 15 for input. Can you please tell me why i am not getting debug messages?
Thanks
Show LessH,
I have problem converting AN75779 UVC example to interface with FPGA at 32bit.
Setup: FX3 explorer kit
Xilinx ZC706
What I have achieved:
I have created a 8-bit YUV2 pattern generator from ZC706 to interface with FX3. FX3 is running vanilla AN75779 firmware (latest). I am able to see the color pattern on PC using DirectCap. GPIF CLK output from FPGA is running at 100MHz.
My changes to support 32bit:
1. Modify GPIF Designer from 8bit to 32bit
2. Modify GPIF state machine Addr and data counter limit to 4091. because each transfer is now 4 byte instead of 1. Original was 16367.
3. Modify FPGA to output 32bit, effectively Y0, U0, Y1, V0 color in 1 transfer
4. Lower FPGA clk to 25MHZ so total datarate is still the same.
5. I DID NOT make any changes to firmware ( I don't think I need to)
Problems:
Directcap show 0 FPS and there is not activity on display window.
Using USB monitor, USB transactions stop after DirectCap request video. THere is no bulk data out from FX3, infact there is no firther USB communications
DirectCap is still able to request STOP, which FX3 accepts.
Please advise how to get 32bit working.
Neo
Show LessHi
I run AN75779 demo in usb device side and ensure there is a UVC device named FX3 in device manager in windows.But I failed to enumerate it using CyUSB API USBDeviceList .
The host code(Form1.cs)detail is as following:
public Form1()
{
InitializeComponent();
usbDevices = new USBDeviceList(CyConst.DEVICES_CYUSB);
usbDevices.DeviceAttached += new EventHandler(usbDevices_DeviceAttached);
usbDevices.DeviceRemoved += new EventHandler(usbDevices_DeviceRemoved);
setDevice();
}
public void setDevice()
{
int nCurSelection = 0;
if (cboDeviceConnected.Items.Count > 0)
{
nCurSelection = cboDeviceConnected.SelectedIndex;
cboDeviceConnected.Items.Clear();
}
int nDeviceList = usbDevices.Count; //here get 0
for (int nCount = 0; nCount < nDeviceList; nCount++)
{
USBDevice fxDevice = usbDevices[nCount];
String strmsg;
strmsg = "(0x" + fxDevice.VendorID.ToString("X4") + " - 0x" + fxDevice.ProductID.ToString("X4") + ") " + fxDevice.FriendlyName;
cboDeviceConnected.Items.Add(strmsg);
}
if (cboDeviceConnected.Items.Count > 0)
cboDeviceConnected.SelectedIndex = nCurSelection;
myDevice = usbDevices[cboDeviceConnected.SelectedIndex] as CyUSBDevice;
//StartBtn.Enabled = (myDevice != null);
if (myDevice != null)
Text = myDevice.FriendlyName;
else
Text = "C# UVC - no device";
}
private void cboDeviceConnected_SelectionChangeCommitted(object sender, EventArgs e)
{
setDevice();
}
As a contrast,I repower the FX3 board and it is a Cypress FX3 USB BootLoader Device in USB Control Center. At the time I run my host code and it can enumerate the bootloader device using USBDeviceList API.
I appreciate any help, thank you,
Attachment is my host code.
Show LessI'm using archlinux x86_64.
Tried all available 32-bit java versions (5-8), but still cannot run ezUsbSuite to debug my fx3.
nick /mnt/garbage/cypress_fx3/FX3_SDK_Linux_v1.3.3/eclipse $ ./ezUsbSuite --vm /usr/lib32/jvm/java32-7-jdk/bin/
OpenJDK 64-Bit Server VM warning: You have loaded library /mnt/garbage/cypress_fx3/FX3_SDK_Linux_v1.3.3/eclipse/plugins/org.eclipse.equinox.launcher.gtk.linux.x86_1.1.200.v20140116-2212/eclipse_1508.so which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
EzUsbSuite:
JVM terminated. Exit code=13
/usr/bin/java
-jar /mnt/garbage/cypress_fx3/FX3_SDK_Linux_v1.3.3/eclipse//plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
-os linux
-ws gtk
-arch x86
-showsplash
-launcher /mnt/garbage/cypress_fx3/FX3_SDK_Linux_v1.3.3/eclipse/ezUsbSuite
-name EzUsbSuite
--launcher.library /mnt/garbage/cypress_fx3/FX3_SDK_Linux_v1.3.3/eclipse//plugins/org.eclipse.equinox.launcher.gtk.linux.x86_1.1.200.v20140116-2212/eclipse_1508.so
-startup /mnt/garbage/cypress_fx3/FX3_SDK_Linux_v1.3.3/eclipse//plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
--launcher.overrideVmargs
-exitdata 156802a
--vm /usr/lib32/jvm/java32-7-jdk/bin/
-vm /usr/bin/java
-vmargs
-jar /mnt/garbage/cypress_fx3/FX3_SDK_Linux_v1.3.3/eclipse//plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
I've also tried to run "execstack -c .....", but no effect
Show Less