Thursday, 12 October 2017

Inside A Toyota GT86 Ignition Coil Pack

Some pictures of the insides of a Toyota Ignition Coil Pack from a Toyota GT86.

This particular coil pack failed which seems to be a common problem on the GT86. I decided to see how they are constructed to see if there was any sign of why this one failed.

It sat in Dichloromethane for about two months to remove the potting compound and plastics. Occasionally i would take it out and remove some of the softened plastic and immerse it again.

Although the depotting process has caused significant damage to it we can see the major components.

A coil pack is basically a pulse transformer, there is an iron core with the high voltage secondary coil wound around and separated into sections, this is to provide isolation between the sections of the coil as the coil will generate many 10s of kilovolts. The primary winding can't really be seen but the thicker gauge wire is visible slightly at the top connected to the outer most conductors at the top.

Also visible is a diode and under the main connection terminals is the driver IC (a black rectangle) which has four connections. These connect to the external 3 contacts which provide GND, +12v and Trigger inputs, the fourth connection on the IC is the other side of the primary winding.

The spark plug connection has departed from the secondary coil as it was connected only to the fine wires of the secondary, it fell off during the depotting process.

Interestingly the driver IC does seem to be cracked, it's not clear though if this was caused by me during depotting or if it is the cause of the coil pack failure.

The coil pack before depotting.

The three external connections are on the right, with the driver IC just under them.

View of the high voltage secondary.

Top view showing the external connections and the IC underneath.

Friday, 19 May 2017

Teardown: Photec IV - 20,000 FPS 16mm Film Camera

In this video i take a look inside a 1980s film camera capable of 20,000 FPS.

The Photec IV camera was introduced in the 1980s by Photonic Systems Inc, It is a high speed 16mm movie film camera that uses a rotating prism to allow the film to run through the camera in a continuous motion.

The camera can take 400 ft film loads and has a Mamiya 645 lens mount.

The camera was available in different configurations, different prisms could be installed for full frame, half frame and quarter frame shooting which multiplied the FPS by x1, x2 and x4. The configuration on my camera is half frame.

The camera has a configurable FPS from 100 to 1000 FPS in 100 FPS steps and 1,000 to 10,000 FPS in 1,000 FPS steps at full frame. In half frame configuration this is 200-20,000 FPS and quarter frame is 400-40,000 FPS.

Mechanically they are quite simple, a large motor drives the take up reel, the action of the film running through the sprockets drives the prism.

At 10,000 FPS the linear film speed is around 170mph.

Saturday, 11 February 2017

Reading Unsupported PROMs On A MiniPro TL866

As part of our slow progress with the Quantel DPB-7001 Paintbox we have been working a way to try and emulate a SMD hard disk. Because we don't have a working DPB or an SMD drive we need to build a rudimentary emulator of the disk controller element of the DPB so we can understand how it works.

Quantel DPB-7001 Disk Sequencer Card with 7 PROMs on the far right.

This will allow us to design a replacement plugin card for the physical DPB-7001 that would replace the Disk Sequencer card with a SMD emulator built into it using some flash memory and an FPGA.

Although most of the DPB uses standard 74 series logic, the disk controller uses an AMD AM2910 microcode sequencer driven from a small set of codes contained within 7 PROMs. We need to extract the code from these to be used within the DPB emulator that is being written. These PROMs are 28L22 devices with 256 x 8 bits of storage. The addressing is simple for these devices, there are 8 address lines to address each of the 256 memory locations and 8 data bits of output.

Unfortunately my MiniPro TL866 EPROM programmer doesn't support the 28L22, but that does not mean it can't read them with a bit of thought.

What we can do is make a small adaptor board to convert the pinout of the 28L22 PROM to be pin compatible with some other memory device the TL866 can read.

The closest match i could find was the AM2716B, which is a EEPROM with 2048 x 8 bits of storage. Though this has 10 address lines to access the additional memory space of this device. This is not a problem, we can simply leave these two extra address lines unconnected at the reader. The result of this is the reader will think it's reading out 2048 bytes of data but in fact it will be reading 256 but it will wrap around 8 times in the data readout.

Firstly we need to make an adaptor board to connect the device into the TL866:

During construction, the pin headers protrude through the base of the strip board to make contact with the ZIF socket of the TL866. Each pin can then be wired to a IC socket the 28L22 PROM will plug into.

View from underneath.

The 28L22 PROM plugged into the TL866.

Once the data is read out, we simply discard the last 1792 bytes of data to get to the original 256 bytes of data.

Saturday, 24 December 2016

Quantel Schematics & Documentation

During my adventures with the Quantel Paintbox i have unearthed several pieces of documentation that i have scanned in and provided on my Google Drive for all to access.

Many Quantel products used the 3U V-Series chassis so these documents maybe of relevance even to non Paintbox systems. For example the Editbox used the same architecture as the V-Series but was in the larger rack.

As i add more i will include the details into this post

To access the repository use this link:

The current list of documents is as follows:

