OT: How to determine a serial protocol

Not robotics related, but you guys are the right ones to talk to about this. I'm working on a security system project. I plan on replacing the
Moose Z1100e central control unit with one of my own design but want to keep the keypads. They communicate using an unknown serial protocol. There's no info on the web about this protocol. Both the central control unit and keypads are functioning, so I can monitor the serial lines. I am considering using my dual channel storage scope to monitor the send and receive lines, except 2 things I'm concerned about - the limited capacity of the storage scope (one screen worth of data) and the fact that Ch 2 on my scope is flaky. Does anyone have any other ideas? Has anyone done a uC project to act as a logic analyzer? I would like to do this without spending alot of money (which would probably be a first for me).
BRW
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Sure: stuck a computer in the loop, and log what's coming in the serial port. If you don't know the baud rate, then just try different rates until you start getting reliable data.
There are actually two variations on this: (1) use the computer just to eavesdrop on the communication, in one or both directions; (2) make the computer a man-in-the-middle, listening on one port and repeating whatever it hears out the other port. You might start with (1) and then switch to (2) when you think you have the right baud rate, as that'll confirm it. Then you can start decoding what it hears, and use the computer for experiments (having it inject your own commands into the system) to check your understanding.
Best, - Joe
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Joe Strout wrote:

This is a good idea. You might use your scope to figure out the baud rate. While you have the scope hooked up, check the voltage levels, they are likely not RS232 levels. RS485 is a common signalling standard and proprietary current loops are also common. You may need to make a level shifter to get the computer to accept the signaling.
Something to think about is the ESD issues with security systems. I have built a few and the ESD stuff is a pain, and the highest priority for a security system to me is reliability. A flakey security system is worse than none. A possibility would be keeping the Moose panel and programming it to signal your computer through relay or optoisolators. Maybe sniffing the signaling to the front panel would work too.
Good Luck, Bob
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

You can do exactly this with a freeware serial terminal program called RealTerm (http://realterm.sourceforge.net /) It will not only allow you to forward data between COM ports and a telnet server, it also displays ANSI, ASCII, HEX and INT and handles I2C ( I haven't played with the I2C yet).
-Robotguy
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On Mon, 18 Jun 2007 13:17:11 -0700, BRW

You might look at making a "Sound card Oscilloscope" something like below. You could record the input to the sound card as a wav file, then open it with a decent .wav file editor to see if there is a recognizable pattern.
http://www.allaboutcircuits.com/vol_6/chpt_4/12.html http://www.dxzone.com/cgi-bin/dir/jump2.cgi?ID428
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Si Ballenger wrote:

Actually, there is, and the cross-posts to other groups have produced an answer to the original poster's question.
There are even companies who sell gear to upgrade Moose systems. The Moose line disappeared after two mergers, and there's a sizable installed base of orphaned gear. There's a support forum for the things at
http://www.diyalarmforum.com/board/index.php?board .100;sort=views;desc
                John Nagle
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Thanks everyone for the advice. Thanks John for the link to the DIY alarm forum. It's looks like a great source of support. But I was not able to find any discussion about the serial protocol. You mentioned cross-posts to other groups had yielded an answer. Which group? I only posted to this one.
BRW
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
BRW wrote:

With your scope, you might be able to identify: - voltage levels - base frequencies (pulse widths and spacings) - larger patterns (do pulses come in groups of e.g. 8 or 16?)
If you're lucky, these will correspond with a well-known protocol (e.g. RS232 or I2C). Then you could hook in a computer or microcontroller and capture test data until you identify the patterns.
Good luck, Daniel
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here. All logos and trade names are the property of their respective owners.