Shop OBEX P1 Docs P2 Docs Learn Events
Home brew demo Board - Page 2 — Parallax Forums

Home brew demo Board

2

Comments

  • Mike CookMike Cook Posts: 829
    edited 2006-04-03 22:38

    Rob,

    I'm not sure about any current limiting resistors needed on any of the pins yet. I'll need to go back through all the posts and determine if any are needed.

    Ken posted a link to the suggested crystal that can be purchased at Digikey. I purchased mine through Mouser and I think it's the same one, I'll need to research both to see if there is any difference, I suspect if there is a difference it will be package type.

    Only reason I'm starting on this board is to have it finished and checked out so when the IDE and Propeller chips are in my hands I'll be ready to go and won't be rushing to get this built. Hopefully this will keep the magic smoke in the Propeller chip! It's been a while since I've accidentally fired something!

    Mike

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Mike
  • Brian RileyBrian Riley Posts: 626
    edited 2006-04-03 23:04
    I have a question about the USB2SER ... it gets its power (+5) from the USB line from the host. So how does it know what voltage (3.3 vs 5) to supply to its TTL level TxD/RxD and RES lines? Or does it default to sending 3.3V down no matter what?

    Am I correct in assuming the USB2SER could be used to program an 'naked' OEM BS2 family chip being run a 3.3v? (that is an OEM interpeter chip with no level shifting/inverting hardware attached to Sin/Sout) Would it run or blow if the OEM BS2 chip were run at 5 volts?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    cheers ... brian riley, n1bq, underhill center, vermont
  • Jon WilliamsJon Williams Posts: 6,491
    edited 2006-04-03 23:16
    Please start a new thread on your USB2SER question(s).

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Jon Williams
    Applications Engineer, Parallax
  • Rob7Rob7 Posts: 275
    edited 2006-04-04 00:38
    Thanks,

    Ken.

    I found the crystal PDF. at the post Ordering Crystals.
  • Rob7Rob7 Posts: 275
    edited 2006-04-04 00:49
    Great, Mike.

    I was just wondering. I am looking up parts to also assemble a home brew board. I could just insert a double row SIP socket if I need to insert buffer resistors.

    Rob7
  • Brian RileyBrian Riley Posts: 626
    edited 2006-04-04 03:56
    There has been some mention of putting a reset switch of the demo baord. The usual drill is an NO pushbutton switch from the reset (MCLR on a PIC) line to ground with a 4.7K or 10K pullup of that line to Vdd. With the Propeller do we need the pullup?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    cheers ... brian riley, n1bq, underhill center, vermont
  • Beau SchwabeBeau Schwabe Posts: 6,547
    edited 2006-04-04 04:30
    Brian,

    The Propeller has a built-in pullup resistor.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Beau Schwabe

    IC Layout Engineer
    Parallax, Inc.
  • cgraceycgracey Posts: 14,133
    edited 2006-04-04 04:48
    Just be sure to tie BOEn low to make the pullup active. Otherwise, RESn is a pure CMOS input.
    Beau Schwabe (Parallax) said...
    Brian,

    The Propeller has a built-in pullup resistor.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔


    Chip Gracey
    Parallax, Inc.
  • Mike CookMike Cook Posts: 829
    edited 2006-04-04 12:51

    As part of my documentation, I created a schematic diagram of the board I'm building. The schematic is drawn in ExpressSCH, you can download a copy of this program here:

    http://www.expresspcb.com/


    <EDIT>

    (Rev 1.1)
    One minor change: Labeled XO & XI as X0 & X1, changed to XO & XI

    (Rev 1.2)
    1. Added LEDs to Power Supplies output

    2. Swaped LM7805 for LM2940 so VIN can be +6 to +9VDC

    3. Added Reset Switch

    </EDIT>



    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Mike

    Post Edited (Mike Cook) : 4/4/2006 5:24:35 PM GMT
  • Kaos KiddKaos Kidd Posts: 614
    edited 2006-04-04 13:39
    Mike:
    Thanks for the schematic, and all the information.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Just tossing my two bits worth into the bit bucket


    KK
    ·
  • Kaos KiddKaos Kidd Posts: 614
    edited 2006-04-04 15:50
    Could someone please post the connections / hardware for a PS2 Connector?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Just tossing my two bits worth into the bit bucket


    KK


    Post Edited (Kaos Kidd) : 4/5/2006 2:27:33 AM GMT
  • cgraceycgracey Posts: 14,133
    edited 2006-04-04 18:19
    Just connect two Propeller pins,·via ~100 ohm resistors,·to the CLOCK and DATA signals on the PS/2 connector. Then, pull up the connector-side signals with 10k resistors to VDD (3.3V). The PS/2 socket must also be powered with 5V and GND.

    Use the "keyboard" or "mouse" object and pass the 'start' method the numbers of the two pins. Now, you can read the mouse/keyboard via the object's other methods.
    Kaos Kidd said...
    Do someone think you could post the connections / hardware for a PS2 Connector?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔


    Chip Gracey
    Parallax, Inc.
  • Brian RileyBrian Riley Posts: 626
    edited 2006-04-04 20:07
    Chip Gracey said...
    Just be sure to tie BOEn low to make the pullup active. Otherwise, RESn is a pure CMOS input.
    Beau Schwabe (Parallax) said...
    Brian,

    The Propeller has a built-in pullup resistor.


    Is there any circumstance when one would not want BOEn tied low making RESn a pulled up reset line. I guess I am asking if I should just hard wire BOEn low or for flexibility use two header pins and a jumper.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    cheers ... brian riley, n1bq, underhill center, vermont
  • Brian RileyBrian Riley Posts: 626
    edited 2006-04-04 20:15
    Chip Gracey said...
    Just connect two Propeller pins, via ~100 ohm resistors, to the CLOCK and DATA signals on the PS/2 connector. Then, pull up the connector-side signals with 10k resistors to VDD (3.3V). The PS/2 socket must also be powered with 5V and GND.

    Use the "keyboard" or "mouse" object and pass the 'start' method the numbers of the two pins. Now, you can read the mouse/keyboard via the object's other methods.
    Kaos Kidd said...
    Do someone think you could post the connections / hardware for a PS2 Connector?


    I noticed that A12-14 was set aside for the VIDEO output, is there any particular set of pins you would recommend for the PS/2 Mouse and Keyboard connectors?

    I plan to set the video out, PS/2 mouse and KB up with a double row of .100 headers hard wired to various i/o pins and use jumpers to connect/enable them

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    cheers ... brian riley, n1bq, underhill center, vermont
  • Brian RileyBrian Riley Posts: 626
    edited 2006-04-04 21:50
    More on the VIDEO output with regards to building a demo board. Is there anything 'sacred' about A12, A13, and A14 for the VIDEO object? I mean could I take the code and change them to A25, A26, A27 ??? (I ask this because the first time I did I2C on a BS2P and went a little nuts at firstl I didn't realize you could only do it on certain pin pairs)

    What about attaching a Piezo? Straight connect or through a cap?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    cheers ... brian riley, n1bq, underhill center, vermont
  • Jon WilliamsJon Williams Posts: 6,491
    edited 2006-04-04 22:00
    Here are Chip's notes embedded in the TV object -- if you look through you'll see that there are specific pin groups.

    ''VAR·················· 'TV parameters - 14 contiguous longs
    ''
    ''· long· tv_status···· '0/1/2 = off/invisible/visible·········· read-only
    ''· long· tv_enable···· '0/non-0 = off/on······················· write-only
    ''· long· tv_pins······ '%pppmmmm = pin group, pin group mode··· write-only
    ''· long· tv_mode······ '%ccip = chroma, interlace, ntsc/pal···· write-only
    ''· long· tv_screen···· 'pointer to screen (words)·············· write-only
    ''· long· tv_colors···· 'pointer to colors (longs)·············· write-only············
    ''· long· tv_ht········ 'horizontal tiles······················· write-only
    ''· long· tv_vt········ 'vertical tiles························· write-only
    ''· long· tv_hx········ 'horizontal tile expansion·············· write-only
    ''· long· tv_vx········ 'vertical tile expansion················ write-only
    ''· long· tv_ho········ 'horizontal offset······················ write-only
    ''· long· tv_vo········ 'vertical offset························ write-only
    ''· long· tv_broadcast· 'broadcast frequency (Hz)··············· write-only
    ''· long· tv_auralcog·· 'aural fm cog··························· write-only
    ''
    ''The preceding VAR section may be copied into your code.
    ''After setting variables, do start(@tv_status) to start driver.
    ''
    ''All parameters are reloaded each superframe, allowing you to make live
    ''changes. To minimize flicker, correlate changes with tv_status.
    ''
    ''Experimentation may be required to optimize some parameters.
    ''
    ''Parameter descriptions:
    ''· _________
    ''· tv_status
    ''
    ''··· driver sets this to indicate status:
    ''····· 0: driver disabled (tv_enable = 0 or CLKFREQ < requirement)
    ''····· 1: currently outputting invisible sync data
    ''····· 2: currently outputting visible screen data
    ''· _________
    ''· tv_enable
    ''
    ''······· 0: disable (pins will be driven low, reduces power)
    ''··· non-0: enable
    ''· _______
    ''· tv_pins
    ''
    ''··· bits 6..4 select pin group:
    ''····· %000: pins 7..0
    ''····· %001: pins 15..8
    ''····· %010: pins 23..16
    ''····· %011: pins 31..24
    ''····· %100: pins 39..32
    ''····· %101: pins 47..40
    ''····· %110: pins 55..48
    ''····· %111: pins 63..56
    ''
    ''··· bits 3..0 select pin group mode:
    ''····· %0000: %0000_0111··· -··················· baseband
    ''····· %0001: %0000_0111··· -··················· broadcast
    ''····· %0010: %0000_1111··· -··················· baseband + chroma
    ''····· %0011: %0000_1111··· -··················· broadcast + aural
    ''····· %0100: %0111_0000··· broadcast··········· -
    ''····· %0101: %0111_0000··· baseband············ -
    ''····· %0110: %1111_0000··· broadcast + aural··· -
    ''····· %0111: %1111_0000··· baseband + chroma··· -
    ''····· %1000: %0111_0111··· broadcast··········· baseband
    ''····· %1001: %0111_0111··· baseband············ broadcast
    ''····· %1010: %0111_1111··· broadcast··········· baseband + chroma
    ''····· %1011: %0111_1111··· baseband············ broadcast + aural
    ''····· %1100: %1111_0111··· broadcast + aural··· baseband
    ''····· %1101: %1111_0111··· baseband + chroma··· broadcast
    ''····· %1110: %1111_1111··· broadcast + aural··· baseband + chroma
    ''····· %1111: %1111_1111··· baseband + chroma··· broadcast + aural
    ''·····
    ''··········· active pins··· top nibble·········· bottom nibble
    ''
    ''····· the baseband signal nibble is arranged as:
    ''······· bit 3: chroma signal for s-video (attach via 560-ohm resistor)
    ''······· bits 2..0: baseband video (sum 270/560/1100-ohm resistors to form 75-ohm 1V signal)
    ''
    ''····· the broadcast signal nibble is arranged as:
    ''······· bit 3: aural subcarrier (sum 560-ohm resistor into network below)
    ''······· bits 2..0: visual carrier (sum 270/560/1100-ohm resistors to form 75-ohm 1V signal)
    ''· _______
    ''· tv_mode
    ''
    ''··· bit 3 controls chroma mixing into broadcast:
    ''····· 0: mix chroma into broadcast (color)
    ''····· 1: strip chroma from broadcast (black/white)
    ''
    ''··· bit 2 controls chroma mixing into baseband:
    ''····· 0: mix chroma into baseband (composite color)
    ''····· 1: strip chroma from baseband (black/white or s-video)
    ''
    ''··· bit 1 controls interlace:
    ''····· 0: progressive scan (243 display lines for NTSC, 286 for PAL)
    ''·········· less flicker, good for motion
    ''····· 1: interlaced scan (486 display lines for NTSC, 572 for PAL)
    ''·········· doubles the vertical display lines, good for text
    ''
    ''··· bit 0 selects NTSC or PAL format
    ''····· 0: NTSC
    ''·········· 3016 horizontal display ticks
    ''·········· 243 or 486 (interlaced) vertical display lines
    ''·········· CLKFREQ must be at least 14_318_180 (4 * 3_579_545 Hz)*
    ''····· 1: PAL
    ''·········· 3692 horizontal display ticks
    ''·········· 286 or 572 (interlaced) vertical display lines
    ''·········· CLKFREQ must be at least 17_734_472 (4 * 4_433_618 Hz)*
    ''
    ''····· * driver will disable itself while CLKFREQ is below requirement
    ''· _________
    ''· tv_screen
    ''
    ''··· pointer to words which define screen contents (left-to-right, top-to-bottom)
    ''····· number of words must be tv_ht * tv_vt
    ''····· each word has two bitfields: a 6-bit colorset ptr and a 10-bit pixelgroup ptr
    ''······· bits 15..10: select the colorset* for the associated 16 * 16 pixel tile
    ''······· bits 9..0: select the pixelgroup** address %ppppppppppcccc00 (p=address, c=0..15)
    ''
    ''······ * colorsets are longs which each define four 8-bit colors
    ''
    ''····· ** pixelgroups are 16 longs which define (left-to-right, top-to-bottom) the 2-bit
    ''········ (four color) pixels that make up a 16 * 16 pixel tile
    ''· _________
    ''· tv_colors
    ''
    ''··· pointer to longs which define colorsets
    ''····· number of longs must be 1..64
    ''····· each long has four 8-bit fields which define colors for 2-bit (four color) pixels
    ''····· first long's bottom color is also used as the screen background color
    ''····· 8-bit color fields are as follows:
    ''······· bits 7..4: chroma data (0..15 = blue..green..red..)*
    ''······· bit 3: controls chroma modulation (0=off, 1=on)
    ''······· bits 2..0: 3-bit luminance level:
    ''········· values 0..1: reserved for sync - don't use
    ''········· values 2..7: valid luminance range, modulation adds/subtracts 1 (beware of 7)
    ''
    ''····· * because of TV's limitations, it doesn't look good when chroma changes abruptly -
    ''······· rather, use luminance - change chroma only against a black or white background for
    ''······· best appearance
    ''· _____
    ''· tv_ht
    ''
    ''··· horizontal number of 16 * 16 pixel tiles - must be at least 1
    ''··· practical limit is 40 for NTSC, 50 for PAL
    ''· _____
    ''· tv_vt
    ''
    ''··· vertical number of 16 * 16 pixel tiles - must be at least 1
    ''··· practical limit is 13 for NTSC, 15 for PAL (26/30 max for interlaced NTSC/PAL)
    ''· _____
    ''· tv_hx
    ''
    ''··· horizontal tile expansion factor - must be at least 3 for NTSC, 4 for PAL
    ''
    ''··· make sure 16 * tv_ht * tv_hx + ||tv_ho + 32 is less than the horizontal display ticks
    ''· _____
    ''· tv_vx
    ''
    ''··· vertical tile expansion factor - must be at least 1
    ''
    ''··· make sure 16 * tv_vt * tv_vx + ||tv_vo + 1 is less than the display lines
    ''· _____
    ''· tv_ho
    ''
    ''··· horizontal offset in ticks - pos/neg value (0 for centered image)
    ''··· shifts the display right/left
    ''· _____
    ''· tv_vo
    ''
    ''··· vertical offset in lines - pos/neg value (0 for centered image)
    ''··· shifts the display up/down
    ''· ____________
    ''· tv_broadcast
    ''
    ''··· broadcast frequency expressed in Hz (ie channel 2 is 55_250_000)
    ''··· if 0, modulator is turned off - saves power
    ''
    ''··· broadcasting requires CLKFREQ to be at least 16_000_000
    ''··· while CLKFREQ is below 16_000_000, modulator will be turned off
    ''· ___________
    ''· tv_auralcog
    ''
    ''··· selects cog to supply aural fm signal - 0..7
    ''··· uses ctra pll output from selected cog
    ''
    ''··· in NTSC, the offset frequency must be 4.5MHz and the max bandwidth +-25KHz
    ''··· in PAL, the offset frequency is and max bandwidth vary by PAL type

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Jon Williams
    Applications Engineer, Parallax
  • Brian RileyBrian Riley Posts: 626
    edited 2006-04-04 23:17
    Jon Williams (Parallax) said...
    Here are Chip's notes embedded in the TV object -- if you look through you'll see that there are specific pin groups.

    ''VAR 'TV parameters - 14 contiguous longs
    ''
    '' long tv_status '0/1/2 = off/invisible/visible read-only
    '' long tv_enable '0/non-0 = off/on write-only

    < etc .....>

    I have been through the source code of trhe Graphics demo which includes the tv.spin. I couldn't make a lot of sense of it with regards to the i/o pin assignments. He talks about 'pin groups' of 8 pins to a group numbered 0-63. That makes no sense to me. Propeller has 32 pins; What have I missed? It reads like an entire pin group is completely assigned to the object, that is 8 pins, and we have been told that we use A12,A13, and A14. I looked at the Graphics Demo spin file and try as I may I cannot find where it assigns the pin group.

    So ... I went and looked at Mouse.spin to see if I could get the sense of it and apply that knowledge to understanding TV.spin. It seems it deals with a 'pingroup' of 4 pins. The graphics demo does a mouse.start(6) that seems to mean pin group six which is A24-A27, makes sense, but that's four pins and below here Chip had to say its two pins!
    Chip Gracey said...
    Just connect two Propeller pins, via ~100 ohm resistors, to the CLOCK and DATA signals on the PS/2 connector. Then, pull up the connector-side signals with 10k resistors to VDD (3.3V). The PS/2 socket must also be powered with 5V and GND.

    So this is all kind of confusing. Could you guys maybe publish the proposed schematic of your demo board so we can see what you did?

    I know you are all to the wall trying to get this product out and with a mere 1440 minutes per day in which to sleep, eat, commune with family, go to and from work (you do go home at night, I hope!) and, oh by the way, work on the project, doesn't leave a lot of time for us, so I do laud and appreciate your efforts, and apologize if I have overlooked something obvious.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    cheers ... brian riley, n1bq, underhill center, vermont
  • Jon WilliamsJon Williams Posts: 6,491
    edited 2006-04-05 00:50
    The Propeller I/O architecture was designed for an eventual 64 pins -- the current device only has 32 of them (a group; pins 32-63 are the b group).

    It takes a bit of detective work -- especially with an object as sophisticated as TV -- but what you'll find is that in the DAT section of the Graphics_Demo the pins setup is set to %100_1010.· The upper nibble (%100), indicates pin group 8..15.· If you look at the lower nibble of the pins setup (%1010) this indicates baseband video on the upper nibble of the pin group, hence pins A12..A15 (in that configuration there is nothing on the lower nibble of the pin group).· Looking further into the documentation, for composite video we only need three pins (A12..A14) and the are connected through resistors to form a simple DAC as shown in the attached schematic.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Jon Williams
    Applications Engineer, Parallax
    332 x 322 - 16K
  • Kaos KiddKaos Kidd Posts: 614
    edited 2006-04-05 02:32
    Thanks Chip
    (Sorry about my oor english... just before submitting the post, I did a quick edit of the question and I didn't do it right..)
    But, the question is answered.
    I think I'll make a "starter" board to hold things over until the dev board is ready...

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Just tossing my two bits worth into the bit bucket


    KK
    ·
  • Paul BakerPaul Baker Posts: 6,351
    edited 2006-04-05 02:53
    If Im not mistaken, the pre-release demo board has an additional 560 Ω connected to the RCA plug, what is it's purpose?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    6+6=10 (Long live the duodecimal system)
  • pjvpjv Posts: 1,903
    edited 2006-04-05 03:09
    Hi Paul;

    That's to merge-in the FM audio if you so choose. You would run that off a separate Cog.

    Cheers,

    Peter (pjv)
  • Paul BakerPaul Baker Posts: 6,351
    edited 2006-04-05 03:22
    Ah gotcha thanks.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    6+6=10 (Long live the duodecimal system)
  • cgraceycgracey Posts: 14,133
    edited 2006-04-05 03:34
    Sorry about the confusion. 'Pin Group' is just a software idea that made the object compact and simple to write. In the case of the video generator in each COG, it can work on up to eight pins, at 8-pin boundaries. In the case of the mouse_iso and keyboard_iso objects, 'pin group' was purely a software notion that made things simple. Those drivers used 4 pins each to talk to the PS/2 port - an input and output for each of the PS/2 clock and data signals. NPN transistors were used to pull the clock and data signals low. This was unnecessary, in retrospect, as Propeller pins can connect more directly to the PS/2 clock and data signals, saving two pins, two NPN devices, and two resistors. These drivers are simply called mouse.spin and keyboard.spin. I did it the complex way first because I was worrying too much about the possibility of mice and keyboards sourcing a lot of current into the Propeller pins. This was overreaction, though, because all mice and keyboards seem to use passive ~10k pullups to 5V. This is not going to cause an avalanche into the Propeller pins. So, the next demo board will have TWO PS/2 sockets, using two pins each. They will be labeled 'mouse' and 'keyboard' and use the 2-pin objects.
    Brian Riley said...
    Jon Williams (Parallax) said...
    Here are Chip's notes embedded in the TV object -- if you look through you'll see that there are specific pin groups.

    ''VAR 'TV parameters - 14 contiguous longs
    ''
    '' long tv_status '0/1/2 = off/invisible/visible read-only
    '' long tv_enable '0/non-0 = off/on write-only

    < etc .....>

    I have been through the source code of trhe Graphics demo which includes the tv.spin. I couldn't make a lot of sense of it with regards to the i/o pin assignments. He talks about 'pin groups' of 8 pins to a group numbered 0-63. That makes no sense to me. Propeller has 32 pins; What have I missed? It reads like an entire pin group is completely assigned to the object, that is 8 pins, and we have been told that we use A12,A13, and A14. I looked at the Graphics Demo spin file and try as I may I cannot find where it assigns the pin group.

    So ... I went and looked at Mouse.spin to see if I could get the sense of it and apply that knowledge to understanding TV.spin. It seems it deals with a 'pingroup' of 4 pins. The graphics demo does a mouse.start(6) that seems to mean pin group six which is A24-A27, makes sense, but that's four pins and below here Chip had to say its two pins!
    Chip Gracey said...
    Just connect two Propeller pins, via ~100 ohm resistors, to the CLOCK and DATA signals on the PS/2 connector. Then, pull up the connector-side signals with 10k resistors to VDD (3.3V). The PS/2 socket must also be powered with 5V and GND.

    So this is all kind of confusing. Could you guys maybe publish the proposed schematic of your demo board so we can see what you did?

    I know you are all to the wall trying to get this product out and with a mere 1440 minutes per day in which to sleep, eat, commune with family, go to and from work (you do go home at night, I hope!) and, oh by the way, work on the project, doesn't leave a lot of time for us, so I do laud and appreciate your efforts, and apologize if I have overlooked something obvious.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔


    Chip Gracey
    Parallax, Inc.
  • Brian RileyBrian Riley Posts: 626
    edited 2006-04-05 04:33
    Jon Williams (Parallax) said...
    The Propeller I/O architecture was designed for an eventual 64 pins -- the current device only has 32 of them (a group; pins 32-63 are the b group).

    It takes a bit of detective work -- especially with an object as sophisticated as TV -- but what you'll find is that in the DAT section of the Graphics_Demo the pins setup is set to %100_1010. The upper nibble (%100), indicates pin group 8..15. If you look at the lower nibble of the pins setup (%1010) this indicates baseband video on the upper nibble of the pin group, hence pins A12..A15 (in that configuration there is nothing on the lower nibble of the pin group). Looking further into the documentation, for composite video we only need three pins (A12..A14) and the are connected through resistors to form a simple DAC as shown in the attached schematic.

    OK Jon, This clears up an awful lot ... but I still don't see how 1010 gives 12,13, and 14. Also. I checked every application thats available right now. It appears they all use exactly the same copy of TV.spin (while some file dates vary they are all 28312 bytes). Now I went into the main module of each application to the DAT section as you said and found;

    DAT
    tvparams          long    0               'status
                            long    1               'enable
    
                            'long   %011_0000       'pins      Old Board
                            long    %001_0101       'pins      New Board
    
    



    This appears to show the bit patterns sort of reversed from what you said.

    Let us say I wanted to use Pins 24-26 for video output, what would I put into the third long of DAT for the pins parameter?

    Also, I am not sure I understand this notation %001_0101 why only show 7 bits?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    cheers ... brian riley, n1bq, underhill center, vermont
  • Jon WilliamsJon Williams Posts: 6,491
    edited 2006-04-05 05:11
    I'm really tired and may not be explaining things well, so let me just paste the relevant portion from Chip's program again -- for the pin configuration we need 7 bits; three for the pin group, four for the pin group mode.· Chip's demo value (%001_0101)·is shown in red, your request·(%011_0000) in blue:

    ''· tv_pins
    ''
    ''··· bits 6..4 select pin group:
    ''····· %000: pins 7..0
    ''····· %001: pins 15..8
    ''····· %010: pins 23..16
    ''····· %011: pins 31..24
    ''····· %100: pins 39..32
    ''····· %101: pins 47..40
    ''····· %110: pins 55..48
    ''····· %111: pins 63..56
    ''
    ''··· bits 3..0 select pin group mode:
    ''····· %0000: %0000_0111··· -··················· baseband
    ''····· %0001: %0000_0111··· -··················· broadcast
    ''····· %0010: %0000_1111··· -··················· baseband + chroma
    ''····· %0011: %0000_1111··· -··················· broadcast + aural
    ''····· %0100: %0111_0000··· broadcast··········· -
    ''····· %0101: %0111_0000··· baseband············ -
    ''····· %0110: %1111_0000··· broadcast + aural··· -
    ''····· %0111: %1111_0000··· baseband + chroma··· -
    ''····· %1000: %0111_0111··· broadcast··········· baseband
    ''····· %1001: %0111_0111··· baseband············ broadcast
    ''····· %1010: %0111_1111··· broadcast··········· baseband + chroma
    ''····· %1011: %0111_1111··· baseband············ broadcast + aural
    ''····· %1100: %1111_0111··· broadcast + aural··· baseband
    ''····· %1101: %1111_0111··· baseband + chroma··· broadcast
    ''····· %1110: %1111_1111··· broadcast + aural··· baseband + chroma
    ''····· %1111: %1111_1111··· baseband + chroma··· broadcast + aural
    ''·····
    ''··········· active pins··· top nibble·········· bottom nibble
    ''
    ''····· the baseband signal nibble is arranged as:
    ''······· bit 3: chroma signal for s-video (attach via 560-ohm resistor)
    ''······· bits 2..0: baseband video (sum 270/560/1100-ohm resistors to form 75-ohm 1V signal)
    ''
    ''····· the broadcast signal nibble is arranged as:
    ''······· bit 3: aural subcarrier (sum 560-ohm resistor into network below)
    ''······· bits 2..0: visual carrier (sum 270/560/1100-ohm resistors to form 75-ohm 1V signal)

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Jon Williams
    Applications Engineer, Parallax

    Post Edited (Jon Williams (Parallax)) : 4/5/2006 5:14:12 AM GMT
  • Brian RileyBrian Riley Posts: 626
    edited 2006-04-05 05:39
    Jon Williams (Parallax) said...
    I'm really tired and may not be explaining things well, so let me just paste the relevant portion from Chip's program again -- for the pin configuration we need 7 bits; three for the pin group, four for the pin group mode. Chip's demo value (%001_0101) is shown in red, your request (%011_0000) in blue:

    Your parting shot did the trick, I see it all now. Thankyou so much for hanging in there to get this through my thick Irish skull. I hope you have gone to get some much needed sleep.

    My plan in arranging the hand wired demo board is to put the video connector and its associated resistor ladder and the 24LC256 together on pins 24-31 and not bother bringing those pins out to a socket header for breadboard access. I am going to put a pair of PS/2 connectors up on Pins 0-3, the bring Pins 4-7, 8-15, 16-23 out to socket headers for us. I have most of the components on hand awaiting inly the USB2SER arriving tomorrow and an LD1085V33 (3.3 vol regulator arriving Thursday. When I have every piece I will place them all on make marks as necessary for any drilling. Hopefully by the weekend I should have it together for what deubugging I can do then its wait wait wait for 1 May + shipping.

    Again, tnx.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    cheers ... brian riley, n1bq, underhill center, vermont
  • Mike CookMike Cook Posts: 829
    edited 2006-04-06 22:42
    I promised Kaos Kidd some pictures of the HBPDB, so here they are posted as thumbnails. Photos are about 400K or so, also attached is the current schematic in ExpressSCH.

    <EDIT>

    Where's the xtal? it's under the ZIF socket.

    </EDIT>

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Mike

    Post Edited (Mike Cook) : 4/7/2006 1:47:10 AM GMT
    1283 x 1005 - 329K
    1466 x 1185 - 519K
  • Kaos KiddKaos Kidd Posts: 614
    edited 2006-04-07 02:17
    Mike...
    Nice Job.
    Inspiring.. ALl that space to work with...
    Room to grow...
    Real nice..
    Thanks for sharing!

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Just tossing my two bits worth into the bit bucket


    KK
    ·
  • Paul BakerPaul Baker Posts: 6,351
    edited 2006-04-07 02:54
    Even used a ZIF socket, very nice. Also like the 3.3V board and 5V board idea.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    6+6=10 (Long live the duodecimal system)

    Post Edited (Paul Baker) : 4/7/2006 2:58:21 AM GMT
  • Mike CookMike Cook Posts: 829
    edited 2006-04-07 03:01
    Thanks KK & Paul,

    Believe it or not the only purchased parts for this board was the USB2SER, 24LC256, Propeller D-40 (pre-order x 4), and the 5 MHz xtal.

    Now this board needs to go into storage until some time after May 1, 2006!

    What will be the first project I'll do on this board?· April 2006 N&V - BlinkLED.spin

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Mike
Sign In or Register to comment.