Şemalar ve materyaller. Programlayıcı donanım yazılımını güncelleme

Tıpkı bir tiyatronun askıyla başlaması gibi, mikrodenetleyicilerin programlanması da iyi bir programcının seçilmesiyle başlar. Şirketin mikrokontrolörlerinde uzmanlaşmaya başladığımdan beri ATMEL, daha sonra üreticilerin sunduklarını iyice tanımam gerekiyordu. Pek çok ilginç ve lezzetli şeyi sadece fahiş fiyatlarla sunuyorlar. Örneğin, koşum takımı olarak bir çift direnç ve diyot içeren yirmi bacaklı bir mikro denetleyiciye sahip bir eşarp, bir "uçak" gibi maliyetlidir. Bu nedenle programcının kendi kendine montajı sorunu ortaya çıktı. Deneyimli radyo amatörlerinin gelişmeleri üzerine uzun bir çalışmanın ardından kendini kanıtlamış bir programcının bir araya getirilmesine karar verildi. USBASP beyni bir mikrodenetleyici olanAtmega8 (atmega88 ve atmega48 için donanım yazılımı seçenekleri de vardır). Mikrodenetleyicinin minimum kablolaması, bir flash sürücü gibi her zaman yanınızda taşıyabileceğiniz oldukça minyatür bir programlayıcıyı birleştirmenize olanak tanır.

Minyatür bir programlayıcının montajına karar verildiğinde, kasadaki Atmega8 mikrokontrolcünün devresini yeniden çizdim. TQFP32(mikro denetleyicinin pin çıkışı DIP paketindeki pin çıkışından farklıdır):

Jumper J1, saat frekansı 1,5 MHz'in altında olan bir mikro denetleyicinin flaşlanması gerekiyorsa kullanılır. Bu arada MK'nin 25. ayağının yere konulmasıyla bu jumper tamamen ortadan kaldırılabilir. Daha sonra programcı her zaman azaltılmış bir frekansta çalışacaktır. Şahsen, düşük hızda programlamanın bir saniyeden daha uzun sürdüğünü fark ettim ve bu nedenle artık atlayıcıyı çekmiyorum, sürekli onunla dikiyorum.
Zener diyotları D1 ve D2, programlayıcı ile USB veri yolu arasındaki seviyeleri eşleştirmek için kullanılır, onlar olmadan çalışır, ancak tüm bilgisayarlarda çalışmaz.
Mavi LED devrenin programlanmaya hazır olduğunu gösterir; kırmızı LED programlama sırasında yanar. Programlama kontakları IDC-06 konnektöründe bulunur, pin çıkışı 6 pinli ISP konnektörü için ATMEL standardına uygundur:


Bu konektör, programlanabilir cihazlara güç sağlamak için kontaklar içerir; burada doğrudan bilgisayarın USB bağlantı noktasından alınır, bu nedenle dikkatli olmanız ve kısa devrelerden kaçınmanız gerekir. Aynı konnektör aynı zamanda kontrol mikrokontrolörünün programlanması için de kullanılır; bunu yapmak için konnektör ve mikrokontrolör üzerindeki Reset pinlerini bağlamanız yeterlidir (şemadaki kırmızı noktalı çizgiye bakın). Yazarın devresinde bu bir jumper ile yapılıyor ama ben tahtayı karıştırmadım ve çıkardım. Tek bir ürün yazılımı için basit bir kablo köprüsü yeterli olacaktır. Tahtanın 45x18 mm ölçülerinde çift taraflı olduğu ortaya çıktı.


Programlayıcının hızını azaltmak için programlama konektörü ve bir atlama teli cihazın sonunda bulunur, bu çok kullanışlıdır


Kontrol mikrodenetleyicisinin bellenimi

Yani cihazı monte ettikten sonra geriye kalan en önemli şey kontrol mikrodenetleyicisinin flaşlanmasıdır. Hala LPT bağlantı noktasına sahip bilgisayarları olan arkadaşlar bu amaçlar için çok uygundur :)AVR için en basit beş kablolu programlayıcı
Mikrokontrolcünün Reset pinleri (29 bacak) ve konnektör bağlanarak programlama konnektöründen mikrokontrolcü flaşlanabilir. Atmega48, Atmega8 ve Atmega88 modelleri için ürün yazılımı mevcuttur. Atmega48 sürümü desteği durdurulduğundan ve en son aygıt yazılımı sürümü 2009'a dayandığından son iki taştan birinin kullanılması tavsiye edilir. Ve 8. ve 88. taşların versiyonları sürekli güncelleniyor ve yazar, işlevselliğe bir devre içi hata ayıklayıcı eklemeyi planlıyor gibi görünüyor. Firmware'i Almanca sayfasından alıyoruz. Kontrol programını mikrodenetleyiciye yüklemek için PonyProg programını kullandım. Programlama sırasında kristalin 12 MHz'de harici bir saat kaynağından çalışacak şekilde ayarlanması gerekir. PonyProg'da sigorta jumper ayarlarının bulunduğu programın ekran görüntüsü:


Firmware'i yükledikten sonra mikro denetleyicinin 23. ayağına bağlı LED yanmalıdır. Bu, programlayıcının başarıyla programlandığına ve kullanıma hazır olduğuna dair kesin bir işaret olacaktır.

Sürücü kurulumu

