DSO Quad Logic analyzer application

Excellent work. The main functions work as it is necessary. There is a small problem with memory dump. If to make a choice of this point, there is a red screen. The memorydmp file is created. This file canā€™t be removed from a flash card (there is no access) or canā€™t be read, only a disk format.

Oh well, the DSO Quadā€™s original BIOS is not very good at removal of files or maintaining the FAT tables.



If it bothers you, just install AlterBIOS and you should be fine.

It is result with AlterBIOS.

If to reformat a disk, in the bottom line ā€œMemory dumped to memory.dmpā€. But it changes nothing. Again created file isnā€™t removed.

Excuse. I already got confused when that changed. I managed to read and remove the file. Now all all right.

Good day. Immediately apologize for my English, it is a translation of Google

My DSO is coming. Looked what software it is and found your program. Which I really liked. But as I see it lacks a certain functional.

Suppose that we have written bit sequence protocol I2C, This canal is standardized, so why would not immediately show how its data are transmitted.

In the program you need to do two additional menus. Namely configuration (where you can choose the data protocol wakes I2C, Uart, Spi ā€¦) and analysis. Analysis of field is used to not record an upload program while recording.

Suppose recorded what realties tone sequence. Stop the program. Chosen configuration -> Data Protocol -> Configure options (such as it is Uart baud rate, stop bit ā€¦). Then click on the button and the program analysis analyzing the recorded signal is output bit values, and data packet in HEX format.

For example (from the hand painted main principle)

[attachment=1]logic_collapse.jpg[/attachment]

And so on for each type of data.

It is also desirable to provide in the Configuration tab, which is the type of the configuration wizard, where you can describe your ducts data that will be analyzed signal. Suppose protocol RC5
[attachment=0]rc5dwg1.jpg[/attachment]
the user setting the necessary parameters. Such as duration, the change in the signal, and the time intervals was able to create a template for the analysis of the received signal. A parser to decode.

Would have made a very flexible signal analyzer

There is also a desire to attach a MicroSD card (there is a thought as it sunk into, if youā€™re interested too share) so that was enough for all applications and records of its configurations.



forward to criticism ā€¦

Sure. Someone just needs to program that :slight_smile:


But who would have helped with that, I don `t know this programming language. away mou only offer testing and the concept of signal processing

I feel a bit silly for this butā€¦ I canā€™t figure out how to use the app. Iā€™m trying to use it to debug an SD card library that Iā€™m writing but nothing I do affects the signals being displayed. I can use the -/+ adjustment to zoom in and out, but moving the probe connected to Channel A from ground to Vcc (3.3V) and back to ground again does nothing.



Thanks,

David



ā€“EDITā€“

FOUND IT! Turns out, it doesnā€™t work so well in x10 mode. I should have known thatā€¦ :confused:

Also, now that Iā€™m using thisā€¦ wow. Justā€¦ wow. This app is AMAZING. I canā€™t believe I have this kind of functionality AND an oscilloscope for $200 USD. The memory effeciency of your app is excellent - I love how sitting idle watching lines not change doesnā€™t take up any memory, therefore no triggers are needed. Just record it all! BRILLIANT!

Thanks :smiley:

Further use has shown a bug. I believe itā€™s related to high-frequencies. Iā€™ve taken a snapshot of the memory dump for you:





While attempting to debug a MAX3232 chip (coms were running at 9600 baud), I was getting a very high-frequency signal. Iā€™ll ignore the ā€œWhy?ā€ and just say, something was wrong. While reading this signal (I believe it was approaching the MHz range if not surpassing) it would periodicaly die and produce the above memory dump (as opposed to freezing and me forcing it to do a memory dump).



Let me know if thereā€™s more information I can provide.



David

Upon reading the ā€œoh noesā€ at the top, it looks like the ADC FIFO canā€™t be read fast enough, which would make sense since the signal was so fast. Would a better approach be to send a warning message to the user ā€œWarning: ADC FIFO has overflowed. Output may not be accurateā€, rather than forcing a restart?



If this was your plan but you havenā€™t had time to implement it, I might be willing to help you out with that. I have a bit of experience with TIā€™s LM4F series of M4 chips, so I ought to be able to help out some with an M3.

Yeah, that is correct. The way the signal capture is implemented now is a very big hack, because at the time the FPGA tools were not available.

My real plan is to implement the capture on the FPGA side.



In fact, I already have a FPGA image capable of doing this, and also a test program:

<LINK_TEXT text=ā€œhttps://github.com/PetteriAimonen/QuadP ā€¦ /LOGIC.FPGā€>https://github.com/PetteriAimonen/QuadPawn/blob/master/Programs/LOGIC.FPG</LINK_TEXT>

<LINK_TEXT text=ā€œhttps://github.com/PetteriAimonen/QuadP ā€¦ iccap.pawnā€>https://github.com/PetteriAimonen/QuadPawn/blob/master/Programs/logiccap.pawn</LINK_TEXT>



It should be pretty simple to integrate it. Just need to copy over some of the FPGA access code from QuadPawn and replace the signal capture part in the logic analyzer (itā€™s currently in main.cc). It should allow overflow-free capture up to the 4096 sample FIFO, including RLE encoding.



So why havenā€™t I integrated it yet? Two reasons: no time, and I have something even better in the works. The FPGA should be able to also further compress the data, which would increase the capacity and speed up display drawing. However, it is difficultā€¦ :stuck_out_tongue:



If you can help with integrating the current version of FPGA capture, it would be very useful.

Hi jpaā€¦



First another round of thanks for your excellent work on the DSO - I too have found your Logic Analyser a handy tool.



But on to the pointā€¦ Iā€™ve been trying to build on your fpga and pawn extensions and am finding that decreasing the sample-rate leads to overflow of the sample buffer - rather the opposite of my guess!



I wonder if you could give some indication of whatā€™s happening in the fpga mod?



Cheers!

The block is meant to only work at 72 MHz. This is because I want to use the memory bus synchronously (itā€™s easier to design and to debug). This means that because the CPU always runs its memory bus at 72 MHz, the FPGA also has to run at 72 MHz. Because of the RLE coding, the samplerate should not be that important - but it could still be divided on the FPGA side if necessary.



The VHDL code is here, btw:

<LINK_TEXT text=ā€œhttps://github.com/PetteriAimonen/dso-q ā€¦ pport/fpgaā€>https://github.com/PetteriAimonen/dso-quad-logic/tree/fpga_support/fpga</LINK_TEXT>

Brilliantly generous - time to scrape the rust off my verilog and get stuck in!

Better scrape off your VHDL also unless you want to start from stratch :slight_smile:



The verilog code from seeed is quite crappy, I wouldnā€™t base anything off it.

Iā€™m finding that when two channels have an edge at the same time, Iā€™m only getting one edge reported in the recv buffer ( first two channels hung on a single line).



I suspect this might be something to do with the edge-matcher VHDL but canā€™t quite see whatā€™s wrongā€¦ Will keep digging but wondered if anyone had seen/solved this already? Or have you found this perfectly fine and I need to dig deeper into the software handling?

Hmm, so you are seeing:



1000 A0 B0 C0 D0

1001 A1 B1 C0 C0



Isnā€™t that exactly what should happen, the signals change at the same time => they are reported on the same line?

Hello,

has anyone tried the LogicAnalyzer on DSO Quad HW2.72 ??



thx