You are on page 1of 14

X10 PLC

(c) 2013 R. Newman


University of Florida

What is X10
Narrowband PLC for home automation
(domotics)
International and open industry standard
13 manufacturers (including GE, Panasonic)

Developed in 1975 by Pico Electronics


(Scotland)
First products shipped in 1978

First general domotics technology, most widely


available
Modules addressed with house and unit codes

Comprises
PHY modulation, coupling, etc.
DL frame format
AL command language

X10 PHY
Transmissions immediately after zero
crossings (within 200 usec)
Less noise at zero crossings
Line cycle provides synchronization

120 KHz carrier sent as burst (1 msec)


Repeated at 1/3 and 2/3 half line cycle for 3phase systems (to be at zero crossing for all)

One bit per zero crossing


Data bits repeated in inverted form in next half
line cycle (like biphase encoding)

X10 PHY

1 msec burst repeated 3 times in half line cycle

X10 symbol coding


ASK modulated biphase encoding
1 is sent as a burst at zero crossing, followed by
absence of burst at next zero crossing
0 is sent as absence of burst at zero crossing,
followed by burst at next zero crossing
Rx acceptance window begins 250 usec and
ends 900 usec after zero crossing
>= 48 cycles of 120 KHz = 1, else 0
Bits sent as ASK NRZ-mark during start code
(like preamble)

X10 Code Transmission

Complete transmission block takes 11 line


cycles

X 10 Transmission Block

Start code bits not repeated


Makes unique, non-data code

All other bits repeated in inverted form

X10 Transmission Blocks


Start Code 1110 starts every TB (2 LC)
House code is 4 bits (4 LC)
Number code or function code is 5 bits (5
line cycles)
Complete transmission block repeated
twice with 3 line cycle idle gap between
For reliability copy code
Dimmer commands (bright and dim) are
exceptions sent continuously with no gap

X10 Codes
4-bit House Code to identify devices in
same home (actually, identifies a set of
devices regardless of where they are)
For usability, lettered A-P

5-bit Key Code


Number code sent when number button is
pressed D16 = 0
Function code sent when function button is
pressed D16 = 1

X10 Codes
Number codes used to address modules
Once addressed, a module responds to all
command codes
Become unaddressed when next
address message is received, or when
all units off command received
Codes used to
Turn lights on/off, dim/brighten
Open/close shutters
Read meters/status

Notes on Codes
Hail
Used to poll for devices with same house
code in range
If receive Hail ACK, installer knows to use a
different channel

Extended data code


Used for transmission of digitized analog data
Sent in 8-bit bytes
First byte may be length field
No gaps between bytes (so no confusion)

Extended Code Access Protocol


Extended codes can take significant time
Need to avoid collisions, detect and
resolve them if they do occur
No priority levels
Listen for idle medium
Wait random time of 8, 9, or 10 half cycles
Restart timer if detect a 1

Detect collisions
When transmitting, listen during 0s for 1
If 1 detected, abort and restart access

X10 References

http://www.smarthomeusa.com/info/x10theory/
http://software.x10.com/pub/manuals/xtdcode.pdf
http://www.homecontrols.com/FAQ_Library
http://www.x10.com/automation/automation_modules.html

You might also like