FTDI Breakout з додатковим роз'ємом провайдера


12

TL; DR - Чи можна використовувати шість жовтих контактів провайдера як звичайний провайдер?


Звичайна плата розбиття USB-TTL FTDI виглядає так:

Роздільна плата USB-TTL FTDI

Нещодавно я натрапив на варіант дошки, показаний нижче. Однак для чого потрібні додаткові жовті шпильки на цій платі? Вони позначені провайдером.

Роздільна плата USB-TTL FTDI з ISP

Ось вид ззаду:

Роздільна плата USB-TTL FTDI із задньою стороною провайдера

Тож чи можна їх реально використовувати як стандартний ISP / ICSP?

AVR-ICSP

Однак, згідно з діаграмою нижче, на якій розміщено 6 відповідних штифтів, я не впевнений, що існує коректна кореляція сигнальних ліній.

Роздільна плата USB-TTL FTDI з ISP з легендою

Тобто, чи працюватимуть CTS до MISO, RI до RST, DSR до SCK і DCD до MOSI? Або це тому, що потрібна спеціальна версія avrdude, про яку згадується в FT232RL: USB to Serial 232 TTL Adapter -? І ISP? - публікація №6 :

В якості нової функції доступний 6-контактний заголовок ISP. З його допомогою avrdude та avrftdi ви можете запрограмувати завантажувачі Atmels та Arduino. Необхідна спеціальна версія avrdude зі скомпільованим драйвером FTDI.

Однак надане посилання на цю версію avrdude із зібраним драйвером FTDI є мертвим.

Також в повідомленні № 7 сказано, що ці штифти насправді еквівалентні роз'єму X3, як це можна знайти на старих платах Arduino Dicimila / NG / Duemilanove .

Заголовок X3 на Diecimila

і їх можна (очевидно) використовувати так, як трохи вдарив SPI,

Підключення заголовка X3 до заголовка ISP на Diecimila

Слід зазначити, що штифти RI, CTS, DCD та DSR (з позначкою RSD) доступні уздовж боків оригінальної плати розбиття FTDI. Отже, чи забезпечує розподільна плата із заголовком провайдера просто доступ до цих самих сигналів, використовуючи інший заголовок?

Я трохи розгублений - чи я трохи задумався над цим, і ця плата розбиття - це просто заголовок ISP / ICSP і роз'єм FTDI, згорнутий в одну плату (коли використовується з відповідною версією avrdude)? Або це не звичайний заголовок провайдера? Я не можу знайти жодної конкретної документації, що стосується цього типу розбивної дошки, як зазначено у публікації №4 .

Хтось може остаточно сказати, для чого ці шість шпильок? Якщо вони не є звичайним заголовком провайдера, чи можете ви надати детальний спосіб його використання? Схематично було б корисно.

Відповіді:


14

Про це на форумі Arduino є нитка - у когось було подібне питання.


Я знайшов схему (внизу), яка не призначена для цієї дошки, однак штифти заголовків позначені так само, як ви знайшли, тому вона правдоподібно схожа.

Плата FTDI схематична

Здається, що заголовок використовується для "Синхронного режиму розриву бітів", як це задокументовано: Режими вибивання бітів для FT232R та FT245R (Примітка до застосування AN_232R-01, Довідковий номер документа: FT_000339)


Насправді ви можете налаштувати цей заголовок для програміста SPI, як описано, наприклад, у програмісту FT232R Bitbang .


Я склав тест, оскільки в ящику моїх частин був аналогічний табло:

Дошка FTDI спереду

У ньому було передбачено 6-контактний заголовок, подібний до вашого. Перевернувши дошку, ми можемо побачити, що вони були позначені точно так само, як і ваші:

Дошка FTDI назад

Я припаяв до заголовка (жовтого кольору, щоб бути послідовним), даючи мені це:

Дошка FTDI з заголовком

Я додав білу крапку для позначення штифта 1 (видно на краю), тому я підключаю кабель правильно.


Коли я намагався використовувати дошку, я отримав це повідомлення від avrdude:

