Shop OBEX P1 Docs P2 Docs Learn Events
Graphcs Slave Propeller Platform Module — Parallax Forums

Graphcs Slave Propeller Platform Module

MicrocontrolledMicrocontrolled Posts: 2,461
edited 2011-05-16 01:44 in Propeller 1
I am about to get this PCB made by BatchPCB for a test run... thought it might be of interest. As assumed by the title, this board is to support my Graphics Slave program I made about a year ago, when I released only binaries. Now, however, I have decided to release the full source code.

Download it here: http://microcontrolled.com/GraphicsSlaveV.1.3.zip

On a mobile or don't want to download? View it here: http://microcontrolled.com/GraphicsSlaveMobileView.php

Looking back, I realize how sloppy my code was. :-)

If you don't know exactly what the Graphics Slave is, it is a module that separates the job of high-end graphics functions into 2 Propellers to save RAM. The Propellers talk via serial communication. It has an easy to understand command set and does things like draw lines, dots, text, and more. Simple animations on it are fluid at 115200 baud. If you add lots of items on the screen, however, the animation gets choppy.
I am working on a new version (1.4) with mouse and cursor support, so if that works I'll have to modify the PCB accordingly. Here are some screen shots of the board I've designed:
GraphicsSlaveScreenshotTop.jpg
GraphicsSlaveScreenshotBottom.jpg


If there is enough demand, I'll get a run of these made, but due to the high cost of PCB runs (cheapest $110), there will have to be a good bit of demand. OBC said in another thread that he had been working on the same type of thing, so he is welcome to pitch in and collaborate with me on this. :-)

Thanks,
Microcontrolled
1024 x 576 - 110K
1024 x 576 - 103K
«1

