Shop OBEX P1 Docs P2 Docs Learn Events
Ultimate companion MCU, replaces eeprom, ftdi & crystal for $1.50 — Parallax Forums

Ultimate companion MCU, replaces eeprom, ftdi & crystal for $1.50

tonyp12tonyp12 Posts: 1,951
edited 2015-09-19 15:34 in Propeller 1
$5 for P1 sounds OK, but then you need the FTDI usb-uart, you need the very big 5MHz crystal and you need the i2c eprom.
Already you're up an extra $3

How about replacing all that with a single QFN24 EFM32HG309F64G for around $1.50
http://www.mouser.com/ProductDetail/Silicon-Labs/EFM32HG309F64G-A-QFN24/?qs=sGAEpiMZZMuoKKEcg8mMKH7azzNBOzKxuWYl3ZPpVyzWQx2mn5x66w==

With proper software written for this 25MHz ARM0,
it will emulate the 32k i2c eprom, it will provide a Windows a usb-uart port and it will provide a 5MHz clkout

As a bonus:
2 channel 12bit 1msps adc over your i2c/spi
Add a supercap and 32K crystal and you have a 1uA RTC (and provide a more calibrated 5MHz)
10 GPIO with pwm and irq
6KB fifo buffer
16KB flash storage

Comments

  • Heater.Heater. Posts: 21,230
    "Happy Gecko" I love it.

    Are you up to providing the "proper software"?

    Sounds like I have yet another dev board to purchase and IDE to play with. Luckily they seem to have something that works on Linux as well.

  • tonyp12tonyp12 Posts: 1,951
    edited 2015-09-19 15:26
    It got a USB-bootstrap-loader so anyone can start writing software for it.
    I leave this as open source and let it be a community effort, I may provide $20 boards that have this combo.
  • Heater.Heater. Posts: 21,230
    Cool.
  • jmgjmg Posts: 15,173
    tonyp12 wrote: »
    How about replacing all that with a single QFN24 EFM32HG309F64G for around $1.50

    That's OK., but the i2c boot would be tricky.

    I prefer the cheaper smaller brother to that, the
    EFM8UB1, comes for HALF that price, 87c @ 16k and 61c @ 8k

    This can swallow the RST circuit, and has a 12b ADC, ( a little slower than HG) , it also has a 100mA 3.4V regulator, so could power the Prop in most use cases, for very compact designs.

    EFM8UB1 is also likely to appeal more to Parallax, as an 8b peripheral part is less 'distracting' than a full 32b 64k M0 device.


  • tonyp12tonyp12 Posts: 1,951
    edited 2015-09-20 19:32
    EFM8UB1 is NRND (not recommended for new design)
    And 32K flash is minimum as with some compression will emulate the 32K eeprom (firmware needs some space)

    I2C will easy, the gecko will be a slave and have the same address as a eeprom.
    Settings & interexchange are in the last 1K of ram (C Struct) of this fake 54K eeprom as it's made up of 48K flash +6K ram.
    Of the ram part the lower 5K can be configured for optional fifo's for adc,urt,usb sized to your choice with irq when 90% full.
    or use it as non-volatile ram storage as with a supercap ram retention will be measured in weeks.

    16K of geckos flash and 2K of ram is reserved for firmware.
    As 1MHz fast+ I2C is available it will handle most applications, a optional 5MHz SPI interexchange is also planned.

    yes it's a little to powerfull, it's like a 9th cog same 2K RAM and 20mips but with 16KB flash for itself.
    But wait where aren't done yet (if call within next 10minutes) you also get hardware AES, current-DAC's and two capsense buttons
  • jmgjmg Posts: 15,173
    tonyp12 wrote: »
    EFM8UB1 is NRND (not recommended for new design)

    Nope.
    Mouser fumbled that one very badly, there is a rev C part coming, and so rev B is deprecated.

    I can see the merits of loading ever-more-fruit onto a smarter peripheral, but why stop there ? - why not use a not-much-more expensive NUC505 ($2+) and load on Audio and 2M flash.....

    Users will pause and say "Why do I need the Prop1, again ?"

    That's why I prefer the EFM8UB1 - fits squarely in the KISS category & has code for CP210x emulation. ie can use existing drivers. Or, you can do a HID version....

  • You still need an external crystal/oscillator in order to get a non-drifting steady clock rate.

  • jmgjmg Posts: 15,173
    tonyp12 wrote: »
    I2C will easy, the gecko will be a slave and have the same address as a eeprom.
    Settings & interexchange are in the last 1K of ram (C Struct) of this fake 54K eeprom as it's made up of 48K flash +6K ram.
    Perhaps, but the Flash cycles in a MCU are much lower than EE endurance.
    You also move away from the stand alone Prop BOM & boot, and power-cycling etc timing is never quite the same...

  • tonyp12tonyp12 Posts: 1,951
    edited 2015-09-20 23:18
    >You still need an external crystal/oscillator in order to get a non-drifting steady clock rate
    It will once a minute calibrate itself using the 32K external crystal, it even have hardware support for self calibration using two clocks.
    It have factory stored calibration data in info, and with internal temp and Vdd readings you could calibrate it even more precise.
    Default will be 10MHz ARM clk with Div2-CMU_OUT0 = 5MHz but any freq between 1-6.25MHz is possible.


    Minimum 20'000 flash erase cycles, so 10 times a day everyday for 6 years.
    If you really have to upload a PropFirmware more than that then I can not help you,
    or are using the eeprom as a running data backup I think that you are not taken advantage of the emulated non-volatile ram section.

    As gecko is the slave it will use the Prop timings that are there, it can even fake-boot with rx/tx as Prop looks at this port first.

    For Parallax I don't think this is to their advantage as maybe some will start writing firmware for it and getting to comfortable with IAR workbench and ARM's
    But development board will use the QFP Prop as to show who's the boss.
  • This is a freaking awesome idea. I hope someone does write the firmware as you described. I like the idea of a RTC baked into all my new circuits.
  • I have used a variety of micros including Silabs 8-bit parts as companion micros for many years. The Silabs parts I program from the Propeller using the 2-wire interface which I partly share with the I2C bus and so I require just one dedicated RST control line.

    However sometime ago I became interested in the XMC1100 parts which include 16KB of RAM and 64KB Flash in a 16 pin TSSOP for around $1.50 in 100 offs. The reason I picked this part was that it had enough RAM and Flash for me to host a Forth and to run that at a good 5MIPS or so. What this means is that I can preload these parts with the kernel and I can talk/interact and program them in high-level code without the need for further tools, just straight from the Prop serially. Of course they have all the serial interfaces, even QSPI, and 12-bit ADC and RTC etc. Oh, and they operate from 1.8 to 5.5V!

    My typical uses for companion micros are:
      RTC WATCHDOG SERIAL BOOTLOADER (esp. over remote links) ADC SYSTEM CLOCK
    Of course the XMC1100 with 64KB Flash could be used for I2C program store even emulating EEPROM writes if necessary but I would be inclined to use a direct serial EEPROM or SPI Flash connected to the XMC and accessed as if it were a very large and fast EEPROM.
  • jac_goudsmitjac_goudsmit Posts: 418
    edited 2015-09-23 15:58
    I've been thinking of using one of the PIC MCUs that have a USB interface and lots of flash, and are available in DIP package, to replace the EEPROM, the FTDI chip and the transistor reset circuit in Propeller circuits.

    I know some people have tried to use a PIC to replace the FTDI for Propellers, with discouraging results. Apparently the Prop is just too picky at boot time about getting a constant stream of data, or something.

    I got the Microchip USB Dev Kit with PICkit3 (it's also available without the PICkit3 programmer in case you already have one of those), and did some tests, but with the standard USB to UART firmware, I could only download small programs to the Prop. Big programs simply failed.

    But I thought: What if I would emulate the Propeller boot protocol on the PIC so that a standard tool such as the Propeller IDE could still be used to download programs, and then the PIC would take care of storing the program in the EEPROM at its own pace, while the nRES line on the Prop was held low. Or how about if I would use a different PIC with enough flash memory, which writes the Prop program to its own Flash memory and emulates the EEPROM to the Prop?

    I designed my projects as kits for beginners, so the DIP packaging is interesting (there are no DIP FTDI chips but the PIC chips are available in SMD too). Also, the opportunity to emulate the resistor/capacitor/transistor circuit that generates the nRES signal on the Prop plug would reduce the amount of work soldering. It might not be possible to make it $1.50, but a Prop Plug is about $15, I think it's possible to buy a USB type-B (through-hole) and a PIC (not sure which one, or if it's even possible) for that kind of money.

    For now, I shelved the idea but I might get back to it in the future...

    ===Jac
  • tonyp12tonyp12 Posts: 1,951
    edited 2015-09-25 15:54
    Here is something I have in mind.
    The 2x 14pin smt headers are for stackable shields, as they are dual entry it's breadboard compatible
    One card edge connector for simple and fast right-angle plug in boards.
    Built-in miniusb VGA connector
    0.25 Farad supercap
    2 servo headers (pwm from gecko)

    Fits Translucent Blue Hammond enclosures
    http://www.mouser.com/Hammond/Enclosures/Enclosures-Boxes-Cases/_/N-5g3p?P=1z0z2kmZ1z0zldx&Keyword=3.15x1.58&Ns=Pricing|0

    Prop1_breadboard.jpg?psid=1
  • Very nice Tony. Those little hammond enclosures are a great size.

    I had a go a while back at doing something similar with a usb based pic. The idea was for the pic to present as usb mass storage, so the prop binary could just be drag and dropped from PC onto the pic flash, which would then load and boot the prop. Analog, rtc, watchdog were bonus features.

    It all looked good on paper, the main problem was being spoiled by how easy it is to make stuff work reliably with the prop - the pic just wasn't as robust at the time. I corresponded with microchip a bit to verify it wasn't "just me". I suspect someone with more pic experience could now make it work.

    I really hope this can be made to work. Remember the prop can be loaded by serial, if i2c emulation is difficult
  • jmgjmg Posts: 15,173
    edited 2015-09-24 01:24
    I have used a variety of micros including Silabs 8-bit parts as companion micros for many years. The Silabs parts I program from the Propeller using the 2-wire interface which I partly share with the I2C bus and so I require just one dedicated RST control line.

    That's nifty.
    However sometime ago I became interested in the XMC1100 parts which include 16KB of RAM and 64KB Flash in a 16 pin TSSOP for around $1.50 in 100 offs.

    I see there are glimpses of the next XMC1xx release
    XMC1404Q048X0064AAXUMA1 $1.55/10k
    XMC1402Q040X0032AAXUMA1 $1.11/10k

    info is sparse, but I think that is (QFN?) 48 & 40 pins 64k or 32k, and 'more connectivity' may include USB ?**
    6mm package ?
    http://www.infineon.com/cms/packages/SMD_-_Surface_Mounted_Devices/P-PG-VQFN/P-PG-VQFN-040-07.html

    Addit: ** Seems the new XMC14xx does not include USB - just CAN bus, pity.
    More info is here on a Chinese pdf document on this page
    http://www.infineonic.org/document/detail/index/id-216071

  • jmgjmg Posts: 15,173
    edited 2015-09-25 02:10
    ..another approach, is to skip USB entirely and go to Bluetooth.
    Great for Portable or isolated debug.

    Seems to be reducing prices there :

    Atmel : ATBTLC1000A-MU-T SoCs are available for $1.59 USD at 1K quantities [M0 with 128K RAM and 128k ROM ]

    Dialog semi :
    DA14580-01AT2 Dialog Semiconductor GmbH BLUETOOTH SMART CHIP QFN40 1.62560 5,000
    [ M0 with 32kB OTP, 84kB ROM, 50kB SRAM]
  • tonyp12tonyp12 Posts: 1,951
    edited 2015-09-25 02:08
    I started with that in mind, but decided the first one will be hardware usb.
    As you still need a usb connector for power (or battery charging).
    And getting Bluetooth stack up and running is probably more complicated.

    BLE:
    NXP's QN9021 64KB flash QFN32 $1.47 at 1K (no internal balun)
    Cypress CYBL10162-56LQXI 128KB QFN56 $2.46 (internal balun)
  • > For Parallax I don't think this is to their advantage as maybe some will start writing firmware for it and getting too comfortable with IAR workbench and ARM's

    Nah. I've been using IAR EWARM professionally for years and it hasn't made my interest in the Prop diminish even the tiniest bit. Nearly every personal project uses a Propeller - mostly because it is so much more fun and satisfying. Part of the pleasure comes from how quickly everything falls into place.
  • ErNaErNa Posts: 1,752
    Is anyone still working on this subject? Pete?
  • Looking at this now.
Sign In or Register to comment.