Some time ago
(2013!), I picked up an old Panasonic edit controller (VW-EC300) that no longer
worked. This edit controller originally controlled a couple of Panasonic VCR decks, and let you
build up an edit list and write it out to videotape. These days, we tend to use
computers rather than VCRs, so it's time to see if we can make it talk USB!
I figured a good
beginning would be seeing how the device worked originally, just to familiarize
myself with it. When in use, the device has two connection cables that go to
the two VCRs. These connections provide power to the edit controller as well as
two way communication. This allows the VCRs to provide timecode and the state of the drive mechanism to the
edit controller, and allows the edit controller to send commands to the VCR. In order to make
sense of the jog/shuttle controls, you need to know a bit about how they're
used. The shuttle ring turns through 180°, with a detent in the middle. This is
typically used to control playback speed, so that the further away from the
detent you move the dial, the faster playback happens - either backwards or
forwards depending on which side of the detent you're on. The jog dial is just
a rotary encoder, allowing you to move forwards/backwards on a quanta by quanta
basis; in the case of video, this would typically be a field or a frame.
It was fairly easy
to identify the power pins internally, but applying power to the device didn't
result in any obvious signs of life. Fortunately the protocol (Control-M) used
between the VCR and controller is somewhat documented out on the Internet at http://www.avitresearch.co.uk/ctrl-m.htm.
The protocol is basically a bi-directional synchronous serial link that
transmits packets of 7 bytes. The third byte contains the command for the
VTR, the fourth byte is the drive
mechanism state, and the remainder appears to be tape position information.
This allowed me to write some code to generate some valid-ish Control-M messages containing tape position and drive state information, and amazingly, the edit
controller came to life. I did discover that one of the Control-M
interfaces (for the recording VCR) was fried, so the edit controller obviously
suffered some nasty trauma in it's past.
Opening the device up reveals three PCBs, of which one is easily accessible. This makes is an obvious candidate to look at first! The main PCB appears to be where all the action happens.
Main board topside |
Main board underside |
The second two boards provide most of the human interface except for the LCD. The larger board has the switches and LEDs on it, and the smaller board has a single switch and the jog/shuttle control. Not pictured is the 23 pin 0.2" ribbon cable that connects the main board to the human interface board. There's a total of 25 buttons, a jog dial and a shuttle ring as inputs, and 7 red LEDs as outputs.
Human interface boards |
So, that's the
insides of the device. From here, I can see two possibilities: one to build an
external converter box that takes the Control-M protocol and translates into
USB, and thus using the functionality that's already in the device; the other
to replace the mainboard with a USB controller and thus gain control over
everything. Of course, I chose to replace the mainboard with my own controller!
First up was the
requirement to understand how the human interface boards actually operated.
Given that there are no obvious active components on the human interface
boards, it seems a fair assumption that the board is multiplexed. Fortunately,
the silkscreen on the underside of the board is very descriptive, making life
much easier - if you look you can see that components such as resistors,
diodes, switches and wire links are all marked. This quickly allows us to see
that every switch appears to have a diode associated with it, certainly
indicating a matrix.
Taking a look at the
jog/shuttle control, and you can see it has nine pins. Of those nine pins, five
have diodes associated with them, and four are wired straight in. Remembering
that the shuttle ring is an absolute control, and the jog dial is a relative
control, I'd guess that the four pins are for the jog wheel, and the five pins
are for the shuttle ring.
Following the traces
on the board shows that the first seven pins on the connector are simply just
wired to the seven LEDs on the board.
Even more handy is the silkscreen that indicates these seven pins are on
the cathode side of the LED - if we ground the line, the LED should come on.
The other side of the LEDs is connected to a power supply of some description,
and this appears to be connected to pin 9. That makes sense, as the tracks
leading from pins 9 and 10 (and 18) are heavier, suggesting they carry
power. Pin 10 appears to get connected
to the metal shielding around the switches, and thus is probably ground. So
far, we have the following pins identified:
Pin | Connected to |
1 | Mark In LED (D81) |
2 | Mark Out LED (D82) |
3 | Assemble LED (D83) |
4 | Insert LED (D84) |
5 | Audio Dub LED (D85) |
6 | Preview LED (D86) |
7 | Edit Start LED (D87) |
8 | ?? Unknown ?? |
9 | LED power |
10 | Ground |
Great stuff - if we
carry on like this, we'll have identified all 23 pins real quick! Following the
traces from pin 8 leads me over a wire bridge (W12) to a couple of diodes (D61,
D62) and beyond. If you follow it on the board all the way, you'll find it ends
up at the jog/shuttle control. Following the traces for pins 11, 12 and 13 all
lead me through diodes to switches. I took the time to trace all the wiring
here, so I knew which pin led through to which button. The results were as
follows:
Pin | Button | Button | Button | Button | Button | Button | Button | Button |
8 | Player | Recorder | JS unit 7 | |||||
11 | Mark Out | Mark In | Assemble | Insert | A Dub | E Preview | E Start | E stop |
12 | Cntr Rst | Program | Clear | Goto | Return | Review | Pgm Check | |
13 | Pause | Rec | Search | Jog/Shttl | Rew | Play | FF | Stop |
If you needed any
more evidence there's a multiplex in use, I think this is probably it! I've
noted the pins connected to the jog/shuttle unit, but I don't know how they
connect (yet). Yes, I spent more than a few hours just following traces, as it
helps form a picture of how everything connects together. Continuing on with finding out where things
go, the next 8 pins have no diodes on them. There was one point that left me
rather confused initially until I realised what was going on. You may well see it straight away, but I didn't.
I was following the trace highlighted in red and could only find it went off to two switches. I'd forgotten that these momentary switches have four terminals, where each pair of terminals are connected together. They'd simply used the switch as a wire bridge to elsewhere on the board! So, following that through you can see the same picture including the electrical connection through the switch.
The lack of diodes
suggests that these are the counterpoints to the previous pins (8, 11..13), so
I'm going to call those pins rows, and pins 14..21 columns for no reason other
than it helps me think things through - remember this is a matrix!
Pin | Button | Button | Button | Button |
14 | Player | Mark In | Cntr Rst | Stop |
15 | Mark Out | Program | Rew | Recorder |
16 | Clear | Assemble | FF | |
17 | Return | Insert | Play | JS unit 1 |
18 | A Dub | Goto | Pause | JS unit 2 |
19 | Preview | Rec | JS unit 3 | Review |
20 | Edit | Pgm Check | Jog/Shttl | JS unit 4 |
21 | Stop | Search | JS unit 5 |
This is great, we
can write up the matrix fairly quickly and easily in the form of rows and
columns. There appear to be a couple of places where there could be switches,
but there aren't. I guess if I needed to add a couple more switches, I could
do. You may note a slight difference in wording, as the silkscreen is not
labelled identically to the buttons on the front panel. As I'm going to be
looking at the front panel, it's more helpful to have that notation.
C1 (14) | C2 (15) | C3 (16) | C4 (17) | C5 (18) | C6 (19) | C7 (20) | C8 (21) | |
R1 (8) | Player | Recorder | JS 1 | JS 2 | JS 3 | JS4 | JS5 | |
R2 (11) | Mark In | Mark Out | Assemble | Insert | A. Dub | Edit Preview | Edit Start | Edit Stop |
R3 (12) | Cntr Reset | Programme | Clear | Return | Goto | Review | Pgm Check | |
R4 (13) | Stop | Rew | FF | Play | Pause | Rec | Jog/Shttl | Search |
If you've been
watching closely, you'll have spotted that there are two more pins not
accounted for. These two pins go to the jog/shuttle unit and come out directly
on pins 22 and 23. My suspicion is that they are a quadrature encoded output
from the jog dial, but I'll need to put an oscilloscope on them to see what's really going on there.
In the next part, I'll break out the oscilloscope and take a look at how the board scans.
In the next part, I'll break out the oscilloscope and take a look at how the board scans.
No comments:
Post a Comment