Kurulum Windows 7 yüklü bir makinede gerçekleştirildi ve herhangi bir sorun yaşanmadı. Bilgisayarınıza ilk kez bağlandığınızda, yeni bir aygıtın algılandığını belirten ve sürücüyü yüklemenizi isteyen bir mesaj görünecektir. Belirtilen konumdan kurulumu seçin:


Yakacak odunun bulunduğu klasörü seçin ve İleri'ye tıklayın.


Yüklenen sürücünün küçük yazılımlar için dijital imzası olmadığını belirten bir uyarı içeren bir pencere anında görünecektir:


Uyarıyı dikkate almayıp kuruluma devam ediyoruz, kısa bir aradan sonra sürücü kurulum işleminin başarıyla tamamlandığını bildiren bir pencere açılacaktır.


İşte bu, programcı artık kullanıma hazır.

Khazama AVR Programcısı

Programcıyla çalışmak için Khazama AVR Programlayıcı flaşörünü seçtim. Minimalist bir arayüze sahip harika bir program.


Tüm popüler AVR mikro denetleyicileriyle çalışır, flaş ve eeprom flaşlamanıza, bellek içeriğini görüntülemenize, çipi silmenize ve ayrıca sigorta bitlerinin yapılandırmasını değiştirmenize olanak tanır. Genel olarak tamamen standart bir set. Sigorta ayarı, açılır listeden saat kaynağı seçilerek gerçekleştirilir, böylece kristalin yanlışlıkla kilitlenme olasılığı büyük ölçüde azalır. Alt alana onay kutuları konularak sigortalar da değiştirilebilir, ancak var olmayan bir konfigürasyona onay kutuları yerleştiremezsiniz, bu da güvenlik açısından büyük bir artı.


