Hi to all,
I am going to start a project and i need some support from you to select the correct device to use on it.
The system to manufacture has to be a system where some digital I/O have to be read/write (an amount of 32 more less). These GPIOs have to be monitored by software, and when one of them changes its state, we have to make a timestamp with the time associated to this change of value in GPIOs. So this is the first requirement on my project, possibility of making timestamp of hw events (changes on I/O values). Precission has to be microseconds, so PTP (precision time protocol) has to be supported by the device.
In addition, this information of timestamping, has to be sent to a SCADA system (WINCC OA) for monitoring purposes, and WINCC OA must be able to change the value of the outputs of my circuit. I have been looking for the best solution to communicate to WINCC OA, and to avoid additional protocol implementations (OPC, etc). My idea is to make this communication by TCP/IP. So the next requirement of my project is that the device to use must be able to transmit and receive packets through TCP/IP with this timestamp information.
If possible, this device should be able to remain this timestamp data after a power loss. I would prefer that the device has an internal memory to remain these data, but no problem if saving of data has to be done by an external memory.
Other requirements to take into account are
- Device must support linear and ring topology. So at least, 2 ethernet ports (internal switch integrated) must be available on the device
I have been studying what device could comply with these requirements and i have seen the AM3359 processor which has the following features:
- PTP support
- 2-port integrated switch ( for linear and ring topology).
- 4 banks of 32 GPIO ( enough for me)
- Support of TCP/IP communication acquiring a TCP/IP stack. I have this point not too much clear, so if possible confirm me.
I have also seen other processors that comply with these requirements ( like AM437X), but my question is if we can achieve all the requirements with a "smaller" solution, because the use of an ARM Cortex A8 processor to check i/o values and make timestamping sounds exaggerated.
Could you please tell me if i can achieve comply with the requirements of the project with a solution based on a MCU?? Maybe with other kind of device that at this moment i dont know.
Hope your answers.
Thanks by advance for your support.
Regards