Mục lục:

Cách sử dụng các Ghim và Vị trí GPIO của Raspberry Pi cho chương trình Bit-bang-DIMP 2 hoặc DA PIMP 2: 9 Bước
Cách sử dụng các Ghim và Vị trí GPIO của Raspberry Pi cho chương trình Bit-bang-DIMP 2 hoặc DA PIMP 2: 9 Bước

Video: Cách sử dụng các Ghim và Vị trí GPIO của Raspberry Pi cho chương trình Bit-bang-DIMP 2 hoặc DA PIMP 2: 9 Bước

Video: Cách sử dụng các Ghim và Vị trí GPIO của Raspberry Pi cho chương trình Bit-bang-DIMP 2 hoặc DA PIMP 2: 9 Bước
Video: #02 - How To Find The UART Interface - Hardware Hacking Tutorial 2024, Tháng mười một
Anonim
Cách sử dụng các Ghim và Vị trí GPIO của Raspberry Pi cho chương trình Bit-bang-DIMP 2 hoặc DA PIMP 2
Cách sử dụng các Ghim và Vị trí GPIO của Raspberry Pi cho chương trình Bit-bang-DIMP 2 hoặc DA PIMP 2

Đây là hướng dẫn từng bước về cách sử dụng Raspberry Pi và lệnh nguồn mở miễn phí avrdude để lập trình bit-bang-lập trình DIMP 2 hoặc DA PIMP 2. Tôi cho rằng bạn đã quen thuộc với Raspberry Pi và LINUX dòng lệnh. Bạn không cần phải quen thuộc với lập trình chip AVR, nhưng nó sẽ giúp ích nếu có sự cố vì bạn có thể đọc kết quả của avrdude và có một số ý tưởng về việc phải làm.

Quy trình này sẽ mất khoảng 1 giờ cho lần đầu tiên và 5 đến 10 phút mỗi lần sau.

Bạn sẽ cần:

1) Raspberry Pi với chân GPIO và bộ cấp nguồn. Tôi đang sử dụng Raspberry Pi Zero W có hàn chân GPIO. Hệ điều hành phải là Raspberry Pi OS (trước đây là Raspbian). Tôi đang sử dụng Raspbian Lite (Stretch), loại cũ. Các lệnh này vẫn sẽ hoạt động trên phiên bản mới nhất của Hệ điều hành Raspberry Pi.

Trong tương lai, tôi sẽ gọi Raspberry Pi là "RPi".

2) Dây nhảy từ nữ sang nữ. Nhận một trong mỗi màu sau: đỏ, đen, xanh dương, vàng, xanh lá cây, tím. Tôi đang sử dụng màu nâu thay vì màu tím.

3) DIMP 2 hoặc DA PIMP 2 với đầu cắm ICSP 10 chân tùy chọn được hàn vào. Tôi đang sử dụng DIMP 2 ở đây, nhưng hướng dẫn giống nhau đối với DA PIMP 2.

4) Truy cập Internet cho RPi để bạn có thể cài đặt avrdude lệnh nguồn mở miễn phí.

5) Bản sao của tệp flash.hex cho DIMP 2 hoặc DA PIMP 2. Bạn có thể tự tạo tệp.hex từ mã nguồn thô, nhưng tôi sẽ không chỉ cho bạn cách làm điều đó ở đây.

6) Một số cách để đăng nhập vào RPi - sử dụng kết nối mạng hoặc truy cập bảng điều khiển trực tiếp. Bạn cần có thể chạy các lệnh trên đó.

Bước 1: Tháo dây nguồn AC và tháo pin 9V

Trước tiên, hãy kiểm tra xem dây nguồn AC có được gắn vào DIMP 2 hoặc DA PIMP 2 và được cắm vào nguồn AC hay không. Nếu vậy, NGUY HIỂM: LETHAL SỐC NGUY HIỂM. Đeo găng tay cao su rồi tắt công tắc điều khiển chính trên DIMP 2 hoặc DA PIMP 2. Sau đó, rút dây nguồn AC khỏi nguồn AC và rút dây nguồn AC khỏi DIMP 2 hoặc DA PIMP 2. Bạn có thể lấy tháo găng tay cao su sau khi rút dây nguồn AC.

Sau đó, tháo pin 9V. Nguồn điện sẽ được cung cấp cho DIMP 2 bởi RPi thông qua dây màu đỏ (Vcc) và màu đen (GND). Tắt công tắc thanh trượt trên DIMP 2 hoặc DA PIMP 2 để đề phòng.

Bước 2: Móc dây nhảy

