Broadcast video mode VS Baseband, what's the difference in generation?
asterick
Posts: 158
I know enough about the baseband generator to be able to recreate it, but broadcast is a mystery to me. Is this like the signal you would send to a RF modulator so it can be send to the 'AIR' port of a television (ala first gen consoles) or whatnot?
I'm completely lost on it's purpose.
I'm completely lost on it's purpose.
Comments
Basically all that is done internal to the Propeller is the line level signal is modulated onto the carrier frequency of the station.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Paul Baker
Propeller Applications Engineer
Parallax, Inc.
Post Edited (Paul Baker (Parallax)) : 1/25/2007 7:53:24 PM GMT
Edit: And if it modulates, what channel does it broadcast on?
I later put one on and a tank circuit, but I'm a little sckeptical about asking the nieghbors how good their reception was!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Paul Baker
Propeller Applications Engineer
Parallax, Inc.
So broadcast takes the output from baseband, and modulates it using the output from PLLB of the cog...
Does the output just toggle between 0 and the baseband output at 2X the carrier frequency (PLLB lo = 0, PLLB hi = baseband)? (there is only 3 bits for output, so I wouldn't assume that it uses a center bias)
I'm still not sure how the aural frequency is mixed in, I know it takes the lower pin (like the chroma signal on baseband) But I don't know how it's added in.
My question along the same lines is.... if it can radiate from the chip itself... would any external hardware( the resistor quartet) be necessary? I saw some reference to using an antenna hooked to the video out on the Demo Board. So I assume that the answer would be that the external hardware is needed, and that it does not radiate directly from the chip.
I wish I could find that article that I remember reading.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Brian Meade
"They who dream by day are cognizant of many things which escape those who dream only by night" - Edgar Poe
But I see this article was written before the Propeller was even released. They probably did not have the full story yet.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Brian Meade
"They who dream by day are cognizant of many things which escape those who dream only by night" - Edgar Poe
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Paul Baker
Propeller Applications Engineer
Parallax, Inc.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Paul Baker
Propeller Applications Engineer
Parallax, Inc.
Paul,
I ended up using an xBee for a wireless link. That also gave me a wireless control link. I do remember seeing that suggestion sometime after I switched to the xBee link.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Paul Baker
Propeller Applications Engineer
Parallax, Inc.
Normally, for baseband, those three video resistors form a 3-bit DAC that is 1V-peak under a 75-ohm load. Outputs levels range from #0 to #7 (0 to 1V in ~125mv steps).
For broadcast, those baseband 0-to-7 levels are modulated at the broadcast frequency (CTRB's PLL) in the following pattern:
0 -> 0,7 (bottom of sync = max AC amplitude)
1 -> 1,7
2 -> 1,6
3 -> 2,6
4 -> 2,5
5 -> 3,5
6 -> 3,4
7 -> 4,4 (top of white level = min AC amplitude)
So, this is a·way to get 8 AC levels from what would otherwise be an·8-level DC·DAC.
For aural subcarrier, an extra resistor can be added after relative pins 0-2, on relative pin 3. In the VCFG register, you can select which other COG's CTRA PLL output will be modulated along with the video, to provide the aural subcarrier. For NTSC, this other-cog's PLL output must be a 100KHz-bandwidth 4.5MHz-center FM signal.
Murata sells SAW filters with narrow pass bands for channels 3 and 4, including aural subcarriers at 4.5MHz offsets. These should allow easy FCC certification.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chip Gracey
Parallax, Inc.
Post Edited (Chip Gracey (Parallax)) : 1/26/2007 5:30:38 AM GMT
By the way, the key to getting good broadcast video is to select a FRQB value that has one's in a span of only 2-3 bits. This keeps the NCO jitter pattern high-frequency·enough that the CTRB PLL can filter it out. For example, if you're running the Propeller at 80MHz, you can use $0C00_000 (3/4 of 80 MHz) to generate a very clean 60MHz, which is just below channel 3 in the US. Most TV receiver's PLLs will lock onto this when you go to channel 3.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chip Gracey
Parallax, Inc.
These parameters are provided to tv.spin during the start() call. Look at tv_text.spin for an example. You can modify tv_params in tv_text.spin to switch to broadcast video to try this out.
I have put the three resistors on pins P12, 13, and 14 (physical pins 17, 18, and 19 on the -D40 version of the chip), have about a three foot wire on the terminating side of the resistors, and my TV is on Channel 2 with a three foot wire for an antenna. The TV and my workbench are only about 10 feet apart, but I see nothing but snow on my TV. I have tried TV_Text.spin, TV_Text_Demo.spin, TV_Terminal.spin, TV_Terminal_Demo.spin. Can you please offer any help? Thanks!
Mike
At the bottom (In the DAT section, the long marked broadcast) you put 55_000_000, you probably meant 55_250_000 which is channel 2.
In PUB start on the line that begins tv_pins, the last binary part (yours says: %0101) should be %0100. (%0101 = baseband, %0100 = broadcast)
In TV.spin there is a table towards the end under tv_pins that describes what these 4 bits control.
Hope that helps
The 55_000_000 may actually provide a better signal. The PLL of the video generator produces less noise when it's at a multiple of the crystal oscillator even though it's not exactly on channel. Most TVs will compensate. The tv_pins bit is critical though.
Would you explain the basis of the relationship you found in more detail? I thought an integer fraction of the system clock would be the best choice. Tell me what you think of these rules:
1A Ideally, make the phase increment a power of 2 which satisfies exactly 2^32 mod phase_increment=0
1B Second best thing 2^32 mod phase_increment << phase_increment; where << means substantially lesser than
The following equation should give cleanest frequencies for operation with with the PLL
80MHz/k * 16, where k is an integer for an 80MHz system clock
4MHz <80MHz/k< 8MHz, i.e. 10<=k<=20 (rule to respect the PLL input frequencies)
80Mhz/20*16=64Mhz
80Mhz/19*16=67.8Mhz
80Mhz/18*16=71.11Mhz
80Mhz/17*16=75.29Mhz
80Mhz/16*16=80Mhz (better obtain directly without PLL)
80Mhz/15*16=85.33Mhz
80Mhz/14*16=91.43Mhz
80Mhz/13*16=98.46Mhz
80Mhz/12*16=106.67Mhz
80Mhz/11*16=116.36Mhz
80Mhz/10*16=128Mhz
Frank
>forums.parallax.com/forums/default.aspx?f=25&p=1&m=122154.
I was looking for that thread. Thanks.
>It also helps to change the crystal from 5MHz to 6MHz since the TV channels have a 6MHz spacing and you can use several low VHF channels with low noise.
I think I saw you post that at one of the threads. Here's a stupid question: isn't the 3.57MHz colorburst carrier generation highly sensitive to the crystal change??? In the past, I have tried with an FPGA to get fairly near (1%) the colorburst frequency and the TV kept giving me black and white. That realization forced me to use the proper crystal on that FPGA project.