Difference between revisions of "Protocol decoders"

From sigrok
Jump to navigation Jump to search
m
Line 1: Line 1:
This is a list of ideas for specific protocol decoders we might want to write in the future (or users might want to contribute).
This is a list of '''supported protocol decoders (PDs)''' and '''decoders which we might want to write in the future''' (or users might want to contribute).


See [[Protocol decoder API]] for details on how the decoders work in sigrok.
See [[Protocol decoder API]] for details on how the decoders work in sigrok.


== Low-level decoders ==
== Low-level protocol decoders ==


=== Standard protocols that have raw signals/samples as input ===
Protocol decoders that only require raw probes/signals as input (and don't require any already decoded data from other PDs).


{| border="0" style="font-size: smaller"
{| border="0" style="font-size: smaller"
Line 118: Line 118:
| bgcolor="red" | 0%
| bgcolor="red" | 0%
|
|
|}
... and many, many more.
=== Custom / application-specific protocols that have raw signals/samples as input ===
{| border="0" style="font-size: smaller"
|- bgcolor="#6699ff"
!Protocol
!Status
!Comments


|- bgcolor="#6699ff"
|- bgcolor="#6699ff"
Line 147: Line 135:
| [http://en.wikipedia.org/wiki/HD44780_Character_LCD HD44780 character LCD] protocol
| [http://en.wikipedia.org/wiki/HD44780_Character_LCD HD44780 character LCD] protocol


|}
... and many, many more.
=== Non-protocol data analysis decoders that have raw signals/samples as input ===
{| border="0" style="font-size: smaller"
|- bgcolor="#6699ff"
!Protocol decoder
!Status
!Description
!Comments
|- bgcolor="#dddddd"
|- bgcolor="#dddddd"
| Transition counter
| Transition counter
| bgcolor="lime" | 90%
| bgcolor="lime" | 90%
| Counts rising and falling edges in the signal.
| Counts rising and falling edges in the signal. Mostly working.
| Mostly working.
|}
|}
... and many, many more.


Ideas:
Ideas:
Line 172: Line 149:
* ...
* ...


... and many, many more.
== High-level protocol decoders ==
 
== High-level decoders ==
 
=== Protocols that rely on other lower-level protocols ===


Protocols that do not have raw signals/samples as input, but rather an already-preprocessed bytestream generated by one of the low-level decoders.
Protocol decoders that do not (only) have raw signals/samples as input, but rather also data which was already decoded by one or more low-level PDs.


{| border="0" style="font-size: smaller"
{| border="0" style="font-size: smaller"
Line 235: Line 208:
|}
|}


=== Some ideas ===
Non-protocol data analysis decoders:
* AT93C46:
** CS (chip select)
** SK (clock)
** DI (data from chip to outside)
** DO (data from outside into chip)
** Has start bit, opcodes, data following transmission
 
* 4-bit interface to HD44780 LCD, take two nibbles in sequence, based on clock line, and assemble them into a whole byte. Scripted plugin could do this, then pass the data back to the UI for display.
 
... and many, many more.
 
=== Non-protocol data analysis decoders / analyzers ===


* How many data bytes are in the data stream?
* How many data bytes are in the data stream?
* What's the min/max/avg data value?
* What's the min/max/avg data value?
* ...
* ...

Revision as of 20:19, 14 January 2012

This is a list of supported protocol decoders (PDs) and decoders which we might want to write in the future (or users might want to contribute).

See Protocol decoder API for details on how the decoders work in sigrok.

Low-level protocol decoders

Protocol decoders that only require raw probes/signals as input (and don't require any already decoded data from other PDs).

Protocol Status Comments
Basic / microcontrollers / embedded
SPI 80%
I2C 80%
UART 80%
Automotive / industrial / embedded
CAN 0%
Flexray 0%
Embedded
JTAG 0%
SWD 0%
PC
USB (full-speed) 80%
LPC 0%
FWH 0%
ISA 0%
PCI 0%
SMBus 0%
Consumer IR
Nokia NRC17 0%
Sony SIRC 0%
Philips RC-5 0%
Philips RC-6 0%
Philips RC-MM 0%
Philips RECS80 0%
Miscellaneous
IrDA 0%
Serial EEPROMs
AT93C46 0% Atmel AT93C46 serial EEPROM protocol
Displays
HD44780 0% HD44780 character LCD protocol
Transition counter 90% Counts rising and falling edges in the signal. Mostly working.

... and many, many more.

Ideas:

  • Number of clock cycles / rising-edges / falling-edges / transitions / etc. (total or per-signal)
  • Min/Max/Avg distance between two events (rising edge, falling edge, signal lenths, etc.)
  • ...

High-level protocol decoders

Protocol decoders that do not (only) have raw signals/samples as input, but rather also data which was already decoded by one or more low-level PDs.

Protocol Input protocol Status Comments
Serial EEPROMs
TODO SPI 0% SPI-attached serial EEPROM. Datasheet: TODO.
Displays
SA8807A SPI 0% SPI-attached LCD. Datasheet: Sames SA8807A.
EA eDIPTFT43-A I2C 0% I2C-attached LCD. Datasheet: EA eDIPTFT43-A.
TODO USART/RS232 0% TODO
ADC
AD7291 USART/RS232 0% I2C-attached ADC. Datasheet: Analog Devices AD7291.
Other
Wii Nunchuk I2C 70%

Non-protocol data analysis decoders:

  • How many data bytes are in the data stream?
  • What's the min/max/avg data value?
  • ...