XC-1 ethernet performance

Technical discussions related to any XMOS development kit or reference design. Eg XK-1A, sliceKIT, etc.
kster59
XCore Addict
Posts: 162
Joined: Thu Dec 31, 2009 8:51 am

XC-1 ethernet performance

Post by kster59 »

I'm thinking about using streaming ethernet packets instead of USB in an application.

What kind of data throughput can I expect to see with the XC-2 streaming data from a PC?

Suppose all you are doing is continuously sending TCP packets from the PC and storing them in a circular buffer array on the XC2.

What is the throughput in bytes/sec?


User avatar
Berni
Respected Member
Posts: 363
Joined: Thu Dec 10, 2009 10:17 pm

Post by Berni »

Well it depends on how you do it.But you have to consider that working with the ethernet example is not that easy to modify.Since i needed ethernet i set out to put together a winsock like API in order to make use of it simple enugh. Altho i found a bad locking up bug in the process, just reacently the new fixed version of it was released (Need to port my API to it)

I agree using the FTDI chip in the programmerr is not exsactly speedy at 115200 baud but enugh for most applications.What are you trying to do and what speeds do you need?
kster59
XCore Addict
Posts: 162
Joined: Thu Dec 31, 2009 8:51 am

Post by kster59 »

If you have a XC-1 with the FTDI chip then you can easily get 3mbps send/receive but you need to program using the D2xx drivers on the PC side. Even VCP comm port can support 300kbps. Maybe you need to write the UART to be more efficient on the XMOS device but I programmed my own assembly version on another processor bit banging it out at 3mbps no problem. Without RTS/CTS hardware handshaking you lose a lot of speed doing error checking however.

I need speed around 1MByte/sec so I went with the FT245R on another project. Easy chip to use (almost no PC side software changes going from FT232R to FT245R using the D2xx) but uses lots of I/O pins. I talked about this on xmoslinkers site but a FT2232H would be a good addition since you can make it do JTAG to program the device as well as act as a FT245R on the second port.

I haven't used ethernet much on embedded systems but think it should be pretty good. 100mbps easily transfers 5-7 megabytes on the PC while transfering files so the PC side should be no problem. However, I'm not sure what kind of performance the XMOS can put out.

I'm just looking to get the data and store it using the XMOS as a transport in between.

On an ARM9 system I think you can get at least 600kByte/sec downloading files just from IE on WinCE and storing to an SD card.