Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

PIC + SD kartica

[es] :: Elektronika :: Mikrokontroleri :: PIC + SD kartica

[ Pregleda: 3870 | Odgovora: 15 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

voxi

Član broj: 67178
Poruke: 328
*.teol.net.



Profil

icon PIC + SD kartica27.02.2008. u 22:04 - pre 167 meseci
Ovako hocu da povezem PIC i SD karticu preko SPI protokola! E sad zanimam me odaklen da pocnem?
Koju karticu da uzmem ili je to ne bitno mislim jel sve podrzavaju SPI, nasta da obratim paznju osim povezivanja fizickog?
Ima li neko od vas u ovom iskustva i na koji nacin se one adresiraju mislim na sledece: adresa je veca nego 1 bajt sta onda ide posaljem prvo adresu od vise batova pa onda podatak, kako razdvojiti adresu od podatka?

Ajd javite ako neko ima iskustva sa ovom kombinacijom!

Hvala u napred
 
Odgovor na temu

branko_g
Merna tehnika i elektronika

Član broj: 159227
Poruke: 756
*.static-fiber.styrion.net.



+9 Profil

icon Re: PIC + SD kartica28.02.2008. u 06:34 - pre 167 meseci
Probaj sa Google-om: SD card interface.
 
Odgovor na temu

korak
Nis

Član broj: 125522
Poruke: 612
*.dynamic.sbb.co.yu.



+7 Profil

icon Re: PIC + SD kartica28.02.2008. u 09:50 - pre 167 meseci
Radio sam sa karticama.
Da li zelis da radis sa memorijskom karticom?

Pozdrav.
 
Odgovor na temu

voxi

Član broj: 67178
Poruke: 328
*.teol.net.



Profil

icon Re: PIC + SD kartica28.02.2008. u 15:54 - pre 167 meseci
Da upravo sa memorijskom karticom zelim da radim treb mi za pamcenje podatak. Ajd javi mi sta si radio, koju karticu preporucujes i sve sto mislis da mi je vazno. Znam rad sa PIC ali nisam do sad jos nikad upotrebio SPI protokol!

Hvala na javljanju!
 
Odgovor na temu

korak
Nis

Član broj: 125522
Poruke: 612
*.dynamic.sbb.co.yu.



+7 Profil

icon Re: PIC + SD kartica28.02.2008. u 18:22 - pre 167 meseci
Da ne bude zabune, naveo si SD kartice.

Ja sam radio sa cip karticama i to memorijskim, u pocetku, a sada sa procesorskim. Da ne promasim temu.

Dakle, mislim na kartice koje su kao platne elektronske (kako ih bankari zovu). Koristio sam SLE4428 sa 1KB EEPROM-a.

Da li je to ono sto ti treba?

Pozdrav.

Shvatio sam sta ti treba, nazalost na tu temu nisam nista radio.
 
Odgovor na temu

voxi

Član broj: 67178
Poruke: 328
*.teol.net.



Profil

icon Re: PIC + SD kartica28.02.2008. u 18:48 - pre 167 meseci
Da treba mi eeprom ali ne ovaj od 1,2,4,8,64KB vec kontam na ove memorijske kartice sto recimo koriste foto aparati, mobilni posto mi treba malo vise memorije to jest izrazene u MB a ne u KB . Jesi li sa tim radio?
 
Odgovor na temu

mradomir
mradomir
Novi Sad

Član broj: 123964
Poruke: 169
*.mediaworksit.net.



+28 Profil

icon Re: PIC + SD kartica28.02.2008. u 22:32 - pre 167 meseci
Ja sam radio sa SD/MMC karticama.
U principu uzmeš najjeftiniju, mislim da je to Kingston SD od 512MB.
Sve imaju SPI protokol, probao sam više modela i nisam primetio
neku razliku (ako ti brzina nije bitna).
Za početak pročitaj:
SanDisk MultiMediaCard and Reduced-Size MultiMediaCard Product Manual

pa se čujemo.

 
Odgovor na temu

johnny_hush
Belgrade, Serbia

Član broj: 112918
Poruke: 528
89.216.100.*

Sajt: johnnyhush.com


+1 Profil

icon Re: PIC + SD kartica28.02.2008. u 22:51 - pre 167 meseci
Od cega je skraceniva SPI?

I jos jedno pitanje malo offtopic: zanima me kako vi programirate pic-ove kada su u pitanju i2c ili rs232, ili slicno... U assembleru ili C, kako. sta, trebaju mi preporuke...

pozz
http://johnnyhush.com - Electronics
 
Odgovor na temu

voxi

Član broj: 67178
Poruke: 328
*.teol.net.



Profil

icon Re: PIC + SD kartica28.02.2008. u 23:07 - pre 167 meseci
SPI=Serial Peripheral Interface


@johnny_hush nemoj da mi uleces tako sa offtopic ova mi je tema od velikog znacaja pitanje je hoce li mi uspeti ili pasti projekat!!! Drugo posalcu ti na private primer koda kod komunikacje RS232 radjene u C-u krajnje jednostavno ako sta treba otvori novu temu pomoce ti ljudi nemoj da brines!

Naso sam neku mikro SD kartu za 10e 128mb nokia je upitanju nadam se da bi se mogla iskoristit za probu mada meni veci kapacitet i nije potreban.
Brzina mi nije od nekog znacaja posto se ne radi o kontroli neke masine 1,2s tamo ili vamo

procitacu ovaj manual sutra pa cu vas nastaviti bombardovati pitanja!

@mradomir hvala na upustvu sta prvo da procitam ;)
 