Sigortalar tahmin edebileceğiniz gibi Tümünü Yaz düğmesine basılarak MK hafızasına yazılır. Kaydet düğmesi geçerli yapılandırmayı kaydeder ve Yükle düğmesi kaydedilen yapılandırmayı döndürür. Doğru, bu düğmelerin pratik bir kullanımını bulamadım. Varsayılan düğmesi, mikro denetleyicilerin fabrikadan geldiği standart sigorta yapılandırmasını (genellikle dahili RC'den 1 MHz) kaydetmek için tasarlanmıştır.
Genel olarak bu programlayıcıyı kullandığım tüm süre boyunca stabilite ve çalışma hızı açısından en iyisi olduğunu gösterdi. Hem eski bir masaüstü bilgisayarda hem de yeni bir dizüstü bilgisayarda sorunsuz çalıştı.

PCB dosyasını indirinSprintLayout'ta bu bağlantıyı takip edebilirsiniz

Bir radyo amatörünün bir mikrodenetleyici üzerine bir devre kurmaya karar vermesi durumunda ilk hangi adımları atması gerekir? Doğal olarak, bir programcının yanı sıra bir kontrol programına da ihtiyaç vardır - "ürün yazılımı".

Ve ilk noktada herhangi bir sorun yoksa - bitmiş "ürün yazılımı" genellikle devre yazarları tarafından yüklenir, o zaman programcıyla işler daha karmaşıktır.

Hazır USB programlayıcıların fiyatı oldukça yüksektir ve en iyi çözüm, onu kendiniz monte etmeniz olacaktır. Burada önerilen cihazın bir diyagramı verilmiştir (resimler tıklanabilir).

Ana bölüm.

MK kurulum paneli.

Orijinal diyagram, yazarın izniyle LabKit.ru web sitesinden alınmıştır ve kendisine çok teşekkür ederiz. Bu, tescilli PICkit2 programcısının sözde klonudur. Cihaz sürümü, tescilli PICkit2'nin "hafif" bir kopyası olduğundan, yazar, geliştirmesini şu şekilde adlandırdı: PICkit-2 Lite Yeni başlayan radyo amatörleri için böyle bir cihazın montaj kolaylığını vurgulayan.

Bir programcı ne yapabilir? Programlayıcıyı kullanarak, en kolay bulunabilen ve popüler PIC serisi MCU'ları (PIC16F84A, PIC16F628A, PIC12F629, PIC12F675, PIC16F877A, vb.) ve ayrıca 24LC serisi EEPROM bellek yongalarını flaşlayabilirsiniz. Ayrıca programcı USB-UART dönüştürücü modunda çalışabilir ve lojik analizörün bazı fonksiyonlarına sahiptir. Programcının sahip olduğu özellikle önemli bir işlev, bazı MCU'ların (örneğin, PIC12F629 ve PIC12F675 gibi) yerleşik RC jeneratörünün kalibrasyon sabitinin hesaplanmasıdır.

Gerekli değişiklikler.

PICkit-2 Lite programlayıcısını kullanarak 24Cxx serisi EEPROM bellek yongalarından veri yazmak/silmek/okumak mümkün olacak şekilde devrede gerekli olan bazı değişiklikler vardır.

Şemada yapılan değişikliklerden. DD1'in (RA4) pin 6'sından ZIF panelinin pin 21'ine bağlantı eklendi. AUX pini yalnızca 24LC EEPROM bellek yongalarıyla (24C04, 24WC08 ve analogları) çalışmak için kullanılır. Verileri iletir, bu nedenle programlama paneli şemasında "Veri" kelimesiyle işaretlenmiştir. Mikrodenetleyicileri programlarken, AUX pini genellikle kullanılmaz, ancak MK'leri LVP modunda programlarken gerekli olur.

Bellek yongalarının SDA ve Vcc pinleri arasına bağlanan 2 kOhm'luk bir çekme direnci de eklenmiştir.

PICkit-2 Lite'ı yazarın orijinal şemasına göre monte ettikten sonra tüm bu değişiklikleri baskılı devre kartı üzerinde zaten yaptım.

24Cxx bellek yongaları (24C08, vb.) ev tipi radyo ekipmanlarında yaygın olarak kullanılmaktadır ve bazen örneğin CRT TV'leri onarırken bunların flaş edilmesi gerekir. Ayarları saklamak için 24Cxx belleği kullanırlar.

LCD TV'ler farklı türde bir bellek (Flash bellek) kullanır. Bir LCD TV'nin hafızasının nasıl flaş edileceğinden daha önce bahsetmiştim. İlgilenen varsa bir göz atsın.

24Cxx serisi mikro devrelerle çalışma ihtiyacı nedeniyle programlayıcıyı "bitirmek" zorunda kaldım. Yeni bir baskılı devre kartını gravürlemedim, sadece gerekli elemanları baskılı devre kartına ekledim. Olan şey bu.

Cihazın çekirdeği bir mikrodenetleyicidir PIC18F2550-I/SP.

Bu cihazdaki tek çiptir. MK PIC18F2550'nin "flaşlanması" gerekiyor. Bu basit işlem birçok kişinin kafasını karıştırıyor ve "tavuk ve yumurta" sorunu ortaya çıkıyor. Biraz sonra nasıl çözdüğümü anlatacağım.

Programlayıcının montajı için parçaların listesi. Mobil sürümde, tüm sütunlarını görmek için tabloyu sola sürükleyin (sola-sağa kaydırın).

İsim Tanım Derecelendirme/Parametreler Marka veya ürün türü
Programcının ana kısmı için
Mikrodenetleyici GG1 8 bitlik mikrodenetleyici PIC18F2550-I/SP
Bipolar transistörler VT1, VT2, VT3 KT3102
VT4 KT361
Diyot VD1 KD522, 1N4148
Schottky diyot VD2 1N5817
LED'ler HL1, HL2 herhangi bir 3 volt, kırmızı Ve yeşil parlak renkler
Dirençler R1, R2 300Ohm
R3 22 kOhm
R4 1 kOhm
R5, R6, R12 10 kOhm
R7, R8, R14 100Ohm
R9, R10, R15, R16 4,7 kOhm
R11 2,7 kOhm
R13 100 kOhm
Kondansatörler C2 0,1 µ K10-17 (seramik), ithal analoglar
C3 0,47 mikron
Elektrolitik kapasitörler C1 100uF * 6,3V K50-6, ithal analoglar
C4 47 uF * 16 V
İndüktör (şok) L1 680 µH birleşik tip EC24, CECL veya ev yapımı
Kuvars rezonatör ZQ1 20 MHz
USB soketi XS1 USB-BF yazın
Tulum XT1 her türlü "jumper"
Mikrodenetleyici kurulum paneli için (MK)
ZIF paneli XS1 herhangi bir 40 pinli ZIF paneli
Dirençler R1 2 kOhm MLT, MON (0,125 W ve üzeri güç), ithal analoglar
R2, R3, R4, R5, R6 10 kOhm

Şimdi biraz ayrıntılar ve amaçları hakkında.

Yeşil Programlayıcıya güç uygulandığında LED HL1 yanar ve kırmızı HL2 LED'i, bilgisayar ile programlayıcı arasında veri aktarıldığında yanar.

Cihaza çok yönlülük ve güvenilirlik kazandırmak için XS1 tipi “B” (kare) USB soketi kullanılır. Bilgisayar A Tipi bir USB soketi kullanır. Bu nedenle bağlantı kablosunun soketlerinin karıştırılması mümkün değildir. Bu çözüm aynı zamanda cihazın güvenilirliğine de katkıda bulunur. Kablo kullanılamaz hale gelirse lehimleme veya montaj işine gerek kalmadan kolayca yenisiyle değiştirilebilir.

680 µH indüktör L1 olarak hazır olanı (örneğin EC24 veya CECL tipleri) kullanmak daha iyidir. Ancak bitmiş bir ürün bulamazsanız gazı kendiniz yapabilirsiniz. Bunu yapmak için, CW68 tipi bir indüktörden bir ferrit çekirdeğe 250 - 300 tur PEL-0.1 tel sarmanız gerekir. Geri beslemeli PWM'nin varlığı nedeniyle endüktans derecesinin doğruluğu konusunda endişelenmenize gerek olmadığını düşünmeye değer.

Yüksek voltaj programlaması (Vpp) için +8,5 ila 14 volt arasındaki voltaj, anahtar regülatör tarafından oluşturulur. VT1, VD1, L1, C4, R4, R10, R11 elemanlarını içerir. PWM darbeleri PIC18F2550'nin 12 numaralı pininden VT1 tabanına gönderilir. Geri bildirim R10, R11 bölücü tarafından sağlanır.

ICSP (Devre İçi Seri Programlama) modunda bir USB programlayıcı kullanıldığında devre elemanlarını programlama hatlarından gelen ters voltajdan korumak için bir VD2 diyot kullanılır. VD2 bir Schottky diyotudur. P-N bağlantısında 0,45 volttan fazla olmayan bir voltaj düşüşü ile seçilmelidir. Ayrıca VD2 diyot, programlayıcı USB-UART dönüşümü ve mantık analizörü modunda kullanıldığında elemanları ters voltajdan korur.

Programlayıcıyı yalnızca paneldeki mikro denetleyicileri programlamak için kullanırken (ICSP kullanmadan), VD2 diyotunu tamamen ortadan kaldırabilirsiniz (ben de öyle yaptım) ve bunun yerine bir jumper takabilirsiniz.

Cihazın kompaktlığı, evrensel ZIF paneli (Sıfır Yerleştirme Kuvveti - sıfır kurulum çabasıyla) tarafından sağlanır.

Bu sayede bir mikrodenetleyiciyi hemen hemen her DIP paketine "bağlayabilirsiniz".

"Mikrokontrolör (MK) kurulum paneli" şeması, farklı muhafazalara sahip mikrokontrolörlerin panele nasıl takılması gerektiğini gösterir. MK'yi takarken paneldeki mikro denetleyicinin çip üzerindeki anahtarın ZIF paneli kilitleme kolunun yanında olacak şekilde konumlandırılmasına dikkat etmelisiniz.

18 pinli mikrodenetleyicileri (PIC16F84A, PIC16F628A, vb.) bu şekilde kurmanız gerekir.

Ve işte 8 pinli mikrodenetleyiciler (PIC12F675, PIC12F629, vb.).

Yüzeye monte pakette (SOIC) bir mikro denetleyiciyi flaşlamanız gerekiyorsa, bir adaptör kullanabilir veya genellikle programlama için gerekli olan (Vpp, Clock, Data, Vcc, GND) mikro denetleyiciye 5 pini lehimleyebilirsiniz.

Baskılı devre kartının bitmiş çizimini tüm değişikliklerle birlikte makalenin sonundaki bağlantıda bulabilirsiniz. Dosyayı Sprint Layout 5.0 programında "Yazdır" modunu kullanarak açarak, yalnızca baskılı iletken desenli bir katmanı yazdırmakla kalmaz, aynı zamanda baskılı devre kartı üzerindeki elemanların konumunu da görüntüleyebilirsiniz. DD1'in pin 6'sını ve ZIF panelinin pin 21'ini bağlayan izole edilmiş jumper'a dikkat edin. Tahta çizimini yazdırmanız gerekiyor ayna görüntüsünde.

LUT yöntemini kullanarak bir baskılı devre kartı yapabileceğiniz gibi, tsaponlak (ben de öyle yaptım) veya "kalem" yöntemini kullanarak baskılı devre kartları için bir işaretleyici yapabilirsiniz.

Burada, baskılı devre kartı üzerindeki elemanların konumlandırılmasının bir resmi bulunmaktadır (tıklanabilir).

Kurulum sırasında ilk adım, kalaylı bakır telden yapılmış atlama tellerini lehimlemek, ardından düşük profilli elemanları (dirençler, kapasitörler, kuvars, ISCP pin konektörü), ardından transistörleri ve programlanmış bir MK'yi kurmaktır. Son adım, ZIF panelini, USB soketini takmak ve kabloları yalıtıma (atlama telleri) yalıtmaktır.

PIC18F2550 mikrodenetleyicinin "Firmware'i".

Ürün yazılımı dosyası - PK2V023200.hex PIC mikrodenetleyicilerini destekleyen herhangi bir programlayıcıyı (örneğin Extra-PIC) kullanarak PIC18F2550I-SP MK'yi belleğe yazmanız gerekir. JDM Programmator JONIC PROG'u ve programı kullandım WinPic800.

Firmware'i PIC18F2550 MCU'ya aynı tescilli programlayıcı PICkit2'yi veya onun yeni PICkit3 sürümünü kullanarak yükleyebilirsiniz. Doğal olarak, eğer arkadaşlarınızdan biri sizden önce monte etmeyi başarmışsa, bunu ev yapımı bir PICkit-2 Lite ile yapabilirsiniz :).

Ayrıca PIC18F2550-I/SP mikrokontrolcünün (dosya) “ürün yazılımının” PK2V023200.hex) PICkit 2 Programcı programını programın dosyalarıyla birlikte bir klasöre yüklerken yazılır. PK2V023200.hex dosyasının yaklaşık konumu - "C:\Program Dosyaları (x86)\Microchip\PICkit 2 v2\PK2V023200.hex" . Bilgisayarlarında Windows'un 32 bit sürümü yüklü olanlar için konum yolu farklı olacaktır: "C:\Program Dosyaları\Microchip\PICkit 2 v2\PK2V023200.hex" .

