Sari la conținut
ELFORUM - Forumul electronistilor

AT90S4433 sau Atmega 8


messu

Postări Recomandate

Pot sa folosesc Atmega 8 in locul lui AT90S4433 fara modificari ?Am hex-ul facut pentru AT90S4433P dar se pare ca nu se mai gaseste acest microcontroller, de aici si ideea de a folosi Atmega 8.

Link spre comentariu
  • Răspunsuri 17
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • messu

    8

  • stefan_k

    5

  • dorofteius

    2

  • srdjan

    1

Top autori în acest subiect

Nu ti-a raspuns nimeni, probabil fiindca nimeni nu a mai avut problema ta.Dar zilele trecute tocmai am avut o problema asemanatoare: am incercat sa folosesc hex-ul de usbasp pt atmega48 pe un atmega168. Teoretic ai zice ca microcontrolerul e acelasi, doar flash+ram-ul difera. Ei bine, chiar daca programul rula (se aprindea ledul - care era comandat din firmware), comunicarea pe usb era bulita. S-a rezolvat prin recompilarea firmware-ului specific pentru 168.Asa ca raspunsul la problema ta ar putea fi: "depinde". Daca ai noroc, va merge. Daca nu, nu.

Link spre comentariu

Am banuit ca nu s-a mai lovit nimeni de problema asta.Ieri insa, dupa ce-am mai studiat problema, am facut o simulare in Proteus si in loc de AT90 am pus un ATmega168.Simularea merge, dar imi da un warning legat de WDT care cica n-ar fi setat corespunzator. Din pacate la capitolul microcontrolere sint ca "porcul cu dovelacul" asa ca m-am hotarat sa cumpar un ATmega168 si sa fac o proba "adevarata". Daca nu merge e de rau pentru ca n-am codul ca sa-l recompilez. Exista alta solutie ?

Link spre comentariu

WDT-ul cred ca e watch-dog-timer-ul. Practic, trebuie sa ai grija la alegerea fusebitilor (NU se vor potrivi cei "originali", dar poti face corespondente intre ei). Vezi de exemplu http://www.engbedded.com/fusecalc/

Si cred ca stii si tu, simularea e una, viata reala e alta.

Intre Atmega8 si Atmega168 mai sunt si alte diferente ... destul de multe, chiar. Plus diferentele dintre AT90 si Atmega8 ... Nu stiu ce sa zic, e cam cu cantec toata treaba. Ii avea noroc chior daca ti-a merge fara probleme. Depinde mult si ce face firmware-ul ala.

Adica, mai exact: in datasheetul de AT90S4433 zice ca "not recommended for new designs; use Atmega8 instead". La asta eu as zice "cu recompilarea codului."

Iar tu in loc de Atmega8 vrei sa pui Atmega168, care mai introduce alte diferente ...

Link spre comentariu

Total de acord ! D-aia si spuneam ca vreau sa fac o proba practica, doar cu uC si dupa aia, daca mai e cazul (daca am noroc) sa continui proiectul cu restul blocurilor functionale, cablaje, bla, bla....Intr-adevar, WDT e catelul de paza :)Fusebitii, de care imi spuneti, se poat modifica in softul de scriere (pony prog, sa spunem) sau trebuie modificat codul hex ? Scuze daca intreb o prostie dar esta e nivelul la care ma aflu :jytuiyu Relativ la scopul aplicatiei, ca idee, uC in cauza primeste niste semnale MIDI, le decodifica, si face un PWM pentru 2 leduri. Ledurile , la randul lor, comanda un egalizator paramatric... Cam asta ar fi, .... in doua vorbe...

Link spre comentariu

