Shop OBEX P1 Docs P2 Docs Learn Events
Feedback on Dual-Prop Schematic — Parallax Forums

Feedback on Dual-Prop Schematic

escherescher Posts: 138
edited 2018-06-18 17:46 in Propeller 1
I've finally gotten around to documenting my current test circuit, and was hoping to get some feedback on it. It's the first formal schematic I've ever put together, so I basically Googled "circuit schematic best practices" and went from there.

Primary goal is to adhere to industry standards/best practices for the project so that includes technical documentation. If anyone sees anything detrimental please let me know!

Project outline: simple CPU-GPU game system w/ 16 control inputs and 8-bit color VGA output.

bMJes2v.png

w4TAKB5.png

Comments

  • if it's for a game system you should have output for sound, and maybe an SD card socket
  • jmgjmg Posts: 15,140
    escher wrote: »
    Primary goal is to adhere to industry standards/best practices for the project so that includes technical documentation. If anyone sees anything detrimental please let me know!
    Looks quite good.
    You should also check the netlist, as sometimes items drawn like R1.LED1 do not connect if overlapped.
    C8 appears to have bonus tiedots ?


  • Roadster wrote: »
    if it's for a game system you should have output for sound, and maybe an SD card socket

    This is a partially-completed project. Sound is next on the list, and then maybe some swappable storage (I'm emulating the original JAMMA arcade PCBs so it would be truer to their historical form if each board represented a single hard-coded game, if not in any way whatsoever economical haha).
    jmg wrote: »
    escher wrote: »
    Primary goal is to adhere to industry standards/best practices for the project so that includes technical documentation. If anyone sees anything detrimental please let me know!
    Looks quite good.
    You should also check the netlist, as sometimes items drawn like R1.LED1 do not connect if overlapped.
    C8 appears to have bonus tiedots ?


    I've already rectified the R/LED connection with a wire on my working schematic, but good catch on C8!
  • If you have no plans to ever connect the remaining pins from P2-P15 on both props to other peripherals, my advice would be try to allow some (future) parallel bus between both Prop chips. It gives you options for much faster data transfers between chips, some games may benefit from that. e.g., if large amounts of graphics sprites/tile data etc are read from storage (say on SD) on the first P1 chip and need to get copied between levels of a game (or during it) to the second P1, it can be done more rapidly. I once did an AVR to propeller graphics system once this way and managed some decent 5MBytes/s data transfers between the two parts. In fact in this application it was enough to render text/graphics on the AVR and send it to the P1 in real time.

    P0-P7 is a good choice for byte oriented transfers as it can avoid additional shifts. You might want some smallish valued series resistors (e.g. hundreds of ohms) for some form of bus protection if this parallel bus is ever bidirectional unless you can guarantee your code timing is right to avoid shorting out the IO drivers. Though they might still survive without it, not sure as I didn't ever try to short them intentionally to see when it burns out. In my case I needed to use some resistors for 5V to 3.3V protection (think it was around 2k2 in my case).

    Cheers,
    Roger
  • Where did you get the schematic and values of the 3-bit dac ?
    Unless I'm missing something, the resulting voltage levels looks too low (about 340mv instead of 700mv peak level).
  • Cluso99Cluso99 Posts: 18,066
    rogloh wrote: »
    If you have no plans to ever connect the remaining pins from P2-P15 on both props to other peripherals, my advice would be try to allow some (future) parallel bus between both Prop chips. It gives you options for much faster data transfers between chips, some games may benefit from that. e.g., if large amounts of graphics sprites/tile data etc are read from storage (say on SD) on the first P1 chip and need to get copied between levels of a game (or during it) to the second P1, it can be done more rapidly. I once did an AVR to propeller graphics system once this way and managed some decent 5MBytes/s data transfers between the two parts. In fact in this application it was enough to render text/graphics on the AVR and send it to the P1 in real time.

    P0-P7 is a good choice for byte oriented transfers as it can avoid additional shifts. You might want some smallish valued series resistors (e.g. hundreds of ohms) for some form of bus protection if this parallel bus is ever bidirectional unless you can guarantee your code timing is right to avoid shorting out the IO drivers. Though they might still survive without it, not sure as I didn't ever try to short them intentionally to see when it burns out. In my case I needed to use some resistors for 5V to 3.3V protection (think it was around 2k2 in my case).

    Cheers,
    Roger
    It's handy to have a couple of handshake lines too. Did that with a pair of 68705s back in the day.
  • macca wrote: »
    Where did you get the schematic and values of the 3-bit dac ?
    Unless I'm missing something, the resulting voltage levels looks too low (about 340mv instead of 700mv peak level).

    The 4th circuit at the bottom of this answer (in the edit).

    I was also unsure of what he was trying to say about the impedance forming a 2:1 voltage divider...
  • Well, I think that with that DAC you get half dim colors, not that this is completely wrong, only you never get bright colors, which I find unusual.

    Since we are using a Propeller, why don't you look at some propeller-specific discussions like this:
    https://forums.parallax.com/discussion/135385/better-vga-dac-resistors/

    I think you can safely use the 3-bit dac for the TV composite video in your circuit, the levels and impedance are the same as the VGA.
  • macca wrote: »
    Well, I think that with that DAC you get half dim colors, not that this is completely wrong, only you never get bright colors, which I find unusual.

    Since we are using a Propeller, why don't you look at some propeller-specific discussions like this:
    https://forums.parallax.com/discussion/135385/better-vga-dac-resistors/

    I think you can safely use the 3-bit dac for the TV composite video in your circuit, the levels and impedance are the same as the VGA.

    I actually read through that thread probably a dozen times figuring out my DAC, but missed the TV dac buried in the spreadsheet haha. Thanks!
  • With respect to RGB DACs, also note that it is possible to get 15/16 bit colour output in the prop if you have enough COGs. That looks pretty nice on a VGA monitor.

    You still have pins 8-15 available on your video COG. When writing a sprite engine using the WHOP method for output I found that it only takes one more COG for doing this but it was rather tricky (but not impossible) to synchronize their output to generate the same pixel.

    Not trying to distract you too much with what you are already doing, just giving you some future ideas. You might be able to design a board that has different resistor population options for experimenting with that concept one day.
Sign In or Register to comment.