I don't remember seeing a real communication protocol which uses transitions on two lines to encode either a 0
or 1
without an explicit clock. However, Manchester encoding encodes the clock into the datastream, on a single line.
The ARM Serial Wire Output (SWO) Physical pin protocol can use two types of encoding:
- Manchester encoding
- UART encoding
The above ARM documentation page shows an example of Manchester encoding.
The question doesn't mention which family of microprocessor are in use, but the ARM Serial Wire Output is designed to output debugging and trace output. The SWO programmers model describes the visible registers which the running program can use to output debug information.
The Texas Instruments SWO Trace is an example of how SWO may be used in the Texas Instruments Arm Cortex-M processors and debug tools. As well as message logging where the running program formats messages for output, the debug tools can use SWO for the following which don't require modification of the program being debugged:
- Statistical Function Profile
- Exception Profile
- Variable Profile
As for hardware implementation of Manchester encoding on other microprocessors, found the Silicon Labs AN921: Configurable Logic Unit which describes using Configurable Logic Units (CLUs) inside the microcontroller to implement a Manchester encoder/decoder.
This answer doesn't answer the direct question, but shows that ARM Cortex-M is an example of a microcontroller family with built-in support for allowing debugging / tracing information to be output which has support in existing debug tools.
In response to the following comment:
I knew there was a way to combine clock and data into a single signal, but couldn't remember the name. – Mark Ransom
I have also seen the term Biphase used. E.g. the following diagram from the Zilog Z16C30 USC User’s Manual:
Where the above user's manual uses Biphase-Level as an alternative name for Manchester encoding. It has the following description of how the Digital-Phase Locked Loop can recover a
Receive clock from the Receive data signal:
This can be done only
when the received data stream includes enough transitions to keep the
recovered clock synchronized to the data. NRZI-Space encoding of
HDLC/SDLC frames, or Biphase (FM) encoding with any protocol, guarantees such data transition.