İçindekiler:
- Adım 1: Özellikler ve Parçalar
- Adım 2: Breadboard Düzeni, Şeması ve Yapısı
- 3. Adım: Kullanım ve Uygulama
Video: VUSBTiny AVR SPI Programcısı: 3 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
bir usbtiny isp programcısı yaptıktan ve 6 ay boyunca kullandıktan sonra, taşımak için bir tane daha yapmayı düşünüyordum. usbtiny isp tasarımının sadeliğini seviyorum ama daha da küçültmek ve daha az parça almak istiyorum. Orijinal tasarımda değiştirmek istediğim bir şey saat kristali kullanımını ortadan kaldırmak. Bulduğum bir çözüm, v-usb sürücülerinin attiny25/45/85 cihazlarda 16.5Mhz dahili osilatörü desteklemesidir. bu yüzden bu projeye usbtiny isp'nin usb iletişimi için v-usb kullanması için başladım. Anında sağladığı fayda, yerden tasarruf sağlaması ve daha az bileşen sayısına sahip olmasıdır (artık kristal yok). Atmel ATtiny mikrodenetleyicileri için protokol. Elbette ATmega serisinde de çalışacak. Yazılım, saat hızı 12 MHz olan bir AVR için yazılmıştır. Bu frekansta, USB veri yolundaki her bit 8 saat döngüsü alır ve birçok hile ile USB dalga formlarını yazılımla çözmek ve kodlamak mümkündür. USB sürücüsü, yapılandırmaya ve derleyici sürümüne bağlı olarak yaklaşık 1250 ila 1350 bayt flash alanına (isteğe bağlı tanımlama dizeleri hariç) ve 46 bayt RAM'e (yığın alanı hariç) ihtiyaç duyar. C arayüzü, https://www.obdev.at/products/vusb/ adresindeki configuration.vusb açıklamasına bağlı olarak 3 ila 5 işlevden oluşur. V-USB, Atmel's için düşük hızlı bir USB aygıtının yalnızca yazılım uygulamasıdır. AVR mikrodenetleyicileri, herhangi bir ek çip gerektirmeden hemen hemen her AVR mikrodenetleyici ile USB donanımı oluşturmayı mümkün kılar. Yapım ve kullanım hakkında video
Adım 1: Özellikler ve Parçalar
* usbtiny isp'den programlama mantığı, olgun avr-dude desteği * küçük ayak izi * minimum bileşenler * hedef cihaza güç sağlar hedef mcus'a giden io hatlarının korunmadığını unutmayın. https://www.obdev.at/vusb/ usbtiny isp https://www.xs4all çerçevesinden v-usb'de bulunan çalışmalara göre SCK ve MOSI'ye 1k-2k dirençler ekleyerek olası yanlış bağlantı referanslarına karşı koruma sağlayabilirsiniz. nl/~dicks/avr/usbtiny/parça listesi * attiny45/85 (85 daha kolay gelir) * 3.6v zener diyotlar (1n747, BZX79,..1W tiplerinden kaçının) * 68ohm direnç x 2 * 1.5K direnç * mini breadboard 170 bağlantı noktası * usb kablosu (dolar dükkanı usb yazıcı kablosu iyidir) * io hatları koruması için 1k/2k dirençler (isteğe bağlı) gerekli araçlar * çalışan bir avr programcısı (evet, bu bir catch22, bir tane yapmamız gerekiyor) * çalışan avr programlama ortamı
Adım 2: Breadboard Düzeni, Şeması ve Yapısı
yapı
* breadboard düzenini takip edin, bileşenler, 3 direnç, 2 diyot, 1 kapak artı 8 pin mcu yok. * Bir dolar dükkanı usb yazıcı kablosunu yazıcının ucunu kesin, 4 açık tel olacak, sabitleyin ve 4 pinli erkek başlık haline getirin, bunu breadboard'a bağlamak için kullanacağız. düzen ve pin ataması için şemaya bakın (J1). * diyot polaritesine dikkat edin.
projeyi inşa etmek ve yanıp sönmek
proje, avr-gcc toolchain ile bir linux ubuntu lucid kutusunda inşa edildi. zaten böyle bir ortamınız olduğu varsayılır veya nasıl kurulacağını internetten öğrenebilirsiniz. kaynak kodları, kalıtım yoluyla lisanslanan gnu gpl v2'dir.
kaynak kodu v-usb tarafından önerilen bir kuralı izler, vusbtiny.tgz kaynak paketini indirebilir ve bir proje dizinine katlanmamış olarak indirebilirsiniz. kaynak dizininizde, benim değiştirilmiş usbtiny programlayıcı versiyonum olan bir main.c var. ve v-usb katmanını içeren bir usbdrv alt dizini. Lütfen bunu oluştururken yukarıdaki iki projedeki lisans koşullarına uyun. programcı mantığıyla ilgili kaynağım ladyada versiyonuna değil (neredeyse aynı olmalarına rağmen) Dick Streefland versiyonuna dayanıyor.
Çok zincirli bir yapıya sahip olmayanlar için aşağıdaki ikili dosyayı kullanabilirsiniz.
vusbtiny.hex'i indirmek için tıklayın
ve bellenimi flaş etmek için avrdude kullanın
avrdude -c usbtiny -p t45 -e -V -U flash:w:usbtiny.hex
(cihazınız bir tiny85 ise, -p t45 w/ -p t85'i değiştirin)
kaynak buradan indirebilirsiniz vusbtiny.tgz indirmek için tıklayın
kaynak paketi çalışma dizininize çıkarın
tar -zxvf vusbtiny.tgz
* vusbtiny çalışma dizinine geçmek için cd vsubtiny yapın * kullanacağınız çipe göre hedef cihaz için bir makefile yapın. yani PROGRAMMER_MCU=t45 veya t85 * make yapın * favori ISP programlayıcınızı ekleyin * makefile'i değiştirin ve gerekirse avrdude parametrelerinizi değiştirin. stok bir USBTiny programcısı varsayar. yani AVRDUDE_PROGRAMMERID=usbtiny * make install aracılığıyla flash bellenimi
Firmware yanıp söndükten sonra sigortayı düzgün bir şekilde ayarlamamız gerekiyor, bu projede pin 1 reseti io olarak kullanıyoruz
* usb zamanlaması için v-usb katmanının gerektirdiği şekilde kullanılan ppl saati * io olarak kullanmamız gerektiğinden sıfırlama pini devre dışı
avrdude -c usbtiny -p t45 -V -U lfuse:w:0xe1:m -U hfuse:w:0x5d:m -U efuse:w:0xff:m
io için RESET pinine (pin1) ihtiyacımız olduğundan, bu ayar 5V SPI aracılığıyla daha fazla programlamayı devre dışı bırakır. sigortayı kurtarmak için bir HVSP programlayıcısına erişmeniz gerekecek.
3. Adım: Kullanım ve Uygulama
breadboard üzerinde doğrudan yanıp sönme
8 pinli AVR cihazlarını flaş etmek için vusbtiny kullanıyorsanız, hedef cihazınıza programlayıcı cihazın üstüne basmanız yeterlidir. programlayıcı, programlama pinleri hedeflerle eşleşecek şekilde tasarlanmıştır. Yine de bir püf noktası var, PC'ye bağlanan USB D+ ve D- pinleri oldukları için programlayıcı mcu'daki pin 2 ve 3'ü izole etmeniz gerekecek. Bunu başarmak için bir parça bant kullanıyorum, fotoğraflarda görebilirsiniz. Aşağıdaki gösteri, tiny45'te bellenimi almaya hazır bir tiny13v "sürme" dir.
ISP, jumper üzerinden yanıp sönüyor
ISP (sistem içi programlama) aracılığıyla bir hedef devreyi programlamak için bir ISP kablosuna ihtiyacınız vardır. burada standart 2x3 veya 2x5 pin başlıklarını kullanmıyorum. Bunun yerine, daha çok breadboard dostu olan bir 1x6 jumper kullanıyorum, bunları breadboard düzeninde ve şemalarında gösterildiği gibi J2'ye eşleyerek 2x3 veya 2x5 pin başlığı yapabilirsiniz. Aşağıdaki fotoğraf, ISP aracılığıyla flaşlanmaya hazır bir küçük 2313'ü göstermektedir.
sorun giderme
* bellenimi yanıp sönemez mi? orijinal programlayıcınızı kontrol edin, avrdude'daki -B bayrağı aracılığıyla zamanlamayı ayarlamanız gerekebilir. çip 1'i okumaya çalışın, bozuk bir sigorta olabilir, çipinizin harici bir saat sinyaline ihtiyacı olabilir. çipinizi varsayılan 1'e geri döndürmeniz gerekebilir. * Bağlantıları kontrol edin * Farklı io pinleri kullanıyorsanız, kodu ve bağlantıları kontrol edin * 500mw, 400mw tiplerinde zener diyotları değiştirebilirsiniz * R3 değerini 1.2K veya altına düşürmeyi deneyebilirsiniz -B bayrağı avrdude, daha kısa bir USB kablosuna sahip olmanıza yardımcı olur
Önerilen:
(neredeyse) Evrensel MIDI SysEx CC Programcısı (ve Sıralayıcı): 7 Adım (Resimlerle)
(neredeyse) Evrensel MIDI SysEx CC Programcısı (ve Sequencer…): Seksenlerin ortalarında synth üreticileri "daha az iyidir"; barebone sentezlerine yol açan süreç. Bu, üretici tarafında maliyetlerin azalmasına izin verdi, ancak nihai kullanım için yama sürecini imkansız değilse de sıkıcı hale getirdi
Arduino Projelerinizi Küçültün - ATmega328P Programcısı Olarak Arduino UNO (https://youtu.be/YO61YCaC9DY): 4 Adım
Arduino Projelerinizi Küçültün | ATmega328P Programcısı Olarak Arduino UNO (https://youtu.be/YO61YCaC9DY): Video Bağlantısı: https://youtu.be/YO61YCaC9DYProgramlama Arduino'yu ISP (Sistem İçi Programlayıcı) olarak kullanan ATmega328P, Arduino özelliklerini bir breadboard veya PCB. Üniversite projenizi yaparken çoğunlukla yardımcı olur. Azaltır
Arduino Uno için ATtiny Programcısı: 3 Adım
Arduino Uno için ATtiny Programmer: Arduino platformuna güveniyorsanız ve diğer bazı atmel mikrodenetleyicilerini programlamayı denemek istiyorsanız, bu kılavuz ilk adımlarınızı yapmanıza yardımcı olacaktır. Özellikle Arduino Uno uyumlu kartlar için pro
Atmel Studio için Ucuz STK500 AVR Programcısı: 7 Adım
Atmel Studio için Ucuz STK500 AVR Programcısı: Atmel Studio, AVR programları yapmak için güçlü bir araçtır, ancak bir program yazmak ilk adımdır. Programınızı kullanmak için bir devre yapıp kodunuzu mikrodenetleyiciye aktarmalısınız. AVR'nizi Atmel Studio'dan aşağıdakileri kullanarak programlayabilirsiniz
AVR Mikrodenetleyicileri için ISP Programcısı: 4 Adım
AVR Mikrodenetleyiciler için ISP Programlayıcı: Bir mikrodenetleyici programcısı, makine dili kodunu PC'den mikrodenetleyiciye/EEPROM'a aktarmak için kullanılan yazılımla birlikte bir donanım cihazıdır. AVR mikrodenetleyicileri için ISP programcısı, aşağıdakileri kullanan Seri Programcılardır