Innholdsfortegnelse:
- Trinn 1: Trinn 1: Slik fungerer det
- Trinn 2: Trinn 2: Programmering av Basys 3 -kortet
- Trinn 3: Trinn 3: Slik bruker du det
Video: Integer_Matrix_Solver_UART_SERIAL_VHDL: 3 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:25
Denne instruktive opplæringen viser deg hvordan du lager en 2 til 2 matriseløser ved å implementere UART Serial terminal modul samt en matrise løsningsmodul. Brukeren vil kunne angi en 2 x 2 matrise, og deretter vil den implementerte designen spytte løsningen til det lineære systemet.
For å bruke denne koden trenger du:
- Et Digilent Basys 3 FPGA -brett
- Datamaskin med Xilinx Vivado -programvaren (Webpack Edition fungerer). For denne modulen brukte vi 2017.2 -versjonen.
- En mikro -USB -kabel (dataoverføring)
Forfattere: Drew Miller, EE Major, Cal Poly SLO, Sukhdeep Singh, EE Major, Cal Poly SLO Class: Digital Design
- EE/CPE 133 Instruktør: Joseph Callenes
Kilder:
- UART_TX, UART_RX fra:
- Avvis fra:
Funksjon for deling av to usignerte tall:
Trinn 1: Trinn 1: Slik fungerer det
Innganger: Brukeren legger inn et lineært system i dataterminalen, og deretter konverterer en UART -modul dem til en matrise som matriseløsningsmodulen kan manipulere. UART -modulen grensesnitt med brukeren og lar dem angi den riktige matrisen, samt veilede dem til riktig inngang av data. Systemet har også en reset/aktiveringsbryter tilordnet til bryteren til venstre på Basys3 -kortet.
Utganger: Resultatene fra matriseoppløseren sendes gjennom UART -modulgrensesnittet og vises deretter på dataterminalen med løsningene oppført på skjermen. Matriseløseren sender ut usignerte standard logiske vektorer til UART -modulen som konverterer dem til mer brukervennlige utganger som brukeren kan sette pris på. Den nåværende matriseoppløseren kan bare ha tall på opptil 15 angitt, og utdataet må være et rent heltall, eller matriseløserprogrammet kan ikke sende den riktige løsningen.
"Seriell kontroll" -modul på toppnivå: Brukeren legger inn det ønskede lineære systemet i denne modulen gjennom modulene UART_TX og UART_RX, og den konverterer inngangene fra dataterminalen til en rekke standard logiske vektorer som behandles av matriseløsningsmodulen. Matriseløser -modulen returnerer deretter en rekke standard logiske vektorer som deretter vises på skjermen av det serielle UART -grensesnittet. Overføring og mottak av data gjennom UART -modulene oppnås ved bruk av en veldig lang FSM i denne modulen.
UART_TX -modul: Brukeren legger inn en 8 -bits standard logisk vektor og et sendesignal for å sende data via USB -grensesnittet. Mens det sender data, er TX_Active -signalet høyt. Etter at den har sendt dataene, pulserer TX_Done -signalet.
UART_RX -modul: Brukeren mottar 8 biter data om gangen fra USB -grensesnittet. En puls fra RX_DV er en indikasjon på at data er mottatt og at RX_Byte -vektorlogikken kan leses.
Matrix Solver Module: Matriseløseren mottar en beregnet matrise fra UART -modulen som representerer matrisen. Matriseløseren konverterer deretter hvert tall i det lineære systemet til heltall for å gjøre det lettere å operere dem. Inne i matriseløsningsmodulen er det flere delmoduler. Den første delmodulen er inverse_matrix_1 som tar matrisen og deretter gir inversen av den angitte matrisen. Den neste delmodulen er multiplikatoren som multipliserer total_matrisen med den inverse matrisen ved hjelp av standardmatriseoperasjoner. Til slutt kartlegger hovedmodulen dem sammen for å levere ett enkelt svar.
Trinn 2: Trinn 2: Programmering av Basys 3 -kortet
Når du har fått kildekoden nedenfra, laster du den opp til basys 3 -kortet for å bruke grensesnittet.
reference.digilentinc.com/basys3/refmanual
Trinn 3: Trinn 3: Slik bruker du det
Bruk et serielt grensesnitt på 9600 baud for å kommunisere med Basys3 UART. Jeg brukte skjermen på linux med følgende kommando:
skjerm /dev /ttyUSB1 9600
For å gjøre dette på linux, måtte jeg legge til brukeren min i gruppen "dialout". På Windows bør kitt fungere, og på MacOSX bør det være en lignende prosess som linux.
Når vipper bryteren til venstre til på -posisjon starter matriseløseren. Hvis du slår den av, tilbakestilles matriseløseren.
Anbefalt:
Arduino bilvarslingssystem for omvendt parkering - Trinn for trinn: 4 trinn
Arduino Car Reverse Parking Alert System | Trinn for trinn: I dette prosjektet skal jeg designe en enkel Arduino Car Reverse Parking Sensor Circuit ved hjelp av Arduino UNO og HC-SR04 Ultrasonic Sensor. Dette Arduino -baserte bilreverseringssystemet kan brukes til autonom navigasjon, robotavstand og andre områder
Trinn for trinn PC -bygging: 9 trinn
Steg for trinn PC -bygging: Rekvisita: Maskinvare: HovedkortCPU & CPU -kjøler PSU (strømforsyningsenhet) Lagring (HDD/SSD) RAMGPU (ikke nødvendig) CaseTools: Skrutrekker ESD -armbånd/mathermal pasta m/applikator
Tre høyttalerkretser -- Trinn-for-trinn opplæring: 3 trinn
Tre høyttalerkretser || Trinn-for-trinn opplæring: Høyttalerkretsen styrker lydsignalene som mottas fra miljøet til MIC og sender den til høyttaleren der forsterket lyd produseres. Her vil jeg vise deg tre forskjellige måter å lage denne høyttalerkretsen på:
RC -sporet robot ved hjelp av Arduino - Trinn for trinn: 3 trinn
RC -sporet robot ved bruk av Arduino - Steg for trinn: Hei folkens, jeg er tilbake med et annet kult Robot -chassis fra BangGood. Håper du har gått gjennom våre tidligere prosjekter - Spinel Crux V1 - Gesture Controlled Robot, Spinel Crux L2 - Arduino Pick and Place Robot with Robotic Arms og The Badland Braw
Hvordan lage et nettsted (en trinn-for-trinn-guide): 4 trinn
Hvordan lage et nettsted (en trinn-for-trinn-guide): I denne veiledningen vil jeg vise deg hvordan de fleste webutviklere bygger nettstedene sine og hvordan du kan unngå dyre nettstedbyggere som ofte er for begrenset til et større nettsted. hjelpe deg med å unngå noen feil som jeg gjorde da jeg begynte