Richard Bair

Checking Parity in ISR

Discussion created by Richard Bair on Mar 27, 2011
Latest reply on Mar 29, 2011 by Richard Bair

I have a similar thread regarding a serial protocol that uses mark/space parity to differentiate between broadcast messages (processed by all ColdFire devices on a network) and specific unit messages targeted to only one ColdFire device on a network.


By default I'm setting all ColdFire devices on the network to mark parity and the master PC can send mark parity messages that will be interpreted by all.  The master PC must address a unit and send a space parity command for a command to be processed by only a targeted/addressed unit.


What seems to be happening is that even after "addressing" a specific unit with a mark parity address (sent twice) the space partiy message is being interpreted by other devices.  I've tested this by sending the 2x mark address broadcast followed by a space parity message which is interpreted even if I send the incorrect address (yikes!!!).  If a unit is in mark parity and receives a space parity message could I simply have a PE bit filter?  So event though I have some overhead of calling the ISR vs. multidropmode perhaps I could make it very low overhead.


That is, units not addressed would be left in mark parity and although they receive the space parity message they ignore it based on a failed PE bit.  The unit that was addressed and changed to space parity would process the message as desired.


Again, not ideal as I still have ISR overhead but functional.  Thoughts?