FTDI Breakout với kết nối ISP bổ sung


12

TL; DR - Sáu chân ISP màu vàng có thể được sử dụng như một ISP bình thường không?


Bảng đột phá USB-TTL FTDI thông thường trông như thế này:

Bảng đột phá USB-TTL FTDI

Gần đây, tôi đã bắt gặp một biến thể của bảng hiển thị dưới đây. Tuy nhiên, các chân tiêu đề màu vàng bổ sung trên bảng này để làm gì? Chúng được dán nhãn ISP.

Bảng đột phá USB-TTL FTDI với ISP

Dưới đây là một cái nhìn của phía sau:

Bảng đột phá USB-TTL FTDI với ISP phía sau

Vì vậy, chúng thực sự có thể được sử dụng như một ISP / ICSP tiêu chuẩn?

IC-ICSP

Tuy nhiên, theo sơ đồ dưới đây, nhãn 6 chân trong câu hỏi, tôi không chắc chắn rằng có một mối tương quan hợp lệ của các đường tín hiệu.

Bảng đột phá USB-TTL FTDI với ISP với huyền thoại

Điều đó có nghĩa là, liệu CTS cho MISO, RI đến RST, DSR sang SCK và DCD sang MOSI có hoạt động không? Hoặc đó là lý do tại sao cần có một phiên bản đặc biệt của avrdude, như được đề cập trong FT 232RL: Bộ chuyển đổi USB sang nối tiếp 232 - - và ISP? - bài số 6 :

Là một tính năng mới, có một tiêu đề ISP 6 chân có sẵn. Với nó, avrdude và avrftdi bạn có thể lập trình bộ tải khởi động Atmels và Arduino. Một phiên bản đặc biệt của avrdude với trình điều khiển FTDI được biên dịch là không cần thiết.

Tuy nhiên, liên kết được cung cấp cho phiên bản avrdude đó, với trình điều khiển FTDI đã biên dịch, đã chết.

Người ta cũng nói, trong bài số 7 , các chân này thực sự tương đương với đầu nối X3, như được tìm thấy trên các bo mạch Arduino Dicimila / NG / Duemilanove cũ hơn .

Tiêu đề X3 trên Diecimila

và những thứ đó (rõ ràng) có thể được sử dụng như vậy, như một SPI đập mạnh,

Kết nối tiêu đề X3 với tiêu đề ISP trên Diecimila

Cần lưu ý rằng các chân RI, CTS, DCD và DSR (có nhãn RSD) có sẵn, dọc theo các cạnh của bảng đột phá FTDI ban đầu. Vì vậy, bảng đột phá với tiêu đề ISP chỉ cung cấp quyền truy cập vào các tín hiệu tương tự bằng cách sử dụng một tiêu đề khác?

Tôi hơi bối rối - có phải tôi đã nghĩ quá nhiều về điều này không, và bảng đột phá này chỉ đơn giản là một tiêu đề ISP / ICSP một đầu nối FTDI được cuộn thành một bảng (khi được sử dụng với phiên bản avrdude phù hợp)? Hoặc nó không phải là một tiêu đề ISP thông thường? Tôi không thể tìm thấy bất kỳ tài liệu cụ thể nào liên quan đến loại bảng đột phá này, như đã nêu trong bài số 4 .

Bất cứ ai có thể nói, dứt khoát, sáu chân này là để làm gì? Nếu chúng không phải là một tiêu đề ISP bình thường, bạn có thể cung cấp một cách sử dụng chi tiết không? Một sơ đồ sẽ hữu ích.

Câu trả lời:


14

Có một chủ đề về điều đó trên Diễn đàn Arduino - ai đó có một câu hỏi tương tự.


Tôi đã tìm thấy một sơ đồ (bên dưới) không dành cho bảng đó, tuy nhiên các chân tiêu đề được dán nhãn giống như bạn tìm thấy, vì vậy nó rất giống nhau.

Sơ đồ FTDI

Dường như tiêu đề được sử dụng cho "Chế độ Bit Bang đồng bộ" như được ghi lại ở đây: Chế độ Bit Bang cho FT232R và FT245R (Lưu ý về ứng dụng AN_232R-01, Tài liệu tham khảo số: FT_000339)


Trong thực tế, bạn có thể định cấu hình tiêu đề đó thành một lập trình viên SPI, như được mô tả, ví dụ, trong Lập trình viên Bitbang FT232R .


Tôi đã làm một bài kiểm tra khi tôi có một bảng tương tự trong ngăn kéo các bộ phận của mình:

Mặt trận hội đồng quản trị FTDI

Nó đã cung cấp cho một tiêu đề 6 pin tương tự như tiêu đề của bạn. Lật bảng chúng ta có thể thấy rằng chúng được dán nhãn giống hệt như của bạn:

Hội đồng quản trị FTDI trở lại

Tôi đã hàn trên một tiêu đề (màu vàng, để phù hợp) cho tôi điều này:

Ban FTDI với tiêu đề

Tôi đã thêm một chấm trắng để chỉ chân 1 (hiển thị trên cạnh) để tôi cắm cáp theo đúng cách xung quanh.


