İçindekiler:

PIC Mikrodenetleyiciler için ICSP'yi Anlamak: 4 Adım (Resimlerle)
PIC Mikrodenetleyiciler için ICSP'yi Anlamak: 4 Adım (Resimlerle)

Video: PIC Mikrodenetleyiciler için ICSP'yi Anlamak: 4 Adım (Resimlerle)

Video: PIC Mikrodenetleyiciler için ICSP'yi Anlamak: 4 Adım (Resimlerle)
Video: Nostalji Köşesi : İlk öğrendiğim mikrodenetleyiciler: PIC'ler 2024, Temmuz
Anonim
PIC Mikrodenetleyicileri için ICSP'yi Anlamak
PIC Mikrodenetleyicileri için ICSP'yi Anlamak

Mikrodenetleyicileri programlamak zor değil. Bir programcı inşa etmek harika bir ilk elektronik projesidir. Bu talimatın amacı, Microchip PIC'ler ile kullanılan basit 'devre içi seri programlama' yöntemini açıklamaktır.

Adım 1: Neden ICSP?

Neden ICSP?
Neden ICSP?

Büyük bir DIP (delikten geçen) çipi programlamak kolaydır. Soketli bir programlayıcıya yerleştirin, yakın ve uygulama devresine geri dönün. Test edin ve tekrarlayın.

Daha küçük (yüzeye monte) yongalarla işler daha da zorlaşıyor. QFN, SSOP, QFP ve hatta büyük SOIC.300 paketleri için standart soket yoktur. Bu çiplere bağlanabilen ve programlanabilen gerçekten pahalı (100 dolar) klipler var. Kullandığınız her chip türü ve pin sayısı için farklı bir klips gerekir. Bir alternatif var. Adı ICSP. ICSP, 'devrede seri programlayıcı(ing?)' anlamına gelir. Uygulama devresine bağlıyken bir PIC'yi programlamanın bir yoludur. Bu doğru, artık çip değişimi yok. Neden ICSP? 1. Küçük paket çipler için programlama soketi yoktur. Klipler pahalıdır. 2. Geliştirme sırasında çipleri programlayıcının içine ve dışına taşımak acı vericidir. Yüzeye monte parçalar için imkansız.

Adım 2: ICSP Nedir?

ICSP Nedir?
ICSP Nedir?
ICSP Nedir?
ICSP Nedir?
ICSP Nedir?
ICSP Nedir?
ICSP Nedir?
ICSP Nedir?

Bir uygulama devresine bağlıyken bir PIC'yi programlamak için beş bağlantı gereklidir. Bu bağlantıyı hızlı ve kolay hale getirmek için devre kartlarıma 5 pinli bir başlık ekliyorum. PIC programlamanın temelleri. Bir PIC'yi programlamak için beş bağlantı gereklidir. Güç, toprak, bir programlama voltajı, saat ve veri.+ (Vdd)/-(Vss) Bunlar güç ve toprak bağlantılarıdır (Vdd, Vss). Oldukça standart. 'Gerçek' voltaj seviyelerine sahip bir programlayıcı kullanıyorsanız (JDM2 DEĞİL!), uygulamanız programlandığında bu bağlantıları ortadan kaldırarak kendi güç kaynağından çalışabilir. Vpp Bu, programlama voltajıdır. PIC'ler, MCLR/Vpp pimine ~13 volt yerleştirildiğinde programlama moduna girer (genellikle modern PIC'lerde pim 1, daha fazlası aşağıdadır). Saat/Veri veya PGC/PGD Saat ve veri hatları PIC'yi yazmak ve okumak için kullanılır bellenim. Bunlar genellikle PORTB6 ve PORTB7 ile aynı pinlerdir. Alıştırma: Aşağıdaki resimlerde PIC'ler üzerindeki ICSP bağlantı noktalarını belirleyin. PIC uyuyorsa, onu takın. Talimatlarla ilgili JDM2 tasarımım hakkında birçok soru alıyorum. En sık "PIC X programlayacak mı?""' şeklindedir - işte bunu nasıl anlayabilirsiniz: 1) Veri sayfasına bakın. Aşağıdaki resme benzeyen 'Pin Şeması'nı bulun.2) Programlama için bağlanması gereken pinlerin (Vpp, Vdd, Vss, Data, & Clock) yerini belirleyin.3) Üzerindeki soket bağlantısına bakın. programcı. Gerekli pinleri programlayıcıdaki bir soketle eşleştirebilir misiniz?

Adım 3: Nasıl ICSP?

Nasıl ICSP?
Nasıl ICSP?
Nasıl ICSP?
Nasıl ICSP?
Nasıl ICSP?
Nasıl ICSP?
Nasıl ICSP?
Nasıl ICSP?