Odgovor na temu

branko_g
Merna tehnika i elektronika

Član broj: 159227
Poruke: 756
*.static-fiber.styrion.net.



+9 Profil

icon Re: PIC + SD kartica29.02.2008. u 07:08 - pre 167 meseci
U najnovijem Elektor-u je objavljen projekt: Datalogger sa SD karticom koji
koristi PIC18F452.
Interesantno je da je autor(Loic Marty) objavio i Source-kod, pa bi za vas bilo sigurno
interesantno da vidite kako je rešeno ne samo komunikacija sa SD-karticom nego
i kontrola LCD displeja i RS232 komunikacija.
Program se može skinuti sa :
http://www.elektor.de/jahrgang...abler-datenlogger.372851.lynkx

Program je pisan u C, a kao kompajler je korišćen mikroC od www.mikroe.com.
koji autor lobira i kaže da je vredan preporuke i da proisvođač nudi sveobuhvatnu
tehničku podršku.

P.S.
Mikroelektronika već drugi put uzastopno ima u Elektoru oglas preko cele strane.
Poštovanje, to u Elektoru još nisam video. Ipak se na ovim prostorima nešto kreće.
 
Odgovor na temu

sander
Aleksandar Golovic
Beograd

Član broj: 21336
Poruke: 211
*.smin-1.sezampro.yu.



Profil

icon Re: PIC + SD kartica01.03.2008. u 10:27 - pre 167 meseci
Inace, svaki proizvodjac mikrokontrolera kao i izdavaci kompjalera imaju svoje forume koji su bogati bibliotekama za rad sa svim i svacim tako da ne bi bilo lose da se uzmu u obzir kad nesto zapne ili kad je potrebno upoznavanje sa novim stvarima. Recimo za CCS C na njihovom forumu imas biblioteku za rad sa sd/mmc fat16 i fat32 fajl sistemom.
 
Odgovor na temu

voxi

Član broj: 67178
Poruke: 328
*.skaut.net.



Profil

icon Re: PIC + SD kartica07.03.2008. u 00:10 - pre 167 meseci
Ovako procito sam onaj datasheet veznoa za sd/mmc ali imam nekih nejasnoca????

Koliko sam skonto princip je sledeci (Ako uzmemo u obzir da je sve povezano hardverski kako treba):
CS pin oborim na nulu
Zatim posaljem bajtove sledecim redom preko SPI 0x40, 0x0, 0x0, 0x0, 0x0, 0x95 i sa ovim kartu stavljam u SPI mod

E sad za dalju komunikaciju sa kartom koristim neke od navednih komandi u zavisnosti sta mi treba
npr CMD24

