Nano issues/observations

I received one of the first “official” 100 Nano DSO’s not so long ago and had the pleasure of playing with it over the weekend. For testing I created a repeating waveform with 8 pulses of 20us duration (25 kHz) at 5 ms interval and levels at 0 to 5V.

[size=85]// Arduino program to generate test pattern on digital pin 3
cli(); // disable interrupts to avoid signal delays
DDRD|=_BV(PORTD3);
uint8_t i=0;
while (true) {
if (++i==16) {
_delay_us(5000);
i=0;
}/if/
_delay_us(20);
PIND|=_BV(PORTD3); // toggle pin 3
}/while/[/size]

For the tests I used trigger level at 2.36V, trigger sensitivity at approximately 1V and falling slope (firmware 2.01, 1x standard probes). When trying to trigger the test signal I found a number of issues as follows:

AUTO
At 50us/div I get a fairly stable signal pattern (occasionally it will shift left by one div or so) centered on the display.

  • If I press R/S to HOLD however, the waveform will disappear and a steady 5V signal is displayed. Changing to RUN will again bring the signal back.
  • Displayed frequency alternates between 960Hz and 25KC (T1/T2 set to match pattern duration) whereas a steady 25kHz was expected.
  • At 20us/div the signal shifts to the right and becomes unstable (disappears, jumps left/right).
  • At 10us/div and below it is no longer possible to observe the waveform/pulses.
  • At higher ms/div I can observe the pattern groups, but they’re unstable in shape and position on the display.

NORM
Observations and issues are similar to that of AUTO.

SIGN (I assume this is “SING” as referred to in the manual)

At 50uS/div (and below) it appears to trigger (HOLD is displayed), but the display will typically show only a steady 5V signal.

  • Pressing R/S will occasionally show the pattern, but apparently at random screen positions (left/right). Other times it will briefly show the pattern (when I release the R/S key) and then disappear.
  • If I manage to capture the waveform on screen it will flicker even though the signal is on HOLD.
  • At 20us/div or below I was not able to find any logic to what gets displayed.
  • If I remove the signal source (probe to GND) and press R/S it will display “HOLD” and show the steady signal (I would prefer it to display “RUN” with no signal displayed in this case until it actually triggers.) When I reactivate the signal (probe back on signal pin), the pattern jumps left/right/disappears and apparently it no longer acts as a singular trigger.

X-position (T0)
With a steady waveform displayed, I can observe the display shifting left/right (the bottom indicator moves very slowly and it doesn’t appear to relate well to the actual pattern left/right shift). It is unclear to me how this setting affects the trigger point (is it for HOLD patterns only or does it apply also to continues trigger modes?). At one point I moved the X-position far left and the marker disappeared altogether and I also got some unexpected signal patterns displayed. A power on/off cycle was needed to resolve this.

Capture waveform to SD-card
On first time use (Windows XP/SP-3) reported the SD card as 3.7GB and I could only format it for 32-bit FAT. It appeared top work as such however and I copied the CONFIG.DAT file to the card. At some point during testing however (I tried saving waveforms) it was again reported as “unformatted” and this time with a 1.8GB capacity. I did a format (this time with FAT-16) and copied CONFIG.DAT onto the card again.

I created “FILE001.DAT” and “FILE002.DAT” (0 byte size). When I try to save waveforms however, nothing appears in the files (they remain at zero bytes). No error message however is displayed. If I choose a non existing number, the message “File NoPlace” is displayed.

I understand others have been able to capture waveforms and also of an application to convert these files to bitmaps. Is this application available for download?

The manual states that files “FILE000.DAT” through to “FILE255.DAT” can be used, the user interface however does not allow “000” to be selected.

Final comments
I’m concerned about not being able to properly trigger/display waveforms at 50 uS/div and below. 1 MHz sampling rate is already very limited as scopes go and not being able use the Nano at anywhere near this speed (Audio, Sonar, SPI, TWI, USART) makes it more of a toy than a useful instrument. Also with these apparently fundamental issues with triggering and calculations, I really don’t know if I can trust it for anything. My limited time for testing however may attribute to some of the issues observed and perhaps also there are issues you’re able to fix through firmware updates. On the positive side, I much like the size/portability and the prospect of it working in accordance with the specifications you have released.

can you tell us the code that you use for test, the code that you show upside seems can not work like what you say.

and I have test use the timer to sent out the 25K pule for DSO Nano, it work perfect. and even in 125K (i use it to debug my 125K RFID shield) it also can show up the steady image ---- I use the 1uS/Div .

and you use the 20usdiv , the screen show 12div , and that all scaling is about 240 us , you use the wave that cycle is about 5ms , how can it show up a stable image ? if you use a wave that 25K continuing that it can show you a nice waveform even in 1usdiv… when you press the stop , the 240us is in the 5m hight level , that of cause it show you a hight level.

but in the SIGN mode it should showed up a waveform , i will test for it why you cannot catch it , and show me your test code. in some div it may be not fixed time scaling for your test wave.

also , you can not hold it , because it not a 25K wave but a 5ms period wave , so the hold just catch the 12 x N us , you may not be so lucky stop in the 8 pulses .

About the SD card … DSO Nano just can use the card that suppose spi mode , if your card just can use SD mode , that it can’t be use in DSO Nano.

Here is a Sketch show you why your wave can not be stable :
1.jpg
the DSO catch every 240us as a frame , and you put out 8 pules and 5ms delay , that you can see in the frame 1 and frame 2 , the wave is not in the same position.

this just a probably sketch , the 5ms be hight level and will through many frames , and the result is the same : the pules is not at the some position , and may be you stop in a frame that just have hight level.

