Author Topic: FNIRSI-1013D "100MHz" tablet oscilloscope  (Read 687629 times)

ascarons22, tokar and 12 Guests are viewing this topic.

Online tokar

  • Regular Contributor
  • *
  • Posts: 75
  • Country: ru
Re: FNIRSI-1013D "100MHz" tablet oscilloscope
« Reply #1675 on: December 30, 2023, 06:44:10 pm »
...
P. S. You need a menu for calibration.
I didn't understand your phrase. Do I need to take any action?
 

Offline LunaC

  • Newbie
  • Posts: 6
  • Country: us
Re: FNIRSI-1013D "100MHz" tablet oscilloscope
« Reply #1676 on: December 30, 2023, 07:45:46 pm »


So what next?  Implementation of FFT or hardware shift of the signal (in dc mode)
 

Am I the only one missing the ability to do long time divisions with measurements? The are nice for in-rush and automotive use
 

Online Atlan

  • Frequent Contributor
  • **
  • Posts: 345
  • Country: sk
Re: FNIRSI-1013D "100MHz" tablet oscilloscope
« Reply #1677 on: December 30, 2023, 08:30:02 pm »
Menu for calibration. Because each oscilloscope has slightly different values in the input section and then shows inaccurate voltage values. So that the exact voltage would be connected and software calibration would be performed to measure it more accurately.

After these shifts, any DC will never measure it accurately.
v0.019c add hardware DC shift. Only channel 1 and only for positive osffet. (for negatives it should work as in previous versions)
automatic mode is now in DC mode and the offset is incredibly slow

Write to fnirsi..... long mode does not support TRIGGER.
The plan is to start the oscilloscope with the trigger at the highest sampling frequency, and after the memory is full, it will immediately switch to LONG MODE.
the problem is that this function was not included during programming. that way I have to study it and use it. Be patient. Does the long mode work correctly in the original?
FNIRSI 1013D Always provide a picture or video with the problem where the parameters of the oscilloscope are visible, and a picture of the diagnostic screen with the values.
 
The following users thanked this post: OneDiy, facekim

Online Atlan

  • Frequent Contributor
  • **
  • Posts: 345
  • Country: sk
Re: FNIRSI-1013D "100MHz" tablet oscilloscope
« Reply #1678 on: December 31, 2023, 07:42:50 am »
Alternative firmware: smallest range 200ms/div (has a trigger in all ranges)
Original firmware:
auto: smallest range 50s (20ms - 50s no trigger)
single: the smallest range 10mS has a trigger
normal: smallest range 50ms (20-50ms no trigger)

Is it really necessary to have a free-running watch?
FNIRSI 1013D Always provide a picture or video with the problem where the parameters of the oscilloscope are visible, and a picture of the diagnostic screen with the values.
 
The following users thanked this post: OneDiy

Offline pcprogrammer

  • Super Contributor
  • ***
  • Posts: 3920
  • Country: nl
Re: FNIRSI-1013D "100MHz" tablet oscilloscope
« Reply #1679 on: December 31, 2023, 08:23:34 am »
And that is why I decided to not implement it  :)

For me there is no use case for the roll mode, but implementing it is not that big of a deal. It needs an "if" select between the display functions, because for the roll mode you need to plot the points as they come in.

This can best be done with an interrupt. Setup a timer with the intended sample interval to match the time per division and read the samples with the fpga command 0x28 and data 0x00 to capture the samples and 0x24 and 0x26 to read the data for the two channels. Read 10 bytes per channel and average them.

The sampling rate needs to be set when switching to roll mode with fpga command 0x0D and data 0x00 0x00 0x07 0xD0.

It might require some testing to see it is really like this. Wrote it up based on memory and a quick glance here.

Online Atlan

  • Frequent Contributor
  • **
  • Posts: 345
  • Country: sk
Re: FNIRSI-1013D "100MHz" tablet oscilloscope
« Reply #1680 on: December 31, 2023, 08:25:04 am »
thank you

I thought it was enough for fpga to send the value for the timer.  (and appropriate fpga settings) And everything else is already provided by fpga, ie it takes 10 samples, makes an average and stores in fifo.  When the memory fills up with 3000 samples, it will be notified.  The data is then processed and displayed.  I'm wrong?
« Last Edit: December 31, 2023, 12:04:20 pm by Atlan »
FNIRSI 1013D Always provide a picture or video with the problem where the parameters of the oscilloscope are visible, and a picture of the diagnostic screen with the values.
 

Offline Sleo

  • Contributor
  • Posts: 16
  • Country: ru