Khi tôi cố gắng sử dụng bảng, tôi nhận được thông báo này từ avrdude:

avrdude: lỗi: không hỗ trợ libftdi hoặc libusb. Cài đặt libftdi1 / libusb-1.0 hoặc libftdi / libusb và chạy configure / make again

Vì vậy, nó đã được biên soạn từ đầu! Tôi đang sử dụng Ubuntu 14.04 nếu bạn đang cố gắng làm theo. :)


Tải xuống

Truy cập trang web http://www.nongnu.org/avrdude/

Tôi đã tải xuống phiên bản nguồn 6.3: http://doad.savannah.gnu.org/release/avrdude/avrdude-6.3.tar.gz

Cài đặt libusb và libftdi

Trước khi biên dịch, tôi phải lấy libusb và libftdi:

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

Biên dịch avrdude

Bây giờ chúng tôi thực hiện avrdude sau khi giải nén tệp lưu trữ và điều hướng đến thư mục của nó:

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

Tìm cấu hình đúng

Trong avrdude.conftập tin đi kèm với avrdude tôi tìm thấy (sau khi suy ngẫm) đây có vẻ là mục chính xác:

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

Việc ánh xạ các chân thành số hoạt động như thế này ... Từ chế độ PDF về bit bang được đề cập ở trên, chúng tôi có bảng này, với các chú thích màu xanh lam theo tôi:

Chân chế độ bit bang

Các số tham chiếu đến số bit (tức là trong phạm vi 0 đến 7) trong byte dữ liệu "bit banged". Chúng ta có thể thấy từ sơ đồ trước đó, ví dụ, MISO trên tiêu đề ICSP được nối với CTS trên FT232RL. Do đó MISO là bit dữ liệu 3, mà chúng ta nói với avrdude trong cấu hình trên. Tương tự SCK là bit dữ liệu 5, v.v.

Tôi đã thử kiểm tra như thế này:

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

Sửa quyền

Tôi đã gặp một lỗi quyền được sửa bằng cách tạo một tệp trong thư mục có /etc/udev/rules.d/tên 71-FTDI.rules. Bên trong này là:

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

Các con số có thể thay đổi cho bảng của bạn. Bạn cần tìm ID nhà cung cấp và sản phẩm. Trong Ubuntu bạn có thể làm lsusbvà xem (trong số những thứ khác):

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

Lưu ý hai số hex, được sao chép vào tệp quy tắc.

Sau khi làm điều đó, yêu cầu hệ thống tải lại các quy tắc:

sudo udevadm control --reload-rules

Sau đó rút phích cắm và cắm lại bảng FTDI để thông báo các quyền mới.

Phát hiện bảng thử nghiệm

Cuối cùng, dòng avrdude ở trên hoạt động và đọc chip:

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.

Tôi đã có của tôi cắm vào một ATmega328P.


Ví dụ được kết nối với Diavolino

Lập trình một Atmega328P

Khi chúng ta đã đạt được điều này, bạn chỉ cần kết nối bảng FTDI với bảng mục tiêu của mình bằng cáp nối thẳng.


Tóm lược

Bảng FTDI mà bạn có (và bảng tôi có) có thể được sử dụng làm lập trình viên ICSP cho các chip AVR, như được mô tả ở trên. Do đó, một bảng đơn giản có thể vừa là bộ chuyển đổi USB sang nối tiếp, vừa là lập trình viên ICSP.

Tôi thấy các bảng tương tự được bán trên eBay với giá khoảng 5 đô la nên có lẽ đó là một lựa chọn lập trình khá rẻ.


Cảm ơn Nick. Vâng, chủ đề đó trên các diễn đàn Arduino là câu hỏi mà tôi đã tham khảo trong câu hỏi của mình, nhưng nó không thực sự rõ ràng về cách sử dụng nó - nhưng nó hữu ích chỉ vào blog tiêu đề X3. Liên kết thứ hai bạn cung cấp dường như mở rộng theo chủ đề đó hơn nữa, tuyệt vời, cảm ơn. Tuy nhiên, vẫn không có bất kỳ blog nào được viết riêng cho bảng đặc biệt này, đó là số lẻ.
Greenonline

Tôi tin rằng nếu bạn làm điều này, bạn sẽ nói chuyện với FTDI như một thiết bị USB và không còn sử dụng API cổng nối tiếp của hệ điều hành, do đó, có thể có thêm các sự cố thiết lập / trình điều khiển / quyền tùy thuộc vào hệ thống nào đang sử dụng để lưu trữ nó Các bộ phận FT4232H / FT2232H / FT232H có khả năng cao hơn của FTDI thường được sử dụng theo cách này như giao diện JTAG cho các bộ xử lý tiên tiến hơn.
Chris Stratton

3
Xem câu trả lời sửa đổi. Tôi đã nhận được bảng của mình để làm việc như một lập trình viên ICSP.
Nick Gammon

1
Tuyệt vời, công việc tuyệt vời. Đó là tài liệu mà tôi đã theo sau.
Greenonline
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.