Which One Should I Use - Part XIII
The complicated part of this technology was not the system of binary data, but the method in which it was transmitted from one device (the transmitter) to another device (the receiver). The key was for every device to have an integral "zero crossing" detector so that all of them were synchronized together.
Which One Should I Use, Part XIII (Preamble)
Have you ever wondered how much you can find out about yourself on the internet? (However, if you havent and would rather not read about my wondering, then you can skip directly to the history of X-10.)
I went to http://www.dejanews.com the other day and did a search on the words "Uncle Phil". I guess I was interested in seeing if anyone was talking about these WOSIU articles. (If you have not yet read the rest of the articles in the series, they are all archived here at HTI just for you.) It was humbling to find that there are at least three other Uncle Phils that are mentioned in the newsgroups more than me. One is an Uncle Phil who is a musician and he is the subject of a lot of messages in the "bluegrass music" newsgroup (bit.listserv.bgrass-l). Another one is the character "Uncle Phil" on the TV show "Mad About You", played brilliantly by Mel Brooks (alt.tv.mad-about-you). The most disturbing, however is learning that there is a series of "adult stories" about "Uncle Phil and his two nieces". I assure you, that Uncle Phil is not this Uncle Phil.
Continuing my research, I tried the phrase "Home Automation". A few of the search engines, like Infoseek and Alta Vista, were pretty good, others were miserable. Its amazing how you can run a search for "Home Automation" on Excite and the top 5 sites have nothing to do with Home Automation. (As an example: "The Institute of Hydraulics and Automation is one of the largest research centres in hydraulics and automation in Europe." Or how about: "Esprit Automation Ltd. is the largest UK manufacturer of CNC plasma and oxy-fuel plate cutting machinery." Yup, thats home automation, alright.)
Regardless of how difficult it was for you to find your way here, we are certainly glad you did. The pitfalls and foibles of internet search engines notwithstanding, it certainly illustrates the need for all of you to spread the word about HA and about HomeToys-dot-com. If you have a website of your own, please put in a link to HomeToys. If you answer a post in a newsgroup, refer them here. If you would like to have a very unusual tattoo . Well, thats stretching it a bit.
When we last met (way back in 1998) we were just finishing up filters. Now we are about to embark on a new adventure. In WOSIU#12, I offered you a chance to vote on the subject of this article.
- An in-depth explanation of the standard X-10 binary code structure with an introduction to the X-10 Extended Code set.
- Preparing a new house for home automation "before" it is built. What to tell your electrical contractor to do while your new house is being built.
- Complex coupling situations not previously covered.
- A subject of your own choosing.
On the very first day that the December issue of HomeToys hit the net, I received the first vote.
Phil, Another excellent article in an excellent series. I'm building a new house and want to get it right from ground zero. I vote for #2.
- Thanks, David Nash
Thank you for the kind words, David. As far as your vote on #2 (preparing a house for HA), I was a little worried about this. As I said two months ago, I really dont consider myself an expert in this area, so if this subject won, I would be going to school along with you. Then I started getting a few more votes for choices 1 and 3 (plus which photo you liked better). And the winner is . Well, duh! If you havent already guessed by the title of the article you really are in trouble.
So gather round children and make yourself comfortable. I, the Scheherazade of the HA world will now impart to you all my wisdom and knowledge.
.and now >
This piece is somewhat a change of pace. This one mixes a little history with a lot of technical mumbo jumbo. Its not really intended for the DIYer, or at least not the usual DIYer, because I doubt that it will help you install anything in your own home. If you have any digital background, you should find this interesting.
And now, just to get you in the right frame of mind, allow me to offer you some interesting tidbits on the early pioneers who helped pave the way for our modern digital age. (However, if you would rather not read about these early pioneers, you can skip directly to the digital stuff.)
The principle for facsimile transmission was invented in 1843 by Alexander Bain, a Scottish clockmaker, who used clock mechanisms to transfer an image from one place to another. Although he never built his machine, it is clear from his patent application for "improvements in producing and regulating electric currents and improvements in timepieces and in electric printing and signal telegraphs", that his invention made facsimile transmission entirely feasible. Bain's invention used two electric pendulums, one at each end of the wire. Each of the pendulums was made to oscillate synchronously over a rotating roll.
The sender wrote the text of his message using an electrically conductive material, then wrapped the message round the roll. As the pendulum swung over the paper, the transmitting needle picked up impulses where there was text, but no impulse where there was a gap in the text. At the other end of the line, the receiving needle made marks on photosensitive paper corresponding to the signals from the sending needle, thus reproducing the text being transmitted.
Proof that Bain's principle was sound was eventually provided when a working model was built and demonstrated in 1851. The device was based on the same principle as Bain's design, also using rotating cylinders and styluses for recording and writing. Since this first "fax" used the presence (1) or absence (0) of electrical impulses, this may very well be the first example of not only a digital system, but also a truly binary digital system.
Digital technology evolved slowly for the next hundred years. The 1970s saw a huge increase in consumer products based on digital technology. While digital audio was already well known, it was only being used in a very few recording studios. The first music CD (compact disk) was demonstrated by the North American Philips Corp. in 1979.
Also around this time, remote control took a new step when the "X-10 Powerhouse" system was demonstrated near New York City. This was a whole new way of "remote control". Earlier attempts at remote control such as "ultra-sonic" hand-held devices had their limitations. Now, with the promise of plug-in, X-10 Power House modules, nearly everything that was plugged into the wall could be remotely "commanded" to come "ON" or go "OFF".
Pico Electronics Ltd. of Glenrothes Scotland was founded in the early 1970s by investors who saw an opportunity to develop advanced integrated circuits for the growing electronic calculator market. (I found this picture of Aberdour Castle, in the town of Aberdour, in the county of Fife, Scotland. I dont know if it is close to the Pico Electronics building, but I thought it was a nice picture.) Every time Pico began a new project, it was given an "experiment" number. Pico engineers believed that a single IC could be designed to run all the operations of a portable pocket calculator. Before this time, it was common for three ICs to be used: one for the button interface, one for the display driver and one to do the actual calculations. Now, a single IC did all three things. Experiments 1 through 8 were increasingly more complex calculator ICs.
Experiment #9 was a project to design an IC that would operate a programmable record changer. This work was done for BSR (British Sound Reproduction) who shortly after requested another project to provide an electronic, wireless method of remote control for its equipment. That became "experiment #10", or simply X-10, for short.
Not surprisingly, the devices (which were named "BSR System X-10" and later, "X-10 Powerhouse) soon overshadowed the BSR audio equipment for which they were originally conceived. The first American sales of these products, in early 1979, was through a mail order electronics company who had begun importing the devices from the UK. I found, what I think was their first ad in "Radio Electronics" magazine, May 1979. It was an advertisement for X-10 available from Advance Electronics, 54 West 45th Street, New York, NY. The ad even says, "Digital pulses are sent through the power lines to assure reliable control throughout the system."
Realizing that a large market for this technology was in the USA, Pico engineers had visited New York City the year before, 1978, to demonstrate the new devices. They rented a house near New York and soon had contracts from Radio Shack and Sears. (While Sears no longer distributes the products, Radio Shack has become the largest of X-10s distributors.)
The first published report on the new X-10 units came in the July 1979 issue of "Radio Electronics" (Radio Electronics, July 1979, page 25, "BSR System X10 AC Remote Control"). A very small press release promoted the new remote control devices which were still only available in the US from Advance Electronics in New York City. It incorrectly states that the unit, " transmits FM command signals over the electrical wiring." Since FM wireless intercoms were becoming common at that time, it is possible that the author assumed that the X-10 devices used the same method of communication. Even though it appears that at that time, the contracts with Radio Shack and Sears had already been signed, it must have taken quite a while before the devices were actually available from these retail outlets. The Radio Electronics press release still listed Advance Electronics in NYC as the only outlet for the products.
A better report next appeared in "Popular Science" (Popular Science, August 1979, page 59, "Run your home with plug-in remote control"), where a one page article was published introducing the new devices. The article makes no mention of the digital technology which make the devices work, it only mentions that the " control signals travel through your house wiring ".
The next article promoting these new remote control devices appeared in September 1980 (Radio Electronics, September 1980, pages 47-51, "Plug-in Remote Control System"). That months issue had the X-10 modules as its featured article and several were pictured on its cover. Inside, a large five page spread covered the technology in great detail even giving schematics and detailed explanations of its digital technology. This is also the first published account that the devices are available from Radio Shack under their private labeled "Plugn Power" name.
There is often some confusion in terms. Although there are now about 10 companies who manufacture "X-10 compatible" devices, they are not owned by X-10 Ltd. That is why people who use the term "X-10" today, usually mean the protocol or compatible devices, and not specifically the "X-10" company.
Alright, enough with the history lesson!! Lets get to the digital stuff!
The method used by X-10 is based on a simple data frame with eight data bits (one byte) preceded by a predetermined start code.
>The complicated part of this technology was not the system of binary data, but the method in which it was transmitted from one device (the transmitter) to another device (the receiver). The key was for every device to have an integral "zero crossing" detector so that all of them were synchronized together (figure 1). A receiver opens its receive "window" twice each sine wave (figure 2), that is 120 times each second or 7,200 times each minute. (Thats 432,000 an hour, or 10,368,000 a day! That means its looking for little pulses of data 3,784,320,000 times a year !!....at 60Hz, anyway.)
Since these devices would not have any direct wiring between them, it was necessary to devise a way of sending the data over the existing electrical wiring. The actual binary data is transmitted by sending 1ms bursts of 120kHz just past the zero crossing of the 60Hz power. (While North America remains the primary market for X-10 based devices, products are also available which are designed for use on 50Hz electrical distribution systems.) It was also obvious that complementary bit pairs were necessary. Therefore, a binary "1" was defined as the presence of a pulse, immediately followed by the absence of a pulse. A binary "0" was defined as the absence of a pulse, immediately followed by the presence of a pulse (figure 3).
While the transmitted pulses were to be a full 1ms in duration, the receivers were designed to open a receive window of only .6ms. That allowed for the loose tolerances of the 1978-era components to "slop" plus/minus 200m sec.
In order to provide a predictable start point (figure 4), every data frame would always begin with at least 6 leading clear zero crossings, then a start code of "pulse", "pulse", "pulse", "absence of a pulse" (or 1110).
Once the Start Code has been transmitted, the first nibble is sent. (If you are not familiar with the term "nibble", that means 4 bits or half a byte.) In order to make it easier for the consumers to operate the devices, this first 4-bits were given "letter" code designations (figure 5). It was also decided to randomly rearrange the patterns so that the "A", "B", "C" codes, etc., did not fall in the predicable binary pattern. It is easy to see that in reality, the "M" code is first in the binary progression.
In one contiguous bit stream, the second nibble provides the second half of the address (figure 6). The last bit appears to be a part of the "number" code but in reality it is a function bit. Whenever this function bit is a "0", it designates the preceding nibble as a number code and therefore a part of the address.
For purposes of redundancy, reliability and to accommodate line repeaters, the X-10 protocol calls for every frame of data to be transmitted twice (figure 7).
Whenever the data changes from one address to another address, from an address to a command, from one command to another command or from one command to another command (figure 8), the data frames must be separated by at least 6 clear zero crossings (or "000000"). When teaching classes in this stuff, I often say that this gap "gives the receivers a chance to catch their breath". In reality, of course, the sequence of six "zeros" resets the shift registers.
Once a receiver has processed its address data, it is ready to receive a command. As before, all data frames must begin with a start code. Then the following nibble gives the letter code (figure 9). The next nibble is the command. Since the last bit is the function bit (bf = 0 = address number, bf = 1 = command) all the commands end in a binary 1.
This diagram (figure 10) only shows the six most often used commands. A later graphic will illustrate all the available commands. As before, all X-10 protocol transmitters send their data frames twice (figure 11).
Figure 12 shows that an example transmission of two data frames (A1 A1 A-On A-On, for instance) would take 47 cycles of the 60Hz sine wave. That would equate to 0.7833 seconds, or in practical terms, just under 1 second. Of course, some commands take less time. When sending an "All-Lights-On" command, for example, no address needs to be sent. Therefore the entire two frame sequence takes only one third of a second (actually, 0.3666 seconds, but whos quibbling). If your receivers react on the first frame, it could take a mere two tenths of a second (0.1833 seconds).
Up to this time, all the diagrams have shown only one pulse but that is not entirely correct. I did that just to make it easier to explain. In reality, it is not a "single phase" world. On this planet, we generate our electrical power in 3 phases (figure 13) and so all X-10 compatible transmitters "should" send out 3 pulses (as in figure 14).
Finally, I promised to give you an "introduction" into X-10s Extended Code Protocol. Im going to take the easy way out and just give you first a graphic showing all of the available bit sequences in the X-10 standard code. Instead of making this just part of the text of this article, I have made it a graphic so the word-wrap feature of your browser wont screw up the alignment.
Almost everything I have said since the beginning of this explanation can be summed up in this one graphic, but arent you glad I took the time to explain it?
You will notice that there are some changes in four of the command codes.
- Ext Code0111- Now designated as "Ext Code 1", for data and control
- Preset Dim (1)1010- Now designated as "Ext Code 3", for security messages
- Preset Dim (2)1011- Now designated as "Unused"
- Ext Data1100- Now designated as "Ext Code 2", for meter read and DSM
As far as we know (at the time of this writing) only "Extended Code 1" has a defined frame length which is 31 cycles (62 bits) and is described as:
- Start Code = 4 bits,
- Housecode = 4 bits,
- Extended code 1 = 5 bits (01111),
- Unit code (device code) = 4 bits,
- Data = 8 bits,
- Command = 8 bits..
The explanation for not having a defined frame length for the other two is:
"Extended code 2 is variable in length, depending on the type of message. It has its own separate "attention" marker to separate it from all other formats.
Extended code 3 has been "assigned" for security but doesn't actually exist yet so its format has not yet been defined."
(Refer to X-10s own XTC797 document, which can be downloaded from http://www.X10.com>, for more information. Be warned, however that it is formatted for European metric paper and you will go crazy trying to get the columns to line up.)>
It always warms my spirit when I get emails or talk to people at conventions who tell me that they have printed all these WOSIU articles and keep them in a 3-ring binder. I hope that they have been beneficial in your quest to understand this stuff. I have enjoyed writing them.
And so, once again, we have come to the end of one of these articles, but this time it is different. This will also be the end of this series. This is going to be a surprise to my most loyal readers and mostly to Bob Hetherington, here at HomeToys. Bob contacted me almost 3 years ago after having read a few of my posts in the comp.home.automation newsgroup. He felt that I knew what I was talking about and asked if I would be interested in writing an article for his web site. That first article turned into 14 more articles. But, this one is my last. Advanced Control Technologies, Inc. has decided to concentrate more on its main market of industrial/commercial controls and so our direction will be less of HA and more towards BA. I have enjoyed writing these articles; it has been fun. I want to thank all of you who have sent emails regarding this series and especially, Bob who has allowed me unconditional freedom in writing them.
Thank you all.
And Bob, thank you most of all.
- "Uncle" Phil.
Phillip Kingery is a representative of Advanced
Control Technologies, Inc.
Post A Comment
You must be logged in before you can post a comment. Login now.