Difference between revisions of "Sola"

From sigrok
Jump to navigation Jump to search
(Added some protocol explanation)
m
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Infobox logic analyzer
{{Infobox logic analyzer
| image            = [[File:Sigrok logo no text transparent 512.png|180px]]]
| image            = [[File:Sigrok logo no text transparent 512.png|180px]]
| name            = small open logic analyzer
| name            = small open logic analyzer
| status          = planned
| status          = planned
Line 11: Line 11:
| memory          = configurable
| memory          = configurable
| compression      = No
| compression      = No
| website          =  
| website          = [https://github.com/riktw/sola sola]
}}
}}


The '''small open logic analyzer(sola)''' is logic analyzer gateware (FPGA firmware) that can be used to turn an FPGA into a logic analyzer, or for analyzing signals internally in an FPGA project like [https://www.xilinx.com/products/intellectual-property/chipscope_ila.html Xilinx's Chipscope]. As it's a gateware project that can be used on different FPGA's, the sample speed, number of channels and sample memory is configurable.  
The '''small open logic analyzer (sola)''' is logic analyzer gateware (FPGA firmware) that can be used to turn an FPGA into a logic analyzer, or for analyzing signals internally in an FPGA project like [https://www.xilinx.com/products/intellectual-property/chipscope_ila.html Xilinx's Chipscope]. As it's a gateware project that can be used on different FPGA's, the sample speed, number of channels and sample memory is configurable.  


Communications between the FPGA and the PC is done via a UART connection at 115200 BAUD. UART to USB conversion depends on FPGA hardware used.
Communications between the FPGA and the PC is done via a UART connection at 115200 BAUD. UART to USB conversion depends on FPGA hardware used.
Line 37: Line 37:


The SUMP protocol has short commands, that are exactly one byte long, and long commands, that are 5 bytes long. The long commands's first byte is the opcode, the other 4 bytes are the payload.  
The SUMP protocol has short commands, that are exactly one byte long, and long commands, that are 5 bytes long. The long commands's first byte is the opcode, the other 4 bytes are the payload.  
For example, the Set Trigger Values command has the opcode 0xC1 and 4 bytes for the trigger values, 1 bit per channel. This approach only works for 32 channels or less.
For example, the Set Trigger Mask command has the opcode 0xC0 and 4 bytes for the trigger values, 1 bit per channel. This approach only works for 32 channels or less.


sola can be configured for 32 or multiples of 32 channels. When configured for more then 32 channels, all long commands are extended. For 64 channels, all long commands are 9 bytes long, for 96, all long commands are 13 bytes long et cetera.
sola can be configured for 32 or multiples of 32 channels. When configured for more then 32 channels, all long commands are extended. For 64 channels, all long commands are 9 bytes long, for 96, all long commands are 13 bytes long et cetera.
When a command does not need extra bytes for the channels, the extra bytes are set to 0x00.
When a command does not need extra bytes for the channels, the extra bytes are set to 0x00.


TODO: add diagrams


=== Known Bugs ===
For example, a long command when configured for 32 channels:
 
[[File:SolaLongCommand32.svg]]
 
 
The same command when configured for 64 channels:
 
[[File:SolaLongCommand64.svg]]
 


TODO


== Resources ==
== Resources ==

Latest revision as of 15:43, 16 October 2020

small open logic analyzer
Sigrok logo no text transparent 512.png
Status planned
Channels 32-128
Samplerate configurable
Samplerate (state) ?
Triggers low, high, don't care
Min/max voltage 0-3,3V?
Memory configurable
Compression No
Website sola

The small open logic analyzer (sola) is logic analyzer gateware (FPGA firmware) that can be used to turn an FPGA into a logic analyzer, or for analyzing signals internally in an FPGA project like Xilinx's Chipscope. As it's a gateware project that can be used on different FPGA's, the sample speed, number of channels and sample memory is configurable.

Communications between the FPGA and the PC is done via a UART connection at 115200 BAUD. UART to USB conversion depends on FPGA hardware used.


Hardware

As sola is gateware, it can be used on most FPGA's.

Software tools

TODO

Photos

TODO

Protocol

The protocol between the FPGA and the PC is based on the "extended SUMP" protocol with changes to work with more than 32 channels.

The SUMP protocol has short commands, that are exactly one byte long, and long commands, that are 5 bytes long. The long commands's first byte is the opcode, the other 4 bytes are the payload. For example, the Set Trigger Mask command has the opcode 0xC0 and 4 bytes for the trigger values, 1 bit per channel. This approach only works for 32 channels or less.

sola can be configured for 32 or multiples of 32 channels. When configured for more then 32 channels, all long commands are extended. For 64 channels, all long commands are 9 bytes long, for 96, all long commands are 13 bytes long et cetera.

When a command does not need extra bytes for the channels, the extra bytes are set to 0x00.


For example, a long command when configured for 32 channels:

SolaLongCommand32.svg


The same command when configured for 64 channels:

SolaLongCommand64.svg


Resources

TODO