İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
Bu kalkanla Mojo geliştirme kartınızı harici girişlere bağlayın.
Mojo geliştirme kurulu nedir?
Mojo geliştirme kurulu, Xilinx spartan 3 FPGA'yı temel alan bir geliştirme kuruludur. Tahta Alchitry tarafından yapılmıştır. FPGA'lar, birden fazla işlemin aynı anda yürütülmesi gereken durumlarda çok kullanışlıdır.
Neye ihtiyacın olacak?
Gereçler
Mojo geliştirme kurulu
Gerber dosyası
8 x 15k ohm direnç (opsiyonel*)
4 x 470 ohm direnç
4 x 560 ohm direnç
4 x CC yedi segmentli ekran
4 x 3 mm LED
4 x SPDT dokunsal anahtar
1 x 4 konumlu yüzeye monte DIP anahtarı
2 x 25'e 2 veya 4 x 25 başlık
1x2'ye 5 pinli kutu kafası
Havya
Lehim
akı
*(bu dirençler atlanırsa ilgili pinler için dahili pullup/pulldown etkinleştirilmelidir)
Adım 1: Gerber'i Seçtiğiniz Pcb Üreticisine Yükleyin
Kartlarım için JLC PCB'den sipariş verdim.
Yaptığım tek değişiklik Mojo'nun siyahıyla eşleştirmek istediğim renkti.
Adım 2: Yönetim Kurulu Meclisi
Lehimleme yaparken, önce en alttaki parçaları lehimlemeyi her zaman faydalı buluyorum, bu nedenle dirençlerle başlamak iyi bir fikirdir.
R5, R6, R7, R8, R9, R10, R11 ve R12, anahtarları aşağı çekmek için kullanılan 15k ohm dirençlerdir (dahili çekme/açma kullanıyorsanız bunu dikkate almayın).
R1, R2, R3, R4, 7 segmentli ekran üzerinden akımı sınırlamaktan sorumlu olan 560 ohm dirençlerdir.
R13, R14, R15, R16, 4 LED üzerinden akımı sınırlamaktan sorumlu olan 470 ohm dirençlerdir.
Ardından, dip anahtarını, dokunsal anahtarları, LED'leri, yedi segmentli ekranı ve kutu başlığı konektörünü bu sırayla lehimleyin.
Şimdi pimleri hizalamak için 25'e 2 (veya 2 25'e 1) mojo'ya yerleştirin. Kalkanı pimlerle hizalayın ve yerine lehimleyin.
Adım 3: Yazılım Kurulumu
Yazılım için Alchitry web sitesine başvurmak, Xilinx ISE'yi başlatmak ve kurmak için neye ihtiyacınız olduğunu size bildirecektir. Ancak.ucf dosyasını değiştirerek hangi pinlerin bağlı olduğunu, programınızın çalışmasını sağlamak için neyin önemli olduğunu bilir.
Kalkanla birlikte kullandığım.ucf dosyası:
YAPILANDIRMA VCCAUX=3.3;
NET "clk" TNM_NET = clk; TIMESPEC TS_clk = PERİYOD "clk" 50 MHz YÜKSEK %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;
.ucf dosyasındaki pinleri düzenlemek için açılan dirençleri yüklemediyseniz unutmayın.
| AŞAĞI ÇEK; Ö
| ÇEKME;
Bloğu herhangi bir şey için kullanmak isterseniz, bağlantılar aşağıdaki gibidir. Solda blok pin numarası ve sağda.ucf dosyanıza atamanız gereken mojo pin numarasıdır:
pin 1 = 29
pim 2 = 51
pin 3 = 32
pim 4 = 41
pim 5 = 34
pim 6 = 35
pim 7 = 40
pim 8 = 33
pim 9 = GND
pim 10 = +V