www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

LPC1768 ADC in "glitch"

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> ARM arhitektura
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
ThePohorc
Član
Član



Pridružen-a: Sre 01 Nov 2006 13:40
Prispevkov: 41
Aktiv.: 0.18
Kraj: Maribor

PrispevekObjavljeno: Pet Apr 08, 2011 10:24 am    Naslov sporočila:  LPC1768 ADC in "glitch" Odgovori s citatom

Pozdravljeni!

Na KEIL ploščici MCB1700 (LPC1768) zaganjam AD. Filozofija je čisto preprosta. ADC nastavim in poženem, potem pa v prekinitvi poberem vrednosti iz AD-ja in ga ponovno poženem.

Koda:

   //Nastavim PINMODE!
   LPC_PINCON->PINSEL1  &= ~(3<<18);      /* P0.25 is GPIO                      */
    LPC_PINCON->PINSEL1  |=  (1<<18);      /* P0.25 is AD0.2                     */
   LPC_PINCON->PINMODE1 &=~ (3<<18);     
   LPC_PINCON->PINMODE1 |=  P19;
   
   LPC_PINCON->PINSEL1 &= ~(3<<16);      /* P0.24 is GPIO                      */
    LPC_PINCON->PINSEL1 |=  (1<<16);      /* P0.24 is AD0.1                     */
   LPC_PINCON->PINMODE1 &=~ (3<<16);     
   LPC_PINCON->PINMODE1 |= P17;

   LPC_SC->PCONP       |=  (1<<12);      /* Enable power to ADC block          */

   LPC_ADC->CR          =  (1 << 1) |     /* select AD0.1 pin                   */
                             (4 << 8) |     /* ADC clock is 30MHz/5               */
                             (1<<21);       /* enable ADC                         */
   LPC_ADC->INTEN       =  (1<< 8);       /* global enable interrupt            */
   NVIC_EnableIRQ(ADC_IRQn);              /* enable ADC Interrupt               */

   LPC_ADC->CR       |=  (1<<24);      /* Start A/D Conversion               */


Še prekinitev:

Koda:

void ADC_IRQHandler(void)
{
   int adGDR = LPC_ADC->GDR;
   putSingleInCircBuffer((adGDR>>4) & 0xFFF);      /* Read Conversion Result                */
   LPC_ADC->CR       |=  (1<<24);      /* Start A/D Conversion               */   
}


Podatke potem prensem na PC....

Opazil sem, da "AD izjemno šumi". Zanima me, kakšne izkušnje imate z internim LPC1768 AD-jem? Je lahko šum posledica nepravilno zastavljene kode?

Lep pozdrav,

Karl
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
ThePohorc
Član
Član



Pridružen-a: Sre 01 Nov 2006 13:40
Prispevkov: 41
Aktiv.: 0.18
Kraj: Maribor

PrispevekObjavljeno: Pet Apr 08, 2011 10:41 am    Naslov sporočila:   Odgovori s citatom

Še zajem podatkov. Merim izhod iz navadne AAA baterije in potenciometra na ploščici:


LPCBat.PNG
 Opis:
 Velikost datoteke:  92.41 KB
 Pogledana:  19 krat

LPCBat.PNG



LPCAD.PNG
 Opis:
 Velikost datoteke:  80.88 KB
 Pogledana:  17 krat

LPCAD.PNG


Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
.
Član
Član



Pridružen-a: Ned 19 Sep 2004 22:04
Prispevkov: 16777193
Aktiv.: 70650.60

PrispevekObjavljeno: Pet Apr 08, 2011 1:52 pm    Naslov sporočila:   Odgovori s citatom

Brisana vsebina odstranjenega uporabnika.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
ThePohorc
Član
Član



Pridružen-a: Sre 01 Nov 2006 13:40
Prispevkov: 41
Aktiv.: 0.18
Kraj: Maribor

PrispevekObjavljeno: Pet Apr 08, 2011 2:25 pm    Naslov sporočila:   Odgovori s citatom

Boris,

Hvala, saj sem poskusil... Zanimajo me vaše izkušnje...

Lp,

Karl
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
.
Neznanec
Neznanec



Pridružen-a: Pet 01 Okt 2004 1:17
Prispevkov: 1
Aktiv.: 0.00

PrispevekObjavljeno: Pet Apr 08, 2011 6:43 pm    Naslov sporočila:   Odgovori s citatom

Brisana vsebina odstranjenega uporabnika.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
.
Član
Član



Pridružen-a: Ned 19 Sep 2004 22:04
Prispevkov: 16777193
Aktiv.: 70650.60

PrispevekObjavljeno: Pet Apr 08, 2011 8:13 pm    Naslov sporočila:   Odgovori s citatom

Brisana vsebina odstranjenega uporabnika.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Umnik
Član
Član



Pridružen-a: Čet 16 Sep 2004 17:52
Prispevkov: 958
Aktiv.: 4.03
Kraj: Novo mesto

PrispevekObjavljeno: Pon Apr 11, 2011 10:54 am    Naslov sporočila:   Odgovori s citatom

Motnje ti med drugim lahko povzroča tudi Serial Wire Debugger Wink
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
ThePohorc
Član
Član



Pridružen-a: Sre 01 Nov 2006 13:40
Prispevkov: 41
Aktiv.: 0.18
Kraj: Maribor

PrispevekObjavljeno: Pon Apr 11, 2011 9:23 pm    Naslov sporočila:   Odgovori s citatom

Hvala vsem za odgovore!

Problem je bil v preveč oddaljeni masi. Sedaj sem maso "pobral" iz CAN DB9 vmesnika (mnogo bližje pinu za AD) in stvar deluje bistveno bolje...

Čeprav potenciometer še vedno šumi, kar pa je tako ali tako za pričakovati... Hvala vsem za pomoč!

Umnik, to o ULINK2 sem prebral (motnje) in upošteval (ga med meritvami fizično odklopil). Hvala za opozorilo!

borisz, zraven AD pinov bi lahko bila pina z maso in 3.3V napajanjem... Razz
Saj vem, pol bi bila pa KEIL-ova plata že skoraj popolna... Laughing

Lep večer vsem!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> ARM arhitektura Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 6 dni


Powered by phpBB © 2001, 2005 phpBB Group