docs/dmx.txt
author Tero Marttila <terom@paivola.fi>
Sat, 05 Apr 2014 02:53:17 +0300
changeset 61 a960cf5981f7
parent 40 3803c0b40a9c
child 62 2d68a76322cb
permissions -rw-r--r--
hello-lkm: more complicated control buttons
40
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     1
* 250 kHz clock
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     2
    * 250000 bits / s
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     3
    * 4µs / bit
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     4
* idle line = high (transmitter/master drives line high)
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     5
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     6
        
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     7
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     8
Packet structure:
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     9
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    10
* paket format
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    11
    * break
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    12
    * mark (MAB)
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    13
    * 2-512 frames
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    14
        * frame 0 = start code = 0x00
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    15
        * frame N = channel N = 0-255
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    16
        * 1 start bit, 8 data bits, 2 stop bits, no parity
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    17
        * mark (MTBF)
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    18
    * mark (MTAP)
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    19
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    20
* break
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    21
    * syncs start of DMX packet
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    22
    * >= 22 low bits (88 µs)
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    23
    * up to 1s
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    24
    * recommended 25 - 30 low bits
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    25
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    26
* mark after break (MAB)
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    27
    * immediately follows the break
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    28
    * high mark of > 2 bits (8µs)
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    29
    * up to 1s
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    30
    * recommended 3 high bits
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    31
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    32
* (channel frames)
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    33
    * first frame is start code (SC)
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    34
        * data value = 0x00 signifies dimmer data
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    35
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    36
    * 11 bits / frame
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    37
        * 1 low bit (start bit)
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    38
        * 8 data bits (0-255)
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    39
        * 2 high bits (stop bits)
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    40
 
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    41
    * mark time between frames (MTBF)
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    42
        * idle time between frames; line kept high
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    43
        * can be as short as desired
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    44
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    45
    * between 1 and 512 sequential frames
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    46
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    47
* mark time between packets (MTBP)
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    48
    * after the last frame's stop bits
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    49
    * same as MTBF
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    50
    * idle time between packets; line kept high
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    51
    * can be as short as desired
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    52
3803c0b40a9c docs: own dmx writeup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    53