srdjan Posted May 12, 2009 Share Posted May 12, 2009 imi puteti spune ochiometric daca e suficienta memoria flash la atmega8-16pu 8k pentru a face urmatoarele (scris in c nu in asm):RTC (cristal extern 32.768) y2k compliant 2 intrari ADC (presiune si temperatura)1 interfatare card SD (SPI - fat32 sau fat16 daca se poate...daca nu ma multumesc si cu raw data)1 interfatare port serial (SPI - max232)1 Iesire LCD grafic 84/48 (nokia 3310)(nu am facut niciodata compilari pentru microcontrollere de aceea intreb)eventual daca imi sugerati link-uri cu niste clase cat mai compacte pentru cele mentionate raman profund indatoratevident voi incerca sa minimizez si codul (la lcd pot renunta si sa fac setarile conectat la pc)ce spuneti, am vreo sansa, e imposibil sau incape lejer?multumiri! Link to comment
Eugenn Posted May 12, 2009 Share Posted May 12, 2009 Codul pentru card SD o sa ia cel mai mult flash si RAM. Flash-ul necesar depinde de cat de complet e implementat FAT16/32, daca e necesara doar citirea de fisiere poate incapea, pentru scriere si implementare ca la standard cred ca e insuficient.Cu RAMul e problema - mega8 are doar 512B, atat are si un sector pe card, plus ca se mai consuma RAM si pentru rularea restului de program.Portul serial e pe UART, cardul o sa fie pe SPI.Deci nu merge cu atmega8. Minim ar trebui 1kB de RAM, am facut un server cu atmega16, dar merge foarte incet fiindca nu are destul RAM sa trimita pachete mai mari. Link to comment
srdjan Posted May 13, 2009 Author Share Posted May 13, 2009 ok...si daca salvez datele pe SD card in raw data format. as putea sa le trimit prin microcontroller spre pc (probabil ca va dura mult) sau as putea pune pe pauza salvarea datelor (sa le tina in sdram pana scot, copiez si pun la loc cardu - comutator)crezi ca varianta asta ar merge?raw-data de pe card pe windows oare cu ce as putea sa le citesc?merci de feedback Link to comment
Eugenn Posted May 13, 2009 Share Posted May 13, 2009 Aici nu stiu daca e corect ce spun ca nu am mai lucrat de ceva vreme cu carduri. Din ce imi aduc aminte cele SD pot sa faca doar transferuri pe sector, la MMC se putea lucra la nivel de byte. Asa ca pentru a scrie si la o singura adresa trebuie trimisi 512 octeti.Nu stiu cum s-ar putea citi raw pe windows, pentru ca se opreste la orice eroare si in MBR. Probabil vreun soft de recuperare de date?Oricum tot cu filesystem e in final mai bine, ca si raw trebuie sa existe un mecanism de a identifica datele si se complica treaba - filesystem e mai complex dar se pot gasi implementari gata facute.Microsoft are drepturi pt FAT si cere licenta pt utilizare... Link to comment
srdjan Posted May 13, 2009 Author Share Posted May 13, 2009 deci ideal ar fi sa fac rost de un atmega16 sau atmega32 pentru aplicatia asta...este? Link to comment
Eugenn Posted May 13, 2009 Share Posted May 13, 2009 Da, sa aiba RAM ceva mai mult decat 512B, cu cat mai mult cu atat mai bine. Cred ca atmega16 e suficient. Link to comment
srdjan Posted May 13, 2009 Author Share Posted May 13, 2009 sa vedem unde gasesc... am vazut ca si atmega8L are 1kb srdam :(( mi-ar trebui sa gasesc in 1-2 zile ceea ce-s slabe sanse aici la noi... daca nu reusesc o sa merg pe varianta cu raw-data...si citirea o voi face tot prin mcumerci de indicatii Link to comment
XAN77 Posted May 13, 2009 Share Posted May 13, 2009 toate versiunile de Atmega8 au 1KB SRAM, cei 512B sunt de EEPROM nu de RAM. Link to comment
srdjan Posted May 13, 2009 Author Share Posted May 13, 2009 yep...am luat-o de buna fara sa mai verific...intr-adevar atmega88, 8, 168, 328 au 1kb sram... doar atmega48 e cu 512deci in concluzie posibil sa iasa ce vreau?!? Link to comment
Eugenn Posted May 13, 2009 Share Posted May 13, 2009 Scuze pentru ca te-am derutat, chiar are 1kB de RAM dar nu verificasem si ramasesem cu impresia ca are 512 Succes cu proiectul Link to comment
srdjan Posted May 13, 2009 Author Share Posted May 13, 2009 multumesc... daca tot suntem aici...imi explicati si mie ce rol are eepromul in cazul unu mcu cum sunt atmega?...sa stochezi niste constante doar indiferent de program sau acolo pui bootloaderul? Link to comment
Eugenn Posted May 13, 2009 Share Posted May 13, 2009 EEPROM-UL e pentru memorat niste date ce vor fi folosite si la urmatoarea folosire a sistemului, de exemplu constante de calibrare sau niste parametrii la care a ajuns sistemul si de care va avea nevoie la urmatoarea alimentare, scrierea in EEPROM se poate face de catre programul rulat pe uC. Accesul nu este prea rapid, mai ales scrierea, trebuie testat un flag daca scrierea e completa inaintea unei noi utilizari.Bootloaderul se pune tot in flash, ca uC poate executa cod doar din flash. Apoi exista optiunea ca bootloaderul sa traga programul prin serial, sa il scrie in flash si sa il lanseze in executie. Link to comment
MifTy Posted August 8, 2009 Share Posted August 8, 2009 probabil debitez tâmpenii, dar... nu se poate folosi un eeprom/flashrom separat, adic? un alt chip pe lâng? atmega, din care s? se citeasc? suspomenitele date, ?i sramul din atmega s? fie un soi de ram dinamic??? Link to comment
srdjan Posted August 8, 2009 Author Share Posted August 8, 2009 probabil debitez tâmpenii, dar... nu se poate folosi un eeprom/flashrom separat, adic? un alt chip pe lâng? atmega, din care s? se citeasc? suspomenitele date, ?i sramul din atmega s? fie un soi de ram dinamic???se poate... ideea e ca atata aveam in dotare cand am cerut ajutorul (doar atmega8)... si era la fel de simplu sa iau alt microcontroller precum sa iau memorie externa pentru a mari memorica incorporata in atmega8.intamplator pentru stadiul actual al aplicatiei (si probabil pana la cea finala) sram-ul de 1k imi va fi suficient. problema era ca initial crezusem ca atmega8-16pu are doar 512bytes sram...ceea ce evident nu era suficient pt ca aveam nevoie de minim 512b + un pic :)in concluzie problema s-a rezolvat prin faptul ca nu exista doar ca incercam sa ma scutesc de munca inutila apeland la sfatul "batranilor". a meritat pe deplin Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now