Project : AVR64Dx64 Development board met UPDI programmer

Ik had een development bordje nodig voor de AVR64Dx64 processoren. Na wat rondzoeken , en niks gevonden te hebben, heb ik er dan maar zelf een gebrouwd.

https://github.com/vincent-himpe/AVR64DA64-Breakout/blob/main/Images/mini-breakout.png?raw=true

Github :
https://github.com/vincent-himpe/AVR64DA64-Breakout

Alle sources (Altium formaat) , productiedata (Gerber/Drill/Pick and place) voor bord en bestukking (BOM voor JLCPCB / LCSC partnummers) alsook de bron bestanden staan er. De prototypes zijn onderweg vanuit china nu.

Alsook in PDF formaat :

https://github.com/vincent-himpe/AVR64DA64-Breakout/blob/main/CAD/PDF/…

Public Domain.

- pinnetjes , leds en drukknopjes per i/o poort
- UPDI / UART programmer aan boord. Geen nood aan externe programmeer dongles.

Ik kende de hele familie nog niet; een betrekkelijk goedkope 8-bitter, die met iets harder loopt dan de meeste, en zo te zien best goed is in capacitive sensing. Kan hij nog meer bijzondere trucjes?

Elke pin kan interrupt genereren.
hardware multiplier in DB versie
timers met hardware compare
enorm veel interrupt bronnen
single clock instructies
zero cross detectors. timers met pwm capabiliteit (je kan zelfs automatisch ramp genereren)

Voor mij wassie interessant omdattie op 5v kan draaien , kan geprogrammeerd en debugged worden over een usb<>uart zonder dat je firmware of software nodig hebt , en een adv referentie gebruikt van 2.048 volt zodat elke bit-step een integer is. geen floating point nodig. je kan alles met inter math doen.
de i/o poorten worden gevirtualiseerd in ram zodat je direct bit manipulaties kan doen (set, clear en flip ) zonder dat je read-modify-write operaties moet doen.

t'is een grote trukendoos

Ok, best een leuk ding vergeleken met de andere 8-bitters dus, behalve die capacitive sensing zie ik geen voordelen vergeleken met moderne microcontrollers, anders dan de prijs, wat pas gaat spelen bij grotere aantallen.

[Bericht gewijzigd door SparkyGSX op (17%)]

Er is nu ook de AVR EA/EB.
Die heeft wat mij betreft iets leuks in zijn ADC: Offset Reduction by Sign Chopping. Die poolt na elke sample de aansluitingen om, dus na 2 samples ben je de offset kwijt. Je kunt meerdere sampleparen accumuleren zodat je érg secuur offsetvrij resultaat krijgt.
Zie 31.3.3.5. https://ww1.microchip.com/downloads/aemDocuments/documents/MCU08/Produ…

Helaas is die niet in 64 pins verkrijgbaar..., past dus niet op jouw PCB.

Over offset gesproken, de XMega128A1U heeft een offset (ca. 200 counts) in de ADC reading zodat je iets van zero cross detectie kunt doen. In je code dus altijd die offset aftrekken van het resultaat. Maar het punt is dat de exacte offset van exemplaar tot exemplaar wat verschilt. Dus niet vergeten om een ADC input aan GND te knopen zodat je runtime die offset kunt meten...