Position: Index > Unclassified >

X-10 interface for home automation projects

2017-12-22 00:20  
Declaration:We aim to transmit more information by carrying articles . We will delete it soon, if we are involved in the problems of article content ,copyright or other problems.

Simply speaking X10 protocol allows transmitting data over power lines. X10 uses a PLC(Power Line Carrier) technology. How does this work? Specification says that each time 60Hz AC signal crosses zero line there is a 120kHz burst transmitted with duration of 1ms.

X10_burst.gif

 

One crossing burst forms one information bit. Simply speaking if wee need to form a€?1a€? you need to burst at first crossing but nont at second and for a€?0a€? is reversed pattern a€“ you need to burst at second cross but none on first.

All receivers have to know when to start receiving data so every time data is to be sent there is a start code sent a€“ 3 pulses followed by absence of a pulse. After start code follows the data:

start_code.PNG

 

Actually X10 protocol have specific information packets which consist of nine bits, where first four bits represent a Letter Code which is followed by five bits what represents a device code or function.

letter_number_codes.PNG

 

So we can send letter codes from a€?Aa€? to a€?Pa€? and number codes from a€?1a€? to a€?16a€?. You may noticed, that last bit of number code is zero. Actually this last bit is used to select weather next number code will be a number or function. So there is also a function code table:

function_codes.PNG

 

So if last number bit is a€?0a€?, then it is a number, if a€?1a€?, then number code acts as function.

So we have all parts of protocol. What else we need to know. Well in order to assure reliability and to accommodate to line repeaters X-10 protocol requires that every frame(start code, letter code and number code) was senttwice.

Another requirement is that when data changes (command or address), tada frames mus be separated by at least 6 empty zero crossings. This assures that this gap gives ability to reset shift registers.

So standard X-10 transmission takes 22 AC cycles for one frame(when each frame is transmitted twice). So to transmit two frames takes where one frame sends number and second sends command takes 47 cycles of AC:

standard_x10.PNG

 

47 cycles is less than 1 second.

For you convenience whole protocol in one bunch:

hti-2-15.gif

 

As you may noticed there are few functions marked as extended codes. These functions are designated for special purposes like Extended Code1 has a defined frame length of 31 cycle. For more information refer tohttp://www.X10.com.

At the end the is a simple example how X10 home automation system may look like:

x10_example.PNG

 

References:

http://www.X10.com

http://www.hometoys.com/htinews/feb99/articles/kingery/kingery13.htm

Nuts and Volts April 2007

 


Reprinted Url Of This Article:
http://www.scienceprog.com/x-10-interface-for-home-automation-projects/