![]() |
vt52-fpga
1.0.0 Initial
vt52-fpga is a serial terminal implemented on a FPGA
|
vt52-fpga forked from AndresNavarro82/vt52-fpga
Projects using usb serial IP . this bit bashes a USB UART.
This is a demo project which simply echoes back to the output what it receives on the input.
https://github.com/DavidJRichards/vt52-fpga
This version is a branch targeted to run on the ebaz4205 zynq board original readme here readme
The original project is hosted here: vt52-fpga
The terminal appears as a USB device 'ttyACM0' when the PL runs, it may be used as a terminal or login session.
change TERM setting to VT52 by creating an overrride file for /dev/ttyACM0
Add the following lines:
Some minor changes were needed to make the sources build with Vivado, A custom pll has been used taking the external 33.333 MHz clock to derive the 24 MHz VGA clock and 48 MHz USB clock.
The vivado tcl script v52-usb.tcl will create a project 'vt52-usb' when sourced in this directory.
There is an LED which flashes at the same rate as the VGA cursor when the PL is active.
The keyboard is a PS/2 PC keyboard with clock and data lines fed into the fpga with current limiting resistors and pull ups to 5V.
The USB interface is very simple consisting of current limiting resistors of 47R and a pull up resistor to identify the USB transfer speed. A separate output is used to pull the D+ line high through 2k2 to identify full speed USB, an internal pull up on D+ may be used instead.
USB info: https://www.beyondlogic.org/usbnutshell/usb2.shtml#Electrical
see here for scancodes used in set2 column. http://www.quadibloc.com/comp/scan.htm
Cursor keys now send upper case ESC codes (was lower case)
Simple program to show printable characters in fpga font: