Difference between revisions of "FixmeBus"

From Fixme.ch
Jump to: navigation, search
Line 59: Line 59:
 
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==
+
==White board #2 - 3 mai electrojam #3==
 
+
[[File:Wb2.jpg|thumb|500px]]
  
 
==Technical Documents==
 
==Technical Documents==
 
#[[Hardware]]
 
#[[Hardware]]
 
#[[...]]
 
#[[...]]

Revision as of 04:09, 4 May 2014

Overview

Len.png
RS-485.gif
20140412 190054t.jpg

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

White board #2 - 3 mai electrojam #3

Wb2.jpg

Technical Documents

  1. Hardware
  2. ...