Improving Polling for Communication Protocol


Thread Starter



I am currently experimenting with few communication protocols and methods and I have come to the point where I need to improve the polling service.

I have a big queue with many registers, where all the signals arrive and I need to make the polling system of my protocol more efficient... The question is how?

I do not want to miss data that changes too often or too fast.. Separating each signal in its own group would be an option but I have too many different signals and most is real time the problem would be the same.

I do not have event trigger possibility so its all about polling at the right moment or in the best way possible..

Any ideas on how improve a polling method and make it more efficient?

Thank you.
Polling insinuates a serial protocol with a Server/Client relationship.

Looks to me like you have two options:

1. Break the system into two or more loops by adding Servers.

2. Speed up the baud rate.

I guess a third option would be to upgrade the whole system to a "report by exception" protocol.
Just a quick idea.

You have cyclic data received in polling time.
And you have asynchronic data from time to time.

If your "slave" is "intelligent" (PLC for example) it could tell the "master" "there is more data for you".

Within the cyclic telegrams include 1 byte "extra data available",
If this byte is 0 there is nothing to do.
Each byte that is set means "there is additional data you can request".
Thus you could define 8 additional frames to be requested in 1 byte.