Difference between revisions of "Protocol decoders"

From sigrok
Jump to navigation Jump to search
(Put existing/supported PDs in one table (can be generated later).)
(→‎Supported protocol decoders: Use template, and (semi)automatically generated output from libsigrokdecode metadata.)
Line 4: Line 4:


== Supported protocol decoders ==
== Supported protocol decoders ==
Number of currently supported protocol decoders: '''29'''.
<small>
Please do '''not''' edit this table in the wiki directly, it is automatically generated.
</small>


{| border="0" style="font-size: smaller" class="alternategrey sortable sigroktable"
{| border="0" style="font-size: smaller" class="alternategrey sortable sigroktable"
Line 9: Line 15:
!Protocol
!Protocol
!Category
!Category
!Input ID(s)
!Input IDs
!Output ID(s)
!Output IDs
!Status
!Status
!Full name
!Description
!Description
!Comments
|-
| [[Protocol decoder:spi|SPI]]
| Embedded
| &mdash;
| spi
| bgcolor="lime" | 80%
| Serial Peripheral Interface (SPI) protocol.
| Mostly working.
|-
| [[Protocol decoder:i2c|I²C]]
| Embedded
| &mdash;
| i2c
| bgcolor="lime" | 80%
| Inter-Integrated Circuit (I²C) protocol.
| Mostly working.
|-
| [[Protocol decoder:uart|UART]]
| Embedded
| &mdash;
| uart
| bgcolor="lime" | 80%
| Universal Asynchronous Receiver Transmitter (UART) protocol.
| Mostly working.
|-
| 1-Wire (link layer)
| Embedded
| &mdash;
| onewire_link
| bgcolor="lime" | 80%
|
| Mostly working.
|-
| SD card (SPI mode)
| Memory
| &mdash;
| sdcard_spi
| bgcolor="orange" | 10%
|
| Work in progress (Uwe Hermann).
|-
| CAN
| Automotive
| &mdash;
|
| bgcolor="orange" | 10%
|
| Work in progress (Uwe Hermann).
|-
| JTAG
| Flash/debug
| &mdash;
| jtag
| bgcolor="lime" | 80%
| Joint Test Action Group (IEEE 1149.1)
| Mostly working.


|-
{{pd|avr_isp|AVR ISP|AVR in-system programming|Protocol for in-system programming Atmel AVR MCUs.|Flash/debug|spi, logic|avr_isp|supported}}
| USB signalling (LS/FS)
{{pd|can|CAN|Controller area network|Field bus protocol for distributed realtime control.|Automotive|&mdash;|can|supported}}
| PC
{{pd|dcf77|DCF77|DCF77 time protocol|European longwave time signal (77.5kHz carrier signal).|Time signal|&mdash;|dcf77|supported}}
| &mdash;
{{pd|edid|EDID|Extended Display Identification Data|Data structure describing display device capabilities.|PC|i2c|edid|supported}}
| usb_signalling
{{pd|i2cdemux|I2C demux|I2C demultiplexer|Demux I2C packets into per-slave-address streams.|Embedded|i2c|''runtime decision''|supported}}
| bgcolor="lime" | 80%
{{pd|i2cfilter|I2C filter|I2C filter|Filter out addresses/directions in an I2C stream.|Embedded|i2c|i2c|supported}}
| Universal Serial Bus (USB), low-/full-speed signalling.
{{pd|i2c|I2C|Inter-Integrated Circuit|Two-wire, multi-master, serial bus.|Embedded|&mdash;|i2c|supported}}
| Mostly working.
{{pd|i2s|I2S|Integrated Interchip Sound|Serial bus for connecting digital audio devices.|Audio|&mdash;|i2s|supported}}
 
{{pd|jtag|JTAG|Joint Test Action Group (IEEE 1149.1)|Protocol for testing, debugging, and flashing ICs.|Flash/debug|&mdash;|jtag|supported}}
|-
{{pd|jtag_stm32|JTAG / STM32|Joint Test Action Group / ST STM32|ST STM32-specific JTAG protocol.|Flash/debug|jtag|jtag_stm32|supported}}
| LPC
{{pd|lm75|LM75|National LM75|National LM75 (and compatibles) temperature sensor protocol.|Sensors|i2c|lm75|supported}}
| PC
{{pd|lpc|LPC|Low-Pin-Count|Protocol for low-bandwidth devices on PC mainboards.|PC|&mdash;|lpc|supported}}
| &mdash;
{{pd|maxim_ds28ea00|Maxim DS28EA00|Maxim DS28EA00 1-Wire digital thermometer|1-Wire digital thermometer with Sequence Detect and PIO|Sensors|onewire_network|maxim_ds28ea00|supported}}
| lpc
{{pd|mlx90614|MLX90614|Melexis MLX90614|Infrared Thermometer protocol.|Sensors|i2c|mlx90614|supported}}
| bgcolor="yellow" | 40%
{{pd|mx25lxx05d|MX25Lxx05D|Macronix MX25Lxx05D|SPI (NOR) flash chip protocol.|SPI flash|spi, logic|mx25lxx05d|supported}}
| Low-Pin-Count
{{pd|mxc6225xu|MXC6225XU|MEMSIC MXC6225XU|Digital Thermal Orientation Sensor (DTOS) protocol.|Sensors|i2c|mxc6225xu|supported}}
| Work in progress, untested (Uwe Hermann).
{{pd|nunchuk|Nunchuk|Nintendo Wii Nunchuk|Nintendo Wii Nunchuk controller protocol.|Other|i2c|nunchuk|supported}}
 
{{pd|onewire_link|1-Wire link layer|1-Wire serial communication bus (link layer)|Bidirectional, half-duplex, asynchronous serial bus.|Embedded|&mdash;|onewire_link|supported}}
|-
{{pd|onewire_network|1-Wire network layer|1-Wire serial communication bus (network layer)|Bidirectional, half-duplex, asynchronous serial bus.|Embedded|onewire_link|onewire_network|supported}}
| I2S
{{pd|pan1321|PAN1321|Panasonic PAN1321|Bluetooth RF module with Serial Port Profile (SPP).|Bluetooth|uart|pan1321|supported}}
| Audio
{{pd|rtc8564|RTC-8564|Epson RTC-8564 JE/NB|Realtime clock module protocol.|RTC|i2c|rtc8564|supported}}
| &mdash;
{{pd|sdcard_spi|SD card (SPI mode)|Secure Digital card (SPI mode)|Secure Digital card (SPI mode) low-level protocol.|Memory|spi|sdcard_spi|supported}}
| i2s
{{pd|spi|SPI|Serial Peripheral Interface|Full-duplex, synchronous, serial bus.|Embedded|&mdash;|spi|supported}}
| bgcolor="lime" | 90%
{{pd|tlc5620|TI TLC5620|Texas Instruments TLC5620|Texas Instruments TLC5620 8-bit quad DAC.|DAC|&mdash;|tlc5620|supported}}
| [http://en.wikipedia.org/wiki/I%C2%B2S I2S] is a bus for connecting digital audio devices together.
{{pd|transitioncounter|Transition counter|Pin transition counter|Counts rising/falling edges in the signal.|Other|&mdash;|transitioncounter|supported}}
| Needs more testing and documentation.
{{pd|uart_dump|UART dump|UART dump|Output decoded UART data to a file.|Embedded|uart|&mdash;|supported}}
 
{{pd|uart|UART|Universal Asynchronous Receiver/Transmitter|Asynchronous, serial bus.|Embedded|&mdash;|uart|supported}}
|-
{{pd|usb_protocol|USB protocol|Universal Serial Bus (LS/FS) protocol|USB 1.x (low-speed and full-speed) serial protocol.|USB|usb_signalling|usb_protocol|supported}}
| [[Protocol decoder:dcf77|DCF77]]
{{pd|usb_signalling|USB signalling|Universal Serial Bus (LS/FS) signalling|USB 1.x (low-speed and full-speed) signalling protocol.|USB|&mdash;|usb_signalling|supported}}
| Misc
| &mdash;
| dcf77
| bgcolor="lime" | 80%
| [http://en.wikipedia.org/wiki/DCF77 DCF77] time protocol
| Mostly working.
 
|-
| [[Protocol decoder:tlc5620|Texas Instruments TLC5620]]
| DAC
| &mdash;
| tlc5620
| bgcolor="lime" | 80%
| Texas Instruments TLC5620 8-bit quad DAC.
| Mostly working.
 
|-
| Transition counter
| Other
| &mdash;
| transitioncounter
| bgcolor="lime" | 90%
| Counts rising and falling edges in the signal.  
| Mostly working.
 
|-
| 1-Wire (network layer)
| Embedded
| onewire_link
| onewire_network
| bgcolor="lime" | 80%
|  
| Mostly working.
 
|-
| [[Protocol decoder:mx25lxx05d|Macronix MX25Lxx05D]]
| SPI flash
| logic, spi
| mx25lxx05d
| bgcolor="lime" | 80%
| SPI-attached serial EEPROM. Datasheet: [http://www.macronix.com/QuickPlace/hq/PageLibrary4825740B00298A3B.nsf/h_Index/3F21BAC2E121E17848257639003A3146/$File/MX25L1605D-3205D-6405D-1.5.pdf].
| Mostly working. Not all commands are decoded yet, though.
 
|-
| Melexis MLX90614
| Sensors
| i2c
|  
| bgcolor="yellow" | 30%
|  
| Partly working.
 
|-
| MEMSIC MXC6225XU
| Sensors
| i2c
|  
| bgcolor="yellow" | 30%
| Digital Thermal Orientation Sensor (DTOS).
| Partly working.
 
|-
| National LM75
| Sensors
| i2c
|  
| bgcolor="lime" | 80%
| Digital temperature sensor.
| Mostly working.
 
|-
| Maxim DS28EA00
| Sensors
| onewire_network
|  
| bgcolor="orange" | 20%
| 1-Wire digital thermometer with Sequence Detect and PIO.
| Work in progress (Iztok Jeras).
 
|-
| Epson RTC-8564 JE/NB
| RTC
| i2c
|
| bgcolor="yellow" | 40%
|  
| Partly working.
 
|-
| [[Protocol decoder:pan1321|Panasonic PAN1321]]
| Bluetooth
| uart
| pan1321
| bgcolor="yellow" | 70%
| Panasonic PAN1321 Bluetooth module protocol.
|  
 
|-
| JTAG / STM32
| Flash/debug
| jtag
| jtag_stm32
| bgcolor="orange" | 50%
| ST STM32-specific JTAG protocol details.
| Work in progress.
 
|-
| AVR ISP
| Flash/debug
| spi
| avr_isp
| bgcolor="lime" | 80%
| Atmel AVR In-system programming (ISP) protocol.
| Mostly working.
 
|-
| USB / Protocol
| USB
| usb_signalling
| usb_protocol
| bgcolor="lime" | 80%
| Decodes USB signalling protocol info into USB packets.
| Mostly working.
 
|-
| [[Protocol decoder:nunchuk|Nintendo Wii Nunchuk]]
| Other
| i2c
| nunchuk
| bgcolor="lime" | 80%
| Nintendo Wii Nunchuk I2C-based protocol.
| Mostly working.
 
|-
| DDC
| Other
| i2c
| ddc
| bgcolor="yellow" | 70%
| [http://en.wikipedia.org/wiki/Display_Data_Channel Display Data Channel] (DDC) protocol.
|  
 
|-
| I2C Demultiplexer
| Other
| i2c
| i2c (one or more)
| bgcolor="lime" | 80%
|
| Mostly working.
 
|-
| I2C Filter
| Other
| i2c
| i2c
| bgcolor="lime" | 80%
|  
| Mostly working.
 
|-
| EDID
| Other
| i2c
| edid
| bgcolor="lime" | 80%
|  
| Mostly working.
 
|-
| UART dump
| Other
| uart
| &mdash;
| bgcolor="lime" | 80%
| Dumps UART protocol decoder output as plain-text to stdout/file.
| Mostly working.


|}
|}

Revision as of 18:15, 22 December 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, and Protocol decoder HOWTO for a quick introduction about how to write your own decoders.

Supported protocol decoders

Number of currently supported protocol decoders: 29.

Please do not edit this table in the wiki directly, it is automatically generated.

Protocol Category Input IDs Output IDs Status Full name Description
AVR ISP Flash/debug spi, logic avr_isp supported AVR in-system programming Protocol for in-system programming Atmel AVR MCUs.
CAN Automotive can supported Controller area network Field bus protocol for distributed realtime control.
DCF77 Time signal dcf77 supported DCF77 time protocol European longwave time signal (77.5kHz carrier signal).
EDID PC i2c edid supported Extended Display Identification Data Data structure describing display device capabilities.
I2C demux Embedded i2c runtime decision supported I2C demultiplexer Demux I2C packets into per-slave-address streams.
I2C filter Embedded i2c i2c supported I2C filter Filter out addresses/directions in an I2C stream.
I2C Embedded i2c supported Inter-Integrated Circuit Two-wire, multi-master, serial bus.
I2S Audio i2s supported Integrated Interchip Sound Serial bus for connecting digital audio devices.
JTAG Flash/debug jtag supported Joint Test Action Group (IEEE 1149.1) Protocol for testing, debugging, and flashing ICs.
JTAG / STM32 Flash/debug jtag jtag_stm32 supported Joint Test Action Group / ST STM32 ST STM32-specific JTAG protocol.
LM75 Sensors i2c lm75 supported National LM75 National LM75 (and compatibles) temperature sensor protocol.
LPC PC lpc supported Low-Pin-Count Protocol for low-bandwidth devices on PC mainboards.
Maxim DS28EA00 Sensors onewire_network maxim_ds28ea00 supported Maxim DS28EA00 1-Wire digital thermometer 1-Wire digital thermometer with Sequence Detect and PIO
MLX90614 Sensors i2c mlx90614 supported Melexis MLX90614 Infrared Thermometer protocol.
MX25Lxx05D SPI flash spi, logic mx25lxx05d supported Macronix MX25Lxx05D SPI (NOR) flash chip protocol.
MXC6225XU Sensors i2c mxc6225xu supported MEMSIC MXC6225XU Digital Thermal Orientation Sensor (DTOS) protocol.
Nunchuk Other i2c nunchuk supported Nintendo Wii Nunchuk Nintendo Wii Nunchuk controller protocol.
1-Wire link layer Embedded onewire_link supported 1-Wire serial communication bus (link layer) Bidirectional, half-duplex, asynchronous serial bus.
1-Wire network layer Embedded onewire_link onewire_network supported 1-Wire serial communication bus (network layer) Bidirectional, half-duplex, asynchronous serial bus.
PAN1321 Bluetooth uart pan1321 supported Panasonic PAN1321 Bluetooth RF module with Serial Port Profile (SPP).
RTC-8564 RTC i2c rtc8564 supported Epson RTC-8564 JE/NB Realtime clock module protocol.
SD card (SPI mode) Memory spi sdcard_spi supported Secure Digital card (SPI mode) Secure Digital card (SPI mode) low-level protocol.
SPI Embedded spi supported Serial Peripheral Interface Full-duplex, synchronous, serial bus.
TI TLC5620 DAC tlc5620 supported Texas Instruments TLC5620 Texas Instruments TLC5620 8-bit quad DAC.
Transition counter Other transitioncounter supported Pin transition counter Counts rising/falling edges in the signal.
UART dump Embedded uart supported UART dump Output decoded UART data to a file.
UART Embedded uart supported Universal Asynchronous Receiver/Transmitter Asynchronous, serial bus.
USB protocol USB usb_signalling usb_protocol supported Universal Serial Bus (LS/FS) protocol USB 1.x (low-speed and full-speed) serial protocol.
USB signalling USB usb_signalling supported Universal Serial Bus (LS/FS) signalling USB 1.x (low-speed and full-speed) signalling protocol.

Possible candidates for future protocol decoders

Protocol Category Input ID(s) Output ID(s) Status Description Comments
SA8807A Displays spi 0% SPI-attached LCD. Datasheet: Sames SA8807A.
EA eDIPTFT43-A Displays i2c 0% I2C-attached LCD. Datasheet: EA eDIPTFT43-A.
Analog Devices AD7291 ADC i2c 0% I2C-attached ADC. Datasheet: Analog Devices AD7291.
Analog Devices ADS1258 ADC spi ads1258 10% SPI-attached ADC. Work in progress (Uwe Hermann).
Microchip MCP3901 ADC spi mcp3901 10% Can be controlled via a parallel protocol, or SPI, or I2C. Work in progress (Uwe Hermann).
JTAG / TMPA9xx Flash/debug jtag jtag_tmpa9xx 0% Toshiba TMPA9xx specific JTAG protocol details.
USB / HID USB usb_protocol usb_hid 0%
USB / USBTMC USB usb_protocol usb_usbtmc 0%
Dallas DS1985 Other onewire_network 10% Dallas DS1985 iButton (1-Wire) device. Work in progress (Uwe Hermann).
Microwire Embedded 0%
UNI/O Embedded 0%
CompactFlash Memory 0%
MMC Memory 0%
Memory Stick Memory 0%
SmartMedia Memory 0%
xD-Picture Card Memory 0%
SD card (SD mode) Memory sdcard_sd 10% Work in progress (Uwe Hermann).
Smartcards Security 0%
FlexRay Automotive 0% FlexRay is an automotive network communications protocol.
LIN Automotive 0% LIN (Local Interconnect Network) is an automotive bus standard.
SWD Flash/debug 0% Serial Wire Debug
AVR PDI Flash/debug 0% Atmel Program and Debug Interface (PDI) protocol.
AVR TPI Flash/debug 0% Atmel Tiny Programming Interface (TPI) protocol.
FWH PC 0%
ISA PC 0%
PCI PC 0%
SMBus PC 0%
IDE PC 0%
SCSI PC 0%
PS/2 PC 10% Work in progress (Uwe Hermann).
AC'97 Audio 10% Work in progress (Uwe Hermann).
HD Audio Audio 0%
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%
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%
GPIB Other gpib 10% General purpose interface bus (GPIB), a.k.a. IEEE-488.1. Work in progress (Uwe Hermann).