Forum Discussion
Altera_Forum
Honored Contributor
17 years agoOn the contrary, every design I have ever done has had an interface to the PC. To date I have used all of the methods discussed here (serial UART, USB, Ethernet).
Honestly, if it were me I'd go with Ethernet. Your assumption that this would only be beneficial if it included a web server is in my opinion false. If you decide to go with Ethernet you get to take advantage of all the existing hardware and software in the world that is based on the TCP/IP protocol. Everybody has done the hard stuff for you. You almost don't even have to think about it. I've got a design that uses Ethernet right now to connect to a host PC. I don't use a web server. I have my own GUI that communicates with the board using my own packet protocol. In addition, users can also control the board via a telnet interface. I can guarantee if it were USB (like my last device) there would be no Telnet, no FTP, no option of a web server. Ethernet: 1 - drivers and protocol already written for you. 2 - socket API is so simple it hurts. 3 - Take advantage of existing hardware / software (routers, hubs, TCP/IP tools, telnet, FTP, HTTP, etc). 4 - Your device can be located anywhere in the entire world and as long as it's got a network connection, you can interface with it. 5- Consumes more resources (memory) to implement the TCP/IP stack. 6 - Cross platform. Users can be running any OS (Windows, Linux, MAC, Solaris, etc). USB: 1 - No drivers or protocol written for you. You have to write them. 2 - You write the API. 3 - All you get to take advantage of is the USB cable and the hub inside the PC. 4 - Your device is tied to one and only one PC and is limited by cable length. 5 - Higher bandwidths achievable because the protocol you design will be lighter than TCP/IP. 6 - You have to write a driver for every OS you wish to support. Serial (RS232) - Well I guess if you want to. Kind of like putting a floppy drive in a brand new PC. If you need the speed then go with USB. Otherwise, save yourself a few months of development time and use Ethernet. Jake