Móc dây nhảy
Móc dây nhảy
Móc dây nhảy cầu
Móc dây nhảy cầu
Móc dây nhảy cầu
Móc dây nhảy cầu
Móc dây nhảy cầu
Móc dây nhảy cầu

Khi RPi không được cấp nguồn, hãy bắt đầu nối dây jumper. Về sau, các chân GPIO nằm trên Raspberry Pi và các chân ICSP trên DIMP 2 (tiêu đề J3) hoặc DA PIMP 2 (tiêu đề J1).

Hãy tham khảo sơ đồ tôi đã tập hợp và các bức ảnh nếu bạn bị lạc.

Phần RPi của sơ đồ là từ pinout.xyz.

Phần ATMEGA48V-10PU của sơ đồ là bản quyền 2016 Atmel Corp.

Tôi tuyên bố sử dụng hợp lý các bản vẽ này do những bổ sung đáng kể, mang tính biến đổi.

Màu đen đi từ chân GPIO 6 đến chân ICSP 10. Đây là GND (Ground)

Màu vàng đi từ chân GPIO 12 đến chân ICSP 9. Đây là MISO.

Màu xanh lá cây đi từ chân GPIO 16 đến chân ICSP 1. Đây là MOSI.

Màu xanh dương đi từ chân GPIO 18 đến chân ICSP 7. Đây là SCK hoặc SCLK (SClock)

Màu tím (màu nâu trong ảnh của tôi) đi từ chân GPIO 32 đến chân ICSP 5. Đây là ĐẶT LẠI.

Màu đỏ đi từ chân GPIO 4 đến chân ICSP 2. Đây là Vcc (Nguồn 5V)

Bước 3: Tăng sức mạnh cho RPi

Bây giờ, hãy tiếp tục và tăng sức mạnh cho RPi. Phần vôn kế của DIMP 2 hoặc DA PIMP 2 cũng sẽ bật lên, nhưng bạn sẽ không thể biết nó bằng cách nhìn vào màn hình. Nếu nghi ngờ, hãy đo điện áp bằng đầu dò màu đỏ ở chân 20 trên ATMEGA48V-10PU và đầu dò màu đen ở chân 4, 6 hoặc 8 trên tiêu đề ICSP. Nó phải ở khoảng 5VDC.

Bước 4: Cài đặt Avrdude

Hướng dẫn của tôi sẽ chỉ hiển thị các lệnh dòng lệnh. Nếu bạn có GUI đang chạy, bạn sẽ muốn mở một Terminal để chạy các lệnh dòng lệnh này.

Đăng nhập với tư cách người dùng mặc định pi. Mật khẩu mặc định là raspberry

Cài đặt lệnh avrdude bằng cách gõ lệnh sau tại dấu nhắc lệnh đầu cuối:

sudo apt-get install avrdude

Bước 5: Chỉnh sửa tệp cấu hình Avrdude

Chỉnh sửa tệp cấu hình avrdude bằng cách nhập:

sudo nano /etc/avrdude.conf

Thêm các dòng này vào giữa tệp, nơi chứa các định nghĩa lập trình viên khác. Những gì tôi đã làm là sao chép phần lập trình viên ngay trên nó cho id = "linuxgpio", sau đó dán nó ngay bên dưới (tại dòng 1274), sau đó chỉnh sửa phần mới.

người lập trình

id = "pi_1"; desc = "Sử dụng giao diện Linux sysfs để bitbang GPIO dòng"; type = "linuxgpio"; đặt lại = 12; sck = 24; mosi = 23; miso = 18;;

Sau đó, lưu tệp bằng cách nhấn: Ctrl-O

Và sau đó thoát khỏi trình chỉnh sửa nano bằng cách nhấn: Ctrl-X

Bước 6: Tải xuống hoặc sao chép tệp.hex Flash sang / home / pi

Sao chép tệp flash.hex vào RPi. Tôi cho rằng bạn biết cách làm điều này. GỢI Ý: Sử dụng lệnh wget, curl, git hoặc scp để tải tệp từ web xuống RPi.

Tệp.hex của DIMP 2 có ở đây, cùng với mã nguồn:

github.com/dchang0/dimp2

Một phiên bản tùy chỉnh của tệp.hex của DA PIMP 2 có ở đây. Tôi đã không thử nghiệm này!

github.com/jcwren/DaPimp2

Nếu phiên bản trên của tệp.hex của DA PIMP 2 không hoạt động, thì mã nguồn gốc của DA PIMP 2 của Mikey Sklar ở đây. Bạn sẽ phải tự biên dịch nó thành tệp.hex đang hoạt động. Tôi không đề cập điều đó trong các hướng dẫn này vì nó sẽ là một hướng dẫn dài (nhưng không khó). Tôi đã lập trình thành công một số đơn vị DA PIMP 2 đang hoạt động bằng cách sử dụng mã nguồn này:

