Tried loading from the serial port and had issues again.
Found the problem is related to the inability of the n_rts line to respond early enough to slow the USB (FPGA to Host) handshake in time. The bufferedUART.vhd code was set to turn off RTS when there are > 8 chars in the receive buffer. The FT230X part doesn't react that fast. Changing the threshold to 4 fixed the problem.
-- RTS with hysteresis -- enable flow if less than 2 characters in buffer -- stop flow if greater that 4 chars in buffer (to allow 12 byte overflow) -- USB-Serial is fast, but not fast enough to make this larger process (clk) begin if rising_edge(clk) then if rxBuffCount<2 then n_rts <= '0'; end if; if rxBuffCount>4 then n_rts <= '1'; end if; end if; end process;
I can now download code again.
Download Code Procedure
- Run puTTY on the Serial port
- puTTY conflicts with the USB Blaster so it has to be shut down
- puTTY should be set to no add LF or CR
- Assuming the file already has CR LF on each line
- Can check by puTTY settings, Terminal Implicit LF or CR turned off
- Open the download file in a text editor
- I like notepad++
- Make sure the last line in the file to download is
- If it's not, add the S9 line with a CR at the end of the line
- Select all, copy to copy-paste buffer (CTRL-C)
- Type LO2 on the VDU keyboard.
- On the Serial port, insert the text with CTRL-V
- After the download, TUTOR will return to the prompt
- Ready to run the program
- GO addr