Meest Universal Asynchronous Receiver Transmitter ( UART ) die ik online gevonden , zijn te ingewikkeld en moeilijk te begrijpen maken , hier zal ik een aantal eenvoudige theorie en ook de code uit te leggen over hoe een te bouwen . Wat je nodig hebt Xilinx ISE Toon Meer Aanwijzingen 1 Eerst laat praten over hoe zenders werken . Het uitgangspunt is om meerdere bits van de gegevens over een enkele lijn te sturen . . In onze zender , deze gegevens is parallel , maar om het aantal draden nodig te verminderen , maken we gebruik van seriële communicatie , dat wordt omgezet in parallel aan het ontvangende eind De fundamentele dingen die we nodig hebben zijn de volgende : < br > 1 . Een klok divider ( onze teller ) op p Dit is stelt ons in staat om gegevens te verzenden op een bepaalde snelheid ( baudrate ) . Onze ontvanger zal proeven en neem de gegevens beetje bij beetje . 2 . Een schuifregister We moeten weten hoeveel bits tegelijk zijn we doorgeven , zal onze schuifregister hebben een startbit , databits , pariteit bit ( optioneel ) , einde bit . 3 . Een toestandsdiagram Voordat schrijftafeltje een code , moeten we denken aan wat we nodig hebben om te maken en de beste manier is het creëren van een toestandsdiagram van ons ontwerp . We weten dat voor een zender moeten we 2 staten , IDLE en ZENDEN . Kopen van 2 Na een toestandsdiagram , nu kunnen we berekenen wat onze teller zal zijn . Dit wordt gedaan door gebruik te maken : teller = FPGA kloksnelheid /baudrate In dit voorbeeld gebruik ik een baudrate van 9600 , het maken van mijn teller = 5208 < . br > 3 Last , berekenen we onze schuifregister en finish schrijven onze state machine . In mijn voorbeeld code gebruik ik een startbit , pariteitsbit , 8 bits van de gegevens en het einde bit . Dit is 11 bits in totaal . Beide beelden in stap 2 en 3 samen in dezelfde module te voltooien onze zender code die nodig is om het programma aan de FPGA . Deze code zal werken met een andere FPGA serieel of met ramen HyperTerminal onder andere hardware aangesloten . Kan gemakkelijk worden aanpasbaar te werken met veel meer . 4 Last , creëren we een proefopstelling om eventuele fouten te herstellen en simuleren van ons programma voor het programmeren van de FPGA . Dit concludeert de zender . Laat comments als u nog vragen of voelt is er hier iets ontbreekt .
|