If you are mainly involved in designing or repairing digital devices, a logic analyzer is more useful than an oscilloscope for tracing signal through circuits. However, does this mean you should rush out and buy a logic analyzer? The instruments from the leading manufacturers are too expensive for home use or startup businesses, and the low-cost alternatives don’t do what you want or have half-baked software. That situation is slowly starting to change.
The French company Ikalogic has been making logic analyzers modules since 2010 with a USB port for connection to a laptop or desktop PC. Nothing special, you might say, but late last year they launched a new series of four-channel logic analyzer modules. Why not eight or more channels? If you think about it a bit, the answer is clear: most modern microcontrollers and digital circuits use serial links to save space and pin counts. Sensors, EEPROMs, communication with the outside world – they all run with I²C, I²S, 1-Wire, USB and so on. With all of these links you only need two, three or four lines, so why not limit yourself to a total of four channels? Ikalogic has worked this out nicely, and especially thanks to the integration of virtually all commonly used serial protocols into their software, you actually don’t need more channels with the ScanaQuad devices. If you nevertheless do require more, Ikalogic’s engineers have anticipated your need by allowing several analyzer modules to be operated in parallel with an accessory adapter, which gives you up to 24 channels.
The ScanaQuad series consists of four modules (SQ25, SQ50, SQ100 and SQ200), which mainly differ in the sampling rate. The number at the end of the type designation is the sampling rate in MHz per channel (for example, SQ25 means 25 MHz), regardless of the number of channels being used. Compared to the lower-end modules, the two top-end modules have a larger input voltage range (±15 V), more input and output configurations, and differential measurement capability.
All four ports are user definable – for example, they can be identified as the SCA and SCL lines of an I²C bus. Each port can also act as an output. An output can supply a pulse signal with adjustable frequency and duty cycle, but you can also define complex data sequences using JavaScript commands. Incidentally, that also applies to the decoder protocols – you can also create your own, but there are already a lot of predefined protocols to choose from.
The currently available protocols are 1-Wire, CAN, DHT11/22, DMX-512, HC-SR04, I²C, I²S, JTAG, 4-bit LCD, LIN, Manchester, Maple, MIDI, NMEA 0183, nRF24L01, Oregon Scientific, Parallel Bus, PWM, SENT, SPI, SPI WIZnet W5100, UART, and USB1.1. There is also built-in support for specific devices, such as some 1-Wire temperature sensors and I²C temperature and humidity sensors.