Hi All,
I'm trying to interface to a high performance industrial serial encoder (Tamagawa TS5643N151) which presents the encoder data (single-turn, multi-turn, and status flags) as a repeating serial bit stream, Specifically this is a 2Mbps (1M baud) manchester encoded serial signal (image attached). The block begins with a 2.625us high pulse, transmits 21 bits of data (including CRC) and terminates with a 0.375us stop pulse. I would like to read this data and store the contents in memory for later use. I purchased a Teensy 4.1 since it has hardware serial support up to 5Mbps.
I'm a little bit at a loss on how to begin tackling this communication. I assume that between the manchester encoding and the proprietary data frame format, I cannot use any standard serial libraries. I also need to be pretty efficient with the code since a new frame arrives every 42us and I need to handle other stuff in between parsing these packets.
Any tips on where to begin? A simple starting program might read the serial data and print the contents to the serial monitor once per second.
EDIT: This is all to try to get an industrial robot working as a hobby. Picture attached.


