The ZX Spectrum Reverse Engineering and Clone Desgin Blog


A site dedicated to the reverse engineering of the ZX Spectrum and related projects.

< 22 of 68 >

Designing The Output Driver

Apr 18, 2007

There are quite a few tunable parameters in our output driver, and there are a number of target values that we wish to achieve:

  1. Moderate drive current of say 10-15mA
  2. RGB active level of 0.55v
  3. RGB active 'Bright' level of 0.65v

To boost the normal output level to the Bright level when required, my idea is to place a resistor in parallel with the input resistor that sets the normal active output level. The equivalent resistance will be less than the normal level resistance and so the potential divider output voltage (and transistor bias) will be a little higher, as we want. If the Bright resistor is very much larger than the normal level resistor, the ground resistor of the divider is suitably small and we're carefull, we should be able to arrange for the transistor bias voltage to be lower than its switch on voltage when the 'Bright' resistor alone is selected.

Interestingly when Bright is not selected, the Bright resistor will lower the effective resistance or DR2, thus lowering the voltage seen at the output. I had not initially considered this in the design, but the colour levels generated look good with my current values. As a bonus, the RGB input being low (ie no colour) when Bright is selected will cause PR1 to lower the effective resistance of DR2 and will help keep the transistor off when Bright alone is selected.

I put together a simple spreadsheet to help me choose appropriate resistor values. The bold values are editable. A static copy of my spreadsheet results can be found here.

There are two sections to this spreadsheet. The top section allows you to supply the output resistors ER1 and ER2 which affect the drive voltage and current. ER2 is the 75R resistor internal to the television and hence cannot be changed. The purpose of ER1 is to provide current limiting should the TV RGB output/cable be short-circuited for some reason.

Most importantly you can set the desired output voltages and ground resistor DR2 of the transistor bias voltage divider. The spreadsheets main output values are the drive current Ic and a value for the main bias resistor EDR1.

EDR1 is further processed into two values PR1 and PR2. PR1 generates the normal level output, PR2 in parallel with PR1 raises the output voltate to that required for Bright (EPR). The light blue rows show VB for PR2 on it's own (the Bright resistor) so we can make sure that when PR2 alone is selected, VB < VBE and the transistor stays off.

Once PR1 and PR2 have been calculated we must choose standard resistor values that are as close as possible to PR1 and PR2. The second spreadsheet section is provided to validate our resistor choices. It allows PR1 and PR2 to be specified from which it calculates the expected output voltages.