One of the hassles with the sump.org logic analyzer is that the serial connection is limited to 115200, the old limit of 16550-based serial chips and also a limit of the max3232 level-shifting chip on the board. When capturing a full 1 megabyte trace, this means that the transfer time is tens of seconds. However, modern USB serial chips have data rates up to several mbps and can work with 3.3V logic without level shifting.

I've tested this just enough to know that the signature 'SLA1' is transmitted properly over a USB serial interface using the FT232 chip. I haven't yet gotten the client to use the 1mbps baud rate. Apparently, the FT232 chips can also do a 2mbps mode. At these rates it would take from 5 to 10 seconds to transfer a full 1megabyte trace. (this assumes that the fpga and pc can both keep up the data rate, but I assume that won't be an issue)

The firmware change to use the higher rate is pretty simple (there was also an associated change in the ucf file to move the signals to different FPGA pins available on one of the connectors):

diff --git a/fpga/la.vhd b/fpga/la.vhd
index 1bf114f..11e748d 100755
--- a/fpga/la.vhd
+++ b/fpga/la.vhd
@@ -155,8 +155,8 @@ signal clock : std_logic;
 signal read, write, execute, send, busy : std_logic;
 
 

constant FREQ : integer := 100000000; -- limited to 100M by onboard SRAM -constant TRXSCALE : integer := 28; -- 100M / 28 / 115200 = 31 (5bit) -constant RATE : integer := 115200; -- maximum & base rate +constant TRXSCALE : integer := 1; -- 100M / 1 / 1000000 = 10 (5bit) +constant RATE : integer := 1000000; -- maximum & base rate

begin led(7 downto 0) <= exClock & "00" & switch & "000";

when my FTDI Basic Breakout shows up, I'm planning to wire it to a PS2 cable to make it easily pluggable, and then work on changing the java gui to use the higher rates. Or, failing that, I'll make my own GUI.

After that, my next plans for the analyzer are to make a new input conditioning board. The second edition will feature two banks of 8 inputs with current limiting resistors plus two banks intended to be hooked to the flashy ADC board. I have a 100Msps one-channel flashy board to use for this purpose. If this works out I'll probably pick up one of the dual-channel 200Msps boards. keyword software embedded electronics