Shop OBEX P1 Docs P2 Docs Learn Events
Propeller Power Consumed Based on Code - Page 3 — Parallax Forums

Propeller Power Consumed Based on Code

13»

Comments

  • TorTor Posts: 2,010
    edited 2011-07-23 04:18
    Dr. Mario wrote: »
    For you interested in IMSAI, there's the computer project in the making: www.imsai.net and yep, they're now power-efficient, and better than the original IMSAI 8800 (same key setup, though).
    Their plan was apparently to design two versions: One basically a normal PC in a short IMSAI box, and another in a longer IMSAI box with an actual S-100 bus computer inside. That's the one I would be interested in.

    Unfortunately that project seems to have stalled completely. I have also heard that people who have been in contact via email with the guy behind this have stopped hearing anything from him.

    There was another very interesting project a few years back, a beautiful Altair clone which even used a cabinet from the original Altair cabinet supplier. A true copy, with the main (and good) difference that the power supply was changed to a switch mode supply (much safer, smaller, and with less heat). Other than that it was things like clearer silk-screening etc. but otherwise a very true copy of the original kit: http://www.altairkit.com/
    But the last kit was produced a few years ago and it doesn't look like there will be more. Unfortunately I didn't know about it until too late.

    -Tor
  • Dr. MarioDr. Mario Posts: 331
    edited 2011-07-23 10:14
    ACK!!! T_____T What a wreck of such beautiful historical computer.... Oh well.... (Kinda surprising, as it would be a great project - too bad they required truly ancient computer parts which we do not have direct access to anymore except for eBay which is hard to trust.)

    I am truly wondering if the P8X32A may be a nice additional to it - although it's quite difficult to assemble the true Altair - still, at www.altairkit.com you can obtain all goodies even the schematic design that you can construct the clone (even though we may have to sacrifice the authenticity - the 8-bit 8080 is no longer as common as it used to be.) Even if you are lucky enough to be able to obtain the kit, it would be so EXPENSIVE compared to a fully-loaded Wal-Mart special HP desktop computer (my PC is a DIY, so it also do cost a bit more than the Wal-Mart-bought computer....) Still, it may be worth it for some people, though. Too bad no one is willing to sell the kit anymore (due to increasingly scarcity of older computer chips that is required in the schematic and BOM) .
  • Dr. MarioDr. Mario Posts: 331
    edited 2011-07-23 15:20
    Oh, and I thought I would bring up Abracon crystal oscillator, ACHL series, as an example - from what I read, from 400kHz to 25MHz, they consumes 20mA, then 40mA for 26 - 100Mhz and lastly 80mA for frequencies up to 1.6GHz. Kinda interesting... I have been wondering about just the crystals but here, there is absolutely NO fast and hard rules: they can vary from 0.8mA to 60mA - totally dependent on many factors: age, size, temperature and frequency. And, it do depend on P8X32A's own on-die XTAL charge pump / buffer amplifier circuitry's own settings for the particular crystals too.
  • HumanoidoHumanoido Posts: 5,770
    edited 2011-07-23 19:06
    Dr. Mario, thanks for Byte link. The original magazines are thick and the heavy collection can fill a garage - making a challenging task when moving. What a relief to see lightweight PDF files. :) I hope the magazine archive process can continue. Verbal schematics are nothing new - it's just that I put a name to it. http://forums.parallax.com/showthread.php?124495-Fill-the-Big-Brain&p=1018628&viewfull=1#post1018628 These are very useful when the circuit is ultimately simple, and/or there's no time to create a graphics drawing. Schematics have at least nine options. In the case of the EEPROM not needed, the MC is kept on, a support pc computer is removed - the prop program is retained in RAM and continues to run. There is no reset button.
    Dr. Mario wrote: »
    In your verbal schematic - no EEPROM? It would be difficult unless you keep your main PC tethered to it, although in my honest opinion, it would be fine as long as the reset button is not pushed, or the batteries removed. I personally prefer to have something to hold the "hard-copy" so that way the computer will know what to do once it boots up - I screw up on programming sometimes so resetting may be necessary... I have posted the link to the BYTE archival: http://www.sxlist.com/techref/article/byte/index.htm - you still can google it up if you want under the keyword: BYTE magazine - "Assembling an Altair"
  • Dr. MarioDr. Mario Posts: 331
    edited 2011-07-23 19:28
    I see. Very interesting, by the fact how the schematic layouts are presented.- I usually do horizontal schematic as I do some hardware (fortunately, I do oftentimes make all-purpose processor board) as I do more challenging and complicated electronics.

    And, BYTE magazines are very entertaining to read. ^_____^

    About your MC, it really is fine (like I said) as long as you keep the juice pumped in, like what you have done. For me, I prefer to have FRAM or any rewritable memory chip to retain the firmware ROM so it could help me a LOT in troubleshooting. EEPROM do consume juice even in standby due to the requirement of having its 12V SMPS ready for immediate writes. FRAM do not care, though, as they do not have the charge pumps at all (a bonus, along with 100 trillions rewrites).
  • HumanoidoHumanoido Posts: 5,770
    edited 2011-07-23 21:26
    Dr. Mario:

    I added another type of schematic here
    http://forums.parallax.com/showthread.php?124495-Fill-the-Big-Brain&p=1018628&viewfull=1#post1018628
    which is one made from a top down photo of a solderless breadboard. If clear with no obstructions, it's possible to follow the circuits. Pretty simple with a computer cam on a leash. I like your interesting idea about an alternate of zero standby current consumption for nonvolatile memory storage.
    Dr. Mario wrote: »
    I see. Very interesting, by the fact how the schematic layouts are presented.- I usually do horizontal schematic as I do some hardware (fortunately, I do oftentimes make all-purpose processor board) as I do more challenging and complicated electronics.

    And, BYTE magazines are very entertaining to read. ^_____^

    About your MC, it really is fine (like I said) as long as you keep the juice pumped in, like what you have done. For me, I prefer to have FRAM or any rewritable memory chip to retain the firmware ROM so it could help me a LOT in troubleshooting. EEPROM do consume juice even in standby due to the requirement of having its 12V SMPS ready for immediate writes. FRAM do not care, though, as they do not have the charge pumps at all (a bonus, along with 100 trillions rewrites).
  • Dr. MarioDr. Mario Posts: 331
    edited 2011-07-23 21:42
    If you have read through the manual, the flash / EEPROM also allow you to shut down the on-die SMPS down, bringing it down to several tens to hundreds microamps - they do vary from the brands down to die revisions.

    FRAM and MRAM both do not have the charge pump - MRAM do need a bit more power to do write (it will change soon enough), as it write the data by the mean of magnetizing the data bit gate cells. It can and will outlast even FRAM anf flash, though it can be erased by a rare-earth magnet. What MRAM is also resilient, FRAM and flash is erasable by X-rays.

    SRAM and MRAM would be better off for Propeller II, unless P8X32A can support flashable boot firmware update which I doubt. Prop II supports SPI boot naturally. FRAM is fine here as it's bootable via I2C bus.
  • HumanoidoHumanoido Posts: 5,770
    edited 2011-07-23 23:03
    Dr. Mario wrote: »
    ... the flash / EEPROM also allow you to shut down the on-die SMPS down, bringing it down to several tens to hundreds microamps - they do vary from the brands down to die revisions.

    This is useful. Is there a simple written Spin code to do this?
  • Dr. MarioDr. Mario Posts: 331
    edited 2011-07-24 07:51
    I will look into it. What kind of EEPROM you usually use?

    Just had to ask as some EEPROMs has different features so I would have to read through the manual and I will drop it to ya. Maybe also drop the one for FRAM that isn't affected by the FSM bug that affects the standby function. (If your Ramtron FRAM has a white triangle stamped on the top label side, you're good to go with standby function, this chip's clean.)
  • HumanoidoHumanoido Posts: 5,770
    edited 2011-07-24 14:41
    Dr. Mario wrote: »
    I will look into it. What kind of EEPROM you usually use?

    Just had to ask as some EEPROMs has different features so I would have to read through the manual and I will drop it to ya. Maybe also drop the one for FRAM that isn't affected by the FSM bug that affects the standby function. (If your Ramtron FRAM has a white triangle stamped on the top label side, you're good to go with standby function, this chip's clean.)

    Dr. Mario:

    Thank you for looking into this. I'm using this EEPROM (24LC256) most often, from Parallax found here http://www.parallax.com/Store/Components/IntegratedCircuits/EEPROM/tabid/614/CategoryID/79/List/0/SortField/0/Level/a/ProductID/400/Default.aspx

    The data sheet is here
    http://www.parallax.com/Portals/0/Downloads/docs/prod/oem/24LC256.pdf

    The schematic is here
    http://www.parallax.com/Portals/0/Downloads/docs/prod/oem/24LC256schem.pdf

    The data sheet quotes: Standby current 100 nA typical at 5.5V.

    The objective is to create Propeller Spin code to put the EEPROM into this low power standby mode.
  • Dr. MarioDr. Mario Posts: 331
    edited 2011-07-24 15:01
    Alright, this EEPROM is from Microchip and I have similar one, although mine is four times larger (24LC1025) so they should be similar in term of how the I2C standby commands are handled. I will go ahead and read the manual and probably modify the EEPROM I2C object (and drop the SPIN I2C call commands into separate SPIN file).
  • HumanoidoHumanoido Posts: 5,770
    edited 2011-07-24 19:48
    Dr. Mario wrote: »
    Alright, this EEPROM is from Microchip and I have similar one, although mine is four times larger (24LC1025) so they should be similar in term of how the I2C standby commands are handled. I will go ahead and read the manual and probably modify the EEPROM I2C object (and drop the SPIN I2C call commands into separate SPIN file).
    Dr. Mario:

    Great! I look forward to seeing your code. The best use for putting the EEPROMs to sleep is on the large Propeller array Partitions where they do their initial program loading and thereafter can sleep and awake for usage with data storage and recall. Still, one EEPROM on each array partition but that could change in the future. For now, a very simple demo program for one EEPROM, to sleep, is all that's needed.
  • Dr. MarioDr. Mario Posts: 331
    edited 2011-07-25 01:12
    Yea, it would be used by my own embedded operating system, so I can cut few parts out when they're not used as of "right now", so it's practical to be able to put it in standby, until it's needed.

    I am going to probably ask you to do an experiment... Sleep function isn't even mentioned in the 24LC256 manual so I am going to try one outta Ramtrom FM24V05 FRAM manual. If you know how to do the I2C bus trick (I didn't have time, I fell asleep and I just woke up *bows apologetically* ) - Here's what the Ramtron manual states:

    Sleep Mode
    A low power mode called Sleep Mode is
    implemented on both FM24V05 and FM24VN05
    devices. The device will enter this low power state
    when the Sleep command 86h is clocked-in. Sleep
    Mode entry can be entered as follows:
    1. The master sends a START command.
    2. The master sends Reserved Slave ID 0xF8
    3. The master sends the I2C-bus slave address of
    the slave device it needs to identify. The last
    bit is a ‘Don’t care’ value (R/W bit). Only one
    device must acknowledge this byte (the one
    that has the I2C-bus slave address).
    4. The master sends a Re-START command.
    5. The master sends Reserved Slave ID 0x86
    6. The FM24V05 sends an ACK.
    7. The master sends STOP to ensure the device
    enters sleep mode.
    Once in sleep mode, the device draws IZZ current, but
    the device continues to monitor the I2C pins. Once
    the master sends a Slave Address that the FM24V05
    identifies, it will “wakeup” and be ready for normal
    operation within tREC (400 μs max.). As an alternative
    method of determining when the device is ready, the
    master can send read or write commands and look for
    an ACK. While the device is waking up, it will
    NACK the master until it is ready.

    Mike Green's driver ought work here. The manual did mention that the FRAM's feature addressing shouldn't differ too much from jelly-bean EEPROMs...

    Also you can try outta ST EEPROM manual:
    Stop is identified by a rising edge of Serial Data (SDA) while Serial Clock (SCL) is stable
    and driven high. A Stop condition terminates communication between the device and the
    bus master. A Read instruction that is followed by NoAck can be followed by a Stop
    condition to force the device into the Standby mode. A Stop condition at the end of a Write
    instruction triggers the internal EEPROM Write cycle.
  • HumanoidoHumanoido Posts: 5,770
    edited 2011-07-25 07:58
    Dr. Mario,

    Thank you for the information which is helpful. As you have mentioned, for the other chip, "7. The master sends STOP to ensure the device enters sleep mode." However, there is no STOP command for this eeprom. The Basic I2C Driver by Mike Green in the OBEX was reviewed. He has provided excellent comments for the code. The primary I2C functions are from this basic set:
    ACK      = 0                        ' I2C Acknowledge
       NAK      = 1                        ' I2C No Acknowledge
       Xmit     = 0                        ' I2C Direction Transmit
       Recv     = 1                        ' I2C Direction Receive
    

    with read, write, write wait, SDA and SDL highs and lows, setting inputs, floating, with nothing specific to set a sleep condition or any indication of a standby mode.

    There is a pub stop, and maybe this is what is described in the quote for the ST Manual.
    PUB Stop(SCL) | SDA                    ' SDA goes LOW to HIGH with SCL High
       SDA := SCL + 1
       outa[SCL]~~                         ' Drive SCL HIGH
       outa[SDA]~~                         '  then SDA HIGH
       dira[SCL]~                          ' Now let them float
       dira[SDA]~                          ' If pullups present, they'll stay HIGH
    

    Is it the same as the pseudo code below? I think it is. I will continue to review the I2C OBEX EEPROM code to see if additional info is found. In the mean time, I will set up one prop chip with one eeprom circuit for testing code. If something more specific is found in regard to shutting off the eeprom, please post.

    Also you can try outta ST EEPROM manual:
    Stop is identified by a rising edge of Serial Data (SDA) while Serial Clock (SCL) is stable
    and driven high. A Stop condition terminates communication between the device and the
    bus master. A Read instruction that is followed by NoAck can be followed by a Stop
    condition to force the device into the Standby mode. A Stop condition at the end of a Write
    instruction triggers the internal EEPROM Write cycle.


    ST manual? Which manual is this? So to initiate a standby mode:
    read
    noack
    
    scl high
    
    sda low
    delay
    sda high
    
  • Mike GMike G Posts: 2,702
    edited 2011-07-25 08:26
    Guys, STOP is a state on an I2C bus. While SCL is HIGH SDA transitions from low to high. Mike Green's code sets the STOP state automatically.
  • Dr. MarioDr. Mario Posts: 331
    edited 2011-07-25 09:48
    I see. I don't understand why some manual would leave out something important...
    Mike G, thanks for pointing out - I will definitely comb through Mike Green's I2C driver (and probably learn a lot in the process).

    Humanoido, I apologize - it should be "ST 2Mbits EEPROM manual" - I was shot (as in dead tired).
Sign In or Register to comment.