Difference between revisions of "Protocol decoders"

From sigrok
Jump to navigation Jump to search
m
Line 10: Line 10:
|-
|-
!Protocol
!Protocol
!Category
!Output ID(s)
!Output ID(s)
!Status
!Status
!Description
!Description
!Comments
!Comments
|-
| colspan="5" | '''Basic / microcontrollers / embedded'''


|-
|-
| SPI
| SPI
| Embedded
| spi
| spi
| bgcolor="lime" | 80%
| bgcolor="lime" | 80%
| Serial Peripheral Interface (SPI) protocol.
| Serial Peripheral Interface (SPI) protocol.
| Mostly working, though some details need to be fixed or improved.
| Mostly working.
|-
|-
| I²C
| I²C
| Embedded
| i2c
| i2c
| bgcolor="lime" | 80%
| bgcolor="lime" | 80%
| Inter-Integrated Circuit (I²C) protocol.
| Inter-Integrated Circuit (I²C) protocol.
| Mostly working, though some details need to be fixed or improved.
| Mostly working.
|-
|-
| UART
| UART
| Embedded
| uart
| uart
| bgcolor="lime" | 80%
| bgcolor="lime" | 80%
| Universal Asynchronous Receiver Transmitter (UART) protocol.
| Universal Asynchronous Receiver Transmitter (UART) protocol.
| Mostly working, though some details need to be fixed or improved.
| Mostly working.
|-
|-
| 1-Wire
| 1-Wire
| Embedded
|  
|  
| bgcolor="orange" | 20%
| bgcolor="orange" | 20%
Line 44: Line 46:
|-
|-
| Microwire
| Microwire
| Embedded
|
|
| bgcolor="red" | 0%
| bgcolor="red" | 0%
Line 50: Line 53:
|-
|-
| UNI/O
| UNI/O
| Embedded
|
|
| bgcolor="red" | 0%
| bgcolor="red" | 0%
|
|
|
|
|-
| colspan="5" | '''Automotive / industrial / embedded'''


