Shop OBEX P1 Docs P2 Docs Learn Events
QuickStart compatible cpu board Prime - Page 2 — Parallax Forums

QuickStart compatible cpu board Prime

24

Comments

  • kwinnkwinn Posts: 8,697
    David Betz wrote: »
    Heater. wrote: »
    I'm not sure but I think that offloading floating point from the Prop to an ARM, or any other device, will be slower than doing it on the Prop in the first place.


    Doesn't it depend on what you're offloading. If you make a request to the ARM for every add, subtract, etc. then it will certainly be slower than doing the same in software on the Propeller. However, what if you offload an entire FFT?

    Sorry Heater, my post wasn't too clear. David's take on it is what I meant. The ARM would perform a group of operations ( a floating point equation, an FFT, a table lookup, etc) and return a result. In some ways we already do a bit of that, even though we don't think of as such. An ARM chip displaying pictures, graphs, and other information from one or more propellers running machinery is one example.
  • Heater.Heater. Posts: 21,230
    Good point.

  • jmgjmg Posts: 15,148
    ErNa wrote: »
    Currently the XMC just emulates a 32 k Eprom. (XMC's flash: 64 k)...
    You could also look at the new XMC14xx series, - smarter than the XMC1100 ?
    I think XMC come in 200k Flash models ?


  • ErNaErNa Posts: 1,742
    It is all about to exit from the arm-chair ;-) We now have a basic design of a dual propeller board quickstart form factor and compatible. As the communication between prop and accompanion is serial, layout a few wires is no prob and we are free to use whatever pin due to the complete symmetry of the prop.
  • I can talk to the XMC1100 bootloader which very simply loads RAM and runs so it is necessary to load a Flashloader to RAM first and then load any Flash code. However running from RAM is not a bad thing either seeing that the Prop can load a file into it. My initial use is simply as an ADC but I when I get around to writing my ARM CM0 macro-assembler I will be able to assemble from SD and load'n'go. I expect to have a version of Forth rather similar to Tachyon running on this chip as well.

    However since there is no hard reset pin for the chip I just use a little 5-pin SOT23 regulator with a shutdown pin. The good thing about the XMC1100 is that it is quite happy to run from 5V too. I'm just using the little 16-pin TSSOP for the moment but it still has the same 64k Flash and 16k RAM.
  • ErNaErNa Posts: 1,742
    Update: parts have arrived, now we correct some footprints (micro sd, usb)....
  • ErNaErNa Posts: 1,742
    update: footprints are changed and verified, today we plan to order the boards for the first batch. As can be seen, using a 4 layer board allows dense mounting of the components, so there is plenty of free space. This gives the chance to expand the circuit. One idea is to place generic footprints to allow manual wiring of COI (components of interest). Any idea, what those components are? A I2C<->1-wire bridge? some type of sensor? Microphone? Audio amplifier? VGA? Proposals are welcome.
  • Cluso99Cluso99 Posts: 18,069
    If you don't attach a file in the first post it doesn't seem possible to edit the post and attach a file :(
  • ErNaErNa Posts: 1,742
    We identified the first COI: STM32F030RC Another ARM cortex M0, which seems to be better suited than the xmc and having a landing zone for this chip will open a way to implement a companion chip for the next revision.
  • Heater.Heater. Posts: 21,230
    edited 2016-01-22 10:12
    I have no idea what your selection criteria are here but I'm going to suggest STM32F401CDU6 Cortex M4, 384kb flash, 96kb RAM

    Then running the Espruino JavaScript engine on it would be a dead simple flashing of the available Espruino binaries.

    I know, nobody likes JS. But the Espruino is a lot of fun and is practically useful as it has code available for all kind of peripheral devices.
  • ErNaErNa Posts: 1,742
    We hope this board to be a platform to link the prop to the arm world. It starts from replacing the flash cost neutral and soon the wish was to have additional io. Selecting the xmc was not a good idea, as this chip has no crystal input, only runs from internal oscillator. ... but we have to come to a first materialization of the idea, therefor xmc will be present (firmware exists) and the landing zone for a larger chip exists. To solder a component is easy, to develop the firmware not so much.
  • ErNa wrote: »
    To solder a component is easy, to develop the firmware not so much.

    With PropWare finally at a release state, I feel better about taking on other projects. And the ARM world is something I've wanted to get back to for years. How can I help with the firmware side of things?
  • ErNaErNa Posts: 1,742
    Another lazy sunday afternoon: Now the top side is a little more populated with dummy components to allow playing around...
    Even if there is some unused place on bottom, the play must go on, so no more new feature. Design freeze.
  • ErNaErNa Posts: 1,742
    edited 2016-01-26 15:25
    Status update: boards are ordered, it will take another week. This link https://submesh.de:8080/rid=1PV32YLCY-248SQFJ-9G6/xmPropKit_Root.cmap brings you to a first block diagram. Currently the XMC only emulates flash, the idea is to use the resources of the companion chip completely, it needs discussion how this can be done best. Also of interest: how to communicate between the props transparently. In principle one should not know, which cog is located where.
  • ErNa wrote: »
    Status update: boards are ordered, it will take another week. This link https://submesh.de:8080/rid=1PV32YLCY-248SQFJ-9G6/xmPropKit_Root.cmap brings you to a first block diagram. Currently the XMC only emulates flash, the idea is to use the resources of the companion chip completely, it needs discussion how this can be done best. Also of interest: how to communicate between the props transparently. In principle one should not know, which cog is located where.
    When you say "XMC only emulates flash" are you really saying it emulates EEPROM? No flash is required to boot P1. Also, how can it be transparent which chip a cog resides on when cogs on the same chip share the same hub memory but cogs on different chips do not? And you pretty much need to use hub memory to synchronize operations between cogs.

  • ErNaErNa Posts: 1,742
    As of today, the XMC's firmware is running i2c in slave mode and using upper 32 k flash of 64k to respond to i2c commands by simulating a 32 flash memory So P0 can be booted via tx/rx, the propeller stores the code to "the flash" and in a follow up reset can boot from this "flash".
    But the is no other function implemented into XMC's firmware, ideas are: use as an i/o expander, ADC, ...

    Cog2Cog communication I use in a standardized way with help of pointer tables placed in HUB. In a first try I mirror variables via serial transmission from hub to hub, whenever content is changed in one Prop, so the cog running an program and writing and reading hub memory actually doesn't know, in which hub of two propellers the actual data resides. Currently the mirror and communication process takes two cogs, which is a waste of resources, but improvement is on the way
  • DavidZemonDavidZemon Posts: 2,973
    edited 2016-01-26 17:16
    ErNa wrote: »
    As of today, the XMC's firmware is running i2c in slave mode and using upper 32 k flash of 64k to respond to i2c commands by simulating a 32 flash memory So P0 can be booted via tx/rx, the propeller stores the code to "the flash" and in a follow up reset can boot from this "flash".
    But the is no other function implemented into XMC's firmware, ideas are: use as an i/o expander, ADC, ...

    As soon as I get my hands on one of these boards, I can help develop some of that firmware. Sounds like fun :). I'll look into getting a toolchain set up on my machine.
    ErNa wrote: »
    Cog2Cog communication I use in a standardized way with help of pointer tables placed in HUB. In a first try I mirror variables via serial transmission from hub to hub, whenever content is changed in one Prop, so the cog running an program and writing and reading hub memory actually doesn't know, in which hub of two propellers the actual data resides. Currently the mirror and communication process takes two cogs, which is a waste of resources, but improvement is on the way

    Are you using Beau's Spin/PASM library for that? Sounds like exactly what he does.
  • ErNaErNa Posts: 1,742
    I was just looking to the history and found this thread: forums.parallax.com/discussion/123630/inter-process-communication where I presented the method briefly and not really clean. I will try to find the references and start to make updates. This is only for cog to cog communication, not interprop.
  • ErNaErNa Posts: 1,742
    one of the days has come: The board arrived, now pending: assembly
  • Pretty Boards!
  • Cluso99Cluso99 Posts: 18,069
    Nice boards ErNa!
  • ErNaErNa Posts: 1,742
    And I just couldn't wait so I fixed the stencil, printed solder, placed the parts, heated with an air gun, ... and: here we go! Currently only one side, no crystal, no flash, but: the feeling of success!
    USB is working, propeller detected. Enough just for now.
  • Love it when a plan comes together. Way to go!
  • Woohoo!!! :)
  • ErNaErNa Posts: 1,742
    edited 2016-02-04 21:33
    Now the back side is populated also, featuring the XMC 1100, Propeller, SD-card (4 data pins), and a freely available HDMI-connector as a cheap way to connect to arbitrary devices using preconfigured cables. The 10MHz crystal is a little big for the footprint, will be changed in next revision.
    The lower propeller's pins go to the pin header, the upper propeller's pins to the socket header. Only some signals are in common
  • Looks nice!
  • ErNaErNa Posts: 1,742
    End of the next week we will have 10 boards. I plan to distribute 5 of them. There is no price fixed yet, as they are prototypes. PM me whoever is interested.
  • ErNa wrote: »
    End of the next week we will have 10 boards. I plan to distribute 5 of them. There is no price fixed yet, as they are prototypes. PM me whoever is interested.
    I'd love one but I guess I'll wait for them to be for sale because I can't guarantee that I'll have time to do much with it right away.

Sign In or Register to comment.