Loading...
 

exPL-RS485

RS-485 Protocol Implementation

Bus Arbitration

Master polls each configured address and the "un-configured" address in sequence using either POLL or POLLD. POLLD specifies that the master has data to be delivered to the slave. Each slave must reply to the POLL or POLLD with a READY response, a DATA response, an ACK response, or no response. If the master has data for the slave and the slave does not answer, the master must buffer the data until the slave answers a poll or until timeout (tBuffer). If the master has data for the slave, the slave may answer the poll with an explicit READY frame. The slave may respond to either the POLL or POLLD command with it's own DATA frame; this is an implicit READY frame. The master must then send a DATA frame to the slave. If the master has no data ready for the slave and the slave does not wish to send data the slave may respond with ACK or no response. The master will wait (tResponse) time for a READY, DATA, or ACK before trying the next slave address. Slaves should respond with at least ACK if they are awake since this will shorten the polling process.

Auto Assigning Network Addresses

The bus master can decide how often to look for new devices on the network. If the network is very busy, the master might choose to do this less often.
On start each unaddressed node waits for the bus master to issue a hello to the broadcast address. Each unaddressed node then waits a random amount of time before sending a hello reply sourced from the broadcast address destined to address 0. The bus master (address 0) hears the hello reply and immediately issues an address assignment command. The newly addressed node issues an address assignment command ack. Other unaddressed nodes hear the hello reply and back off until they see the bus master address assignment command and command ack. The other unaddressed nodes then repeat this process.

Device Timeout

Slaves must wake up and respond to a POLL or DATA frame at least (tMinInterval). After tMinInterval the master can declare the slave dead and the slave must drop its configured address and start responding on the un-configured address.

Contributors to this page: michael .
Page last modified on Saturday 25 of September, 2010 15:30:18 CDT by michael.