I'd assumed that most logic analysers allow you to also generate data or replay captured data.
I have a relatively cheap Ikalogic Scanalogic 2, which can certainly do so - http://www.ikalogic.com/ikalogic-products/scanalogic-2/ (http://www.ikalogic.com/ikalogic-products/scanalogic-2/)
Do other LA's differ?
I'd also like to find the type of software or product you are describing/seeking.
I noticed you are selling a Rigol arb gen. If you are thinking about a new arb gen you might take a look at Keysight's Benchlink Waveform Builder Basic software (free download) - it works with their arg gens but is computer-based. It's slightly tedious to use (although that might just be my lack of experience with it) but it gives the ability to control waveform construction including for various types of pulses that can represent digital logic. What would be nice would be something that gives lots of flexibility but also ease of use for making digital logic - I haven't found it yet. Like you I found the Bus Pirate a bit cumbersome. The Kidogo UI looks like it has some potential. Another item worth looking at is the USBee SX - it is both a logic analyzer and a generator; you might be able to try the software without the hardware. I think the winner might be something that is table/field driven but that also allows some editing via drawing. Hopefully this thread will bring some good recommendations.
The Digilient Analog Discovery can generate patterns, I use mine for simulating ADCs when hardware is not ready.
Thanks. Yeah I have the Agilent Waveform Builder software - I use it with the 33522B that I upgraded to (hence selling the Rigol). However, the generator only has two channels -- this can generate CLK and Data (which might be sufficient in some cases), but it's not really designed for this sort of use, IMO.
//Serial UART generator template
//define your own parameters here:
var target_channel = 1;
var baud_rate = 115200;
var parity = 0; //only None parity is supported in this template
var bits = 8; //only 8 bit is supported in this template
var stop = 1.5; //specify number of stop bits.
var inverted = false;
var msb_first = false;
var hi,lo; //used by the template inner code.
var samples_per_bit;
var sample_rate = get_sample_rate();
var total_samples = get_maximum_samples();
function build_signals()
{
ini_uart_generator();
//use the function below to generate uart character strings
put_str("Hello There, this a test!");
//use the fonction below to generate arbitrary delays
delay(30);
//generate some characters (8-bit values)
put_c(0x05);
put_c(0x06);
put_c(0x07);
}
function put_str(str)
{
var i;
add_samples(target_channel,hi,samples_per_bit*stop); //add 1 stop first
for (i = 0; i < str.length; i++)
{
put_c(str.charCodeAt(i));
}
}
function put_c(code)
{
var i;
var b;
var lvl;
add_samples(target_channel,lo,samples_per_bit); //add start bit
if (msb_first)
{
for (i = 7; i >= 0; i--)
{
b = ((code >> i) & 0x1)
if (b == 1)
{
lvl = hi;
}
else
{
lvl = lo;
}
add_samples(target_channel,lvl,samples_per_bit);
}
}
else
{
for (i = 0; i < 8; i++)
{
b = ((code >> i) & 0x1)
if (b == 1)
{
lvl = hi;
}
else
{
lvl = lo;
}
add_samples(target_channel,lvl,samples_per_bit);
}
}
add_samples(target_channel,hi,samples_per_bit*stop); //add stop bits
}
function delay(n_bits)
{
var i;
for (i=0; i < n_bits; i++)
{
add_samples(target_channel,hi,samples_per_bit);
}
}
function ini_uart_generator()
{
if (inverted == false)
{
hi = 1;
lo = 0;
}
else
{
hi = 0;
lo = 1;
}
samples_per_bit = sample_rate / baud_rate;
}
One of the problems with digital pattern generators is that they don't come with software to create the patterns. It's just clicking ones&zeros in boxes. How about creating SPI, I2C or UART waveforms in an easy way?
Microchip's PICkit Serial Analyzer can be used to both decode and generate SPI/I2C/UART serial streams at the byte protocol level.
It's a bit old, but it works.
It doesn't replace the nice warm feeling you get from seeing the scope/LA bit decode though.
Microchip's PICkit Serial Analyzer can be used to both decode and generate SPI/I2C/UART serial streams at the byte protocol level.
It's a bit old, but it works.
It doesn't replace the nice warm feeling you get from seeing the scope/LA bit decode though.
AIUI, this only works (worked?) on PICkit 2 and was never ported to PICkit 3. Is that still true or am I thinking of something else?
I'm working on something like that... Boards are ready but I need to finish the PC software before getting into the hardware otherwise the PC software will be the usual afterthought.One of the problems with digital pattern generators is that they don't come with software to create the patterns. It's just clicking ones&zeros in boxes. How about creating SPI, I2C or UART waveforms in an easy way?+1
It seems like some products have parts of the solution but it isn't clear that any vendor has a super compelling UI. Maybe it can only happen with software coding but it seems like there should be a combination of clicking ones and zeros, drawing/editing waveforms, and some scripting/coding that is both easy and powerful.