Rezo
Well-known member
I have a set of old Pioneer CDJ 1000 MK1s that I am working on converting to run off a Teensy 4.x
I want to use the CDJ's original buttons and LEDs and control them though the main display board (I am not going to use the VFD displays)
Looking at the service manuals, I was able to determine that the display board (using a uPD780204 microcontroller), which controls the entire front panel, is connected to the main assy via SPI or SPI like form.
There are 5 signals (pins 1-5 on the MFLB left connector below):
I've hooked up a logic analyzer to try figure out how they are speaking to each other, but having a hard time figuring the message sent to the display assy
While most lines here are active-low, for some reason, the Serial Data In is active-high - is this common for SPI?
I also noticed that each "frame" contains up to 12 bytes, sent in 2.3ms windows apart
I would like to eventually use a T3.2 or T4.0 to control the display assy and read button inputs, but am unsure how to go at this.
First, I would like to read the Serial Data In line to catch button clicks etc, then be able to send payloads back to the display assy to control some of the LEDs
As this does not look like a standard SPI implementation, wondering if someone can guide me on how to get started here? Perhaps FlexIO shifters and timers might be a direction here for this "custom" serial protocol?
Also attached the LA log file
I want to use the CDJ's original buttons and LEDs and control them though the main display board (I am not going to use the VFD displays)
Looking at the service manuals, I was able to determine that the display board (using a uPD780204 microcontroller), which controls the entire front panel, is connected to the main assy via SPI or SPI like form.
There are 5 signals (pins 1-5 on the MFLB left connector below):
- Serial Clock - which is generated by the main assy and fed to the display assy
- Serial Data Out - from the main assy to the display assy
- Serial Data In - from the display assy to the main assy
- Reset - from the main assy to the display assy
- Busy (Key1) - from the display assy to the main assy
I've hooked up a logic analyzer to try figure out how they are speaking to each other, but having a hard time figuring the message sent to the display assy
While most lines here are active-low, for some reason, the Serial Data In is active-high - is this common for SPI?
I also noticed that each "frame" contains up to 12 bytes, sent in 2.3ms windows apart
I would like to eventually use a T3.2 or T4.0 to control the display assy and read button inputs, but am unsure how to go at this.
First, I would like to read the Serial Data In line to catch button clicks etc, then be able to send payloads back to the display assy to control some of the LEDs
As this does not look like a standard SPI implementation, wondering if someone can guide me on how to get started here? Perhaps FlexIO shifters and timers might be a direction here for this "custom" serial protocol?
Also attached the LA log file