avrdude: помилка: немає підтримки libftdi або libusb. Встановіть libftdi1 / libusb-1.0 або libftdi / libusb та запустіть конфігурувати / зробити ще раз

Отже, його треба було скласти з нуля! Я використовую Ubuntu 14.04, якщо ви намагаєтесь слідувати далі. :)


Завантажити avrdude

Перейдіть на сайт http://www.nongnu.org/avrdude/

Я завантажив джерело версії 6.3: http://download.savannah.gnu.org/releases/avrdude/avrdude-6.3.tar.gz

Встановіть libusb та libftdi

Перед складанням мені довелося схопити libusb та libftdi:

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

Складіть avrdude

Тепер ми робимо avrdude після вилучення архіву та переходу до його папки:

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

Знайдіть правильну конфігурацію

Всередині avrdude.confфайлу, який постачається з avrdude, я знайшов (після деякого розмірковування), здається, це правильний запис:

# 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)
;

Зображення шпильок на номери працює так ... З цього PDF-файлу щодо режиму розбиття бітів у нас є ця таблиця з синім відмітками:

Шпильки в режимі розбиття

Цифри посилаються на бітове число (тобто в діапазоні від 0 до 7) у байті даних "бітовий удар". З попередньої схеми ми бачимо, що, наприклад, MISO на заголовку ICSP підключений до CTS на FT232RL. Таким чином, MISO є бітом даних 3, про який ми говоримо avrdude у наведеній вище конфігурації. Аналогічно SCK - це біт даних 5 тощо.

Я спробував протестувати так:

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

Виправлення дозволів

У мене виникла помилка дозволів, яку виправили, створивши файл у папці /etc/udev/rules.d/під назвою 71-FTDI.rules. Всередині це:

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

Номери можуть залежати від вашої дошки. Потрібно знайти постачальника та ідентифікатор товару. В Ubuntu ви можете зробити lsusbта побачити (серед іншого):

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

Зверніть увагу на два шістнадцяткових числа, які копіюються у файл правил.

Після цього скажіть системі перезавантажити правила:

sudo udevadm control --reload-rules

Потім відключіть і відключіть плату FTDI, щоб вона помітила нові дозволи.

Виявлення тестової дошки

Нарешті, рядок avrdude вище працює і читає чіп:

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.

Мене було підключено до ATmega328P.


Приклад підключений до Diavolino

Програмування Atmega328P

Як тільки ми досягли цього, ви просто підключіть плату FTDI до цільової дошки за допомогою прямого кабелю.


Підсумок

Ви маєте плату FTDI (та ту, яку я маю) можна використовувати як програміст ICSP для мікросхем AVR, як описано вище. Таким чином, проста плата може бути як USB-послідовним перетворювачем, так і програмістом ICSP.

Я бачу подібні дошки, що продаються на eBay приблизно за 5 доларів, так що це, мабуть, досить дешевий варіант програмування.


Дякую Ніку. Так, цей потік на форумах Arduino - це той, про який я посилався у своєму запитанні, але не дуже зрозуміло, як ним користуватися - але він корисно вказав на блог заголовка X3. Друга посилання, яку ви надаєте, здається, ще більше розширює цю тему, чудово, дякую. Однак досі не існує жодного блогу, написаного спеціально для цієї дошки, що не дивно.
Грінлайн

Я вважаю, що якщо ви це зробите, ви б розмовляли з FTDI як USB-пристрій і більше не використовували API послідовного порту операційної системи, тому можуть виникнути додаткові проблеми з налаштуванням / драйверами / дозволом залежно від того, яку систему ви використовуєте для розміщення це. Більш здатні деталі FTDI FT4232H / FT2232H / FT232H часто використовуються таким чином як інтерфейси JTAG для більш досконалих процесорів.
Кріс Страттон

3
Див. Змінену відповідь. Я отримав свою дошку працювати програмістом ICSP.
Нік Гаммон

1
Фантастичний, чудова робота. Це та документація, яку я був після.
Грінлайн
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.