Mục lục:
2025 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2025-01-13 06:58
Kết nối bảng phát triển Mojo của bạn với các đầu vào bên ngoài bằng tấm chắn này.
Bảng phát triển Mojo là gì?
Bảng phát triển Mojo là một bảng phát triển dựa trên Xilinx spartan 3 FPGA. Bảng được thực hiện bởi Alchitry. FPGA rất hữu ích khi nhiều quá trình phải được thực thi đồng thời.
Bạn sẽ cần gì?
Quân nhu
Ban phát triển Mojo
tệp định dạng
Điện trở 8 x 15k ohm (tùy chọn *)
Điện trở 4 x 470 ohm
Điện trở 4 x 560 ohm
4 x CC bảy màn hình hiển thị phân đoạn
Đèn LED 4 x 3mm
4 x công tắc xúc giác SPDT
Công tắc DIP gắn trên bề mặt 1 x 4 vị trí
Tiêu đề 2 x 25 x 2 hoặc 4 x 25
Đầu hộp 1x 2 x 5 pin
Hàn sắt
Hàn
Tuôn ra
* (nếu các điện trở này bị bỏ qua, pullup / pulldown bên trong phải được bật cho các chân có liên quan)
Bước 1: Tải Gerber lên nhà sản xuất Pcb mà bạn lựa chọn
Đối với bảng của tôi, tôi đã đặt hàng từ JLC PCB.
Thay đổi duy nhất tôi thực hiện là màu sắc mà tôi muốn phù hợp với màu đen của Mojo.
Bước 2: Hội đồng quản trị
Khi hàn, tôi luôn thấy hữu ích khi hàn những phần thấp nhất trước tiên vì vậy bắt đầu với điện trở là một ý kiến hay.
R5, R6, R7, R8, R9, R10, R11 và R12 là các điện trở 15k ohm được sử dụng để kéo công tắc xuống (nếu bạn đang sử dụng pullup / pulldown bên trong, hãy bỏ qua điều này).
R1, R2, R3, R4 là điện trở 560 ohm có nhiệm vụ hạn chế dòng điện qua màn hình 7 đoạn.
R13, R14, R15, R16 là các điện trở 470 ohm có nhiệm vụ hạn chế dòng điện qua 4 LED.
Tiếp theo hàn công tắc nhúng, công tắc xúc giác, đèn LED, màn hình bảy phân đoạn và đầu nối đầu hộp theo thứ tự đó.
Bây giờ đặt 25 x 2 (hoặc 2 25 x 1) vào mojo để căn chỉnh các chốt. Căn chỉnh tấm chắn với các chốt và hàn nó vào vị trí.
Bước 3: Thiết lập phần mềm
Đối với phần mềm tham khảo trang web Alchitry sẽ cho bạn biết những gì bạn cần để bắt đầu và cài đặt Xilinx ISE. Tuy nhiên, việc thay đổi tệp.ucf để nó biết những chân nào được kết nối với những gì quan trọng để chạy chương trình của bạn.
Đây là tệp.ucf tôi sử dụng với lá chắn:
CẤU HÌNH VCCAUX = 3,3;
NET "clk" TNM_NET = clk; TIMESPEC TS_clk = PERIOD "clk" 50 MHz CAO 50%; NET "clk" LOC = P56 | IOSTANDARD = LVTTL; NET "rst_n" LOC = P38 | IOSTANDARD = LVTTL; NET "cclk" LOC = P70 | IOSTANDARD = LVTTL; NET "spi_mosi" LOC = P44 | IOSTANDARD = LVTTL; NET "spi_miso" LOC = P45 | IOSTANDARD = LVTTL; NET "spi_ss" LOC = P48 | IOSTANDARD = LVTTL; NET "spi_sck" LOC = P43 | IOSTANDARD = LVTTL; NET "spi_channel" LOC = P46 | IOSTANDARD = LVTTL; NET "spi_channel" LOC = P61 | IOSTANDARD = LVTTL; NET "spi_channel" LOC = P62 | IOSTANDARD = LVTTL; NET "spi_channel" LOC = P65 | IOSTANDARD = LVTTL; NET "avr_tx" LOC = P55 | IOSTANDARD = LVTTL; NET "avr_rx" LOC = P59 | IOSTANDARD = LVTTL; NET "avr_rx_busy" LOC = P39 | IOSTANDARD = LVTTL; NET "Q [0]" LOC = P26 | IOSTANDARD = LVTTL; NET "Q [1]" LOC = P23 | IOSTANDARD = LVTTL; NET "Q [2]" LOC = P21 | IOSTANDARD = LVTTL; NET "Q [3]" LOC = P16 | IOSTANDARD = LVTTL; NET "S [0]" LOC = P7 | IOSTANDARD = LVTTL; NET "S [1]" LOC = P9 | IOSTANDARD = LVTTL; NET "S [2]" LOC = P11 | IOSTANDARD = LVTTL; NET "S [3]" LOC = P14 | IOSTANDARD = LVTTL; NET "pb [1]" LOC = P30 | IOSTANDARD = LVTTL; NET "pb [2]" LOC = P27 | IOSTANDARD = LVTTL; NET "pb [3]" LOC = P24 | IOSTANDARD = LVTTL; NET "pb [4]" LOC = P22 | IOSTANDARD = LVTTL; NET "sevsega [0]" LOC = P57 | IOSTANDARD = LVTTL; NET "sevsegb [0]" LOC = P58 | IOSTANDARD = LVTTL; NET "sevsegc [0]" LOC = P66 | IOSTANDARD = LVTTL; NET "sevsegd [0]" LOC = P67 | IOSTANDARD = LVTTL; NET "sevsege [0]" LOC = P74 | IOSTANDARD = LVTTL; NET "sevsegf [0]" LOC = P75 | IOSTANDARD = LVTTL; NET "sevsegg [0]" LOC = P78 | IOSTANDARD = LVTTL; NET "sevsegdp [0]" LOC = P80 | IOSTANDARD = LVTTL; NET "sevsega [1]" LOC = P82 | IOSTANDARD = LVTTL; NET "sevsegb [1]" LOC = P83 | IOSTANDARD = LVTTL; NET "sevsegc [1]" LOC = P84 | IOSTANDARD = LVTTL; NET "sevsegd [1]" LOC = P85 | IOSTANDARD = LVTTL; NET "sevsege [1]" LOC = P87 | IOSTANDARD = LVTTL; NET "sevsegf [1]" LOC = P88 | IOSTANDARD = LVTTL; NET "sevsegg [1]" LOC = P92 | IOSTANDARD = LVTTL; NET "sevsegdp [1]" LOC = P94 | IOSTANDARD = LVTTL; NET "sevsega [2]" LOC = P97 | IOSTANDARD = LVTTL; NET "sevsegb [2]" LOC = P98 | IOSTANDARD = LVTTL; NET "sevsegc [2]" LOC = P99 | IOSTANDARD = LVTTL; NET "sevsegd [2]" LOC = P100 | IOSTANDARD = LVTTL; NET "sevsege [2]" LOC = P101 | IOSTANDARD = LVTTL; NET "sevsegf [2]" LOC = P102 | IOSTANDARD = LVTTL; NET "sevsegg [2]" LOC = P104 | IOSTANDARD = LVTTL; NET "sevsegdp [2]" LOC = P111 | IOSTANDARD = LVTTL; NET "sevsega [3]" LOC = P114 | IOSTANDARD = LVTTL; NET "sevsegb [3]" LOC = P115 | IOSTANDARD = LVTTL; NET "sevsegc [3]" LOC = P116 | IOSTANDARD = LVTTL; NET "sevsegd [3]" LOC = P117 | IOSTANDARD = LVTTL; NET "sevsege [3]" LOC = P118 | IOSTANDARD = LVTTL; NET "sevsegf [3]" LOC = P119 | IOSTANDARD = LVTTL; NET "sevsegg [3]" LOC = P1120 | IOSTANDARD = LVTTL; NET "sevsegdp [3]" LOC = P121 | IOSTANDARD = LVTTL;
Hãy nhớ nếu bạn chưa cài đặt các điện trở kéo xuống để chỉnh sửa các chân trong.ucf với
| DỠ XUỐNG; o
| KÉO LÊN;
Nếu bạn muốn sử dụng khối cho bất kỳ thứ gì, các kết nối như sau. Bên trái là số pin khối và bên phải là số pin mojo mà bạn nên gán trong.ucf của mình:
pin 1 = 29
pin 2 = 51
pin 3 = 32
pin 4 = 41
pin 5 = 34
pin 6 = 35
pin 7 = 40
pin 8 = 33
pin 9 = GND
chân 10 = + V