Ova komanda predstavlja upis u karticu. U jednom delu ovog pdf dokumenta na strani 75 pre tabele komandi pise sledece
"The binary code of a command is defined by the mnemonic symbol. As an example, the
content of the CMD Index field for CMD0 is (binary) “000000” and for CMD39 is (binary)
“100111”. "

E sad ima jedna nejasnoca

Ako je komanda CMD0 komanda za postavljanje moda SPI zar nebi trebalo da ide 0x40, 0x0, 0x0, 0x0, 0x0, 0x95

i ako je komanda za upis u karticu CMD24 trebalo bi da ide znaci 0x18 0 0 0x200 0xff (24 0 512 255 [druga dva argumenta su 0 i 512 oba se smatraju kao vobajtna broja to jest predstavljaju pocetnu i krajnju tacku bloka ako je on 512bajta] ) .

Ovo je po mojoj nekoj logici koju sam izvuku iz datasheeta "SanDisk MultiMediaCard and Reduced-Size MultiMediaCard Product Manual" sto mi je predlozio" mradomir

Medjutim gledajuci sledceu stranicu http://www.captain.at/electronics/pic-mmc/ na kojoj ima link za sorce kod od projekta doso sam do zakljucka da je komanda 0x40 => CMD0 a samim tim da je 0x58 => CMD24 to jest upis u kartu! Da li je to zaista tako (pogledajte gore u sorcsu f-iju writeramtommc() koja poziva Command(0x58,0,512,0xFF) )

P.S na gore navedenom linku kada otvorite stranicu klikni te na "mmc.c: PIC - MMC Test incl. Serial Port Interrupt Test"

Ako nesto nije jasno sto sam napiso javi te mi. A ako mozete pomozite mi oko ove dileme nisam jos poceo da sastavljam hardverski ali nadam se sutra ili preko sutra


Hvala u napred







 
Odgovor na temu

mradomir
mradomir
Novi Sad

Član broj: 123964
Poruke: 169
*.mediaworksit.net.



+28 Profil

icon Re: PIC + SD kartica11.03.2008. u 22:45 - pre 167 meseci
Citat:

CS pin oborim na nulu
Zatim posaljem bajtove sledecim redom preko SPI 0x40, 0x0, 0x0, 0x0, 0x0, 0x95 i sa ovim kartu stavljam u SPI mod


Tačno, ali posle CMD0 moraš da ponavljaš CMD1 dok ti kartica
ne odgovori, procitaj poglavlje 5.11 Reset Sequence.

Citat:

i ako je komanda za upis u karticu CMD24 trebalo bi da ide znaci 0x18 0 0 0x200 0xff (24 0 512 255 [druga dva argumenta su 0 i 512 oba se smatraju kao vobajtna broja to jest predstavljaju pocetnu i krajnju tacku bloka ako je on 512bajta] ).


Ne, to sa komandama ćeš najlakše skontati ako na 0x40, odnosno decimalno 64
dodaš komandu, pa će CMD24 biti 64+24=88 (0x58).
Ako te zanima zašto pročitaj 4.6.2 Command Format.

Dakle prethodno će da bude 0x58 0x00 0x00 0x02 0x00 0xff.

Ovo 0x00 0x00 0x02 0x00 je adresa bloka za upis,
pročitaj tabelu u poglavlju 5.17.2 Command Description.
 
Odgovor na temu

voxi

Član broj: 67178
Poruke: 328
*.skaut.net.



Profil

icon Re: PIC + SD kartica14.03.2008. u 00:06 - pre 167 meseci
Evo kod sto sam radio ali nikako da mi vrati 1 posle CMD0 a inace povezivanje sa SD karticom sam radio po semi sa
linka http://www.captain.at/electronics/pic-mmc/

a pomalo sam gledao i kod sa linka http://www.captain.at/electronics/pic-mmc/mmc.c.txt

evo kod pa ako neko moze da pogleda ima li gde greska

napomena gde ima posle linije koda pod komentarom zvezdica -> //* taj deo koda je uradjen kao na linku koji sam gore ostavio gore za kod u koji sam gledo kao ispomoc, pokusao sam i sa tim i bez tog ali ni vak ni nak nece

