PIC neden takılır

Başlatan Gökhan BEKEN, 12 Ağustos 2013, 16:22:51

Gökhan BEKEN

Alıntı yapılan: Allegro - 14 Ağustos 2013, 00:10:13
Elektronikçi adamın ölçü aleti, frekans ölçen bir aleti mümkünse bir skobu olmalı öncelikle.
Bunlar artık bir Iphone fiyatına alınabiliyor.
Hocam benim o kadar gelirim yok malesef, kısmetse ilerde...
Alıntı yapılan: skara1214 - 14 Ağustos 2013, 00:19:13
iç kristale geçtiğini nerden anladınız hocam ben tam onu çözemedim çünkü hiçbir iç kristal 1 clock cycle delayde 1 sn yak söndür yapamaz
Kristal takmayınca çalışıyor, bundan dolayı öyle düşündüm. Döngü ile gecikme yaptığımda 400 döngüde 1 saniye felan led yanık kalıyor.
Özel mesaj okumuyorum, lütfen göndermeyin.

skara1214

o zaman sizin sıkıntı  kristal konfigürasyonuzda ieso açıkmı bilmiyorum ama ieso da başlangıcı iç kristalle yapar dış kristal hazır olunca dış kristale geçer.Sizin dış kristal düzgün olmayınca hiç dış kristale geçemiyor
Herkes ölür ama herkes gerçekten yaşamaz

Gökhan BEKEN

Alıntı yapılan: skara1214 - 14 Ağustos 2013, 00:26:41
o zaman sizin sıkıntı  kristal konfigürasyonuzda ieso açıkmı bilmiyorum ama ieso da başlangıcı iç kristalle yapar dış kristal hazır olunca dış kristale geçer.Sizin dış kristal düzgün olmayınca hiç dış kristale geçemiyor
IESO = OFF //Two-Speed Start-up disabled.
IESO = ON  //Two-Speed Start-up enabled.
Normalde OFF olarak kullanıyorum ama ON'u da denedim bişey değişmedi.
Özel mesaj okumuyorum, lütfen göndermeyin.

hasankara

aynı entegre için yazılmış bir hex kodu hazır olan, bir uygulama bulma şansınız oldu mu? yada böyle bir arayışta bulundunuz mu? ben 32mx440f128 la uğraşıyorum yaklaşık 2 haftadır. 460f512l ye uygun microchip in örneklerini buldum aynı hexleri yükleyip sorunsuz çalıştırabildim. hazır hex bulamaz iseniz, bu şekilde donanımsal yakınlığı olan entegrelerin hexlerini de denemenizi tavsiye ederim. bu şekilde sorunun donanımsal mı olduğuna kesin kanaat getirebilirsiniz.

hatta bulduğum c kodlarının kütüphaneleri 18f ler için dahi ortak kullanılıyor. 32mx için config ile hazırlık kodlarını buraya yazayım.

/**********************
 * Configuration Bits *
 **********************/

#ifndef OVERRIDE_CONFIG_BITS
        
    #pragma config UPLLEN   = ON            // USB PLL Enabled
    #pragma config FPLLMUL  = MUL_20        // PLL Multiplier
    #pragma config UPLLIDIV = DIV_2         // USB PLL Input Divider
    #pragma config FPLLIDIV = DIV_2         // PLL Input Divider
    #pragma config FPLLODIV = DIV_2         // PLL Output Divider
    #pragma config FPBDIV   = DIV_1         // Peripheral Clock divisor
    #pragma config FWDTEN   = OFF           // Watchdog Timer 
    #pragma config WDTPS    = PS1           // Watchdog Timer Postscale
    #pragma config FCKSM    = CSDCMD        // Clock Switching & Fail Safe Clock Monitor
    #pragma config OSCIOFNC = OFF           // CLKO Enable
    #pragma config POSCMOD  = HS            // Primary Oscillator
    #pragma config IESO     = OFF           // Internal/External Switch-over
    #pragma config FSOSCEN  = OFF           // Secondary Oscillator Enable
    #pragma config FNOSC    = PRIPLL        // Oscillator Selection
    #pragma config CP       = OFF           // Code Protect
    #pragma config BWP      = OFF           // Boot Flash Write Protect
    #pragma config PWP      = OFF           // Program Flash Write Protect
    #pragma config ICESEL   = ICS_PGx1      // ICE/ICD Comm Channel Select
    #pragma config DEBUG    = ON            // Background Debugger Enable
            
#endif // OVERRIDE_CONFIG_BITS