Re: FNIRSI-1013D "100MHz" tablet oscilloscope
« Reply #1681 on: December 31, 2023, 12:47:04 pm »
To determine if it is an error made by me or by Atlan, could you try the same test with my latest version found here.
I cannot confirm this problem. Tested with a sine wave from 1 to 25 MHz, firmware v.005, v.006 and v.019b. I do not see any spikes, except of broken and shaky line due to no filtering. MHS-5200A DDS-generator was used.

But too late, I already fixed it. but it may still be seen.
Try it, the disk will be available in win7 in 6 seconds
Confirmed, v.019b connected as fast as the original firmware.
 

Offline pcprogrammer

  • Super Contributor
  • ***
  • Posts: 3920
  • Country: nl
Re: FNIRSI-1013D "100MHz" tablet oscilloscope
« Reply #1682 on: December 31, 2023, 01:02:24 pm »
thank you

I thought it was enough for fpga to send the value for the timer.  (and appropriate fpga settings) And everything else is already provided by fpga, ie it takes 10 samples, makes an average and stores in fifo.  When the memory fills up with 3000 samples, it will be notified.  The data is then processed and displayed.  I'm wrong?

For roll mode the FPGA has no actual support to do a timed capture of the samples. With the commands 0x24 and 0x26 the samples are just taken directly from a single ADC per channel. What I described is how it is more or less done in the original code. There they time the main loop to be so many ms and based on that plot the points as they come in.

To make it a bit more precise I mentioned using a timer interrupt. The difference with the way it is now, where the samples needed for displaying are read in one swoop, and then displayed on the screen, is that each averaged sample is displayed directly after it has been read. So you need a separate function for the displaying, where it uses a global variable to remember the current x position. The main loop then only handles the touch input, while the interrupt routine displays the samples.

Online Atlan

  • Frequent Contributor
  • **
  • Posts: 345
  • Country: sk
Re: FNIRSI-1013D "100MHz" tablet oscilloscope
« Reply #1683 on: December 31, 2023, 01:58:51 pm »
From here on it seems that the FPGA switches to 0x0D for time base setting and the data is read with 0x24 and 0x26, 10 bytes per read. 0x28 is written 0x01 after or before every read sequence. 0x0D is also written
Once it switches to this state the special IC is no longer addressed. The scope just reads the data with the other hard coded FPGA commands. Probably based on timer interrupt.

time / div     command 0x0D data
 8  100mS          0x00 0x00 0x07 0xD0

Nowhere is it checked whether the transfer has already finished, i.e. that 10 bytes were filled with the AD converter?

Or should I understand it so that the FPGA constantly samples data (according to the set sampling frequency) and with the command 24v or 26 it will give me the last 10 samples?
FNIRSI 1013D Always provide a picture or video with the problem where the parameters of the oscilloscope are visible, and a picture of the diagnostic screen with the values.
 

Offline pcprogrammer

  • Super Contributor
  • ***
  • Posts: 3920
  • Country: nl
Re: FNIRSI-1013D "100MHz" tablet oscilloscope
« Reply #1684 on: December 31, 2023, 02:28:39 pm »
The special IC in the original is just a data translator. The data in the repository was made before I found out what the thing did and that it is not needed for anything.

The command 0x0D sets the rate with which the ADC is clocked. The 0x07D0 means 100KSa/s.

With the command 0x28 the mode is selected. Needs to be set to 0x01 for the roll mode sampling. Not sure if it is needed for every read of the samples.

With the command 0x24 the ADC of channel 1 is selected. Reading the FPGA data port after that just returns the last sample the ADC has taken. The code to read the FPGA might be to fast for the 100KSa/s setting and you get the same sample multiple times, or just samples taken in a row, but with no way of knowing the real timing between them.

Command 0x26 selects the ADC of channel 2.

So you can read one sample or many and try to do things with them, but without knowing what the real timing is between the samples one can wonder about the benefits of more samples this way.

My focus when reverse engineering the FPGA was more on the sampling part for the short times per division, so not certain about it all.

« Last Edit: December 31, 2023, 02:30:27 pm by pcprogrammer »
 
The following users thanked this post: wolfy007, Atlan

Online Atlan

  • Frequent Contributor
  • **
  • Posts: 345
  • Country: sk
Re: FNIRSI-1013D "100MHz" tablet oscilloscope
« Reply #1685 on: December 31, 2023, 04:39:41 pm »
v0.019d only for test
FNIRSI 1013D Always provide a picture or video with the problem where the parameters of the oscilloscope are visible, and a picture of the diagnostic screen with the values.
 
The following users thanked this post: wolfy007, OneDiy

Offline LunaC

  • Newbie
  • Posts: 6
  • Country: us
Re: FNIRSI-1013D "100MHz" tablet oscilloscope
« Reply #1686 on: January 01, 2024, 05:15:41 am »
If you are bored, take a peek at all the "labscope" automotive use cases on YouTube. You will find an amazing use of the scope for those cases. Pico automotive software is a good example.

 

