Indholdsfortegnelse:
- Trin 1: Trin 1: Sådan fungerer det
- Trin 2: Trin 2: Programmering af Basys 3 -kortet
- Trin 3: Trin 3: Sådan bruges den
Video: Integer_Matrix_Solver_UART_SERIAL_VHDL: 3 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
Denne instruktive tutorial viser dig, hvordan du laver en 2 til 2 matrix solver ved at implementere UART Serial terminal modul samt et matrix solver modul. Brugeren vil kunne indtaste en 2 til 2 matrix, og derefter vil det implementerede design spytte løsningen ud til det lineære system.
For at bruge denne kode skal du bruge:
- Et Digilent Basys 3 FPGA -bord
- Computer med Xilinx Vivado -softwaren (Webpack Edition fungerer). Til dette modul brugte vi 2017.2 -versionen.
- Et mikro -USB -kabel (dataoverførsel)
Forfattere: Drew Miller, EE Major, Cal Poly SLO, Sukhdeep Singh, EE Major, Cal Poly SLO Klasse: Digital Design
- EE/CPE 133 Instruktør: Joseph Callenes
Kilder:
- UART_TX, UART_RX fra:
- Afvis fra:
Funktion til opdeling af to usignerede numre:
Trin 1: Trin 1: Sådan fungerer det
Indgange: Brugeren indlæser et lineært system i computerterminalen, og derefter konverterer et UART -modul dem til en matrix, som matrixopløsermodulet kan manipulere. UART -modulet grænseflader med brugeren og giver dem mulighed for at indtaste den relevante matrix samt guide dem til korrekt indtastning af data. Systemet har også en nulstilling/aktiveringsafbryder tilknyttet kontakten til venstre på Basys3 -kortet.
Outputs: Resultaterne fra matrixopløseren føres gennem UART -modulgrænsefladen og vises derefter på computerterminalen med løsningerne på skærmen. Matrixløseren udsender usignerede standard logiske vektorer til UART -modulet, som konverterer dem til mere brugervenlige output, som brugeren kan sætte pris på. Den nuværende matrixopløser er kun i stand til at have tal op til 15 indtastet, og outputresultatet skal være et rent heltal, eller matrixopløseren kan ikke sende den korrekte løsning.
Topniveau "seriel kontrol" -modul: Brugeren indsætter det ønskede lineære system i dette modul via UART_TX- og UART_RX -modulerne, og det konverterer input fra computerterminalen til en række standard logiske vektorer, der behandles af matrixopløsermodulet. Matrixopløsermodulet returnerer derefter en række standard logiske vektorer, der derefter vises på skærmen ved hjælp af den serielle UART -grænseflade. Overførsel og modtagelse af data via UART -modulerne opnås ved brug af en meget lang FSM i dette modul.
UART_TX -modul: Brugeren indlæser en 8 bit standard logisk vektor og et sendesignal for at sende data via USB -interfacet. Mens det sender data, er TX_Active -signalet højt. Efter at det har sendt dataene, pulserer TX_Done -signalet.
UART_RX -modul: Brugeren modtager 8 bits data ad gangen fra USB -grænsefladen. En puls fra RX_DV er en indikation på, at data er modtaget, og at RX_Byte -vektorlogikken kan læses.
Matrix Solver Module: Matrix solver modtager et imputeret array fra UART -modulet, der repræsenterer matrixen. Matrixopløseren konverterer derefter hvert tal i det lineære system til heltal for at gøre det lettere at betjene dem. Inde i matrixopløsermodulet er der flere delmoduler. Det første delmodul er inverse_matrix_1, som tager matricen og derefter giver inversen af den givne matrix. Det næste delmodul er multiplikatoren, der multiplicerer total_matrix med den inverse matrix ved hjælp af standardmatrixoperationer. Endelig kortlægger mastermodulet dem sammen for at udsende et enkelt svar.
Trin 2: Trin 2: Programmering af Basys 3 -kortet
Når du har erhvervet kildekoden nedenunder, skal du uploade den til basys 3 -kortet for at bruge grænsefladen.
reference.digilentinc.com/basys3/refmanual
Trin 3: Trin 3: Sådan bruges den
Brug en seriel grænseflade på 9600 baud for at kommunikere med Basys3 UART. Jeg brugte skærm på linux med følgende kommando:
skærm /dev /ttyUSB1 9600
For at gøre dette på linux, var jeg nødt til at tilføje min bruger til gruppen "dialout". På Windows burde spartel fungere, og på MacOSX burde det være en lignende proces som linux.
Ved at vende kontakten til venstre til positionen tændt starter matrixopløseren. Hvis den slås fra, nulstilles matrixopløseren.
Anbefalede:
Arduino bil omvendt parkering alarmsystem - Trin for trin: 4 trin
Arduino bil omvendt parkering alarmsystem. Trin for trin: I dette projekt vil jeg designe en simpel Arduino bil omvendt parkeringssensorkreds ved hjælp af Arduino UNO og HC-SR04 ultralydssensor. Dette Arduino -baserede bilomvendt alarmsystem kan bruges til en autonom navigation, robotafstand og andre rækkevidde
Trin for trin pc -bygning: 9 trin
Trin for trin PC Building: Supplies: Hardware: MotherboardCPU & CPU -køler PSU (strømforsyningsenhed) Opbevaring (HDD/SSD) RAMGPU (ikke påkrævet) CaseTools: Skruetrækker ESD -armbånd/mathermal pasta m/applikator
Tre højttalerkredsløb -- Trin-for-trin vejledning: 3 trin
Tre højttalerkredsløb || Trin-for-trin vejledning: Højttalerkredsløb styrker lydsignalerne, der modtages fra miljøet til MIC og sender det til højttaleren, hvorfra forstærket lyd produceres. Her vil jeg vise dig tre forskellige måder at lave dette højttalerkredsløb på:
Trin-for-trin uddannelse i robotik med et sæt: 6 trin
Trin-for-trin uddannelse i robotteknologi med et kit: Efter ganske få måneder med at bygge min egen robot (se alle disse), og efter at jeg to gange havde dele mislykkedes, besluttede jeg at tage et skridt tilbage og tænke min strategi og retning. De flere måneders erfaring var til tider meget givende, og
Akustisk levitation med Arduino Uno trin for trin (8 trin): 8 trin
Akustisk levitation med Arduino Uno Step-by Step (8-trin): ultralyds lydtransducere L298N Dc kvindelig adapter strømforsyning med en han-DC-pin Arduino UNOBreadboard Sådan fungerer det: Først uploader du kode til Arduino Uno (det er en mikrokontroller udstyret med digital og analoge porte til konvertering af kode (C ++)