USB low-full-high speed peripherals Forum Discussions
Driving the data bus or control pins without powering the 68013,does this damage the chip?
I have destroyed two chips these days.
The short life time of 68013 reminds me that there must be something wrong in the operation.
I think it would be a cause that drive the data bus without powering the 68013. Is it right?
Show LessI have USB UART User Module in my project . After I issue Clear_Endpoint_Feature to my Bulk In endpoints , all further BULK IN request are NAK by my device . How to fix this issue?
The Clear_Endpoint_Feature is allows the host to remove the HALT from the specified endpoints. Once this command is issued the device should clear the HALT is the corresponding endpoint and report the success through ACK . All further transfer through that endpoint will be successful.
Now in case of using the USBUART UM after issuing the Clear_Endpoint_Feature to the Bulk In endpoints what happens is it clears the HALF if any and instead of an ACK the device NACKs the Host . All further IN transfers request to this Endpoint will be NACKed until the device is reset . Below is the method to over come this issue .
The Clear_Endpoint_Features is a standard request and is handled by the USBUART_std.asm file . The function ' USBUART_CB_h2d_std_ep_01' handles this function request . Scroll down in this function and find the below lines .
; Mark endpoint as empty so it will be reloaded mov [X+USBUART_EndpointAPIStatus], NO_EVENT_PENDING mov reg[X + USBUART_EP1MODE - 1], USB_MODE_ACK_OUT ; JMP .done .in: mov [X+USBUART_EndpointAPIStatus], NO_EVENT_PENDING MOV REG[X + USBUART_EP1MODE - 1], USB_MODE_NAK_IN ; .done:
Change the highlited value i.e, USB_MODE_NAK_IN to USB_MODE_ACK_IN .
Attached is the project which contains the modified component.
Regards,
SRAM
My USBFS component control Endpoint size in Encore V and EnCoRe III is only 8 Bytes . In my application I need to transfer 64 Bytes . How to do it?
The control Endpoint is a bidirectional endpoint that uses the same buffer (USBFS_INTERFACE_0_FEATURE_RPT_DATA) to Send and receive the data . This buffer size is only 8 bytes . So if the user is sending any data over the control endpoint there is a possiblility that data may be overwritten . Also the Control transfer size for FS USB is 64 bytes . But due to the buffer limitation the User can send and receive data only in 8 bytes . Below is the solution to over come this problem in EnCore 3 and 5.
The USBFS component of allows the user to override the exisisting routines easily . The Feature report such as GET and SET Report Rountines can be easily over written by following the steps in the USBFS UM datasheet . Please refer the section "Creating vendor specific device request and overriding existing request "of the UM datatsheet available in the following link http://www.cypress.com/?rID=3092
Attached is a simple project in which I have over ridden the exisisting routine for the GET and SET REPORT . I have made the buffer size uptp 128 bytes and tested the project . Also unlike the normal way where there is only one buffer for both IN and OUT in this project there are separate buffers for both GET and SET reports . The Files that has been modified are the USBFS_cls_hid.asm and USBFS.inc
Regards,
SRAM
Hi, Im Eduard from Cybernetyx,
we use the USB controller mentioned in the title to access a CMOS. It works great on Windows. Now we want to port it to Linux and Mac with libusb. On Linux we can easily find the connected device with lsusb and libusb is also able to enumerate it. But on different Mac computers we cant see the device. We tried to find it in "system_profiler SPUSBDataType". But its not showing up there.
What are we doing wrong?
Thanks,
Eduard
Show LessDear Sirs
We are trying to implement a GPIF interface for a 8 Channel simultaneous sampling SAR ADC (TI ADS8568)
The plan is to use the ADC in parallel interface mode (allow faster sampling) and stream data to a host PC via a FX2LP CY7C68013A-128.
Although this is my first approach to USB micros, after reading some documentation available on the Cypress website, I was able to start a GPIF designer.
The challenge appeared when trying to implement a single read, I run out of States.
As it can be seems on the attached image (or ADS8568 datasheet) after a conversion signal the host must toggle the RD line eight times to gather the data from the 8 channel, but only 6 states are available.
Any Ideas?
Thanks in advance
Show LessHey,
When connecting up USB using the PSoC 5LP, can I leave VBUS floating if I am using self-poowered USB? I dont need or want the VBUS connection, but I do want to communicate/debug through USB.
Show LessI am using Cy3684 to test my code. I am writing following code to write some data on lg eeprom, but it doen't seem to work. i also tried tweaking function definition inside i2c.c provided by cypress. I am attaching my keil code here, and the edited i2c.c. I am checking SCL SDA lines using a DSO, but there is no fluctuation. Whereas when a burn iic file to lg eeprom using cyconsole i get fluctuations on SCL SDA lines.
//main code to write data to eeprom. The data is any dummy data, but it should write.
#include <fx2.h>
#include <fx2regs.h>
#include "i2c.c"
void main(void)
{
EZUSB_InitI2C();
EZUSB_WriteI2C(0xC2,0x01,0x00);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0x02);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0x01);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0x09);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0x02);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0x01);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0x03);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0x00);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0x10);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0x00);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0x02);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0x12);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0x00);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0x02);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0x14);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0x01);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0xe2);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0x16);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0x02);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0x82);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0x20);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0x00);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0xd0);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0xC2);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0x00);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0x08);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0x25);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0x06);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0x26);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0x5B);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0x27);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0x9A);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0x30);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0x10);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0x31);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0x10);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0x32);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0x10);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0x33);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0x10);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0x34);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0x17);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0x35);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0x7F);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0x40);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0xFF);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0x41);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0x7F);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0x42);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0x7F);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0x43);EZUSB_WaitForEEPROMWrite(0xC2);
EZUSB_WriteI2C(0xC2,0x01,0x7F);EZUSB_WaitForEEPROMWrite(0xC2);
}
Thanks !
Show LessI have just purchased the CY3684 EZ-USB FX2LP Development Kit and I am trying to get the 'hid_kb' firmware example operational.
After downloading the firmware, I am unable to transfer characters from the development board to a Notepad window on the PC as described in the example text. The device should be shown as part of the HID devices list in Device Manager (Windows 7). However, it actually appears as 'MFS100' in the Universal Serial Bus Controllers list. Could this be the problem?
The Cypress USB Console displays the following ID codes...
VendorID: 0x04B4
ProductID: 0x1005
Manufacturer: MANTRA
Product: MFS100
Show LessHello, I'm now making a board that using CyRF69213.
It's implement a USB module v1.9 that's feature is little different with usual PSoC1’s USB.
This USB device has only two endpoints, (usually 😎
When set HID interface that’s working well but
Set to Vender-specific interface, INT transfer that can not connect to PC.
Cause of "device can't start (error=10)"
I want to set this interface because of I want handle it by CyUSB.dll
because HID interface can't.
It seems special ploblem of USB of 69213.
An enumeration doesn't complete, I guess.
Is that a specific of CyRF USB?
Anybody knows about this, Let me know please.
[Win Vista32] (This article move from PSoC1 Device)
Show Less