Mest Universal Asynchronous Receiver Transmitter ( UART ) som jag hittade på nätet , är alltför komplicerade och svåra att förstå , här kommer jag att förklara några enkla teori och även koden om hur man bygger en. Saker du behöver
Xilinx ISE
Visa fler instruktioner
1
Först låter tala om hur sändarna fungerar . Den grundläggande principen är att skicka flera bitar av data över en enda rad . . I vår sändare , är dessa data parallellt , men för att minska antalet nödvändiga ledningar , vi använder seriell kommunikation som omvandlas till breddgraden på mottagarsidan
Den grundläggande saker som vi behöver är följande :
1 . En klockpulsdelare ( vår disk ) katalog p Detta är möjligt för oss att sända data vid en viss hastighet ( baud rate ) . Vår mottagare kommer att prova och ta uppgifterna bit för bit .
2 . Ett skiftregister
Vi behöver veta hur många bitar åt gången som vi sänder , kommer vår skiftregister har en start bit , databitar , paritet ( tillval ) , end bit .
tre . Ett tillståndsdiagram
Innan writting någon kod , måste vi tänka på vad vi behöver för att skapa och det bästa sättet är att skapa ett tillståndsdiagram för vår design . Vi vet att en sändare behöver vi två stater , ledig och sänder.
2
Efter att ha ett tillståndsdiagram , nu kan vi räkna ut vad vår disk kommer att bli . Detta görs genom att använda :
räknare = FPGA klockfrekvens /överföringshastighet
I detta exempel använder jag en överföringshastighet på 9600 , vilket gör min räknare = 5208
< . br > 3
Senaste beräknar vi vår skiftregister och skriva klart vår statsapparaten . I min exempelkod jag använder en start bit , paritet, 8 databitar och slutet lite . Det är 11 bitar totalt .
Båda bilder i steg 2 och 3 i samma modul slutföra vår sändare kod krävs för att programmet till FPGA . Denna kod kommer att fungera med en annan FPGA ansluten seriellt eller med windows HyperTerminal bland annat hårdvara . Kan vara lätt modifieras för att arbeta med mycket mer .
4
Senaste skapar vi en testfixtur att åtgärda eventuella fel och simulera vårt program innan programmera FPGA .
Detta avslutar sändare . Lämna gärna kommentarer om du har några frågor eller känner att det är något som saknas här .