Önerilen yöntemleri kullanarak "tavuk ve yumurta" problemini çözemediyseniz, AliExpress web sitesinden hazır bir PICkit3 programcısı satın alabilirsiniz. Orada çok daha ucuza mal oluyor. AliExpress'ten parça ve elektronik kitlerin nasıl satın alınacağını yazdım.

Programlayıcı donanım yazılımının güncellenmesi.

İlerleme durmuyor ve zaman zaman Microchip, PICkit2, PICkit3 programcısı da dahil olmak üzere yazılımı için güncellemeler yayınlıyor. Doğal olarak ev yapımı PICkit-2 Lite'ımızın kontrol programını da güncelleyebiliriz. Bunu yapmak için PICkit2 Programcı programına ihtiyacınız olacak. Nedir ve nasıl kullanılır - biraz sonra. Bu arada, ürün yazılımını güncellemek için yapılması gerekenler hakkında birkaç söz.

Programlayıcı yazılımını güncellemek için, bilgisayarla bağlantısı kesildiğinde programlayıcı üzerindeki XT1 atlama kablosunu kapatmalısınız. Daha sonra programlayıcıyı PC'ye bağlayın ve PICkit2 Programlayıcı'yı başlatın. XT1 kapatıldığında mod etkinleştirilir önyükleyici Yeni ürün yazılımı sürümünü indirmek için. Daha sonra PICkit2 Programlayıcı'da "Araçlar" - "PICkit 2 İşletim Sistemini İndir" menüsünden güncellenen bellenimin önceden hazırlanmış hex dosyasını açın. Daha sonra programcı yazılımı güncelleme işlemi gerçekleşecektir.

