I have the following application. There would be a few DI and DO and the status need to be sent to a PC from the controller board, through TCP/IP [Modbus TCP/IP]. It is quite a simple requirement.
Using this I was able to establish TCP/IP connection using the Microchip TCP/IP Lite Stack, though there are some bugs like connection getting disconnected and re-connection happens only after Controller RESET. But I am only just beginning my work on it and I hope to be able to find the reason for this and resolve it. Also, the microcontroller heats up after a while. Does this happen in Ethernet controllers?? When I initially tested the various peripheral on the board like ADC, UART, etc, I did not find any heating issue. Hence, I guess this is due to enabling the Ethernet on the controller.
I would like to know what is the best and cheapest solution to implement this requirement on a microcontroller. I am confused between (A) using a controller with in-built Ethernet support and (B) using a microcontroller with enough Flash and ROM connected to an external Ethernet chip, like the ENC28J60. Also I would like to go in for a solution for which a reliable TCP/IP stack is available. In case of ARM, I only have access to the 32k free Keil version which I don't think would fit the stack. Hence I am looking at a PIC / GCC solution.
I am totally new to TCP/IP on controllers and hence I would like to have suggestions from those who have developed applications along these lines.
I will check the datasheet of Wiznet chips mentioned.
So unlike ENC28J60, I don't have to implement any TCP/IP stack on the controller and a simple ARM controller with 32k PROGRAM memory would be more than sufficient if the Wiznet module is used, for this application that is?