Toen Parallax in 2006 zijn eerste Propeller-chip introduceerde, was dat iets heel nieuws. Gedurende de afgelopen maanden, tijdens het werken aan de Propeller 2, heeft Parallax gebruikers en ingenieurs om feedback gevraagd, aangezien de eerste incarnatie van de chip niet in de vorm van silicium was, maar als bitstream voor een Altera DE10-Nano FPGA-board. In de loop van de tijd verzamelde Parallax de feedback en goot het ontwerp voor de Propeller 2 in silicium. Gelukkig hield het bedrijf het proces op het Propellerforum bij, zodat de community meer te weten kwam over het fabricageproces van chips. Op het moment van schrijven is Revision C silicon goedgekeurd voor productie. Laten we eens kijken naar de Propeller 2 en zijn functies.

Parallax Propeller 2 Eval Board
Figuur 1. Parallax Propeller 2 evaluatieboard Rev. C.

De propeller 2

De chip wordt officieel geklokt met 180 MHz, wat resulteert in 90 MIPS per core, en elke instructie duurt minstens twee klokcycli. Overklokken van de Propeller 2 is mogelijk en snelheden van meer dan 300 MHz zijn haalbaar, resulterend in 150 MIPS per core. Met betrekking tot CPU-cores: uw microcontroller heeft er meestal één, soms twee. De Propeller 2 heeft acht onafhankelijke cores, die cogs worden genoemd en die voor veel rekenkracht zorgen. Alle cogs delen 512 KB RAM op dit model, plus nog eens 512×32-bit registers en 512×32-bit lookup-RAM per core. Naast die cores en RAM bevat de chip een hele reeks interessante periferie en functies, waaronder:

  • CORDIC-eenheid met schaalfactor-correctie
  • 16 semafoorbits met atomair lezen-wijzigen schrijven
  • vrijlopende teller (64 bit)
  • USB 2.0 FS host- en slave-interface
  • slimme I/O-pinnen (raadpleeg het kader Slimme pinnen voor meer informatie)
     
    Smart pin functions

Parallax was zo vriendelijk om ons een evaluatiekit (figuur 1) te sturen met daarop een Revision C engineering sample, zodat we er een eerste blik op konden werpen en mee gaan spelen. In deze reeks artikelen zal ik proberen u wat inzicht te geven in chip, de periferie, voorbeeldcode en meer.

Een woord van waarschuwing: op het moment dat ik dit schrijf is de chip officieel nog niet vrijgegeven, dus u kunt erop rekenen dat we een aantal moeilijke punten zullen tegenkomen als het gaat om software die mogelijk nog onder constructie is. We kregen niet alleen het evaluatieboard maar ook een stapel add-ons om te testen en mee te spelen (figuur 2).

Add-on boards for the Propeller 2
Figuur 2. Add-on boards voor het Propeller 2 Evaluation board.

Wat is er met de periferie gebeurd?

Vraagt u zich af waar de SPI-, I2C- en UART-modules zijn? Die kunt u maken met de slimme pinnen en wat code in de cogs. Zelfs als ze niet in de lijst met features worden genoemd, zijn ze wel degelijk beschikbaar. Met deze benadering kunnen we een HDMI-signaal rechtstreeks naar een monitor sturen en de inhoud van een flashchip weergeven. Maar daar zullen we het tegen het einde van deze serie over hebben. Omdat een inleiding tot de periferie en de speciale features daarvan aanvankelijk lang en saai zal zijn, zullen we die gaandeweg onze verkenning van de Propeller 2 introduceren – ‘on demand’ zogezegd. De volgende keer werpen we een korte blik op de ontwikkelomgeving en proberen we met een I/O-pin een LED aan te sturen.

lees verder in deel 2

Vragen of opmerkingen?
Hebt u vragen of opmerkingen naar aanleiding van artikel?
Stuur een e-mail naar de auteur of naar de redactie van Elektor, via redactie@elektor.com.


 
Een bijdrage van
Tekst: Mathias Claußen
Redactie: Jens Nickel en C.J. Abate
Vertaling: Eric Bogers
Layout: Giel Dols