Güncellemeden sonra programlayıcının bilgisayarla olan bağlantısını kesmeniz ve XT1 atlama kablosunu çıkarmanız gerekir. Normal modda atlama kablosu açıktır. PICkit2 Programcı programındaki "Yardım" - "Hakkında" menüsünden programcı yazılımının sürümünü öğrenebilirsiniz.

Bunların hepsi teknik konularla ilgili. Ve şimdi yazılım hakkında.

Programcıyla birlikte çalışmak. PICkit2 Programcısı.

USB programlayıcı ile çalışmak için bilgisayara PICkit2 Programmer programını kurmamız gerekecek. Bu özel programın basit bir arayüzü vardır, kurulumu kolaydır ve özel konfigürasyon gerektirmez. MPLAB IDE geliştirme ortamını kullanarak programcıyla çalışabileceğinizi belirtmekte fayda var, ancak MK'yi flaşlamak/silmek/okumak için basit bir program - PICkit2 Programcı yeterlidir. Ben tavsiye ediyorum.

PICkit2 Programmer programını kurduktan sonra montajı yapılan USB programlayıcıyı bilgisayara bağlayın. Aynı zamanda yanacak yeşil LED (“güç”) ve işletim sistemi cihazı "PICkit2 Mikrodenetleyici Programcısı" ve sürücüleri yükleyin.

PICkit2 Programcı programını başlatın. Program penceresinde bir yazı görünmelidir.

Programcı bağlı değilse, program penceresinde korkutucu bir mesaj ve kısa talimatlar "Ne yapmalı?" İngilizce.

Programcı MK kurulu bir bilgisayara bağlıysa, program başlatıldığında bunu algılayacak ve PICkit2 Programcı penceresinde bu konuda bize bilgi verecektir.

Tebrikler! İlk adım atıldı. Ve PICkit2 Programmer programının nasıl kullanılacağını ayrı bir yazıda anlatmıştım. Sonraki adım .

Gerekli dosyalar:

    PICkit2 Kullanım Kılavuzunu (Rusça) alın veya.

Bilgisayar teknolojisinin gelişmesiyle birlikte, COM ve LPT bağlantı noktalarıyla donatılmış bilgisayarların sayısı her geçen gün azalıyor. Bu da özellikle radyo amatörleri için mikrodenetleyici programlama araçlarının kişisel bir bilgisayarla eşleştirilmesinde zorluklara neden olur.

Bu makalede, AVR mikrodenetleyicileri için kendi başınıza monte edebileceğiniz bir USB programlayıcı açıklanmaktadır. Atmega8 mikrodenetleyici üzerine kuruludur ve bilgisayarın USB konektöründen çalıştırılabilir. Bu programcı STK500 v2 ile uyumludur.

USB programlayıcının açıklaması

USB programlayıcı, tek taraflı folyo fiberglastan yapılmış bir kart üzerine inşa edilmiştir. Kartta 2 adet jumper bulunmaktadır: biri SPI konnektörünün altında, ikinci jumper ise aynı konnektörün yanında bulunmaktadır.

Tüm parçalar mühürlendikten sonra Atmega8 mikrodenetleyicisini makalenin sonunda verilen firmware ile flaşlamanız gerekir. Atmega8 mikrokontrolcüyü programlarken ayarlanması gereken sigortalar şu şekilde görünmelidir:

  • SUT1 = 0
  • ÇİZMELERZ1 = 0
  • BOOTSZ0 = 0
  • KOPT = 0
  • DÜĞÜN = 0

Bazı programlarda sigorta ayarlarının bunun tersi yönde yapıldığını da unutmamak gerekir. Örneğin, CodeVisionAVR programında yukarıda belirtilen sigortaların yanındaki kutuları işaretlemeniz gerekir; PonyProg programında ise bunun tersi geçerlidir.

Atmega8'i bilgisayarın LPT portu üzerinden programlama

Atmega8'i programlamanın en hızlı ve ucuz yolu AVR için bir LPT programlayıcı kullanmaktır. Benzer bir diyagram aşağıda gösterilmiştir.

Mikrodenetleyici basit bir 78L05 voltaj regülatörü tarafından çalıştırılır. UniProf programını programlama kabuğu olarak kullanabilirsiniz.

Programı ilk açtığınızda ve kumanda bağlı değilken “LPTpins” butonuna basarak LPT port pinlerini aşağıdaki gibi yapılandırmanız gerekmektedir:

UniProf başladığında mikrodenetleyicinin tipini otomatik olarak belirler. Atmega8_USB_prog.hex firmware'ini UniProf hafızasına yüklüyoruz ve EEPROM dosyasının bağlantısını reddediyoruz.

Sigortaları “FUSE” tuşuna basarak (UniProF programı için) aşağıdaki gibi ayarlıyoruz:

Ayarları hatırlamak için üç "Yaz" düğmesinin hepsine basın. Daha sonra “Sil” butonuna tıklayarak öncelikle flashlanan mikrokontrolcünün hafızasını temizliyoruz. Bundan sonra “Prog”a tıklayın ve ürün yazılımının tamamlanmasını bekleyin.

USB programlayıcıyı ayarlama

Mikrodenetleyicimiz flashlandıktan sonra USB programlayıcı kartına takılması gerekmektedir. Daha sonra programlayıcıyı bilgisayarın USB portuna bağlıyoruz ancak henüz güç vermiyoruz.

Bağlantı noktası ayarı:

Terminal kurulumu:

ASCII ayarı:

Artık tüm işlemler tamamlandıktan sonra USB programlayıcıya güç sağlıyoruz. HL1 LED'i 6 kez yanıp sönmeli ve ardından yanık kalmalıdır.

USB programlayıcı ile bilgisayar arasındaki bağlantıyı kontrol etmek için HyperTerminal programında “Enter” tuşuna 2 kez basın. Her şey yolundaysa aşağıdaki resmi görmeliyiz:

Eğer durum böyle değilse kurulumu, özellikle TxD hattını tekrar kontrol edin.

Daha sonra programcının 2.10 sürümüne giriyoruz, çünkü bu olmadan programcı "üst düzey" programlarla çalışmayacaktır. Bunu yapmak için “2” girin ve “Enter” tuşuna basın, “a” (İngilizce) girin ve “Enter” tuşuna basın.

USB programlayıcı, programlanabilir bir mikro denetleyicinin bağlantısını tanıyabilir. Bu, Sıfırlama sinyalinin güç kaynağına "yukarı çekilmesinin" izlenmesi şeklinde yapılır. Bu mod aşağıdaki şekilde açılıp kapatılır:

  • “0”, “Enter” - mod devre dışıdır.
  • “1”, “Enter” - mod etkindir.

Programlama hızı değişimi (1MHz):

  • “0”, “Giriş” – maksimum hız.
  • “1”, “Enter” – azaltılmış hız.

Bu hazırlık çalışmasını tamamlıyor, şimdi bazı mikrodenetleyicileri flaşlamayı deneyebilirsiniz.

(indirilenler: 1.203)

Bir gün pic16f628a için basit bir LC metre toplamaya karar verdim ve doğal olarak bunun bir şeyle parlatılması gerekiyordu. Eskiden fiziksel COM bağlantı noktasına sahip bir bilgisayarım vardı, ancak artık yalnızca USB'm ve pci-lpt-2com kartım var. Başlamak için basit bir JDM programcısı topladım, ancak ortaya çıktığı gibi ne pci-lpt-com kartıyla ne de usb-com adaptörüyle (RS-232 sinyallerinin düşük voltajı) çalışmak istemedi. Sonra USB pic programcılarını aramak için acele ettim, ancak ortaya çıktığı gibi, her şey doğal olarak sahip olmadığım pahalı pic18f2550/4550 kullanımıyla sınırlıydı ve eğer çok istersem bu kadar pahalı MK'leri kullanmak üzücü. zirvelerde nadiren bir şey yaparım (av- Evet, onları flaşlamak sorun değil, çok daha ucuzlar ve bana öyle geliyor ki üzerlerine program yazmak daha kolay). İnternette uzun süre EXTRA-PIC programcısı ve onun çeşitli varyantları hakkındaki birçok makaleyi araştırdıktan sonra yazarlardan biri, extrapic'in herhangi bir com bağlantı noktasıyla ve hatta bir usb-com adaptörüyle çalıştığını yazdı.

Bu programlayıcının devresi max232 mantık seviye dönüştürücüsünü kullanır.

USB adaptörü kullanıyorsanız USB'yi usart TTL'ye, TTL'yi RS232'ye, RS232'yi iki kez TTL seviyelerine dönüştürmenin çok aptalca olacağını düşündüm, eğer USB'den RS232 portunun TTL sinyallerini alabiliyorsanız - usart dönüştürücü çipi

Ben de yaptım. CH340G yongasını (8 com port sinyalinin tümüne sahip olan) aldım ve max232 yerine bağladım. Ve olan da buydu.

Devremde ekstra zirvede olmayan bir jp1 jumper'ı var, onu kurdum çünkü TX çıkışının TTL seviyesinde nasıl davranacağını bilmiyordum, bu yüzden onu kalan boş NAND'a çevirmeyi mümkün kıldım elemanı ve ortaya çıktığı gibi, TX pininde mantıksal bir tane vardı ve bu nedenle açıldığında VPP pininde 12 volt var, ancak programlama sırasında hiçbir şey olmayacak (her ne kadar yazılımda TX'i ters çevirebilseniz de) .

Tahtayı monte ettikten sonra test etme zamanı geldi. Ve işte asıl hayal kırıklığı geldi. Programcı hemen belirlendi (ic-prog programıyla) ve çalışmaya başladı, ama çok yavaş! Prensip olarak - beklendiği gibi. Daha sonra com port ayarlarında maksimum hızı (128 kilobaud) ayarladım ve bulunan tüm programları JDM için test etmeye başladım. Sonuç olarak PicPgm'nin en hızlı olduğu ortaya çıktı. Pic16f628a cihazım tamamen yanıp söndü (hex, eeprom ve config) artı yaklaşık 4-6 dakika boyunca doğrulama yapıldı (okuma yazmaktan daha yavaştır). IcProg da çalışır ancak daha yavaştır. Hiçbir programlama hatası yoktu. Ayrıca eeprom 24c08'i flashlamayı denedim, sonuç aynı - her şey dikiyor ama çok yavaş.

Sonuçlar: programcı oldukça basittir, pahalı parçalar içermez (CH340 - 0,3-0,5 $, k1533la3 genellikle radyo çöpleri arasında bulunabilir), herhangi bir bilgisayarda, dizüstü bilgisayarda çalışır (ve hatta Windows 8/10'da tabletleri bile kullanabilirsiniz) ). Eksileri: çok yavaş. Ayrıca VPP sinyali için harici güç gerektirir. Sonuç olarak, bana öyle geldi ki, tepe noktalarının nadiren yanıp sönmesi için, ellerinde gerekli bağlantı noktalarına sahip eski bir bilgisayarı olmayanlar için bu, tekrarlanması kolay ve ucuz bir seçenektir.

İşte bitmiş cihazın bir fotoğrafı:

Şarkının dediği gibi, "Onu eskiden yarattığım şeyden yarattım." Parça seti çok çeşitlidir: hem SMD hem de DIP.

Devreyi tekrarlamaya cesaret edenler için usb-uart dönüştürücü olarak hemen hemen her şey uygun olacaktır (ft232, pl2303, cp2101 vb.), k1533la3 yerine k555 uygun olacaktır, bence k155 serisi veya yabancı bir analog bile 74als00, k1533ln1 türündeki mantıksal NOT öğeleriyle bile çalışabilir. Kendi baskılı devre kartımı takıyorum, ancak herkes mevcut elemanlara göre kabloları yeniden çizebilir.

Radyo elemanlarının listesi

Tanım Tip Mezhep Miktar NotMağazanot defterim
IC1 YongaCH340G1 Not defterine
IC2 YongaK1533LA31 Not defterine
VR1 Doğrusal regülatör

LM7812

1 Not defterine
VR2 Doğrusal regülatör

LM7805

1 Not defterine
VT1 Bipolar transistör

KT502E

1 Not defterine
VT2 Bipolar transistör

KT3102E

1 Not defterine
VD1-VD3 Doğrultucu diyot

1N4148

2 Not defterine
C1, C2, C5-C7 Kapasitör100 nF5 Not defterine
C3, C4 Kapasitör22pF2 Not defterine
HL1-HL4 Işık yayan diyotHerhangi4 Not defterine
R1, R3, R4 Direnç

1 kOhm

3
22 Eylül 2011, 08:11

AVR mikrokontrolörleri için minyatür USB programlayıcı

  • Mikrodenetleyici programlama

Tıpkı bir tiyatronun askıyla başlaması gibi, mikrodenetleyicilerin programlanması da iyi bir programcının seçilmesiyle başlar. ATMEL'in mikrokontrolörleri konusunda uzmanlaşmaya başladığımdan beri, üreticilerin sunduklarını iyice tanımam gerekiyordu. Pek çok ilginç ve lezzetli şeyi sadece fahiş fiyatlarla sunuyorlar. Örneğin, koşum takımı olarak bir çift direnç ve diyot içeren yirmi bacaklı bir mikro denetleyiciye sahip bir eşarp, bir "uçak" gibi maliyetlidir. Bu nedenle programcının kendi kendine montajı sorunu ortaya çıktı. Deneyimli radyo amatörlerinin gelişmeleri üzerine uzun bir çalışmanın ardından, beyni Atmega8 mikrodenetleyici olan kanıtlanmış bir USBASP programcısının bir araya getirilmesine karar verildi (ayrıca atmega88 ve atmega48 için ürün yazılımı seçenekleri de vardır). Mikrodenetleyicinin minimum kablolaması, bir flash sürücü gibi her zaman yanınızda taşıyabileceğiniz oldukça minyatür bir programlayıcıyı birleştirmenize olanak tanır.

Bu programcının yazarı Alman Thomas Fichl'dir; diyagramlar, baskılı devre kartı dosyaları ve sürücüler içeren geliştirme sayfası.
Minyatür bir programlayıcı kurmaya karar verildiğinde, TQFP32 paketindeki Atmega8 mikrokontrolcü devresini yeniden çizdim (mikrokontrolörün pin çıkışı DIP paketindeki pin çıkışından farklıdır):

Jumper J1, saat frekansı 1,5 MHz'in altında olan bir mikro denetleyicinin flaşlanması gerekiyorsa kullanılır. Bu arada MK'nin 25. ayağının yere konulmasıyla bu jumper tamamen ortadan kaldırılabilir. Daha sonra programcı her zaman azaltılmış bir frekansta çalışacaktır. Şahsen, düşük hızda programlamanın bir saniyeden daha uzun sürdüğünü fark ettim ve bu nedenle artık atlayıcıyı çekmiyorum, sürekli onunla dikiyorum.
Zener diyotları D1 ve D2, programlayıcı ile USB veri yolu arasındaki seviyeleri eşleştirmek için kullanılır, onlar olmadan çalışır, ancak tüm bilgisayarlarda çalışmaz.
Mavi LED devrenin programlanmaya hazır olduğunu gösterir; kırmızı LED programlama sırasında yanar. Programlama kontakları IDC-06 konnektöründe bulunur, pin çıkışı 6 pinli ISP konnektörü için ATMEL standardına uygundur:

Bu konektör, programlanabilir cihazlara güç sağlamak için kontaklar içerir; burada doğrudan bilgisayarın USB bağlantı noktasından alınır, bu nedenle dikkatli olmanız ve kısa devrelerden kaçınmanız gerekir. Aynı konnektör aynı zamanda kontrol mikrokontrolörünün programlanması için de kullanılır; bunu yapmak için konnektör ve mikrokontrolör üzerindeki Reset pinlerini bağlamanız yeterlidir (şemadaki kırmızı noktalı çizgiye bakın). Yazarın devresinde bu bir jumper ile yapılıyor ama ben tahtayı karıştırmadım ve çıkardım. Tek bir ürün yazılımı için basit bir kablo köprüsü yeterli olacaktır. Tahtanın 45x18 mm ölçülerinde çift taraflı olduğu ortaya çıktı.

Programlayıcının hızını azaltmak için programlama konektörü ve bir atlama teli cihazın sonunda bulunur, bu çok kullanışlıdır

Kontrol mikrodenetleyicisinin bellenimi
Yani cihazı monte ettikten sonra geriye kalan en önemli şey kontrol mikrodenetleyicisinin flaşlanmasıdır. Hala LPT bağlantı noktasına sahip bilgisayarları olan arkadaşlar bu amaçlar için çok uygundur :) AVR için en basit beş kablolu programcı
Mikrokontrolcünün Reset pinleri (29 bacak) ve konnektör bağlanarak programlama konnektöründen mikrokontrolcü flaşlanabilir. Atmega48, Atmega8 ve Atmega88 modelleri için ürün yazılımı mevcuttur. Atmega48 sürümü desteği durdurulduğundan ve en son aygıt yazılımı sürümü 2009'a dayandığından son iki taştan birinin kullanılması tavsiye edilir. Ve 8. ve 88. taşların versiyonları sürekli güncelleniyor ve yazar, işlevselliğe bir devre içi hata ayıklayıcı eklemeyi planlıyor gibi görünüyor. Firmware'i Almanca sayfasından alıyoruz. Kontrol programını mikrodenetleyiciye yüklemek için PonyProg programını kullandım. Programlama sırasında kristalin 12 MHz'de harici bir saat kaynağından çalışacak şekilde ayarlanması gerekir. PonyProg'da sigorta jumper ayarlarının bulunduğu programın ekran görüntüsü:

Firmware'i yükledikten sonra mikro denetleyicinin 23. ayağına bağlı LED yanmalıdır. Bu, programlayıcının başarıyla programlandığına ve kullanıma hazır olduğuna dair kesin bir işaret olacaktır.

Sürücü kurulumu
Kurulum Windows 7 yüklü bir makinede gerçekleştirildi ve herhangi bir sorun yaşanmadı. Bilgisayarınıza ilk kez bağlandığınızda, yeni bir aygıtın algılandığını belirten ve sürücüyü yüklemenizi isteyen bir mesaj görünecektir. Belirtilen konumdan kurulumu seçin:

Yüklenen sürücünün küçük yazılımlar için dijital imzası olmadığını belirten bir uyarı içeren bir pencere anında görünecektir:

Uyarıyı dikkate almayıp kuruluma devam ediyoruz, kısa bir aradan sonra sürücü kurulum işleminin başarıyla tamamlandığını bildiren bir pencere açılacaktır.

İşte bu, programcı artık kullanıma hazır.

Khazama AVR Programcısı
Programcıyla çalışmak için Khazama AVR Programlayıcı flaşörünü seçtim. Minimalist bir arayüze sahip harika bir program.

Tüm popüler AVR mikro denetleyicileriyle çalışır, flaş ve eeprom flaşlamanıza, bellek içeriğini görüntülemenize, çipi silmenize ve ayrıca sigorta bitlerinin yapılandırmasını değiştirmenize olanak tanır. Genel olarak tamamen standart bir set. Sigorta ayarı, açılır listeden saat kaynağı seçilerek gerçekleştirilir, böylece kristalin yanlışlıkla kilitlenme olasılığı büyük ölçüde azalır. Alt alana onay kutuları konularak sigortalar da değiştirilebilir, ancak var olmayan bir konfigürasyona onay kutuları yerleştiremezsiniz, bu da güvenlik açısından büyük bir artı.

Sigortalar tahmin edebileceğiniz gibi Tümünü Yaz düğmesine basılarak MK hafızasına yazılır. Kaydet düğmesi geçerli yapılandırmayı kaydeder ve Yükle düğmesi kaydedilen yapılandırmayı döndürür. Doğru, bu düğmelerin pratik bir kullanımını bulamadım. Varsayılan düğmesi, mikro denetleyicilerin fabrikadan geldiği standart sigorta yapılandırmasını (genellikle dahili RC'den 1 MHz) kaydetmek için tasarlanmıştır.
Genel olarak bu programlayıcıyı kullandığım tüm süre boyunca stabilite ve çalışma hızı açısından en iyisi olduğunu gösterdi. Hem eski bir masaüstü bilgisayarda hem de yeni bir dizüstü bilgisayarda sorunsuz çalıştı.

PCB dosyasını SprintLayout'ta kullanarak indirebilirsiniz.