For this wave , you can choose a larger time scaling div that can to include it , of it’s the wave’s N times . also , the Single mode is able to catch it but you need to set a right trigger edge, you can use a fall edge to test it . may you will not just catch the 5V.

The full code is as follows:

[code]#include <util/delay.h>

void setup() {
cli();
DDRD|=_BV(PORTD3);
uint8_t i=0;
while (true) {
if (++i==16) {
_delay_us(5000);
i=0;
}/if/
_delay_us(20);
PIND|=_BV(PORTD3);
}/while/
}

void loop()
{
}[/code]

This is why we use triggers - isn’t it? Nothing should be displayed until a trigger condition is met and when pressing R/S, I expect the DSO to pause/hold at the NEXT trigger pulse. I also expected that T0 is used to determine the position on screen where the trigger start shall be placed. Continues waveforms is the easy part, capturing events is what makes triggers truly useful.

The card is supplied with the DS Nano and even inserted by you - what shall I expect?

Edit:

So then what needs to be changed from this:

For the tests I used trigger level at 2.36V, trigger sensitivity at approximately 1V and falling slope (firmware 2.01, 1x standard probes). 

I have try the single mode and it really has some issue for a long delay , it will be be trigger incorrect in delay. Thanks for your testing and it will help us to improve the DSO . we will pay attention to these issues and try to fixed it in the new firmware .

And the SD card , please try the data file that we suppose , and don’t add a file with 0 byte yourself.

If you don not use these file , that the DSO cannot store it correctly . And it not show out error information should be a issue …and we will modify it in new firmware,too. It’s a necessary point out …

And , the file000 is for our test … it will not be use … the manual will modify…

thanks for your testing again … :blush:

Thanks for your feedback - I will be looking forward to an update.

Please also consider the NORM mode. The displayed waveform really must be synchronized at the trigger point (preferably also in AUTO mode) and likewise - R/S must freeze only when triggered (immediate is good for SCAN and NONE only). In NORM mode, nothing should be displayed unless a trigger condition is met and then the display should align the waveform sample with the trigger position at the T0 setting.

As for the SD card - save configuration works, but screen capture does not. Is there a need to preallocate space in these “FILE???.DAT” files (I created zero size byte files) and if so - how much space? What about the PC utility to convert these files to images?

the DSO has not a hardware trigger circuit , this is a weakness of it . We will try to modify the firmware to improve it.

the fileXXX.dat must have some Special data in it , here is the file :SDFILE.rar (4.84 KB)

I will be quite happy with a software trigger - as long as it’s properly implemented.

As for SD cards - I’m still not able to capture anything even with the files you sent (the files remain binary identical before/after save with M button). No error message is given during save and name advances to next number. Also you did not post a reference to the image utility.

I checked the card, and it is a SanDisk 2GB. I had another brand new card (exact same type) and when I connect it to Windows XP first time (using DSO Nano), it is reported/identified as a 4GB card. Also I tried the DSO/Nano on Ubuntu and the issue is the same - it is not correctly identified. Is there a way I can get the SD card to work for data capture with the DSO Nano?

The windows only tool to convert that dat to a bmp file is located in the thread at viewtopic.php?f=12&t=466

It should also be of note that the SD card included with my nano is formatted so that Mac OS X (10.6) does not recognize it. I have not investigated why since I can read other FAT-16 devices.

Hi
I have found why below the 20us can not trigger the wave right in AUTO ~ Because the Store Depth~

the wave we use is about 40us X 8+ 5000us = 5320 uS , 50usDiv (2us/point)X4K = 8000 us store depth~ so you can see the wave been catch and show stable~ but it the 20usdiv(0.8us/point) X 4K = 3200 us store depth~ so the wave is 5320 us… so DSO can not catch it all stable…

and you the file in the SD card must be the name as fileXXX.dat , can not use the 0 Byte file , the file must more than 1K .

Thanks
FreeZinG

The trigger event could repeat as fast as every 10us or only once every hour - it should not matter. I think you need to sample continuesly in all trigger modes and just discard/reuse buffers once you have determined that trigger condition is not satisfied.

As for the SD card, I already tried loading the files you sent me (FILE000.DAT thru to FILE039.DAT), but I can still not see any changes to the files after I save (no error displayed during save).

Should be triggered like what you said , but now in the firmware is : sample first then use software to trigger and display .

so also the Store Depth will effect the trigger , so even in single mode , the sample start time is random and the trigger time is also random that can not make sure you can catch the pules in one time ,if the sample store depth is smaller than a whole period.

what you use to see the files? can’t you load it back by use the DSO Nano 's Load file function? what displayed when you load back fail ? of you say you can not use a pc the see the wave that save in the file , you need to use the DAT2BMP tool to change it first for PC view.

I will be looking forward to the upgrade.

I copied the files back to XP and used the DOS “fc /b” command to check if the files changed after saving - there were no differences.

I have since reformatted the SD card in a card reader for a fresh start and copied your preconfigured config/data file’s onto the card (this time using the card reader). Now it appears that I can save/load waveforms.

When I connect DSO to XP however it is not reckognized as a valid filesystem. XP says it is not formatted and asks if I want to reformat even though the SD card already has a valid FAT16 filesystem when accessed from the card reader. If I open the format menu (DSO connected) - XP claims the card is 3.7GB (it is a 2GB SanDisk card).

What can I do to make the files directly accessible with DSO connected to XP?

The DSO firmware is not support useing it as a card reader well… so we suggest don’t use the DSO connect to PC to read or write the card .

May be the new firmware will improve , but it also limited by the MCU capability.

Is there a lower level (e.g. serial) protocol that could be used for simple filetransfer (DSO to PC) through the USB/DSO connection? The purpose would be to get access to the image files without having to move the micro SD card to a card reader?