Quantel BridgeProcessor2 2058-66 Schematic.pdf
Schematics for the Bridge Processor used in the V-Series chassis.

Quantel CPU3 2060-74 Schematic.pdf
Schematic for the 68010 CPU3 (2060-74) card used in the early V-Series chassis.

Quantel CPU42 2078-82 Schematic.pdf
Schematic for the 68040 CPU42 (2078-82) card used in the later V-Series chassis, similar 2099 & 2101 boards were also used in the Editbox, Domino systems that used the same architecture.

Quantel DiskStore1M 2060-72 Schematic.pdf
Schematic for the DiskStore1M (2060-72) card used in many of the V-Series chassis.

Quantel VideoOut4 2057-69 Schematic.pdf
Schematic for the VideoOut4 (2057-69) used in some of the V-Series chassis, this has YUV/RGB analog and SDI digital output.

Quantel Netcom & Snetcom Documentation.pdf
Some possibly internal user guide for the Netcom and Snetcom board used in the V-Series chassis.

Quantel Network Engineering Training Manual 2066-58-050B.pdf
Network Engineering Training Manual 2066-58 for the V-Series including details of picturenet etc.

Quantel Paintbox Express Installation Manual 2090-58-030B.pdf
Complete installation manual for the Paintbox Express, this is a later 68040 based V-Series machine.

Quantel Paintbox Maintenance Training Manual 2056-58-050C.pdf
Some maintenance & engineering information for the V-Series Paintbox.

Quantel Picturebox Maintenance Training Manual 2057-58-050C.pdf
Similar to the manual above but for the V-Series Picturebox.

Wednesday, 7 December 2016

Quantel Paintbox V-Series - Setting The RTC Date

I have recently been playing around getting a Quantel Paintbox (V-Series Harriet) running. During the process i had to replace the battery backed SRAM which also contained the Real Time Clock (RTC).

Within the Paintbox user interface there is an option to set the time but not the date, this is even true in the engineering console where you have more access to the operating system. The only way to set the date is to manually set the RTC clock by poking bytes into a memory location.

This is due to Quantel's time-limited software keys. If there was an easy way to set the date then it would be easy to circumvent their feature expiry time by simply adjusting the system date before the key expires.

The V-Series CPU3 (also CPU3, CPU42 & CPU43) board has two battery backed SRAMs, these are the ST MK48Z02 and the MK48T02. The 'Z' version is a regular SRAM, the 'T' version includes a RTC which is mapped into the last 8 bytes of the MK48T02's 2048 byte address space.

In the CPU3 implementation 'RF' (the component designation on the PCB silkscreen) is the MK48T02 and 'RD' is the MK48Z02. Both devices are memory mapped into the 68000 address space starting at $040000 to $040FFF. The MK48Z02 is mapped to EVEN bytes and the MK48T02 is mapped to ODD bytes to give a total capacity 4,087 bytes (accounting for the 8 RTC control registers).

According to the datasheet for the MK48T02 device the RTC register map is as follows:

Add  D7 D6 D5 D4 D3 D2 D1 D0
7FF:  -  -  -  -  -  -  -  - : Year 00-99
7FE:  0  0  0  -  -  -  -  - : Month 01-12
7FD:  0  0  -  -  -  -  -  - : Date 01-31
7FC:  0 FT  0  0  0  -  -  - : Day 01-07
7FB: KS  0  -  -  -  -  -  - : Hours 00-23
7FA:  0  -  -  -  -  -  -  - : Minutes 00-59
7F9: ST  -  -  -  -  -  -  - : Seconds 00-59
7F8:  W  R  S  -  -  -  -  - : Control

ST=Stop Bit
R=Read Bit
FT=Frequency Test
W=Write Bit
S=Sign Bit

KS=Kick Start Bit

To translate this to the Paintbox memory map we must multiply the address by 2 and add $40001. So the map becomes:

Add    D7 D6 D5 D4 D3 D2 D1 D0
40FFF:  -  -  -  -  -  -  -  - : Year 00-99
40FFD:  0  0  0  -  -  -  -  - : Month 01-12
40FFB:  0  0  -  -  -  -  -  - : Date 01-31
40FF9:  0 FT  0  0  0  -  -  - : Day 01-07
40FF7: KS  0  -  -  -  -  -  - : Hours 00-23
40FF5:  0  -  -  -  -  -  -  - : Minutes 00-59
40FF3: ST  -  -  -  -  -  -  - : Seconds 00-59
40FF1:  W  R  S  -  -  -  -  - : Control

You can poke bytes into these addresses using the Quantel AFS Monitor on the serial port prior to booting the Paintbox software or you can use the 'MEMORY' command from within the Paintbox console.

Using the AFS Monitor to set the date to Wednesday 7 December 2016, remembering the values are BCD and the year is defined as years since 1980.

At the command prompt:

Allow write access to registers & stop clock:

Set the day of week:

Set the date:

Set the month:

Set the year:

Disable write access to registers & start clock: