Author Topic: Digital signal generators?  (Read 11348 times)

0 Members and 1 Guest are viewing this topic.

Offline dadlerTopic starter

  • Supporter
  • ****
  • Posts: 851
  • Country: us
Digital signal generators?
« on: August 17, 2015, 02:02:14 am »
Are there digital signal generators out there, say to drive I2C/SPI/etc?

I suppose this would be the inverse of a logic analyzer.

I searched the forum and only found this: https://www.eevblog.com/forum/oshw/kidogo-oshw-low-end-digital-signal-generator/

I am aware of things like the Bus Pirate (have one, kinda cumbersome to use), and I currently use this product: http://www.adafruit.com/products/2264

Which I drive with various python scripts.

This works fine, but I'd rather have something with a graphical interface, like the one shown in the Kidogo link above:



Do professional products like this exist?
 

Offline Electro Fan

  • Super Contributor
  • ***
  • Posts: 3288
Re: Digital signal generators?
« Reply #1 on: August 17, 2015, 05:06:23 am »
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.
 

Offline RogerRowland

  • Regular Contributor
  • *
  • Posts: 193
  • Country: gb
    • Personal web site
Re: Digital signal generators?
« Reply #2 on: August 17, 2015, 06:51:44 am »
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/

Do other LA's differ?
 

Offline dom0

  • Super Contributor
  • ***
  • Posts: 1483
  • Country: 00
Re: Digital signal generators?
« Reply #3 on: August 17, 2015, 06:52:34 am »
They're called digital pattern generator, pulse pattern generator or data generator. Some general purpose, some specialized ones exist.
,
 

Offline Electro Fan

  • Super Contributor
  • ***
  • Posts: 3288
Re: Digital signal generators?
« Reply #4 on: August 17, 2015, 06:52:51 pm »
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/

Do other LA's differ?

Looks like a nice set of products. Apparently the entry level LA does generation but not their current top of the line.

http://www.ikalogic.com/forums/viewtopic.php?f=24&t=2084

They have a new product coming in September.
 

Offline Mark

  • Frequent Contributor
  • **
  • Posts: 272
  • Country: gb
Re: Digital signal generators?
« Reply #5 on: August 17, 2015, 07:27:15 pm »
The Digilient Analog Discovery can generate patterns, I use mine for simulating ADCs when hardware is not ready. 
 

Offline Kintekobo

  • Regular Contributor
  • *
  • Posts: 64
  • Country: gb
  • Avatar by the fabulous 'Space Coyote'
    • A Load of Old Bollox
Re: Digital signal generators?
« Reply #6 on: August 17, 2015, 08:02:40 pm »
Definitely check out the IkaLogic ScanaLogic-2 which is a four channel Logic Analyser which can also generate programmable digital outputs.

http://www.ikalogic.com/ikalogic-products/scanalogic-2/

The Software is excellent and creating signals a doddle. I have been a great fan of their kit for several years having bought the ScanaLogic-2 and then the ScanaPLUS which is a 9-channel analyser but without the ability to generate output data. It does do 100MSPS with a virtually infinite capture length though. You can download the software for free which will run in demo mode for you to get an idea of what it can do.
You can call me anything you like. Just don't call me late for lunch.
 

Offline dadlerTopic starter

  • Supporter
  • ****
  • Posts: 851
  • Country: us
Re: Digital signal generators?
« Reply #7 on: August 17, 2015, 10:14:33 pm »
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.

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.
 

Offline Howardlong

  • Super Contributor
  • ***
  • Posts: 5410
  • Country: gb
Re: Digital signal generators?
« Reply #8 on: August 17, 2015, 11:01:02 pm »
The Digilient Analog Discovery can generate patterns, I use mine for simulating ADCs when hardware is not ready.

+1, it's a really handy tool, and it's the _only_ PC based electronics diagnostics tool that I've found I frequently use.
 

Offline dadlerTopic starter

  • Supporter
  • ****
  • Posts: 851
  • Country: us
Re: Digital signal generators?
« Reply #9 on: August 17, 2015, 11:07:33 pm »
Ah thanks. I did not realize the Analog Discovery had a digital signal generator. I'll look into it.
 

Offline MadTux

  • Frequent Contributor
  • **
  • Posts: 793
Re: Digital signal generators?
« Reply #10 on: August 18, 2015, 12:44:02 am »
HP 16520A/16521A (12/48Ch,  50MHz,  4kSampes)
HP 16522A (20/40CH,  200/100MHz,  256kSamples)
HP 16720A (120/240Ch,  300/180MHz,  16/8MSamples)
Tek TLA7PG2 (32/64Ch,  268/134MHz,  2/1MSample)
Printer Port (8+4Ch, 2MHz, unlimited)

Or good old AVR or FPGA board or uC programmed SRAM or EPROM chip with counter on address bus
« Last Edit: August 18, 2015, 12:49:05 am by MadTux »
 

Offline Electro Fan

  • Super Contributor
  • ***
  • Posts: 3288
Re: Digital signal generators?
« Reply #11 on: August 18, 2015, 01:07:22 am »
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.

Good point about the 2 channel limitation; I was just focused on finding something that could easily generate digital signals with good control over waveform amplitude and timing but once that is possible the next step would be more channels.  I think you are a step or maybe a lap ahead of me :)
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 28101
  • Country: nl
    • NCT Developments
Re: Digital signal generators?
« Reply #12 on: August 18, 2015, 03:07:59 pm »
The more fancy ones can also tristate but then again most only have one logic level. 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?
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline Kintekobo

  • Regular Contributor
  • *
  • Posts: 64
  • Country: gb
  • Avatar by the fabulous 'Space Coyote'
    • A Load of Old Bollox
Re: Digital signal generators?
« Reply #13 on: August 18, 2015, 05:00:24 pm »
OK, I know it sounds like I have an interest in the IkaLogic kit but I don't. I just think it is incredibly useful and like to spread the word. Also incredibly cheap  :-+

To that end it is one of the few function generators that has a scripting language which lets you create just about any waveform pattern you like. All four of the input/output connectors are assignable to be either an input to the logic analyser or an output from the generator. Below is an example of the script to generate an RS232 signal. I created one to output IIC data for testing a little LCD display.

Code: [Select]
//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;
}

You can call me anything you like. Just don't call me late for lunch.
 

Offline dadlerTopic starter

  • Supporter
  • ****
  • Posts: 851
  • Country: us
Re: Digital signal generators?
« Reply #14 on: August 18, 2015, 09:52:39 pm »
The IkaLogic sounds neat, although what you are describing can already be done with the $15 device I posted earlier:

http://www.adafruit.com/products/2264

It will do SPI, I2C, UART, standard GPIO, etc. I use the Python API but it can be driven other ways. I've used it to test/drive OLED displays before I have the hardware ready to drive them.

The IkaLogic may be more powerful, though.
 

Offline Kintekobo

  • Regular Contributor
  • *
  • Posts: 64
  • Country: gb
  • Avatar by the fabulous 'Space Coyote'
    • A Load of Old Bollox
Re: Digital signal generators?
« Reply #15 on: August 18, 2015, 10:33:24 pm »
That does look pretty cool. Need to get my hands on one  :-+
You can call me anything you like. Just don't call me late for lunch.
 

Offline Electro Fan

  • Super Contributor
  • ***
  • Posts: 3288
Re: Digital signal generators?
« Reply #16 on: August 19, 2015, 03:43:25 am »
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.
 

Offline Howardlong

  • Super Contributor
  • ***
  • Posts: 5410
  • Country: gb
Re: Digital signal generators?
« Reply #17 on: August 19, 2015, 10:19:31 am »
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.
 

Offline RogerRowland

  • Regular Contributor
  • *
  • Posts: 193
  • Country: gb
    • Personal web site
Re: Digital signal generators?
« Reply #18 on: August 19, 2015, 10:25:51 am »
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?
 

Offline Howardlong

  • Super Contributor
  • ***
  • Posts: 5410
  • Country: gb
Re: Digital signal generators?
« Reply #19 on: August 19, 2015, 12:54:15 pm »
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?

The units I have are marketed as PICkit Serial Analyzer, which isn't quite the same as a PICkit 2. Although there are a lot of similarities in the hardware they aren't quite the same if you look at the schematics.
 

Online tautech

  • Super Contributor
  • ***
  • Posts: 29488
  • Country: nz
  • Taupaki Technologies Ltd. Siglent Distributor NZ.
    • Taupaki Technologies Ltd.
Re: Digital signal generators?
« Reply #20 on: August 19, 2015, 01:00:22 pm »
I've got a selection of bus waveform files ex Siglent intended to be used with their AWGs as teaching/learning aids.
There are CSV and txt versions of each of the many files.
Let me dig them out, run some to check if they're suitable, at least we might learn something from the syntax used.

I see no reason why an AWG is not suitable for the OPs purpose. :-//
Avid Rabid Hobbyist.
Some stuff seen @ Siglent HQ cannot be shared.
 

Offline pickle9000

  • Super Contributor
  • ***
  • Posts: 2439
  • Country: ca
Re: Digital signal generators?
« Reply #21 on: August 19, 2015, 05:56:47 pm »
Hantek 1008C

 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 28101
  • Country: nl
    • NCT Developments
Re: Digital signal generators?
« Reply #22 on: August 19, 2015, 07:38:36 pm »
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.
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.
« Last Edit: August 19, 2015, 07:40:42 pm by nctnico »
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf