Problem! I can not find an earlier thread
Buck Rogers
Posts: 2,190
Hello!
I have open in the Prop IDE, the collection of items that make up the OnePinTVText set. And something in one of the SPIN files has this in it:"
This driver was inspired by the Parallax Forum topic "Minimal TV or VGA pins"
http://forums.parallax.com/forums/default.aspx?f=25&m=340731&g=342216
Where Phil Pilgrim provided the following circuit and description of use:
(schematic deleted)
"White is logic high; sync, logic low; blank level, CTRB programmed for DUTY
mode with FRQB set to $4924_0000. The advantage of this over tri-stating for
the blanking level is that the Propeller's video generator can be used to
generate the visible stuff while CTRB is active. When the video output is high,
it's ORed with the DUTY output to yield a high; when low, the DUTY-mode value
takes over. CTRB is simply turned off during the syncs, which has to be handled
in software.
The resistor values (124Ω series, 191Ω to ground) have an output impedance of
75 ohms and will drive a 75-ohm load at 1V P-P. The cap is there to filter the
DUTY doody."
However, in my experience, the RC network is not required. I have tested
successfully using any of the Demoboard TV DAC resistors (although the higher
resistance yields darker text) and with no resistors at all (although this
is not recommended).
Driver limitation details:
CLKFREQ => 12MHz
op_cols =< CLKFRQ / 1.2MHz (LSB) | CLKFREQ / 1.3MHz (MSB)
op_cols * pixels/char => 45
op_pixelclk => 1MHz
Q: Why specify op_pixelclk?
A1: To reduce shimmer caused by the number of significant bits in FRQA.
A2: To allow for WAITVID timing experimentation.
A3: To reduce horizontal overscan & display more characters per line.
Q: Why specify op_blankfrq?
A1: To tune the brightness of the text for a particular display.
A2: To allow for light/dark pulsing text. (Red Alert!!)
Q: Why specify pixels/char <> 8?
A1: To allow for fonts thinner than 8 pixels to be displayed.
A2: To allow for blank pixels between characters (i.e. hexfont.spin)
Q: Why not fonts with vertical sizes <> 8?
A: It probably can be done, but would require a chunk of time-sensitive
code to be re-written.
Q: Why fewer characters per line for MSB first fonts?
A: MSB first fonts require one more instruction in a timing sensitive loop.
Q: Why is pixels/char embedded in op_mode rather than a separate long?
A1: It's an optional parameter. op_mode := 1 | 2 will be the norm.
A2: It started as a 1 bit parameter for 9 pixel wide characters, but then
grew into a nibble.
}}", And it is in "OnePinTVText" by name. I need to find the thread to find out what prompted that choice of probably precision resistor values.
I have open in the Prop IDE, the collection of items that make up the OnePinTVText set. And something in one of the SPIN files has this in it:"
This driver was inspired by the Parallax Forum topic "Minimal TV or VGA pins"
http://forums.parallax.com/forums/default.aspx?f=25&m=340731&g=342216
Where Phil Pilgrim provided the following circuit and description of use:
(schematic deleted)
"White is logic high; sync, logic low; blank level, CTRB programmed for DUTY
mode with FRQB set to $4924_0000. The advantage of this over tri-stating for
the blanking level is that the Propeller's video generator can be used to
generate the visible stuff while CTRB is active. When the video output is high,
it's ORed with the DUTY output to yield a high; when low, the DUTY-mode value
takes over. CTRB is simply turned off during the syncs, which has to be handled
in software.
The resistor values (124Ω series, 191Ω to ground) have an output impedance of
75 ohms and will drive a 75-ohm load at 1V P-P. The cap is there to filter the
DUTY doody."
However, in my experience, the RC network is not required. I have tested
successfully using any of the Demoboard TV DAC resistors (although the higher
resistance yields darker text) and with no resistors at all (although this
is not recommended).
Driver limitation details:
CLKFREQ => 12MHz
op_cols =< CLKFRQ / 1.2MHz (LSB) | CLKFREQ / 1.3MHz (MSB)
op_cols * pixels/char => 45
op_pixelclk => 1MHz
Q: Why specify op_pixelclk?
A1: To reduce shimmer caused by the number of significant bits in FRQA.
A2: To allow for WAITVID timing experimentation.
A3: To reduce horizontal overscan & display more characters per line.
Q: Why specify op_blankfrq?
A1: To tune the brightness of the text for a particular display.
A2: To allow for light/dark pulsing text. (Red Alert!!)
Q: Why specify pixels/char <> 8?
A1: To allow for fonts thinner than 8 pixels to be displayed.
A2: To allow for blank pixels between characters (i.e. hexfont.spin)
Q: Why not fonts with vertical sizes <> 8?
A: It probably can be done, but would require a chunk of time-sensitive
code to be re-written.
Q: Why fewer characters per line for MSB first fonts?
A: MSB first fonts require one more instruction in a timing sensitive loop.
Q: Why is pixels/char embedded in op_mode rather than a separate long?
A1: It's an optional parameter. op_mode := 1 | 2 will be the norm.
A2: It started as a 1 bit parameter for 9 pixel wide characters, but then
grew into a nibble.
}}", And it is in "OnePinTVText" by name. I need to find the thread to find out what prompted that choice of probably precision resistor values.
Comments
http://forums.parallaxinc.com/forums/default.aspx?f=25&m=340731&g=342216
If so, then what you need to do with those old links is type inc after parallax so it's then parallaxinc.com in the address. All else is left the same. This change happened when they changed the forum layout.
Hello!
Makes a heck of a lot of sense. My next big problem is the classic one: working out what pin to connect it to. Also finding those resistors.
Phil when you created that thing did you have a bin of precision resistors present?
(If you forget the above address, it's in a sticky at the top of "Support for Using this Forum".)
Now, to the question about resistors. You can probably get by with 5% resistors that are closest to the values I specified.
-Phil
You're welcome.
Thanks, Phil. I'd forgotten you had set that up. Very cool. :-)
Hello!
Thanks! That one just tossed up a heck of a lot more information then examining it on the "old forum" screens. Now the hard part is to reconcile it with what I've got in mind.