Offline LunaC

  • Newbie
  • Posts: 6
  • Country: us
Re: FNIRSI-1013D "100MHz" tablet oscilloscope
« Reply #1687 on: January 01, 2024, 05:29:05 am »
I will confirm on windows11  19d  connects fast now on usb mode. Prior it took minutes to be detected
 

Online Atlan

  • Frequent Contributor
  • **
  • Posts: 345
  • Country: sk
Re: FNIRSI-1013D "100MHz" tablet oscilloscope
« Reply #1688 on: January 01, 2024, 11:37:07 am »
If you are bored, take a peek at all the "labscope" automotive use cases on YouTube. You will find an amazing use of the scope for those cases. Pico automotive software is a good example.

Send a link to the video or write what exactly you need.  I'll see what I can do with it.
FNIRSI 1013D Always provide a picture or video with the problem where the parameters of the oscilloscope are visible, and a picture of the diagnostic screen with the values.
 
The following users thanked this post: facekim

Offline flywheelz

  • Regular Contributor
  • *
  • Posts: 148
  • Country: us
Re: FNIRSI-1013D "100MHz" tablet oscilloscope
« Reply #1689 on: January 02, 2024, 04:14:26 am »
I have been watching many reviews of 1013D and I have few questions.

1. Is the buffer only about 2 screens?
2. When zoomed in, are you able to scroll through the whole waveform?
3. What bugs/limitations have been fixed in custom firmware.

Thank you.
 
The following users thanked this post: facekim

Online Atlan

  • Frequent Contributor
  • **
  • Posts: 345
  • Country: sk
Re: FNIRSI-1013D "100MHz" tablet oscilloscope
« Reply #1690 on: January 02, 2024, 07:24:05 am »
3.Displays real unfiltered waveforms ( the original displays an imaginary waveform )
No bug with switch 100mV
It works from 0V (unlike the original)
It doesn't freeze.
The cursor shows Y1 and Y2 and the difference between Y1 and Y2
Possibility to add time and date ( If the RTC circuit is installed )
Ability to choose sensitivity directly from the channel menu
The measurement menu items are on the right side :D
Quick selection of all measurement items, quick cancellation of all measurement items.
Improved appearance
The firmware is constantly improved. ( original firmware never )

