18F452 ADC duruyor

Başlatan birumher, 07 Kasım 2004, 23:35:24

birumher

18F452 ADC sinden çevrilen veriyi USB ile bilgisayara atan bir program yazdım. Program şöyle işliyor,
Her 100 us de bir Timer 0 interrupt ı oluşuyor bu sırada 1. kanaldan
ADC yi başlatıyorum ve GO/DONE bitinin sıfırlanmasını bekledikten sonra bu veriyi USB den gönderiyorum sonra hemen 2. kanala geçiyorum ve bu veriyi gönderiyorum vs...

void timer0_isr()

{
      for(i=0;i<ChannelCount;++i) {
         ChannelNo = i;
         ChannelNo = ChannelNo << 3;
         ADCON0 |= ChannelNo; //Channel ı ayarla
         GODONE = 1; // çevrimi başlat
         while (GODONE != 0) ;// GODONE ı bekle
         value1 = ADRESL;
         value2 = ADRESH;


//BURADA value1 ve value 2 USB ye yazılıyor...


      }
}



Fakat bu kodda bir sorunum var. Deneme için ADC lerin girişine potansiyometreler bağladım. Potansiyometreleri tamamen kıstığım zaman GO/DONE biti hiçbir zaman sıfır olmuyor yani ADC işlemi tamamlanmıyor.
Oysa benim ihtiyacım olan şey hemen hemen her zaman bu işlemin yaklaşık 15 us de bitmesi...
Birkan.Herguner

cozturk

18F452 yi usb ile kullanırken hiç bir zorluk çıkmadı mı? Ben USByi destekleyen 16c765 vb bazı özel picler kullanılması gerektiğini sanıyorum. siz nasıl gerçekleştirdiniz? Bana da lazım

birumher

http://www.ravar.net/R_ProductUSBs.htm
adresindeki USBMOD2 yi futurlec ten getirttim. FTDI dan FT8U245 çipini kullanıyor. Devreye entegre etmesi çok kolay.
Birkan.Herguner

cozturk

Ben de PL-2303 çipli seri-usb kablo ile yapayım diyordum. kablo 6$. tabi baudrate durumunu test etmek lazım.

cozturk

Ben de PL-2303 çipli seri-usb kablo ile yapayım diyordum. kablo 6$.
Alıntı yapılan: "cozturk"I want to build 8 channel Data Acquistion Project for usb or rs232 port. (may use with rs232 to USB converter). I want to use only 1 mcu for ADC and usart.Analog inputs only about 5kHz band width. which mcu do you suggest? And do you know any open source project?
....

I know rs232 is not good. I think usb programming will be difficult. and made simple calculating. if 8 bit 11k sampling used,

11k x 8bit x 8 =704kbaud enough? The serial to usb port converter's baudrate seems over 704k. What's wrong?
[/color]

birumher

USART ın baud rate i yetiyor mu ki? Sonuçta seri data çıkacak pic den...
Birkan.Herguner

birumher

Kendi sorumun cevabına rastladım...

Alıntı YapThe PIC16F87X data sheet, Table 10-4 lists several examples of settings, including the minimum and maximum baudrates. With a maximum clock speed of 20MHz, BRGH=1 and SPBRG=0 you get a maximum baudrate of 1,250,000 (1.25Mbaud).

bu da yaklaşık 125 Kbyte/s eder. Fena değil. Benim kullandığım 1 MByte/s gönderebiliyor.
Birkan.Herguner