I apologize if my question might appear silly or even off-topic. Usually my projects communicate with a PC using serial interfaces (RS232 or RS485). On the PC side there is an USB-serial converter. The kind of data exchanged is plain ascii strings (like NMEA) of about 100-bytes every dozens of ms. In some scenarios it's a question/answer pattern, in others both sides just send out data when something happens.
Well, now I'm going to develop a new project with the exactly same requirements of above, but where the physical medium to exchange data is Ethernet. I mean, there MUST be an Ethernet cable between the PC and my board. I cannot change this constraint.
This said, I have (at least) 3 options:
- use an MCU with a built-in TCP/IP stack (like PIC18F67J60)
- use any MCU (like xmega) with an external chip that does the low-level handling of the stack (like ENC28J60)
- use a complete Ethernet-to-serial converter (like wiznet products)
We've already found this options in an old thread.
My question, now, is pretty specific: when is it worth to use an MCU with built-in Ethernet?
I share my idea, then I will appreciate any others.
In my scenario, I will exchange plain text strings. No streaming, web servers, or other features strictly related to TCP/IP protocols.
Another point is I have well-tested code for xmega, UART bootloader and many useful routines that I must rewrite if I go with another brand.
Hence, my opinion is to select a standalone ethernet-to-serial converter, in order to re-use my bootloader (most important).
Do you see any advantage to migrate to another microcontroller just to use a "native" ethernet connection?