znaci imam lcd gde pogaze sta vrati

kada stavim u MMC_init return SPI(crc) brati -107 a kad stavim jos ono dole SPI(0xFF); return SPI(0xFF); vrati mi -1 ne kontam

Code:

#include <16F874.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000)
#include "lcd.c"
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)


#bit SMP=0x94.7
#bit CKE=0x94.6
#bit CKP=0x14.4
#bit SSPM1=0x14.1
#bit SSPEN=0x14.5
#bit CS=0x7.2
#bit BF=0x94.0
#bit TRS3=0x87.3
#bit TRS5=0x87.5


#byte TRISC=0x87
#byte SSBUF=0x13

char SPI(int d)        // send character over SPI
{
    SPI_write(d);            // send character
//    while (!BF);        // wait until sent
    return SPI_READ();        // and return the received character
}

int command(int cmd,int arg3,int arg2,int arg1,int arg0,int crc)
{

   // sends a command to the MMC
    char a;
    //SPI(0xFF);    //*
    SPI(cmd);

    SPI(arg3);
    SPI(arg2);
    SPI(arg1);
    SPI(arg0);

    return SPI(crc);

    //SPI(0xFF);//*
    //return SPI(0xFF);    // return the last received character     //*


}

int MMC_init()
{
   int i=0,rez=-3,rez1=-4;
   TRISC = 0b11010011;

   SMP = 0;        // input is valid in the middle of clock
    CKE = 0;        // rising edge is data capture
    CKP = 1;        // high value is passive state
    SSPM1 = 1;    // speed f/64(312kHz), Master
    SSPEN = 1;    // enable SPI
    CS = 1;         // disable MMC

   // start MMC in SPI mode
    for(i=0; i < 10; i++)SPI(0xFF);        // send 10*8=80 clock pulses
    CS=0;
   
   
   rez=command(0x40,0,0,0,0,0x95);

   
   
 /*  do 
   {
     rez1=Command(0x41,0,0,0,0,0xFF);
     //lcd_gotoxy(5,1);
    // printf(lcd_putc,"%d",rez1);
   
   }   
   while (rez1!=0);
*/

   lcd_gotoxy(1,1);
   printf(lcd_putc,"%d",rez);

  /* lcd_gotoxy(4,1);
   printf(lcd_putc,"%d",rez1);
*/
}



void main()
{
   lcd_init();

   lcd_gotoxy(1,0);
   printf(lcd_putc,"%s","SPI");
   //SSBUF=4;
  // lcd_gotoxy(12,1);
  // printf(lcd_putc,"%d",SSBUF);
   MMC_init();

  petlja: goto petlja;

}



 
Odgovor na temu

mradomir
mradomir
Novi Sad

Član broj: 123964
Poruke: 169
*.mediaworksit.net.



+28 Profil

icon Re: PIC + SD kartica15.03.2008. u 15:08 - pre 167 meseci
Pa za početak ovo: char SPI(int d) neće moći.
Ne možeš da šalješ integer.
Vrati sve što si prepravio iz primera,
dakle prethodno bi trebalo da bude: char SPI(char d)

Inače -107 ti je 0x95, a -1 je 0xFF.

Dakle integer koristi samo kada moraš,
ipak PIC nije PC.

Nadam se da sam malo pomogao,
pozdrav.
 
Odgovor na temu

voxi

Član broj: 67178
Poruke: 328
*.skaut.net.



Profil

icon Re: PIC + SD kartica15.03.2008. u 18:47 - pre 167 meseci
Moja najveca greska je bila sa CS sto nisam stavljo na 0 i vraco na 1 posle komande to jest sa komuniciojm za sd kartom, za sad radi!

Evo i jedan link za FAT sistem nisam jos probavao al nek se nadje ;)
http://www.ccsinfo.com/forum/viewtopic.php?t=31532&start=0
veliko HVALA svima koji su pomogli


[Ovu poruku je menjao voxi dana 16.03.2008. u 02:28 GMT+1]
 
Odgovor na temu

[es] :: Elektronika :: Mikrokontroleri :: PIC + SD kartica

[ Pregleda: 3870 | Odgovora: 15 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.