Ek ISP konektörlü FTDI Koparma


12

TL; DR - Altı sarı ISP pimi normal bir ISP olarak kullanılabilir mi?


Her zamanki USB-TTL FTDI koparma kartı şöyle görünür:

USB-TTL FTDI Koparma kartı

Son zamanlarda, aşağıda gösterilen bir tahta türüne rastladım. Ancak, bu karttaki ek sarı başlık pimleri ne içindir? Bunlar ISS olarak etiketlenmiştir.

ISP'li USB-TTL FTDI Koparma kartı

İşte arkadan bir görünüm:

ISS arkaya sahip USB-TTL FTDI Koparma kartı

Peki bunlar gerçekten standart bir ISS / ICSP olarak kullanılabilir mi?

AVR-ICSP

Bununla birlikte, söz konusu 6 pimi etiketleyen aşağıdaki şemaya göre, sinyal hatlarının geçerli bir korelasyonu olduğundan emin değilim.

USB-TTL FTDI efsaneli ISP'li koparma kartı

Yani CTS to MISO, RI to RST, DSR to SCK ve DCD to MOSI çalışır mı? Veya FT232RL : USB'den Seri 232 TTL Adaptör -? Ve ISS'de belirtildiği gibi özel bir avrdude sürümü gerekli mi? - sonrası # 6 :

Yeni bir özellik olarak 6 pimli bir ISP başlığı mevcut. Bununla birlikte, avrdude ve avrftdi Atmels ve Arduino önyükleyicilerini programlayabilirsiniz. Derlenmiş FTDI sürücüsü ile özel bir avrdude sürümü gereklidir.

Ancak derlenmiş FTDI sürücüsü ile avrdude'un bu sürümüne sağlanan bağlantı kesildi.

Ayrıca, # 7'den sonra, bu pimlerin eski Arduino Dicimila / NG / Duemilanove kartlarında olduğu gibi aslında bir X3 konektörüne eşdeğer olduğu söylenir .

Diecimila üzerindeki X3 başlığı

ve bunlar (belli ki) biraz çarptım SPI olarak,

X3 üstbilgisini Diecimila'daki ISP üstbilgisine bağlama

RI, CTS, DCD ve DSR (etiketli RSD) pimlerinin, orijinal FTDI koparma kartının kenarları boyunca mevcut olduğuna dikkat edilmelidir. Peki, ISP başlığına sahip koparma panosu, aynı sinyallere farklı bir başlık kullanarak erişim sağlıyor mu?

Biraz kafam karıştı - bunu biraz düşündüm ve bu koparma panosu sadece bir ISS / ICSP başlığı ve bir FTDI konektörü (uygun bir avrdude sürümü ile kullanıldığında) bir panele yuvarlandı mı? Yoksa normal bir ISS başlığı değil mi? Yazı 4'te belirtildiği gibi bu tip koparma panosu ile ilgili özel bir belge bulamıyorum .

Herkes bu altı iğnenin ne için olduğunu söyleyebilir mi? Normal bir İSS başlığı değilse, bunu ayrıntılı bir şekilde kullanabilir misiniz? Bir şema yardımcı olacaktır.

Yanıtlar:


14

Arduino Forum'da bunun hakkında bir konu var - birisinin benzer bir sorusu vardı.


Bu kart için olmayan bir şematik (aşağıda) buldum , ancak başlık pimleri bulduğunuzla aynı şekilde etiketlendi, bu yüzden makul derecede benzer.

FTDI kartı şeması

Başlığın burada belgelendiği gibi "Senkron Bit Bang modu" için kullanıldığı anlaşılıyor: FT232R ve FT245R için Bit Bang Modları (Uygulama Notu AN_232R-01, Belge Referans No .: FT_000339)


Aslında bu üstbilgiyi örneğin FT232R Bitbang Programmer'da açıklandığı gibi bir SPI programcısı olacak şekilde yapılandırabilirsiniz .


Parça çekmecemde benzer bir tahtaya sahip olduğum için bir test yaptım:

FTDI kartı önü

Sizinkine benzer 6 pimli bir başlık için hüküm vardı. Tahtayı ters çevirdiklerinde, sizinkiyle aynı şekilde etiketlendiklerini görebiliriz:

FTDI kartı geri

Bana bir başlık (sarı renkte, tutarlı olmak için) lehimledim:

FTDI başlıklı kart

Pimi 1 (kenarda görünür) göstermek için beyaz bir nokta ekledim, böylece kabloyu doğru şekilde taktım.


Kurulu kullanmaya çalıştığımda avrdude bu mesajı aldım:

avrdude: hata: libftdi veya libusb desteği yok. Libftdi1 / libusb-1.0 veya libftdi / libusb'yi kurun ve configure / make komutunu tekrar çalıştırın.

Yani, sıfırdan derlenmesi gerekiyordu! Eğer takip etmeye çalışıyorsanız Ubuntu 14.04 kullanıyorum. :)


Avrdude indir

Siteye gidin http://www.nongnu.org/avrdude/

6.3 sürümünü indirdim kaynak: http://download.savannah.gnu.org/releases/avrdude/avrdude-6.3.tar.gz

