Bazı clon pickit2`lerde olabilen bir eksiklik

Başlatan pcb, 24 Şubat 2011, 20:36:39

Maxim

bunu yurtdışı forumlarınada verelim, birazda onlar tozutsun

teknikelektronikci

Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi, vazifen; Türk İstiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!

pcb

1-2 adet 628A daha buldum ve diğer bilgisayarda başladığım bu programın bir önceki halini yükledim pic bozulmadı, sorun timer1 external clock dahil edilmesi yani portb.7 ve porb.6 ya düşük frekanslı bir kristal bağlanacağı ayarının dahil edilmesi, program ilk hali bu harici kristal den başka benzer durumda.
pic programıda portb.7 ve 6 dan yazıyor, acaba sorun tam olarak bu mu ?

pcb

@MAXIM hocam senin düzelttiğin programı picbasic.org da yayınlıyorum, onlar çözer mutlaka 1-2 de yakarlar işlemcileri.

pcb

evet sorunu tam olarak buldum, timer1
T1OSCEN =   1 ise harici kristal bağlanacak 0 ise bağlanmayacak. 0 yaptığımızda işlemci bozulmuyor ama neden ? harici kristal kullanamayacakmıyız ?

ete

Sorunun kaynağı kesinlikle PORTB.6 ve PORTB.7 pinlerinin aynı zamanda programlamada CLK ve DATA bacağı olarak kullanılması.
Programlama tamamlanır tamamlanmaz pic çalışmakta ve belirtilen pinlerde bir kristal girişi beklenirken data sinyaleri ile çakışmakta ve bu sinyaller pinleri bozmaktadır. Normalde bu çakışmanın olmaması gerekir ancak programlama bacaklarının birisi HIGH da kalıyorsa bu bozulmaya sebep olabilir.  Daha sonrada pic tanınmaz olmaktadır. Burası kesin de neden oluyor bende pek anlamadım.
Ancak daha önce benzer bir sorunu programın ilk çalışma kısmına koymuş olduğum 1000 ms lik bir gecikme ile aşabilmiş idim.
Burada da T1 kristal pinlerini aktif etmeden önce uzunca bir gecikme koyularak bu sorun aşılabilir gibi geliyor bana.
Diğer bir çözümde bu sistemde dahili osc kullanılmamalı yada MCLR pini aktif edilmelidir. Bir şekilde pic in programlamadan sonra çalışmasına engel olunursa bu sorunda ortadan kalkacaktır. Bazı Pickit2 klon larda data ve clk bilgisi 100 ohmluk direnç üzerinden verilmektedir. Orjinalinde sanırım 33 ohm olacak bu direnç.  Belki böyle bir çözümde sorunun aşılmasını sağlayabilir. Sizin Pickit2 de bu dirençler varmıdır acaba?.

Gerçekten ilginç bir durum.

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

pcb

evet sözünü ettiğiniz direnç bendeki pickit 2 de mevcut, klon ama 33ohm kullanmışlar baktım şimdi.

Maxim

bence hiçbir şekilde böyle olmaması lazımdı

Tagli

25 Şubat 2011, 00:04:55 #23 Son düzenlenme: 25 Şubat 2011, 00:09:19 Tagli
OG ve ete durumu açıklamışlar zaten. Bu tür sorunlar dahili osilatör kullanıldığında ve MCLR bacağı I/O olarak ayarlandığında ortaya çıkıyor, ki daha önce de konuşulduğunu hatırlıyorum. PIC bozulmuyor, ama tekrardan programlanamaz oluyor. Bence dandik bir JDM ile bozuk olduğunu düşündüğünüz PIC'leri silmeyi deneyin.

Ekleme: Hatırladığım konu buydu.
Gökçe Tağlıoğlu

pcb

Programın en üst kısımlarına 3 adet 5sn lik gecikme ekledim, harici osilatör aktif olarak hızlı bir şekilde programı yeni 628A ya yükledim sorun olmadı.
harici osilatör programda aktif edilmese bile pickit 2 nin işlemciye bir süre takılı olması ile yazma işlemi yine yapılamıyor, sadece bu işlemcide gördüm bunu, program yüklenecek kartı resetlemek gerekli, üstad ların dediği gibi işlemci, pickit beslemesiyle çalışıyor ve 1-2 dak sonra yüklemeyi kabul etmeyebiliyor.
@MAXIM in dediği gibi böyle olmamalıydı.
yardımcı olan arkadaş ve ustalara çok teşekkür ederim.

Maxim

25 Şubat 2011, 00:22:57 #25 Son düzenlenme: 25 Şubat 2011, 00:49:33 Maxim
Alıntı yapılan: Tagli - 25 Şubat 2011, 00:04:55
OG ve ete durumu açıklamışlar zaten. Bu tür sorunlar dahili osilatör kullanıldığında ve MCLR bacağı I/O olarak ayarlandığında ortaya çıkıyor, ki daha önce de konuşulduğunu hatırlıyorum. PIC bozulmuyor, ama tekrardan programlanamaz oluyor. Bence dandik bir JDM ile bozuk olduğunu düşündüğünüz PIC'leri silmeyi deneyin.

Ekleme: Hatırladığım konu buydu.


@taglı okudum önceki yazılanları ama orada farklı birşey var,
çünkü ben defalarca mclr kapalıyken 16F628A programladım sorunsuzca.


EDIT:
ayrıca o dediğiniz JDM programlayıcıda bulunan VPP before VDD özelliği,
VPP = MCLR değilmi
yani besleme vermeden önce vpp verilmesi
aynı şey pickit2 de de var , mclr sürekli resette tutabiliyorsun programa başlamadan önce
sanırım aynı şey

fatihkuzucu

Alıntı yapılan: ete - 24 Şubat 2011, 23:48:57Bazı Pickit2 klon larda data ve clk bilgisi 100 ohmluk direnç üzerinden verilmektedir. Orjinalinde sanırım 33 ohm olacak bu direnç.


O direnclerin pek önemi yoktur. Orijinal semada eskiden 330R du sonra bir errata ile 33R yaptılar. 100R yada 0R da takılsa önemli fark olmaz.
Exp.Kits http://tinyurl.com/3qhs8pm   Küçük adamların, küçük fikirleri... Büyük adamların, büyük hayalleri...

Tagli

Alıntı yapılan: Maxim - 25 Şubat 2011, 00:22:57yani besleme vermeden önce vpp verilmesi aynı şey pickit2 de de var , mclr sürekli resette tutabiliyorsun programa başlamadan önce
sanırım aynı şey
Yanlış anlamadıysam, PIC resette tutulmuyor o durumda, daha doğrusu tutulamıyor çünkü ortada bir reset bacağı yok. Ama besleme voltajı geldiğinde MCLR'da VPP olduğundan, PIC çalışmaya başlayamadan programlama moduna giriyor. Ama bunun bir şartı da clock ve data bacaklarının da uygun durumda olması. VDD önce gelirse PIC çalışmaya başlıyor ve VPP gelene kadar bu bacaklarla oynamışsa programlama moduna giremiyor. Benim anladığım bu ama yanılıyor olabilirim.

Programın hex dosyasını eklerseniz yarın akşama kadar ben de bir denerim. Benim de kaşıntım tuttu :) Gerçi elimde galiba 16F628A kalmamıştı ama 2-3 tane 16F627A olsa gerek...
Gökçe Tağlıoğlu

Maxim

16F628A_BOZAN.hex


:0200000038289E
:08000800FF0003088301FE0064
:100010000408FC000A08FD0000308A008D289818AA
:10002000181218168C1E12281A0803143428A3015B
:10003000A200FF30A207031CA307031C34280330CF
:10004000A100E63025201928A101FC3EA000A1094D
:10005000031C3028FF300000A00703182B28A0073E
:100060000000A10F2A28080083138312031308003D
:1000700083168130990020309800831290309800C8
:10008000FF3083168500803086002030990083126F
:10009000981718139812181698111811981018100C
:1000A0008316181098101811181298161813981310
:1000B0008C1683128C12831686140B178B138312E3
:1000C0001014901410111011901510129012831624
:1000D0000C1483120C10FF30831685008312A701C5
:1000E000A60164308A011720FF308F00FA308E009D
:1000F0008B170130A100F4308A0125208A110A12E1
:100100008C1E8B288C128A010F20A4008A010F20DC
:10011000A5008A017E288A0178280C102708260469
:100120008A110A12031D9E28F9308F0098308E0024
:10013000A7010130A6008A110A12AA282603270463
:100140008A110A12031DAA28F9308F0098308E00F8
:10015000A701A6017D088A007C0884007E08830030
:0A016000FF0E7F0E09008A01B3288C
:02400E00183F59
:00000001FF

vebsel