Stap 3: codering
Codering is misschien wel het moeilijkste deel. Het algoritme bevat het volgende:
1 x Overall belangrijkste circuit te instantiëren en rijden alle modules
2 x comparatoren
1 x Decoder voor de Basys 3 weergeven
1 x lichte controllermodule geboden door Xilinx
1 x Motor controllermodule
1 x Motor counter module om te rijden de motor gedurende een bepaalde tijd
1 x Reader module voor de temperatuur probes
1 x Overall klok te rijden van de code
3 x klok dividers binnen de code te vertragen het kloksignaal
1 x Counter module om te rijden de weergegeven gebruiker instelling temperatuur omhoog of omlaag
1 x Basys 3 Master bestand configuratie
Het is gesuggereerd dat u Vivado 2014 aan de code van dit project, omdat het hetzelfde programma we gebruikt. De website Digilent heeft veel tutorials op aan de slag met Vivado.
Instructies voor het coderen van:
Referentiebestanden: voordat u iets doet, moet u eerst een nieuw project maken in Vivado. Vervolgens zal u zitten kundig voor onze bestanden toevoegen als bronnen om te gebruiken als verwijzingen. Zonder het maken van het project in Vivado, zal de bestanden niet openstellen.
1. bouw elke modules op het lagere niveau afzonderlijk. Indien mogelijk de individuele modules te testen terwijl u werkt.
2. de Comparateur modules zijn het makkelijkst te bouwen en testen op dit punt. Ze zijn minder-dan-of gelijke aan comparatoren die het volgende vergelijken: de temperatuur in en de temperatuur buiten, en de temperatuur die de gebruiker (met de module van de teller verhogen/verlagen instelt) en de temperatuur in.
3. Voeg de bestanden voor de zeven segment decoder en de klok dividers. Zet deze zo nodig in de afzonderlijke modules eerst voor het testen van (Links codering).
4. Maak de modules van de controller voor de temperatuur sondes en test (Links codering). De sonde leest temperatuur in Celsius!
5. Maak de modules van de controller voor de motor en de test. Het gaat hierbij om zowel de motorcontroller en motor teller (Links codering).
6. Maak de teller-module en test het met de weergave om te zien of het correct wordt verhoogd of verlaagd.
7. Maak de verlichtingssturing uit de Xilinx code en te testen om te zien als de LEDs goed verplaatsen (Links codering).
8. de systemen samen in een belangrijkste circuit-bestand toewijzen.
9. zet in de in- en uitgangen aan het configuratiebestand van Basys 3 Master.
Ook geupload worden de werkelijke VHDL-bestanden gebruikt voor uw referentie. Alle bestanden hebben besproken om te helpen begrijpen van de functie van elke module en de bijbehorende onderdelen. Kijk naar het geuploade beeld voor de hiërarchische structuur van de bestanden in Vivado.
Opmerking: De projectbestanden die geleverd kunnen komen met een fout tijdens de uitvoering voor de lichtsensor-bestand. Het circuit zal nog steeds werken, er is slechts een kleine fout.
Codering van Links
Outsidecode, en informatie te helpen code van ons project zal hier worden verstrekt.
Temperatuursonde:
De temperatuursonde informatiebladen (zodat u welke poorten doen wat weet) kunnen hier worden gevonden: http://www.adafruit.com/datasheets/MAX6675.pdf
Motor:
De motor code was vertaald uit het Arduino code om te werken in VHDL en onze code al weerspiegelt die. Voor een basic starter op de code kan je hier: https://learn.adafruit.com/adafruit-arduino-lesson... Klok Divider en zeven Segment Decoder VHDL:
Onder de Creative Commons-licentie van Brian melig en Fabrizio Tappero verkregen.
Klok Divider Code vanaf pagina 151 en SSEG Decoder vanaf pagina 163 van het boek Gratis bereik VHDL door Brian Mealy en Fabrizio Tappero: http://freerangefactory.org/pdf/free_range_vhdl.pd...
Lichtsensor:
Code van de lichtsensor, hoffelijkheid van Xilinx:
https://Reference.digilentinc.com/basys3:xadcdemo Basys 3 Master bestand configuratie:
Kaart te brengen de juiste signaal-uitgangen van de code naar het Basys 3 Master bestand, die kan hier worden gevonden:
https://www.digilentinc.com/Data/Products/BASYS3/b...
Ook is een referentiebestand opgenomen. Dit master bestand is waar weten welke poorten zijn die belangrijk zijn voor het project.