Lap Timing Decoder
#406
Tech Rookie
Joined: Jul 2014
Posts: 3
Hi guys,
I've registered just to post this here - to say the least I'm bloody impressed at how far you guys have come with this and to congratulate you on what you've done so far.
I came across this through doing a bit of research for what I'm still working on - which as it happens is almost the exact same thing, but aimed at cycling.
I won't go in to details for now, but will say just this:
1. I've been involved with electronic timing since 1994 - and have a very good understanding of the protocols and electronics used by MyLaps and a number of their competitors - particularly Dorian, but also TagHeuer and Orion. Knowing the problems those systems had to overcome, and the shady business dealings of ... err... one certain company - bravo to you guys getting this far.
2. It's interesting to see the design decisions you guys have gone with, largely in order to retain compatibility.
3. I too am in the process of designing a system (targeting to cycling), but which uses very different principles to any of the MyLaps systems. It's much closer in function to Dorian DATA-1 or Equitime in how it works.
I'll certainly be keeping an eye on this as you guys progress.
I've registered just to post this here - to say the least I'm bloody impressed at how far you guys have come with this and to congratulate you on what you've done so far.
I came across this through doing a bit of research for what I'm still working on - which as it happens is almost the exact same thing, but aimed at cycling.
I won't go in to details for now, but will say just this:
1. I've been involved with electronic timing since 1994 - and have a very good understanding of the protocols and electronics used by MyLaps and a number of their competitors - particularly Dorian, but also TagHeuer and Orion. Knowing the problems those systems had to overcome, and the shady business dealings of ... err... one certain company - bravo to you guys getting this far.
2. It's interesting to see the design decisions you guys have gone with, largely in order to retain compatibility.
3. I too am in the process of designing a system (targeting to cycling), but which uses very different principles to any of the MyLaps systems. It's much closer in function to Dorian DATA-1 or Equitime in how it works.
I'll certainly be keeping an eye on this as you guys progress.
#407
Hi guys,
I've registered just to post this here - to say the least I'm bloody impressed at how far you guys have come with this and to congratulate you on what you've done so far.
I came across this through doing a bit of research for what I'm still working on - which as it happens is almost the exact same thing, but aimed at cycling.
I won't go in to details for now, but will say just this:
1. I've been involved with electronic timing since 1994 - and have a very good understanding of the protocols and electronics used by MyLaps and a number of their competitors - particularly Dorian, but also TagHeuer and Orion. Knowing the problems those systems had to overcome, and the shady business dealings of ... err... one certain company - bravo to you guys getting this far.
2. It's interesting to see the design decisions you guys have gone with, largely in order to retain compatibility.
3. I too am in the process of designing a system (targeting to cycling), but which uses very different principles to any of the MyLaps systems. It's much closer in function to Dorian DATA-1 or Equitime in how it works.
I'll certainly be keeping an eye on this as you guys progress.
I've registered just to post this here - to say the least I'm bloody impressed at how far you guys have come with this and to congratulate you on what you've done so far.
I came across this through doing a bit of research for what I'm still working on - which as it happens is almost the exact same thing, but aimed at cycling.
I won't go in to details for now, but will say just this:
1. I've been involved with electronic timing since 1994 - and have a very good understanding of the protocols and electronics used by MyLaps and a number of their competitors - particularly Dorian, but also TagHeuer and Orion. Knowing the problems those systems had to overcome, and the shady business dealings of ... err... one certain company - bravo to you guys getting this far.
2. It's interesting to see the design decisions you guys have gone with, largely in order to retain compatibility.
3. I too am in the process of designing a system (targeting to cycling), but which uses very different principles to any of the MyLaps systems. It's much closer in function to Dorian DATA-1 or Equitime in how it works.
I'll certainly be keeping an eye on this as you guys progress.
My designs and ramblings presented here have attracted a good number of very talented people who are creating their own systems, sometimes using bits and pieces of what has been presented, sometimes entirely from scratch. I find it very inspiring to hear of their exploits! Please keep us posted on your progress!
#408
Tech Apprentice
Joined: Jul 2014
Posts: 86
From: Sweden
I have tested a few things with decoding old amb protocol from the transponder.
One thing i noticed with my old amb decoder is that the bits after the 8 data byte in the stream are not needed for it to read the transponder number, and it makes sense since the 16bit number have its last most significant bit in it.
What i have tried after that is tested all 32 posible combinations that still gives the same transponder number.
the last 8 bits is this sequence in my test: 01100100 (decoded 110)
and only these 4 worked
00100111
00100100
01100111
01100100
they all are within one bit error of the original and is then error corrected by the decoder. none other sequence worked of the 32 possible combinations.
I then tried to change the transponder number by cutting the last bit from 110 to 100 making the transponder number 3xxxxx2, well within the range between 2097152-9999999
Again if the code to create the message is decoded without knowledge of what is coming after the bit its reading, i could try all 32 possible combinations that make this transponder number and one of them, or 4 with error corrections, should work then. but this was not the case, none worked. This suggest that not all possible transponder numbers are valid even if you get the coding right.
And last a question, have anyone managed to create a trellis diagram that work to recreate a known sequence? or is it some other coding in use here? I have failed to get a 2bit state trellis to work, is it a 3 bit state? reversed order?
ps.
my own made transponder often have a "ghost number" that is not the real number that show up more often than the real number, this is always under the 2097152 that some say is the lowest possible number, yet my decoder picks it up, i have picked up a ghost number of 16000 something from a transponder with a 5000000 number. I thought the error correction must be weak to allow this, of 6 transponder numbers i have programmed and tested in my own made transponder 5 have this ghost numbers .
One thing i noticed with my old amb decoder is that the bits after the 8 data byte in the stream are not needed for it to read the transponder number, and it makes sense since the 16bit number have its last most significant bit in it.
What i have tried after that is tested all 32 posible combinations that still gives the same transponder number.
the last 8 bits is this sequence in my test: 01100100 (decoded 110)
and only these 4 worked
00100111
00100100
01100111
01100100
they all are within one bit error of the original and is then error corrected by the decoder. none other sequence worked of the 32 possible combinations.
I then tried to change the transponder number by cutting the last bit from 110 to 100 making the transponder number 3xxxxx2, well within the range between 2097152-9999999
Again if the code to create the message is decoded without knowledge of what is coming after the bit its reading, i could try all 32 possible combinations that make this transponder number and one of them, or 4 with error corrections, should work then. but this was not the case, none worked. This suggest that not all possible transponder numbers are valid even if you get the coding right.
And last a question, have anyone managed to create a trellis diagram that work to recreate a known sequence? or is it some other coding in use here? I have failed to get a 2bit state trellis to work, is it a 3 bit state? reversed order?
ps.
my own made transponder often have a "ghost number" that is not the real number that show up more often than the real number, this is always under the 2097152 that some say is the lowest possible number, yet my decoder picks it up, i have picked up a ghost number of 16000 something from a transponder with a 5000000 number. I thought the error correction must be weak to allow this, of 6 transponder numbers i have programmed and tested in my own made transponder 5 have this ghost numbers .
#409
my own made transponder often have a "ghost number" that is not the real number that show up more often than the real number, this is always under the 2097152 that some say is the lowest possible number, yet my decoder picks it up, i have picked up a ghost number of 16000 something from a transponder with a 5000000 number. I thought the error correction must be weak to allow this, of 6 transponder numbers i have programmed and tested in my own made transponder 5 have this ghost numbers .
http://www.rctech.net/forum/radio-el...er-design.html
Here is the particular post:
http://www.rctech.net/forum/11978449-post126.html
This post doesn't mention the "ghost numbers", although (if I recall correctly) the remedy described did fix this also.
Last edited by howardcano; 07-24-2014 at 12:49 PM.
#410
Tech Apprentice
Joined: Jul 2014
Posts: 86
From: Sweden
Great information, but i have not find any status message on my AMBrc DP, how does the status message "preamble" look like, if any? I have a 200MHz recorder but it only record just enough time to get a id message in one frame (without triggers) so i have to try many times before i randomly get a message at the same time it records. And the antenna pickup is not great so the information is bad most of the time.
#411
Great information, but i have not find any status message on my AMBrc DP, how does the status message "preamble" look like, if any? I have a 200MHz recorder but it only record just enough time to get a id message in one frame (without triggers) so i have to try many times before i randomly get a message at the same time it records. And the antenna pickup is not great so the information is bad most of the time.
http://www.rctech.net/forum/13423620-post183.html
#412
Hi all
been tying to follow this thread on and off for a while.
maybe some one can answer this quick and easy. we run two tracks in our area with the same amb timing gear, with the second track I will like to run it with out the yellow cable ( the one with the magic black box) just coaxial and an amp I guess(home made magic box), would this following link work for what Im trying to achieve ?
http://www.jaycar.co.nz/productView....UBCATID=965#11
Iknow Howard has put up a drawing but I not sure if I can get all the bits.
Thanks for any help I may get.
been tying to follow this thread on and off for a while.
maybe some one can answer this quick and easy. we run two tracks in our area with the same amb timing gear, with the second track I will like to run it with out the yellow cable ( the one with the magic black box) just coaxial and an amp I guess(home made magic box), would this following link work for what Im trying to achieve ?
http://www.jaycar.co.nz/productView....UBCATID=965#11
Iknow Howard has put up a drawing but I not sure if I can get all the bits.
Thanks for any help I may get.
#413
Hi all
been tying to follow this thread on and off for a while.
maybe some one can answer this quick and easy. we run two tracks in our area with the same amb timing gear, with the second track I will like to run it with out the yellow cable ( the one with the magic black box) just coaxial and an amp I guess(home made magic box), would this following link work for what Im trying to achieve ?
http://www.jaycar.co.nz/productView....UBCATID=965#11
Iknow Howard has put up a drawing but I not sure if I can get all the bits.
Thanks for any help I may get.
been tying to follow this thread on and off for a while.
maybe some one can answer this quick and easy. we run two tracks in our area with the same amb timing gear, with the second track I will like to run it with out the yellow cable ( the one with the magic black box) just coaxial and an amp I guess(home made magic box), would this following link work for what Im trying to achieve ?
http://www.jaycar.co.nz/productView....UBCATID=965#11
Iknow Howard has put up a drawing but I not sure if I can get all the bits.
Thanks for any help I may get.
#415
Tech Rookie
Joined: Jul 2014
Posts: 3
There are circuits in this thread which use a microcontroller to timestamp the data, these get good enough precision. Moving all decoding and timing to an FPGA (with averaging of multiple hits) gets both accuracy and precision even closer. Then there's the fancy analogue magic that AMB use (probably patented) that will get you the last bit of accuracy.
TranX is somewhat susceptible to mounting height and metallic objects being placed fore or aft of the transmitter. The reason for this is, as you say, averaging. Given the radiation pattern of the antenna used, at a raised height, the actual hits received may only be from the mid-point (or leading/trailing edge) as the transmitter crosses the loop.
The algorithm is more like avg(strength*time) - ie, the leading edge signals are slightly weaker, they induce a lower voltage, so they're not considered as relevant - but still somewhat relevant - to the overall signal.
This is important as you might only get, say... packets 1, 3, 7, 22, 24 if you have a lot of noise (and don't want to type a long list

I can prove as much as about 50ms variance in TranX crossings.
TranX Pro can control a few loops, but most other AMB systems are single loop - and single timebase per decoder.
Ceres is a bit more... catastrophic in this regard. You see, Ceres uses the very last frame only for calculating time. We only discovered this recently. The result is that when you get lots of transponders through its active field simultaneously, all bets are off as to when you might get that timestamp due to collisions etc. TagHeuer RCS is a bit the same.
Ceres also doesn't use a loop for detection at all - the loop is an activation loop only. Detection is actually via an antennae connected to the decoder. I'm not going to explain right now how this leads to almost zero accuracy.
Then there's DATA-1 - designed in 1986(?), still the gold standard for accuracy. The new Formula 1 transmitters use a similar principle - but they're still not quite as accurate.
In DATA-1, you're looking for a certain squelch level.
In a DATA-1 frame, imagine you're looking for 6 bytes. It's very small - and yes, they're very limited in their available number range. It uses an antenna very similar to a ham radio - it's a ferrite core loopstick antenna - highly directional. As the transmitter gets closer to the leading edge of the loop, it induces a + voltage. It's going to get closer and closer, each time each bit being a little bit stronger voltage. Then eventually it's going to pass that leading edge loop, and start giving less voltage. Then it's going to reach the trailing edge of the loop, and start inducing the other way - until it peaks - then it trails off.
Mk42 puts a frame-counter within the frames. This does two things: 1: The Two CRCs completely change with every frame. and 2: If you're missing a frame due to noise etc, you also know *which* frame.
Since both systems don't pause between frames, they just loop straight back to where they started, you know very precisely how much time was missing between each frame.
The time that gets used is the exact centre point (in 10,000ths of a second) between four signal points - the squelch level you set on the rise, then as it came back down, then the negative of this on the trailing loop edge, then the fall.
It's rated to operate at 400km/h - though we've been able to get a few frames at 432km/h, down to only a single frame at 460km/h.
Unfortunately the result of the use of a loopstick antenna like this is your maximum range is about 40 centimeters at 3V, but that's fine. Mk42 is using exactly the same method. Differences: It can act as an active transponder, or a passive transmitter, and it uses a much smaller antennae - it only has to operate at speeds of 70km/h, not 400km/h. The transponder version has a coil in it, and whereas in MyLaps systems the active field transmits data, which in effect is used to tell a Flex transponder whether or not to turn on, all we use it for is to generate enough of a electrical charge to turn on the attiny85 it runs on. After it gets that high bit, battery power takes over until it goes low again, and the transponder turns off.
Another core difference is how AMB RCx, AMB TranX, TagHeuer RCS and Orion Ceres handle collisions.
As you might imagine, when you only have a single reception antennae, a lot of things happen when you pass multiple devices over a loop simultaneously. One of these is noise. It's extremely difficult to decode multiple electrical signals on a single line when they're both trying to talk over each other - so you could miss effectively most of your frames.
DATA-1 gets around this in two ways: One, because of the very low transmission range I spoke about because of the loopstick antenna.
The second is by using multiple smaller loops. By making your loops as wide as your narrowest vehicle, you can gaurantee only one device at a time ever crosses a single loop at a time. Result: No noise on loops from multiple simultaneous transmitter passes, as they're isolated.
So how is this managed?
Well, DATA-1 in general allows use of four loops per card, and up to 7 cards per Track-Side Receiver - 28 addresses, with 4 reserved for other hardware addresses. Each card has its own clock, so you need to sync them periodically (we would generally do it before the start of each race to be safe).
Mk42 does it a bit differently - using a set of common pins which provide a constant 10-bit clock sync. But essentially it's designed as an expandable system. For almost everyone, one card (4 loops) will be sufficient.
These loops on cards - they might not all be for the same line. Say you have 7 cards in a TSR, you might have 12 of those loops as the main finish line, another 4 being a speed trap 10m after the finish line, and 5x2 in pit lane giving you 4 pit lane speed traps. Why 5x2? Because if a car stops in a pit bay directly on that loop, it's flooding that loop, so you put one on the garage side, one on the lane side.
So what about when you want more loops? Well, then you add another TSR, and you have a super-node that connects to TSRs. The result? Well, right now I'm looking at the track.cfg for Texas Speedway that has 8 TSRs with 4 cards in them, and another 3 TSRs with 2 cards in each. Yep, 152 loops total. I've also got the Indianapolis one here which is 15 TSRs each with 4 cards in them - 240 loops. The ones for Australian and NZ tracks are really pretty boring - couple of lines, few speedtraps, nothing special.
Then there's manual cards that control things like lights.
Anyway, that's gone a bit off track, but the point of typing this out is to hopefully help you get some thinking caps on with respect to how you would go about determining an accurate event time given what signals you can pick up - and how you can consider a 'better' system to be more accurate if it doesn't have to deal with collisions, or omni-directional antennae.
I guess what I'm saying is:
If you get away from the thinking that one loop across a track is used, just because AMB/MyLaps do it that way - you may find yourself able to get much more accurate times, particularly when dealing with multiple simultaneous crossings.
Anyway, enjoy ;D
Last edited by akashra; 08-10-2014 at 02:17 AM. Reason: 10,000ths not 10/000ths.
#416
Tech Rookie
Joined: Aug 2014
Posts: 8
To howardcano:
I was made decoder based on you schematic. And find some problems.
1. Some time it received wrong bits at end of data packet (last 3 bytes). First 8 bytes is all time right. Think need make synchronization with transponder signals like DPLL.
2. The signal after U1C (To phase detector) looks not good.
I was made decoder based on you schematic. And find some problems.
1. Some time it received wrong bits at end of data packet (last 3 bytes). First 8 bytes is all time right. Think need make synchronization with transponder signals like DPLL.
2. The signal after U1C (To phase detector) looks not good.
#417
Anyway, that's gone a bit off track, but the point of typing this out is to hopefully help you get some thinking caps on with respect to how you would go about determining an accurate event time given what signals you can pick up - and how you can consider a 'better' system to be more accurate if it doesn't have to deal with collisions, or omni-directional antennae.
#418
We'll need more information to help with this.
#419
Tech Rookie
Joined: Aug 2014
Posts: 8
Yes, bit errors do occasionally happen, and not just in the last three bytes. That's virtually impossible to prevent, and is why almost all systems have some software-based method of detecting and correcting them. In my case, the software looks for three identical data packets in a row before accepting the packet as valid.
I not have permission to place directly links on this forum. Delete spaces in link.
w w w.d r o p b o x.com/s/3vcy1ubcw0i9w2p/notgood.png
#420
http://www.rctech.net/forum/11880840-post118.html
The operating frequency of the transponder may differ from the decoder without generating errors, but the tolerable difference depends on the maximal run of zeroes in the data. This is 13 zeroes from the transponders I have tested, which translates to a frequency difference of about 1%. None of the transponders I tested had a combination of frequency deviation and maximum run of zeroes that would generate a bit error.
It doesn't look good; it should have very sharp rise and fall times. Make sure you are using a 74HC device (not 74C) for U1, and check for any miswiring creating excess capacitance on the node.



8Likes