Fusebitii se scriu cu softul de scriere, nu au treaba cu hex-ul. Ei descriu practic cum sa functioneze microcontrolerul: cu oscilator intern sau extern, pe la ce frecvente, etc. In principiu ii scrii odata si bine, dar cu atentie - daca gresesti ceva poti face microcontrolerul inutilizabil. Din cate am inteles ponyprog e cam blamat din cauza asta (nu ar fi foarte "user-friendly") dar concret nu l-am folosit (zic si eu doar ce am vazut ca se plang altii).Acum eu is paralel cu alta treaba: semnalele midi. Habar n-am in ce domeniu se incadreaza. Sunt analogice sau digitale? Daca sunt analogice, se foloseste convertorul ADC din microcontroler pentru a le citi? Daca da, atunci iar atentie - sunt diferente intre referintele de tensiune interna (atmega8 e pe 2.56V, atmega168 e pe 1.1V); sau poate in proiect se foloseste o referinta externa? Daca nu se foloseste ADC-ul pentru citirea lor, ignorati remarca asta.

Link spre comentariu

Multumesc pentru clarificare.Am avut o banuiala , juecand dupa link-ul pe care mi l-ati transmis, dar am zis ca e mai bine sa intreb. Acuma am dar in alta problema. Cum sa scriu exact bitii aia :) Nu credeam ca o scrire gresita ar compromite uC. Eu am lucrat pana acum, e drept doar de cateva ori, cu uC PIC si nu m-am lovit de asa ceva. Acum vad insa ca se ingroasa gluma... Se pare ca trebuie sa mai studiez...Ca idee, semnalele MIDI sint 100% digitale, asa ca o problema ar fi rezolvata.Ca tot a venit vorba, ce soft de scriere sa folosesc ?

Link spre comentariu

Softul de scriere depinde in mare masura de programatorul folosit. Eu unul folosesc avrdude + un programator pe usb. Daca folositi un programator serial, nu stiu sa va dau sfaturi, dar vedeti ce au mai zis si altii.Vad ca AT90S4433 e destul de "simplut" cu fusebitii; vedeti ce foloseste schema care o aveti: oscilator cu cuart? oscilator intern? si la ce frecventa.Atmega-urile 8/88/168 vin initial setate cu oscilator intern la 1MHz. Daca aceeasi setare e si la AT90, atunci lasati fusebitii cum sunt ei din fabrica. Daca aveti nevoie de oscilator cu cuartz, atunci setati doar fusebitii pentru oscilatorul cu cuartz, si lasati ceilalti cum sunt initial.

Link spre comentariu

Multumesc mult !Schema in cauza prevede functionarea cu un quartz de 16,oo MHz (e drept pentru un AT90S4433)La ATmega168 vad ca cel mai mult "vrea" quartz la 8,00 MHz. Oricum, mai intai o sa cumpar un microcontroller si o sa incerc sa trec la probe. Daca-l prajesc .... :)

Link spre comentariu

Atmega168 suporta cuartz pana la 20MHz, asta daca nu cumva aveti varianta low-power.Cu quartz de 16MHz ar trebui sa mearga fara probleme, cat timp setati fusebitii (external quartz, high speed).Cred ca lfuse=0xff si hfuse=0xdf ar trebui sa isi faca treaba.In linkul cu fusebitii e trecut "8.0- MHz" - vrea sa zica ce de la 8MHz in sus. Pana la maximul suportat de controller.

Link spre comentariu

Eu tin sa cred ca fusebitii sunt inclusi in hex.Am avut un atmega 168can, si mi s-a luat curentul pe la jumatatea scrierii, si nici in zi de astazi nu am mai reusit sa il deblochez.

Link spre comentariu

fusebitii sigur nu-s in hex-ul programului. eu am patit sa scriu valori nebanuite al fusebitilor datorita unor glitch-uri din cauza overclock-ului. am recuperat cu programare paralela high-voltage.

Link spre comentariu

Eu tin sa cred ca fusebitii sunt inclusi in hex.Am avut un atmega 168can, si mi s-a luat curentul pe la jumatatea scrierii, si nici in zi de astazi nu am mai reusit sa il deblochez.

Nu are nici o legatura fusebitii cu hexul !
Link spre comentariu

Inca n-am reusit sa gasesc un ATmega168 (sint in curs de...) dar studiind, inca o data, simularea din Proteus, atentionarea pe care o primesc suna cam asa:

PC=0x29C [AVR WATCHDOG] WDCE is set but WDE is not. Do nothing.

 

E de bine sau e de rau ? :jytuiyu

Simularea "merge" dar primesc mii de astfel de warning-uri.

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări