Introducing the Digitool
Digitool isn’t intended to replace a logic analyzer; it’s main purpose is being a quick test tool for microcontroller based development.
Main characteristics are:
- Frequency measurement up to 10Mhz, with 2 gate times (1 sec and 0.1 seconds), TTL input.
- Square wave injector, 10 frequency steps, up to 1Mhz. The injector is based in microcontroller’s PWM module, so it can be working no matter of which function is being used in the Digitool.
- Logic probe with 4 channels, 1024 samples buffer depth and 500 ksps rate. Acquisition can be triggered either by pushing a button or by edge change in any input. Sample rate will be improved in next firmware releases.
- User interface with 4 buttons and option menu shown in screen’s bottom line.
- Language used: Jalv2 + Jallib libraries.
- EDA software. Kicad v 4.0.5.
- Development done under Mac Os Sierra for EDA and programming. PIC programming done under Windows using Pickit2.
- Microntroller: PIC18F2525 @ 32 Mhz (cristal de 8 Mhz crystal and inner PLL), powered at 5 Volts.
- 84×48 pixels graphical lcd (nokia 3310), powered at 3 volts
- RAM data access in logic analyzer mode is done using PIC’s POSTINC registers, which increase writing speed.
- First digital input is connected to two pins: digital input and timer input. This approach has ben taken to simplify software design; the Timer 1 is used in 16 bits mode to implement the frequency meter mode
- Gate time for frequency meter is done using timer 2 as a source to trigger the interrupt routine.
- Microcontroller’s PLL module allows clock frequency up to 40 Mhz; unfortunately, library used for LCD management is incompatible with this speed. Right now, the prototype works at 32 Mhz, but following step is trying to increase speed
- LCD is powered at 3.3 V, whereas the microcontroller is powered at 5 V. This design was chose n to speed up microcontroller; powering microcontroller at 3.3V means using a low power version (18LF2525) which is slower
A zip file containing all source code, schematics and board design is available for download here.
Licences and disclaimers
Source code will be available (in following posts) for downloading for eveybody. Any derivative based on Digitool is requested to mention original design.