Tasarımınıza bağlı olarak artık gerekli tüm bağlantıları yapabilir ve PIC'inizi programlayabilirsiniz. Bilmeniz gereken birkaç yakalama var. ICSP için tasarım önemlidir. Microchip, ICSP için tasarım hakkında güzel bir PDF uygulama notu sağlar. https://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en011744İşte önceki talimatlarımdan bazı ipuçları ve ICSP tasarım örnekleri. Tip #1, Tehdit düzeyi: ÖnemliSAAT'e başka hiçbir şey bağlamayın ve DATA pinleri (genellikle RB6 & RB7, PGC & PGD). Sadece yapma. Çok zeki mühendislik tiplerinin paçayı sıyırdığı ama yapmadığı durumlar vardır. Pimlere bağlı bileşenler, saati ve veri sinyallerini çarpıtarak öngörülemeyen programlamaya neden olur. Ek olarak, bir devre içi seri hata ayıklayıcı kullanmak isterseniz, yapamazsınız. Sadece bunu yapmayın. İpucu #2 Tehdit seviyesi: PatlayıcıHer zaman programlama voltajı ile sistem voltajı arasında bir diyot kullanın. Bir PIC'de MCLR (master clear) kullanıyorsanız, 10Kish'lik bir direnç aracılığıyla MCLR pinine biraz voltaj sağlamalısınız. Bu aynı zamanda programlama moduna girmek için ~13 volt uygulayacağınız pindir. Direnç ile MCLR/Vpp pin arasına 1n4148 (eşdeğer) diyot koydum (şemada ve aşağıda gösterildiği gibi). Bu, programlama voltajını Vpp pininde tutar ve kartınızdaki diğer bileşenlerin tahrip olmasını önler. Tip #3 Tehdit seviyesi: (yeniden)yorgunDüşük voltaj programlaması sizi engelliyor dostum. LVP ile hiç başarılı olamadım. Kendi gözlerimle (sürekli) çalıştığını hiç görmedim. Sadece mermiyi ısır ve bir JDM2 programcısı oluşturmak için 2,50 dolar harca.

Adım 4: ICSP Programcıları

ICSP Programcıları
ICSP Programcıları
ICSP Programcıları
ICSP Programcıları

ICSP, farklı bir programlama protokolü gerektirmez. Soket tabanlı bir programcı gerekli sinyali zaten üretir, ancak kablolar yerine sokete gönderir. Çoğu soket programcısı, kabloları soketten uygulama devresine bağlayarak bir ICSP olarak kullanılabilir. Örneğin, orijinal JDM2 programcısı (burada: https://www.jdm.homepage.dk/newpic.htm) kullanılabilir. Gerekli 5 sinyali bir başlığa getirerek ICSP programlaması yapın. Bu, programcıda burada görülebilir: https://www.belza.cz/digital/jdm.htm. İşleri el altında tutmak için bu tasarımı Eagle Cad'de yeniden yaptım ve bu talimata ekledim. Transistörün yönünü izleyin, ayak izlerinden biri yanlış olabilir (bunu bir yıldan fazla bir süre önce yaptım, artık hatırlamıyorum). Benzer şekilde, güncellenmiş JDM2 programlayıcım (burada: https://www.instructables.com/id/EN28KZDDYVEP286GRI/), kabloları DIP soketlerine yapıştırarak ve bunları hedef PIC'ye bağlayarak ICSP için kullanılabilir. *****JDM2'ler korkak voltajlar kullanır…devreye uygulama devresine bağlı harici güç (veya hatta toprak) OLMADAN bağlayın. Güç uygulamadan önce ICSP bağlantılarını çıkarın. Bunu yapmamak yıkıcı değildir, ancak başarısız programlamaya neden olacaktır******** Diğer bir seçenek (yarı) uygun bir ICD programlayıcıdır. ICD, kodda kesme noktaları ayarlayarak veya bellek ve bağlantı noktası değerlerini okuyarak PIC'nizde ürün yazılımının yürütülmesini kontrol etmenizi sağlar. Bir ICD ayrıca kodun yürütülmesini canlandırabilir, uygulama devresine güç sağlayabilir ve PIC'yi programlayabilir. Bütün bunları tartıştığımız aynı 5 pinli ICSP bağlantısı üzerinden yapıyor. Kendiniz yapabileceğiniz birkaç ICSP klonu burada görülebilir: https://www.icd2clone.com/wiki/Main_Page. PiCS'yi (rev B) birkaç ay önce kurdum ve sevdim.

Önerilen: