Bilgisayarın COM portunu aşırı yüklemeden herhangi bir COM-portu ile çalışır, çünkü MAX232 COM portu için tehlike oluşturmaz.
JDM programcısı olarak popüler programlar IC-PROG, Pony Prog ve diğerleri tarafından desteklenmektedir.
Programcı, bilgisayarın COM portuna standart COM-port uzatma kablosu (DB9M-DB9F) veya doğrudan USB-COM dönüştürücüsüne bağlanır.
Programlayıcıya güç sağlamak için + 16v ila + 24.0v arasında bir gerilime sahip bir stabil güç kaynağı kullanılmalıdır.
Programlayıcı kartında, programcının çalışma modunu gösteren LED'ler vardır (POWER, VPP, RXD ve TXD).
ICSP döngüleri için konektörler.
Doğru şekilde monte edilmiş bir programlayıcı kurulmasına gerek yoktur ve hemen çalışmaya başlar.
Pic içinde ICSP pinout
Windows XP çalıştıran bir bilgisayarda IC-PROG programının doğru kurulması için, ic-prog.pdf dosyasını kontrol edin.
Programcının şeması: "csh_Prog_AVRPIC" dosyasında (sPlan_v6.0).
Baskılı devre kartı: "pcb_Prog_AVRPIC" dosyasında (Sprint-Layout_v4.0).
Biraz yükseltilmiş bir baskıyı indirin (parçaların nominal değerleri imzalanır, imlecin girişi elemanın yazısını gösterir)
Toplanan Nikolai4, işte olanlar:
Bunun yerine, 74LS00 K555LA3'ü (tam analog) verdi
Elektrolitler 1 2,3,4,5 = 1μF
Bunun yerine, KT315 KT3102, KT814'ü herhangi bir mektupla teslim etti
Böylesine geniş bir çeşitliliği tek bir ZIF soketine bağlamak için daldırma anahtarları koymamız gerekti.
Program, sürücü ve 1.06V (son) talimat sürümü ile indirmek için IC-PROG kullanıyorum.
DIP anahtar üzerinden ZIF soketine ICSP bağlantısı
İlk bakışta, tam bir karışıklık gibi görünüyor :), ama ayrıntılı bir inceleme ile her şey yerine düşüyor
programmer.xls indir pimleri
Mikrodenetleyici ile test edilmiştir:
(liste yenilenecek)
dip 8: pic12f675
daldırma 14: pic16f630
daldırma 18: pic16f628
daldırma 28: pic16f73
Dalış 28: Atmega 8
PLCC 44: AT90S4414
Atmega8'i programlamak için aşağıdaki çıktıya ihtiyacınız var:
eksi 8 ve 22 bacaklar teller kaydetmek için (ihtiyaç) bağlanabilir
Anahtarda toplam 6 pin olmak üzere iki anahtar fiziksel olarak bir araya getirilir, fakat elektriksel olarak değil, her bir anahtarın üç iğnesi vardır, her anahtarda normalde açık ve kapalı kontaklar bulunur.
Son zamanlarda, PLCC 44 paketinde AT90S4414'ü flaş etmek zorunda kaldım, bir soket ekledim ve PonyProg2000 programının yardımıyla (IC-prog da çok işe yaradı) MK başarıyla dikildi. Fotoğrafın altında, programlama için gerekli bağlantıları getiriyorum ve ayrıca 4 MHz'de kuvartz ihtiyacım var.
Atmega8 programcı pic
PIC, AVR ve bellek yongaları için programcı
Dikkat lütfen! Etiketler ekleme sırası önemlidir! En önemlisi ile eklemeye başlayın. Mümkünse mevcut etiketleri kullanın
Yazar: CODE43
12/27/2011 tarihinde gönderildi.
CotoRed'in yardımıyla oluşturuldu.
. Birkaç yıl önce bir kez, bir kez daha bir radyo dergisinin kayıtlarını gözden geçirdi ve düşündü: mikrodenetleyicilere hakim olma zamanı geldi mi? Bununla ilgili hiçbir sorun yaşanmadı, birçok edebiyat var, yeterli örnek var. Materiel çalıştım, ilk programımı yazdım. Sonra bu programın kontrolörde ne aradığını araştırmaya başladı, yani programcı. Elimizdeki ve güvenilir olandan bir araya gelmek için basit bir şemaya ihtiyaç duyduk. Uzun bir aramanın ardından, programcı programına "RADIO" №10 2007г. Mad. 31. Bu düzeni tarif etmeyeceğim, isteyenler için, arşivde bir orijinal var. Sadece şemanın kusursuz çalıştığını, her şeyi sorunsuz bir şekilde diktiğini söyleyeceğim, sadece bazen bir sebepten dolayı MAX232 (3 adet değiştirilir., Reddedilebilir). Bu programcı bir meslektaşı verdi ve kendisiyle aynı şeyi yapmaya karar verdi, ama yine de başka bir kontrollü stabilizatör K78R12C'ye sahip olmadım. Sonuç olarak, böyle bir plan doğmuştur, bu, günlük devresinin "crossing" ve SI-PROG tescilli programcının sonucudur:
Orijinal makalenin tavsiyelerine - VS547, diğer tüm detaylar - MAX232'in daha hızlı ST232 ile değiştirilir, kontrollü sabitleyici ona, transistörlerin sonra her zamanki 7812 ve transistör anahtarı değiştirilir. Ayrıca (temelde yuzayu RІS-çünkü sadece altlarında kadar tahta ve AVR yanıp istiyorsanız - provodochki :-)) denetleyicilerin farklı türleri için prizlerinin yer aldığı ayrı eklenti kurulu ekledi. Bütün bunlar bu tahtaya monte edilmiştir:
ve bu PIC'ler ve bellek çipleri için bir yedek karttır:
Panellerden kullanılmayan tüm kontaklar çıkarılır, böylece fazladan delikler açılmaz.
İşte toplanan kurulun bir fotoğrafı:
Kurulu tasarlanan Z50 olarak adlandırılan Polatsk vakasında toplanan programcı, birkaç fotoğraftan oluşuyor:
o yüksek parlaklık LED biraz zayıf (yapılan LED aydınlatmalı ön panel, ve trafo :-) hakim olmadığı için fotoğraf konut arzı trafosu gösterir, o zaman ben, attı. Şu anda bir harici güç kaynağı 15V kullanılmış ve 1A'ya kadar akım.
programcı programları PonyProg, Si-prog, WinPic800 ile çalışır. Si-Prog ve WinPic 800 seçme programcı ÇDM Programcı ve Tablo 2 ile uyumlu olarak ayarlanır sinyallerin ters programları için, kontrol programı PonyProg Tablo 1 'e göre uygun olan kutu programcı SI Prog I / O seçin ve bir ters sinyalini kullanarak ve 3:
Bir dergi tablosu ile WinPic 800 için anlamadı, bu yüzden "bilimsel kurcalama" yöntemiyle belirlenen ayarları:
Programcı uzun bir süredir test edilmiştir, daha önce olduğu gibi, hatalar fark edilmez, her şey dikilir.
Mikrodenetleyici Atmega8 üzerinde kendi elleriyle USB programcısı. Şema
Bilgisayar teknolojisinin gelişmesiyle, her defasında COM ve LPT bağlantı noktalarına sahip daha az sayıda ve daha az bilgisayar bulunmaktadır. Bu da, özellikle kişisel bilgisayarlı mikrodenetleyicilerin programlama araçlarının arayüzüyle ilişkili radyo amatörleri için zorluklara neden olur.
Bu makalede, kendi ellerinizle oluşturabileceğiniz AVR mikro denetleyicileri için USB programlayıcısı açıklanmaktadır. Mikro kontrolcü Atmega8 üzerine kurulmuştur ve bilgisayarın USB konektöründen çalışabilmektedir. Bu programcı STK500 v2 ile uyumludur.
Açıklama USB programcısı
USB programcısı, LUT teknolojisini kullanarak tek taraflı folyo kaplı fiberglas laminattan yapılmış bir tahta üzerine kurulmuştur. Kartta 2 atlama ipi var: biri SPI konektörünün altında, ikinci jumper aynı konektörün yanında bulunuyor.
Tüm detaylar mühürlendikten sonra, makalenin sonunda verilen ürün yazılımı ile Atmega8 mikrodenetleyicisini yakmanız gerekir. Mikrodenetleyici Atmega8'i programlarken ayarlanması gereken Fyuzy, şöyle görünmelidir:
- SUT1 = 0
- BOOTSZ1 = 0
- BOOTSZ0 = 0
- CKOPT = 0
- SPIEN = 0
Bazı programlarda füzyonların buna muhalefetle karşı karşıya olduğu hatırlatılmalıdır. Örneğin, CodeVisionAVR programında yukarıdaki füzyonları ve programın aksine PonyProg'u işaretlemeniz gerekir.
Bilgisayarın LPT bağlantı noktası üzerinden Atmega8 programlanması
Atmega8'i programlamanın en hızlı ve ucuz yolu, LPR programlayıcısını AVR için kullanmaktır. Benzer bir şema aşağıda verilmiştir.
Mikrodenetleyici, basit bir 78L05 voltaj regülatörü ile güçlendirilmiştir. Programlama kabuğu olarak, UniProf programını kullanabilirsiniz.
Program ilk kez açıldığında ve denetleyici bağlı değilken "LPTpins" düğmesine basıldığında, LPT bağlantı noktası çıkışlarını aşağıdaki gibi yapılandırmanız gerekir:
UniProf'un piyasaya sunulduğu anda, mikrokontrolörün tipini otomatik olarak belirler. Firmware Atmega8_USB_prog.hex'i UniProf belleğine yüklüyoruz, EEPROM dosyasının bağlantısını reddediyoruz.
Aşağıdaki fyuziyi (UniProF programı için) "FUSE" tuşuna basarak ayarladık:
Ayarları ezberlemek için, "Yaz" düğmelerine basıyoruz. Daha sonra "Sil" e basarsanız, bellenim mikro denetleyicisinin belleğini temizleriz. Bundan sonra "Prog" a tıklar ve firmware tamamlanana kadar bekleriz.
USB programlayıcısını kurma
Mikrodenetleyicimiz dikişlendikten sonra, programcının USB kartına takılmalıdır. Ardından programlayıcıyı bilgisayarın USB portuna, ancak güç sağlanıncaya kadar bağlarız.
Ardından, aşağıdaki yolda bulunan terminal programını (HyperTerminal) yapılandırmanız gerekir: Başlat> Programlar> Donatılar> İletişim> HyperTerminal. Bağlantı noktasını, terminal parametrelerini ve ASCII'yi yapılandırma
Artık tüm işlemler bittikten sonra, USB programlayıcısına güç veriyoruz. LED HL1, 6 kez yanıp sönmeli ve ardından sürekli yanar.
Programcının USB bağlantısını bilgisayara test etmek için HyperTerminal programında iki kez "Enter" tuşuna basın. Her şey yolundaysa, aşağıdaki resmi görmeliyiz:
Durum böyle değilse, yüklemeyi bir kez daha, özellikle TxD hattını kontrol ederiz.
Daha sonra, programcı 2.10 sürümünü piyasaya sürdük, çünkü program olmadan "üst düzey" programlarla çalışmaz. Bunu yapmak için, "2" girin ve "Enter" a basın, "a" (İngilizce) girin ve "Enter" a basın.
USB programlayıcı, programlanabilir bir mikro denetleyicinin bağlantısını tanıyabilir. Bu, güç kaynağına "çekme" sinyalini sıfırlama şeklinde yapılır. Bu mod şu şekilde açılır ve kapatılır:
- "0", "Enter" - mod kapatılır.
- "1", "Enter" - mod açıktır.
Programlama hızını değiştirin (1MHz):
- "0", "Enter" - maksimum hız.
- "1", "Enter" - azaltılmış hız.
Bu hazırlık çalışması tamamlandığında, şimdi bazı mikro denetleyicileri flaş deneyebilirsiniz.
Atmega8'de programcının USB şematik diyagramı
Mikrodenetleyici Atmega8 üzerine inşa edilen bu şema USB programcısı, üretimi oldukça basittir, sadece bir akşamda elle monte edilebilir.
Aslında, bu AVR-910 popüler Prottoss şemasıdır. USB programcısı güvenilirdir ve yanlış monte edilmiş sigortalarla mikrodenetleyicileri geri yüklemeye imkan veren işlevini cephaneliğindedir.
Programcının Atmega8 mikrodenetleyicisinin firmware'inin basit bir LPT-programcısına ihtiyaç duyacağı belirtilmelidir.
Baskılı devre kartı, iyi bilinen LUT teknolojisini kullanarak kendi ellerinizle yapılabilir. Bu nedenle, tahta üretiminin açıklaması durmayacak, ancak doğrudan açıklamaya gideceğiz.
Böylece, tüm devrelerdeki detaylar hatasız ve kısa devrelerle lehimlenir, pano bir akının kalan kısımlarından temizlenir. Şimdi SA2 anahtarını "MOD" konumuna getiriyoruz, cihazımızı basit bir LPT programlayıcısına bağlayıp gücü açıyoruz.
Şimdi programı Atmega8 anısına koymalısın. Yazılım olarak Uniprof veya Code Vision AVR'yi uygulayabilirsiniz. Programlamadan önce, aşağıdaki fyuziyi ayarlamanız gerekir (Uniprof için):
Atmega8 ürün yazılımı tamamlandığında, SA2 anahtarını "NORM" konumuna getirin, programlayıcıyı bilgisayarın USB konektörüne bağlayın. Tüm adımlar doğruysa, bilgisayar yeni bağlı cihazı kolayca algılayacaktır.
Sistem sürücüyü bulmayı teklif edecek - reddet ve sürücüyü arşivimizden belirle. Programlayıcı için sürücü kurulumu tamamlandıktan sonra, kullanıma hazırdır.
Bu programcı ile çalışmanız gereken yazılım hakkında konuşalım. AVR Prog, AVR Studio, ChipBlasterAVR ve elbette Code Vision AVR gibi bu tür kabukları destekler.
Oldukça kullanışlı bir program, inanıyorum ki, Vizyon AVR, burada ayrıntılı olarak yazılmış çalışmanın bir örneğidir.
Referans için, tipik bir USB pin çıkışı:
Gerekli detayların listesi:
- Atmega8 - 1 adet.
- Kuvars 12MHz - 1 adet.
- Diyot 1N4007 - 2 adet.
- LED - 3 adet
- Dirençler: 68 Ohm - 2 adet., 330 Ohm - 8 adet., 1.5 Ohm - 1 adet., 100 Ohm -1 adet., 1.5 kΩ -1 adet., 10 kΩ -1 adet., 1 mOhm -1 adet
- Kapasitörler: 0.1μm - 3 adet, 22μm x 10V - 1 adet, 22 adet - 2 adet.
58 yorum
Günün vakti zamanı!
Söyle bana - 16 MHz kuvarsın yerini alırsam devre düzgün çalışır mı?
Zandho, kuvveti 12 MHz'e koymanız gerekiyor, eğer diğerini koyarsanız zaman döngüsünü kırıyorsanız ve sadece mikronu programlayamıyorsunuz.
Güç, Led, Düşük SCK anahtarları hakkında bana bilgi verir misiniz? Amaçları, genel olarak ve ne zaman kullanılacağı hakkında.
Dikkatli olun, çalışma cihazının fotoğrafı yanıltıcıdır. Louth üzerine yanlış yapılmış (tahta aynaya dönüşmüş), buna göre kontrolörün bacakları birbirine yaklaşmıyor. Kaynakta doğru fotoğrafa bakın. Ya da yazarın doğru sürümü indirmesine izin verin.
Yardımın için teşekkürler. sabit
Bu programcı göremiyorum nihayet nedense Windows 7 için var ama XP bilinmeyen bir aygıtın söylüyor. Sonra Aygıt Yöneticisi bölümünde bulabilirsiniz, ben sürücüsünü seçmek doğru sürücüyü işaret disk dan kuracak, arama yapmayın belirli bir yerden yüklemek Update Sürücü tıklayın ve ben ve sürücünün istemi yüklü değil "ukazvnom yerde donanım hakkında hiçbir bilgi yoktur" dedi sebebi ne olabilir
neden fyuzah olabilir, belki de düzgün bir şekilde ortaya çıkmaz..
Tampon kontrolörü aynı yazar ile kontrol ederken LPT portu üzerinden bu Fyuz ile Uniprof parladı... kompyuteru için podlyuchayu Windows XP Cihaz üzerinde yazıyor Tanınan ve yüklü sürücü belirtilen yerin otsutviem verilerini yazar ve sürücüsü yüklenmez zorla değil..
Güç, Led, Düşük SCK anahtarları için ne gereklidir. Ne ve ne zaman eklenir?
Lütfen yeni başlayanlar için programcıların nasıl kullanıldığını anlatan programcılar bu programlayıcının nasıl kilitleneceğini kontrol ettikleri gibi, ve en önemlisi de anahtarlar kullanıldığında ve devrelerin LED'lerini atayarak, anladımı gösterir. güç kaynağı ve firmware ikinci işlemi? ve en önemlisi, Atmel-ovskie denetleyicileri, zaten belirtilmiş olan 8'in dışında iyi bir şekilde dikilebilir. 16, 32... ve hala cihaz çiplerinde olduğu gibi basitçe sokete takılabilirler? Harici bir kuvartza ihtiyacınız var mı? Doğru olarak anladım ki, sadece soketteki yonganın donanım yazılımı aynı yusb tarafından desteklendiğinde ve cihazın kendisinde dikilebilmesi mümkün değilse, önceden dahil edilmesi gerekli midir?
LED'li kart, programcıyı anladığım şeydir. Ve board? İçin iki kriko ile bir tren ile bağlı ikinci tahta nedir?
Bana öyle geliyor ki, bu LPT programcısı LPT portuna ve adaptör olarak hazır usb programcısına açılabiliyor.
Programcılar avr-910'unuzu kurdum ve bilgisayara takıldım ve bunun fark edilmediğini yazdım! Neyi yanlış yaptım? tüm detaylar bire bir, uniprofs istedim, ilk olarak tıklanan fotoğrafın üzerine yerleştirilmiş sigorta fot gibi bir onay işareti koydu ve bir kez tıkladıktan sonra
kurulum normal gibidir! ve yazma üzerine tıkladığımda bile görülemeyen bir şey değildi, yani (okuma süreci) olmalıydı? basması kolay ve işte bu!
Gerçek şu ki, ben ilk 8 16 pu atmel programlı
URAAAA. Bütün adamlar sebebini buldu ve ortadan kaldırdı! nedeni devre kartı, usb, mikro kırılma, kadran üzerindeki test elenmiş ve pical için multitesters olarak gösterilmiyordu. ve sonra yeni bir ekipman buldu ve sürücüyü kurdu! hepsi tamam. AVR-910 için teşekkürler.
lütfen hangi programın füzyon bitlerini, nereye yüklenebileceğini ve bununla nasıl çalışılacağını düzeltmek için gerekli olduğunu söyleyin?
Şimdiden teşekkür ederim!
İlk kez programmer.rabetno gorodno.s toplandı ama makalenin başında hala olduğunu söyledi
füzyon bitlerini düzeltir.Bunu nasıl yapacağımı bilmek istedim, hangi programla, vs.
Merhaba ama bana bir trenin bağlandığı programcının yanındaki konektörlü 2 kart için bunu söyle
Ve nasıl basit bir programcı bağlamak için hangi portlara yanıp.
kim anladığını açıklamak
İkinci tahta programlanabilir kontrolörler için döngü onu, programlama bağlı: POWER- programlanabilir kontrolöre güç sağlayan, DÜŞÜK CSK- saatini düşürür: İnternet birçok düzenleri programcı STK200 / 300 orada, bağlanmak açıklamaktadır ve düğmeleri nerede dikkatle tüm ayrıntıları okuyun o kuvars rezonaratora önceden sonraki bunun için denetleyici kurulu firmware için gerekli olan süveter gerektiğini kontrolöre gemide giriş veya çıkış için programlanmış içeriyorsa frekans, programlanabilir bir kontrolöre bir saat frekansı LED-besler Flaş Mikrodenetleyici sonra ISP konnektörü aracılığıyla tahta programlamaya programcı MODE koyarak ve bağlamak ait NORM koymak
Merhaba Lütfen bana, arşivde iki farklı yuvaya sahip adaptör kartı olduğunu ve bu anakartların STK200 / 300'e uyduğunu söyleyin. ya da sadece AVR'ye ve orada ne tür bir kuvars kurulmalıdır? AVR DIP kartında AVR ile birlikte kullanıldığında, güç hattı da yapılamaz.
Merhaba Bir programcı kurmak istiyorum ama elimde sadece Atmega8L var
8 ve 8L arasındaki fark
Çalışma gerilimi
2,7 ila 5,5 V (ATmega8L)
4,5 ila 5,5 V (ATmega8)
Çalışma frekansı
0 ila 8 MHz (ATmega8L)
0 ila 16 MHz (ATmega8)
Şemadaki bir şeyi değiştirmem gerekiyor mu yoksa bunu da bırakabilir miyim?
Evet, bu Megami ile - L harfi ile ve onsuz - genel karışıklık içinde. Eğer veri sayfasını alırsanız, o zaman USB programlayıcısında sadece harfsiz çalışabilir, çünkü 12 MHz'de kuvars kullanılır. Ama sonra soru 3.3V güç kaynağı ile MK flaş nasıl. Ve L harfi ile aynı zamanda 3,3 volttan da güç alabilir, ancak daha sonra 12 MHz'de çalışacaktır.
Bir Çinli USBasp programcısı aldım, Mega8L için derlenmiş, ama nasıl çalışıyor bir soru.
Alexander ve programcıda ne tür bir kuvars var?
eğer doğru anlarsam, o zaman fyuzov ve nebudet'in düzeltilmesiyle ilgili cevap?
yazımın ne işe yaradığını anlayamadığını bilenler herşeyi her şeyin kontrol ettiği her yerde Windows 7 bile led parlamıyor
ve hala usb kablosu ısınıyor
LED sürekli yanar.
acemi söyle! zeki olmayan) ISP konektörü bağlı mı? ve neden basit bir LPT programcısına bağlıydı.
koymak-olmayan ilk mikruhe içinde yakışır Fyuz olarak SMD komponentler (mikruha akım DIP-e) ile programcı, toplanan sonunda onu ikinci, hiçbir şey ısıtır, LED'ler yanar doğru parladı kilitlemek için yalnızca LED-menderes üzerinde firmware koleksiyondaki 1MHz... şimdi başka programcı... maliyetinin genel.in, bütün eziyetler.
Tekrar etmenizi tavsiye ederim.
ATS 910 İÇİN AVRDOPER LÜTFEN LÜTFEN (yeniden yükle)
Codevision, com portunda sistemde ne tür bir programcı seçmeliyim?
Ve ne tür bir mega dikebiliyor, özel bir liste yok mu? Çok minnettar olurdum.
İyi akşamlar.
Atmega 8 belleniminden ve Fuse kurulumundan sonra resimde gösterildiği gibi, programcının denetleyiciyi görmeyi bıraktığını, tüm hataların denetleyiciyle iletişim kuramayacakları bir hata verdiğini ve yanlış yaptığımı açıklayın.
Arşivde adaptör şeması, kanallar ve kuartz içerir. Ama ne oldu? Kim söyleyecek?
Kuvars 8 MHz, kondansatörler 15... 22 pF (her ne kadar onlar olmadan mümkün olsa da)
Devrede bir direnç yoksa, parçaların listesinde neden 1.5 Ohm direnç olduğunu söyleyin. Ve Res. 330 Ohm orada 9 ve şema ile 8 yargılamak değil.
Her şey yerinde görünüyor:
Direnç 330 Ohm (R3, R5, R8, R9, R11, R12, R13, R14, R15).
Kart üzerindeki direnç 1,5k (R4) olarak belirtilmiştir.
Parçalar listesinde ve 1.5 Ohm ve 1.5kOhm. Devrede sadece 1.5 ohm bulunmaz ve burada 330 parça, 9 parçanın şemasında ve listede 8. Liste altında alınan detaylar - sadece 1,5 Ohm gereksiz ve 330 yeterli değildi (
Sorunun ne olabileceğini söyle, her şey doğru şekilde yapıldı, 10 kez tekrar kontrol edildi.Bağlandığında, okuma ve yazma lambaları 3 kez yanıp sönüyor ve bilgisayarda tanımlayıcı hatası olan bilinmeyen bir cihaz olarak tanımlanıyor. Bu arada, Atmega8 16pu'nın gerekli olduğunu anlıyorum, Atmega8A-pu'm var, hiçbir şeyi etkilemiyor mu?
Pic 18f 2685'i yakabilirler mi?
LTP programcısı yerine programcı Gromov'u flaş etmek mümkün mü?
İyi akşamlar, yazı için teşekkürler.
Atmega8 yerinde mümkün olup olmadığı
Atmega328p-pu kullanın
Programlayıcıyı Windows 8.1 ile dizüstü bilgisayara bağlarken, cihaz tanımlanamayan bir cihaz yazıyor ve cihaz yöneticisinde "USB kontrol cihazı" yazıyor "Bilinmeyen USB aygıtı (geçersiz yapılandırma tanımlayıcısı")
Windows 7'de AVR-910 olarak tanınır
iyi çocuklar baskılı devre kartı
genişlik 80mm, yükseklik 55mm
çok değerli yönetici teşekkür ederim
Ve böylece yavaş nedir? Yarım »Atmegi-32" okuma 15 minut.Svetodiod okur 'Windows 7 '32 bit' görünür-görev döngüsü Açıkçası çok bolshaya.Na çıkış«»1 Mgts.Sistema Led edilir pek' dedi.
ISP'yi Proteus'a nasıl yerleştireceğimi söyle.
Hoşgeldin!
Programcı ATmega8A-PU'de çalışır mı?
Programcı ATmega328P-PU'yi destekliyor mu?
İyi akşamlar.
Atmega 8 belleniminden ve Fuse kurulumundan sonra resimde gösterildiği gibi, programcının denetleyiciyi görmeyi bıraktığını, tüm hataların denetleyiciyle iletişim kuramayacakları bir hata verdiğini ve yanlış yaptığımı açıklayın.
Yazılımın ardından mikrodenetleyici harici bir ana osilatörden (kuartz) çalışmaya başlar. Kuvveti (8MHz'de yapabilirsiniz) 9 ve 10 pinlerine bağlayın.
Teşekkürler, kazanılan)) Avr910 hangi programlarla çalıştığını bana anlatın?
Khazama AVR Programlayıcısını kullanıyorum
Herkese iyi günler. Bu programcıyı topladım ve izlenimlerimi paylaşmaya karar verdim.
Bu tam olarak akşamları toplanır (sadece hatalarımı tekrarlamayın.) Önce, tüm gerekli parçaları toplayın (satın alın, parçalara ayırmayın) ve daha sonra lehimlemeye başlayın ya da bileşenleri lehimlemek için daha fazla zaman bulmaya çalıştım). Atmegu Atmega8 A PU'yi aldım. COM programcısı, Uniprof üzerinde dikişli. Taş ayrı dikildi (önce dikildim ve sonra lehimlendi).
Montajdan sonra, akıtan temizlik, kısa devre kontrolü, bilgisayara bağlı. Sürücüleri kurduktan sonra, ilk eksi bulundu. Windows Vista ve Windows 7, dijital imza sürücüleri istiyor. Ve AVR-910'un böyle bir imzası yok. Dijital imzanın doğrulanmasını devre dışı bırakmalı ve işletim sistemini işletim modunda çalıştırmam gerekti. Bundan sonra, kutum küfür durdu ve programcının sürücüsünü aldı. Programcıyı Code Vision AVR'de test etti. Ve sonra ikinci bir Balshoooi eksi vardı. Hız: (5 dakikadan daha uzun bir süre için 1 KB.JJJZHT'den daha az bir firmware okuyun. Uniprofile'da her zamanki 8-10 saniyeden sonra. Onunla ilgilenmeyin (programcı)
bir jumper var. Çabuk çalışmak istemiyor. Bu yüzden programlayıcıyı yeniden düzenlemeye karar verdim. Dönüşüm sadece taş kırma ile sınırlıydı. USBasp programlayıcı için firmware indirdim. (Bu programcıların şemaları, yalnızca bellenimde aynı farklara sahiptir) Ben zaten tahtaya dikiş atmıştım. İlginç bir şey keşfetti - Uniprof, jeneratörü bağlamadan bile taşları gördü. (Görünüşe göre lehimli kuvars nedeniyle). Sürücüleri kurduktan sonra (sürücülerin dijital imzası var) test etmeye başladı
yeni programcı. İlk avrdude-5.8 ve grafik kabuk avrdudeprog33. 43 saniye okunuyor.))) (AVR 910'da 5'ten fazla olduğunda) bir dakikadan biraz daha fazla kayıt yapar. (AVR DUDE'nin bir avantajı daha var: burada yazılımın hızını programlı olarak değiştirebilir ve jumper ile uğraşmazsınız.) Sonra Khazama AVR Programmer'da test edin. Burada bile bir çift bile yapmadım (bir hata okunurken okunan). Ancak tüm bu programların bir sorumluluğu var (öznel bakış açımda). Burada program kodunu görüntülemek mümkün değildir. Uniprof veya Poniprog'ta olduğu gibi. Ve sonra Ineta'nın hayal bile edilemeyen genişliklerine parlak bir Hint - EXtreme Burner - AVR'nin küçük bir programında rastladım. İlginç bir program. Basit, sezgisel bir arayüz. Hızlı yazılım hızı. Yine de iki dezavantajı var. Büyük - tüm aviercas desteklenmez. Ve ikinci negatif - fyuzy Bitami koymaya ihtiyacı var. (aşağı açılır listeden seçim yapabilirsiniz). Doğru, bir şey fyuzes ile çok akıllı ise, varsayılan olarak sıfırlamak mümkündür.
Bu iyimser notta bitecek. Kendi sonuçlarınızı yapın.
Hoşgeldin! Sevgili yönetici, programı görev yöneticisinde PC'ye bağladıktan sonra, Bilinmeyen Aygıt mesajı sürücüden sürücüleri yüklemeye çalışıyor. "Bu aygıt için en uygun yazılım zaten yüklü" "Windows sistemi, bu aygıtın sürücülerinin güncelleştirilmesinin gerekmediğini belirledi. "Sürücü, mikroskopun programlanması sırasında yüklenebilir ve sürücü klasöründe 7 için sürücü yok mu? Nasıl olunur? Teşekkür ederim
Sürücü için klasörden özür dilemediğim için özür dilerim. Hala güncellenmedi.
Günün vakti zamanı! Yazar, makale için teşekkürler, programcı lehimliydi - düzgün çalışıyordu. Davaya büyük bir şekilde yaklaştı ve aynı anda üç tahta yaptı: bir programcı, bir adaptör kartı ve bir diğeri. Soru şu, üçüncü suçlama ne için? Ve varsa, şematik bir diyagram vardır.
Benim bir sorum var. Çalışma voltajı 4.5 ila 5.5V ise supernatant 3.3v atmega 8-16pp nasıl çalışır? Otobüsü Staba'dan 3,3'e ve 5b'den mega'ya güç vermek mümkün mü?
ATmega8 için en basit programcı
Modern elektronik devrelerde, mikrodenetleyiciler giderek kullanılmaktadır. Evet, bugün, eğer bir mikrodenetleyici olmadan bir yılbaşı ağacı çelenk bile bulamazsanız, aydınlatma için çeşitli programlar hazırlar.
İlk dürtü metal dedektörü Clone'u kurarken ilk kez mikrodenetleyicilerle karşılaştım. Bu, firmware olmadan kontrolörün sadece bacakları olan bir plastik parçası olduğu ortaya çıktı.
ATMEG'de gerekli firmware'i doldurmak için programlayıcı olmadan yapmanın bir yolu yoktur. Daha sonra, programcıların en basit ve zaman testli programlarından ikisini ele alıyoruz.
Şema Bir
Bu programlayıcının yardımıyla hemen hemen her AVR kontrol cihazını ATMEL'den temizleyebilirsiniz, sadece mikroçip pinout'unu kontrol etmelisiniz.
Devredeki COM konektörü "anne" dir.
Her durumda, el ile böyle bir ilkel düzeni çizmek daha kolay olsa da, atmegy8 (download) için bir PCB düzeni ile sonuçlanır. Baskı öncesi pano aynalı olmalıdır.
PCB dosyası, popüler Sprint Layout programı kullanılarak açılmalıdır (eğer henüz kurulmamışsa, 5'inci sürümü veya 6'ncı sürümü hemen indirin).
Diyagramdan görebileceğiniz gibi, programcıyı inşa etmek için ihmal edilebilir miktarda ayrıntıya ihtiyacınız olacak:
KT315 yerine, mikro-destekli radyo mikrofonları monte ettikten sonra bıraktığım BFR93A SMD transistörünü taktım.
İşte koleksiyondaki tüm programcılar:
Güç (+ 5V) USB portundan almaya karar verdim.
Yeni bir mikro denetleyiciniz varsa (ve daha önce hiç kimse flaş yapmaya çalışmamışsa), beraberindeki kondansatörlerle birlikte kuartz ayarlanamaz. Bir kuvars rezonatörsüz çalışma, bitkiden gelen taşın, yerleşik jeneratör üzerinde bir miktar ile gelmesi ve devrenin de buna bağlı olması nedeniyle mümkündür.
Çipiniz ikinci el ise, harici kuvars olmadan, başlamayabilir. Daha sonra kuvveti 4 MHz'e, kapasitörleri ise 33 pF'ye çıkarmak daha iyidir.
Görebildiğiniz gibi, kapasitörlü bir kuartz koydum, ama sadece onlara tahtada bir yer verdim.
Dolgu yazılımı PonyProg'u (indirme) kullanarak en iyisidir.
PonyProg ile Firmware
Kurulum -> Kalibrasyon -> Evet menüsüne gidin. "Kalibrasyon Tamam" penceresi görünmelidir.
Ardından, Kurulum -> Arayüz Kurulumu'na tıklayın. "SI Prog API" seçeneğini ve istenen portu seçip "Probe" butonuna tıklayın, "Test OK" penceresi görünmelidir. Ardından, "Cihaz -> AVR micro ATmega8" mikro kontrolcüsünü seçin.
Şimdi mikrodenetleyiciyi programcının panosuna takın ve 5 volta güç sağlayın (örneğin, ayrı bir güç kaynağından veya YUSB portundan yapabilirsiniz). Ardından Komut -> Tümünü Oku'ya tıklayın.
Okuduktan sonra "Oku başarılı" penceresi açılır. Eğer herşey yolunda ise, o zaman dosyayı doldurmak için istediğiniz firmware ile seçin: Dosya -> Cihaz Dosyasını Aç. "Aç" a tıklayın.
Şimdi Komuta -> Güvenlik ve Yapılandırma Bitlerine basıyoruz ve fyuzeleri gerektiği gibi ortaya koyuyoruz.
Her şeyi dikkatli bir şekilde kontrol edip "Tamam" a tıklarız. Ardından Komut -> Tümünü Yaz -> Evet'e tıklayın. Firmware ve doğrulama var. Test tamamlandığında, "Başarılı Yaz" penceresi açılır.
Hepsi bu, MK dikişli ve kullanıma hazır!
Diğer programlarla (PonyProg değil) ürün yazılımı kullanırken, bitlerin ters olabileceğini unutmayın! Sonra tam tersini sergilemek zorundalar. Bunu, fyuzeleri sayıp "SPIEN" dalına bakarak belirleyebilirsin.
Şema iki
Programlayıcının başka bir sürümü, firmware'i mikrodenetleyici ATMEG'e (sözde programcı Gennady Gromov) doldurabilirsiniz. Devre sadece 10 kısımdan oluşur: Diyotlar herhangi bir dürtü (örneğin, KD510, KD522) alınabilir. Bağlayıcı - "Anne". MK'ye (+ 5V) giden güç kaynağı, örneğin aynı bilgisayardan USB çıkışından ayrı olarak sağlanmalıdır.
Bütün bunlar, konektöre monte edilmiş olan montaj ile monte edilebilir, ancak eğer havya ile uyumlu bir lehimleyici iseniz ve smd montajının ne olduğunu biliyorsanız, bunu güzelce yapabilirsiniz:
Gromov'un programcısının yardımıyla ürün yazılımı algoritması
Yüklü mikrodevre ile programcı bilgisayarın COM portuna bağlanır, sonra Uniprof'u çalıştırırız, daha sonra mikrodenetleyiciye güç veririz. Ve kontrol ettiğimiz ilk şey, füzyon bitlerinin okunup okunmadığıdır.
Her şey yolundaysa, istenen firmware ile dosyayı seçin ve kaydı tıklayın.
Son derece dikkatli ve ihtiyatlı olun çünkü eğer fyuzov'u kaydederken glukanet, ejeksiyon için MK veya doktorun planını lehimleyin (ve karmaşıktır). Eğer SPIEN bitini zıt olarak değiştirirseniz - sonuç aynı (doktor için) olacaktır.
Bir programcı olmadan ATtiny veya ATmega mikrodenetleyici nasıl yanıp söner
1. Önerilen yöntemin avantajları
Mikrodenetleyicilerdeki (MK) cihazların şemaları genellikle iki uyumsuz kalitenin bir kombinasyonu ile ayırt edilir: maksimum sadelik ve yüksek işlevsellik. Ek olarak, işlevsellik, programda herhangi bir değişiklik yapmadan değiştirilip genişletilebilir - sadece programı değiştirerek (yanıp söner). Bu özellikler, modern MK'lerin yaratıcılarının, yalnızca bir elektronik cihazın geliştiricisinin ihtiyaç duyduğu her şeyi - en azından mümkün olduğu kadar - tek bir çipe yerleştirmeye çalıştıkları gerçeği ile açıklanmaktadır. Sonuç olarak, aksan şematik ve kurgudan yazılıma kaymıştır. MC'nin kullanımıyla, devreyi parçalar ile daha az bağlantı arasında "yük" etmek artık gerekli değildir. Bu, elbette, hem tecrübeli hem de acemi elektronik mühendisleri tarafından şemayı tekrarlamak için daha çekici hale getirir. Ama, her zamanki gibi, her şeyin ödenmesi gerekiyor. Burada da zorlukları olmadan yapamadık. Yeni bir MK satın alırsanız, doğru şekilde monte edilmiş bir devreye takın ve güç sağlayın, hiçbir şey işe yaramaz - cihaz çalışmaz. Mikrodenetleyicinin bir programa ihtiyacı var.
Bu da öyle görünüyor, her şey basit - İnternet üzerinde ücretsiz yazılım ile birçok şema bulabilirsiniz. Ama burada tek bir sapık var: firmware bir şekilde mikro denetleyiciye "dökülmeli" olmalıdır. Daha önce bu meşgul olmasaydı birisi için, bu sorun genellikle sık takılar kullanımından vazgeçmeli ve MK düzeni için "rassypuhe" ve sert mantık aramak zorunda sorun ve ana itici faktör haline gelir. Ama ilk bakışta göründüğü gibi her şey o kadar zor değil.
İnternetteki yayınları analiz ederek, bu sorunun genellikle iki yoldan biriyle çözüldüğünü görebilirsiniz: bitmiş bir programcı satın alarak veya kendi kendine programlanmış bir programcı hazırlayarak. Aynı zamanda, kendinden-yapılmış programcıların yayınlanmış planları çoğu zaman mantıksız olarak karmaşıktır - gerçekte olduğundan çok daha karmaşıktır. Tabii ki, MK'yi her gün parlatmak istiyorsan, "havalı" bir programcıya sahip olmak daha iyi. Ancak, böyle bir prosedürün gereği nadiren ortaya çıkarsa, durumdan duruma, genellikle programcı olmadan yapabilirsiniz. Hayır, elbette, bunu düşüncenin gücü ile yapmayı öğrenmek değil. Kayıt için mikrodenetleyici programcı ile etkileşim bilerek ve programlama modunda bilgileri okuduktan, biz doğaçlama daha geniş bir amaca anlamına girebilirsin anlaşılmaktadır. Bu araçlar, programcının hem program hem donanım parçalarını değiştirmelidir. Donanım, MC çipine fiziksel bir bağlantı sağlamalı, mantık seviyelerini girişlerine besleyebilmeli ve çıktılarından verileri okuyabilmelidir. Yazılım bölümü, tüm gerekli süreçleri kontrol eden algoritmanın çalışmasını sağlamalıdır. Ayrıca, MC'deki kayıt bilgilerinin kalitesinin, programlayıcıya sahip olduğunuz "nasıl" olduğuna bağlı olmadığını unutmayın. "Daha iyi kayıtlı" veya "daha kötü" diye bir şey yoktur. Sadece iki seçenek var: "kaydoldu" ve "kaydolmadı". Bunun nedeni, kristal içindeki kayıt işleminin doğrudan MC'nin kendisi tarafından kontrol edilmesidir. Ona sadece kaliteli gıda (parazit ve dalgalanma) sağlamak ve arayüzü düzgün bir şekilde düzenlemek gereklidir. Kontrol okuma hatalarının sonuçları tespit edilmezse, her şey sırayla yapılır - denetleyiciyi bu amaç için kullanabilirsiniz.
MC programında yazılı olmadan programlama, için, programlama özellikleri (347 KB) fark ederek bir dönüştürücü portu USB RS232TTL ve programı "Perpetuum M" (6 MB), hem de "Perpetuum M" için komut dosyası gerekir. Dönüştürücü USB RS232TTL mantık TTL seviyesi 0 ile 5 volt aralığında, yani gerilimi giriş ve çıkışları, kullanılır bu sadece "mevcut" ile karakterize edilen, COM bağlantı noktası oluşturmak için USB bağlantı noktasını kullanarak yapar (bilgilerini "makalesinde bulunabilir Akıllı ev için basit çözümler "). Her durumda, böyle bir dönüştürücü "çiftlikte" bulunması yararlıdır, bu yüzden zaten sahip değilseniz, satın almaya değer. mantık seviyeleri için olduğu gibi, bizim durumumuzda TTL - portların girişleri ve çıkışları doğrudan ATTiny ve ATMEGA da dahil olmak üzere 5 Voltluk bir gerilim, by herhangi mikro bağlanabilir, çünkü geleneksel COM portu üzerinde daha büyük bir avantajdır. Fakat normal bir COM portunu kullanmaya çalışmayın - kullanılan voltajlar -12 ila +12 V (veya -15. + 15V) aralığındadır. Bu durumda mikrodenetleyiciye doğrudan bağlantı kabul edilemez.
Programcının işlevlerini gerçekleştiren "Perpetuum M" adlı program için bir senaryo oluşturma fikri, Internet üzerinde MC'nin ürün yazılımı için bazı çözümler sunan bir dizi yayınla tanıştıktan sonra ortaya çıktı. Her durumda ciddi eksiklikler veya aşırı komplikasyonlar vardı. Çoğu zaman, bir mikrokontrolör içeren programcı şemaları vardı ve aynı zamanda, bu türden oldukça ciddi bir şekilde tavsiye edilmişlerdi: "ve ihtiyaç duyduğumuz bu programlayıcı için mikrodenetleyiciyi programlamak." Doğru - başka bir programcı! ". Sonra bir arkadaşa gitmesi, ücretli bir hizmete bakması önerildi. Bu amaçla ağda dağıtılan yazılımın kalitesi de etkilenmedi - kullanıcı arabiriminin hem işlevselliği hem de "bulanıklığı" ile ilgili birçok sorun kaydedildi. Programın nasıl kullanıldığını anlamak için çoğu zaman harcanması gerekir - en basit eylemleri gerçekleştirmek için bile çalışılması gerekir. Başka bir program uzun ve zor bir şey yapabilir, ancak kullanıcı tüm yazılımın tamamlanmasından ve sonraki kontrol okumasından sonra MK'de hiçbir şeyin yazılmadığını öğrenmez. Böyle bir sorun da vardır: kullanıcı kendi MK'sini desteklenen kristaller listesinden seçmeye çalışır, ancak listede yer almaz. Bu durumda, programı kullanamazsınız - kural olarak, eksik MK'lerin listesi verilmez. Buna ek olarak, programcının manuel olarak MC tipini belirleyebileceği göz önünde bulundurulduğunda, kontrolörün listeden manuel seçilmesi garip görünüyor. Tüm bunların mevcut ürünleri bozmaması, ancak bu makalede anlatılan "Perpetuum M" adlı programa senaryosunun nedenini açıklamak olduğu söylenir. Sorun gerçekten var ve ilk önce mikrodenetleyiciler dünyasına ilk adımlarını atmak için bu "duvarı" aşmayı her zaman başaramayan yeni başlayanların ilki ile ilgilidir. Önerilen betik, diğer programlarda bulunan eksiklikleri dikkate almaktadır. Algoritmanın maksimum “şeffaflığı” nı, çalışma gerektirmeyen son derece basit bir kullanıcı arayüzü ile karıştırmak ve “oraya tıklamamak” için bir şans bırakmaz. Desteklenenler arasından istenen MH'nin yokluğunda, MC web sitesinden indirilen dokümanlardan gerekli verileri alarak açıklamasını kendiniz eklemek mümkündür. Ve en önemlisi - senaryo çalışma ve değişiklik için açıktır. Herkes bir metin editöründe açabilir, kendi takdirine göre öğrenebilir ve düzenleyebilir, mevcut fonksiyonları tadıyla değiştirebilir ve eksik olanları ekleyebilir.
Komut dosyasının ilk sürümü Haziran 2015'te oluşturuldu. kontrolörünün tipine otomatik algılama ile yapılandırma bit ayarı, bu sürümde tek destek Atmel'ovskih MK ATTiny ATmega serisi ve okuma / yazma flash bellek fonksiyonları ile, içinde. EEPROM yazma ve okuma uygulanmadı. Komut dosyasının işlevselliğini tamamlama planları vardı: bir giriş ekleyin ve EEPROM'u okuyun, PIC denetleyicileri için destek uygulayın. Bu nedenle, senaryo henüz yayınlanmamıştır. Ama zamanında olmadığı için planlı uygulanması gecikmiş ve en iyi iyinin düşmanıdır olmadığını, biz varolan sürümü yayınlamaya karar verdi. Zaten uygulanan işlevler yeterli değilse, lütfen üzülmeyin. Bu durumda istediğiniz işlevi kendiniz eklemeye çalışabilirsiniz. Saklanmayacağım: Bu senaryoyu oluşturma fikri başlangıçta onunla birlikte bir eğitim anlamı taşır. algoritmada ele ve ona kendi bir şeyler ekleyerek olması, kırdı kızların önünde bir konumda olması etmemek için daha iyi, programlama modunda MC çalışmalarını anlamak mümkün olacaktır avtomoblem düşünceli onun içi baktı ve neden gelecekte "gitmez" anlamıyor.
2. programlama modunda MK arayüzü
Denetleyiciyi programlama moduna aktarmanın ve bu modda onunla çalışmanın birkaç farklı yolu vardır. ATtiny ve ATmega serisi kontrol cihazlarının en basit uygulaması belki de SPI'dır. Ve onu kullanacağız.
Ancak, SPI'nın oluşumu için gerekli olan sinyalleri değerlendirmeye başlamadan önce, birtakım rezervasyonlar yapıyoruz. Mikro denetleyicinin yapılandırma bitleri vardır. Bu, çipin bazı özelliklerini projenin ihtiyaçlarına göre değiştirmenize izin veren anahtarlama anahtarları gibi bir şeydir. Fiziksel olarak bunlar, programın yazıldığı gibi, uçucu olmayan bellek hücreleridir. Aradaki fark, çok azının (ATmega için üç byte kadar) ve herhangi bir belleğin adres alanına girmemesidir. Konfigürasyon verilerinin kaydedilmesi ve okunması, MC'nin programlama modunun ayrı komutları ile gerçekleştirilir. Şimdi, bazı yapılandırma bitlerinin SPI kullanma olasılığını etkilediğine dikkat etmek önemlidir. Bazı değerleri için, SPI kullanılamaz olabilir. Böyle bir mikrodenetleyici alırsanız, bu makalede önerilen yöntem yardımcı olmayacaktır. Bu durumda, programlayıcıdaki farklı bir programlama modunu destekleyen yapılandırma biti ayarlarını değiştirmeli veya başka bir mikro denetleyici kullanmalısınız. Ancak bu sorun sadece ikinci el MK'ye veya birisinin “çok kötü oynadığı” oyunculara uygulanır. Gerçek şu ki, yeni MH'lerde SPI kullanımına müdahale etmeyen yapılandırma bitleri var. Bu, dört farklı MK'nin başarılı bir şekilde dikildiği "Perpetuum M" programı için senaryo-programcısının test sonuçları ile teyit edilir (ATmega8, ATmega128, ATtiny13, ATtiny44). Hepsi yeniydi. Yapılandırma bitlerinin ilk yapılandırması belgelere uygun ve SPI'nin kullanımına müdahale etmedi.
Yukarıdakileri dikkate alarak, aşağıdaki bitlere dikkat edin. SPIEN biti, SPI'nin kullanımına açıkça izin verir veya vermez, dolayısıyla bizim durumumuzda, değerinin çözümlenebilir olması gerekir. RSTDISBL biti, pini (önceden tanımlanmış) bir "sıfırlama" sinyali girişine dönüştürebilir veya dönüştüremez (bu biti kaydedilen değere bağlı olarak). Bizim durumumuzda "reset" girişi gereklidir (yokluğunda MK'yi SPI üzerinden programlama moduna geçirmek mümkün olmayacaktır). Saat sinyalinin kaynağını belirten CKSEL grubunun bitleri de vardır. SPI kullanımını engellemezler, fakat aynı zamanda akılda tutulmalıdırlar, çünkü eğer saat darbeleri yoksa ya da frekansları izin verilen SPI hızının altındaysa, hiçbir şey işe yaramamaktadır. Genellikle dahili bir RC-jeneratörü olan yeni MK'lerde, CKSEL grup bitleri onu kullanmak için ayarlanır. Bundan oldukça memnunuz - zamanlama, bizim tarafımızdan herhangi bir ek çaba sarf etmeden sağlanır. Ne kuvars rezonatör lehimlidir ne de harici bir jeneratör bağlanır. Bu bitler farklı bir ayar içeriyorsa, zamanlamaya göre ayarlara dikkat etmeniz gerekir. Bu durumda, bir kuvars rezonatörünü veya harici bir saati MC'ye bağlamanız gerekebilir. Fakat bu yazı çerçevesinde, bunun nasıl yapıldığını düşünmeyeceğiz. Bu makaledeki programlama örnekleri en basit durum için tasarlanmıştır.
Şimdi, ATmega128A MC dokümantasyonundan alınan Şekil 1'e bakınız. MK'ye bir bayt aktarma ve aynı anda MK'den bir bayt alma işlemini gösterir. Gördüğümüz gibi, bu süreçlerin her ikisi de, programcıdan mikrodenetleyiciye gelen aynı saat atımlarını, SPI programlama modunda bu role atanan çipin pinlerinden biri olan SCK girişine kullanır. İki sinyal hattı, veri alımı ve saat döngüsü başına bir bit iletimi sağlar. MOSI girişi aracılığıyla, veriler mikrodenetleyiciye beslenir ve okunan veriler MISO çıkışından alınır. SCK'den MISO'ya ve MOSI'ye çizilen iki noktalı çizgiyi not edin. Mikrokontrolcunun MOSI girişindeki bir miktar veriyi "yutar" ve bu noktada veri bitini MISO çıkışına maruz bıraktığını gösterirler. Her şey yeterince basit. Ancak MC'yi programlama moduna girmek için hala bir RESET sinyaline ihtiyacımız var. Ortak GND tel ve VCC gücü hakkında da unutmayın. Toplamda, SPI ürün yazılımı için mikro denetleyiciye sadece 6 kablo bağlantısının bağlanması gerektiği ortaya çıkıyor. Aşağıda, buna daha yakından bakacağız ve şimdilik, MK ile SPI programlama modunda veri alışverişi 4 baytlık paketler tarafından gerçekleştirildiğini ekleyelim. Her paketin ilk baytı temelde komutu kodlamak için ayrılmıştır. Birincisine bağlı olarak ikinci bayt, komut kodunun veya adresin bir parçası olabilir ve keyfi bir değere sahip olabilir. Üçüncü bayt çoğunlukla adreslerin aktarımı için kullanılır, ancak birçok komutta rasgele bir değer olabilir. Dördüncü bayt normalde veri iletir veya keyfi bir değere sahiptir. Dördüncü bayt aktarımıyla eşzamanlı olarak, bazı komutlar MK'den gelen verileri alır. Her komutla ilgili ayrıntılar, kontrolörün "SPI Seri Programlama Talimat Seti" olarak adlandırılan tabloda yer alan dokümantasyonda bulunabilir. Şimdilik sadece denetleyiciyle olan tüm değişimin, her biri en fazla bir baytlık yararlı bilginin iletildiği bir 32-bit paketler dizisinden oluşturulduğuna dikkat çekiyoruz. Bu çok uygun değil, ama genel olarak iyi çalışıyor.
3. MK'yi programlama için bağlama
Gerekli tüm sinyallerin, SPI arayüzünü düzenlemek ve MISO çıkışından veri okumak için mikro kontrolörün girişlerine beslendiğinden emin olmak için, bir programlayıcı oluşturmak gerekli değildir. Bu en yaygın USB-RS232TTL dönüştürücü ile yapmak kolaydır.
İnternette, bu tür dönüştürücülerin daha düşük olduğu, onların onlarla ciddi bir şey yapamayacağı hakkında bilgi bulmak genellikle mümkündür. Ancak çoğu dönüştürücü modeliyle ilgili olarak, bu görüş yanlıştır. Evet tasarımı ticari olarak katlanır aynı anda sahip olan standart COM-bağlantı göre tüm giriş ve çıkışlar mevcut değildir mevcut konvertisörler, (örneğin, sadece TXD ve RXD) vardır (plastik ile dolu çip - kendi sonuçlara ulaşmak için mümkün değildir). Ama bunlar satın almaya değmez. Bazı durumlarda, kabloyu doğrudan çipe lehimleyerek portun kayıp giriş ve çıkışlarını alabilirsiniz. Böyle bir "geliştirilmiş" dönüştürücünün bir örneği, Şekil 2'de (PL-2303 yongası), makalede "akıllı ev için basit çözümler" konusundaki sonuçların belirlenmesi hakkında daha fazla ayrıntı için gösterilmiştir. Bu en ucuz modellerden biridir, ancak kendi kendine yapılan yapılarda kullanıldığında avantajları vardır. Bir COM portu gibi, standart bir dokuz pimli konektöre sahip, yaygın olarak dağıtılmış ve tam özellikli kablolar-adaptörler. Her zamanki COM portundan, sadece TTL seviyelerinde ve eski yazılım ve eski cihazlarla uyumsuzlukta farklılık gösterirler. Ayrıca, çeşitli aşırı testler üzerindeki CH34x çipinin üzerindeki kabloların, PL-2303'teki dönüştürücülere kıyasla kendilerini çok daha güvenilir ve kararlı olduklarına da dikkat çekilebilir. Bununla birlikte, normal kullanımda, fark göze çarpmamaktadır.
Bir USB-RS232TTL dönüştürücüyü seçerken, sürücünün, kullanılan işletim sisteminin sürümü ile uyumluluğuna da dikkat etmelisiniz.
Mikrodenetleyici ve USB-RS232TTL dönüştürücüyü dört farklı MK modeli örneğine bağlamak prensibine daha yakından bakalım: ATtiny13, ATtiny44, ATmega8 ve ATmega128. Şekil 3, bu bağlantının genel şemasını göstermektedir. RS232 sinyallerinin (RTS, TXD, DTR ve CTS) amaçlandığı gibi kullanılmamasına şaşırabilirsiniz. Ancak bunun için endişelenmeyin: "Perpetuum M" programı doğrudan onlarla çalışabilir - çıkışlardaki değerleri ayarlayın ve giriş durumlarını okuyun. Her halükarda, CH34x ve PL-2303 yongalarındaki yaygın USB-RS232TTL dönüştürücüler böyle bir olanak sağlar - kontrol edilir. Diğer popüler dönüştürücülerle birlikte, standart Windows işlevleri bağlantı noktasına erişmek için kullanıldığından da sorun olmamalıdır.
Genel programda gösterilen dirençler, prensipte, yükleyemezsiniz, ancak yine de kurulumu daha iyidir. Amaçları nedir? Dönüştürücünün TTL girişlerini ve çıkışlarını ve mikro denetleyicinin beş voltluk güç kaynağını kullanarak, mantıksal seviyelerin uzlaştırılması ihtiyacından kurtuluruz - her şey oldukça doğrudur. Bu nedenle, bağlantılar doğrudan olabilir. Ancak deneyler sırasında her türlü var. Örneğin, kötücül yasasına göre, bir tornavida düşmeyecek bir yere düşebilir ve kapanan her durumda kapanamaz. "Tornavida" rolünde, elbette, her şey bir şey olabilir. Bu durumda dirençler bazen sonuçları azaltır. Amaçlarından bir diğeri olası bir çıkar çatışmasını ortadan kaldırmaktır. Nokta, programlama bittikten sonra mikrokontrolörün normal çalışma moduna geçmesi ve MK'de kaydedilen programa göre dönüştürücü çıkışına (RTS, TXD veya DTR) bağlı çıkışının da bir çıkışa dönüşebileceğidir. Bu durumda, doğrudan iki bağlantılı çıktı "mücadele" olacaksa çok kötü olacaktır - farklı mantıksal seviyeler oluşturmaya çalışın. Böyle bir "mücadelede", bir kişi "kaybedebilir", ancak buna ihtiyacımız yok.
Üç rezistörün değerleri 4.3 KOhm'da seçilir. Bu, dönüştürücünün çıkışının bağlantılarına uygulanır - mikro denetleyicinin girişi. Dirençlerin doğruluğu bir rol oynamaz: direncini 1 KΩ'ye indirebilir veya 10 KΩ'ya yükseltebilirsiniz (fakat ikinci durumda, MK'ye giden yolda uzun tellerin kullanılmasına karışma riski). Dönüştürücü girişinin (CTS) bağlantısı - mikrodenetleyicinin (MISO) çıkışı için, burada 100 ohmluk bir direnç uygulanır. Bu, kullanılan dönüştürücünün girişinin özelliklerinden kaynaklanmaktadır. Testler sırasında PL-2303 yongası üzerinde bir dönüştürücü kullanıldı, ki bu girişler görünüşe göre güç ile artı olarak nispeten düşük bir dirençle (birkaç yüz Ohm sırasına göre) sıkıştırıldı. "Askıyı öldürmek" için çok az dirençli bir direnç koymak zorunda kaldı. Ancak, hiç bir şey koyamazsınız. Dönüştürücüde her zaman bir girdi. Bu bir çıkış noktası olamaz ve dolayısıyla herhangi bir olayın gelişiminde çıkış çatışması olmayacaktır.
Mikrodevre, A / D dönüştürücüye (örneğin, ATmega8 veya ATmega128) güç sağlamak için ayrı bir AVCC pinine sahipse, VCC ortak güç terminaline bağlanmalıdır. Bazı çiplerin birden fazla VCC güç çıkışı veya birden fazla GND vardır. Örneğin, ATmega128'in 3 GND pini ve 2 VCC pimi vardır. Kalıcı tasarımda, aynı sonuçları birbirleriyle birleştirmek daha iyidir. Bizim durumumuzda, programlama süresi için bir VCC ve GND pin kullanılabilir.
Ve burada ATtiny13 bağlantısı nasıl görünüyor. Şekil, SPI aracılığıyla programlanırken kullanılan çıkışların amacını göstermektedir. Fotoğrafın yanında - geçici bir bağlantının gerçekte nasıl göründüğü.
Birisi bunun ciddi olmadığını söyleyebilir - postalardaki bağlantılar. Ama biz seninle mantıklı insanlar. Amacımız mikrodenetleyiciyi programlamak, üzerinde minimum zaman ve diğer kaynakları harcamak ve birine göstermemek. Bu durumda kalite acı çekmez. Bu durumda "gönderme" yöntemi oldukça etkili ve haklı. Denetleyici sabit yazılımı bir kerelik bir prosedürdür, bu nedenle "strasics" ile asmak hiçbir anlam ifade etmez. Gelecekte ürün yazılımını değiştirmeyi düşünüyorsanız, denetleyiciyi devre dışı bırakmadan (bitmiş üründe), bu cihazın kurulumunda dikkate alınır. Bu amaç için genellikle konektör (RESET, SCK, MOSI, MISO, GND) kurulur ve MK kuruluma monte edildikten sonra bile parlayabilir. Ama bunlar yaratıcı lezzetler. En basit davayı düşünüyoruz.
Şimdi ATtiny44'e geçelim. İşte her şey aynı. Resme ve fotoğraflara göre, yeni başlayanlar bile bağlantıyı anlamakta zorlanmayacaklar. ATtiny44 gibi, MK ATtiny24 ve ATtiny84'ü bağlamak mümkündür - bu trinity için pin ataması aynıdır.
Kontrolörün programlanması için geçici bir bağlantının başka bir örneği de ATmega8'dir. Burada daha fazla sonuç var, ama prensip aynı - birkaç kablolama, ve şimdi denetleyici, bilgiyi "dökmek" için hazır. Pin 13'ten gelen fotoğraftaki fazla siyah tel, programlamaya katılmıyor. Programlama modundan MC çıkışından sonra ses sinyalini çıkarmak için tasarlanmıştır. Bunun nedeni, "Perpetuum M" için komut dosyasının hata ayıklaması sırasında, müzik kutusunun bir programının MC'ye pompalanmasıdır.
Genellikle bir denetleyici farklı muhafazalarda kullanılabilir. Bu durumda, her dava için pin atamaları kendi yollarına dağıtılır. Denetleyicinizin durumu şekilde gösterilenle aynı değilse, MC geliştiricisinin sitesinden indirilebilecek teknik belgelere ilişkin sonuçların amacını belirtin.
Bütünlük adına, IC çipinin çok sayıda "bacak" ile bağlantısını görelim. Pin 15'ten gelen fotoğraftaki fazla siyah telin atanması, tam olarak ATmega8'deki ile aynıdır.
Muhtemelen, her şeyin yeterince basit olduğundan emin oldunuz. Çiplerin sonuçlarını nasıl okuyacağını bilen (bir dairenin saat yönünün tersine), o bunu çözecektir. Ve doğruluğu unutma. Mikroçipler düzgün bir şekilde sever ve kendilerine karşı dikkatsiz tutumları affetmez.
Program bölümüne devam etmeden önce, USB-RS232TTL dönüştürücü sürücüsünün doğru şekilde kurulduğundan emin olun (Windows Aygıt Yöneticisi'ni kontrol edin). Dönüştürücü bağlandığında görüntülenen sanal COM bağlantı noktasının numarasını hatırlayın veya not alın. Bu sayının, aşağıda okuduğu yazıyla metnin içine girilmesi gerekecektir.
4. "Perpetuum M" için senaryo programcısı
"Programcı" nın donanımı ile anladım. Bu zaten savaşın yarısı. Şimdi yazılım bölümünü anlamak için kalır. Rolü, mikrokontrolör ile etkileşim için gerekli tüm fonksiyonların gerçekleştirildiği, komut dosyasının kontrolü altındaki "Perpetuum M" programı ile gerçekleştirilecektir.
Script ile arşiv program perpetuum.exe bulunduğu aynı klasörde açılmalıdır. Bu durumda, perpetuum.exe dosyasını çalıştırdığınızda, ekranda "AVR MK Programmer" satırı olacak, yüklü betikleri içeren bir menü görünecektir (sadece bir tane olabilir). İhtiyacımız olan bu çizgi.
Komut dosyası, "AVR.pms MC programmer" dosyasındaki PMS klasöründe bulunur. Bu dosya, gerekirse Windows Not Defteri gibi düzenli bir metin düzenleyicisinde görüntülenebilir, incelenebilir ve düzenlenebilir. Komut dosyasını kullanmadan önce, büyük olasılıkla bağlantı noktası yapılandırmasıyla ilişkili metinlerde değişiklik yapmanız gerekecektir. Bunu yapmak için, Windows Aygıt Yöneticisi'nde bağlantı noktasının adını belirtin ve gerekirse, "AdPort = 'COM4';" satırında uygun düzeltmeyi yapın. - Şekil 4 yerine başka bir şekil olabilir. Ayrıca, farklı bir USB-RS232TTL dönüştürücü modeli kullanırken, sinyal çevirme ayarlarını ("Yüksek" ile başlayan komut satırları) değiştirmeniz gerekebilir. USB-RS232TTL dönüştürücüsünün sinyallerini tersine çevirerek Perpetuum M programının kullanım kılavuzundaki örneklerden birini (portla çalışmak için fonksiyonlar bölümü) kontrol edebilirsiniz.
Alt klasöründe MK_AVR'de desteklenen kontrolörlerin açıklamalarına sahip dosyalar vardır. İstenilen kontrolör onların arasında değilse, benzetme ile hareket ederek kendiniz ekleyebilirsiniz. Örnek için dosyalardan birini alın ve gerekli verileri girmek için metin düzenleyiciyi kullanın ve bunları mikrodenetleyicinizdeki belgelerden alın. Ana şey - dikkatli olun, hatasız veri girin, aksi halde MC programlanmamış veya yanlış programlanmış. Orijinal versiyon 6 mikrodenetleyiciyi destekler: ATtiny13, ATtiny24, ATtiny44, ATtiny84, ATmega8 ve ATmega128. Komut, bağlı denetleyiciyi otomatik olarak tanır - bunu manuel olarak belirtmeniz gerekmez. Kullanılabilir açıklamalar arasında MK'den okunan bir tanımlayıcı yoksa, denetleyicinin tanınamayacağı konusunda bir mesaj verilir.
Komut dosyasıyla birlikte olan arşiv ayrıca ek bilgiler içerir. "AVR kontrol cihazlarının inc-dosyaları" klasöründe kontrolörlerin tanımlama dosyalarının çok kullanışlı ve kapsamlı bir koleksiyonu vardır. Bu dosyalar MK için kendi programlarınızı yazarken kullanılır. Bir başka dört klasör "MusicBox_". Program ile birlikte Assembler'daki dosyaları içerir ve MK firmwareinde ATtiny13, ATtiny44, ATmega8 ve ATmega128 için ayrı olarak indirilmeye hazırdır. Bu makalede önerildiği gibi, programlama için bu MC'lerden birini daha önce bağladıysanız, şimdi onu yazabilirsiniz - bir müzik kutusu alırsınız. Bu konuda aşağıda.
Komut dosyası menüsünde "AVR Programmer" satırını seçerseniz, betik çalışmaya başlar. Bunu yaparken, portu açar, programlama moduna girmek için MC'ye bir komut gönderir, başarılı geçiş hakkında MK'den bir onay alır, MK ID'sini talep eder ve açıklama ile mevcut dosyalar arasında kendi kimliğini kullanarak MK açıklamasını arar. Gerekli açıklamayı bulamazsa, uygun bir mesaj verecektir. Açıklama bulunursa, programcının ana menüsü açılır. Ekran görüntüsü, Şekil 8'de görülebilir. Ayrıca anlamak zor değildir - menü çok basittir.
Komut dosyasının ilk sürümünde tam bir programcının bazı işlevleri uygulanmaz. Örneğin, EEPROM’a yazmanın ve yazmanın bir yolu yoktur. Ancak, senaryonu bir metin editöründe açarsanız, çok küçük bir boyuta sahip olduğunu görürsünüz. Bu, eksik fonksiyonları eklemenin çok zor olmadığını - dilin çok esnek olduğunu, küçük bir programın zengin işlevselliği gerçekleştirmesini sağladığını gösterir. Ancak çoğu durumda, mevcut işlevler bile yeterli olacaktır.
Bazı işlevsellik sınırlamaları doğrudan komut dosyasının metninde açıklanmıştır:
// kayıt sadece sıfır adresinden gerçekleştirilir (Genişletilmiş Segment Adres Kaydı göz ardı edilir, YÜK KAPALI da)
// HEX dosyasındaki kayıtların sırası ve sürekliliği kontrol edilmedi
// sağlama toplamı kontrol edilmedi
Bu, MK için yazılım kodunun alındığı HEX dosyasıyla ilgili çalışmayı ilgilendirir. Bu dosya bozuk değilse, sağlama toplamını bir şey etkilemez. Bozulursa, bu betik aracılığıyla bunu tespit etmek mümkün olmayacaktır. Çoğu durumda kalan kısıtlamalar müdahale etmez, ancak hala ihtiyaç duyduklarını unutmayın.
Programlama sırasında ve kontrol okuma sırasında işlem aşamasında pencerede oluşturulan metnin kaydedilmesi tavsiye edilir. Dosyalar aynıysa - giriş hatasız geçti.
5. Müzik kutusu - yeni başlayanlar için basit bir el yapımı makale
Bu mikrodenetleyicilerinizden birine sahipseniz: ATtiny13, ATtiny44, ATmega8 veya ATmega128, bir müzik kutusuna veya müzik kartına kolayca dönüştürebilirsiniz. Bunu yapmak için, ilgili firmware'i MC'ye yazmanız yeterlidir - bunlardan dördü "MusicBox_" klasöründe bulunur. Script ile bir arşivde. Ürün yazılımı kodları ".hex" uzantılı dosyalarda saklanır. Bu el sanatları için ATmega128 kullanın, elbette, "zhirnovato", ATmega8 gibi. Ancak, başka bir deyişle, eğitim amaçlı olarak test veya deney için yararlı olabilir. Assembler'deki programların metinleri de eklenmiştir. Programlar sıfırdan oluşturulmamıştı - program AV Belov'un "amatör radyo pratiğinde AVR mikrodenetleyici" kitabındaki müzik kutusuna dayanıyordu. Orijinal program bir dizi önemli değişiklik geçirdi:
1. Her dört MC için uyarlanmıştır: ATtiny13, ATtiny44, ATmega8 ve ATmega128
2. düğmeler elimine edilir - güç ve ses yayıcı haricinde kontrolöre hiçbir şey bağlanması gerekmez (melodiler sonsuz bir döngüde birbiri ardına çalınır)
3. Müzik notalarının ihlali ortadan kaldırmak için notların arasındaki duraklama süresiyle her notanın süresi kısalır.
4. sekizinci melodi bağlanır, kitap sürümünde kullanılmaz
5. öznel olandan: algoritmanın optimizasyonu ve daha kolay algılanması için bazı "iyileştirmeler"
Bazı ezgilerde, özellikle "Gülümseme" de - yanlışlık ve hatta brüt hatalar duyulur. Melodilerin kodları kitaptan alınır (ya da yazarın kitabının orijinal asm-dosyası ile birlikte indirilmesi) ve değişikliklere tabi tutulmaz. Anlaşılan, melodilerin kodlanmasında hatalar var. Ama bu bir sorun değil - müzikle "arkadaş" olan, her şeyde zorluk çekmeden bunu anlamaya ve düzeltmeye.
ATtiny13'te, notların çalınması için 16-bitlik bir sayımın olmaması nedeniyle, 8-bit'in kullanılması gerekliydi, bu da notaların doğruluğunun kesinliğinde bir azalmaya yol açtı. Fakat bu duyma, çok fark edilmez.
Yapılandırma bitleri hakkında. Onların ayarları yeni mikro denetleyicinin durumuyla eşleşmelidir. MK'niz daha önce bir yerlerde kullanılıyorsa, yapılandırma bitlerinin durumunu kontrol etmeniz ve gerekirse bunları yeni mikro denetleyicinin ayarları ile hizalamanız gerekir. Yeni bir mikrodenetleyicinin yapılandırma bitlerinin durumunu bu MC'nin belgelerinden ("Sigorta Bitleri") kontrol edebilirsiniz. İstisna, ATmega128'dir. Bu MK, eski ATmega103 ile bir uyumluluk modu içeren biraz M103C'ye sahiptir. M103C bitinin etkinleştirilmesi, ATmega128'in yeteneklerini büyük ölçüde azaltır ve bu bit yeni MK'de aktiftir. M103C'yi pasif durumda sıfırlamanız gerekir. Yapılandırma bitlerini değiştirmek için program programlayıcısının menüsünün ilgili bölümünü kullanın.
Müzik kutusunun düzeni mantıklı değildir: sadece bir mikro denetleyici, bir güç kaynağı ve bir piezo-akustik radyatör içerir. Güç, MK programlanırken yaptığımız gibi verilir. Ses verici, ortak tel (GND kontrol cihazı çıkışı) ile MK pinlerinden biri arasına bağlanır, bu sayının numarası programın assembler koduyla (*.asm) görüntülenebilir. Her MC için programın metninin başında yorumlarda bir satır vardır: "Ses çıkışı, XX çıkışında oluşturulur". Komut dosyası programlayıcı bittiğinde, mikrodenetleyici programlama modundan çıkar ve normal çalışma moduna geçer. Hemen melodi oynamaya başlar. Ses vericiyi bağladıktan sonra kontrol etmek mümkündür. Kristalin programlanması sırasında bağlı olan ses vericisini sadece ses SPI'da kullanılmayan çıkıştan çıkarılırsa bırakabilirsiniz, aksi takdirde çıkıştaki ek kapasite programlamayı etkileyebilir.
Başarılı deneyler!
Devre içi programlayıcının nasıl yapılacağı hakkında da bilgi edinin, böylece mikrodenetleyiciyi devre dışı bırakmadan ürün yazılımını değiştirebilirsiniz.
PL-2303'e ek olarak, bu yazıda kullanılana benzer, arayüz dönüştürücülerin oluşturulduğu diğer çipler de vardır. Bir USB-UART dönüştürücüsünün (çip CH340G'de) ve USB-RS232TTL için modifikasyonunun açıklamasını okuyun.
Bu yazı hakkındaki yorumlar konuk defterine bırakılabilir.