Comments

  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2011-05-12 13:24
    I'll bet we can get a PCB run for much lower than that!

    Anyway.. How about expanding this to include stereo audio output? Room?

    Also, I'd like to see an 8 I/O connections between the first and second propeller with trace lines which can be cut, with the ability to add resistors to pull the pins low to keep them from floating. I'll try to dig up some examples of what I have in mind later.

    Here's a link to the thread for the one I'm working on..
    http://www.savagecircuits.com/forums/showthread.php?505-160x192-High-Color-1-byte-Pixel-sound-interesting

    OBC
  • jazzedjazzed Posts: 11,803
    edited 2011-05-12 13:28
    Nice :) How many boards would you be getting for $110 and how long would it take to get them after your order?
  • MicrocontrolledMicrocontrolled Posts: 2,461
    edited 2011-05-12 13:36
    @OBC: Audio output.... oooohhhh..... Are you thinking maybe something like SidCog? Maybe the NES sound driver? Is there enough space? In terms of board space, yes. Memory, no. If I single buffer the current Graphics Driver I can probably fit a low profile audio driver in there. If I use the driver you linked to, then we may have something, but I don't know what the memory is on that particular driver. I like the idea for a Parallel connection, at least that is what I assume it is. That will give a big speed increase over serial, even if done totally in spin (data := ina[16...23]). Thank you for reminding me about the resistors, I'll have to make room on board for those.
  • MicrocontrolledMicrocontrolled Posts: 2,461
    edited 2011-05-12 13:38
    @jazzed: I believe it is 1 square meter of boards for $110. A good deal, granted, but expensive none the less. I'd rather pay that then $55 for 3 or 4. I believe lead times and shipping combined is about a month. :-O
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2011-05-12 13:39
    Take a look at the pixel driver code toward the end of the thread I linked to.. You'll get a complete picture of what I'm fiddling with.

    OBC
  • davidsaundersdavidsaunders Posts: 1,559
    edited 2011-05-12 13:57
    I for one like this idea. Use a Propeller as a graphics processor for a Propeller. I would be surprised if you do not sell many of these.
  • MicrocontrolledMicrocontrolled Posts: 2,461
    edited 2011-05-12 15:19
    Board update! For all those of you who don't like wasted space, this is for you!
    GraphicsSlave_v.1.2_Bottom.jpg
    GraphicsSlave_v.1.2_Top.jpg


    I've managed to cram in PS/2, and audio with external speaker transistor amplifiers and a selection brick! I also added a Parallel interface with 8 pullup/pulldown resistors, selectable through another brick (I don't know what they are called, terminal maybe?). All without changing the board size! I've been working on the drivers too but I'll post about that when I have something solid working.

    Thanks,
    Microcontrolled

    P.S. If you know a cheaper PCB fab please post!
    1024 x 576 - 121K
    1024 x 576 - 111K
  • WBA ConsultingWBA Consulting Posts: 2,935
    edited 2011-05-12 15:33
    If the serial interface does not require a propeller on the front end, then you should have some sort of connector on the board so that a non-propeller microcntroller user can make use of this board as well. There are a lot of propeller users that also do designs with other microcontrollers, and this board may enable them to use the propeller graphics without including it with the main layout. In other words, I can see an arduino user utilizing this board if it simply requires a serial based command set......
  • David BetzDavid Betz Posts: 14,516
    edited 2011-05-12 15:35

    I downloaded the zip file but didn't find the video driver in it.
  • MicrocontrolledMicrocontrolled Posts: 2,461
    edited 2011-05-12 15:48
    Sorry! I accidently compiled and uploaded my Digital Clock program instead! Problem fixed!
  • schillschill Posts: 741
    edited 2011-05-12 16:04
    After a quick look the board looks pretty nice.

    I have a request, though. It looks like the board is wider than the standard GG Propeller Platform board. It will stick out on either side. Also, I expect it will not be able to be used with the enclosure sold by Parallax.

    Can you get the outside traces inside the headers? If not, it may be ok to reduce the headers to a single row. If people start using stacking headers between the boards (I almost always do), the extra rows may be redundant. They are useful on a protoboard, but not on one where all the functionality is already wired.
  • MicrocontrolledMicrocontrolled Posts: 2,461
    edited 2011-05-12 16:35
    I've shorted the margins on the board and manually moved the traces on the side to comply to your request. Thanks for the input!
    graphicsSlave v.1.3.jpg
    1024 x 576 - 102K
  • schillschill Posts: 741
    edited 2011-05-12 16:59
    Thanks.

    You have a lot of resistors and the crystal under the Prop. Do you intend for them to be on the same side as the Prop or on the opposite side? Do you have a socket in mind that you know will handle these components? It might be a bit tight.

    Also, it's hard to tell, but you have a lot of long traces I'd probably try to reroute. I can't really see what's going on on the other side of the board that clearly so I can't tell for sure.
  • MicrocontrolledMicrocontrolled Posts: 2,461
    edited 2011-05-12 17:15
    The resistors and the crystal are mounted under the Propeller. I'll attempt to re-route.
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2011-05-12 17:16
    Mind posting your schematic?

    Also, if you intend the board to be stackable (sit between the Propeller Platform and another board on top), you could extend the board lengthwise a little and put the connectors off to one side. This would make the board not fit in a GG case, but might give you some extra room as well as allowing it to be the meat in the sandwich without the upper board hitting the connectors.

    Just food for thought..

    OBC
  • schillschill Posts: 741
    edited 2011-05-12 18:02
    I still think it's worth considering going with a single row of headers on each side. That will free a lot of space.
  • MicrocontrolledMicrocontrolled Posts: 2,461
    edited 2011-05-13 06:03
    @OBC: I don't have a schematic designed, if I posted one, it would be a handwritten one I wrote. I'll design one in DipTrace and post it today.

    I have again revised the board. Diptrace doesn't like the traces being this close and gives me warnings, but it was the only way I could get the board small enough to fit inside the ever-important enclosure. I've re-positioned the Propeller Chip and have switched to single row headers. Now all the peripherals are on one side, which is more practical for an enclosure.

    GraphicsSlave_v.1.3_Bottom.jpg
    GraphicsSlave_v.1.3_Top.jpg
    1024 x 555 - 91K
    1024 x 555 - 101K
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2011-05-13 07:11
    If you are doing this in Diptrace, aren't you creating the PCB design from a schematic? That's the way I've always done it. Or are you doing a PCB design directly?

    OBC
  • schillschill Posts: 741
    edited 2011-05-13 08:58
    I would suggest you start from the schematic and then move to the board. Tools like Diptrace make this easy to do and you are much more likely to catch errors. It will also help others if you want to share your work.

    I'm having some trouble following the bottom layer of the board - the dark blue traces in the jpg are tough to see on my monitor (by the way, if possible png or some other lossless format would be better than jpg for something like this). But it looks like you have a lot of really long traces traveling around the outside of the board. I expect that you can keep rearranging things to remove a number of these.
  • MicrocontrolledMicrocontrolled Posts: 2,461
    edited 2011-05-13 10:36
    @OBC: I'm doing the PCB design directly, not from a schematic. I am extremelly challenged by the DipTrace schematic design software and don't like it one bit. I try to avoid using it unless I've been hired for consulting and the client requests it.
    @schill: I'll upload in a lossless format next time.
  • MicrocontrolledMicrocontrolled Posts: 2,461
    edited 2011-05-13 11:17
    Here you go. Hardly any edges on it, traces moved in as close as I can get them, single line headers, and I've removed the audio circuit because I have confirmed that there is no space in RAM for the driver and it crowded the board with the transistors. I have made it so it attaches on the inside layer of pin headers, so it will fit in the case for sure now. Let me know what you think, and what you think I should put in that extra space in the upper left corner of the board.

    GraphicsSlave_v.1.5_Bottom.jpg
    GraphicsSlave_v.1.5_Top.jpg
    1024 x 555 - 102K
    1024 x 555 - 113K
  • trodosstrodoss Posts: 577
    edited 2011-05-13 11:49
    @Microcontrolled,
    Looks like a good design!

    One thing you could do if board real-estate is tight is use a stereo audio jack (something like this) instead of the current RCA jack and then put out mono sound and video (using an iPod cable, or something like this) for a connection. Granted, you said RAM is tight, and any extra capacitors/resistors on the board may not work. Just thought I would at least mention it.
  • schillschill Posts: 741
    edited 2011-05-13 12:10
    I have made it so it attaches on the inside layer of pin headers, so it will fit in the case for sure now.

    The inside layer? If I understand correctly this would mean that it can't plug into the propeller platform board which uses the outer rows of pins. I must be misunderstanding.

    Also, I don't see any decoupling capacitors on the prop's power pins.

    If you have room for an audio connector on the board but no room for the driver, you can still put the connector there. Just feed it from the Prop on the propeller platform board instead of the graphics slave board.
  • MicrocontrolledMicrocontrolled Posts: 2,461
    edited 2011-05-13 12:27
    @trodoss: Thanks! Good idea with having video and audio out one jack. The only disadvantage to this is that the owner would have to own the cable. I think I'll stick with the RCA jack for now, unless I'm really pinched for space again.

    @Schill: This is what I mean by inside pins:
    GGInsidePins.png


    I like the idea of having audio controlled by the main Propeller, as it has access to the SD card anyway.
    I'll add decoupling caps on the prop pins.
    500 x 422 - 396K
  • schillschill Posts: 741
    edited 2011-05-13 12:31
    This is what I mean by inside pins:

    Doesn't that mean you won't be able to plug it into the board in your picture?
  • MicrocontrolledMicrocontrolled Posts: 2,461
    edited 2011-05-13 12:53
    @Schill: (Yes, I just realized I forgot the decouplers), here is the revised version. I have moved the pin headers to fit the position of the board. I always thought that it came with enough headers you could have them on both, but I guess not.

    GraphicsSlave_v.1.6_Bottom.jpg
    GraphicsSlave_v.1.6_Top.jpg
    1024 x 576 - 87K
    1024 x 555 - 95K
  • schillschill Posts: 741
    edited 2011-05-13 13:01
    The two rows let you stagger them. For example the original propeller platform board has female headers on the outside. If your board had male headers on the outside so that it could plug into the original board, then you would populate the inner rows with female headers so another board would be able to stack on top of it - if it had male headers on the inside.

    That board, in turn, could have female headers on the outside so that another board could stack on it. You can keep alternating ad infinitum if you want.

    But, if you use stacking headers (female headers with long pins) you only need one row and you gain the extra board space.
  • GranzGranz Posts: 179
    edited 2011-05-13 15:45
    @jazzed: I believe it is 1 square meter of boards for $110. A good deal, granted, but expensive none the less. I'd rather pay that then $55 for 3 or 4. I believe lead times and shipping combined is about a month. :-O

    Micro,

    From your cost quote, I am guessing that you are looking at Gold Phoenix - they are pretty good, very low cost and fairly quick, and I like the job they did for me... But - the $110 price is for 155 square inches; one square meter is about 1550 square inches, or the Gold Phoenix deal is for about 1/10th of a square meter. If I have it wrong, please let us know; I would definitely want to look into your source.

    BTW: this looks like a great project! I need something like this for a couple of projects I have on the back burners.
  • MicrocontrolledMicrocontrolled Posts: 2,461
    edited 2011-05-13 16:48
    @Granz: No, you are right, I just wasn't thinking when I posted that. :-)
    @Schill: I get it, thanks for the help.
  • GranzGranz Posts: 179
    edited 2011-05-13 21:14
    @Granz: No, you are right, I just wasn't thinking when I posted that. :-)

    Bummer! I thought that you had given me a triple Jackpot! Oh well, I guess that I already had the best price around.
Sign In or Register to comment.