int main ( void )
{
    /* 
    PIC32 Peripheral Library functions SYSTEMConfigPerformance() and SYSTEMConfig()
    configures system parameters, such as Flash wait states, RAM wait states, 
    enable cache and set Peripheral Bus Clock (PBCLK) frequency for optimal
    system performance based on the system clock frequency argument.
    
    SYSTEMConfigPerformance() ignores the PBCLK fuse selection FPBDIV and calculates
    the fastest possible PBCLK based on the system clock frequency parameter.
    Use this function if you want to set the fastest PBCLK frequency.
    Example: SYSTEMConfigPerformance(80000000);  //@80MHz PBCLK ratio = 1:1
    
    SYSTEMConfig() uses the PBCLK defined by configuration fuse selection FPBDIV 
    set in code or from the MPLAB IDE Configuration Bits menu.
    Use this function if you want to maintain the PBCLK frequency set by FPBDIV.
    Example: SYSTEMConfig(80000000, SYS_CFG_WAIT_STATES | SYS_CFG_PCACHE);
    */
    SYSTEMConfig(GetSystemClock(), SYS_CFG_WAIT_STATES | SYS_CFG_PCACHE);

    // Enable system interrupts
    INTEnableSystemMultiVectoredInt();

    // Initialize the USB stack.
    USBInitialize(0);

Gökhan BEKEN

@hasankara hocam ethernet uygulaması var microchip'in ürettiği o hiç çalışmıyor. Donanımsal bir sorun olma ihtimali yüksek bence de. Zaten yazılımsal olarak aklıma gelen herşeyi denedim.
Pic'in kendisi bozulmuş olabilir mi acaba?
En iyisi pcb'yi gösteriyim.
devrenin ares çizimi: http://www.4shared.com/file/qrF-ybAD/18f67j60.html
Görüntüsü:

pin numaralarına burdan bakabilirsiniz:

TQFP adepter:

Not: TQFP adepter: http://expkits.com/?s=urun_detay&urun=1x_0.5mm_uni._tqfp_header.htm
Özel mesaj okumuyorum, lütfen göndermeyin.

Burak B

#35
Aşağıdaki programı yükleyip denermisin.
PORTC0' daki ledi yakıp söndürür.
:020000040000FA
:060000008FEF00F012007A
:020006000000F8
:08000800060EF66E000EF76E05
:10001000000EF86E0F010900F550056F0900F5504C
:10002000066F03E1056701D03DD00900F550006F70
:100030000900F550016F0900F550026F0900090031
:10004000F550E96E0900F550EA6E09000900090053
:10005000F550036F0900F550046F09000900F6CF51
:1000600007FFF7CF08FFF8CF09FF00CFF6FF01CF5A
:10007000F7FF02CFF8FF0F01035302E1045307E03B
:100080000900F550EE6E0307F8E20407F9D707CF31
:10009000F6FF08CFF7FF09CFF8FF0F010507000EA5
:0600A000065BBFD7120051
:0A00A600FF0EE350036EEF0E01D0D1
:1000B000F30EE76EE72E5AEF00F00C0E026EE76AC1
:1000C000E72E60EF00F0022E5FEF00F0032E58EFF6
:0400D00000F012002A
:0C00D400800EF36E00EE00F00E0E07D858
:1000E000600EF36E0FEE00F00F0E01D81200EA6002
:1000F00002D0EE6AFCD7F350E9601200EE6AFCD73A
:10010000400E9B6E94908B70FA0EE66E53EC00F0EE
:0E011000E552FA0EE66E53EC00F0E552F4D71D
:02011E001DEED4
:1001200000F02DEE00F0F86A019C04EC00F09DEC6C
:0A01300000F080EC00F0FBD7120095
:02013A001200B1
:020000040001F9
:01FFF8008088
:01FFF900F413
:01FFFA00C145
:01FFFB00FF06
:01FFFD00F70C
:00000001FF

"... a healthy dose of paranoia leads to better systems." Jack Ganssle

Gökhan BEKEN

Denedim ama sürekli yanıyor.
Özel mesaj okumuyorum, lütfen göndermeyin.

Burak B

#37
Kristlain 1 nolu bacağı ile HEADER ın 40 nolu pinine giden yolu kablo ile destekleyip tekrar aşağıdaki hex ile dener misin?
Ayrıca kristalin GND tarafını da kablo ile destekle.
:020000040000FA
:0600000090EF00F0120079
:020006000000F8
:08000800060EF66E000EF76E05
:10001000000EF86E0F010900F550056F0900F5504C
:10002000066F03E1056701D03DD00900F550006F70
:100030000900F550016F0900F550026F0900090031
:10004000F550E96E0900F550EA6E09000900090053
:10005000F550036F0900F550046F09000900F6CF51
:1000600007FFF7CF08FFF8CF09FF00CFF6FF01CF5A
:10007000F7FF02CFF8FF0F01035302E1045307E03B
:100080000900F550EE6E0307F8E20407F9D707CF31
:10009000F6FF08CFF7FF09CFF8FF0F010507000EA5
:0600A000065BBFD7120051
:0A00A600FF0EE350036EEF0E01D0D1
:1000B000F30EE76EE72E5AEF00F00C0E026EE76AC1
:1000C000E72E60EF00F0022E5FEF00F0032E58EFF6
:0400D00000F012002A
:0C00D400800EF36E00EE00F00E0E07D858
:1000E000600EF36E0FEE00F00F0E01D81200EA6002
:1000F00002D0EE6AFCD7F350E9601200EE6AFCD73A
:10010000400E9B6E94908B908B70FA0EE66E53ECC3
:1001100000F0E552FA0EE66E53EC00F0E552F4D72B
:100120001DEE00F02DEE00F0F86A019C04EC00F0EA
:0C0130009EEC00F080EC00F0FBD7120009
:02013C001200AF
:020000040001F9
:01FFF8008088
:01FFF900F413
:01FFFA00C145
:01FFFB00FF06
:01FFFD00F70C
:00000001FF
"... a healthy dose of paranoia leads to better systems." Jack Ganssle

Gökhan BEKEN

Hocam zaten kristali direkt TQFP headere bağlamıştım yakın olsun diye.  Tekrar denedim ama yine olmadı. PCB de sorun olup olmadığından emin olmak için TQFP headeri, devreden çıkartıp kablolarla minimum bağlantıları yapıp çalıştıracağım ozaman da aynı sorun çıkarsa sorun picte diyeceğim artık.
Özel mesaj okumuyorum, lütfen göndermeyin.

islergucler

İşlemcinin lehimlerini yenilemek faydalı olabilir.

frederic

Gökhan kardeşim merhaba, bu 18f67j60 başını ağrıtmış senin, özel bir sebebimi var bu işlemciyi kullanmanın ? Değilse eğer bu kadar enerji harcamak bu işlemciye mantıklı değil bence, enc28j60'a yoğunlaşman daha faydalı olur bunun yerine.

Çünkü bu 67j60 yavaş bir işlemci, ve ethernet hızıda enc28j60 ile aynı. Donanımdan tasarruf diye bakılıyor ama, dikkat edersen bunun çevre birimleri ile enc ninkiler yine aynı. Güzel bir işlemci ile kod yazıp, ethernet tarafını harici bir ethernet donanımı ile spi üzerinden haberleştirmek, kullanacağın işlemciyide rahatlatır hem.

Gökhan BEKEN

#41
Alıntı yapılan: frederic - 14 Ağustos 2013, 18:27:19
Gökhan kardeşim merhaba, bu 18f67j60 başını ağrıtmış senin, özel bir sebebimi var bu işlemciyi kullanmanın ? Değilse eğer bu kadar enerji harcamak bu işlemciye mantıklı değil bence, enc28j60'a yoğunlaşman daha faydalı olur bunun yerine.

Çünkü bu 67j60 yavaş bir işlemci, ve ethernet hızıda enc28j60 ile aynı. Donanımdan tasarruf diye bakılıyor ama, dikkat edersen bunun çevre birimleri ile enc ninkiler yine aynı. Güzel bir işlemci ile kod yazıp, ethernet tarafını harici bir ethernet donanımı ile spi üzerinden haberleştirmek, kullanacağın işlemciyide rahatlatır hem.

Mehmet abi aslında dediklerine katılıyorum, normalde işimi 18f4620 görebiliyorum ama hafızası 96kb ve bana az geliyor. Hafızası 128kb diye 18f87k22 ile denemeler yaptım ama mikroc'nin kodları çalıştığı halde microchip'in kodları çalışmadı. Bende hem dahili ethernet var hem de 128kb diye 18f67j60'ı deneyim dedim ama bu gidişte onuda bırakacağım. ARM bilsem çok iyi olurdu...

Bu arada TQFP kılıfa minimum devreyi kurdum hala dahili osilatörden çıkamıyor.
Özel mesaj okumuyorum, lütfen göndermeyin.

hasankara

birde aklıma gelmişken, 16f1936 da osccon değişkeninde şöyle bir ayar vardı; dahili osilatör seç veya harici osilatör seç veya config ayarında ne seçiliyse onu seç şeklinde. ben o noktada fazla takılmamıştım. belki sorunun böyle bir durumdan kaynaklı olabilir gibi geldi aklıma.

frederic

ccs c de configrasyonlar kolay, bence bir led yak söndür uygulaması yapıp at işlemciye bakalım ne oluyor.

Gökhan BEKEN

OSCCON ile ilgili hiç bir ayar yapmamıştım ondan olabilir mi acaba? Haftasonu olduğu için deneyemiyorum devre yanımda değil. Yorumlarınızı bekliyorum.

not: datasheet sayfa 53
Özel mesaj okumuyorum, lütfen göndermeyin.