|-
|-
| CAN
| CAN
| Automotive
|
|
| bgcolor="red" | 0%
| bgcolor="red" | 0%
Line 66: Line 68:
|-
|-
| FlexRay
| FlexRay
| Automotive
|
|
| bgcolor="red" | 0%
| bgcolor="red" | 0%
Line 72: Line 75:
|-
|-
| LIN
| LIN
| Automotive
|
|
| bgcolor="red" | 0%
| bgcolor="red" | 0%
| [http://en.wikipedia.org/wiki/Local_Interconnect_Network LIN] (Local Interconnect Network) is an automotive bus standard.
| [http://en.wikipedia.org/wiki/Local_Interconnect_Network LIN] (Local Interconnect Network) is an automotive bus standard.
|
|
|-
| colspan="5" | '''Embedded'''


|-
|-
| JTAG
| JTAG
| Flash/debug
| jtag
| jtag
| bgcolor="lime" | 80%
| bgcolor="lime" | 80%
Line 88: Line 90:
|-
|-
| SWD
| SWD
| Flash/debug
|
|
| bgcolor="red" | 0%
| bgcolor="red" | 0%
|
|
|
|
|-
|-
| AVR ISP
| AVR ISP
| Flash/debug
| avr_isp
| avr_isp
| bgcolor="orange" | 10%
| bgcolor="orange" | 10%
Line 101: Line 104:
|-
|-
| AVR PDI
| AVR PDI
| Flash/debug
|
|
| bgcolor="red" | 0%
| bgcolor="red" | 0%
Line 107: Line 111:
|-
|-
| AVR TPI
| AVR TPI
| Flash/debug
|
|
| bgcolor="red" | 0%
| bgcolor="red" | 0%
| Atmel Tiny Programming Interface (TPI) protocol.
| Atmel Tiny Programming Interface (TPI) protocol.
|
|
|-
| colspan="5" | '''PC'''


|-
|-
| USB (full-speed)
| USB (full-speed)
| PC
| usb
| usb
| bgcolor="lime" | 80%
| bgcolor="lime" | 80%
| Universal Serial Bus (USB), full-speed, low-level protocol.
| Universal Serial Bus (USB), full-speed, low-level protocol.
| Mostly working, though some details need to be fixed or improved.
| Mostly working.
|-
|-
| LPC
| LPC
| PC
| lpc
| lpc
| bgcolor="yellow" | 40%
| bgcolor="yellow" | 40%
Line 129: Line 133:
|-
|-
| FWH
| FWH
| PC
|
|
| bgcolor="red" | 0%
| bgcolor="red" | 0%
Line 135: Line 140:
|-
|-
| ISA
| ISA
| PC
|
|
| bgcolor="red" | 0%
| bgcolor="red" | 0%
Line 141: Line 147:
|-
|-
| PCI
| PCI
| PC
|
|
| bgcolor="red" | 0%
| bgcolor="red" | 0%
Line 147: Line 154:
|-
|-
| SMBus
| SMBus
| PC
|
|
| bgcolor="red" | 0%
| bgcolor="red" | 0%
Line 153: Line 161:
|-
|-
| IDE
| IDE
| PC
|
|
| bgcolor="red" | 0%
| bgcolor="red" | 0%
Line 159: Line 168:
|-
|-
| SCSI
| SCSI
| PC
|
|
| bgcolor="red" | 0%
| bgcolor="red" | 0%
Line 165: Line 175:
|-
|-
| PS/2
| PS/2
| PC
|
|
| bgcolor="red" | 0%
| bgcolor="red" | 0%
|
|
|
|
|-
| colspan="5" | '''Audio'''


|-
|-
| HD Audio
| HD Audio
| Audio
|
|
| bgcolor="red" | 0%
| bgcolor="red" | 0%
Line 181: Line 190:
|-
|-
| I²S
| I²S
| Audio
| i2s
| i2s
| bgcolor="lime" | 90%
| bgcolor="lime" | 90%
| [http://en.wikipedia.org/wiki/I%C2%B2S I²S] (Inter-IC Sound, Integrated Interchip Sound, or IIS) is a bus for connecting digital audio devices together.
| [http://en.wikipedia.org/wiki/I%C2%B2S I²S] is a bus for connecting digital audio devices together.
| Needs more testing and documentation.
| Needs more testing and documentation.
|-
| colspan="5" | '''[http://en.wikipedia.org/wiki/Consumer_IR Consumer IR]'''


|-
|-
| Nokia NRC17
| Nokia NRC17
| IR
|
|
| bgcolor="red" | 0%
| bgcolor="red" | 0%
Line 197: Line 205:
|-
|-
| Sony SIRC
| Sony SIRC
| IR
|
|
| bgcolor="red" | 0%
| bgcolor="red" | 0%
Line 203: Line 212:
|-
|-
| Philips RC-5
| Philips RC-5
| IR
|
|
| bgcolor="red" | 0%
| bgcolor="red" | 0%
Line 209: Line 219:
|-
|-
| Philips RC-6
| Philips RC-6
| IR
|
|
| bgcolor="red" | 0%
| bgcolor="red" | 0%
Line 215: Line 226:
|-
|-
| Philips RC-MM
| Philips RC-MM
| IR
|
|
| bgcolor="red" | 0%
| bgcolor="red" | 0%
Line 221: Line 233:
|-
|-
| Philips RECS80
| Philips RECS80
| IR
|
|
| bgcolor="red" | 0%
| bgcolor="red" | 0%
|
|
|
|
|-
| colspan="5" | '''Miscellaneous'''


|-
|-
| [http://en.wikipedia.org/wiki/Infrared_Data_Association IrDA]
| [http://en.wikipedia.org/wiki/Infrared_Data_Association IrDA]
| Misc
|
|
| bgcolor="red" | 0%
| bgcolor="red" | 0%
Line 237: Line 248:
|-
|-
| DCF77
| DCF77
| Misc
| dcf77
| dcf77
| bgcolor="lime" | 80%
| bgcolor="lime" | 80%
| [http://en.wikipedia.org/wiki/DCF77 DCF77] time protocol
| [http://en.wikipedia.org/wiki/DCF77 DCF77] time protocol
| Mostly working, though some details need to be fixed or improved.
| Mostly working.
|-
|-
| [http://en.wikipedia.org/wiki/Digital_Addressable_Lighting_Interface DALI]
| [http://en.wikipedia.org/wiki/Digital_Addressable_Lighting_Interface DALI]
| Misc
|
|
| bgcolor="red" | 0%
| bgcolor="red" | 0%
Line 249: Line 262:
|-
|-
| PWM
| PWM
| Misc
|
|
| bgcolor="red" | 0%
| bgcolor="red" | 0%
|
|
|
|
|-
| colspan="5" | '''Serial EEPROMs'''


|-
|-
| AT93C46
| AT93C46
| EEPROM
|
|
| bgcolor="red" | 0%
| bgcolor="red" | 0%
| Atmel AT93C46 serial EEPROM protocol
| Atmel AT93C46 serial EEPROM protocol
|
|
|-
| colspan="5" | '''Displays'''


|-
|-
| HD44780
| HD44780
| Displays
|
|
| bgcolor="red" | 0%
| bgcolor="red" | 0%
Line 275: Line 285:
|-
|-
| 7-segment display
| 7-segment display
| Displays
|
|
| bgcolor="red" | 0%
| bgcolor="red" | 0%
|  
|  
|
|
|-
| colspan="5" | '''Other'''


|-
|-
| Transition counter
| Transition counter
| Other
| transitioncounter
| transitioncounter
| 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.
|-
|-
| GPIB
| GPIB
| Other
| gpib
| gpib
| bgcolor="red" | 0%
| bgcolor="red" | 0%
| General purpose interface bus (GPIB), a.k.a. IEEE-488.1.
| General purpose interface bus (GPIB), a.k.a. IEEE-488.1.
|  
|  
|}
|}



Revision as of 18:24, 23 June 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 Category Output ID(s) Status Description Comments
SPI Embedded spi 80% Serial Peripheral Interface (SPI) protocol. Mostly working.
I²C Embedded i2c 80% Inter-Integrated Circuit (I²C) protocol. Mostly working.
UART Embedded uart 80% Universal Asynchronous Receiver Transmitter (UART) protocol. Mostly working.
1-Wire Embedded 20% Work in progress (Iztok Jeras)
Microwire Embedded 0%
UNI/O Embedded 0%
CAN Automotive 0%
FlexRay Automotive 0% FlexRay is an automotive network communications protocol.
LIN Automotive 0% LIN (Local Interconnect Network) is an automotive bus standard.
JTAG Flash/debug jtag 80% Joint Test Action Group (IEEE 1149.1) Mostly working, though some details need to be fixed or improved.
SWD Flash/debug 0%
AVR ISP Flash/debug avr_isp 10% Atmel AVR In-system programming protocol. Work in progress (Uwe Hermann)
AVR PDI Flash/debug 0% Atmel Program and Debug Interface (PDI) protocol.
AVR TPI Flash/debug 0% Atmel Tiny Programming Interface (TPI) protocol.
USB (full-speed) PC usb 80% Universal Serial Bus (USB), full-speed, low-level protocol. Mostly working.
LPC PC lpc 40% Low-Pin-Count Work in progress, untested.
FWH PC 0%
ISA PC 0%
PCI PC 0%
SMBus PC 0%
IDE PC 0%
SCSI PC 0%
PS/2 PC 0%
HD Audio Audio 0%
I²S Audio i2s 90% I²S is a bus for connecting digital audio devices together. Needs more testing and documentation.
Nokia NRC17 IR 0%
Sony SIRC IR 0%
Philips RC-5 IR 0%
Philips RC-6 IR 0%
Philips RC-MM IR 0%
Philips RECS80 IR 0%
IrDA Misc 0%
DCF77 Misc dcf77 80% DCF77 time protocol Mostly working.
DALI Misc 0%
PWM Misc 0%
AT93C46 EEPROM 0% Atmel AT93C46 serial EEPROM protocol
HD44780 Displays 0% HD44780 character LCD protocol
7-segment display Displays 0%
Transition counter Other transitioncounter 90% Counts rising and falling edges in the signal. Mostly working.
GPIB Other gpib 0% General purpose interface bus (GPIB), a.k.a. IEEE-488.1.

... 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 ID(s) Output ID(s) Status Description Comments
SPI flash chips
Macronix MX25Lxx05D logic, spi mx25lxx05d 60% SPI-attached serial EEPROM. Datasheet: [1]. Partly working.
Displays
SA8807A spi 0% SPI-attached LCD. Datasheet: Sames SA8807A.
EA eDIPTFT43-A i2c 0% I2C-attached LCD. Datasheet: EA eDIPTFT43-A.
ADCs
Analog Devices AD7291 i2c 0% I2C-attached ADC. Datasheet: Analog Devices AD7291.
Analog Devices ADS1258 spi 0% SPI-attached ADC.
Microchip MCP3901 spi 0% Can be controlled via a parallel protocol, or SPI, or I2C.
Temperature sensors
Melexis MLX90614 i2c 30% Partly working.
Other sensors
MEMSIC MXC6225XU i2c 30% Digital Thermal Orientation Sensor (DTOS) Partly working.
RTCs
Epson RTC-8564 JE/NB i2c 40% Partly working.
Bluetooth modules
Panasonic PAN1321 uart pan1321 70% Panasonic PAN1321 Bluetooth module protocol.
Embedded
JTAG / STM32 jtag jtag_stm32 50% ST STM32-specific JTAG protocol details. Work in progress.
JTAG / TMPA9xx jtag jtag_tmpa9xx 0% Toshiba TMPA9xx specific JTAG protocol details.
USB
USB / HID usb usb_hid 0%
USB / USBTMC usb usb_usbtmc 0%
Other
Wii Nunchuk i2c nunchuk 40% Nintendo Wii Nunchuk I2C-based protocol. Work in progress.
DDC i2c ddc 70% Display Data Channel (DDC) protocol.
I2C Demultiplexer i2c i2c (one or more) 80%
I2C Filter i2c i2c 80%
EDID i2c edid 80%

... and many, many more.

Non-protocol data analysis decoders:

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