Shop OBEX P1 Docs P2 Docs Learn Events
Broadcast video mode VS Baseband, what's the difference in generation? — Parallax Forums

Broadcast video mode VS Baseband, what's the difference in generation?

asterickasterick Posts: 158
edited 2007-04-07 05:25 in Propeller 1
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.
«1

Comments

  • Paul BakerPaul Baker Posts: 6,351
    edited 2007-01-25 19:48
    Thats correct, by switching Broadcast on and attaching a length of wire to the RCA·jack you can pick up the signal on a TV using the standard air-tuner method. Distance is variable on a variety of factors but can usually broadcast across a mid-sized room.

    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
  • asterickasterick Posts: 158
    edited 2007-01-25 19:51
    Ok, so does it push more power out the pins? And does it further modulate the signal? I'm just mostly curious as to what is coming out of the pins themselves.

    Edit: And if it modulates, what channel does it broadcast on?
  • bambinobambino Posts: 789
    edited 2007-01-25 19:53
    60 feet with no antennae.

    I later put one on and a tank circuit, but I'm a little sckeptical about asking the nieghbors how good their reception was!blush.gif
  • Paul BakerPaul Baker Posts: 6,351
    edited 2007-01-25 19:53
    It is the line level signal modulated onto the carrier frequency of the station, it consumes more power because more switching is occuring, but there is no amplifier stage.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Paul Baker
    Propeller Applications Engineer

    Parallax, Inc.
  • asterickasterick Posts: 158
    edited 2007-01-25 19:56
    interesting. I see this is going to be one of those things I'm going to have to study more. I've never messed with VHF, so I don't really know how NTSC to broadcasted over amplitude modulation. It's the last unemulated aspect of gear, and I want to implement it so I can just work on compatibility. [noparse]:)[/noparse]
  • asterickasterick Posts: 158
    edited 2007-01-25 20:17
    So, from what I've studied on VHF (RF) NTSC... it works on amplitude encoding a NTSC signal with a 40MHz + Carrier frequency (depending on the channel)

    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.
  • parts-man73parts-man73 Posts: 830
    edited 2007-01-25 20:23
    You read my mind... I was going to ask the exact same question. I was searching for an answer in previous forum posts, but did not find much. I read somewhere that it could broadcast directly to a TV, the RF would radiate right from the chip itself, but now I can't find where that was printed, all I can remember is the quote "FCC be damned" All I could find with a quick search was this thread from back in June http://forums.parallax.com/showthread.php?p=593861

    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
  • parts-man73parts-man73 Posts: 830
    edited 2007-01-25 20:34
    I found that reference I was looking for... www.makezine.com/blog/archive/2006/02/first_look_at_parallaxs_propel.html
    MAKE said...
    There is even an extra option to modulate the direct video signal and create a short range broadcast signal (picked up on channels 2-16). This works from about 20' away without any extra antenna (just radiating off of the chip, sorry FCC).

    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 BakerPaul Baker Posts: 6,351
    edited 2007-01-25 21:01
    It's a misnomer to say it's radiating directly from the chip, the resistor network is still required. I think they we saying no additional active devices are needed.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Paul Baker
    Propeller Applications Engineer

    Parallax, Inc.
  • Mike GreenMike Green Posts: 23,101
    edited 2007-01-25 21:09
    When I first got my demo board, the broadcast video was the first thing I tried. It never worked particularly well and I finally got an answer that the problem I was seeing was due to the jitter in the PLL output due to the harmonic non-relationship between the standard 5MHz crystal and its multiples and the US VHF channel spacing which is multiples of 6 MHz. I never got a 6MHz crystal since that would give a system clock of 96MHz which is more than the chip is rated for. I suppose I could get a crystal/PLL multiplier combination for a particular channel, but the 6MHz multiples would give provide the carrier for all of the lower VHF channels.
  • asterickasterick Posts: 158
    edited 2007-01-25 21:16
    meh, my interest in broadcast mode is purely academic. I don't ever intend on using it. standard NTSC is grainy and lossy enough without adding another layer of modulation on top of it.
  • Paul BakerPaul Baker Posts: 6,351
    edited 2007-01-25 21:23
    Mike, go ahead and grab a 6MHz oscillator. Under ordinary circumstances the Propeller will run just fine at 96MHz, it's only if you try to operate it at a temperature extreme and/or operate at less than 3.3V that you run into problems.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Paul Baker
    Propeller Applications Engineer

    Parallax, Inc.
  • Mike GreenMike Green Posts: 23,101
    edited 2007-01-25 21:25
    My interest was in using the Demo Board with a BOE-BOT chassis and using the broadcast video output for wireless status and debugging information over a couple of feet.

    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.
  • asterickasterick Posts: 158
    edited 2007-01-25 21:27
    Oooo, Or wire up a RF tranceiver to it... and use it to control the thermostat. [noparse]:)[/noparse] Tune into channel 3 for info on your house!
  • Paul BakerPaul Baker Posts: 6,351
    edited 2007-01-25 21:48
    The original idea for broadcast video was for process control, a line technician can walk down a line with a handheld television and receive process conditions at each station.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Paul Baker
    Propeller Applications Engineer

    Parallax, Inc.
  • asterickasterick Posts: 158
    edited 2007-01-25 21:53
    Neat idea. [noparse]:D[/noparse] Gotta love accidental features.
  • cgraceycgracey Posts: 14,133
    edited 2007-01-26 05:26
    Here's how the broadcast function works:

    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
  • asterickasterick Posts: 158
    edited 2007-01-26 06:34
    Thank you VERY much chip! Very informative, I was wondering how you were pulling off the center bias. Does the aural sub just do PLLA(aural) & PLLB and output that?
  • cgraceycgracey Posts: 14,133
    edited 2007-01-26 07:07
    asterick said...
    Does the aural sub just do PLLA(aural) & PLLB and output that?
    When a cog is generating broadcast video, it is using its CTRA PLL for colorburst x16 generation and its CTRB PLL for the broadcast frequency. When it selects another cog's CTRA PLL for aural subcarrier, it simply XOR's the other cog's CTRA PLL with its own CTRB PLL and outputs that to the fourth pin. So, you get an aural subcarrier at both plus and minus the other cog's CTRA PLL frequency. It's the plus one that matters.

    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.
  • asterickasterick Posts: 158
    edited 2007-01-26 16:15
    Good to know as well. I'll work on implementing this asap. [noparse]:)[/noparse]
  • Propeller_HeadPropeller_Head Posts: 6
    edited 2007-02-01 01:50
    How EXACTLY do I set up the TV_Terminal Object to Broadcast Mode? I've read through the entire thing twice and it's not clear what to do. Thank you.
    Chip Gracey (Parallax) said...
    asterick said...

    Does the aural sub just do PLLA(aural) & PLLB and output that?

    When a cog is generating broadcast video, it is using its CTRA PLL for colorburst x16 generation and its CTRB PLL for the broadcast frequency. When it selects another cog's CTRA PLL for aural subcarrier, it simply XOR's the other cog's CTRA PLL with its own CTRB PLL and outputs that to the fourth pin. So, you get an aural subcarrier at both plus and minus the other cog's CTRA PLL frequency. It's the plus one that matters.



    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.
  • Mike GreenMike Green Posts: 23,101
    edited 2007-02-01 03:50
    Look at the detailed comments at the end of tv.spin. You need to set tv_pins to the value for the pins you're using, $14 is for the Demo Board without sound or $16 for the Demo Board with sound (you would need to set tv_auralcog in that case). You also need to set tv_mode, $12 indicates 16x32 tiles and interlaced NTSC. tv_broadcast is set to the output frequency. Use 55_000_000 for channel 2.

    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.
  • Propeller_HeadPropeller_Head Posts: 6
    edited 2007-02-03 22:09
    Thanks for your reply, Mike.

    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 Green said...
    Look at the detailed comments at the end of tv.spin. You need to set tv_pins to the value for the pins you're using, $14 is for the Demo Board without sound or $16 for the Demo Board with sound (you would need to set tv_auralcog in that case). You also need to set tv_mode, $12 indicates 16x32 tiles and interlaced NTSC. tv_broadcast is set to the output frequency. Use 55_000_000 for channel 2.

    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.
  • Mike GreenMike Green Posts: 23,101
    edited 2007-02-03 23:25
    The hardware sounds correct. Did you make the right changes in the TV driver? Attach your modified versions to a posting and I'll have a look at it.
    Mike
  • Propeller_HeadPropeller_Head Posts: 6
    edited 2007-02-04 00:37
    Here ya' go. Let me know what ya' find.
    Mike Green said...
    The hardware sounds correct. Did you make the right changes in the TV driver? Attach your modified versions to a posting and I'll have a look at it.
    Mike
  • DC JeremyDC Jeremy Posts: 1
    edited 2007-04-06 22:34
    The problems are in your TV_Text.spin

    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
  • Mike GreenMike Green Posts: 23,101
    edited 2007-04-06 23:03
    DC Jeremy,
    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.
  • TransistorToasterTransistorToaster Posts: 149
    edited 2007-04-07 03:34
    Mike,
    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
  • Mike GreenMike Green Posts: 23,101
    edited 2007-04-07 04:25
    Either Chip or Paul Baker made that suggestion. I tried it and it clearly made a difference. 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. There's been a long discussion about the frequency synthesis stuff here: http://forums.parallax.com/showthread.php?p=583301.
  • TransistorToasterTransistorToaster Posts: 149
    edited 2007-04-07 04:45
    >Either Chip or Paul Baker made that suggestion.
    >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.
Sign In or Register to comment.