The first step was to make sure that the OLS was up-to-date with FPGA and PIC firmware. At the time of writing v2.12b of the OLS software is available here. Included is a simple application that can flash the OLS EEPROM with new FPGA bit-stream, and update the PIC firmware.
The Gadget Factory has a YouTube channel with a few videos showing FPGA logic analysis and UART debugging. Setting up some UART transmission looked like the easiest way to try out the OLS, and quick to setup on the Arduino Deumilanove.
The OLS is limited with the number of samples it can record, so we need to tell the OLS when we are about to transmit over a UART line. The Arduino runs with a 16 MHz crystal, so the OLS should be able to pick up a pulse on one of the digital I/O pins.
Below is the Wiring code to setup the UART on pins 2, and 3. Plus the trigger pulse output on pin 4. The NewSoftSerial library is used to allow for higher baud rates to be tested.
#include <newsoftserial.h>This simple PDE file can be found here. Also at that SVN location is the project file used with the OLS alternative SUMP client (Jawi's version supplied with the v2.12b OLS software).
NewSoftSerial UART1(2,3); // rx,tx
void setup()
pinMode(4, OUTPUT);
digitalWrite(4, LOW);
UART1.begin(115200);
}
void loop()
digitalWrite(4, HIGH);
digitalWrite(4, LOW);
UART1.print("hello");
}
I connected the OLS breakout probes to Gnd on the Arduino, and the digital I/O pins 2, 3, and 4. With the above Wiring sketch uploaded to the Arduino I was then able to start getting to grips with Jawi's Java SUMP Client. I ended up sampling at 50 MHz, and that was able to capture just over 450 micro seconds worth of data. The SUMP Client has plugins for analyzing common bus protocols. Below is the UART analysis. As you can see, the OLS managed to capture the UART Tx from the Arduino, result!!
UART Analysis results
Generated: 27 February 2011
Statistics Decoded bytes 5 Detected bus errors 0 Baudrate 230400 (exact: 122249)
RxD TxD Index Time Hex Bin Dec ASCII Hex Bin Dec ASCII 0 23.280 μs 0x68 0b01101000 104 h 1 112.040 μs 0x65 0b01100101 101 e 2 200.780 μs 0x6c 0b01101100 108 l 3 289.520 μs 0x6c 0b01101100 108 l 4 378.280 μs 0x6f 0b01101111 111 o
Next up SPI testing...
No comments:
Post a Comment