P2D2 - An open hardware reference design for the P2 CPU

1678911

Comments

  • Cluso99Cluso99 Posts: 14,161
    edited October 16 Vote Up0Vote Down
    I needed this to check the pinout connection for the PropPlug or Serial header so decided to post here for reference. (see page 1)

    P2D2-PropPlug.jpg

    P2D2-PropPlugCct.jpg


    221 x 238 - 29K
    433 x 138 - 28K
    My Prop boards: P8XBlade2, RamBlade, CpuBlade, TriBlade
    Prop OS (also see Sphinx, PropDos, PropCmd, Spinix)
    Website: www.clusos.com
    Prop Tools (Index) , Emulators (Index) , ZiCog (Z80)
  • Currently my P2D2 doesn't have the reset transistor circuit so I am looking for my PropPlug equivalent board with 5V header too. Not unpacked since my move :(

    Then I'll add the transistor circuit and try the cheapie <$2 CP2102 board.

    FWIW Peter, we need a 10K pull-up on the P2 RESn pin. Think that's been mentioned before, but just in case.
    My Prop boards: P8XBlade2, RamBlade, CpuBlade, TriBlade
    Prop OS (also see Sphinx, PropDos, PropCmd, Spinix)
    Website: www.clusos.com
    Prop Tools (Index) , Emulators (Index) , ZiCog (Z80)
  • Sorry, i left the transistor off your board after u reworked it but you are probably the one person who could use it. There is a10k pull-up added to the reset pad in the top left corner but you may notice. Otherwise there is a10k pullup in the transistor reset circuit.
    I loaded the other pcb with my transistor reset and it works fine even with a prop plug. I think parallax may have loaded the other boards with a standard npn, not the digital one with the pulldown.

    Your board was fully tested after the rework. You can even type ctrl R in TAQOZ to restore all the extensions i added plus the game of life demo.

    Don't forget that there is a proper overlay pdf that makes it very easy to find labels and values. I'll post the link back in here later when I'm back at the computer.

    Tachyon Forth - compact, fast, forthwright and interactive
    useforthlogo-s.png
    --->CLICK THE LOGO for more links<---
    Latest binary V5.4 includes EASYFILE +++++ Tachyon Forth News Blog
    P2 SHORTFORM DATASHEET +++++ TAQOZ documentation
    Brisbane, Australia
  • Cluso99Cluso99 Posts: 14,161
    edited October 16 Vote Up0Vote Down
    Thanks Peter :)
    I was tired last night when I arrived home. Not a good time to play :(
    Just found my FT232 board so I'm connecting it up now. I have about an hour before I need to leave.

    BTW no worries about the reset circuit. As you know, I have the parts and can happily solder the pcb :)
    My Prop boards: P8XBlade2, RamBlade, CpuBlade, TriBlade
    Prop OS (also see Sphinx, PropDos, PropCmd, Spinix)
    Website: www.clusos.com
    Prop Tools (Index) , Emulators (Index) , ZiCog (Z80)
  • roglohrogloh Posts: 853
    edited October 17 Vote Up0Vote Down
    Hi @Peter Jakacki , when approximately might your next rev of P2D2 boards be made do you think?

    To be safe I am happy to wait until then for getting one I guess, and I'm not one of the lucky early ones to have any P2 chips to play with anyway.

    I'm actually laying out a base board that uses your board at the moment as the main processor module. Hopefully the dimensions and the pinouts of your P2D2 are not going to change too much more, or at least after I complete my own board in perhaps (optimistically) 2-3 weeks time. If they are going to be changing I may have to modify/delay my plans somewhat.
  • Peter JakackiPeter Jakacki Posts: 7,834
    edited October 17 Vote Up0Vote Down
    I'm thinking of finalizing the board and getting it done before the next batch of P2 chips are available. Along with that I will have my dev board for it to plug into but I'm looking at what I like to have on that board and now HDMI looks possible too. I just realized I could add a PHY for Ethernet too.

    Tachyon Forth - compact, fast, forthwright and interactive
    useforthlogo-s.png
    --->CLICK THE LOGO for more links<---
    Latest binary V5.4 includes EASYFILE +++++ Tachyon Forth News Blog
    P2 SHORTFORM DATASHEET +++++ TAQOZ documentation
    Brisbane, Australia
  • roglohrogloh Posts: 853
    edited October 17 Vote Up0Vote Down
    I'm thinking of finalizing the board and getting it done before the next batch of P2 chips are available. Along with that I will have my dev board for it to plug into but I'm looking at what I like to have on that board and now HDMI looks possible too. I just realized I could add a PHY for Ethernet too.

    That would be cool Peter. Do you expect any pinout or dimension changes?

    In my case I think it makes sense to just keep some GPIO pins free to bring out a double wide PMOD interface (8 IO pins) and this could possibly be used for this new HDMI mode if it eventuates, SPI Ethernet, or VGA, extra UARTs, WIFI, I2C, PS/2 (with 5V option) etc, etc. Then nothing gets locked in and keeps a lot of flexibility with existing PMOD modules, or people can always roll their own as well.
  • I did not find any 'perfect' thru hole heatsinks, but did find some good value sticky mounting heatsinks.
    These should fit P2D2 on either/both sides.

    Search eBay for heatsink 13 x 14 x 6.5 mm

    They come in Blue/Black/Plain and are $3/12 or 25c each.
    s-l500.jpg
  • roglohrogloh Posts: 853
    edited October 17 Vote Up0Vote Down
    I'm sort of hoping I might be able to squeeze in an optional small 25x25x7mm 5V fan under a reverse mounted P2D2 (facing the component side) although the amount of airflow possible this way might be low unless I route some extra cutouts below the fan which I may be able to do. My board also in an optional enclosure so I think it might need some amount of circulation if the P2 is running full speed. I hope that the fan clearance is okay - I've seen the P2D2 in person at Tubular's work and it looks like it's low profile and the clearance might be enough.
  • Peter JakackiPeter Jakacki Posts: 7,834
    edited October 17 Vote Up0Vote Down
    i'm mounting a small 25/30mm fan in a cutout on the dev board so that when the P2D2 is plugged in upside down the fan will blow onto the top of the chip as it seems to work best this way. The fan will be mounted under the board so clearance isn't a problem.


    BTW - for anyone who hasn't come across it yet in the P2D2 Dropbox folder, this is the assembly overlay for the P2 with values and labels. I always print these as page sized references when assembling or referring to the pcb, rather than trying to read a tiny silkscreen. This is a combo of my silkscreen and a few mechanical layers that hold values and designators.

    Image and PDF and link.


    p2d2%20overlay.png

    Tachyon Forth - compact, fast, forthwright and interactive
    useforthlogo-s.png
    --->CLICK THE LOGO for more links<---
    Latest binary V5.4 includes EASYFILE +++++ Tachyon Forth News Blog
    P2 SHORTFORM DATASHEET +++++ TAQOZ documentation
    Brisbane, Australia
  • Interesting approach Peter. I can't afford a full cutout below as I need some components there but I might have some holes/slots drilled there to assist feeding some air. If I have the clearance it might be okay to raise the fan a couple of mm higher with a spacer to get some extra suction in at the sides and not just try to create a vacuum. :smile:
  • That combination of a fan mounted below your dev board cutout and the heatsink jmg found might be a decent combination if you plan to overclock etc.
  • Peter JakackiPeter Jakacki Posts: 7,834
    edited October 17 Vote Up0Vote Down
    rogloh wrote: »
    That combination of a fan mounted below your dev board cutout and the heatsink jmg found might be a decent combination if you plan to overclock etc.

    If I use a fan then I don't need a heatsink as I found that I can run at 340MHz+ indefinitely and the chip temperature is always below 40'C. I'm not worried about using any space under the module as this is a dev board designed to try out various ideas and interfaces. If I need to overclock in a product I may end up using a metal case and having the P2D2 using that as a heatsink since the exterior of a metal case is more likely to have airflow. Unless you cut slots and even use a fan to force airflow in an enclosure then there is not much advantage to a heatsink alone as the heat needs to be dissipated somehow.

    BTW, Chip wanted the 1.8V available externally but I'm reluctant to make this accessible normally since we don't want to power external devices that could compromise the P2 itself and besides it is easy enough to use another 1.8V regulator. So I think the pinout should remain the same and the 3.3V pins are available for external devices. I may end up using a switcher for the 3.3V rail on the P2D2 along with an option of a 3.3V LDO that could optionally split the VIO as we do now.

    Tachyon Forth - compact, fast, forthwright and interactive
    useforthlogo-s.png
    --->CLICK THE LOGO for more links<---
    Latest binary V5.4 includes EASYFILE +++++ Tachyon Forth News Blog
    P2 SHORTFORM DATASHEET +++++ TAQOZ documentation
    Brisbane, Australia
  • Cluso99Cluso99 Posts: 14,161
    edited October 17 Vote Up0Vote Down
    Liftoff :)

    My P2D2 is working :)

    I have booted into TAQOZ and the Monitor :)

    First observation showing 80mA but unsure if it's correct. Cannot power from my laptop yet as 5V collapses to a little over 3V. Need to check further. Now working :)

    Initially had a problem getting a response. I was using my PropPlug equivalent with real FT232RL. It was a misunderstanding on my part... pressed the right arrow cursor key instead of greater than :(

    So the correct boot sequence using PST at 115,200 baud, reset using DTR, then type 3 characters... ">" then " " (a space character) then the escape key. The P2D2 will respond with the TAQOZ message. From there, Ctl-D will go to the Monitor giving a monitor message.

    In the Monitor, type "100-" and enter (without quotes) and you will dump cog $100. "100-140" will dump cog $100-$13F. Escape and enter to return to TAQOZ.

    "> " followed by Ctl-D (without quotes) boots to the Monitor.

    YIPEE :) :) :)
    My Prop boards: P8XBlade2, RamBlade, CpuBlade, TriBlade
    Prop OS (also see Sphinx, PropDos, PropCmd, Spinix)
    Website: www.clusos.com
    Prop Tools (Index) , Emulators (Index) , ZiCog (Z80)
  • That's great, Cluso99.

    Now we can find out if the SD boot works.
  • Peter JakackiPeter Jakacki Posts: 7,834
    edited October 17 Vote Up0Vote Down
    @Cluso99 - don't forget that you can type ctrl R or type RESTORE in TAQOZ to restore a saved image from $F0000 in Flash which in this case has the extensions I've loaded for changing the clock amongst other things as well as a terminal version of the Game of Life (type DEMO). I will be adding an assembler soon so that I can even compile Tachyon from TAQOZ on the P2 itself and save the binary directly to SD for booting.

    Tachyon Forth - compact, fast, forthwright and interactive
    useforthlogo-s.png
    --->CLICK THE LOGO for more links<---
    Latest binary V5.4 includes EASYFILE +++++ Tachyon Forth News Blog
    P2 SHORTFORM DATASHEET +++++ TAQOZ documentation
    Brisbane, Australia
  • jmgjmg Posts: 12,425
    edited October 17 Vote Up0Vote Down
    BTW, Chip wanted the 1.8V available externally but I'm reluctant to make this accessible normally since we don't want to power external devices that could compromise the P2 itself and besides it is easy enough to use another 1.8V regulator. So I think the pinout should remain the same and the 3.3V pins are available for external devices. I may end up using a switcher for the 3.3V rail on the P2D2 along with an option of a 3.3V LDO that could optionally split the VIO as we do now.
    You could maybe bring the 1v8 to separate pins ?

    For a regulator upgrade, in my trawling regulators, I did find some well priced, well spec'd regulators and from OnSemi

    Best 'low voltage, small regulator for P2, with PGood' looks to be NCV6324BMTAAWTBG
    (but there is also NCP6354, NCP6334B, NCP6324B, NCV6324B alternates here) - cheapest and newest data of those is NCx6324B ( OnSemi say 3000 $0.36 Data: May, 2017 − Rev. 5)

    It seems in NCx6324B Automotive spec 'comes for free', and there is a 'WDFNW8, 2 x 2 mm, 0.5 mm Pitch Package with Wettable Flanks' that the Automotive guys like for inspection, which produces the part code NCV6324BMTAAWTBG >2A output, 2.5~5.5V (abs max 7.0V) 3MHz, 1uH inductor.

    This could manage both 3v3 and 1v8 regulation, R-adjustable.

    If you wanted to add additional spike/reverse protection, there are BZD27B5V6P / BZD27B5V1P are 2% spec, compact power package zeners.
  • Peter,
    I'll get to try a few things this afternoon just to get comfortable with P2. Then I can get on to testing the booting resistors and SD.
    If you are around I'll give you a buz and we can try a few of your TAQOZ things out :)

    My Prop boards: P8XBlade2, RamBlade, CpuBlade, TriBlade
    Prop OS (also see Sphinx, PropDos, PropCmd, Spinix)
    Website: www.clusos.com
    Prop Tools (Index) , Emulators (Index) , ZiCog (Z80)
  • Cluso99 wrote: »
    Peter,
    I'll get to try a few things this afternoon just to get comfortable with P2. Then I can get on to testing the booting resistors and SD.
    If you are around I'll give you a buz and we can try a few of your TAQOZ things out :)

    I should be available all day today, so no problems. I might even get TAQOZ to save an image to a file so that it can boot automatically.

    Tachyon Forth - compact, fast, forthwright and interactive
    useforthlogo-s.png
    --->CLICK THE LOGO for more links<---
    Latest binary V5.4 includes EASYFILE +++++ Tachyon Forth News Blog
    P2 SHORTFORM DATASHEET +++++ TAQOZ documentation
    Brisbane, Australia
  • @Peter Jakacki,

    you know of my love and hate relationship of TAQOZ but having TAQOZ looking for some 'bootfile.fth' on SD at startup, loading a startup script, would be wonderful.

    On top of the ability to load a bootsector or bootfile ala @Cluso99, load a TAQOZ start script. 'Autoexec.tqz'? 'cexeotua.tqz? the name does not really matter... it is a editable text file! (well somehow, it will be FORTH)

    It could load a additional dictionary or even your full TACHION, but it also could run other programs from SD or just load some TAQOZ firmware to make a serial controlled servo controller out of a P2.

    Mike

    I am just another Code Monkey.
    A determined coder can write COBOL programs in any language. -- Author unknown.
    Press any key to continue, any other key to quit

    The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this post are to be interpreted as described in RFC 2119.
  • Peter JakackiPeter Jakacki Posts: 7,834
    edited October 18 Vote Up0Vote Down
    msrobots wrote: »
    @Peter Jakacki,

    you know of my love and hate relationship of TAQOZ but having TAQOZ looking for some 'bootfile.fth' on SD at startup, loading a startup script, would be wonderful.

    On top of the ability to load a bootsector or bootfile ala @Cluso99, load a TAQOZ start script. 'Autoexec.tqz'? 'cexeotua.tqz? the name does not really matter... it is a editable text file! (well somehow, it will be FORTH)

    It could load a additional dictionary or even your full TACHION, but it also could run other programs from SD or just load some TAQOZ firmware to make a serial controlled servo controller out of a P2.

    Mike

    Forth can end up looking a lot like English, or Spanish, or Spanglish, or even Gibberish. Sure, you can write a program in Forth, or better still, you can write a program in an application specific language that runs on Forth. Just remember that the "compiler" is extensible too and becomes a part of Forth. Back in the early days I wrote a compiler for CPLDs in Forth that also handled the low level programming too. So simply by typing in plain text or pasting my PLD source I could compile and burn PLDs on the run. Here's part of what that CPLD language looked like and bearing in mind that I kept it simple so it still used the natural Forth style of spaces etc.:
    J- CLK/4	= CLK/2 & 8MHZ ;
    K- CLK/4	= CLK/2 & 8MHZ ;
    
    RAMOE*		= IOEN* # ( IOEN* ! & R/W ) ;
    RAMWE* !	= IOEN* ! & R/W ! & PH2 ;
    WRITE* !	= R/W ;
    BUSEN* !	= IOEN* ! ;
    
    ; Multiplexer function - DUAL 4 TO 1
    
    VDAT1 !		= ( D0 & CLK/2 ! & CLK/4 ! )
    		# ( D1 & CLK/2 & CLK/4 ! )
    		# ( D2 & CLK/2 ! & CLK/4 )
    		# ( D3 & CLK/2 & CLK/4 ) ;
    

    The original code I could print on one page but the CPLD version ended up at 1,000 lines but half of that were extensions and ICP support.
    BTW, the reason for the DIY at the time was simply the ridiculou$ price of the programmer not to mention the compiler.

    Tachyon Forth - compact, fast, forthwright and interactive
    useforthlogo-s.png
    --->CLICK THE LOGO for more links<---
    Latest binary V5.4 includes EASYFILE +++++ Tachyon Forth News Blog
    P2 SHORTFORM DATASHEET +++++ TAQOZ documentation
    Brisbane, Australia
  • The Monitor can load & run a file. This file can be any binary, so it can load & run another version of TAQOZ/TACHYON. We have a lot of flexibility here :)
    My Prop boards: P8XBlade2, RamBlade, CpuBlade, TriBlade
    Prop OS (also see Sphinx, PropDos, PropCmd, Spinix)
    Website: www.clusos.com
    Prop Tools (Index) , Emulators (Index) , ZiCog (Z80)
  • Cluso99Cluso99 Posts: 14,161
    edited October 18 Vote Up0Vote Down
    Peter,

    The P2D2 is a fantastic little board. Its nice and tight (compact) and with all I/O brought out to easy 0.1" pitch makes adding external pcbs to do other things quite simple.

    Having uSD and Flash on the pcb makes development a breeze.

    Once over finger trouble, it was a breeze to get going. Having TAQOZ & Monitor in ROM allows operation immediately after a serial terminal is connected.

    In reality, it's not possible to squeeze this pcb much smaller without sacrificing the I/O.

    Fantastic job Peter! Thanks heaps for doing this :)
    My Prop boards: P8XBlade2, RamBlade, CpuBlade, TriBlade
    Prop OS (also see Sphinx, PropDos, PropCmd, Spinix)
    Website: www.clusos.com
    Prop Tools (Index) , Emulators (Index) , ZiCog (Z80)
  • Is the assembled P2D2 board going to be available through Parallax?
  • I am thinking of offering the newer version along with an optional dev board that the P2D2 can plug into and maybe a simpler dev board too. Of course the P2D2 can be used stand-alone too. I think Parallax likes to go big and chunky whereas I like to keep it modular :)

    Tachyon Forth - compact, fast, forthwright and interactive
    useforthlogo-s.png
    --->CLICK THE LOGO for more links<---
    Latest binary V5.4 includes EASYFILE +++++ Tachyon Forth News Blog
    P2 SHORTFORM DATASHEET +++++ TAQOZ documentation
    Brisbane, Australia
  • I'm in the tiny and modular camp too :)
    My Prop boards: P8XBlade2, RamBlade, CpuBlade, TriBlade
    Prop OS (also see Sphinx, PropDos, PropCmd, Spinix)
    Website: www.clusos.com
    Prop Tools (Index) , Emulators (Index) , ZiCog (Z80)
  • Just had a session with Peter and TAQOZ.

    It is really nice to be able to use the P2 out of the box to do a few tests, etc, all without loading any code!!!
    My Prop boards: P8XBlade2, RamBlade, CpuBlade, TriBlade
    Prop OS (also see Sphinx, PropDos, PropCmd, Spinix)
    Website: www.clusos.com
    Prop Tools (Index) , Emulators (Index) , ZiCog (Z80)
  • It is really nice to be able to use the P2 out of the box to do a few tests, etc, all without loading any code!!!

    Totally. We got a taste of that with P2 HOT edition. It was super compelling.

    This one is an order better, on this front, and with the respin comes the better ROM we know you guys want and can do.

    Good times ahead.

    And thank you. It's appreciated.
    Do not taunt Happy Fun Ball! @opengeekorg ---> Be Excellent To One Another SKYPE = acuity_doug
    Parallax colors simplified: https://forums.parallax.com/discussion/123709/commented-graphics-demo-spin<br>
  • jmg wrote: »
    For a regulator upgrade, in my trawling regulators, I did find some well priced, well spec'd regulators and from OnSemi

    Best 'low voltage, small regulator for P2, with PGood' looks to be NCV6324BMTAAWTBG
    (but there is also NCP6354, NCP6334B, NCP6324B, NCV6324B alternates here) - cheapest and newest data of those is NCx6324B ( OnSemi say 3000 $0.36 Data: May, 2017 − Rev. 5)

    Thanks for the link. I am taking a look at these parts since my revised P2D2 will have 2 switchers anyway and these parts can bring the cost down while still being compact with a power-good output. I still like the XCL parts though but it's good to have options.

    Tachyon Forth - compact, fast, forthwright and interactive
    useforthlogo-s.png
    --->CLICK THE LOGO for more links<---
    Latest binary V5.4 includes EASYFILE +++++ Tachyon Forth News Blog
    P2 SHORTFORM DATASHEET +++++ TAQOZ documentation
    Brisbane, Australia
  • Peter JakackiPeter Jakacki Posts: 7,834
    edited October 29 Vote Up0Vote Down
    I decided to change the format of my P2D2 dev board and make it so that other boards can plug into it horizontally as well as an overhead option for the P2D2 itself.

    I spent an hour or so and put my P2D2 onto a smaller matrix board than what I originally planned, hence my change of thought on the dev board pcb. BTW, I always design pcbs with connectors and enclosures in mind, so the dev board will not only fit into standard enclosures, but the connectors also will protrude correctly. I find it easier to mount the pcb on the lid so that connector cutouts are a simple nibble and file on the edge of the box where it mates to the lid.

    This is only my matrix test board, not my dev board layout, but I will post something soon on that. The ribbon cable is a standard 15-way VGA adaptor cable that comes with many video cards.

    IMG20181029172901~01.jpg
    661 x 947 - 202K

    Tachyon Forth - compact, fast, forthwright and interactive
    useforthlogo-s.png
    --->CLICK THE LOGO for more links<---
    Latest binary V5.4 includes EASYFILE +++++ Tachyon Forth News Blog
    P2 SHORTFORM DATASHEET +++++ TAQOZ documentation
    Brisbane, Australia
Sign In or Register to comment.