What do you think the odds are we can get LA software running on these things?
for a logic analyzer we need two things:
- the data
- the UI
The UI app need to be of course developed first. It can be controlled over two ways:
-via touch screen (so everybody have to buy a touch screen and connect to ARM)
-via front panel keys
As the keys are controlled over FPGA we need to know how it works (is on my to do list).
Maybe we can use current FPGA design to capture fron panel events and to forward to ARM, but maybe
it need to be a new design.
The more important question is where the LA data will be coming from. There are some possibilities:
- over ch1/ch2 (make no really sense to build LA with two ports)
- over the FPGA pins currently connected to ADCs (there is no header, so soldering necessary ... i think bad idea)
- over the FPGA with new design and some pins (still bad idea)
(side note: the FPGA is interconnected with CPLD which we can't change and to SRAM. Sure the SRAM could be nice
to store LA data, but there are too many "If" to do it without source code and detailed schematics ....)
- over any other available port.
This seems to be the best option, so in principle a small external/internal addon board need to capture the data and to send
it to ARM. There are some open source designs (sump, minila, seedstudio and so on), they can be changed to
do whatever we need.
The S3C2440 ARM is fast enough for DSO UI, so it would be fast enough for LA. The captured data can also provided
- front panel USB port
- ARM UART1
- ARM I/O port (which have 16bit data, 4 address, nOE, nWE, nWAIT, GPIO select 3, nBE1, ext int9, reset signals and 3.3V/GND)
From a usability point of view front panel USB could be the easiest one (plug external LA, push for example F6 for 5sec.
and dso.exe will be killed and own LA ui started...). Over UART1 could be a bit slow and we have to make modification to the
enclosure (probably on the back side). The I/O port is nice, but same as for UART1 enclosure modifications necessary.
I would personaly plug into i/o port a Ethernet addon board (like originaly supposed to be used for).
For Tekway users (like me) modifications to the enclosure are necessary, for Hantek users it is a bit easier. On the front panel
there is a sticker (right over USB port). If you remove it you will see two holes:
- for USB
- for printer/RS232 - DSUB25 (just push the word "waveform" on the sicker and you will feel it)
So in principle Hantek users will have to remove this sticker, mount a DSUB25 socket and connect external LA over this port
(which can be then connected to UART1 or I/O port).
The external LA could have own memory and sample logic, but it could be a simple (but slower) thing - just a piece of buffers controlled over
nWE/nOE/nGCS3/eInt9 and capturing 16bit data directly to ARM.
So as you can see we have may options and still many open questions. I will continue the hardware reversing, maybe it would be never
used for logic analyzer, but i think it could be helpful to have schematics in case the DSO dies some day.
I don't really count on warranty, probably every distributor know that ppl are playing with firmware, Hantek/Tekway know it anyway.
Do you know how the input from the probes is passed to dso.exe? (fancy memory access, "Everything is a File" /dev instance, ...?)
no, not exactly. There are two device drivers dso-iobank.ko and dso-fpga.ko, they seems to be used to access CPLD and FPGA,
but how exactly the data flow works no idea yet. But feel free take care over this task.