Jump to content
ELFORUM - Forumul Electronistilor
Sign in to follow this  
costy35

boot dupa sdcard!

Recommended Posts

Pentru a incarca un program in microcontroler (in cazul meu ... atmega8) in prezent sunt doua variante:

Cu programator usbasp pe pinii miso,mosi,sck si reset sau daca microcontrolerul este "inzestrat" cu bootloader poate fi programat cu un simplu adaptor usb serial.

Nu stiu daca exista a treia varianta (si daca exista pentru atmega8!) si anume:

Boot cu sdcard !

Asta inseamna ca daca eu leg la pinii miso,mosi si sck un adaptor ptr sdcard (atentie ! Sdcardul lucreaza pe 3.3V !!!! ) atunci cand inserez sdcardul in respectivul soclu acesta incarca automat programul de pe Sdcard in memoria flash a lui atmega8.

Un adaptor sdcard costa putin ,de exemplu:

post-7016-139829742808_thumb.jpg

Dezavantajul este ca adresa fisierului de pe sdcard trebuie sa o gasiti manual si sa o introduceti in bootloaderul pentru atmega8,apoi sa incarcati in atmega8 bootloaderul...dupa asta la orice inserare a sd cardului programul se scrie automat in microcontroler,practic ... sterge programul vechi si scrie pe cel nou instantaneu.

Vezi detalii aici... https://sites.google.com/site/atmega8pro/cosduino_bootloader

atasez mai jos si codul

sdboot.zip

primul folder sd_boot contine fisierul hex si source code ... e scris in bascom.

Al doilea folder sdcard_cnc contine o aplicatie cnc ,sau cum poti citi cu aceeasi metoda simpla date de pe un fisier de pe sdcard si utilizate (in cazul meu datele citite de pe sdcard sun folosite pentru a invarti 2 stepper motor de 5v care taie o bucata de polistiren cu fir cald )

Cu speranta ca am fost explicit si ati inteles ceea ce am vrut sa va transmit va doresc ... Succes!

Share this post


Link to post
Share on other sites

Daca te chinui putin, cred ca poti sa indesi FAT16/FAT32 in bootloader ca sa caute dupa numele unui fisier.De altfel, ce se intampla daca fisierul este fragmentat pe card (adica sectoarele nu sunt unul dupa altul)?Fie faci un programel pentru PC care scrie programul pe card fara nici un sistem de fisiere, fie implementezi un sistem de fisiere in bootloader.Altfel, mi se pare inutil.

Share this post


Link to post
Share on other sites

Interesant, mai ales ca si idee la masina de taiat cu fir cald, sa inteleg ca un sdcard poate fi folosit si ca memorie "suplimentara"? Si intrebarea nr 2, un Mc e capabil sa citeasca o "parola" de pe sdcard relativ simplu sau cit de simplu in idea de a se face o incuietoare cu sdcard pe post de cheie? Era "undeva" un proiect cu cartele telefonice pe post de "cheie" dar era limitat in sensul ca citea doar codul de pe acele cartele, cod prescris de fabricant, mc-ul doar le memora se configura dupa acestea si doar 3_4 buc maxim.....

Share this post


Link to post
Share on other sites

Într-un SD card poţi scrie aproximativ la fel ca într-un EEPROM, dacă nu vrei să ai formatare FAT.

Share this post


Link to post
Share on other sites

Într-un SD card poţi scrie aproximativ la fel ca într-un EEPROM, dacă nu vrei să ai formatare FAT.

Am inteles, cit de complicat este sa atasez un cititor sdcard la mc?

Share this post


Link to post
Share on other sites

Cat se poate de simplu, pentru ca standardul SD impune cardurilor sa poata comunica prin SPI.

Share this post


Link to post
Share on other sites

Cat se poate de simplu, pentru ca standardul SD impune cardurilor sa poata comunica prin SPI.

Daca achizitionez un modul/adaptor sdcard ca cel prezentat mai sus pot sal conectez "direct" la un mc sau trebuie un modul Arduino?

Share this post


Link to post
Share on other sites

Poti sa il conectezi cam la orice microcontroller ce are un numar suficient de pini. Daca te chinui putin, nici nu trebuie sa aiba SPI. Totusi, ar fi preferabil ca microcontroller-ul sa fie alimentat la 3.3V sa nu te mai incurci cu adaptoare de nivel (fie rezistive, fie active, etc.).

Share this post


Link to post
Share on other sites

Poti sa il conectezi cam la orice microcontroller ce are un numar suficient de pini. Daca te chinui putin, nici nu trebuie sa aiba SPI. Totusi, ar fi preferabil ca microcontroller-ul sa fie alimentat la 3.3V sa nu te mai incurci cu adaptoare de nivel (fie rezistive, fie active, etc.).

Da, asta cu alimentarea e o mica problema, iar in cea ce priveste legatura la pini se poate da un exemplu? o schema aproximativa macar in sensul daca se conecteaza pin la pin sau e nevoie de "interfata" sau rezistori de limitare....I2C am reusit sa comunic cu brio intre mc si un DAC intr-un poiect la o sursa de alimentare dar in acest caz, SPI....., acum e prima oara cind aud, in afara de programatorul meu care comunica cu mc-ul prin aceasi pini.

Share this post


Link to post
Share on other sites

Pentru conexiune ai nevoie de alimentare, o linie de chip select care poate fi orice pin, iar pentru SPI legi pinii dedicaţi (MISO, MOSI, SCK). Poţi să emulezi SPI, dar e mult mai simplu să foloseşti regiştrii şi întreruperile din uC.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.