Difference between revisions of "FixmeBus"
From Fixme.ch
								
												
				 (→Overview)  | 
				|||
| Line 58: | Line 58: | ||
The CRC Modbus can be calculated [http://www.lammertbies.nl/comm/info/crc-calculation.html here]  | The CRC Modbus can be calculated [http://www.lammertbies.nl/comm/info/crc-calculation.html here]  | ||
| + | |||
| + | =="Vue de dessus" de FixmeBus le 4 mai à 5h02==  | ||
| + | |||
==Technical Documents==  | ==Technical Documents==  | ||
#[[Hardware]]  | #[[Hardware]]  | ||
#[[...]]  | #[[...]]  | ||
Revision as of 04:02, 4 May 2014
Contents
Overview
FixmeBus is a field bus based on the half duplex RS485 famous hardware protocol. It is a master / slave architecture, with every slave chained together.
The communication protocol is a standard UART...
... which has these following parameters:
- 38,400 bauds
 - 8 data bits
 - 1 start and 1 stop bit
 - no parity
 - no flow control
 
Each end of the bus is terminated with a 1% 120R resistor. The A/B lines are biased once at the gateway with 2x 1kOhms resistors.
The maximum length @38,400 bauds is 4 kFt = 1.2 km (see the graphic on the right).
Every data frame contain chronologically:
- 2 bytes of slave adress (ID_HIGH and ID_LOW) => 65536 slave adress at all
- ID = 0 => Master
 - ID = 65535 => order to all slaves (no ack)
 - ID = 65000 to 65499 => order to a group of slave (no ack)
 - ID = 1000 to 64999 => order to a unique slave (ack)
 
 - 2 bytes for the function (FCT_HIGH and FCT_LOW)
 - 1 byte for the number of data bytes to transmit (N_BYTE)
 - n byte(s) of data (DATA) bytes (max. 200 bytes per frame)
 - 2 bytes for the CRC Modbus (CRC_HIGH and CRC_LOW)
 
| b0 | b1 | b2 | b3 | b4 | b5 | ... | bn+4 | bn+5 | bn+6 | 
| ID_HIGH | ID_LOW | FCT_HIGH | FCT_LOW | N_BYTE | DATA[0] | ... | DATA[n-1] | CRC_HIGH | CRC_LOW | 
|---|
The CRC Modbus can be calculated here