Libusb ve libftdi'yi yükleyin

Derlemeden önce libusb ve libftdi'yi almak zorunda kaldım:

sudo apt-get install libusb-1.0-0-dev
sudo apt-get install libftdi-dev

Ortalama derleme

Şimdi arşivi çıkardıktan ve klasörüne gittikten sonra avrdude yapıyoruz:

./configure --enable-libusb --enable-libftdi
make

Doğru yapılandırmayı bulun

İçinde avrdude.conf(bazı durulması sonra) bulundu avrdude I ile gelir dosyasında bu doğru girdi gibi görünüyor:

# see http://www.geocities.jp/arduino_diecimila/bootloader/index_en.html
# Note: pins are numbered from 1!
programmer
  id    = "arduino-ft232r";
  desc  = "Arduino: FT232R connected to ISP";
  type  = "ftdi_syncbb";
  connection_type = usb;
  miso  = 3;  # CTS X3(1)
  sck   = 5;  # DSR X3(2)
  mosi  = 6;  # DCD X3(3)
  reset = 7;  # RI  X3(4)
;

Pinlerin sayılarla eşlenmesi şu şekilde çalışır ... Yukarıda belirtilen bit patlama modu ile ilgili PDF'den bu tablonuz var, ek açıklamalar mavi renkte:

Bit patlama modu pimleri

Sayılar, "bit çarptım" veri baytındaki bit numarasına (yani 0 ila 7 aralığında) karşılık gelir. Önceki şemadan, örneğin ICSP başlığındaki MISO'nun FT232RL'deki CTS'ye bağlandığını görebiliriz. Bu nedenle MISO, yukarıdaki konfigürasyonda uygunluğunu söylediğimiz veri biti 3'tür. Benzer şekilde SCK, veri biti 5'dir ve bu böyle devam eder.

Böyle test etmeye çalıştım:

./avrdude -C avrdude.conf -carduino-ft232r -pm328p  -v

Düzeltme izinleri

Ben klasördeki bir dosya oluşturarak sabit bir izinleri hata var /etc/udev/rules.d/denilen 71-FTDI.rules. Bunun içinde:

SUBSYSTEMS=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", MODE:="0666"

Rakamlar mesaj panonuz için değişiklik gösterebilir. Satıcıyı ve ürün kimliğini bulmanız gerekir. Ubuntu'da şunları yapabilir lsusbve görebilirsiniz (diğer şeylerin yanı sıra):

Bus 003 Device 061: ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC
                       ^^^^ ^^^^

Kural dosyasına kopyalanan iki onaltılık sayıyı not edin.

Bunu yaptıktan sonra sisteme kuralları yeniden yüklemesini söyleyin:

sudo udevadm control --reload-rules

Ardından yeni izinleri görmek için FTDI kartını çıkarıp yeniden takın.

Test kartı algılama

Son olarak, yukarıdaki ortalama satır çipi çalışır ve okur:

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: safemode: hfuse reads as DE
avrdude: safemode: efuse reads as FD

avrdude: safemode: hfuse reads as DE
avrdude: safemode: efuse reads as FD
avrdude: safemode: Fuses OK (E:FD, H:DE, L:FF)

avrdude done.  Thank you.

Benim bir ATmega328P'ye takılmıştım.


Diavolino'ya bağlı örnek

Bir Atmega328P Programlama

Buraya geldikten sonra, FTDI kartını düz bir kablo ile hedef kartınıza bağlamanız yeterlidir.


özet

Sahip olduğunuz FTDI kartı (ve sahip olduğum) AVR yongaları için yukarıda açıklandığı gibi bir ICSP programcısı olarak kullanılabilir. Böylece basit bir kart hem USB'den seriye dönüştürücü hem de bir ICSP programcısı olabilir.

Benzer panoları eBay'de yaklaşık 5 $ karşılığında satıyorum, bu yüzden muhtemelen oldukça ucuz bir programlama seçeneği.


Teşekkürler Nick. Evet, Arduino forumlarındaki bu konu soruma atıfta bulunduğum konu, ancak nasıl kullanılacağı konusunda gerçekten net değildi - ancak X3 başlık bloguna işaret etti. Sağladığınız ikinci bağlantı, bu konuyu daha da genişletiyor gibi görünüyor, mükemmel, teşekkürler. Ancak, bu özel tahta için özel olarak yazılmış bir blog yok, bu garip.
Greenonline

Bunu yaparsanız, FTDI ile bir USB cihazı olarak konuşacağınıza ve artık işletim sisteminin seri port API'sını kullanmayacağınıza inanıyorum, bu nedenle barındırmak için hangi sistemi kullandığına bağlı olarak ek kurulum / sürücü / izin sorunları olabilir. o. FTDI'nın daha yetenekli FT4232H / FT2232H / FT232H parçaları genellikle bu şekilde JTAG'ın daha gelişmiş işlemcilere arabirimi olarak kullanılır.
Chris Stratton

3
Değiştirilmiş cevaba bakınız. Kurulumu ICSP programcısı olarak çalıştırdım.
Nick Gammon

1
Harika, harika bir iş. Bu benim peşimde olduğum belgeler.
Greenonline
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.