I have a differential manchester encoded 0 to 5v data stream at 62500bps. What hardware do I need to get this into something I can work with, ie arduino, pi, etc?
I have searched for chips/eval boards on digikey and can't find anything that can decode differential manchester.
I have hooked it up to an arduino uart, but it is doing 8-N-1 on something that I need to see all the bits. It's is also decoding it improperly (of course). I have thought of sampling at double the baud rate and trying to do something with a lookup table, but this seems awfully hackish.
Below shows my thought process and the logic analyzer is giving me enough information to analyze the protocol, but now I need to turn it into something I can process in real-time.
Requirements: Error free to five 9's, some errors will be known because packets have a checksum. One off solution.
Other Possible Relevant Information:
A continuation of this question regarding an unknown serial bitstream.
This picture shows a typical packet of the DeLaval Alcom bus.
We are grabbing 13 bits at time and ignoring the first and last nibble.
Thus the packet is: FF 04 9F 03 00 5B.
This packet we cannot read correctly with 13 bits. We have a bit skew because the number of start bits are different as compared to the previous packet. This can be fixed in software.
- Packet #1 - This packet checks if MPC (or any node) is alive
- FF 54 9F 03 00 43
- FF Start 54 To node 84, this node is an Alpro MPC.
- 9F Packet type
- 03 From node Alpro master
- 00 Data
- 43 calculated checksum (not sure how yet, 2 Byte CRC 16?)
These are "are your alive" packets. They are sent and don't wait for response. Response comes later if node is alive.
- Sample of packets
- FF 55 9F 03 00 F6
- FF 56 9F 03 00 B2 <- saw this same packet twice with the same checksum
- FF 5C 9F 03 00 B1
- FF 5D 9F 03 00 04
- FF 04 9F 03 00 5B
- FF 0F 9F 03 00 ED <- node 15 does not exist. maybe checking that it is there or not?
- FF 58 9F 03 00 C8
- FF 59 9F 03 00 7D
- FF 5A 9F 03 00 39
Packet #2 - This packet is from the alpro master saying what to show on the screen of the sort gate MPC: 1463.
FF 3D 0D 03 1B 17 B7 05 01 00 00 00 00 00 00 00 00 D5
- FF Start
- 3D to node 61, sort gate controller
- 0D Packet type
- 03 From node, alpro master
- 1B 17 Data of 6935 means nothing to me.
- B7 05 Data 1463 16 bit little endian, which matches the cow we used.
- 01 00 00 00 00 00 00 00 00 Data, no idea
- D5 calculated checksum.
FF start is not really FF. It's a string of 1's of somewhat variable length.