drive.google.com/open?id=0Bx5Als-UeiZbSUdH…

Hoặc bạn có thể truy cập trang DA PIMP 2 chính tại đây và nhấp vào liên kết đến mã nguồn.

mikeysklar.blogspot.com/p/da-pimp-battery-…

Đặt tệp.hex tại đường dẫn này và tên tệp trên RPi…

Đối với DIMP 2:

/home/pi/dimp2.hex

Đối với DA PIMP 2:

/home/pi/da_pimp2.hex

Bước 7: Xác minh rằng Avrdude có thể nói chuyện với ATMEGA48V-10PU

Chạy lệnh avrdude để đảm bảo rằng nó có thể nói chuyện với chip ATMEGA48V-10PU trên DIMP 2 hoặc DA PIMP 2.

cd / home / pi

sudo avrdude -c pi_1 -p m48 -v

Bạn sẽ nhận được về một trang đầu ra. Nhìn vào cuối. Nếu bạn nhận được phản hồi như thế này, thì bạn có thể tiếp tục.

avrdude: Thiết bị AVR được khởi tạo và sẵn sàng chấp nhận các hướng dẫn

Đọc sách | ##################################################### | 100% 0,00 giây

Nếu không, thì có điều gì đó không ổn và bạn nên tìm ra nó. Nhiều khả năng đó là một dây nối sai, nhưng một khiếu nại phổ biến khác mà tôi đã thấy là chip ATMEGA48V-10PU là hàng giả. Có vẻ như nhiều người trong số họ được bán trên Amazon hoặc ebay là hàng giả. Những sản phẩm được bán bởi Mouser hoặc Digikey và các nhà phân phối được ủy quyền khác là hàng chính hãng.

Bước 8: Flash tệp.hex vào ATMEGA48V-10PU

Chạy lệnh này để thực hiện lập trình chip…

Đối với DIMP 2:

cd / home / pi

sudo avrdude -c pi_1 -p m48 -U flash: w: dimp2.hex

Đối với DA PIMP 2:

cd / home / pi

sudo avrdude -c pi_1 -p m48 -U flash: w: da_pimp2.hex

Bạn sẽ nhận được về một trang đầu ra. Hãy tìm những dòng này:

avrdude: ghi flash (1528 byte):

Viết lách | ##################################################### | 100% 0,79 giây

avrdude: đang xác minh…

avrdude: 1528 byte xác minh flash avrdude: safemode: Fuses OK (E: FF, H: DF, L: 62)

Nếu bạn đạt được điều này, bạn sẽ thấy màn hình LED hiển thị các số 0 cho điện áp. Nếu bạn nhìn thấy các số 0, bạn đã hoàn tất! Nếu không, hãy chuyển sang bước tiếp theo.

Nếu bạn thấy các số 0, hãy tắt RPi của bạn một cách duyên dáng bằng lệnh sau:

sudo tắt máy -h bây giờ

Khi đèn nguồn trên RPi tắt (DIMP 2 hoặc DA PIMP 2 vẫn sáng), bạn có thể rút nguồn điện khỏi RPi. Sau đó rút dây nối giữa RPi và DIMP 2 hoặc DA PIMP 2.

Bước 9: Khắc phục sự cố đơn giản nếu đèn flash không thành công

Nếu bạn không thấy số 0 trên màn hình của DIMP 2 hoặc DA PIMP 2, thì đã đến lúc khắc phục sự cố.

Một lần nữa, hãy kiểm tra hệ thống dây điện của bạn trước.

Sau đó, kiểm tra các trạng thái cầu chì được hiển thị bằng avrdude. Có thể chip của bạn đi kèm với các cầu chì được đặt thành các giá trị khác với giá trị mặc định của nhà sản xuất. Con chip có thể cần phải thiết lập lại cầu chì, điều này yêu cầu một thiết bị phần cứng hoàn toàn khác. Đây là vấn đề với nhiều chip ATMEGA48V-10PU giả được bán trên ebay - chúng là những con chip cũ được lấy từ phần cứng bị loại bỏ và cầu chì đã được đặt và người bán không thèm đặt lại cầu chì.

Đôi khi chip thậm chí không phải là ATMEGA48V-10PU. Nó có thể là một con chip khác được gắn nhãn lại. Thông thường, bạn có thể nhận ra những hàng giả này bằng cách xem kỹ các dấu hiệu trên đầu và cuối con chip. Sẽ khôn ngoan hơn nếu bạn mua ATMEGA48V-10PU thông qua một nhà cung cấp đáng tin cậy như Mouser hoặc Digikey.

Đề xuất: