Turinys:
- 1 veiksmas: 1 veiksmas: kaip tai veikia
- 2 veiksmas: 2 veiksmas: „Basys 3“lentos programavimas
- 3 veiksmas: 3 žingsnis: kaip juo naudotis
Video: Integer_Matrix_Solver_UART_SERIAL_VHDL: 3 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:49
Ši pamoka parodys, kaip padaryti 2 x 2 matricos sprendėją naudojant UART serijinio terminalo modulį ir matricos sprendimo modulį. Vartotojas galės įvesti 2 x 2 matricą, o tada įgyvendintas dizainas išspjaudys sprendimą tiesinei sistemai.
Norėdami naudoti šį kodą, jums reikės:
- „Digilent Basys 3“FPGA plokštė
- Kompiuteris su „Xilinx Vivado“programine įranga („Webpack Edition“veiks). Šiam moduliui naudojome 2017.2 versiją.
- Mikro USB laidas (galima perduoti duomenis)
Autoriai: Drew Miller, EE Major, Cal Poly SLO, Sukhdeep Singh, EE Major, Cal Poly SLO Class: Digital Design
- EE/CPE 133 Instruktorius: Joseph Callenes
Šaltiniai:
- UART_TX, UART_RX iš:
- Išjunkite iš:
Dviejų nepasirašytų skaičių padalijimo funkcija:
1 veiksmas: 1 veiksmas: kaip tai veikia
Įvestys: vartotojas įveda linijinę sistemą į kompiuterio terminalą, o tada UART modulis jas konvertuoja į matricos sprendėjo modulio masyvą. UART modulis sąveikauja su vartotoju ir leidžia jam įvesti atitinkamą matricą, taip pat nurodo tinkamai įvesti duomenis. Sistema taip pat turi atstatymo/įjungimo jungiklį, susietą su kairiausiu „Basys3“plokštės jungikliu.
Išėjimai: matricos sprendėjo rezultatai perduodami per UART modulio sąsają ir tada rodomi kompiuterio terminale kartu su ekrane išvardytais sprendimais. Matricos sprendėjas perduoda nepasirašytus standartinius loginius vektorius į UART modulį, kuris paverčia juos vartotojui patogesniais išėjimais, kad vartotojas galėtų tai įvertinti. Dabartinis matricos sprendėjas gali įvesti tik iki 15 skaičių, o išvesties rezultatas turi būti švarus sveikasis skaičius, kitaip matricos sprendėjo programa negali išvesti teisingo sprendimo.
Aukščiausio lygio „Serijinio valdymo“modulis: Vartotojas įveda norimą linijinę sistemą į šį modulį per UART_TX ir UART_RX modulius ir konvertuoja įvestis iš kompiuterio terminalo į standartinių loginių vektorių masyvą, kurį apdoroja matricos sprendimo modulis. Tada matricos sprendimo modulis grąžina standartinių loginių vektorių masyvą, kuris ekrane rodomas naudojant UART nuosekliąją sąsają. Duomenys perduodami ir gaunami per UART modulius, naudojant šį modulį naudojant labai ilgą FSM.
UART_TX modulis: vartotojas įveda 8 bitų standartinį loginį vektorių ir siuntimo signalą, kad galėtų siųsti duomenis per USB sąsają. Siunčiant duomenis, TX_Active signalas yra didelis. Po to, kai jis išsiunčia duomenis, „TX_Done“signalas impulsuoja.
UART_RX modulis: vartotojas vienu metu gauna 8 bitų duomenų iš USB sąsajos. RX_DV impulsas rodo, kad duomenys buvo gauti ir kad galima nuskaityti RX_Byte vektorinę logiką.
Matricos sprendimo modulis: Matricos sprendėjas gauna priskirtą masyvą iš UART modulio, kuris vaizduoja matricą. Tada matricos sprendėjas kiekvieną linijinės sistemos skaičių paverčia sveikais skaičiais, kad būtų lengviau juos valdyti. Matricos sprendimo modulio viduje yra keli papildomi moduliai. Pirmasis antrinis modulis yra atvirkštinė_matrica_1, kuri paima matricą ir tada pateikia atvirkštinę matricą. Kitas antrinis modulis yra daugiklis, kuris padaugina total_matrix iš atvirkštinės matricos, naudodamas standartines matricos operacijas. Galiausiai pagrindinis modulis juos susieja, kad gautų vieną atsakymą.
2 veiksmas: 2 veiksmas: „Basys 3“lentos programavimas
Įsigiję šaltinio kodą iš apačios, įkelkite jį į „basys 3“plokštę, kad galėtumėte naudoti sąsają.
reference.digilentinc.com/basys3/refmanual
3 veiksmas: 3 žingsnis: kaip juo naudotis
Norėdami bendrauti su „Basys3 UART“, naudokite 9600 baudų serijos sąsają. Aš naudojau ekraną „Linux“su tokia komanda:
ekranas /dev /ttyUSB1 9600
Norėdami tai padaryti „Linux“, turėjau pridėti savo vartotoją prie grupės „dialout“. „Windows“sistemoje glaistas turėtų veikti, o „MacOSX“- tai turėtų būti panašus procesas kaip „Linux“.
Pasukus kairįjį jungiklį į įjungimo padėtį, prasideda matricos sprendimas. Jį išjungus iš naujo nustatomas matricos sprendimas.
Rekomenduojamas:
„Arduino“automobilių atbulinės eigos įspėjimo sistema - Žingsniai po žingsnio: 4 žingsniai
„Arduino“automobilių atbulinės eigos įspėjimo sistema | Žingsniai po žingsnio: Šiame projekte aš suprojektuosiu paprastą „Arduino“automobilio atbulinės eigos stovėjimo jutiklio grandinę, naudodamas „Arduino UNO“ir ultragarsinį jutiklį „HC-SR04“. Ši „Arduino“pagrįsta automobilio atbulinės eigos įspėjimo sistema gali būti naudojama autonominei navigacijai, robotų diapazonui ir kitiems diapazonams
„Arduino Halloween Edition“- „Zombies“iššokantis ekranas (žingsniai su nuotraukomis): 6 žingsniai
„Arduino Halloween Edition“- „Zombies“iššokantis ekranas (žingsniai su paveikslėliais): norite Helovino metu išgąsdinti savo draugus ir sukelti riksmą? O gal tiesiog norite padaryti gerą išdaigą? Šis iššokantis „Zombies“ekranas gali tai padaryti! Šioje instrukcijoje aš išmokysiu jus, kaip lengvai padaryti iššokančius zombius naudojant „Arduino“. HC-SR0
Akustinė levitacija naudojant „Arduino Uno“žingsnis po žingsnio (8 žingsniai): 8 žingsniai
Akustinė levitacija naudojant „Arduino Uno“žingsnis po žingsnio (8 žingsniai): ultragarsiniai garso keitikliai L298N nuolatinės srovės adapterio maitinimo šaltinis su vyrišku nuolatinės srovės kaiščiu „Arduino UNOBreadboard“Kaip tai veikia: pirmiausia įkelkite kodą į „Arduino Uno“(tai yra mikrovaldiklis su skaitmeniniu ir analoginiai prievadai kodui konvertuoti (C ++)
„Pixel Kit“, kuriame veikia „MicroPython“: pirmieji žingsniai: 7 žingsniai
„Pixel Kit“, kuriame veikia „MicroPython“: pirmieji žingsniai: Kelionė, skirta visam „Kano Pixel“potencialui išnaudoti, prasideda gamyklos programinės įrangos pakeitimu „MicroPython“, tačiau tai tik pradžia. Norėdami koduoti „Pixel Kit“, turime prie jo prijungti savo kompiuterius. Ši pamoka paaiškins, kas
Tiesioginė 4G/5G HD vaizdo transliacija iš DJI drono esant mažai delsai [3 žingsniai]: 3 žingsniai
Tiesioginis 4G/5G HD vaizdo įrašų srautinis perdavimas iš DJI drono esant mažai delsai [3 žingsniai]: Šis vadovas padės jums gauti tiesioginius HD kokybės vaizdo srautus iš beveik visų DJI dronų. Naudodami „FlytOS Mobile App“ir „FlytNow Web Application“galite pradėti transliuoti vaizdo įrašus iš drono