hallo,

ik ben bezig om een atmega 64 te programeren met AVR studio.
dit heb ik vaker gedaan mat o.a. een atmega 32.

nu heb je in avr studie een scherm: tools-->device programming
hier kan je de device signature lezen (hex waarde).
dit gaat met de atmega 32 goed,
maar met de atmega 64 niet, ik krijg dan de melding:

die voorgestelde suggesties (beneden in het venster) zijn gecontroleerd en in orde, alleen de security bit is mij niet geheel duidelijk, waar kan ik die vinden ? of heeft iemand nog goede suggesties ?

ik programeer met een dragon.

Kan het zijn dat die Mega64 geen klok heeft? Die moet ofwel op zijn interne RC oscillator lopen, ofwel op een extern kristal, zoals aangegeven in de fuse bits. En in dat laatste geval moet er ook een kristal zijn aangesloten.

Je kunt nog proberen om een externe oscillator te gebruiken en dat kloksignaal van buitenaf op de XTAL-1 pin zetten.

Ook de voeding moet goed zijn trouwens.

Is dat de Atmel die je verkeerd om had gesoldeerd ? Dan zou hij kapot kunnen zijn.

nee, ik heb een nieuwe genomen.

@dekees
er zit een externe 8Mhz x-tal op, maar ik moet toch eerst de device signature kunnen "readen" voor ik iets met die x-tal settings kan doen ?

ik meet wel dat de reset pin naar beneden word "getrokken".

De reset die laag blijft kan een instelling van je debugger zijn (connect under reset), anders lijkt daar toch iets mis te zijn.

Is dit op je zelf ontworpen board? Zo ja, heb je dat ooit werkend gehad, of zit daar mogelijk nog iets in het ontwerp?

Waar komen de microcontrollers vandaan? Van een betrouwbare bron of van AliExpress of zo?

reichelt
zelf ontworpen PCB inderdaad, nog niet werkend gehad op deze PCB,
maar de aansluitingen vanaf de dragon naar de atmega 64 meerdere malen door gemeten.
die reset blijft niet laag, die word even naar GND getrokken.

ik denk dat ik morgen een nieuwe PCB soldeer met een nieuwe atmega 64, en met alleen de componenten die ik nodig heb.

edit:
heb je een externe x-tal nodig om de device signature te kunnen lezen ?

[Bericht gewijzigd door trix op (11%)]

Op zaterdag 3 augustus 2024 15:54:50 schreef SparkyGSX:
De reset die laag blijft kan een instelling van je debugger zijn (connect under reset),

Dat "connect under reset" is bij atmel niet anders mogelijk. De "chip select" lijn voor SPI transacties tijdens het programmeren is gewoon de reset draad (cs actief = laag = reset actief).

Moderne atmels (of deze daaronder valt weet ik niet) hebben iets als SWD. Heb je SWD of de oudere SPI mode aangesloten / ingesteld ?

De CPU wordt uitgeleverd terwijl ie op interne RC op 1MHz draait. Dat is erg langzaam. Je moet de eerste program-actie dus op 250kHz doen of langzamer. Als je dan de fuses goed hebt, dan kan het ineens veel sneller.

[Bericht gewijzigd door rew op (17%)]

nee, SWD hoor ik nu voor het eerst :S denk ik.

[Bericht gewijzigd door trix op (11%)]

SWD is voor ARM Cortex (SAM) processors voor-zover ik kan zien.

Moderne AVRs werken via UPDI.
Maar deze AtMega64 is nog ouderwets:

  • Parallel
  • SPI
  • JTAG

what gebruiken julie voor een programmer ?
zelf gebruik ik een "dragon"

De nieuwe Pickit5 zou het ook moeten kunnen...

Op zondag 4 augustus 2024 16:39:32 schreef trix:
what gebruiken julie voor een programmer ?
zelf gebruik ik een "dragon"

Al vele jaren de voorloper van deze. Was de enige die ik toen vond die je met bitbangen zelf kon programmeren.

Heb ook een Atmel ICE. Gebruik ik minder dan de Tux Graphics.

edit: Bij zelf ontworpen PCB gebruik ik altijd de TAG Connect TC2030-IDC-NL. Makkelijk, kleine footprint.

[Bericht gewijzigd door buckfast_beekeeper op (19%)]

iemand bij AVR freaks adviseerde de: Atmel AVRISP mkII

maar dat lijkt mij toch een gedateerd ding (word volgens mij nog geleverd met een CD waar de driver opstaat)

ik heb op AVRfreaks ook een topic gestart over dit probleem (not posible to read device signature).
en daar beweert iemand dat ik niet de verwacht MISO en MOSI pinnen moet gebruiken maar de PE0 (PD1) en PE1(PD0) pin. staat in de datasheet waar hij naar verwijst.
https://www.avrfreaks.net/s/topic/a5CV40000001qz3MAA/t397507

Klopt. Wel een instinker.
MOSI/MISO op PortB worden voor de ISP module gebruikt, maar niet voor programmeren. In mijn datasheet staat het wel vermeld:

De AtMega32 gebruikt trouwens wel gewoon de PORTB pinnen. Dus daar is geen verwarring mogelijk. 8)7

[Bericht gewijzigd door deKees op (23%)]

inderdaad, dat schijnt te kloppen............daar word je toch verdrietig van :'(
klopt mijn PCB niet meer :(

er word ook op AVR freaks vermeld dat de atmega 64 een oude controller is, nu ik toch mijn PCB moet wijzigen ga ik eens bekijken of ik een moderner versie kan vinden.
ik dacht dat micro chip daarvoor een "tool selector" had, maar die kan ik niet meer vinden.
ik heb niet zoveel eisen: min. 32 pinnen plus UART.

Dan kun je toch gewoon bij de atmega 64 blijven? Als je éénmalig bij de goede pinnen kunt komen, kun je er een bootloader in zetten, en daarna via de UART programmeren. Je kunt dan alleen niet debuggen, maar dat lijkt me bij zo'n simpele toepassing ook niet direct een probleem.

Volgens mij zijn alle ATMEGAxx nog 'oude' controllers.

Nieuwe modellen zie ik alleen bij de AtTinyxx. En die hebben dan belangrijke verbeteringen zoals 1-pin programmeren (UPDI), intelligente I/O poorten, en mappen van flash naar data-space.

Maar die hebben dan wel weer minder pinnen en flash tot max 32K.

Dus het lijkt erop dat je toch in de richting van ARM gestuurd wordt als je groter wilt...

Selectie guide : https://www.microchip.com/en-us/parametric-search.html/716

die heeft wel een hele mooie lay-out (plek van de pinnen)
kom net wat I/O te kort, maar ik kan de adresering b.v. niet met losse dipswitches doen maar "inbakken" in de code (deed ik met de atmega 32 ook).
ga ik eens bekijken.
bedankt.

Je kunt ook een analoge ingang met een spanningsdeler gebruiken om wat adres bitjes in te stellen, in plaats van dipswitches, of het in EEPROM opslaan.

Ik begrijp de voorliefde voor die (verouderde) ATMega processoren nooit zo erg.
Voor minder geld heb je bijv. een PIC24FJ1024GA606, met 16x zoveel flash, en 8x zoveel RAM.

[Bericht gewijzigd door Arco op (17%)]

Wel een mooie processor.

Maar voor-zover ik kan zien geen C++ compiler. En de XC8-compiler (alleen C, geen C++) zit achter een dure licensie. Dus dan valt die voor mijn af.

Voor de pic24 heb je een 16 bits compiler nodig (XC16 of MikroC/MikroBasic/MikroPascal for pic24).
Ik gebruik de MikroBasic compiler... (MikroE compilers zijn tot 4K code gratis)

[Bericht gewijzigd door Arco op (14%)]