I think I have found a decent compromise that uses only 7 signals and "some amount of TMPI".
- 2 wires provide the 4-phase clock in ascending or decending Gray code (the difference is simply which wire is connected where). The direction (given by the value of one wire during the first transition) is a flag for "data valid", one of the 4 states in the QSID protocol. When it's in Data state, the payload is the 20-bit data, otherwise it contains other information (such as Q/S/I or even config data for drive/frequency/whatever)
- 5 wires transmit 18 data bits and 2 TMPI bits. This means that the TMPI width is 9 bits.
- The data are TMPI-AC coded so any invalid clock sequence will reset the AC register.
And now, let's make a Popcount9 circuit:

That was almost easy.
Less obvious now is how to make an asynchronous quadrature decoder.
Now, this deserves a proper individual project.
Yann Guidon / YGDES
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.