UARTs are particularly useful for FPGA embedded processors as it quickly becomes very tedious using LEDs for debugging and for program output. The Elektor 8080 embedded processor experiment 5 requires two UARTs one for terminal I/O and the other for program load and debug statements.
As an introduction to UARTs I used an electronoobs tutorial which provides a clear explanation of the verilog required to send and receive bits. I used MAX1000 pins A4/B4 to utilise the internal UART for testing.
For the second UART Elektor I used an FTDI RS232 cable attached to pins M2/M1. I could have used any available GPIO and if I wanted I could add more terminals using more FTDIs/GPIOs.
Initially, in Elektor experiments 1 and 2, executable 8080 C programs are loaded into the image which is downloaded to MAX1000. Changing a program requires you to compile a program and put the executable in the Quartus project folder then running synthesis and loading using Programmer, which very quickly becomes very tedious. Elektor experiment 5 uses Processing (a C environment on PC equivalent to arduino) to transmit executable 8080 C programs to MAX1000 via a serial interface. The interface also provides some basic commands to be be used for debugging.
Our first serial interface (built-in B4/A4) is required for SYSIN/SYSOUT terminal I/O and we use the second one (FTDI M2/M1) for program loading. [August 2019]
No comments:
Post a Comment