disadvantage
no FFT (It's in the plan)

Buffer 3000byte per chanel in FPGA

1 and 2 will be answered by the original programmer.
« Last Edit: January 31, 2024, 09:21:01 am by Atlan »
FNIRSI 1013D Always provide a picture or video with the problem where the parameters of the oscilloscope are visible, and a picture of the diagnostic screen with the values.
 
The following users thanked this post: flywheelz, OneDiy, facekim

Offline pcprogrammer

  • Super Contributor
  • ***
  • Posts: 3920
  • Country: nl
Re: FNIRSI-1013D "100MHz" tablet oscilloscope
« Reply #1691 on: January 02, 2024, 12:25:11 pm »
Atlan already answered question number 1. In the FPGA it can hold 4096 samples per channel, but the software reads in, if I remember correctly, 3000 samples. With the screen being about 750 samples wide this means 4 screens in a buffer.

About question number 2, I can't remember if I made it scroll-able into the previous or next screens.

The original firmware has lots of bugs or shortcomings, and most of them are written up in this thread.

Atlan took up the stick and is making several improvements on where I left of, and information about his work can be found in the last 4 or so pages of this thread.

Online Atlan

  • Frequent Contributor
  • **
  • Posts: 345
  • Country: sk
Re: FNIRSI-1013D "100MHz" tablet oscilloscope
« Reply #1692 on: January 02, 2024, 04:14:50 pm »
How much free memory is actually available in uP?
FFT takes a bit of memory and I have no idea how much is still available. Is it possible to load the entire memory from the FPGA? 4096 bytes? I can't think of any reason why it shouldn't be possible.

I thought about switching (scrolling) using a tap in the lower part, meaning that the trigger will turn, move and contain the page number.
« Last Edit: January 02, 2024, 04:16:24 pm by Atlan »
FNIRSI 1013D Always provide a picture or video with the problem where the parameters of the oscilloscope are visible, and a picture of the diagnostic screen with the values.
 
The following users thanked this post: facekim

Offline pcprogrammer

  • Super Contributor
  • ***
  • Posts: 3920
  • Country: nl
Re: FNIRSI-1013D "100MHz" tablet oscilloscope
« Reply #1693 on: January 02, 2024, 07:03:40 pm »
The processor has 32MB of memory for both the program and the data. The program is not so big, but the display takes a bit more. My guess is that there is at least 24MB available. It also has some 40K SRAM in the address range 0x0001 0000---0x0001 9FFF, but I don't think I set it up in the linker script, and you would have to make a dedicated segment for it to be used in the code.

There is some issue with the full 4096 bytes of sample memory. Due to the way it is setup in the FPGA it does not use all of it. That is why the code has these weird numbers in there you wrote about a while back, when looking into the trigger system.

Yeah you could do something like that to allow scrolling through the samples. A bit like how it is done with the cursor lines. A more fancy way would be an actual zoom setup with the original signals in the upper half and the zoomed in in the lower half, but that is much more work.

Offline flywheelz

  • Regular Contributor
  • *
  • Posts: 148
  • Country: us
Re: FNIRSI-1013D "100MHz" tablet oscilloscope
« Reply #1694 on: January 03, 2024, 01:26:53 am »
Thank you both for the answers. You are doing an amazing job  :-+ Such a shame the software is not updated by the manufacturer or at least release the source. The hardware seems good for the price and nothing else like it.

I have the DS203 with custom fw https://github.com/MotoMaxis/DS203-DSOQuad and it has served me well. Mostly for automotive use that does not require high bandwidth. It shows an okish square wave up to 2Mhz and sine up to 12Mhz. It has 10 screens buffer.  It has a nice selection of Trigger types, Trigger modes, FFT, MAP, SPEC, Invert, Decoders and much more. Its open source.  The input buttons are a pain to use and the 2.8" screen is hard to see in sunlight.  Anyways its my benchmark scope to beat.

I would like my next scope to have a bigger screen buffer. According to the specs of FNIRSI-1013D it has 128Kpts storage but 4 screens seems very little. The DS203 is 4Kpts and has 10 screens.  I can scroll through multiple engine revolutions. However there is no zoom function.

Few Screenshots from my DS203 with Wildcat 6.5 firmware.

 
The following users thanked this post: facekim

Online Atlan

  • Frequent Contributor
  • **
  • Posts: 345
  • Country: sk
Re: FNIRSI-1013D "100MHz" tablet oscilloscope
« Reply #1695 on: January 03, 2024, 05:35:32 am »
10x200 points on the screen, 1013D theoretically has 4x700 points.
I'll look into it
« Last Edit: January 03, 2024, 05:39:49 am by Atlan »
FNIRSI 1013D Always provide a picture or video with the problem where the parameters of the oscilloscope are visible, and a picture of the diagnostic screen with the values.
 
The following users thanked this post: facekim

Offline pcprogrammer

  • Super Contributor
  • ***
  • Posts: 3920
  • Country: nl
Re: FNIRSI-1013D "100MHz" tablet oscilloscope
« Reply #1696 on: January 03, 2024, 08:58:43 am »
According to the specs of FNIRSI-1013D it has 128Kpts storage but 4 screens seems very little.

The specs of the FNIRSI-1013D are a big lie. The original Altera FPGA has 270Kbits of available embedded memory and the newer ones with Anlogic FPGA's have more. (496Kbits or 700Kbits) But what counts is how many of these bits they used, and that is only 32768 bits per channel. So 4KByte per channel of which only about 3500 bytes are usable.

The sampling rate is only max 200MSa/s per channel instead of the 1GSa/s marking on the front and the bandwidth is 30MHz at best.

Online tokar

  • Regular Contributor
  • *
  • Posts: 75
  • Country: ru
Re: FNIRSI-1013D "100MHz" tablet oscilloscope
« Reply #1697 on: January 03, 2024, 04:52:11 pm »
...
After these shifts, any DC will never measure it accurately.
v0.019c add hardware DC shift. Only channel 1 and only for positive osffet. (for negatives it should work as in previous versions)
automatic mode is now in DC mode and the offset is incredibly slow
...
v0019c . Signal limitation occurs at 4.5 screen cells. On the original with 8 cells.
1970262-0
 
The following users thanked this post: facekim

Online tokar

  • Regular Contributor
  • *
  • Posts: 75
  • Country: ru
Re: FNIRSI-1013D "100MHz" tablet oscilloscope
« Reply #1698 on: January 03, 2024, 07:08:18 pm »
v0019c.  When you press Autoset, the range with the lower V/div value is selected.  Although weakening is required, not strengthening.
 

Online tokar

  • Regular Contributor
  • *
  • Posts: 75
  • Country: ru
Re: FNIRSI-1013D "100MHz" tablet oscilloscope
« Reply #1699 on: January 03, 2024, 10:32:40 pm »
I will add to the previous message.  If there were no limitation of 4.5 cells, then an increase in sensitivity would be justified.  In the original, switching to another range occurs at a signal level of 2 cells with increasing sensitivity.  And 5 cells when decreasing.
 
The following users thanked this post: facekim


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf