Shop OBEX P1 Docs P2 Docs Learn Events
Propeller 2 Preliminary Feature List - Page 3 — Parallax Forums

Propeller 2 Preliminary Feature List

13

Comments

  • RossHRossH Posts: 5,462
    edited 2010-10-26 17:50
    I agree with Bean's comments. I'd like to support the Prop II with Catalina (some parts of Catalina were designed specifically with Prop II features in mind).

    I just hope Parallax realizes how much lead time we will need. From having a finalized instruction set to having solid and reliable third-party tool support may take many months (depending - of course - on how extensive the changes are!).

    I'd hate to see the Prop II launched to great fanfare and much acclaim, only to see it languish while the various third-party software suppliers (free and commercial) scramble to catch up.

    However, like Cluso, I'm fairly confident this will not happen, and that Parallax wil start releasing solid information soon.

    Ross.
  • Bill HenningBill Henning Posts: 6,445
    edited 2010-10-26 18:05
    I suspect that the info won't be 100% solid until well after the shuttle test
  • Bobb FwedBobb Fwed Posts: 1,119
    edited 2010-10-27 08:52
    Beau posted this image a while back (but it only has 100 pins -- view his post below to see the most current pin arrangement).

    attach.aspx?a=39338

    92 I/Os
    8 VP0-7 power 1 per 8 I/Os (1.8v - 3.3v)
    8 GP0-7 grounds 1 per 8 I/Os
    8 VDD 1.8v Core power
    8 GND
    1 RESn Reset
    2 XTAL Clock
    1 BOEn Brown Out
    Harley wrote: »
    I've been thinking about this list. Here's the thinking (my port assignments) on the pins and power (my assumed distribution):
      Item  #pins
      -------+--
      Port A  32
      Port B  32
      Port C  20
      Port D   8
      Xtal     2
      Reset    1
      BOE      1
      -------+--
     Subtotal 96
    
      128 pin SMT package
     - 96  pins above
    ------
       32 for power/ground
    
      1.8v   4 or 8
      3.3v  12 or 8
      Gnd   16
      ----------
            32 check!
    
    I'm guessing this isn't too far off?
  • LeonLeon Posts: 7,620
    edited 2010-10-27 08:55
    I created a PCB part for it, at the time. I split it up into eight gates for the eight groups of I/Os with their supplies, one for the clock etc. and one for the power and ground connections.
  • Beau SchwabeBeau Schwabe Posts: 6,566
    edited 2010-10-27 09:07
    Bobb Fwed,

    That diagram only shows a 100 pin package.

    I would go with something closer to the attached image here...


    Leon,

    If you created the PCB part based on the 100 pin image, you'll need to revise the part.


    Note: in the attached image all of the IO/s should be correct, however there is some 'flux' as to the correct order of the power/ground... in other words, they are generally in the correct position, but they could be swapped.
    1032 x 996 - 295K
  • LeonLeon Posts: 7,620
    edited 2010-10-27 09:24
    Thanks, Beau. I need to correct it for the 128 pin version.
  • WBA ConsultingWBA Consulting Posts: 2,934
    edited 2010-10-27 12:14
    In regards to the couple posts about a DIP40 compatible version of the Prop2, that is a piece of cake. PCB cost may be a concern, but depending on the final choices of SMT packages that the 128 pin Prop2 comes in, creating an adapter PCB will not be an issue. My M44D40+ module can be used simply as a propeller QFN to DIP 40 adapter when you only load the QFN and headers. Doing the same with a larger SMT package only means that the headers need to be surface mount and on the bottom side so that the chip can have it's room. The nice thing is that the "oversized DIP40 PCB" will have room for the 1.8v circuit to make it truly Prop1 DIP40 compatible. Snapshot attached shows a QFP128 on a DIP40 pattern just to get the idea of how oversized the adapter PCB would need to be if that is the chosen package. Obviously a QFN, BGA, or LGA package would suit an adapter much nicer.

    I helped with a design for a similar adapter board a few years ago for a 44 pin QFP that ended up in a DIP 32 socket. It was for a legacy product with a heavy amount of field units. The original DIP32 part was obsoleted and a new board design was created with a QFP44. However, to support field units, an adapter was a better option then telling a customer they had to purchase a new unit. The adapter PCB was almost twice the width of the DIP32, but worked out nicely. Top side had the QFP44, some bypass caps, and other basic support circuitry. The bottom side had surface mount headers with 0.018 diamter pins that fit perfectly into the legacy boards' DIP32 socket.
  • HarleyHarley Posts: 997
    edited 2010-10-27 12:56
    Beau, re: Post 66 figure. VDD I suppose is interim place holder for 3.3v and 1.8v?

    What is the VPn pins? Appears to be a 12-pin port. Or is that for 3.3v and VDD for 1.8v?

    I'd guess the actual ports, that is 32 I/O port A and 'B' is part of the Pn assignments?

    GP = general purpose I/O?
  • Bobb FwedBobb Fwed Posts: 1,119
    edited 2010-10-27 13:03
    VP = power for I/Os (1.8-3.3V)
    GP = grounds for I/Os
    VDD = 1.8v Core power
    GND = core power ground
    Harley wrote: »
    Beau, re: Post 66 figure. VDD I suppose is interim place holder for 3.3v and 1.8v?

    What is the VPn pins? Appears to be a 12-pin port. Or is that for 3.3v and VDD for 1.8v?

    I'd guess the actual ports, that is 32 I/O port A and 'B' is part of the Pn assignments?

    GP = general purpose I/O?
  • HarleyHarley Posts: 997
    edited 2010-10-27 13:22
    Thanks, Bobb Fwed.

    Helps when one knows the 'language'. Don't think this ancient engr. would have guessed that for a long time. That makes much more sense.

    I suppose the actual port pins will be assigned later as the Prop 2 full silicon layout is done? (My thinking here is there might be Ports An, Bn, Cn and maybe a Dn for the full I/O assignments, where 'n' is from 8 to 32 (better yet, 0..7 up to 0..31).
  • Bobb FwedBobb Fwed Posts: 1,119
    edited 2010-10-27 13:43
    We were talking about how the different "Ports" or blocks of 32 pins would be accessed. I would think it wouldn't be too far out of Chip's/Beau's reach to make it possible to have all I/Os accessible directly by the number. So we just have OUT (no A or B or C). And in the [] we have a range between 0 and 91. If the registers are aligned, I think this could work. It may be similar to accessing an array of longs with .byte[x], it just overflows to the next long. It may only be directly an option in SPIN, but if it can be done in SPIN, it can be done [at least] indirectly in PASM.

    Is this even remotely possible? This would make writing object and software in general so much easier. If it is done just by calling OUTA/B/C it makes object a lot less portable. You would have to go through the entire object and change all the pin calls to the port letter you are working with.

    Maybe it could be done with a nested array like DIRA[2][31] this would affect the second port's P31.
  • HarleyHarley Posts: 997
    edited 2010-10-27 15:38
    If the ports are not ID'd with Port A ... D type labeling it might be sometimes confusing in Prop 2 programming to account for 32-bit variable bits vs. I/O 'pins' running from P0..P91.

    Presently in Prop 1 we have 32 I/O and 32-bit variables/registers. If the second and later I/O ports were further labeled in alphabetic letters (B, C, D, etc.) if might be more convenient to think of or account for the bit positions.

    Anyway, it is Parallax's call. Would have been nice if this was already nailed down. I still think it might depend on silicon layout routing. Hopefully the labeling can remain 'unscrambled' as Beau has indicated. 'Nuf said'.
  • BigFootBigFoot Posts: 259
    edited 2010-10-27 18:14
    Leon,

    At the 09 UPEW I asked Chip the 5V compatibility question and he
    said the process they are using for Propeller 2 is only good for 3.5
    volts or so.
  • Beau SchwabeBeau Schwabe Posts: 6,566
    edited 2010-10-27 20:41
    BigFoot,

    If I remember correctly, the Zener breakdown voltage is about 7V ... 5V is living in dangerous territory with that considered.

    The process is designed to accept 1.8V and 3.3V comfortably.

    As it has been indicated, the core voltage is 1.8V period, no if and's or buts. The I/O's can be configured in groups of 8 to have anywhere from 1.8V to 3.3V ... in a way they 'ARE' level shifters. Suppose you dedicate one group of 8 for 3.3V, another for 2V, and another for 2.5V ... Yup!! all three could live happily as long as those voltages stayed true to each group of 8 that were configured that way.

    Ohh, and the Voltage configuration is done external in hardware based on what you supply to the Power for each group. - All grounds are the same, GIO and GND are 'locked' together within one diode drop by two parallel back to back diodes, so there is 'some' noise immunity between GIO and GND.
  • HarleyHarley Posts: 997
    edited 2010-10-27 22:55
    How cool to have the capability of I/O's that "...can be configured in groups of 8 to have anywhere from 1.8V to 3.3V..." level translation.

    Propeller 2 is going to be a 'beauty' with all its features. And Parallax lets us in on its development. Wow!
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2010-10-28 07:08
    Incredible! Video, math and memory upgrades are going to be VERY worth the wait! Suppose we can get the hardware gods here to create a "C4" creation which will replace my power hungry PC's with Propeller based systems? :):)

    OBC
  • jmgjmg Posts: 15,173
    edited 2010-10-28 16:45
    Sapieha,

    "Will it be possible with that waveform generators be possible to generate 3-phase waves"
    - Another function of the DAC output, this type of output control should be very easy to accomplish.

    So that means a single COG + Dual Counter [32 bit? 40 bit? ], can create the 6 Gate drive signals typically needed for a 3 phase bridge ?
    - and can it also support fast current limiting.
    The better Timer/PWM modules, have hardware Pulse-abort pins, for over current limiting.

    Another timer detail question:

    Q: Can the two timers/COG, be configured for Reciprocal Counting ?

    This is not complex, but too often overlooked, in chips.

    One timer captures a fast timebase (160MHz+prescaler)), when driven from the OTHER timer overflow output. That other timer, is used as a simple Pin-Divider.
    ie it takes a user-CLK-pin, and divides by 1..2^N, user selectable.

    So you need :
    ** Capture of one Fast Timebase timer, on Overflow event of other timer.
    (clear-on-capture is optional)
    ** Divide by N from a Pin
    ( this could include a non sampled pin prescaler divider, to allow highest possible
    pin rates, without needing highest MHz on Core.)
    Frequency is Cycles/time, so
    f = [PinDividerSetValue]/([TimeCaptureValue]*ClkPeriod) or
    f = ClkFrequency* [PinDividerSetValue]/([TimeCaptureValue]) or

    The Timebase timer, should run as fast as silicon can support.
    That might be < 160MHz for reliable 32 bit count and capture on the fly ?
    If the timers cannot get to 160MHz, then a split PLL output /N (2?) to 160MHz,
    and /3 to give 100MHz timers could be workable ?
  • DaveJensonDaveJenson Posts: 375
    edited 2010-10-30 09:45
    Does anyone have a 128 QFP component for ExpressPCB that they would share?

    Thanks!
  • Matthew BurmeisterMatthew Burmeister Posts: 49
    edited 2011-01-02 00:00
    Late to the party PROP II Details party,

    Anyways, Why can't the propeller access the SDRAM for code? 128KB of Ram won't be enough. you got eight cogs on board, thats 16KB code space per cog if equally shared. (However it's more than the prop I with 4 KB per cog ;) )
    Please at least have SDRAM code access for SPIN 2, even if it has to use another cog. Bring the problem to light and maybe the community could workout a idea.

    Form Factor: I Appreciate more pins, However a DIP package might be better for prototyping and then a SMT package could be used for production/more stable designs. I wouldn't mind a dip package with 128 pins ;)

    Performance: Awesome... 1.28 BIPS...

    Math: Why do we need a CORDIC system if we have hardware Multipliers/Dividers?

    I/O Features: Great, Shouldn't change a thing (Except if your adding more ;) ) However, will the ADC/DAC be 32 bit?

    I can't wait for the sample/production devices.
  • potatoheadpotatohead Posts: 10,261
    edited 2011-01-02 01:46
    Each COG will get 2K code space. 512 instructions. That space is not part of the main HUB memory, currently targeted at 128KB.

    COGs only execute code directly from their local memory. When a COG is started, the local memory is copied from the HUB to the COG, then code execution begins. Prop I also has 2K code space per COG, as the design is the same in that respect.

    It is possible to fetch code from storage, fire off a COG, then use that HUB memory for something else.

    Personally, I think the 128KB is too small, but too small for data, not code. Lots of streaming from external memory could impact the parallelism, but we don't have chips or full instructions yet, so... maybe it's not a worry at this point.

    SPIN could be modifed to run from the external RAM, and it's highly likely the community will do this. We've already done a lot of work with LMM and XMM code execute models, both of which will be improved on Prop II.

    (LMM is the fetching of PASM code from the HUB, then running it in the COG inside a small supervisor kernel. XMM is doing the same from a storage outside the Propeller.
  • Cluso99Cluso99 Posts: 18,069
    edited 2011-01-02 02:20
    Potatohead said... COGs only execute code directly from their local memory. When a COG is started, the local memory is copied from the HUB to the COG, then code execution begins. Prop I also has 2K code space per COG, as the design is the same in that respect.

    Well, not strictly true in the sense that the Spin code is in hub so it could be a full 128KB. But the interpreter itself is in cog and executes within that 2K limit. With the extensions of Spin LMM it maybe that the new interpreter for the Prop II may also use some LMM code which could in fact be within the ROM.

    As for a DIP package - forget it as it will never happen! (This is one time I feel confident I can say it cannot be done and not expect to eat a prop :) ). Can you imagine a 128pin DIP? Someone would have to put up a lot of cash to make a DIP 128 package.
    I used to work with 64pin QUIP (two rows each side of the package offset by 0.1" and stagered at 0.05"). They were modem chips made by Rockwell in the late 80's. They were very fragile pins and we had more problems with sockets than we did with the rest of the circuits.
  • kubakuba Posts: 94
    edited 2011-01-02 17:26
    Sapieha wrote: »
    Will it be possible with that waveform generators be possible to generate 3-phase waves for industrial 3-phase MOTOR control in one COG/generator --> And if possible even with simultaneously controlling its amplitude. If not that will be not so usable in industry
    First of all, there is no reason why you can't use 3 COGs for that. COGs are there for a reason, you pay for them -- may as well use them. Or you may use a CORDIC, I just don't know if there's one CORDIC per pin or per COG. This is all if you are up for plain-jane PWM output, which may not be all that great. PWM has rich harmonic content and is not cheap to filter EMI from -- when compared, say, to magic sinewaves. If you're driving many kilowatts into a 3 phase motor (induction or brushless), the EMI filters don't come cheap.

    Personally I'd dedicate one COG to do a table-lookup-based 3-phase magic sinewave output. I don't know what's your target amplitude resolution, that would affect the table size. Even on current Propeller doing a 3-phase CORDIC PWM running at a couple kHz for 3 phases isn't that big of a deal -- you can very comfortably fit two phases onto one COG.
  • wmosscropwmosscrop Posts: 409
    edited 2011-01-03 07:11
    Cluso99 wrote: »
    As for a DIP package - forget it as it will never happen! (This is one time I feel confident I can say it cannot be done and not expect to eat a prop :) ). Can you imagine a 128pin DIP? Someone would have to put up a lot of cash to make a DIP 128 package.
    I used to work with 64pin QUIP (two rows each side of the package offset by 0.1" and stagered at 0.05"). They were modem chips made by Rockwell in the late 80's. They were very fragile pins and we had more problems with sockets than we did with the rest of the circuits.

    I, for one, would be perfectly happy with a DIP-40 with the same pinouts as the current chip... if that's possible. In other words, a drop-in replacement with more ram and faster cogs.

    Yes, it would not have the additional I/O's...externally. But they could still be used for inter-cog communication...
  • davidsaundersdavidsaunders Posts: 1,559
    edited 2011-03-22 22:54
    Maybe a PGA? :-)

    What could be included to ease the use of SDRAM? I have used SDRAM in many a project and have not had any difficulty. Hou could it be any easier?
  • jazzedjazzed Posts: 11,803
    edited 2011-03-22 23:09
    What could be included to ease the use of SDRAM? I have used SDRAM in many a project and have not had any difficulty. Hou could it be any easier?

    Support is already there. http://www.parallax.com/Propeller2FeatureList/tabid/898/Default.aspx

    SDRAM is also available for the PropellerPlatform today and can be used with Zog C/C++.
  • davidsaundersdavidsaunders Posts: 1,559
    edited 2011-03-22 23:26
    jazzed:
    SDRAM does not need some special support, it is to simple of an interface. It can be done by any programmer so simply, on any microcontroller that supports dynamic use of IO pins, that I do not understand what could be implemented in HW that could be helpful for this. In sum: the prop supported SDRAM the first day it functioned. My question was what HW is added that could possibly make accessing SDRAM any simpler than it already is. It is already easier than I2C or SPI.
  • Cluso99Cluso99 Posts: 18,069
    edited 2011-03-23 00:39
    david: The simple fact is we want the SDRAM running at the prop clock speeds. We are not happy to slow it down by pulsing the pins with out software. Jazzed has already done that on the Prop. I have SRAM running, etc. But one of our prop I problems is a lack of pins.
  • Heater.Heater. Posts: 21,230
    edited 2011-03-23 01:08
    What could be included to ease the use of SDRAM? I have used SDRAM in many a project and have not had any difficulty. Hou could it be any easier?
    On a traditional micro-processor system all code and data lives off the CPU chip, in RAM, EPROMS, ROMS and such. Think about your PC for example. (OK it has huge on chip cache now a days but never mind).

    The processor has a hardware bus interface. That interface takes care of putting out addresses on the address bus, reading/writing data on the data bus and wiggling the appropriate READ/WRITE and other control signals for the bus. The programmer does not need to know how any of this works. It works fast.

    On a micro-controller like the Prop there is no such dedicated memory bus hardware. One has to write software to drive the general purpose I/O pins and create memory accesses. It is slow. Code cannot be executed directly from such memory at the full speed of the CPU.

    So clearly hardware could be added to the Prop to help speed this up. Imagine having instructions like RDBYTE/WRBYTE that instead of working on HUB RAM automatically generated the bus signals required to access external memory devices. Or what about block reading/writing at high speed. And so on.

    Of course the simplest form of external memory support is just to have more I/O pins to drive it.
  • David BetzDavid Betz Posts: 14,516
    edited 2011-03-23 03:55
    jazzed wrote: »
    Support is already there. http://www.parallax.com/Propeller2FeatureList/tabid/898/Default.aspx

    SDRAM is also available for the PropellerPlatform today and can be used with Zog C/C++.

    The P2 feature list that you liked to is confusing. It says that the P2 will have support for external SDRAM but that code cannot be executed from SDRAM. What does that mean? Does that mean simply that you can't point the COG PC at SDRAM and have it execute or does it mean that even RDBYTE/WRBYTE, etc won't work with SDRAM? Interpreters like Spin and ZOG and LMM would even benefit from extending the RD/WR instructions with the ability to address external SDRAM if it was possible to dedicate part of hub memory as a cache. I've worked with processors that allowed some of their local memory to be used as a cache into a larger external address space and it worked quite well. Any idea of Parallax is planning something like that for P2?
  • AleAle Posts: 2,363
    edited 2011-03-23 07:12
    I think it means that you do not have to bit-bang the interface to read/write the SDRAM. A couple of opcodes maybe provided for that... and maybe refresh will occur automatically after any access. For it to be part of HUB it should be synchronized to the clock and be 32 (128) bits wide and well it is just not possible as it is. think of the transfer of 4 longs at the same time scenario and every clock !. Have a look at the datasheet of a SDRAM and you will see that you have to load address/command and then read...3 or 4 clock will be needed for each access. A synchronous SRAM would be another story...
Sign In or Register to comment.