Shop OBEX P1 Docs P2 Docs Learn Events
P1X2 - a P2D2 form factor for the P1 — Parallax Forums

P1X2 - a P2D2 form factor for the P1

I got to thinking about the many different P1 modules that I have designed in the past and then I thought how compact and easy to use the P2D2 is. Can I do the same for the P1?
Why yes, but I would allow for dual P1 chips with one driving VGA on P2D2s P0 side and the I/O all connected up there.
It would have the main or only P1 connected up to serial and flash and microSD etc. What a combination! Perhaps the 2nd P1 could have 4MB of serial RAM.
Just thinking at the moment while I get over this flu, but I will do a draft layout shortly.

Comments

  • I'm supposed to be resting but I've crept into the workshop and copied across the P2D2 pcb and schematic across to a new P1X2 project. I ripped out the P2 and placed a P1 in there plus the other one on the bottom. Looks good so far. Now with the schematic I've created a new version of the P1 symbol and placed two of them in place of the P2 with everything else the same so far and assigned the nets with P63..P32 for the main P1 and P31..P0 for the second. The main P1 connects up to the serial coms, the microSD+Flash, and I2C the same way except of course I need to add a real EEPROM, probably a tiny MSOP version or just replace the Flash with it.

    The switcher runs into a dual LDO as it does on P2D2r3 and so these supply the two P1s. The other half of the switcher will be set to 3.3V and run external devices up to 2A.

    I have a single I/O connecting P23 on both P1s through a resistor and can utilize my high-speed virtual full-duplex coms or something else. Maybe I might allow for 2 I/O.
    This version can likewise also have the micro USB serial either via the EFM8UB3 chip or a CP2102 option and/or external serial coms that is also suitable for programming the P1.
    I haven't decided exactly how I want the 2nd P1 programmed yet but it would be easy enough to at least assign a EEPROM chip for it and I can have the main P1 connected to its I2C bus via option resistors so that I can slave program it if need be. Perhaps I should do this with the slave's serial as well.

    The Si5351A clock gen has multiple outputs with the default driving the main P1 at 5MHz but of course we can lock in any frequency for either.

    So far, so good. Looks do'able and promising. Why do it? Why not!
    I MUST BE BORED!
  • don't worry, you are just sick and have fever.

    I actually like the Idea of having two P1 with the same support circuit and foot print of the upcoming new P2D2. Playing a lot with my P2 I went back to the P1 last week to test fastspin's languages on P1 and P2. And I am quite impressed by it.

    A two P1 module would cover all those cases where one P1 is just to less but a P2 would be overkill.

    I personally would prefer 2 connecting pins, I am not really a fan of half duplex, even if I do have to admit that most of my uses are half duplex, as I am waiting for responses.

    Maybe just jumper so one can choose?

    As of programming, just give both chips their own EEPROM and own extended PropPlug Header like you use to program EEPROM directly. I personally also dislike the USB on 30/31 but sadly Parallax decided different and I just have 4 Protoboards w/o USB left.

    And w/o USB you can easy load/program one P1 from another one.

    Anyways, I do like you to attempt this, same module with two P1 or one P2 makes a lot of sense to me.

    Mike
  • @msrobots - I've actually routed a lot of this although I decided to route each Prop's I/O a little differently just so I could stick to a double sided pcb. I may send this artwork off next week just for the fun of it. BTW, yes, I had allowed for full-duplex resistor option anyway although the ping-pong networking I use is very effective in being able to full-duplex over a network of Props. I found some really tiny UDFN8 1Mb EEPROMs that I will use.
  • JRetSapDoogJRetSapDoog Posts: 954
    edited 2019-09-12 11:47
    Sounds like a worthwhile idea. I like your P2D2 form factor a lot, so a few months back I made a new version of the Quby game console that utilizes it. I've got a bunch of DIP P1's, so it's not an SMD board. But it works well and gets all the MPU stuff onto its own board. For the associated carrier board, I made all of my primary connections to the first header (what would be the P2's P0-P31). Other than building the working prototype, I haven't gone beyond that yet, as I figured it would be best to wait for the P2 to come out.
    960 x 610 - 255K
    960 x 610 - 251K
  • Peter,
    The P2D2 form-factor for P1 is a great idea. As suggested, I would also use 2 eeproms to store the 2 programs.


    But .... where P2 is overkill for its specs the double P1 risks to become overkill for its price that will most probably be higher than a single P2.
    Perhaps the way to go is one P1 toghether with an IO expander, with the biggest eeprom and eventually some more ram .... or the both replaced by an fram like:
    https://www.fujitsu.com/global/products/devices/semiconductor/memory/fram/lineup/i2c-1m-rc1mt/press-new.html
    or
    https://www.cypress.com/part/fm24vn10-g
  • Peter, I might try and see how to get one later!
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2019-09-14 00:59
    The P1X2 can have a single Prop loaded for sure but maybe I might look and see if I can have an option to use I2C I/O in place of the 2nd Prop. Mind you, it can be way cheaper to use a small micro in place of I/O expanders which are never cheap. Besides a cheap $1 micro normally has A/D which would be very useful.

    EDIT: some of these micros work at 5V too which could be useful. The main P1 can communicate serially at 2Mbps so it's much faster than I2C as well.

    The PIC16F18875-I/MV in a 5x5mm UDN40 is looking good at $1.13. It has the works and runs up to 5V and of course has the normal 10-bit A/D but a stack of other stuff. The A/D does have automatic functions including averaging, filter calculations, oversampling and threshold comparison

    Maybe it might be better to forego the second P1 altogether.
  • Cluso99Cluso99 Posts: 18,066
    @dMajo,
    Price is a killer tho :(
  • I've got a bunch of DIP P1's, so it's not an SMD board. But it works well and gets all the MPU stuff onto its own board.
    If you are interested, I still have quite a large amount of bare fabs for my M44D40+ module that can also be used with DIPs.
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2019-09-14 02:23
    The $1 PIC chip sounds like it would be the go as I would have 32 I/O connected to the main P1 via a 2Mbps link (under Tachyon) and all this functionality with 5V I/O option to boot:
    • Four Configurable Logic Cells (CLC):
    - Integrated combinational and sequential logic
    • Three Complementary Waveform Generators
    (CWG):
    - Rising and falling edge dead-band control
    - Full-bridge, half-bridge, 1-channel drive
    - Multiple signal sources
    • Five Capture/Compare/PWM (CCP) module:
    - 16-bit resolution for Capture/Compare modes
    - 10-bit resolution for PWM mode
    • 10-bit PWM:
    - Two 10-bit PWMs
    • Numerically Controlled Oscillator (NCO):
    - Generates true linear frequency control and
    increased frequency resolution
    - Input Clock: 0 Hz < FNCO < 32 MHz
    - Resolution: FNCO/220
    • Two Signal Measurement Timers (SMT):
    - 24-bit Signal Measurement Timer
    - Up to 12 different Acquisition modes
    Full-Featured 28/40/44-Pin Microcontrollers
     2015-2018 Microchip Technology Inc. DS40001802E-page 2
    PIC16(L)F18855/75
    Digital Peripherals (Cont.)
    • Cyclical Redundancy Check (CRC/SCAN):
    - 16-bit CRC
    - Scans memory for NVM integrity
    • Communication:
    - EUSART, RS-232, RS-485, LIN compatible
    - Two SPI
    - Two I2C, SMBus, PMBus™ compatible
    • Up to 36 I/O Pins:
    - Individually programmable pull-ups
    - Slew rate control
    - Interrupt-on-change with edge-select
    - Input level selection control (ST or TTL)
    - Digital open-drain enable
    - Current mode enable
    • Peripheral Pin Select (PPS):
    - Enables pin mapping of digital I/O
    • Data Signal Modulator (DSM)
    - Modulates a carrier signal with digital data to
    create custom carrier synchronized output
    waveforms
    Analog Peripherals
    • Analog-to-Digital Converter with Computation
    (ADC2):
    - 10-bit with up to 35 external channels
    - Automated post-processing
    - Automates math functions on input signals:
    averaging, filter calculations, oversampling
    and threshold comparison
    - Operates in Sleep
    • Two Comparators (COMP):
    - Fixed Voltage Reference at (non) inverting
    input(s)
    - Comparator outputs externally accessible
    • 5-Bit Digital-to-Analog Converter (DAC):
    - 5-bit resolution, rail-to-rail
    - Positive Reference Selection
    - Unbuffered I/O pin output
    - Internal connections to ADCs and
    comparators
    • Voltage Reference:
    - Fixed Voltage Reference with 1.024V, 2.048V
    and 4.096V output levels
  • jmgjmg Posts: 15,140
    The $1 PIC chip sounds like it would be the go as I would have 32 I/O connected to the main P1 via a 2Mbps link (under Tachyon) and all this functionality with 5V I/O option to boot:
    How important is true 5V IO ?
    The SiLabs EFM8BB3 has better ADC, much better DAC, and includes a boot loader, and can run serial links faster than 2MBd. (See my EFM8UB3 notes)
    It has 5V tolerant IO pins.

  • jmg wrote: »
    The $1 PIC chip sounds like it would be the go as I would have 32 I/O connected to the main P1 via a 2Mbps link (under Tachyon) and all this functionality with 5V I/O option to boot:
    How important is true 5V IO ?
    The SiLabs EFM8BB3 has better ADC, much better DAC, and includes a boot loader, and can run serial links faster than 2MBd. (See my EFM8UB3 notes)
    It has 5V tolerant IO pins.

    This is true but the type of CPU is not really important, only the peripherals. However I see that there is a EFM8UB2 in QFP48 for 35 cents more and it has USB. Besides I can burn the EFM8 chip directly from the Prop via the C2 lines. I will look at that too. The 2Mb speed was more of a safe limitation on the P1 side though.
  • ErNaErNa Posts: 1,738
    As soon as more information is available and progress is done, I will continue with this CMap... https://cmapspublic3.ihmc.us/rid=1V09GV92H-TKSDZB-1P1R/P1X2-a_P2D2_form_factor_for_the_P1.cmap
  • The P1X2 can have a single Prop loaded for sure but maybe I might look and see if I can have an option to use I2C I/O in place of the 2nd Prop. Mind you, it can be way cheaper to use a small micro in place of I/O expanders which are never cheap. Besides a cheap $1 micro normally has A/D which would be very useful.

    EDIT: some of these micros work at 5V too which could be useful. The main P1 can communicate serially at 2Mbps so it's much faster than I2C as well.

    The PIC16F18875-I/MV in a 5x5mm UDN40 is looking good at $1.13. It has the works and runs up to 5V and of course has the normal 10-bit A/D but a stack of other stuff. The A/D does have automatic functions including averaging, filter calculations, oversampling and threshold comparison

    Maybe it might be better to forego the second P1 altogether.
    Yes, perhaps you are right about IO extenders.

    Regarding PICs pls consider also PIC16(L)F1779 (and/or PIC16(L)F1789)
  • jmgjmg Posts: 15,140
    This is true but the type of CPU is not really important, only the peripherals. However I see that there is a EFM8UB2 in QFP48 for 35 cents more and it has USB. Besides I can burn the EFM8 chip directly from the Prop via the C2 lines. I will look at that too. The 2Mb speed was more of a safe limitation on the P1 side though.
    The UB3 USB code I did may port to UB2, as most of the effort there was UART1 FIFO and interrupts.
    (UB3 is a cost-optimised device, removed UART0, and improved i2c speed)
  • jmg wrote: »
    This is true but the type of CPU is not really important, only the peripherals. However I see that there is a EFM8UB2 in QFP48 for 35 cents more and it has USB. Besides I can burn the EFM8 chip directly from the Prop via the C2 lines. I will look at that too. The 2Mb speed was more of a safe limitation on the P1 side though.
    The UB3 USB code I did may port to UB2, as most of the effort there was UART1 FIFO and interrupts.
    (UB3 is a cost-optimised device, removed UART0, and improved i2c speed)

    Thanks for your work there jmg - my feet have hardly touched the ground the last couple of months, and when they have, so has the rest of me :) I will get onto this tomorrow, along with the new P2 of course.
Sign In or Register to comment.