Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Interfacing to FT260 for PC UART communication

Status
Not open for further replies.

hobbskw

Junior Member level 3
Joined
Oct 19, 2021
Messages
25
Helped
1
Reputation
2
Reaction score
1
Trophy points
3
Activity points
197
Greetings,

Background/Context/Goal:
My goal is to open a simple UART session, be it in Putty or any other software, so I can see print statements (from the FPGA to the PC) for debugging my programs on the FPGA.
I am testing this with the "Hello World" sample application in Xilinx SDK
I am using the Zynq 7020, CLG400 package
My PCB uses the FT260 for its USB-UART bridge chip.
I may be wrong, but I believe the baud rate is 115200 as default.. I cannot find any way to confirm this, however.
Also:
There is no external EEPROM and FSOURCE is floating.

Problem:
When I plug the device in, it does not appear under "Ports" in device manager. However, it does appear underneath "Human Interface Devices" and "Universal Serial Bus Controllers".
When I plugged in the device, something called "FT2690" installed automatically, but I cannot find any information about this (is it a driver?)

I was hoping I would see something like "COM1" or underneath "Ports" in Device Manager, but there is nothing there. I am worried it has to do with the fact that the product's page says "No" for "Virtual COM Port". They talk about something called HID, but I can't find information about the implications of using HID, from a software designer's perspective. I mean, do I have to use some special C commands or anything different? From what I understand, this is a different protocol from whatever uses COM ports. That's all I know about it.

What I've tried so far:
I tried installing their VCP and D2XX drivers, but nothing changed.
I cannot start a UART session because I don't know how to connect to it in Putty, since I cannot find what to put in the "Serial Line" field.
I have hope because it detects the FT260 and the manufacturer in their software called FT_Prog when I plug it in.
I tried by best to use their Users Guide, but it is not really helpful to me. I don't understand how to get started.

Schematic:
1656894056352.png


Device Manager when plugged in:
It appears as two of the "USB Input Device", "HID-compliant vendor-defined device", and "USB Composite Device". I'm not sure why two for HID.
1656894272615.png

Device Manager when NOT plugged in (disconnected):
1656894371248.png


Information about it from USBView:
Code:
Device Descriptor:
bcdUSB:             0x0200
bDeviceClass:         0x00
bDeviceSubClass:      0x00
bDeviceProtocol:      0x00
bMaxPacketSize0:      0x40 (64)
idVendor:           0x0403 (Future Technology Devices International Limited)
idProduct:          0x6030
bcdDevice:          0x2200
iManufacturer:        0x01
0x0409: "FTDI"
iProduct:             0x02
0x0409: "FT260"
iSerialNumber:        0x00
bNumConfigurations:   0x01

ConnectionStatus: DeviceConnected
Current Config Value: 0x01
Device Bus Speed:     Full
Device Address:       0x2A
Open Pipes:              4

Endpoint Descriptor:
bEndpointAddress:     0x81  IN
Transfer Type:   Interrupt
wMaxPacketSize:     0x0040 (64)
bInterval:            0x01

Endpoint Descriptor:
bEndpointAddress:     0x02  OUT
Transfer Type:   Interrupt
wMaxPacketSize:     0x0040 (64)
bInterval:            0x01

Endpoint Descriptor:
bEndpointAddress:     0x83  IN
Transfer Type:   Interrupt
wMaxPacketSize:     0x0040 (64)
bInterval:            0x01

Endpoint Descriptor:
bEndpointAddress:     0x04  OUT
Transfer Type:   Interrupt
wMaxPacketSize:     0x0040 (64)
bInterval:            0x01

Configuration Descriptor:
wTotalLength:       0x0049
bNumInterfaces:       0x02
bConfigurationValue:  0x01
iConfiguration:       0x00
bmAttributes:         0xA0 (Bus Powered Remote Wakeup)
MaxPower:             0x32 (100 Ma)

Interface Descriptor:
bInterfaceNumber:     0x00
bAlternateSetting:    0x00
bNumEndpoints:        0x02
bInterfaceClass:      0x03 (HID)
bInterfaceSubClass:   0x00
bInterfaceProtocol:   0x00
iInterface:           0x00

HID Descriptor:
bcdHID:             0x0111
bCountryCode:         0x00
bNumDescriptors:      0x01
bDescriptorType:      0x22
wDescriptorLength:  0x0117

Endpoint Descriptor:
bEndpointAddress:     0x81  IN
Transfer Type:   Interrupt
wMaxPacketSize:     0x0040 (64)
bInterval:            0x01

Endpoint Descriptor:
bEndpointAddress:     0x02  OUT
Transfer Type:   Interrupt
wMaxPacketSize:     0x0040 (64)
bInterval:            0x01

Interface Descriptor:
bInterfaceNumber:     0x01
bAlternateSetting:    0x00
bNumEndpoints:        0x02
bInterfaceClass:      0x03 (HID)
bInterfaceSubClass:   0x00
bInterfaceProtocol:   0x00
iInterface:           0x00

HID Descriptor:
bcdHID:             0x0111
bCountryCode:         0x00
bNumDescriptors:      0x01
bDescriptorType:      0x22
wDescriptorLength:  0x0117

Endpoint Descriptor:
bEndpointAddress:     0x83  IN
Transfer Type:   Interrupt
wMaxPacketSize:     0x0040 (64)
bInterval:            0x01

Endpoint Descriptor:
bEndpointAddress:     0x04  OUT
Transfer Type:   Interrupt
wMaxPacketSize:     0x0040 (64)
bInterval:            0x01

Links:
Here is a link to its official page:
Here are the users guides for the FT260:
Also a guide for their software, FT_Prog:
 
Last edited:

As I see two most important things to debug first:
My PCB uses the FT260 for its USB-UART bridge chip.
As far as I know, the USB2UART module needs be detected under "Ports" in DeviceManager with some COM#.
In many cases such board chips can be configured for other modes, e.g. only USB. Have you checked your dev board documentation as to which mode the chip defaults to? May be there is just a jumper out there which can change it to UART mode. etc...?
Additionally many development boards come with demo projects, where there might be one with the "hello world" example.

I may be wrong, but I believe the baud rate is 115200 as default.. I cannot find any way to confirm this, however.
How is UART data handled by your FPGA? The module with implements the UART must be set to the desired baud rate. Consequently the Putty/TeraTerm at the PC should also be set at the same baud rate.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top